/*
Theme Name: VIVERE
Theme URI: https://vivere.ge/
Description: VIVERE — vivere.ge-ის custom classic theme (ავეჯის კატალოგი). ანაცვლებს Hello Elementor + Elementor Pro + Woodmart სტეკს. მუშაობს vivere-core plugin-თან წყვილში (CPT/ACF/WooCommerce modules + cart HUB). Header და footer ჩაშენებულია თემაში (header.php/footer.php markup + .vh-*/.vf2 CSS style.css-ში); data layer + AJAX → vivere-core/inc.
Author: VIVERE
Version: 0.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vivere
*/

/* ════════════════════════════════════════════════════════════════
   VIVERE theme — base layer + ported footer + header.
   ზედა ნაწილი შეგნებულად მცირეა: gentle reset + brand tokens + base
   typography. Header-ის (.vh-*, mega-menu v4.0.2-დან, Phase 3.4b) და footer-ის
   (.vf2, snippet #10-დან, Phase 3.4a) scoped CSS უკვე აქ ცხოვრობს — იხ. ფაილის
   ბოლო. woo სექციები ჯერ კიდევ საკუთარ inline scoped CSS-ს ატარებენ (transition).
   @font-face + critical preload ახლა inc/fonts.php-ში (Phase 4, theme-hosted,
   file_exists-gated, Jost CDN retired); აქ მხოლოდ font-stack tokens (:root).
   ⚠ აგრესიული global reset არ გვინდა — transition-ში Elementor content
   თანაარსებობს და არ უნდა გავტეხოთ.
════════════════════════════════════════════════════════════════ */

:root {
    /* Brand palette (იგივე ტონები რასაც header/footer/cart იყენებენ) */
    --vivere-bg:      #002E2A;  /* deep green background */
    --vivere-verde:   #56663e;  /* olive accent */
    --vivere-accent:  #DEB995;  /* sand/gold accent */
    --vivere-dark:    #111010;
    --vivere-ink:     #1a1a1a;  /* body text */
    --vivere-muted:   #6b6b6b;

    /* Font stacks (consumer side). @font-face → inc/fonts.php (Phase 4): Google
       Sans = user-supplied WOFF2, BPG Nino = bundled. სანამ Google Sans WOFF2
       ჩაიდება, body system-ui fallback-ზე რჩება (file_exists-gated → no 404). */
    --vivere-font-sans:    'Google Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --vivere-font-display: 'BPG Nino Mtavruli', 'Google Sans', system-ui, sans-serif;

    --vivere-ease: cubic-bezier(.16, 1, .3, 1);
    --vivere-maxw: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    font-family: var(--vivere-font-sans);
    color: var(--vivere-ink);
    background: #fff;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img, svg, video { max-width: 100%; height: auto; }
img { display: block; }

a { color: inherit; text-decoration: none; }

h1, h2, h3, h4, h5, h6 { font-family: var(--vivere-font-display); font-weight: 400; line-height: 1.2; }

/* Theme shell wrappers (header.php / footer.php / index.php) */
.site-main { display: block; min-height: 40vh; }

.vivere-container {
    width: 100%;
    max-width: var(--vivere-maxw);
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 40px);
}

/* Minimal fallback header — მხოლოდ მაშინ თუ mega-menu plugin გათიშულია */
.vivere-fallback-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px clamp(16px, 4vw, 40px);
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}
.vivere-fallback-logo { font-family: var(--vivere-font-display); font-size: 20px; letter-spacing: .04em; }
.vivere-fallback-nav ul { display: flex; gap: 20px; list-style: none; margin: 0; padding: 0; }

/* Accessibility — skip link / screen-reader text (html5 + WP standard) */
.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}

/* @font-face — გადავიდა inc/fonts.php-ში (Phase 4): theme-hosted (assets/fonts/),
   file_exists-gated, + critical preload. BPG Nino bundled .woff; Google Sans
   WOFF2 user-supplied. font stacks → :root --vivere-font-* (ზევით). */

/* ════════════════════════════════════════════════════════════════
   Footer (.vf2) — snippet #10-დან გადმოტანილი scoped CSS (Phase 3.4a).
   markup → footer.php; newsletter AJAX → vivere-core/inc/newsletter.php.
   verbatim, გამოკლებული: dead Elementor :has() cancel block + dead .otf src.
   ⚠ .vf2 თავის ლოკალურ --bg/--verde/--accent ცვლადებს იყენებს (faithful
   port); brand-token-თან ჰარმონიზაცია → Phase 6 consolidation.
════════════════════════════════════════════════════════════════ */
.vf2{
    --bg:#002E2A;--verde:#56663e;--accent:#DEB995;
    --gs:'Google Sans',sans-serif;--ft:'BPG Nino Mtavruli','Google Sans',sans-serif;
    --ease:cubic-bezier(.16,1,.3,1);
    background:var(--bg);
    font-family:var(--gs);
    width:100%;display:block;
    position:relative;overflow:hidden;
    margin-top:0 !important;
    padding-top:0 !important;
}
.vf2 *,.vf2 *::before,.vf2 *::after{box-sizing:border-box;margin:0;padding:0;}
.vf2 a{text-decoration:none;color:inherit;}

.vf2 a,.vf2 a:link,.vf2 a:visited,.vf2 a:hover,.vf2 a:focus,.vf2 a:active{text-decoration:none !important;}
.vf2 button,.vf2 button:link,.vf2 button:visited,.vf2 button:hover,.vf2 button:focus,.vf2 button:active{outline:none !important;box-shadow:none !important;-webkit-tap-highlight-color:transparent !important;}
.vf2 *:focus{outline:none !important;box-shadow:none !important;}

.vf2-nl-btn,.vf2-nl-btn:link,.vf2-nl-btn:visited{color:var(--accent) !important;background:transparent !important;border:none !important;}
.vf2-nl-btn:hover,.vf2-nl-btn:focus,.vf2-nl-btn:active{color:#fff !important;background:transparent !important;border:none !important;outline:none !important;box-shadow:none !important;}
.vf2-col-link,.vf2-col-link:link,.vf2-col-link:visited{color:rgba(255,255,255,.8) !important;}
.vf2-col-link:hover,.vf2-col-link:focus,.vf2-col-link:active{color:#DEB995 !important;}
.vf2-col-head{color:#DEB995 !important;}
.vf2-tagline{color:rgba(255,255,255,.55) !important;}
.vf2-social a,.vf2-social a:link,.vf2-social a:visited{color:rgba(255,255,255,.75) !important;}
.vf2-social a:hover,.vf2-social a:focus,.vf2-social a:active{color:#DEB995 !important;}
.vf2-copy{color:rgba(255,255,255,.3) !important;}
.vf2-legal a,.vf2-legal a:link,.vf2-legal a:visited{color:rgba(255,255,255,.3) !important;}
.vf2-legal a:hover,.vf2-legal a:focus{color:#DEB995 !important;}
.vf2-nl-title{color:#fff !important;}
.vf2-nl-input{color:#fff !important;}
.vf2-faq-card,.vf2-faq-card:link,.vf2-faq-card:visited{color:rgba(255,255,255,.65) !important;}
.vf2-faq-card:hover,.vf2-faq-card:focus,.vf2-faq-card:active{color:#DEB995 !important;}

.vf2-accent{height:2px;background:linear-gradient(to right,transparent,var(--verde) 30%,var(--accent) 60%,transparent);width:100%;}
.vf2-nl{padding:56px 72px;display:flex;align-items:center;justify-content:space-between;gap:40px;border-bottom:1px solid rgba(255,255,255,.07);}
.vf2-nl-left{display:flex;flex-direction:column;gap:8px;flex-shrink:0;}
.vf2-nl-tag{font-size:9px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--verde);display:flex;align-items:center;gap:10px;}
.vf2-nl-tag::before{content:'';width:20px;height:1px;background:var(--verde);}
.vf2-nl-title{font-family:var(--ft);font-size:clamp(20px,2.5vw,28px);font-weight:400;color:#fff;letter-spacing:.01em;line-height:1.1;}
.vf2-nl-form{display:flex;flex:0 0 480px;max-width:100%;border-bottom:1px solid rgba(255,255,255,.25);position:relative;}
.vf2-nl-form::after{content:'';position:absolute;bottom:-1px;left:0;width:0%;height:1px;background:var(--accent);transition:width .6s var(--ease);}
.vf2-nl-form:focus-within::after{width:100%;}
.vf2-nl-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--gs);font-size:13px;color:#fff;padding:14px 0;letter-spacing:.04em;}
.vf2-nl-input::placeholder{color:rgba(255,255,255,.25);}
.vf2-nl-btn{background:transparent !important;border:none !important;cursor:pointer;padding:14px 0 14px 24px;font-family:var(--gs) !important;font-size:8.5px !important;font-weight:500 !important;letter-spacing:.22em;text-transform:uppercase;color:var(--accent) !important;transition:color .2s;white-space:nowrap;display:flex;align-items:center;gap:8px;outline:none !important;box-shadow:none !important;-webkit-tap-highlight-color:transparent !important;}
.vf2-nl-btn:hover,.vf2-nl-btn:focus,.vf2-nl-btn:active{color:#fff !important;background:transparent !important;border:none !important;outline:none !important;box-shadow:none !important;}
.vf2-nl-btn svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .25s var(--ease);}
.vf2-nl-btn:hover svg{transform:translateX(4px);}
.vf2-main{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:0;border-bottom:1px solid rgba(255,255,255,.07);}
.vf2-col{padding:52px 40px 56px;border-right:1px solid rgba(255,255,255,.07);}
.vf2-col:first-child{padding-left:72px;}
.vf2-col:last-child{border-right:none;padding-right:72px;}
.vf2-logo{display:block;margin-bottom:20px;}
.vf2-logo img{height:22px;width:auto;display:block;opacity:.85;transition:opacity .2s;}
.vf2-logo:hover img{opacity:.55;}
.vf2-tagline{font-size:12px;color:rgba(222,185,149,.55);line-height:1.85;max-width:220px;margin-bottom:32px;}
.vf2-social{display:flex;flex-direction:column;gap:2px;}
.vf2-social a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);font-size:10px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:rgba(222,185,149,.55);transition:color .2s,border-color .2s,background .2s,padding-left .2s var(--ease);}
.vf2-social a:hover{color:#DEB995;border-color:rgba(222,185,149,.3);padding-left:18px;}
.vf2-social a svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.4;flex-shrink:0;}
.vf2-social-arrow{margin-left:auto;opacity:0;transition:opacity .2s;font-size:10px;}
.vf2-social a:hover .vf2-social-arrow{opacity:1;}
.vf2-col-head{font-family:var(--ft);font-size:8px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);margin-bottom:24px;display:flex;align-items:center;gap:8px;}
.vf2-col-head::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.08);}
.vf2-col-links{display:flex;flex-direction:column;}
.vf2-col-link{display:flex;align-items:center;font-size:13px;color:rgba(255,255,255,.8);padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04);transition:color .15s,padding-left .2s var(--ease);}
.vf2-col-link:last-child{border-bottom:none;}
.vf2-col-link:hover{color:#DEB995;padding-left:8px;}
.vf2-col-link::before{content:'';width:0;height:1px;background:var(--verde);margin-right:0;flex-shrink:0;transition:width .2s var(--ease),margin-right .2s var(--ease);}
.vf2-col-link:hover::before{width:8px;margin-right:6px;}
.vf2-faq-card{display:flex;align-items:center;gap:8px;margin-top:10px;padding:7px 0;background:transparent;border:none;text-decoration:none;transition:color .2s,padding-left .2s var(--ease);color:rgba(222,185,149,.55);font-size:12.5px;}
.vf2-faq-card:hover{color:#DEB995;padding-left:6px;}
.vf2-faq-icon-wrap{width:16px;height:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.vf2-faq-text{flex:1;}
.vf2-faq-label{display:none;}
.vf2-faq-desc{font-size:12.5px;color:inherit;}
.vf2-faq-arr{width:10px;height:10px;stroke:rgba(222,185,149,.4);flex-shrink:0;transition:stroke .2s,transform .2s;}
.vf2-faq-card:hover .vf2-faq-arr{stroke:#DEB995;transform:translateX(3px);}
.vf2-faq-card::before{display:none !important;}
.vf2-bottom{padding:20px 72px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.vf2-copy{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(222,185,149,.35);}
.vf2-copy strong{color:#DEB995;font-weight:400;}
.vf2-legal{display:flex;gap:20px;}
.vf2-legal a{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(222,185,149,.35);transition:color .2s;}
.vf2-legal a:hover{color:#DEB995;}
.vf2-float{position:fixed;right:24px;bottom:32px;z-index:9999;display:flex;flex-direction:column;align-items:center;gap:8px;}
.vf2-float-items{display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s var(--ease),transform .35s var(--ease),visibility .35s;pointer-events:none;}
.vf2-float.open .vf2-float-items{opacity:1;visibility:visible;transform:translateY(0);pointer-events:all;}
.vf2-float-icon,.vf2-float-icon:link,.vf2-float-icon:visited{width:44px;height:44px;background:#56663e !important;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:background .2s,transform .2s;text-decoration:none !important;outline:none !important;color:inherit !important;}
.vf2-float-icon:hover,.vf2-float-icon:focus,.vf2-float-icon:active{background:#3e4d2c !important;transform:scale(1.06);color:inherit !important;text-decoration:none !important;outline:none !important;box-shadow:none !important;}
.vf2-float-icon img{width:18px;height:18px;object-fit:contain;display:block;filter:brightness(0) invert(1);}
.vf2-float-icon svg{width:18px;height:18px;display:block;fill:#fff;}
.vf2-float-items .vf2-float-icon:nth-child(2) svg{width:15px;height:15px;}/* WhatsApp-ის ლოგო მთელ viewBox-ს ავსებს → ოპტიკურად ერთ ზომაში ჩასვა */
.vf2-float-toggle,.vf2-float-toggle:link,.vf2-float-toggle:visited,.vf2-float-toggle:hover,.vf2-float-toggle:focus,.vf2-float-toggle:active{width:52px;height:52px;background:#56663e !important;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none !important;outline:none !important;box-shadow:0 6px 24px rgba(86,102,62,.45) !important;transition:background .25s,transform .25s,box-shadow .25s;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent !important;color:inherit !important;text-decoration:none !important;}
.vf2-float-toggle:hover{background:#3e4d2c !important;box-shadow:0 8px 28px rgba(86,102,62,.55) !important;}
.vf2-float-toggle svg{width:20px;height:20px;fill:none;stroke:#fff !important;stroke-width:1.6;position:absolute;transition:opacity .25s,transform .3s var(--ease);}
.vf2-float-toggle .ico-phone{opacity:1;transform:scale(1);}
.vf2-float-toggle .ico-close{opacity:0;transform:scale(.6) rotate(-45deg);}
.vf2-float.open .vf2-float-toggle,.vf2-float.open .vf2-float-toggle:hover,.vf2-float.open .vf2-float-toggle:focus{background:#111010 !important;box-shadow:0 6px 24px rgba(0,0,0,.35) !important;}
.vf2-float.open .vf2-float-toggle .ico-phone{opacity:0;transform:scale(.6) rotate(45deg);}
.vf2-float.open .vf2-float-toggle .ico-close{opacity:1;transform:scale(1) rotate(0deg);}
@media(max-width:480px){.vf2-float{right:16px;bottom:24px;}}
@media(max-width:960px){
    .vf2-nl{padding:40px 24px;flex-direction:column;align-items:flex-start;gap:24px;}
    .vf2-nl-form{flex:none;width:100%;}
    .vf2-main{grid-template-columns:1fr 1fr;}
    .vf2-col{padding:40px 20px;}
    .vf2-col:first-child{grid-column:1/-1;padding-left:24px;padding-right:24px;}
    .vf2-col:last-child{padding-right:24px;border-right:none;}
    .vf2-bottom{padding:20px 24px;flex-direction:column;align-items:flex-start;gap:12px;}
}
@media(max-width:480px){
    .vf2-main{grid-template-columns:1fr;}
    .vf2-col{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);}
    .vf2-col:last-child{border-bottom:none;}
}

/* Global thin scrollbar (brand) — #10-დან */
:root{scrollbar-width:thin;scrollbar-color:#002E2A transparent;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:#002E2A;border-radius:2px;}
::-webkit-scrollbar-thumb:hover{background:#001f1c;}

/* ════════════════════════════════════════════════════════════════
   Header (.vh-*) — mega-menu v4.0.2-დან გადმოტანილი scoped CSS (Phase 3.4b).
   markup → header.php; helpers + contact AJAX → vivere-core/inc/header.php.
   verbatim, გამოკლებული: დუბლირებული @font-face (ახლა inc/fonts.php — Phase 4).
   ერთადერთი content ცვლილება: cart mask URL → root-relative (იყო vivere.ge absolute).
   ⚠ frozen cart contract: .vh-nicon .vc-count{...} verbatim — cart HUB badge,
   არ გადაარქვა სანამ cart consumers არ migrate-დება. :root vars global-ია (popup
   overlay .vh-nav-ის გარეთაა); footer .vf2 თავის ლოკალურ vars-ს იყენებს → bleed არ ხდება.
════════════════════════════════════════════════════════════════ */
/* CSS vars at :root so popup overlay (outside .vh-nav) can inherit them */
:root{--verde:#56663e;--accent:#DEB995;--dark:#111010;--mid:#888;--border:#e8e4dc;--surface:#f5f4f1;--gs:'Google Sans',sans-serif;--ease:cubic-bezier(.16,1,.3,1);--nav-h:64px;}
.vh-nav{--verde:#56663e;--accent:#DEB995;--dark:#111010;--mid:#888;--border:#e8e4dc;--surface:#f5f4f1;--gs:'Google Sans',sans-serif;--ease:cubic-bezier(.16,1,.3,1);--nav-h:64px;}
.vh-nav,.vh-nav *,.vh-nav *::before,.vh-nav *::after{box-sizing:border-box;margin:0;padding:0;}
.vh-nav a{text-decoration:none;color:inherit;}
.vh-nav img{display:block;}

/* ── Bar base ── */
.vh-bar{position:fixed;top:0;left:0;right:0;z-index:600;display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:var(--nav-h);padding:0 48px;font-family:var(--gs);transition:background .85s cubic-bezier(.22,1,.36,1),border-color .85s cubic-bezier(.22,1,.36,1),box-shadow .85s cubic-bezier(.22,1,.36,1);}

/* ── TRANSPARENT mode ── */
.vh-bar.is-transparent{background:rgba(255,255,255,.12);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid rgba(255,255,255,.15);}
.vh-bar.is-transparent::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(0,0,0,.26) 0%,rgba(0,0,0,.08) 70%,transparent 100%);transition:opacity .85s cubic-bezier(.22,1,.36,1);pointer-events:none;}
/* On light pages (non-hero), transparent header shows dark text from the start */
.vh-bar.is-transparent.page-light .vh-nl{color:var(--dark) !important;}
.vh-bar.is-transparent.page-light .vh-nl::after{background:var(--verde) !important;}
.vh-bar.is-transparent.page-light .vh-contact{color:var(--dark) !important;}
.vh-bar.is-transparent.page-light .vh-nicon{color:var(--dark) !important;}
.vh-bar.is-transparent.page-light .vh-nicon:hover{background:var(--surface) !important;}
.vh-bar.is-transparent.page-light .vh-hamburger span{background:var(--dark) !important;}
.vh-bar.is-transparent.page-light .vh-lang-btn{color:var(--dark) !important;}
.vh-bar.is-transparent.page-light::before{opacity:0;}
/* transparent + page-light = effectively a solid header, so body needs top padding too */
body.vh-has-page-light-header{padding-top:var(--nav-h,64px) !important;}

/* text — transparent */
.vh-bar.is-transparent .vh-nl{color:#fff;}
.vh-bar.is-transparent .vh-nl::after{background:rgba(255,255,255,.7);}
.vh-bar.is-transparent .vh-contact{color:#fff !important;}
.vh-bar.is-transparent .vh-nicon{color:#fff !important;}
.vh-bar.is-transparent .vh-nicon:hover{background:rgba(255,255,255,.14);}
.vh-bar.is-transparent .vh-hamburger span{background:#fff;}
.vh-bar.is-transparent .vh-lang-btn{color:#fff;}
/* scroll → white */
.vh-bar.is-transparent.scrolled{background:rgba(255,255,255,.98);border-bottom-color:rgba(232,228,220,.3);box-shadow:0 2px 32px rgba(0,0,0,.06);}
.vh-bar.is-transparent.scrolled::before{opacity:0;}
.vh-bar.is-transparent.scrolled .vh-nl{color:var(--dark);}
.vh-bar.is-transparent.scrolled .vh-nl::after{background:var(--verde);}
.vh-bar.is-transparent.scrolled .vh-contact{color:var(--dark) !important;}
.vh-bar.is-transparent.scrolled .vh-nicon{color:var(--dark) !important;}
.vh-bar.is-transparent.scrolled .vh-nicon:hover{background:var(--surface);}
.vh-bar.is-transparent.scrolled .vh-hamburger span{background:var(--dark);}
.vh-bar.is-transparent.scrolled .vh-lang-btn{color:var(--dark);}
/* mega open → white (same as scrolled) */
.vh-bar.is-transparent.mega-open{background:rgba(255,255,255,.98);border-bottom-color:rgba(232,228,220,.3);box-shadow:0 2px 32px rgba(0,0,0,.06);}
.vh-bar.is-transparent.mega-open::before{opacity:0;}
.vh-bar.is-transparent.mega-open .vh-nl{color:var(--dark);}
.vh-bar.is-transparent.mega-open .vh-nl::after{background:var(--verde);}
.vh-bar.is-transparent.mega-open .vh-contact{color:var(--dark) !important;}
.vh-bar.is-transparent.mega-open .vh-nicon{color:var(--dark) !important;}
.vh-bar.is-transparent.mega-open .vh-nicon:hover{background:var(--surface);}
.vh-bar.is-transparent.mega-open .vh-hamburger span{background:var(--dark);}
.vh-bar.is-transparent.mega-open .vh-lang-btn{color:var(--dark);}

/* ── LIGHT mode — always white, always dark text ── */
.vh-bar.is-light{background:#fff;border-bottom:1px solid rgba(232,228,220,.3);box-shadow:0 1px 12px rgba(0,0,0,.06);}
.vh-bar.is-light .vh-nl{color:var(--dark);}
.vh-bar.is-light .vh-nl::after{background:var(--verde);}
.vh-bar.is-light .vh-contact{color:var(--dark) !important;}
.vh-bar.is-light .vh-nicon{color:var(--dark) !important;}
.vh-bar.is-light .vh-nicon:hover{background:var(--surface);}
.vh-bar.is-light .vh-hamburger span{background:var(--dark);}
.vh-bar.is-light .vh-lang-btn{color:var(--dark);}
.vh-bar.is-light.mega-open{box-shadow:0 2px 32px rgba(0,0,0,.08);}

/* light mode → body gets padding so content doesn't go under header */
body.vh-has-light-header{padding-top:var(--nav-h) !important;}
/* Elementor sometimes resets padding — force it */
body.vh-has-light-header > .elementor-section:first-child,
body.vh-has-light-header > .e-con:first-child,
body.vh-has-light-header > main:first-child,
body.vh-has-light-header > div:first-child{margin-top:0 !important;}

/* ── Logo swap ── */
.vh-logo{position:relative;display:inline-flex;align-items:center;transition:opacity .2s;}
.vh-logo:hover{opacity:.8;}
/* Logo wrap — grid stacking, each logo locked to its own height */
.vh-logo-wrap{
    display:inline-grid;
    align-items:center;
    justify-items:start;
    height:22px;
    max-width:140px;
    overflow:hidden;
}
.vh-logo-light{
    opacity:1;
    display:block;
    height:22px !important;
    max-height:22px !important;
    max-width:140px !important;
    width:auto !important;
    object-fit:contain;
    object-position:left center;
    grid-area:1/1;
    transition:opacity .75s cubic-bezier(.22,1,.36,1);
    backface-visibility:hidden;
}
.vh-logo-dark{
    opacity:0;
    pointer-events:none;
    display:block;
    height:17px !important;
    max-height:17px !important;
    max-width:140px !important;
    width:auto !important;
    object-fit:contain;
    object-position:left center;
    grid-area:1/1;
    transition:opacity .75s cubic-bezier(.22,1,.36,1);
    backface-visibility:hidden;
}
.vh-bar.is-transparent.scrolled .vh-logo-light,
.vh-bar.is-transparent.mega-open .vh-logo-light,
.vh-bar.is-transparent.page-light .vh-logo-light,
.vh-bar.is-light .vh-logo-light{opacity:0;}
.vh-bar.is-transparent.scrolled .vh-logo-dark,
.vh-bar.is-transparent.mega-open .vh-logo-dark,
.vh-bar.is-transparent.page-light .vh-logo-dark,
.vh-bar.is-light .vh-logo-dark{opacity:1;}

/* ── Layout ── */
.vh-left{display:flex;align-items:center;}
.vh-center{display:flex;justify-content:center;}
.vh-right{display:flex;align-items:center;justify-content:flex-end;gap:4px;}
.vh-nl{font-size:11.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;padding:0 14px;height:var(--nav-h);display:flex;align-items:center;position:relative;cursor:pointer;white-space:nowrap;transition:opacity .2s;}
.vh-nl::after{content:'';position:absolute;bottom:0;left:14px;right:14px;height:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.vh-nl:hover{opacity:.75;}
.vh-nl:hover::after,.vh-ni:hover .vh-nl::after,.vh-ni.mega-active .vh-nl::after{transform:scaleX(1);}
.vh-contact{font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:0 18px;height:34px;display:flex;align-items:center;white-space:nowrap;transition:opacity .2s;border:none;background:none;cursor:pointer;}
.vh-contact:hover{opacity:.7;}
.vh-nicon{position:relative;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:3px;background:none;border:none;transition:background .2s,color .2s;color:inherit;text-decoration:none;padding:0;}
.vh-nicon svg{width:17px;height:17px;fill:none;stroke-width:1.3;pointer-events:none;}
/* Cart icon — inline SVG data-URI via CSS mask-image so background-color (currentColor) drives the icon color, matching all existing transparent/light/scrolled states. Self-contained (no uploads dependency): the former PNG /wp-content/uploads/2026/06/noun-cart-5079161-1.png 404'd → icon vanished (most visible on mobile, where only 3 header items show). White-stroked shape works under both alpha & luminance mask-modes. */
.vh-cart-icon{
    display:inline-block;width:20px;height:20px;pointer-events:none;
    background-color:currentColor;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='9'%20cy='21'%20r='1'/%3E%3Ccircle%20cx='20'%20cy='21'%20r='1'/%3E%3Cpath%20d='M1%201h4l2.68%2013.39a2%202%200%200%200%202%201.61h9.72a2%202%200%200%200%202-1.61L23%206H6'/%3E%3C/svg%3E");
            mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='9'%20cy='21'%20r='1'/%3E%3Ccircle%20cx='20'%20cy='21'%20r='1'/%3E%3Cpath%20d='M1%201h4l2.68%2013.39a2%202%200%200%200%202%201.61h9.72a2%202%200%200%200%202-1.61L23%206H6'/%3E%3C/svg%3E");
    -webkit-mask-size:contain;       mask-size:contain;
    -webkit-mask-repeat:no-repeat;   mask-repeat:no-repeat;
    -webkit-mask-position:center;    mask-position:center;
    transition:background-color .2s;
}
/* Cart count badge — uses .vc-count from vivere-cart.php; here just position inside .vh-nicon */
.vh-nicon .vc-count{top:4px !important;right:4px !important;}
/* Language */
.vh-lang{position:relative;}
.vh-lang-btn{height:34px;padding:0 12px;border:none;background:transparent;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:5px;font-family:var(--gs);transition:color .2s;}
.vh-lang-btn svg{width:9px;height:9px;stroke:currentColor;fill:none;stroke-width:2;transition:transform .25s;}
.vh-lang.open .vh-lang-btn svg{transform:rotate(180deg);}
.vh-lang-drop{position:absolute;top:calc(100%+8px);right:0;min-width:88px;background:#fff;border-top:2px solid var(--verde);box-shadow:0 12px 32px rgba(0,0,0,.1);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .22s,transform .22s,visibility .22s;z-index:900;}
.vh-lang.open .vh-lang-drop{opacity:1;visibility:visible;transform:translateY(0);}
.vh-lang-item{display:block;padding:10px 16px;font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#555;border-bottom:1px solid #f5f2ec;transition:color .15s,background .15s;}
.vh-lang-item:last-child{border-bottom:none;}
.vh-lang-item:hover,.vh-lang-item.active{color:var(--verde);background:#f9f8f5;}
.vh-lang-item.active{font-weight:500;}
/* Mega */
.vh-mega-wrap{
    position:fixed;top:var(--nav-h);left:0;right:0;z-index:590;
    /* Glassmorphism + heavy mirror blur */
    background:rgba(255,255,255,.55);
    backdrop-filter:blur(72px) saturate(220%) brightness(1.06);
    -webkit-backdrop-filter:blur(72px) saturate(220%) brightness(1.06);
    box-shadow:0 32px 80px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.5);
    border-top:1px solid rgba(255,255,255,.2);
    opacity:0;visibility:hidden;
    transform:translateY(-16px) scaleY(0.97);
    transform-origin:top center;
    /* Slower, smoother */
    transition:
        opacity .55s cubic-bezier(.22,1,.36,1),
        transform .55s cubic-bezier(.22,1,.36,1),
        visibility .55s;
    pointer-events:none;
}
.vh-mega-wrap.open{
    opacity:1;visibility:visible;
    transform:translateY(0) scaleY(1);
    pointer-events:all;
}
.vh-mega-inner{display:grid;grid-template-columns:55fr 45fr;max-width:1440px;margin:0 auto;min-height:360px;overflow:visible;}
.vh-mega-left{display:grid;grid-template-columns:1fr 1fr 1fr;border-right:1px solid rgba(232,228,220,.18);padding:40px 0;overflow:visible;}
.vh-mega-col{padding:0 32px;border-right:1px solid rgba(232,228,220,.18);overflow:visible;position:relative;}
.vh-mega-col:last-child{border-right:none;}
.vh-mega-cat-link{display:block;font-size:15px;font-weight:400;font-family:'BPG Nino Mtavruli','Google Sans',sans-serif;color:var(--dark);margin-bottom:10px;transition:color .2s;text-align:left;}
.vh-mega-cat-link:hover{color:var(--verde);}
.vh-mega-sub-list{margin-bottom:20px;overflow:visible;}

/* Sub-item wrapper — contains link + flyout */
.vh-mega-sub-wrap{position:relative;}
.vh-mega-sub-item{
    display:flex;align-items:center;justify-content:flex-start;
    font-size:12px;color:#555;
    padding:7px 0;border-bottom:1px solid rgba(232,228,220,.2);
    transition:color .18s,padding-left .22s var(--ease);
    cursor:pointer;
    text-align:left;
}
.vh-mega-sub-item::before{
    content:'';display:inline-block;
    width:0;height:1px;background:var(--verde);margin-right:0;
    transition:width .2s var(--ease),margin-right .2s var(--ease);flex-shrink:0;
}
.vh-mega-sub-item:hover{color:var(--verde);padding-left:4px;}
.vh-mega-sub-item:hover::before{width:8px;margin-right:6px;}
/* arrow indicator if has children */
.vh-mega-sub-item .vh-sub-arrow{
    font-size:9px;color:#bbb;flex-shrink:0;
    transition:color .15s,transform .2s;
    margin-left:auto;padding-left:6px;
}
.vh-mega-sub-wrap:hover .vh-sub-arrow{color:var(--verde);transform:rotate(90deg);}
/* Flyout — child items */
/* flyout — ჩამოიშლება ქვემოთ, ზუსტად item-ის ქვეშ */
.vh-mega-sub-flyout{
    display:grid;
    grid-template-rows:0fr;
    overflow:hidden;
    transition:grid-template-rows .28s cubic-bezier(.16,1,.3,1);
}
.vh-mega-sub-flyout-inner{
    overflow:hidden;
}
.vh-mega-sub-wrap:hover .vh-mega-sub-flyout{
    grid-template-rows:1fr;
}
.vh-mega-sub-flyout a{
    display:block;font-size:11px;color:#777;
    padding:5px 0 5px 16px;
    border-bottom:1px solid rgba(232,228,220,.15);
    transition:color .15s,padding-left .18s;
    text-decoration:none !important;
}
.vh-mega-sub-flyout a:last-child{border-bottom:none;}
.vh-mega-sub-flyout a:hover{color:var(--verde);padding-left:20px;}
/* "ყველა კატეგორია" button */
.vh-mega-all-btn{
    display:inline-flex;align-items:center;gap:6px;
    margin-top:16px;
    border:none;background:none;padding:0;
    font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
    color:var(--mid);
    cursor:pointer;
    transition:color .2s;
    text-decoration:none !important;
}
.vh-mega-all-btn:hover{color:var(--verde) !important;}
.vh-mega-all-btn span{position:relative;}
.vh-mega-col-footer{padding-top:4px;}

.vh-mega-right{padding:20px;}
.vh-mega-photos{display:grid;grid-template-columns:1fr;gap:0;height:100%;}
.vh-mega-photo{position:relative;overflow:hidden;background:var(--surface);cursor:pointer;min-height:100px;height:100%;}
.vh-mega-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);display:block;}
.vh-mega-photo:hover img{transform:scale(1.06);}
/* Hamburger */
.vh-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;}
.vh-hamburger span{display:block;width:22px;height:1.5px;transition:all .3s var(--ease);}
.vh-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.vh-hamburger.open span:nth-child(2){opacity:0;}
.vh-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
/* Mobile */
.vh-mobile{display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:#fff;z-index:580;overflow-y:auto;padding:24px 20px 48px;flex-direction:column;transform:translateY(-8px);opacity:0;transition:transform .35s var(--ease),opacity .35s;pointer-events:none;}
.vh-mobile.open{transform:translateY(0);opacity:1;pointer-events:all;}
.vh-mm-cat{border-bottom:1px solid var(--border);}
.vh-mm-btn{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-family:var(--gs);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--dark);}
.vh-mm-btn svg{width:14px;height:14px;stroke:var(--mid);fill:none;stroke-width:1.5;transition:transform .3s var(--ease);}
.vh-mm-cat.open .vh-mm-btn svg{transform:rotate(180deg);}
.vh-mm-items{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease);}
.vh-mm-cat.open .vh-mm-items{grid-template-rows:1fr;}
.vh-mm-inner{overflow:hidden;}
.vh-mm-inner>a{display:block;font-size:13px;color:#666;padding:10px 0 10px 14px;border-bottom:1px solid #f5f2ec;text-decoration:none !important;transition:color .15s;}
.vh-mm-inner>a:hover,.vh-mm-inner>a:focus,.vh-mm-inner>a:active{color:var(--verde) !important;background:none !important;}
.vh-mm-col3-link{display:block;font-size:13px;color:#666;padding:10px 0 10px 14px;border-bottom:1px solid #f5f2ec;text-decoration:none !important;transition:color .15s;}
.vh-mm-col3-link:hover,.vh-mm-col3-link:focus{color:var(--verde) !important;}
/* Sub-group accordion */
.vh-mm-sub-group{border-bottom:1px solid #f5f2ec;}
.vh-mm-sub-btn{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-family:var(--gs);font-size:13px;font-weight:600;color:var(--dark);text-align:left;}
.vh-mm-sub-btn svg{width:12px;height:12px;stroke:var(--mid);fill:none;stroke-width:2;transition:transform .3s var(--ease);flex-shrink:0;}
.vh-mm-sub-group.open .vh-mm-sub-btn svg{transform:rotate(180deg);}
.vh-mm-sub-items{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease);overflow:hidden;}
.vh-mm-sub-group.open .vh-mm-sub-items{grid-template-rows:1fr;}
.vh-mm-sub-items a{display:block;font-size:12.5px;color:#777;padding:8px 14px 8px 22px;border-bottom:1px solid #f5f2ec;text-decoration:none !important;transition:color .15s;}
.vh-mm-sub-items a:last-child{border-bottom:none;}
.vh-mm-sub-items a:hover,.vh-mm-sub-items a:focus{color:var(--verde) !important;}
.vh-mm-sub-parent{font-weight:500 !important;color:var(--dark) !important;}
/* ── 3-level mobile accordion ── */
.vh-mm-row{display:flex;align-items:center;border-bottom:1px solid var(--border);}
.vh-mm-row-l2{border-bottom:1px solid #f0ede8;background:#fafaf8;}
.vh-mm-row-link{flex:1;font-family:var(--gs);font-size:13px;font-weight:500;color:var(--dark);text-decoration:none !important;padding:14px 0;display:block;transition:color .15s;}
.vh-mm-row-l2 .vh-mm-row-link{font-size:12.5px;font-weight:600;padding:12px 0 12px 12px;}
.vh-mm-row-link:hover,.vh-mm-row-link:focus{color:var(--verde) !important;}
.vh-mm-row-toggle,
.vh-mm-row-toggle:link,.vh-mm-row-toggle:visited,
.vh-mm-row-toggle:hover,.vh-mm-row-toggle:focus,.vh-mm-row-toggle:active{
    background:none !important;border:none !important;cursor:pointer;padding:12px;
    display:flex;align-items:center;justify-content:center;
    outline:none !important;box-shadow:none !important;
    flex-shrink:0;color:inherit !important;
    -webkit-tap-highlight-color:transparent !important;
    text-decoration:none !important;
}
.vh-mm-row-toggle svg{width:13px;height:13px;stroke:var(--mid);fill:none;stroke-width:1.5;transition:transform .3s var(--ease);}
.vh-mm-row-toggle.open svg{transform:rotate(180deg);}
.vh-mob-sub{max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.16,1,.3,1);}
.vh-mob-sub.open{max-height:1200px;}
.vh-mob-l2-group{overflow:hidden;}
.vh-mob-l3-link{display:block;font-size:12px;color:#666;padding:9px 0 9px 24px;border-bottom:1px solid #f5f2ec;text-decoration:none !important;transition:color .15s;}
.vh-mob-l3-link:last-child{border-bottom:none;}
.vh-mob-l3-link:hover,.vh-mob-l3-link:focus{color:var(--verde) !important;}
.vh-mm-contact{display:block;margin-top:24px;padding:14px;background:transparent;color:var(--dark) !important;border:1px solid var(--border);text-align:center;font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-decoration:none !important;transition:color .2s,border-color .2s,background .2s;}
.vh-mm-contact:hover,.vh-mm-contact:focus,.vh-mm-contact:active{color:var(--verde) !important;border-color:var(--verde) !important;background:transparent !important;}
/* Popup */
.vh-popup-overlay{position:fixed;inset:0;z-index:1000;background:rgba(10,10,8,.38);backdrop-filter:blur(24px) saturate(180%) brightness(.92);-webkit-backdrop-filter:blur(24px) saturate(180%) brightness(.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;}
.vh-popup-overlay.open{opacity:1;visibility:visible;}
.vh-popup{background:rgba(255,255,255,.92);backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%);border:1px solid rgba(255,255,255,.6);box-shadow:0 32px 80px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.8);width:100%;max-width:420px;padding:40px 36px 36px;position:relative;margin:16px;transform:translateY(16px);transition:transform .35s var(--ease);}
.vh-popup-overlay.open .vh-popup{transform:translateY(0);}
.vh-popup-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none !important;background:none !important;cursor:pointer;display:flex;align-items:center;justify-content:center;outline:none;padding:0;}
.vh-popup-close:hover,.vh-popup-close:focus,.vh-popup-close:active{border:none !important;background:none !important;outline:none !important;box-shadow:none !important;}
.vh-popup-close-img{width:20px;height:20px;display:block;fill:none;stroke:#111010;stroke-width:1.8;stroke-linecap:round;transition:stroke .2s;}
.vh-popup-close:hover .vh-popup-close-img{stroke:#56663e;}
.vh-popup-title{font-size:9px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--verde);margin-bottom:6px;}
.vh-popup-sub{font-size:22px;font-weight:600;color:var(--dark);margin-bottom:28px;line-height:1.1;}
.vh-popup-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.vh-popup-label{font-size:8.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);}
.vh-popup-input{width:100%;padding:12px 14px;border:1px solid var(--border);font-size:13px;color:var(--dark);outline:none;font-family:var(--gs);transition:border-color .2s;background:#fff;}
.vh-popup-input:focus{border-color:var(--verde);}
.vh-popup-input::placeholder{color:#ccc;}
.vh-popup-btn{display:block !important;width:100%;margin-top:8px;padding:14px;background:transparent;color:var(--dark);border:1px solid var(--dark);cursor:pointer;font-size:9.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;font-family:var(--gs);position:relative;overflow:hidden;outline:none;visibility:visible !important;opacity:1 !important;transition:color .35s var(--ease);}
.vh-popup-btn::before{content:'';position:absolute;inset:0;background:var(--verde);transform:translateX(-101%);transition:transform .4s var(--ease);z-index:0;}
.vh-popup-btn:hover::before{transform:translateX(0);}
.vh-popup-btn:hover{color:#fff !important;border-color:var(--verde) !important;}
.vh-popup-btn span{position:relative;z-index:1;}
.vh-popup-success{text-align:center;padding:32px 0 24px;display:none !important;}
.vh-popup-success.show{display:flex !important;flex-direction:column !important;align-items:center !important;}
.vh-popup-success-icon{width:52px;height:52px;background:var(--verde);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;flex-shrink:0;}
.vh-popup-success-icon svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:2;}
.vh-popup-success-t{font-family:var(--ft);font-size:20px;font-weight:400;color:var(--dark);margin-bottom:8px;letter-spacing:.01em;}
.vh-popup-success-s{font-size:13px;color:var(--mid);line-height:1.6;}
/* ══════════════════════════════════════
   ELEMENTOR PINK KILL — all pseudo-states
   ══════════════════════════════════════ */
.vh-nav a,.vh-nav a:link,.vh-nav a:visited,.vh-nav a:hover,.vh-nav a:focus,.vh-nav a:active{text-decoration:none !important;outline:none !important;box-shadow:none !important;}
.vh-nav button,.vh-nav button:hover,.vh-nav button:focus,.vh-nav button:active{outline:none !important;box-shadow:none !important;-webkit-tap-highlight-color:transparent !important;}
.vh-nav *:focus{outline:none !important;box-shadow:none !important;}
.vh-nav *:focus-visible{outline:2px solid var(--verde) !important;outline-offset:2px !important;box-shadow:none !important;}
.vh-nav *{-webkit-tap-highlight-color:transparent !important;}
/* Nav links — all states locked */
.vh-nl,.vh-nl:link,.vh-nl:visited,.vh-nl:hover,.vh-nl:focus,.vh-nl:active{background:none !important;box-shadow:none !important;}
/* Contact — all states */
.vh-contact:link,.vh-contact:visited,.vh-contact:hover,.vh-contact:focus,.vh-contact:active{background:none !important;box-shadow:none !important;border:none !important;}
/* Language btn */
.vh-lang-btn,.vh-lang-btn:hover,.vh-lang-btn:focus,.vh-lang-btn:active{background:transparent !important;border:none !important;box-shadow:none !important;}
/* Lang items */
.vh-lang-item,.vh-lang-item:link,.vh-lang-item:visited{color:#555 !important;}
.vh-lang-item:hover,.vh-lang-item:focus,.vh-lang-item.active{color:var(--verde) !important;background:#f9f8f5 !important;}
/* Icon buttons */
.vh-nicon,.vh-nicon:link,.vh-nicon:visited,.vh-nicon:hover,.vh-nicon:focus,.vh-nicon:active{background:none !important;border:none !important;outline:none !important;box-shadow:none !important;color:inherit !important;text-decoration:none !important;}
/* Hamburger */
.vh-hamburger,.vh-hamburger:hover,.vh-hamburger:focus,.vh-hamburger:active{background:none !important;border:none !important;outline:none !important;box-shadow:none !important;}
/* Mobile menu buttons */
.vh-mm-btn,.vh-mm-btn:hover,.vh-mm-btn:focus,.vh-mm-btn:active{color:var(--dark) !important;background:none !important;outline:none !important;box-shadow:none !important;}
.vh-mm-sub-btn,.vh-mm-sub-btn:hover,.vh-mm-sub-btn:focus,.vh-mm-sub-btn:active{color:var(--dark) !important;background:none !important;outline:none !important;box-shadow:none !important;}
/* Popup buttons */
.vh-popup-close,.vh-popup-close:hover,.vh-popup-close:focus,.vh-popup-close:active{outline:none !important;box-shadow:none !important;}
/* Elementor pink kill — all pseudo-states for popup submit button */
.vh-popup-btn,.vh-popup-btn:link,.vh-popup-btn:visited,.vh-popup-btn:focus,.vh-popup-btn:active{display:block !important;width:100% !important;outline:none !important;box-shadow:none !important;text-decoration:none !important;-webkit-tap-highlight-color:transparent !important;visibility:visible !important;opacity:1 !important;background-color:transparent !important;color:var(--dark) !important;border-color:var(--dark) !important;}
/* hover: slide-in green fill via ::before; button bg stays transparent so ::before shows */
.vh-popup-btn:hover{color:#fff !important;border-color:var(--verde) !important;background-color:transparent !important;box-shadow:none !important;outline:none !important;}
.vh-popup-input,.vh-popup-input:hover,.vh-popup-input:focus,.vh-popup-input:active{outline:none !important;box-shadow:none !important;color:var(--dark) !important;background:#fff !important;}
.vh-popup-input:focus{border-color:var(--verde) !important;}
/* Mega links */
.vh-mega-cat-link,.vh-mega-cat-link:link,.vh-mega-cat-link:visited,.vh-mega-cat-link:hover,.vh-mega-cat-link:focus,.vh-mega-cat-link:active{background:none !important;box-shadow:none !important;}
.vh-mega-sub-item,.vh-mega-sub-item:link,.vh-mega-sub-item:visited,.vh-mega-sub-item:hover,.vh-mega-sub-item:focus,.vh-mega-sub-item:active{background:none !important;box-shadow:none !important;}

@media(max-width:960px){
    /* bar: logo left, right side icons */
    .vh-bar{padding:0 20px;grid-template-columns:auto 1fr;}
    .vh-left{display:none;}
    .vh-center{grid-column:1;justify-content:flex-start;}
    .vh-right{grid-column:2;}
    /* hide: contact text, nav links inside right, mega trigger */
    .vh-right .vh-contact{display:none !important;}
    .vh-right .vh-nl{display:none !important;}
    .vh-right #vh-ni-products{display:none !important;}
    /* show: cart icon, lang, hamburger */
    .vh-right .vh-nicon{display:flex !important;}
    .vh-hamburger{display:flex;}
    .vh-mobile{display:flex;}
    .vh-lang{order:1;}
    .vh-nicon{order:2;}
    .vh-hamburger{order:3;}
    .vh-mega-wrap{display:none;}
}

/* ═══════════════════ Header overlay search (vh-search / vhs- / vsr-) ═══════════════════ */
.vhs-trigger{color:inherit;}
.vhs-search-icon,.vhs-bar-icon{
    display:inline-block;width:20px;height:20px;pointer-events:none;background-color:currentColor;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='8'/%3E%3Cpath%20d='m21%2021-4.35-4.35'/%3E%3C/svg%3E");
            mask-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='white'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Ccircle%20cx='11'%20cy='11'%20r='8'/%3E%3Cpath%20d='m21%2021-4.35-4.35'/%3E%3C/svg%3E");
    -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;
}
.vh-search{display:none;}
.vh-search.open{display:block;}
.vhs-bar{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:#fff;display:flex;align-items:center;gap:14px;padding:0 28px;box-shadow:0 1px 0 rgba(0,0,0,.07);z-index:1102;}
.vhs-bar-icon{color:var(--mid);flex-shrink:0;width:18px;height:18px;}
.vhs-input{flex:1;height:100%;border:none;outline:none;background:transparent;font-family:var(--gs);font-size:17px;letter-spacing:.01em;color:var(--dark);min-width:0;-webkit-appearance:none;appearance:none;}
.vhs-input::placeholder{color:var(--mid);}
.vhs-input::-webkit-search-cancel-button,.vhs-input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none;}
.vhs-input,.vhs-input:focus,.vhs-input:focus-visible,.vhs-input:active{outline:0 none !important;box-shadow:none !important;border:none !important;}
.vh-search .vhs-bar,.vh-search .vhs-bar:focus-within{outline:0 none !important;border:none !important;}
.vhs-clear,.vhs-close{background:none;border:none;cursor:pointer;line-height:1;color:var(--mid);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s,background .2s;border-radius:50%;padding:0;}
.vhs-clear{width:26px;height:26px;font-size:13px;}
.vhs-clear:hover{color:var(--dark);}
.vhs-clear[hidden]{display:none;}
.vhs-close{width:40px;height:40px;font-size:17px;margin-left:4px;}
.vhs-close:hover{color:var(--dark);background:var(--surface);}
.vh-search-panel{position:fixed;top:var(--nav-h);left:0;right:0;max-height:calc(100vh - var(--nav-h));overflow-y:auto;background:#fff;border-top:1px solid var(--border);box-shadow:0 24px 48px rgba(0,0,0,.13);z-index:1101;padding:28px;animation:vhsDrop .26s var(--ease);}
@keyframes vhsDrop{from{opacity:0;transform:translateY(-14px);}to{opacity:1;transform:translateY(0);}}
.vhs-section{max-width:1240px;margin:0 auto 24px;}
.vhs-section:last-child{margin-bottom:0;}
.vhs-h{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--mid);margin-bottom:13px;}
.vhs-chips{display:flex;flex-wrap:wrap;gap:8px;}
.vhs-chip{display:inline-block;padding:7px 15px;border:1px solid var(--border);border-radius:999px;background:#fff;font-family:var(--gs);font-size:12px;color:var(--dark);text-decoration:none;cursor:pointer;transition:border-color .2s,color .2s;}
.vhs-chip:hover{border-color:var(--verde);color:var(--verde);}
.vhs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:18px;max-width:1180px;margin:0 auto;}
.vsr-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;}
.vsr-thumb{position:relative;aspect-ratio:1/1;background:var(--surface);overflow:hidden;}
.vsr-thumb img{width:100%;height:100%;object-fit:contain;padding:10px;box-sizing:border-box;display:block;transition:transform .4s var(--ease);}
.vsr-card:hover .vsr-thumb img{transform:scale(1.05);}
.vsr-badge{position:absolute;top:8px;left:8px;background:var(--verde);color:#fff;font-size:8px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;}
.vsr-info{padding:11px 2px 4px;display:flex;flex-direction:column;gap:3px;}
.vsr-brand{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);}
.vsr-name{font-size:13px;color:var(--dark);line-height:1.3;transition:color .2s;}
.vsr-card:hover .vsr-name{color:var(--verde);}
.vsr-price-wrap{display:flex;gap:8px;align-items:baseline;margin-top:3px;}
.vsr-price{font-size:13px;font-weight:600;color:var(--verde);}
.vsr-price.sale{color:#c0392b;}
.vsr-price-old{font-size:11px;color:var(--mid);text-decoration:line-through;}
.vhs-empty{text-align:center;padding:44px 20px;color:var(--mid);font-size:14px;}
.vhs-cats:empty{display:none;}
.vhs-cats-sec:has(.vhs-cats:empty){display:none;}
body.vhs-open{overflow:hidden;}
@media(max-width:960px){
    .vhs-bar{padding:0 16px;gap:10px;}
    .vhs-input{font-size:16px;}
    .vh-search-panel{top:var(--nav-h);bottom:0;height:calc(100vh - var(--nav-h));max-height:none;padding:20px 16px;}
    .vhs-grid{grid-template-columns:repeat(2,1fr);gap:12px;}
}
