/*
Theme Name: BVP Minimal
Theme URI: https://brandvoicepack.com
Author: BrandVoice Pack
Description: Minimal WooCommerce presentation theme, with responsive compatibility for the BVP Commerce Preview plugin. Business rules stay in BVP plugins.
Version: 1.4.0
Requires PHP: 7.4
Text Domain: bvp-minimal
*/
:root {
    color-scheme: light;
    --bvp-ink: #121c30;
    --bvp-muted: #667287;
    --bvp-line: #e8ecf0;
    --bvp-brand: #101a2b;
    --bvp-page-bg: #f5f7fa;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.bvp-minimal-theme {
    margin: 0;
    min-width: 320px;
    color: var(--bvp-ink);
    background: var(--bvp-page-bg);
    font: 400 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
body.bvp-minimal-theme img { max-width: 100%; height: auto; }
body.bvp-minimal-theme a { color: inherit; }
body.bvp-minimal-theme button,
body.bvp-minimal-theme input,
body.bvp-minimal-theme select,
body.bvp-minimal-theme textarea { font: inherit; }
.bvp-skip-link { position: absolute; left: -10000px; top: 8px; z-index: 100000; background: #fff; padding: 10px 16px; }
.bvp-skip-link:focus { left: 10px; }
.bvp-site-header {
    position: relative;
    z-index: 100;
    width: 100%;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--bvp-line);
    box-shadow: 0 2px 14px rgba(16,26,43,.035);
}
.bvp-header-inner {
    display: flex;
    align-items: center;
    gap: clamp(16px,2.3vw,36px);
    min-height: 76px;
    width: min(100% - 48px, 1480px);
    margin: 0 auto;
}
.bvp-logo { display: inline-flex; align-items: center; flex: 0 0 auto; min-width: 132px; font-weight: 800; font-size: 20px; letter-spacing: -.6px; text-decoration: none; white-space: nowrap; }
.bvp-logo .custom-logo-link { display: inline-flex; align-items: center; }
.bvp-logo img { display: block; width: auto; max-width: 170px; max-height: 52px; }
.bvp-search { flex: 1 1 420px; min-width: 120px; max-width: 610px; }
.bvp-search form { position: relative; display: flex; width: 100%; margin: 0; border: 1px solid #dce2e9; background: #f7f9fb; border-radius: 12px; overflow: hidden; }
.bvp-search .search-field { flex: 1; min-width: 0; height: 42px; padding: 0 14px; border: 0; outline: 0; background: transparent; color: var(--bvp-ink); box-shadow: none; }
.bvp-search .search-submit { flex: 0 0 auto; cursor: pointer; padding: 0 16px; background: var(--bvp-brand); color: #fff; border: 0; font-size: 13px; font-weight: 700; }
.bvp-navigation { margin-left: auto; flex: 0 0 auto; }
.bvp-navigation .bvp-menu { display: flex; align-items: center; gap: clamp(12px, 1.7vw, 28px); padding: 0; margin: 0; list-style: none; }
.bvp-navigation .bvp-menu li { padding: 0; margin: 0; list-style: none; }
.bvp-navigation .bvp-menu a { display: inline-flex; min-height: 40px; align-items: center; color: var(--bvp-ink); text-decoration: none; font-size: 13px; font-weight: 650; white-space: nowrap; }
.bvp-navigation .bvp-menu a:hover, .bvp-navigation .bvp-menu a:focus-visible { color: #087a46; }
.bvp-navigation .current-menu-item > a { color: #087a46; }
.bvp-cart-link { display: inline-flex; gap: 6px; align-items: center; }
.bvp-cart-link svg { flex: 0 0 18px; }
#bvp-main { width: 100%; min-height: 54vh; margin: 0; padding: 0; }
.bvp-page-container { width: min(100% - 48px, 1360px); margin: 30px auto 52px; }
.bvp-page-container--app { width: 100%; max-width: none; margin: 0; padding: 0; }
.bvp-content-article { max-width: 100%; min-width: 0; }
.bvp-page-heading { margin: 0 0 22px; font-weight: 750; font-size: clamp(24px,2.1vw,34px); line-height: 1.2; }
.bvp-site-footer { border-top: 1px solid var(--bvp-line); background: #fff; }
.bvp-footer-inner { width: min(100% - 48px, 1480px); min-height: 70px; margin: auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; color: var(--bvp-muted); font-size: 12px; }
.bvp-footer-inner a { text-decoration: none; }

/* Shortcode-driven cart, checkout, catalogue and account pages own their internal layout. */
body.bvp-minimal-theme .bvp-page-container--app > article { width: 100%; max-width: none; }
body.bvp-minimal-theme .bvp-page-container--app .entry-content { width: 100%; max-width: none; margin: 0; padding: 0; }

/* Avoid treating BVP Commerce Preview screens as narrow theme content. */
body.bvp-minimal-theme .bvpcp-home,
body.bvp-minimal-theme .bvpcp-product-foundation,
body.bvp-minimal-theme .bvpcp-catalog-breakout { width: 100%; max-width: none; }

@media (min-width: 1024px) {
    /* Homepage: BVP mobile stylesheet has a 720px fallback width. Override when displayed on desktop. */
    body.bvp-minimal-theme.bvpcp-mobile-home-active .bvpcp-home-shell {
        width: min(1360px, calc(100% - 64px)) !important;
        max-width: 1360px !important;
        margin-inline: auto !important;
        padding: 24px 0 48px !important;
    }
    body.bvp-minimal-theme.bvpcp-mobile-home-active .bvpcp-banner-slider { border-radius: 20px; }
    body.bvp-minimal-theme.bvpcp-mobile-home-active .bvpcp-home-sections { gap: 22px; }
    body.bvp-minimal-theme.bvpcp-mobile-home-active .bvpcp-category-section { border-radius: 20px; }
    body.bvp-minimal-theme.bvpcp-mobile-home-active .bvpcp-category-row {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 16px !important;
        overflow: visible !important;
    }
    body.bvp-minimal-theme.bvpcp-mobile-home-active .bvpcp-category-card { min-width: 0 !important; }

    /* Product: restore a true desktop-width main column alongside the fixed purchase dock. */
    body.bvp-minimal-theme.bvpcp-desktop-product-active .bvpcp-product-foundation-shell {
        box-sizing: border-box !important;
        width: min(1480px, calc(100% - 48px)) !important;
        max-width: 1480px !important;
        min-width: 0 !important;
        margin-inline: auto !important;
        padding-right: calc(var(--bvpcp-desktop-product-sidebar, 382px) + var(--bvpcp-desktop-product-gap, 32px)) !important;
    }
    /* If desktop discovery was not enabled by plugin rollout, still remove 760px limitation.
       We do not force a fixed sidebar unless the plugin explicitly enabled desktop mode. */
    body.bvp-minimal-theme.bvpcp-mobile-product-foundation-active:not(.bvpcp-desktop-product-active) .bvpcp-product-foundation-shell {
        width: min(1360px, calc(100% - 64px)) !important;
        max-width: 1360px !important;
        margin-inline: auto !important;
    }
    body.bvp-minimal-theme .bvpcp-product-foundation-card,
    body.bvp-minimal-theme .bvpcp-product-info-card,
    body.bvp-minimal-theme .bvpcp-product-details-card { min-width: 0; }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .bvp-header-inner { width: calc(100% - 32px); gap: 16px; }
    .bvp-search { max-width: 360px; }
    .bvp-navigation .bvp-menu { gap: 12px; }
    body.bvp-minimal-theme.bvpcp-mobile-home-active .bvpcp-home-shell {
        max-width: none !important;
        width: calc(100% - 32px) !important;
    }
    body.bvp-minimal-theme.bvpcp-mobile-product-foundation-active .bvpcp-product-foundation-shell {
        width: calc(100% - 32px) !important;
        max-width: none !important;
    }
}

@media (max-width: 767px) {
    /* Mobile navigation is owned by bvp-mobile-footer, not the WordPress theme. */
    body.bvp-minimal-theme .bvp-site-header { display: none !important; }
    body.bvp-minimal-theme .bvp-site-footer { display: none !important; }
    body.bvp-minimal-theme.bvp-has-mobile-footer .bvpcp-bottom-nav { display: none !important; }
    body.bvp-minimal-theme .bvp-page-container:not(.bvp-page-container--app) {
        width: calc(100% - 24px);
        margin: 12px auto 28px;
    }
    body.bvp-minimal-theme .bvpcp-home-shell { width: 100%; max-width: 720px; }
    body.bvp-minimal-theme .bvpcp-product-foundation-shell { width: 100%; min-width: 0; }
    body.bvp-minimal-theme .bvp-page-heading { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}


/* =======================================================================
   BVP Minimal v1.2.0: independent desktop/mobile chrome.
   Existing 1.1.0 Commerce Preview full-width rules remain unchanged.
   ======================================================================= */
body.bvp-minimal-theme .bvp-site-header {
    background: #ffffff;
    border-bottom: 1px solid #e8ebf0;
    box-shadow: 0 1px 5px rgba(15,23,42,.035);
}
body.bvp-minimal-theme .bvp-header-inner {
    width: min(calc(100% - 48px), 1440px);
    min-height: 76px;
    gap: clamp(20px, 3vw, 44px);
}
body.bvp-minimal-theme .bvp-logo { min-width: 150px; max-width: 230px; }
body.bvp-minimal-theme .bvp-logo img { width: auto; max-height: 48px; max-width: 180px; }
.bvp-wordmark { display: inline-flex; align-items: center; gap: 9px; color: #111a2b; text-decoration: none; }
.bvp-wordmark__symbol {
    display: inline-grid; place-items: center; width: 38px; height: 38px;
    border: 2px solid #111a2b; border-radius: 11px; transform: rotate(-5deg);
    font-size: 13px; font-weight: 850; letter-spacing: -1px;
}
.bvp-wordmark__text { display: flex; flex-direction: column; line-height: 1.0; }
.bvp-wordmark__text strong { font-size: 19px; font-weight: 800; letter-spacing: -.9px; }
.bvp-wordmark__text small { margin-top: 3px; font-size: 10px; font-weight: 800; letter-spacing: 2.2px; }
body.bvp-minimal-theme .bvp-product-search {
    flex: 1 1 400px; display: flex; align-items: center; position: relative;
    min-width: 170px; max-width: 660px; min-height: 44px; margin: 0;
    border: 1px solid #dde3ec; border-radius: 12px; background: #f7f9fc;
    overflow: hidden;
}
.bvp-product-search > .bvp-icon { width: 20px; height: 20px; flex: 0 0 20px; margin-left: 14px; color: #617087; }
body.bvp-minimal-theme .bvp-product-search input[type=search] {
    flex: 1 1 auto; min-width: 0; min-height: 42px; margin: 0; padding: 0 12px;
    font-size: 14px; color: #17212b; background: transparent; border: 0;
    box-shadow: none; outline: 0;
}
body.bvp-minimal-theme .bvp-product-search input[type=search]:focus { box-shadow: none; }
body.bvp-minimal-theme .bvp-product-search:focus-within {
    border-color: #7197c3; background: #fff; box-shadow: 0 0 0 3px rgba(42,117,185,.12);
}
body.bvp-minimal-theme .bvp-product-search button {
    align-self: stretch; flex: 0 0 auto; min-height: 42px; margin: 0; padding: 0 20px;
    border: 0; border-radius: 0 11px 11px 0; color: #fff;
    background: #111a2b; cursor: pointer; font-size: 13px; font-weight: 700;
}
body.bvp-minimal-theme .bvp-product-search button:hover { background: #223453; }
.bvp-top-links { margin-left: auto; display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
body.bvp-minimal-theme .bvp-top-link {
    display: inline-flex; align-items: center; justify-content: center; gap: 7px;
    min-height: 42px; padding: 8px 10px; border: 1px solid transparent;
    border-radius: 10px; text-decoration: none; color: #19243a;
    font-size: 13px; font-weight: 700; white-space: nowrap;
}
body.bvp-minimal-theme .bvp-top-link:hover,
body.bvp-minimal-theme .bvp-top-link:focus-visible { color: #087a46; background: #f2f6f5; }
.bvp-icon { display: block; width: 22px; height: 22px; }
.bvp-cart-symbol { position: relative; display: inline-flex; }
.bvp-cart-count {
    position: absolute; display: grid; place-items: center; top: -9px; right: -10px;
    min-width: 17px; height: 17px; padding: 0 3px; border-radius: 20px;
    background: #14844d; color: #fff; font-size: 10px; font-weight: 800;
    line-height: 1; border: 2px solid #fff;
}
.bvp-mobile-header { display: none; }
body.bvp-minimal-theme .bvp-site-footer {
    background: #fff; color: #506078; border-top: 1px solid #e9ecf1;
}
.bvp-footer-wrap {
    width: min(calc(100% - 48px), 1440px); margin: 0 auto;
    display: grid; grid-template-columns: 1.75fr 1fr 1.1fr 1fr;
    gap: clamp(20px,4vw,70px); padding: 44px 0 36px;
}
.bvp-footer-brand strong { color: #14213a; font-size: 22px; font-weight: 800; letter-spacing: -.8px; }
.bvp-footer-brand strong span { color: #16804a; }
.bvp-footer-brand p { font-size: 13px; line-height: 1.6; max-width: 330px; margin: 8px 0; }
.bvp-footer-brand p:first-of-type { font-weight: 700; color: #34435a; }
.bvp-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.bvp-footer-column h2 { font-size: 13px; margin: 2px 0 7px; line-height: 1.3; text-transform: none; font-weight: 800; color: #14213a; }
body.bvp-minimal-theme .bvp-footer-column a { color: #536278; font-size: 13px; text-decoration: none; }
body.bvp-minimal-theme .bvp-footer-column a:hover { color: #087a46; text-decoration: underline; }
.bvp-footer-bottom {
    width: min(calc(100% - 48px), 1440px); margin: 0 auto;
    display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 20px;
    padding: 16px 0 22px; border-top: 1px solid #eef0f3;
    color: #758195; font-size: 12px;
}
.bvp-mobile-bottom-nav { display: none; }
/* Prevent Commerce Preview's separately injected bottom navigation from duplicating BVP Minimal. */
body.bvp-minimal-theme .bvpcp-bottom-nav { display: none !important; }
@media (max-width: 1180px) and (min-width: 768px) {
    body.bvp-minimal-theme .bvp-header-inner { width: calc(100% - 32px); gap: 16px; }
    body.bvp-minimal-theme .bvp-logo { min-width: 126px; }
    body.bvp-minimal-theme .bvp-top-links { gap: 0; }
    body.bvp-minimal-theme .bvp-top-link--plain { display: none; }
    body.bvp-minimal-theme .bvp-product-search { max-width: none; }
    .bvp-footer-wrap { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    /* One compact top header and one BVP Minimal bottom nav. */
    body.bvp-minimal-theme .bvp-site-header { display: none !important; }
    body.bvp-minimal-theme .bvp-mobile-header {
        display: flex; flex-direction: column; gap: 8px; position: relative; z-index: 60;
        width: 100%; padding: 9px 14px 11px; background: #fff;
        border-bottom: 1px solid #e8ecf1;
    }
    .bvp-mobile-header__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; }
    .bvp-mobile-brand { max-width: calc(100% - 60px); display: flex; align-items: center; }
    .bvp-mobile-brand .custom-logo-link { display: inline-flex; align-items: center; }
    .bvp-mobile-brand img { width: auto; max-width: 144px; max-height: 36px; object-fit: contain; }
    .bvp-mobile-brand .bvp-wordmark__symbol { width: 32px; height: 32px; border-radius: 8px; font-size: 11px; }
    .bvp-mobile-brand .bvp-wordmark__text strong { font-size: 16px; }
    .bvp-mobile-brand .bvp-wordmark__text small { font-size: 8px; }
    body.bvp-minimal-theme .bvp-mobile-header__cart {
        position: relative; display: grid; place-items: center; width: 38px; height: 38px;
        border: 1px solid #edf0f4; border-radius: 10px; color: #162239; text-decoration: none;
    }
    .bvp-mobile-header__cart .bvp-icon { width: 21px; height: 21px; }
    .bvp-mobile-header__cart .bvp-cart-count { top: -7px; right: -6px; }
    body.bvp-minimal-theme .bvp-product-search--mobile {
        display: flex; width: 100%; max-width: none; min-width: 0; min-height: 40px;
        border-radius: 10px; background: #f6f8fb;
    }
    body.bvp-minimal-theme .bvp-product-search--mobile input[type=search] { min-height: 40px; font-size: 13px; }
    body.bvp-minimal-theme .bvp-product-search--mobile button {
        display: grid; place-items: center; min-height: 40px; padding: 0 10px; background: transparent; color: #263b59;
    }
    body.bvp-minimal-theme .bvp-product-search--mobile button .bvp-icon { width: 19px; height: 19px; }
    body.bvp-minimal-theme .bvp-site-footer { display: block !important; }
    .bvp-footer-wrap { width: calc(100% - 36px); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 20px; padding: 28px 0 24px; }
    .bvp-footer-brand { grid-column: 1 / -1; }
    .bvp-footer-brand p:last-child { display: none; }
    .bvp-footer-brand strong { font-size: 20px; }
    .bvp-footer-bottom { width: calc(100% - 36px); padding-bottom: 20px; }
    body.bvp-minimal-theme.bvp-mobile-nav-visible { padding-bottom: calc(70px + env(safe-area-inset-bottom,0px)); }
    body.bvp-minimal-theme .bvp-mobile-bottom-nav {
        position: fixed; display: grid; grid-template-columns: repeat(5,minmax(0,1fr));
        left: 0; bottom: 0; right: 0; z-index: 900;
        height: calc(66px + env(safe-area-inset-bottom,0px));
        padding: 5px 6px calc(5px + env(safe-area-inset-bottom,0px));
        background: #fff; border-top: 1px solid #e3e7ed;
        box-shadow: 0 -4px 18px rgba(15,23,42,.055);
    }
    body.bvp-minimal-theme .bvp-mobile-bottom-nav a {
        display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
        min-width: 0; border-radius: 9px; color: #758196;
        text-decoration: none; font-size: 10px; font-weight: 700; line-height: 1.1;
    }
    .bvp-mobile-bottom-nav a svg { display: block; width: 21px; height: 21px; }
    body.bvp-minimal-theme .bvp-mobile-bottom-nav a.is-current,
    body.bvp-minimal-theme .bvp-mobile-bottom-nav a:focus-visible { color: #117b45; background: #f0f8f3; }
    /* Checkout/cart sticky actions need the viewport; the theme deliberately omits nav there. */
}
@media (max-width: 360px) {
    .bvp-mobile-bottom-nav a { font-size: 9px; }
    .bvp-mobile-bottom-nav a svg { width: 19px; height: 19px; }
    .bvp-footer-wrap { gap: 18px 14px; }
}



/* ======================================================================
 * BVP Minimal v1.4.0 — native search + sticky responsive header/nav.
 * Commercial/WooCommerce app CSS stays in the Commerce Preview plugin.
 * ====================================================================== */
body.bvp-minimal-theme .bvp-desktop-search { position:relative; flex:1 1 380px; min-width:190px; max-width:660px; z-index:150; }
body.bvp-minimal-theme .bvp-search-widget { position:relative; width:100%; min-width:0; }
body.bvp-minimal-theme .bvp-native-search {
    position:relative; display:flex; align-items:center; width:100%; height:45px; min-height:45px; margin:0;
    background:#f7f9fb; border:1px solid #dfe5ed; border-radius:12px; overflow:hidden; box-shadow:none;
}
body.bvp-minimal-theme .bvp-native-search:focus-within { background:#fff; border-color:#a5bfce; box-shadow:0 0 0 3px rgba(20,115,92,.08); }
body.bvp-minimal-theme .bvp-native-search > svg { flex:0 0 19px; width:19px; height:19px; margin-left:14px; color:#6a768a; }
body.bvp-minimal-theme .bvp-native-search input[type=search] {
    display:block; flex:1 1 auto; width:0; min-width:0; height:43px !important; min-height:43px !important;
    padding:0 9px !important; margin:0 !important; border:0 !important; border-radius:0 !important;
    font-size:14px !important; font-weight:450; background:transparent !important;
    box-shadow:none !important; outline:0 !important; color:#17212b;
}
body.bvp-minimal-theme .bvp-native-search input[type=search]::placeholder { color:#8a95a6; font-style:normal; opacity:1; }
body.bvp-minimal-theme .bvp-native-search button[type=submit] {
    flex:0 0 42px; display:grid; place-items:center; width:42px; height:43px; min-height:43px;
    margin:0; padding:0; border:0; background:transparent; color:#344862; cursor:pointer;
}
body.bvp-minimal-theme .bvp-native-search button[type=submit] svg { width:19px; height:19px; }
body.bvp-minimal-theme .bvp-native-search button[type=submit]:hover { background:#eaf1ed; color:#138453; }
body.bvp-minimal-theme .bvp-search-suggestions {
    position:absolute; top:calc(100% + 7px); left:0; right:0; max-height:min(420px,60dvh); overflow-y:auto;
    border:1px solid #e5eaf1; border-radius:14px; background:#fff; z-index:11000;
    box-shadow:0 12px 36px rgba(14,27,48,.12);
}
body.bvp-minimal-theme .bvp-search-suggestions[hidden] { display:none !important; }
.bvp-search-results-list { list-style:none; margin:0; padding:5px; }
.bvp-search-results-list li { margin:0; padding:0; }
body.bvp-minimal-theme .bvp-search-result { display:flex; gap:12px; align-items:center; min-height:55px; padding:7px 8px; border-radius:10px; text-decoration:none; }
body.bvp-minimal-theme .bvp-search-result:hover, body.bvp-minimal-theme .bvp-search-result:focus-visible { background:#f3f7f5; }
.bvp-search-result img { flex:0 0 44px; width:44px !important; height:44px !important; object-fit:contain; border-radius:7px; border:1px solid #e9ebf0; }
.bvp-search-result__text { display:flex; flex-direction:column; gap:2px; min-width:0; }
.bvp-search-result__name { font-size:13px; font-weight:650; line-height:1.3; }
.bvp-search-result__price { font-size:12px; color:#16784b; font-weight:750; }
.bvp-search-empty { margin:0; padding:14px 16px; color:#718098; font-size:13px; }
body.bvp-minimal-theme .bvp-search-viewall { width:100%; padding:11px 15px; background:#f7f9fb; border:0; border-top:1px solid #e9edf1; font-size:12px; font-weight:750; color:#0f7048; cursor:pointer; text-align:left; }
.bvp-search-layer { display:none; }
body.bvp-minimal-theme .bvp-cart-badge { display:grid; place-items:center; position:absolute; top:-9px; right:-11px; min-width:19px; height:19px; padding:0 4px; border:2px solid #fff; border-radius:20px; background:#14844d; color:#fff; font-size:10px; font-weight:800; line-height:1; white-space:nowrap; pointer-events:none; }
body.bvp-minimal-theme .bvp-cart-badge:empty { display:none; }
.bvp-cart-symbol,.bvp-nav-cart-symbol { position:relative; display:inline-flex; }

/* Desktop theme chrome stays on top when scrolling. */
@media (min-width:768px) {
    body.bvp-minimal-theme .bvp-site-header { position:sticky; top:0; z-index:400; }
    body.admin-bar.bvp-minimal-theme .bvp-site-header { top:32px; }
}
@media (max-width:767px) {
    :root { --bvp-mobile-nav-size:68px; }
    /* Clip horizontal page overflow instead of creating a horizontal scroll container.
       overflow-x:hidden would interfere with position:sticky on mobile. */
    html { max-width:100%; overflow-x:clip !important; overscroll-behavior-x:none; }
    body.bvp-minimal-theme { width:100% !important; min-width:0; max-width:100vw; overflow-x:clip !important; padding-bottom:calc(var(--bvp-mobile-nav-size) + env(safe-area-inset-bottom,0px) + 12px) !important; }
    body.bvp-minimal-theme #bvp-main,body.bvp-minimal-theme .bvp-page-container,
    body.bvp-minimal-theme .bvp-page-container--app,
    body.bvp-minimal-theme .bvp-content-article,
    body.bvp-minimal-theme .entry-content,
    body.bvp-minimal-theme .bvpcp-cart-page,
    body.bvp-minimal-theme #bvpcp-cart-preview,
    body.bvp-minimal-theme .bvpcp-cart-wrap,
    body.bvp-minimal-theme .bvpcp-cart-layout { min-width:0 !important; max-width:100% !important; box-sizing:border-box; }
    body.bvp-minimal-theme .bvp-site-header { display:none !important; }
    body.bvp-minimal-theme .bvp-site-footer { display:none !important; }
    body.bvp-minimal-theme .bvpcp-bottom-nav,
    body.bvp-minimal-theme .bvp-mobile-footer,
    body.bvp-minimal-theme #bvp-mobile-footer { display:none !important; }
    /* Sticky single-row header on inner pages; homepage adds search row. */
    body.bvp-minimal-theme .bvp-mobile-header {
        display:flex !important; flex-direction:column; gap:9px; position:sticky !important; top:0 !important;
        z-index:9500 !important; width:100%; max-width:100vw; min-height:0; height:auto !important;
        margin:0 !important; padding:9px 15px !important; background:rgba(255,255,255,.98) !important;
        border-bottom:1px solid #e8edf2; box-shadow:0 2px 9px rgba(9,29,50,.025);
    }
    body.admin-bar.bvp-minimal-theme .bvp-mobile-header { top:46px !important; }
    body.bvp-minimal-theme .bvp-mobile-header__top { display:flex; align-items:center; justify-content:space-between; min-height:42px; gap:10px; }
    body.bvp-minimal-theme .bvp-mobile-brand { display:flex; align-items:center; min-width:0; max-width:calc(100% - 110px); }
    body.bvp-minimal-theme .bvp-mobile-brand .custom-logo-link { display:inline-flex; align-items:center; }
    body.bvp-minimal-theme .bvp-mobile-brand img { width:auto; max-width:143px; height:auto; max-height:38px; object-fit:contain; }
    body.bvp-minimal-theme .bvp-wordmark__symbol { width:32px; height:32px; border-radius:8px; font-size:11px; }
    body.bvp-minimal-theme .bvp-wordmark__text strong { font-size:16px; }
    body.bvp-minimal-theme .bvp-wordmark__text small { font-size:8px; }
    .bvp-mobile-header__actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
    body.bvp-minimal-theme .bvp-mobile-header__search-toggle,
    body.bvp-minimal-theme .bvp-mobile-header__whatsapp {
        width:41px; height:41px; min-width:41px; display:inline-flex; align-items:center; justify-content:center;
        padding:7px; margin:0; border:0 !important; border-radius:10px; background:transparent !important;
        box-shadow:none !important; text-decoration:none; cursor:pointer;
    }
    body.bvp-minimal-theme .bvp-mobile-header__search-toggle { color:#28384c; }
    body.bvp-minimal-theme .bvp-mobile-header__whatsapp { color:#139652; }
    body.bvp-minimal-theme .bvp-mobile-header__whatsapp svg { width:27px; height:27px; display:block; }
    body.bvp-minimal-theme .bvp-mobile-header__search-toggle svg { width:23px; height:23px; display:block; }
    body.bvp-minimal-theme .bvp-mobile-header__search-toggle:hover,
    body.bvp-minimal-theme .bvp-mobile-header__search-toggle:focus-visible,
    body.bvp-minimal-theme .bvp-mobile-header__whatsapp:hover,
    body.bvp-minimal-theme .bvp-mobile-header__whatsapp:focus-visible { background:#f3f7f4 !important; outline-offset:2px; }
    body.bvp-minimal-theme .bvp-mobile-header__search { display:block !important; width:100%; min-width:0; height:auto !important; min-height:44px; max-height:none; margin:0; padding:0; }
    body.bvp-minimal-theme .bvp-mobile-header__search .bvp-native-search { height:44px; min-height:44px; }
    body.bvp-minimal-theme .bvp-mobile-header__search .bvp-native-search input[type=search] { font-size:14px !important; }
    /* Mobile nav is viewport fixed, not part of the scrolling content. */
    body.bvp-minimal-theme .bvp-mobile-bottom-nav {
        position:fixed !important; display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        flex-wrap:nowrap !important; top:auto !important; bottom:0 !important; left:0 !important; right:0 !important;
        box-sizing:border-box !important; width:100vw !important; min-width:0 !important; max-width:100vw !important;
        height:calc(var(--bvp-mobile-nav-size) + env(safe-area-inset-bottom,0px)) !important;
        margin:0 !important; padding:5px 5px calc(5px + env(safe-area-inset-bottom,0px)) !important;
        border-top:1px solid #e3e8ef; border-radius:0; background:#fff !important;
        box-shadow:0 -3px 14px rgba(13,30,47,.05); overflow:hidden !important;
        z-index:10020 !important; transform:none !important; touch-action:pan-y;
    }
    body.bvp-minimal-theme .bvp-mobile-bottom-nav > a {
        display:flex !important; align-items:center !important; justify-content:center !important; flex-direction:column !important;
        min-width:0 !important; width:100% !important; gap:3px; font-size:10px; text-decoration:none; line-height:1.12;
    }
    body.bvp-minimal-theme .bvp-mobile-bottom-nav > a svg { width:21px; height:21px; display:block; }
    body.bvp-minimal-theme .bvp-mobile-bottom-nav > a .bvp-nav-cart-symbol { position:relative; display:inline-flex; }
    body.bvp-minimal-theme .bvp-mobile-bottom-nav > a .bvp-cart-badge { top:-9px; right:-12px; }
    body.bvp-minimal-theme .bvpcp-mobile-checkout-bar,
    body.bvp-minimal-theme .bvpcp-checkout-mobile-bar {
        bottom:var(--bvpcp-mobile-footer-offset,calc(var(--bvp-mobile-nav-size) + env(safe-area-inset-bottom,0px))) !important;
        z-index:10010 !important;
        max-width:calc(100vw - 16px) !important;
    }
    body.bvp-minimal-theme .bvpcp-cart-page,
    body.bvp-minimal-theme #bvpcp-cart-preview,
    body.bvp-minimal-theme #bvpcp-checkout-preview {
        scroll-padding-bottom:calc(175px + env(safe-area-inset-bottom,0px));
    }
    body.bvp-search-open { overflow:hidden !important; }
    body.bvp-search-open .bvp-mobile-bottom-nav { display:none !important; }
    body.bvp-minimal-theme .bvp-search-layer:not([hidden]) { display:block; position:fixed; inset:0; top:0; z-index:9900; }
    body.bvp-minimal-theme .bvp-search-layer__backdrop { display:block; position:absolute; inset:0; border:0; margin:0; padding:0; width:100%; height:100%; background:rgba(15,23,42,.26); }
    body.bvp-minimal-theme .bvp-search-layer__panel { position:relative; width:100%; padding:17px 16px 20px; background:white; box-shadow:0 12px 22px rgba(0,0,0,.12); top:60px; }
    body.bvp-minimal-theme .bvp-search-layer__heading { display:flex; align-items:center; justify-content:space-between; margin:0 0 14px; font-size:14px; }
    body.bvp-minimal-theme .bvp-search-layer__heading button { display:grid; place-items:center; width:30px; height:30px; padding:0; margin:0; background:transparent; border:0; font-size:26px; color:#526174; cursor:pointer; }
    body.bvp-minimal-theme .bvp-search-layer .bvp-search-suggestions { max-height:60dvh; }
    body.admin-bar.bvp-minimal-theme .bvp-search-layer__panel { top:100px; }
    body.bvp-minimal-theme .bvp-search-widget:has(.bvp-search-suggestions:not([hidden])) { z-index:100; }
}
@media (max-width:360px) {
    body.bvp-minimal-theme .bvp-mobile-brand img { max-width:120px; }
    body.bvp-minimal-theme .bvp-mobile-header__actions { gap:3px; }
}
