/* 5. GILDED PANTRY FLOATING HOVER PREVIEW CARD */


/* ----------------------------------------------------------- */

    #pantry-hover-preview {
        display: none;
        position: absolute;
        pointer-events: none;
        z-index: 1000;
        width: 280px;
        background-color: #FFFFFF;
        border: 1px solid #D4CDC1;
        padding: 12px;
        box-shadow: 0 15px 35px rgba(27, 54, 93, 0.18);
        border-radius: 2px;
        box-sizing: border-box;
        transition: opacity 0.2s ease, transform 0.2s ease;
        transform: scale(0.95);
        opacity: 0;
    }
    #pantry-hover-img {
        width: 100%;
        height: 160px;
        object-fit: cover;
        border-radius: 1px;
        border: 1px solid #E5E0D8;
        display: block;
        background-color: #F4F0EA;
    }
    #pantry-hover-title {
        font-family: 'Cormorant Garamond', serif;
        font-size: 1.1rem;
        font-style: italic;
        font-weight: bold;
        color: #1B365D;
        text-align: center;
        margin-top: 10px;
        line-height: 1.3;
    }


/* ----------------------------------------------------------- */

    @media (min-width: 1025px) {
        .elementor-posts-container .jorj-pantry-prompt.elementor-post {
            grid-column: 3 / 4 !important;
        }
        .elementor-posts-container .jorj-pantry-prompt.elementor-post:nth-child(3n+1):last-child {
            grid-column: 1 / -1 !important;
            max-width: 100% !important;
            width: 100% !important;
        }
        .elementor-posts-container .jorj-pantry-prompt.elementor-post:nth-child(3n+2):last-child {
            grid-column: span 2 !important;
            max-width: 100% !important;
            width: 100% !important;
        }
    }


/* ========================================================== */

@media (max-width: 1024px) {
    .elementor-posts-container .jorj-pantry-prompt.elementor-post {
        grid-column: auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 767px) {
    .elementor-posts-container.elementor-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
    .elementor-posts-container .elementor-post {
        width: 100% !important;
        max-width: 100% !important;
        grid-column: auto !important;
    }
}


/* 16. GILDED PANTRY INLINE RESULTS & SINGLE-COLUMN OVERRIDES */


/* 1. Unhide and style search bar */

.pantry-search-box {
    display: block !important;
    margin-bottom: 25px !important;
    position: relative !important;
    max-width: 500px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

#pantry-search {
    display: block !important;
    width: 100% !important;
    padding: 15px 20px 15px 45px !important; /* Extra padding on left for search icon */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    border: 1px solid #D4CDC1 !important;
    background-color: #FFFFFF !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    color: #1B365D !important;
    outline: none !important;
    transition: all 0.3s ease !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238A7D6A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 15px center !important;
}

#pantry-search:focus {
    border-color: #C59B27 !important;
    box-shadow: 0 4px 12px rgba(197, 155, 39, 0.15) !important;
}

/* Dynamic swaps card styling in search results */
.pantry-search-swaps-card {
    background: #FAF8F5 !important;
    border: 1px solid #D4CDC1 !important;
    border-radius: 4px !important;
    padding: 20px !important;
    margin-top: 20px !important;
    text-align: center !important;
    box-shadow: 0 4px 12px rgba(27, 54, 93, 0.04) !important;
    animation: fadeIn 0.4s ease-in-out !important;
}

.pantry-search-swaps-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.35rem !important;
    color: #1B365D !important;
    margin: 0 0 10px 0 !important;
    font-style: italic !important;
    font-weight: bold !important;
}

.pantry-search-swaps-desc {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    color: #555555 !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.5 !important;
}

.pantry-search-swaps-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
}

.pantry-search-swaps-item {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background-color: #FFFFFF !important;
    color: #C59B27 !important;
    border: 1px solid #C59B27 !important;
    padding: 6px 12px !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
}

.pantry-search-swaps-item:hover {
    background-color: #C59B27 !important;
    color: #FFFFFF !important;
}


/* 2. Disable desktop split-grid scroll hijacking and lock to standard width */

@media (min-width: 992px) {
    .pantry-container.planner-active {
        display: flex !important;
        flex-direction: column !important;
        max-width: 850px !important;
    }
    .pantry-container.planner-active .pantry-glossary {
        display: block !important;
        position: relative !important;
        max-height: none !important;
        overflow-y: visible !important;
        padding-right: 0 !important;
    }
}


/* 3. Core Inline Results Stationery Card Styling */

#pantry-results-area {
    width: 100% !important;
    flex-basis: 100% !important;
    max-height: 380px !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    border: 1px solid #D4CDC1 !important;
    background-color: #FFFFFF !important;
    padding: 22px !important;
    border-radius: 4px !important;
    box-shadow: 0 6px 16px rgba(27, 54, 93, 0.06) !important;
    margin: 15px 0 25px 0 !important;
    position: relative !important;
    top: auto !important;
    order: unset !important;
}


/* 17. GILDED PANTRY STICKY RESULTS POSITIONING (DESKTOP)     */


/* ========================================================== */

@media (min-width: 992px) {
    .pantry-container.planner-active #pantry-results-area {
        position: sticky !important;
        top: 100px !important;
        height: fit-content !important;
        z-index: 100 !important;
    }
}


/* 18. GILDED PANTRY MOBILE FLOATING ACTION BAR & ANIMATIONS  */


/* ========================================================== */

#pantry-mobile-bar {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    background-color: #1B365D !important;
    border-top: 3px solid #C59B27 !important;
    padding: 15px 20px !important;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    transform: translateY(100%) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

#pantry-mobile-bar.active {
    transform: translateY(0) !important;
}

#pantry-mobile-bar.shifted {
    bottom: var(--pantry-return-bar-height, 56px) !important;
}

.pantry-mobile-bar-content {
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.pantry-mobile-count {
    color: #FFFFFF !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.pantry-mobile-btn {
    background-color: #C59B27 !important;
    color: #1B365D !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 20px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.pantry-mobile-btn:hover,
.pantry-mobile-btn:active {
    background-color: #A37F1E !important;
    color: #FFFFFF !important;
}

/* Hide floating bar on desktop */
@media (min-width: 992px) {
    #pantry-mobile-bar {
        display: none !important;
    }
}

/* Results Area Pulsing Highlight Animation */
@keyframes pantryResultsFlash {
    0% {
        box-shadow: 0 6px 16px rgba(27, 54, 93, 0.06) !important;
        border-color: #D4CDC1 !important;
    }
    50% {
        box-shadow: 0 0 15px rgba(197, 155, 39, 0.4) !important;
        border-color: #C59B27 !important;
    }
    100% {
        box-shadow: 0 6px 16px rgba(27, 54, 93, 0.06) !important;
        border-color: #D4CDC1 !important;
    }
}

.pantry-results-flash {
    animation: pantryResultsFlash 0.8s ease-in-out !important;
}

/* Avoid "Clear Selection" button overlap on mobile results header */
@media (max-width: 991px) {
    #pantry-results-area {
        padding-top: 50px !important;
    }
    #pantry-clear-selection {
        top: 15px !important;
        right: 15px !important;
    }
}

/* Center category and results section headers in Planner Mode */
.pantry-container.planner-active .pantry-category-title,
.pantry-container.planner-active .pantry-section-title {
    text-align: center !important;
}

/* Hide page header block in Planner Mode to save vertical space */
body div.pantry-container.planner-active .pantry-header {
    display: none !important;
}

/* Hide results area entirely when no selections are active */
.pantry-results-hidden {
    display: none !important;
}
