/*
 * =====================================================================
 * Grand Vanilla ID — Responsive UI Refinement
 * Mobile (≤ 719px) & Tablet (720px–1024px) Breakpoints.
 * Desktop/Laptop (≥ 1025px) is STRICTLY FROZEN.
 * Source of Truth: docs/design-assets/Mobile and docs/design-assets/Tablet PDFs.
 * =====================================================================
 */

/* =====================================================================
   1. GLOBAL CONTAINER & OVERFLOW (Mobile & Tablet)
   ===================================================================== */
@media (max-width: 1024px) {
    html, body {
        overflow-x: clip !important;
        max-width: 100vw !important;
        width: 100% !important;
    }
    #page, .site, .site-main {
        overflow-x: clip !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .gv-container {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    img:not(.gv-header-logo-img):not(.gv-footer-logo-img) {
        max-width: 100% !important;
    }

    /* Brand Logo */
    .gv-header-logo-img,
    .gv-brand-logo img {
        height: 30px !important;
        max-height: 30px !important;
        width: auto !important;
        max-width: 140px !important;
        object-fit: contain !important;
        display: block !important;
    }

    .gv-footer-logo-img,
    .gv-footer-logo-wrap img {
        height: 34px !important;
        max-height: 34px !important;
        width: auto !important;
        max-width: 155px !important;
        object-fit: contain !important;
        display: block !important;
    }

    /* Hide Desktop-only Single Product Pill Filters */
    .gv-product-pills-nav {
        display: none !important;
    }

    /* Suppress desktop-only line breaks on tablet and mobile */
    .gv-desktop-br {
        display: none !important;
    }
}

/* Base Spacing for Mobile */
@media (max-width: 719px) {
    .gv-container {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
    .gv-section {
        padding-top: 3.5rem !important;
        padding-bottom: 3.5rem !important;
    }
}

/* Base Spacing for Tablet */
@media (min-width: 720px) and (max-width: 1024px) {
    .gv-container {
        padding-left: clamp(2.5rem, 5.5vw, 4rem) !important;
        padding-right: clamp(2rem, 4vw, 3rem) !important;
    }
    .gv-section {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }
}

/* =====================================================================
   2. HEADER / NAVIGATION
   ===================================================================== */
@media (max-width: 1024px) {
    .gv-header {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 9999 !important;
        background-color: #FAF8F5 !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
        overflow: visible !important;
    }

    #site-navigation { display: none !important; }
    .gv-nav-cta-wrap { display: none !important; }
    #gv-mobile-btn { 
        display: inline-flex !important; 
        align-items: center !important; 
        justify-content: center !important;
        cursor: pointer !important;
    }
    .gv-mobile-drawer {
        background-color: #FAF8F5 !important;
        border-top: 1px solid rgba(0,0,0,0.06) !important;
    }
}

@media (min-width: 783px) and (max-width: 1024px) {
    body.admin-bar .gv-header {
        top: 32px !important;
    }
}

@media (min-width: 1025px) {
    #site-navigation { display: flex !important; }
    .gv-nav-cta-wrap { display: flex !important; }
    #gv-mobile-btn { display: none !important; }
}

/* =====================================================================
   3. INNER PAGES HERO SECTION (#knowUs, #ourProducts, etc.)
   ===================================================================== */
@media (max-width: 719px) {
    .gv-hero-page {
        padding: 4.5rem 1.25rem !important;
        min-height: 220px !important;
    }
    .gv-hero-tag {
        font-size: 2rem !important;
        margin-bottom: 0.5rem !important;
    }
    .gv-hero-subtag {
        font-size: 0.9375rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-hero-page {
        padding: 5.5rem 2rem !important;
        min-height: 250px !important;
    }
    .gv-hero-tag {
        font-size: 2.35rem !important;
    }
    .gv-hero-subtag {
        font-size: 1rem !important;
    }
}

/* =====================================================================
   4. LANDING PAGE — HERO SECTION
   ===================================================================== */
@media (max-width: 719px) {
    .gv-hero {
        min-height: 100svh !important;
        min-height: 100vh !important;
        padding: 4.5rem 0 2rem !important;
        background-position: center center !important;
        display: flex !important;
        flex-direction: column !important;
        box-sizing: border-box !important;
    }

    .gv-hero > div:first-child {
        background: linear-gradient(
            to bottom,
            rgba(0,0,0,0.3) 0%,
            rgba(0,0,0,0.15) 40%,
            rgba(0,0,0,0.35) 100%
        ) !important;
    }

    .gv-hero > .gv-container {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 !important;
        width: 100% !important;
        justify-content: space-between !important;
    }

    .gv-hero-content-wrap {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        flex: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .gv-hero h1 {
        text-align: center !important;
        font-size: 1.85rem !important;
        text-transform: uppercase !important;
        letter-spacing: 0.02em !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
        margin-bottom: 1rem !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .gv-hero p {
        text-align: center !important;
        font-size: 0.9375rem !important;
        margin-bottom: 1.75rem !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .gv-hero-btn-group,
    .gv-hero > .gv-container > div > div[style*="display: flex; gap: 1rem"] {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.65rem !important;
        margin-bottom: 2.25rem !important;
        width: 100% !important;
        max-width: 360px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: center !important;
    }

    .gv-hero-btn-primary,
    .gv-hero-btn-outline {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 0.75rem 0.5rem !important;
        font-size: 0.75rem !important;
        letter-spacing: 0.04em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    .gv-trusted-badge {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0.85rem 1.15rem !important;
        margin-top: auto !important;
        margin-bottom: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .gv-trusted-badge span[style*="font-size: 2.25rem"] {
        font-size: 1.65rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-hero {
        min-height: calc(100vh - 70px) !important;
        min-height: calc(100dvh - 70px) !important;
        height: calc(100vh - 70px) !important;
        height: calc(100dvh - 70px) !important;
        display: flex !important;
        align-items: center !important;
        padding: 3.5rem 0 2.5rem !important;
        box-sizing: border-box !important;
        background-position: 57% center !important;
        background-size: cover !important;
    }

    .gv-hero-content-wrap {
        max-width: 680px !important;
    }

    .gv-hero h1 {
        font-size: clamp(3.35rem, 5.8vw, 3.75rem) !important;
        font-weight: 500 !important;
        text-transform: none !important;
        letter-spacing: -0.01em !important;
        line-height: 1.15 !important;
        margin-bottom: 1.35rem !important;
        max-width: 550px !important;
    }

    .gv-hero p {
        font-size: 1.2rem !important;
        line-height: 1.55 !important;
        color: rgba(255, 255, 255, 0.92) !important;
        margin-bottom: 2rem !important;
        max-width: 680px !important;
        text-transform: none !important;
    }

    .gv-hero-btn-group,
    .gv-hero > .gv-container > div > div[style*="display: flex; gap: 1rem"] {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 1.25rem !important;
        margin-bottom: clamp(4.5rem, 8vh, 6.5rem) !important;
        width: auto !important;
    }

    .gv-hero-btn-primary,
    .gv-hero-btn-outline {
        display: inline-flex !important;
        width: auto !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 1rem 2.25rem !important;
        font-size: 1.0625rem !important;
        font-weight: 500 !important;
        text-transform: none !important;
        letter-spacing: normal !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        border-radius: 4px !important;
    }

    .gv-hero-btn-primary {
        background-color: #363E19 !important;
        border: 1px solid #363E19 !important;
        color: #FFFFFF !important;
        box-shadow: 0 4px 14px rgba(0,0,0,0.18) !important;
    }

    .gv-hero-btn-outline {
        background: transparent !important;
        border: 1px solid rgba(255, 255, 255, 0.75) !important;
        color: #FFFFFF !important;
    }

    .gv-trusted-badge {
        width: 320px !important;
        max-width: 100% !important;
        padding: 1.15rem 1.65rem !important;
        background: #0E110A !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        box-shadow: 0 12px 32px rgba(0,0,0,0.35) !important;
        border: 1px solid rgba(255,255,255,0.06) !important;
        margin-top: 0 !important;
    }

    .gv-trusted-badge span:first-child {
        display: block !important;
        max-width: 140px !important;
        font-size: 0.75rem !important;
        line-height: 1.35 !important;
        text-transform: none !important;
        letter-spacing: 0.01em !important;
        margin-bottom: 0.5rem !important;
        color: #D1D5DB !important;
    }

    .gv-trusted-badge span[style*="font-size: 2.25rem"] {
        font-size: 2.25rem !important;
        font-weight: 500 !important;
        line-height: 1 !important;
    }
}

/* =====================================================================
   5. ABOUT US SECTION (Landing Page & About Page Overview)
   Design Alignment: Dark olive container (#363E19) with flower watermark,
   section indicator 'ABOUT US', clean paragraph, 4 dark feature rows
   with left accent bar, and 'LEARN MORE →' outline button.
   ===================================================================== */
@media (max-width: 1024px) {
    /* Hide duplicate second paragraph on mobile and tablet */
    .gv-about-p-secondary,
    .gv-grid-split-about > div:last-child p:nth-of-type(2),
    .gv-about-overview-grid > div:last-child p:nth-of-type(2) {
        display: none !important;
    }

    /* Hide duplicate h2 heading on mobile & tablet since paragraph already begins with "Grand Vanilla Indonesia..." */
    .gv-about-heading,
    .gv-grid-split-about > div:last-child h2,
    .gv-about-overview-grid > div:last-child h2 {
        display: none !important;
    }

    .gv-about-content-card,
    .gv-grid-split-about > div:last-child,
    .gv-about-overview-grid > div:last-child {
        background-color: #363E19 !important;
        border-radius: 12px !important;
        padding: 2.25rem 1.65rem !important;
        color: #FFFFFF !important;
        box-sizing: border-box !important;
        position: relative !important;
        overflow: hidden !important;
    }

    /* Orchid flower watermark in top right */
    .gv-about-watermark,
    .gv-grid-split-about img[aria-hidden="true"],
    .gv-about-overview-grid img[aria-hidden="true"] {
        display: block !important;
        position: absolute !important;
        top: -15px !important;
        right: -15px !important;
        width: 145px !important;
        height: auto !important;
        opacity: 0.18 !important;
        pointer-events: none !important;
        z-index: 0 !important;
        transform: rotate(15deg) !important;
    }

    /* Section Tag: Line + ABOUT US */
    .gv-about-tagline,
    .gv-grid-split-about > div:last-child div[style*="color: #363E19; font-size: 0.9375rem"],
    .gv-about-overview-grid > div:last-child div[style*="color: #363E19; font-size: 0.875rem"] {
        color: rgba(255, 255, 255, 0.85) !important;
        font-size: 0.8125rem !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 1.25rem !important;
        display: flex !important;
        align-items: center !important;
        gap: 0.75rem !important;
        font-weight: 500 !important;
    }

    .gv-about-tagline span,
    .gv-grid-split-about > div:last-child div[style*="color: #363E19; font-size: 0.9375rem"] span,
    .gv-about-overview-grid > div:last-child div[style*="color: #363E19; font-size: 0.875rem"] span {
        background: rgba(255, 255, 255, 0.6) !important;
        width: 32px !important;
        height: 2px !important;
        display: inline-block !important;
    }

    /* Main Paragraph */
    .gv-grid-split-about > div:last-child p,
    .gv-about-overview-grid > div:last-child p {
        color: rgba(255, 255, 255, 0.9) !important;
        font-size: 0.875rem !important;
        line-height: 1.65 !important;
        margin-bottom: 1.75rem !important;
    }

    /* 4 Feature Boxes: 1 Single Column with dark fill and left accent line */
    .gv-about-features-grid,
    .gv-grid-split-about > div:last-child div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"],
    .gv-about-overview-grid > div:last-child div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"] {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.5rem !important;
        margin-bottom: 2rem !important;
        width: 100% !important;
    }

    .gv-about-feature-box,
    .gv-grid-split-about > div:last-child div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"] > div,
    .gv-about-overview-grid > div:last-child div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"] > div {
        background-color: #272F12 !important;
        border: none !important;
        border-left: 2px solid rgba(255, 255, 255, 0.65) !important;
        color: rgba(255, 255, 255, 0.92) !important;
        font-size: 0.8125rem !important;
        font-weight: 500 !important;
        padding: 0.7rem 1rem !important;
        border-radius: 2px !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    /* Learn More CTA Button */
    .gv-about-learn-btn,
    .gv-grid-split-about > div:last-child a,
    .gv-about-overview-grid > div:last-child a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.45rem !important;
        border: 1px solid rgba(255, 255, 255, 0.55) !important;
        color: #FFFFFF !important;
        background: transparent !important;
        font-size: 0.75rem !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        padding: 0.65rem 1.4rem !important;
        border-radius: 2px !important;
        text-decoration: none !important;
        transition: all 0.2s ease !important;
    }

    .gv-about-learn-btn:hover,
    .gv-grid-split-about > div:last-child a:hover,
    .gv-about-overview-grid > div:last-child a:hover {
        background: rgba(255, 255, 255, 0.12) !important;
        border-color: #FFFFFF !important;
    }

    /* Hide OEM section on homepage (not present in Mobile/Tablet PDF) */
    .gv-grid-split-oem,
    section:has(.gv-grid-split-oem) {
        display: none !important;
    }
}

@media (max-width: 719px) {
    /* Hide duplicate h2 heading on mobile since paragraph already begins with "Grand Vanilla Indonesia..." */
    .gv-grid-split-about > div:last-child h2,
    .gv-about-overview-grid > div:last-child h2 {
        display: none !important;
    }

    .gv-grid-split-about,
    .gv-about-overview-grid {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    .gv-about-rustic-img,
    .gv-grid-split-about img[style*="max-height: 540px"],
    .gv-about-overview-grid img {
        height: 600px !important;
        min-height: 540px !important;
        max-height: 680px !important;
        object-fit: cover !important;
        object-position: center !important;
        border-radius: 12px !important;
        width: 100% !important;
        display: block !important;
        box-shadow: 0 8px 24px rgba(0,0,0,0.06) !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-grid-split-about,
    .gv-about-overview-grid {
        display: grid !important;
        grid-template-columns: 1fr 1.15fr !important;
        gap: 2rem !important;
        align-items: stretch !important;
    }

    .gv-grid-split-about img[style*="max-height: 540px"],
    .gv-about-overview-grid img {
        height: 100% !important;
        max-height: 100% !important;
        min-height: 520px !important;
        object-fit: cover !important;
        border-radius: 12px !important;
        width: 100% !important;
    }

    .gv-about-content-card,
    .gv-grid-split-about > div:last-child,
    .gv-about-overview-grid > div:last-child {
        background-color: #363E19 !important;
        border-radius: 12px !important;
        padding: 2.75rem 2.25rem !important;
    }

    .gv-about-content-card p,
    .gv-grid-split-about > div:last-child p,
    .gv-about-overview-grid > div:last-child p {
        font-size: 0.9375rem !important;
        line-height: 1.65 !important;
        color: #FFFFFF !important;
        margin-bottom: 2rem !important;
    }

    .gv-about-features-grid,
    .gv-grid-split-about > div:last-child div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"],
    .gv-about-overview-grid > div:last-child div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"] {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 0.65rem !important;
        margin-bottom: 2.25rem !important;
    }

    .gv-about-feature-box,
    .gv-grid-split-about > div:last-child div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"] > div,
    .gv-about-overview-grid > div:last-child div[style*="display: grid; grid-template-columns: repeat(2, 1fr)"] > div {
        background-color: #272F12 !important;
        border: none !important;
        border-left: 2.5px solid rgba(255, 255, 255, 0.75) !important;
        color: #FFFFFF !important;
        font-size: 0.875rem !important;
        font-weight: 500 !important;
        padding: 0.85rem 1.25rem !important;
        text-align: left !important;
        border-radius: 2px !important;
    }

    .gv-about-learn-btn,
    .gv-grid-split-about > div:last-child a,
    .gv-about-overview-grid > div:last-child a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 1.5rem !important;
        border: 1.5px solid #FFFFFF !important;
        color: #FFFFFF !important;
        background: transparent !important;
        font-size: 0.8125rem !important;
        font-weight: 500 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        padding: 0.75rem 1.75rem !important;
    }

    .gv-about-learn-btn svg,
    .gv-grid-split-about > div:last-child a svg,
    .gv-about-overview-grid > div:last-child a svg {
        stroke: #FFFFFF !important;
    }
}

/* =====================================================================
   6. PRODUCT CARDS COMPONENT (Homepage & Products Page)
   PDF Mobile: Card 1 active (#363E19, white text, badge #1, arrow button).
               Cards 2 & 3 collapsed (rounded light sage card #BDC4B8 with centered image).
   PDF Tablet: 3 cards horizontal side-by-side row.
               Card 1 active (#363E19, white text, arrow button).
               Cards 2 & 3 collapsed (light sage background #BDC4B8, no button).
   ===================================================================== */
@media (max-width: 719px) {
    html body .gv-products-cards-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.85rem !important;
        margin-bottom: 2.5rem !important;
    }

    /* Base Product Card Mobile: Fixed dimensions with silky smooth cubic-bezier transitions */
    html body .gv-product-card {
        height: 170px !important;
        min-height: 170px !important;
        max-height: 170px !important;
        border-radius: 12px !important;
        position: relative !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        cursor: pointer !important;
        background-color: #BDC4B8 !important;
        padding: 1rem 1.25rem !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        box-shadow: none !important;
        transition: height 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                    max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                    min-height 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                    background-color 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                    padding 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                    box-shadow 0.4s ease !important;
        will-change: height, max-height, background-color;
    }

    /* Active Card Mobile: Smooth expansion to 375px with deep green background */
    html body .gv-product-card.is-active {
        height: 375px !important;
        min-height: 375px !important;
        max-height: 375px !important;
        background-color: #363E19 !important;
        padding: 1.5rem 1.25rem 1.35rem !important;
        box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
        cursor: default !important;
    }

    /* Collapsed Cards Mobile: Hover micro-interaction */
    html body .gv-product-card.is-collapsed {
        height: 170px !important;
        min-height: 170px !important;
        max-height: 170px !important;
        background-color: #BDC4B8 !important;
        padding: 1rem 1.25rem !important;
        box-shadow: none !important;
        cursor: pointer !important;
    }

    html body .gv-product-card.is-collapsed:hover {
        background-color: #B5BCB0 !important;
    }

    /* Card Badge (#1, #2, #3): Smooth fade & subtle slide in */
    html body .gv-product-card .gv-card-badge {
        position: absolute !important;
        top: 1.25rem !important;
        left: 1.25rem !important;
        width: 34px !important;
        height: 34px !important;
        border-radius: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 0.8125rem !important;
        font-weight: 500 !important;
        margin-bottom: 0 !important;
        z-index: 2 !important;
        background-color: rgba(255, 255, 255, 0.18) !important;
        border: 1px solid rgba(255, 255, 255, 0.22) !important;
        color: #FFFFFF !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translate3d(-8px, 0, 0) scale(0.9) !important;
        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                    visibility 0.35s !important;
        pointer-events: none !important;
    }

    html body .gv-product-card.is-active .gv-card-badge {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translate3d(0, 0, 0) scale(1) !important;
        transition-delay: 0.08s !important;
        pointer-events: auto !important;
    }

    /* Image Wrapper & Image: Hardware-accelerated scale & reposition */
    html body .gv-product-card .gv-card-img-wrap {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 !important;
        transition: height 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                    margin 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    html body .gv-product-card.is-active .gv-card-img-wrap {
        height: 185px !important;
        margin: 1rem 0 0.75rem 0 !important;
    }

    html body .gv-product-card.is-collapsed .gv-card-img-wrap {
        height: 100% !important;
        margin: 0 !important;
    }

    html body .gv-product-card .gv-card-img {
        width: auto !important;
        height: auto !important;
        max-height: 135px !important;
        max-width: 88% !important;
        object-fit: contain !important;
        filter: drop-shadow(0 6px 14px rgba(0,0,0,0.06)) !important;
        transform: translate3d(0, 0, 0) scale(0.96) !important;
        transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                    filter 0.4s ease !important;
    }

    html body .gv-product-card.is-active .gv-card-img {
        max-height: 175px !important;
        max-width: 90% !important;
        transform: translate3d(0, 0, 0) scale(1) !important;
        filter: drop-shadow(0 8px 18px rgba(0,0,0,0.15)) !important;
    }

    /* Bottom Content: Smooth slide-up & fade without layout jumps */
    html body .gv-product-card .gv-card-bottom {
        display: flex !important;
        align-items: flex-end !important;
        justify-content: space-between !important;
        width: 100% !important;
        margin-top: 0 !important;
        gap: 0.75rem !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translate3d(0, 16px, 0) !important;
        max-height: 0 !important;
        overflow: hidden !important;
        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                    max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                    visibility 0.35s !important;
        pointer-events: none !important;
    }

    html body .gv-product-card.is-active .gv-card-bottom {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translate3d(0, 0, 0) !important;
        max-height: 120px !important;
        margin-top: auto !important;
        transition-delay: 0.05s !important;
        pointer-events: auto !important;
    }

    html body .gv-product-card .gv-card-text {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    html body .gv-product-card .gv-card-title {
        color: #FFFFFF !important;
        font-size: 1.35rem !important;
        font-weight: 500 !important;
        margin-bottom: 0.35rem !important;
        white-space: normal !important;
        line-height: 1.2 !important;
    }

    html body .gv-product-card .gv-card-desc {
        color: rgba(255, 255, 255, 0.82) !important;
        font-size: 0.8125rem !important;
        line-height: 1.45 !important;
        display: block !important;
        margin: 0 !important;
    }

    html body .gv-product-card .gv-card-actions-slot {
        min-width: 38px !important;
        width: 38px !important;
        height: 38px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }

    html body .gv-product-card .gv-card-btn-detail {
        display: none !important;
    }

    html body .gv-product-card .gv-card-btn-arrow {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        position: static !important;
        transform: none !important;
        width: 38px !important;
        height: 38px !important;
        border: 1px solid rgba(255, 255, 255, 0.45) !important;
        color: #FFFFFF !important;
        border-radius: 4px !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        pointer-events: auto !important;
        font-size: 1.1rem !important;
        line-height: 1 !important;
        transition: background-color 0.2s ease, border-color 0.2s ease !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    html body .gv-products-cards-grid {
        display: flex !important;
        flex-direction: row !important;
        gap: 0.85rem !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    html body .gv-product-card {
        height: 390px !important;
        min-height: 390px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
        position: relative !important;
        transition: flex 0.5s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.35s ease, padding 0.4s ease !important;
    }

    /* Active Card Tablet: Dark olive green background (#363E19), white text */
    html body .gv-product-card.is-active {
        flex: 1.85 1 0px !important;
        background-color: #363E19 !important;
        padding: 1.5rem 1.35rem 1.35rem !important;
    }

    html body .gv-product-card.is-active .gv-card-badge {
        background-color: #BDC4B8 !important;
        color: #1C230C !important;
    }

    html body .gv-product-card.is-active .gv-card-title {
        color: #FFFFFF !important;
        font-size: 1.25rem !important;
        white-space: normal !important;
    }

    html body .gv-product-card.is-active .gv-card-desc {
        color: rgba(255, 255, 255, 0.85) !important;
        font-size: 0.8125rem !important;
        display: block !important;
    }

    html body .gv-product-card.is-active .gv-card-img-wrap {
        height: 180px !important;
    }

    html body .gv-product-card.is-active .gv-card-img {
        max-height: 170px !important;
    }

    html body .gv-product-card.is-active .gv-card-actions-slot {
        min-width: 38px !important;
        width: 38px !important;
    }

    html body .gv-product-card.is-active .gv-card-btn-detail {
        display: none !important;
    }

    html body .gv-product-card.is-active .gv-card-btn-arrow {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        width: 36px !important;
        height: 36px !important;
        border: 1px solid rgba(255, 255, 255, 0.4) !important;
        color: #FFFFFF !important;
        border-radius: 4px !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        pointer-events: auto !important;
    }

    /* Collapsed Cards Tablet: Light sage background (#BDC4B8), dark text, no button */
    html body .gv-product-card.is-collapsed {
        flex: 1 1 0px !important;
        background-color: #BDC4B8 !important;
        padding: 1.35rem 1rem 1.35rem !important;
        cursor: pointer !important;
    }

    html body .gv-product-card.is-collapsed .gv-card-badge {
        background-color: #363E19 !important;
        color: #FFFFFF !important;
    }

    html body .gv-product-card.is-collapsed .gv-card-title {
        color: #1C230C !important;
        font-size: 1.125rem !important;
    }

    html body .gv-product-card.is-collapsed .gv-card-desc {
        color: #4A5239 !important;
        font-size: 0.75rem !important;
        display: block !important;
    }

    html body .gv-product-card.is-collapsed .gv-card-img-wrap {
        height: 160px !important;
    }

    html body .gv-product-card.is-collapsed .gv-card-img {
        max-height: 150px !important;
    }

    html body .gv-product-card.is-collapsed .gv-card-actions-slot {
        display: none !important;
    }
}

/* =====================================================================
   7. VALUE PROPOSITIONS SECTION (Homepage)
   PDF Mobile: 1 column, left aligned.
   PDF Tablet: 2x2 grid, left aligned.
   ===================================================================== */
@media (max-width: 1024px) {
    /* Left-align card contents to match PDF */
    div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] > div {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] > div > div[style*="width: 48px"] {
        margin-left: 0 !important;
        margin-right: auto !important;
    }
}

@media (max-width: 719px) {
    div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }

    div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] > div {
        padding: 2.25rem 1.75rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }

    div[style*="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] > div {
        padding: 2.5rem 2rem !important;
    }
}

/* =====================================================================
   8. WHO WE SERVE SECTION (FROM INDONESIA TO GLOBAL MARKETS)
   ===================================================================== */
@media (max-width: 1024px) {
    .gv-who-we-serve-grid {
        counter-reset: who-we-serve-count;
        gap: 0.85rem !important;
    }
    .gv-who-we-serve-card {
        counter-increment: who-we-serve-count;
        padding: 0.85rem 1.25rem !important;
        background: rgba(255, 255, 255, 0.04) !important;
        border: 1px solid rgba(255, 255, 255, 0.16) !important;
        border-radius: 6px !important;
    }
    .gv-who-we-serve-icon svg {
        display: none !important;
    }
    .gv-who-we-serve-icon {
        width: 32px !important;
        height: 32px !important;
        border: none !important;
        background: #0E110A !important;
        border-radius: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .gv-who-we-serve-icon::after {
        content: counter(who-we-serve-count);
        font-family: var(--font-heading, 'Jost', sans-serif);
        font-size: 0.875rem;
        font-weight: 500;
        color: #FFFFFF;
    }
    .gv-who-we-serve-label {
        font-size: 0.8125rem !important;
        letter-spacing: 0.05em !important;
    }
}

@media (max-width: 719px) {
    .gv-who-we-serve-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-who-we-serve-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem !important;
    }
}

/* =====================================================================
   9. EXPLORE MORE PRODUCTS (Products Archive & Single Product)
   PDF Mobile & Tablet: Dark green photo box on top, light sage text box below.
   ===================================================================== */
@media (max-width: 1024px) {
    .gv-explore-more-section .gv-explore-row,
    .gv-explore-more-section .gv-explore-row.gv-explore-row-reverse,
    .gv-product-row,
    .gv-product-row-reverse {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.25rem !important;
        margin-bottom: 3rem !important;
    }

    .gv-explore-more-section .gv-explore-img-card,
    div[style*="display: flex; flex-direction: column; gap: 3rem; margin-bottom: 3rem"] .gv-explore-img-card {
        order: 1 !important;
        background-color: #363E19 !important;
        border-radius: 12px !important;
        width: 100% !important;
        aspect-ratio: 1 / 1 !important;
        padding: 2.5rem !important;
        box-sizing: border-box !important;
    }

    .gv-explore-more-section .gv-explore-text-col,
    div[style*="display: flex; flex-direction: column; gap: 3rem; margin-bottom: 3rem"] .gv-explore-text-col {
        order: 2 !important;
        background-color: #BDC4B8 !important;
        border-radius: 12px !important;
        padding: 2.25rem 2rem !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .gv-explore-item-title {
        font-size: 1.75rem !important;
        color: #1C230C !important;
        margin-bottom: 0.75rem !important;
    }

    .gv-explore-item-desc {
        color: #4A5239 !important;
        margin-bottom: 1.5rem !important;
        max-width: 100% !important;
    }

    .gv-explore-btn {
        border-color: #363E19 !important;
        color: #363E19 !important;
        background: transparent !important;
    }
}

/* =====================================================================
   10. ABOUT US PAGE LOWER SECTIONS
   Source of Truth: docs/design-assets/Tablet/About Us.pdf (834px Frame)
   ===================================================================== */

/* 10.1 Journey & Purpose */
@media (max-width: 719px) {
    .gv-journey-header-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    .gv-journey-body-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    .gv-journey-title {
        text-transform: uppercase !important;
        font-size: 2rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-journey-section {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }
    .gv-journey-header-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.85rem !important;
        align-items: flex-start !important;
        margin-bottom: 2.75rem !important;
    }
    .gv-journey-title,
    .gv-journey-header-grid h2 {
        font-family: var(--font-heading, 'Jost', sans-serif) !important;
        font-size: 2.25rem !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: -0.01em !important;
        color: #363E19 !important;
        line-height: 1.15 !important;
        margin: 0 !important;
    }
    .gv-journey-header-grid p {
        font-size: 0.9375rem !important;
        color: #4A5239 !important;
        line-height: 1.6 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    .gv-journey-body-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.75rem !important;
        align-items: stretch !important;
    }
    .gv-journey-body-grid > div:first-child {
        min-height: 400px !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }
    .gv-journey-body-grid > div:first-child h3 {
        text-transform: uppercase !important;
        font-size: 1.35rem !important;
        font-weight: 600 !important;
        letter-spacing: 0.01em !important;
    }
    .gv-journey-body-grid > div:last-child {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.75rem !important;
    }
    .gv-journey-body-grid > div:last-child > div:first-child {
        background-color: #B9C1B4 !important;
        border-radius: 12px !important;
        padding: 2.5rem 2.25rem !important;
    }
    .gv-journey-body-grid > div:last-child > div:first-child h3 {
        text-transform: uppercase !important;
        font-size: 1.35rem !important;
        font-weight: 600 !important;
        color: #363E19 !important;
        margin-bottom: 0.75rem !important;
    }
    .gv-journey-body-grid > div:last-child > div:last-child {
        background-color: #363E19 !important;
        border-radius: 12px !important;
        padding: 2.5rem 2.25rem !important;
    }
    .gv-journey-body-grid > div:last-child > div:last-child h3 {
        text-transform: uppercase !important;
        font-size: 1.35rem !important;
        font-weight: 600 !important;
        color: #FFFFFF !important;
        margin-bottom: 0.75rem !important;
    }
}

/* 10.2 Value Propositions (Your Trusted Partner For Quality Indonesian Vanilla) */
@media (max-width: 1024px) {
    .gv-partner-title,
    .gv-about-partner-section h2 {
        text-transform: uppercase !important;
        font-size: 2.2rem !important;
        font-weight: 600 !important;
        line-height: 1.22 !important;
        text-align: center !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-about-partner-section {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }
    .gv-partner-header,
    .gv-about-partner-section > .gv-container > div:first-child {
        text-align: center !important;
        max-width: 700px !important;
        margin: 0 auto 3rem !important;
    }
    .gv-partner-cards-grid,
    .gv-about-partner-section div[style*="grid-template-columns: repeat(auto-fit, minmax(240px, 1fr))"] {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }
    .gv-partner-card,
    .gv-about-partner-section div[style*="background: #FFFFFF"] {
        background: #FFFFFF !important;
        border-radius: 12px !important;
        padding: 2.5rem 2rem !important;
        text-align: left !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
    }
    .gv-partner-card > div:first-child,
    .gv-about-partner-section div[style*="width: 48px; height: 48px"] {
        margin-bottom: 1.5rem !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        align-self: flex-start !important;
    }
    .gv-partner-card h3,
    .gv-about-partner-section h3 {
        font-size: 1.25rem !important;
        font-weight: 600 !important;
        color: #363E19 !important;
        margin-bottom: 0.75rem !important;
        text-align: left !important;
    }
    .gv-partner-card p,
    .gv-about-partner-section p {
        font-size: 0.875rem !important;
        line-height: 1.65 !important;
        color: #4A5239 !important;
        text-align: left !important;
    }
}

/* 10.3 Sourced From Local Indonesia Section */
@media (max-width: 1024px) {
    .gv-sourcing-title,
    .gv-sourcing-left-bottom h2 {
        text-transform: uppercase !important;
        font-size: 2.25rem !important;
        font-weight: 600 !important;
        line-height: 1.18 !important;
    }
    .gv-sourcing-left-col div[style*="font-family: var(--font-heading"] {
        text-transform: uppercase !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-sourcing-section {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }
    .gv-sourcing-dark-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 2.5rem !important;
    }
    .gv-sourcing-left-col {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
        height: auto !important;
    }
    .gv-sourcing-left-bottom {
        padding-top: 0 !important;
    }
    .gv-sourcing-left-bottom p {
        font-size: 0.9375rem !important;
        color: #BAC4B2 !important;
        line-height: 1.65 !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    .gv-sourcing-right-col {
        display: flex !important;
        flex-direction: column !important;
        gap: 2.5rem !important;
    }
    .gv-sourcing-right-col > div:first-child > div:first-child {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 2rem !important;
    }
    .gv-sourcing-right-col h4 {
        font-size: 1.15rem !important;
        font-weight: 600 !important;
    }
    .gv-sourcing-right-col p {
        font-size: 0.875rem !important;
        line-height: 1.6 !important;
    }
    .gv-sourcing-right-col > div:last-child {
        aspect-ratio: 16 / 9 !important;
        width: 100% !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }
}

/* 10.4 Export Capability Section */
@media (max-width: 719px) {
    .gv-export-capability-container {
        display: block !important;
    }
    .gv-export-header {
        text-align: left !important;
        margin-bottom: 2rem !important;
    }
    .gv-export-header > div {
        justify-content: flex-start !important;
    }
    .gv-export-header h2 {
        text-transform: uppercase !important;
        font-size: 2rem !important;
    }
    .gv-export-cards {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
    .gv-export-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        text-align: left !important;
        gap: 1.25rem !important;
        padding: 1.5rem 1.25rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-export-capability-section {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }
    .gv-export-capability-container {
        display: grid !important;
        grid-template-columns: 1fr 1.35fr !important;
        gap: 2.5rem !important;
        align-items: flex-start !important;
    }
    .gv-export-header {
        position: sticky !important;
        top: 6rem !important;
        text-align: left !important;
        margin: 0 !important;
    }
    .gv-export-header > div {
        justify-content: flex-start !important;
        text-transform: uppercase !important;
        font-size: 0.875rem !important;
        margin-bottom: 0.75rem !important;
    }
    .gv-export-header h2 {
        font-family: var(--font-heading, 'Jost', sans-serif) !important;
        text-transform: uppercase !important;
        font-size: 2.25rem !important;
        font-weight: 600 !important;
        line-height: 1.18 !important;
        color: #363E19 !important;
        margin: 0 !important;
    }
    .gv-export-cards,
    .gv-export-capability-container .gv-export-cards,
    div.gv-export-cards {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }
    .gv-export-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
        padding: 2.25rem 2rem !important;
        border-radius: 12px !important;
        background: #FFFFFF !important;
    }
    .gv-export-card-icon {
        margin-bottom: 1.25rem !important;
        margin-left: 0 !important;
    }
    .gv-export-card h3 {
        font-size: 1.2rem !important;
        font-weight: 600 !important;
        color: #363E19 !important;
        margin-bottom: 0.5rem !important;
        text-align: left !important;
    }
    .gv-export-card p {
        font-size: 0.875rem !important;
        line-height: 1.6 !important;
        color: #4A5239 !important;
        text-align: left !important;
    }
}

/* 10.5 Facilities Section */
@media (max-width: 1024px) {
    .gv-facilities-title,
    .gv-facilities-header-grid h2 {
        text-transform: uppercase !important;
        font-size: 2.25rem !important;
        font-weight: 600 !important;
        line-height: 1.18 !important;
    }
    .gv-facilities-header-grid div[style*="font-family: var(--font-heading"] {
        text-transform: uppercase !important;
    }
    .gv-facility-card {
        background-color: transparent !important;
        padding: 0 !important;
        aspect-ratio: auto !important;
    }
    .gv-facility-card img {
        border-radius: 12px !important;
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }
    section:has(.gv-facility-card) .gv-explore-text-col,
    .gv-facilities-section .gv-explore-text-col {
        background-color: transparent !important;
        padding: 0 !important;
    }
    section:has(.gv-facility-card) .gv-explore-row,
    .gv-facilities-section .gv-explore-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.5rem !important;
        margin-bottom: 3.5rem !important;
    }
    section:has(.gv-facility-card) .gv-facility-card,
    .gv-facilities-section .gv-facility-card {
        order: 1 !important;
    }
    section:has(.gv-facility-card) .gv-explore-text-col,
    .gv-facilities-section .gv-explore-text-col {
        order: 2 !important;
    }
    .gv-explore-item-title {
        font-family: var(--font-heading, 'Jost', sans-serif) !important;
        font-size: 1.85rem !important;
        font-weight: 600 !important;
        color: #363E19 !important;
        margin-bottom: 0.75rem !important;
    }
    .gv-explore-item-desc {
        font-size: 0.9375rem !important;
        line-height: 1.65 !important;
        color: #606950 !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-facilities-header-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.85rem !important;
        align-items: flex-start !important;
        margin-bottom: 3rem !important;
    }
    .gv-facilities-header-desc-col p {
        max-width: 100% !important;
        margin: 0 !important;
    }
}

/* =====================================================================
   11. PRODUCT DETAIL PAGE (single-vanilla_product.php)
   ===================================================================== */
@media (max-width: 1024px) {
    .gv-app-card {
        background: #FFFFFF !important;
        border-radius: 8px !important;
        padding: 1.5rem !important;
        box-shadow: 0 4px 16px rgba(0,0,0,0.02) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
    .gv-app-num {
        width: 32px !important;
        height: 32px !important;
        background: #363E19 !important;
        color: #FFFFFF !important;
        font-family: var(--font-heading) !important;
        font-weight: 500 !important;
        border-radius: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 1rem !important;
    }
}

@media (max-width: 719px) {
    .gv-specs-split {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    .gv-applications-section {
        display: block !important;
    }

    .gv-applications-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    /* Stacked 1-column specs on Tablet matching Tablet PDF */
    .gv-specs-split {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important;
    }
    .gv-applications-section {
        display: grid !important;
        grid-template-columns: 1fr 1.5fr !important;
        gap: 2.5rem !important;
        align-items: flex-start !important;
    }
    .gv-applications-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }
}

/* =====================================================================
   12. GALLERY PAGE (page-gallery.php)
   ===================================================================== */
@media (max-width: 1024px) {
    .gv-gallery-tab {
        font-size: 0.8125rem !important;
        padding: 0.5rem 1.25rem !important;
    }
}

@media (max-width: 719px) {
    .gv-gallery-explore-grid {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }
    .gv-gallery-filter-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 0.5rem !important;
    }
    .gv-gallery-tab {
        text-align: center !important;
        padding: 0.5rem 0.25rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-gallery-explore-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1.5rem !important;
    }
}

/* =====================================================================
   13. BLOG ARCHIVE (index.php) & HOMEPAGE BLOG PREVIEWS
   PDF Mobile: 1-column stacked with 1:1 square image.
   PDF Tablet: 2-column side-by-side row with 1:1 image left and text right.
   ===================================================================== */
@media (max-width: 719px) {
    .gv-blog-tabs {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.5rem !important;
    }
    .gv-blog-tab {
        text-align: center !important;
        padding: 0.5rem 0.25rem !important;
        font-size: 0.75rem !important;
    }
    .gv-blog-row,
    .gv-blog-article-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        margin-bottom: 2.5rem !important;
    }
    .gv-blog-badge {
        font-size: 3.5rem !important;
        margin-bottom: -0.75rem !important;
    }
    .gv-blog-img-wrap {
        aspect-ratio: 1 / 1 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        width: 100% !important;
    }
    .gv-blog-img-wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-blog-row,
    .gv-blog-article-row {
        display: grid !important;
        grid-template-columns: 2fr 3fr !important;
        gap: 2rem !important;
        align-items: center !important;
        margin-bottom: 3.5rem !important;
    }
    .gv-blog-img-wrap {
        aspect-ratio: 1 / 1 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        width: 100% !important;
    }
    .gv-blog-img-wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* =====================================================================
   14. BLOG DETAIL PAGE (single.php)
   ===================================================================== */
@media (max-width: 719px) {
    .gv-detail-title {
        font-size: 1.65rem !important;
        line-height: 1.25 !important;
    }
    .gv-detail-featured-wrap {
        max-height: 260px !important;
    }
    .gv-detail-featured-img {
        max-height: 260px !important;
        object-fit: cover !important;
    }
    .gv-detail-more-row {
        grid-template-columns: 1fr !important;
        gap: 1.25rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-detail-featured-wrap {
        max-height: 420px !important;
    }
    .gv-detail-more-row {
        grid-template-columns: 5fr 6fr !important;
        gap: 2rem !important;
    }
}

/* =====================================================================
   15. CONTACT US PAGE (page-contact.php)
   ===================================================================== */
@media (max-width: 719px) {
    .gv-contact-wrapper {
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important;
    }
    .gv-contact-details {
        grid-template-columns: 1fr 1fr !important;
        gap: 1.25rem 1.5rem !important;
    }
    .gv-contact-form-card {
        padding: 2rem 1.25rem !important;
    }
    .gv-map-wrapper iframe {
        height: 320px !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-contact-wrapper {
        grid-template-columns: 1fr !important;
        gap: 3rem !important;
    }
    .gv-contact-details {
        grid-template-columns: 1fr 1fr !important;
        gap: 1.5rem 2rem !important;
    }
    .gv-map-wrapper iframe {
        height: 380px !important;
    }
}

/* =====================================================================
   16. FOOTER COMPONENT
   ===================================================================== */
@media (max-width: 719px) {
    .gv-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 2.5rem !important;
        text-align: center !important;
    }
    .gv-footer-grid > div {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    .gv-footer {
        padding-top: 3.5rem !important;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .gv-footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1fr !important;
        gap: 2rem !important;
    }
}
