/* Compact storefront header with one shared grid and balanced visual weight. */
#header .header-wrapper { box-shadow: none; }
#header .levarno-site-header { color: #171717; background: #fff; }
#header .levarno-header-container { width: calc(100% - 80px); max-width: 1400px; margin: 0 auto; }
#header .levarno-header-utility { min-height: 30px; background: transparent; }
#header .levarno-header-utility > div { display: flex; justify-content: flex-end; align-items: center; min-height: 30px; }
#header .levarno-header-utility ul { display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
#header .levarno-header-utility li { margin: 0; }
#header .levarno-header-utility a { display: flex; align-items: center; min-height: 30px; color: #686868; font-size: 11px; font-weight: 600; line-height: 1; }
#header .levarno-header-utility a:hover { color: #171717; }
#header #masthead { height: 68px; background: #fff; }
#header .header-inner { display: grid; grid-template-columns: 180px minmax(280px, 1fr) auto; align-items: center; gap: 24px; height: 68px; }
#header #logo { width: 172px; margin: 0; }
#header #logo img { width: 172px; max-height: 40px; padding: 0; object-fit: contain; }
#header .levarno-header-categories { display: flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 12px; border: 1px solid #dedede; border-radius: 7px; color: #242424; font-size: 13px; font-weight: 650; white-space: nowrap; }
#header .levarno-header-categories svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
#header .levarno-header-categories:hover { border-color: #a9a9a9; background: #f8f8f8; }
#header .levarno-header-search { width: 100%; min-width: 180px; max-width: 720px; margin: 0 auto; }
#header .levarno-header-search .searchform { margin: 0; }
#header .levarno-header-search .searchform > .flex-row { overflow: hidden; background: #f5f5f5; border: 1px solid #e8e8e8; border-radius: 9px; transition: border-color .15s, background-color .15s, box-shadow .15s; }
#header .levarno-header-search .searchform > .flex-row > .flex-col:last-child { order: -1; }
#header .levarno-header-search .searchform > .flex-row:focus-within { background: #fff; border-color: #8b8b8b; box-shadow: 0 0 0 3px rgba(25,25,25,.07); }
#header .levarno-header-search input.search-field { height: 44px; border: 0; box-shadow: none; background: transparent; padding: 0 16px 0 4px; font-size: 14px; color: #171717; }
#header .levarno-header-search input.search-field::placeholder { color: #858585; opacity: 1; }
#header .levarno-header-search .ux-search-submit { width: 46px; height: 44px; min-height: 0; margin: 0; border: 0; box-shadow: none; background: transparent; color: #171717; }
#header .levarno-header-search .ux-search-submit i { font-size: 20px; }
#header .levarno-header-search .ux-search-submit:hover { background: #e9e9e9; }
#header .levarno-header-actions { width: auto; gap: 4px; flex-wrap: nowrap; }
#header .levarno-header-actions > li { margin: 0; }
#header .levarno-header-action, #header .header-cart-link { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 10px; border-radius: 8px; background: transparent; color: #171717; font-size: 13px; font-weight: 700; line-height: 1.15; text-transform: none; letter-spacing: 0; white-space: nowrap; transition: background-color .15s; }
#header .levarno-header-action:hover, #header .header-cart-link:hover { background: #f5f5f5; }
#header .levarno-header-action-copy, #header .header-cart-title { font-size: 13px; font-weight: 700; line-height: 1.1; }
#header .levarno-header-action svg { width: 22px; height: 22px; flex: 0 0 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#header .header-cart-link > i { order: -1; margin: 0; font-size: 22px; }
#header .header-cart-link > i:before { content: ""; display: block; width: 22px; height: 22px; background: currentColor; mask: url("../images/header-shopping-bag.svg") center / contain no-repeat; -webkit-mask: url("../images/header-shopping-bag.svg") center / contain no-repeat; }
#header .header-cart-link [data-icon-label]:after { top: -6px; right: -7px; min-width: 16px; height: 16px; background: #171717; font-size: 9px; line-height: 16px; box-shadow: 0 0 0 2px #fff; }
#header .levarno-header-navigation { background: #fff; border-top: 1px solid #f0f0f0; border-bottom: 1px solid #e8e8e8; min-height: 48px; box-shadow: none; }
#header .levarno-header-navigation > div { display: flex; align-items: center; min-height: 48px; }
#header .levarno-header-navigation .levarno-header-categories { min-height: 36px; margin-right: 30px; padding: 0 14px; border: 0; border-radius: 8px; background: #f5f5f5; font-size: 14px; }
#header .levarno-header-navigation .levarno-header-categories svg { width: 20px; height: 20px; }
#header .levarno-header-navigation .levarno-header-categories:hover { background: #ededed; }
#header .levarno-header-links { display: flex; flex: 1; align-items: center; justify-content: flex-start; gap: 30px; min-width: 0; padding-left: 0; }
#header .levarno-header-primary, #header .levarno-header-shortcuts { width: auto; gap: 30px; flex-wrap: nowrap; }
#header .levarno-header-primary > li, #header .levarno-header-shortcuts > li { margin: 0; }
#header .levarno-header-navigation .nav > li > a { display: flex; align-items: center; min-height: 47px; padding: 0; color: #303030; font-size: 14px; font-weight: 650; letter-spacing: 0; text-transform: none; white-space: nowrap; }
#header .levarno-header-primary > li:first-child > a { color: #111; }
#header .levarno-header-primary > li:hover > a, #header .levarno-header-primary > li.current-menu-item > a, #header .levarno-header-shortcuts > li:hover > a, #header .levarno-header-shortcuts > li.current-menu-item > a { color: #111; box-shadow: inset 0 -2px #171717; }
#header .levarno-site-header a:hover { color: #000; }
#header .levarno-site-header a:focus-visible, #header .levarno-site-header button:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }

/* Branded left navigation drawer; native Flatsome opening and submenu behavior stays intact. */
.off-canvas .mfp-content.levarno-menu-drawer,
.off-canvas .mfp-content:has(> #main-menu) { width: min(400px, calc(100vw - 64px)); background: #fff; color: #171717; box-shadow: 18px 0 48px rgba(0,0,0,.18); }
.mfp-bg.main-menu-overlay { background: #111; }
.mfp-bg.main-menu-overlay.mfp-ready { opacity: .46; }
#main-menu { --levarno-menu-accent: var(--fs-color-primary, #1c1c1c); min-height: 100%; background: #fff; color: #171717; }
#main-menu .sidebar-menu { min-height: 100%; padding: 0 0 28px; background: #fff; }
.off-canvas:has(#main-menu) .mfp-close,
.off-canvas .mfp-content:has(> #main-menu) .mfp-close,
.off-canvas .mfp-content.levarno-menu-drawer .mfp-close { top: 12px !important; right: auto; width: 48px; height: 48px; border-radius: 8px; background: transparent; color: #fff; font-size: 36px; line-height: 48px; mix-blend-mode: normal; opacity: 1; }
.off-canvas:has(#main-menu) .mfp-close { right: auto; left: min(408px, calc(100vw - 56px)); }
.off-canvas:has(#main-menu) .mfp-close:hover,
.off-canvas .mfp-content:has(> #main-menu) .mfp-close:hover,
.off-canvas .mfp-content.levarno-menu-drawer .mfp-close:hover { background: rgba(255,255,255,.12); transform: rotate(90deg); }
#main-menu .levarno-menu-drawer__extras { margin: 0; padding: 0 0 28px; }
#main-menu .levarno-menu-drawer__account { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 0 20px; border-bottom: 1px solid #e5e5e5; background: #fff; color: #171717; font-size: 16px; font-weight: 750; line-height: 1.2; }
#main-menu .levarno-menu-drawer__account:hover { background: #f7f7f7; color: #171717; }
#main-menu .levarno-menu-drawer__account svg { width: 30px; height: 30px; flex: 0 0 30px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
#main-menu .levarno-menu-drawer__section-title { display: block; margin-bottom: 10px; color: #171717; font-size: 15px; font-weight: 800; line-height: 1.2; }
#main-menu .levarno-menu-drawer__featured,
#main-menu .levarno-menu-drawer__categories,
#main-menu .levarno-menu-drawer__utilities { padding: 18px 16px; border-bottom: 1px solid #e5e5e5; }
#main-menu .levarno-menu-drawer__featured ul { margin: 0; padding: 0; list-style: none; }
#main-menu .levarno-menu-drawer__featured li { margin: 0; border: 0; }
#main-menu .levarno-menu-drawer__featured a { display: flex; align-items: center; min-height: 40px; padding: 0 10px; border-radius: 7px; color: #3d3d3d; font-size: 13px; font-weight: 650; }
#main-menu .levarno-menu-drawer__featured a:hover { background: #f2f2f2; color: #111; }
#main-menu .levarno-menu-drawer__filter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; margin-bottom: 12px; padding: 4px; border-radius: 10px; background: #f0f0f0; }
#main-menu .levarno-menu-drawer__filter button { min-height: 36px; margin: 0; padding: 0 8px; border: 0; border-radius: 7px; background: transparent; color: #666; font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 0; text-transform: none; box-shadow: none; }
#main-menu .levarno-menu-drawer__filter button:hover { background: rgba(255,255,255,.55); color: #171717; }
#main-menu .levarno-menu-drawer__filter button[aria-pressed="true"] { background: var(--levarno-menu-accent); color: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
#main-menu .levarno-menu-drawer__category-list { margin: 0; padding: 0; list-style: none; }
#main-menu .levarno-menu-drawer__category-list li { margin: 2px 0; border: 0; }
#main-menu .levarno-menu-drawer__category-list li.is-root { margin-top: 10px; padding-top: 10px; border-top: 1px solid #ededed; }
#main-menu .levarno-menu-drawer__category-list li.is-root:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
#main-menu .levarno-menu-drawer__category-list li[hidden] { display: none !important; }
#main-menu .levarno-menu-drawer__category-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 0 12px; border-radius: 8px; color: #292929; font-size: 14px; font-weight: 650; line-height: 1.2; }
#main-menu .levarno-menu-drawer__category-list li.is-root > a { background: #f4f4f4; color: #171717; font-weight: 750; }
#main-menu .levarno-menu-drawer__category-list a:hover,
#main-menu .levarno-menu-drawer__category-list a[aria-current="page"] { background: var(--levarno-menu-accent); color: #fff; }
#main-menu .levarno-menu-drawer__category-list svg { width: 15px; height: 15px; flex: 0 0 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; opacity: .58; }
#main-menu .levarno-menu-drawer__label-filtered { display: none; }
#main-menu .has-gender-filter .is-gender .levarno-menu-drawer__label-full:has(+ .levarno-menu-drawer__label-filtered) { display: none; }
#main-menu .has-gender-filter .is-gender .levarno-menu-drawer__label-filtered { display: inline; }
#main-menu .levarno-menu-drawer__utilities { border-bottom: 0; }
#main-menu .levarno-menu-drawer__utilities-grid { display: grid; gap: 0; }
#main-menu .levarno-menu-drawer__utilities-grid a { display: flex; align-items: center; min-height: 40px; padding: 0 10px; border-radius: 7px; color: #4e4e4e; font-size: 13px; font-weight: 650; line-height: 1.2; }
#main-menu .levarno-menu-drawer__utilities-grid a:hover { background: #f2f2f2; color: #171717; }
#main-menu a:focus-visible,
#main-menu button:focus-visible { outline: 2px solid var(--levarno-menu-accent); outline-offset: 2px; }
#header .header-wrapper.stuck, #header .stuck #masthead, #header .stuck .header-inner { height: 60px !important; }
#header .stuck .levarno-header-utility { display: none; }
#header .stuck .levarno-header-navigation { display: none; }
@media (min-width: 1440px) {
    #header .levarno-header-container { width: calc(100% - 80px); max-width: 1720px; }
    #header .levarno-header-search { max-width: 960px; }
}
@media (max-width: 1100px) and (min-width: 850px) {
    #header .levarno-header-container { width: calc(100% - 40px); }
    #header .header-inner { grid-template-columns: 138px minmax(240px, 1fr) auto; gap: 14px; }
    #header #logo { width: 138px; }
    #header #logo img { width: 138px; }
    #header .levarno-header-categories span, #header .levarno-header-action-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    #header .levarno-header-categories { width: 40px; justify-content: center; padding: 0; }
    #header .levarno-header-actions { gap: 3px; }
    #header .levarno-header-action, #header .header-cart-link { padding: 0 7px; }
    #header .levarno-header-navigation .levarno-header-categories { margin-right: 20px; }
    #header .levarno-header-links, #header .levarno-header-primary, #header .levarno-header-shortcuts { gap: 20px; }
}
@media (max-width: 849px) {
    #header .levarno-header-container { width: calc(100% - 32px); }
    #header .levarno-header-utility { display: none; }
    #header #masthead { height: 96px; }
    #header .header-wrapper.stuck, #header .stuck #masthead, #header .stuck .header-inner { height: 96px !important; }
    #header .header-inner, #header .stuck .header-inner { height: 96px; display: grid; grid-template-columns: 30px 1fr auto; grid-template-rows: 50px 40px; gap: 0 11px; padding-bottom: 6px; }
    #header .levarno-header-menu { width: auto; margin: 0; }
    #header .levarno-header-menu a { min-height: 44px; min-width: 30px; display: flex; align-items: center; }
    #header .levarno-header-menu .menu-title { display: none; }
    #header #logo { width: 126px; }
    #header #logo img { width: 126px; max-height: 36px; }
    #header .levarno-header-search { grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: none; margin: 0; }
    #header .levarno-header-search input.search-field, #header .levarno-header-search .ux-search-submit { height: 40px; }
    #header .levarno-header-actions { gap: 5px; }
    #header .levarno-header-action, #header .header-cart-link { width: 38px; padding: 0; justify-content: center; }
    #header .levarno-header-action-copy, #header .header-cart-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
    #header .levarno-header-navigation { display: none; }

    /* Product pages use a single, quiet shopping toolbar on small screens. */
    body.single-product #header .header-wrapper.stuck { height: 68px !important; }
    #header .levarno-site-header--product #masthead,
    #header .stuck .levarno-site-header--product #masthead { height: 68px !important; border-bottom: 1px solid #e6e3de; }
    #header .levarno-site-header--product .header-inner,
    #header .stuck .levarno-site-header--product .header-inner { height: 68px !important; grid-template-columns: 40px minmax(0, 1fr) auto; grid-template-rows: 1fr; gap: 10px; padding-bottom: 0; }
    #header .levarno-site-header--product #logo { display: none; }
    #header .levarno-site-header--product .levarno-header-menu { grid-column: 1; grid-row: 1; }
    #header .levarno-site-header--product .levarno-product-header-back { display: flex; align-items: center; justify-content: center; width: 40px; height: 44px; border-radius: 9px; color: #171717; }
    #header .levarno-site-header--product .levarno-product-header-back:hover { background: #f3f1ed; }
    #header .levarno-site-header--product .levarno-product-header-back svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    #header .levarno-site-header--product .levarno-header-search { grid-column: 2; grid-row: 1; min-width: 0; }
    #header .levarno-site-header--product .levarno-header-search .searchform,
    #header .levarno-site-header--product .levarno-header-search .searchform > .flex-row,
    #header .levarno-site-header--product .levarno-header-search .searchform .flex-grow { min-width: 0; }
    #header .levarno-site-header--product .levarno-header-search .searchform > .flex-row { border-color: #dedbd5; border-radius: 8px; background: #f7f6f3; }
    #header .levarno-site-header--product .levarno-header-search input.search-field,
    #header .levarno-site-header--product .levarno-header-search .ux-search-submit { height: 44px; }
    #header .levarno-site-header--product .levarno-header-search input.search-field { padding-right: 10px; font-size: 13px; }
    #header .levarno-site-header--product .levarno-header-search .ux-search-submit { width: 40px; }
    #header .levarno-site-header--product .levarno-header-search .ux-search-submit i { font-size: 18px; }
    #header .levarno-site-header--product .levarno-header-actions { grid-column: 3; grid-row: 1; gap: 2px; }
    #header .levarno-site-header--product .levarno-header-action,
    #header .levarno-site-header--product .header-cart-link { width: 40px; min-height: 44px; border-radius: 9px; }
}

@media (max-width: 389px) {
    #header .levarno-site-header--product .levarno-header-container { width: calc(100% - 20px); }
    #header .levarno-site-header--product .header-inner,
    #header .stuck .levarno-site-header--product .header-inner { grid-template-columns: 36px minmax(0, 1fr) auto; gap: 5px; }
    #header .levarno-site-header--product .levarno-product-header-back,
    #header .levarno-site-header--product .levarno-header-action,
    #header .levarno-site-header--product .header-cart-link { width: 36px; }
    #header .levarno-site-header--product .levarno-header-actions { gap: 0; }
    #header .levarno-site-header--product .levarno-header-search input.search-field { padding-right: 7px; font-size: 12px; }
    #header .levarno-site-header--product .levarno-header-search .ux-search-submit { width: 34px; }
}

/* Flatsome's generic .row is flex-based; the product hero has its own
   three-column desktop layout and must not collapse the summary below the
   gallery. */
@media (min-width: 850px) {
    #main .levarno-product-hero {
        display: grid !important;
        grid-template-columns: minmax(0, 410px) minmax(0, 1fr) minmax(220px, 270px) !important;
        column-gap: 25px;
        align-items: start;
    }

    #main .levarno-product-hero > .levarno-product-gallery-column,
    #main .levarno-product-hero > .levarno-product-info-column,
    #main .levarno-product-hero > .levarno-product-campaigns-column {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        float: none !important;
    }

    #main .levarno-product-hero > .levarno-product-gallery-column {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    #main .levarno-product-hero > .levarno-product-info-column {
        grid-column: 2;
        grid-row: 1;
    }

    #main .levarno-product-hero > .levarno-product-campaigns-column {
        grid-column: 3;
        grid-row: 1;
    }
}

@media (min-width: 1200px) {
    #main .levarno-product-hero {
        grid-template-columns: minmax(0, 489px) minmax(0, 1fr) minmax(250px, 270px) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    #header .levarno-header-search .searchform > .flex-row { transition: none; }
}
