/* Zarvna homepage stylesheet — versioned, see git log for history */
  /* ====== ZARVNA WORLD-CLASS HOMEPAGE ====== */
  :root{
    --zv-ink:#171512;
    --zv-cream:#FBF7F1;
    --zv-cream-2:#F3ECE1;
    --zv-gold:#B8892E;
    --zv-gold-light:#D9B26A;
    --zv-wine:#5C1A2B;
    --zv-wine-dark:#3E0F1C;
    --zv-line:rgba(23,21,18,0.10);
    --zv-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --zv-sans: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }
  #masthead, .woostify-header, header.site-header, .site-header, #page > header { display:none !important; }
  body.zarvna-home { background:var(--zv-cream); }
  .zv-wrap{max-width:1240px;margin:0 auto;padding:0 32px;}
  @media (max-width:640px){ .zv-wrap{padding:0 20px;} }
  .zv-root, .zv-root *{ box-sizing:border-box; }
  .zv-root{ font-family:var(--zv-sans); color:var(--zv-ink); background:var(--zv-cream); line-height:1.5; -webkit-font-smoothing:antialiased; }
  .zv-root h1,.zv-root h2,.zv-root h3{ font-family:var(--zv-serif); font-weight:600; letter-spacing:0.2px; margin:0; }
  .zv-root a{ text-decoration:none; color:inherit; }
  .zv-eyebrow{ font-size:12px; letter-spacing:3px; text-transform:uppercase; color:var(--zv-gold); font-weight:600; }

  /* ---- Announcement bar ---- */
  .zv-announce{ background:var(--zv-wine-dark); color:#EFE1C6; text-align:center; font-size:12.5px; letter-spacing:1.2px; padding:9px 12px; text-transform:uppercase; }

  /* ---- Nav ---- */
  .zv-nav{ position:sticky; top:0; z-index:500; background:rgba(251,247,241,0.92); backdrop-filter:saturate(160%) blur(10px); border-bottom:1px solid var(--zv-line); }
  .zv-nav-inner{ display:flex; align-items:center; justify-content:space-between; height:82px; }
  .zv-logo{ font-family:var(--zv-serif); font-size:26px; letter-spacing:3px; font-weight:700; }
  .zv-logo span{ color:var(--zv-gold); }
  .zv-nav-links{ display:flex; gap:38px; font-size:14px; letter-spacing:0.6px; text-transform:uppercase; }
  .zv-nav-links a{ position:relative; padding:6px 0; opacity:0.86; transition:opacity .25s; }
  .zv-nav-links a:hover{ opacity:1; }
  .zv-nav-links a::after{ content:''; position:absolute; left:0; bottom:0; height:1px; width:0; background:var(--zv-gold); transition:width .3s; }
  .zv-nav-links a:hover::after{ width:100%; }
  .zv-nav-icons{ display:flex; align-items:center; gap:8px; }
  .zv-nav-icons a, .zv-nav-icons .zv-search-toggle{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; font-size:21px; border-radius:50%; opacity:0.85; transition:opacity .2s, transform .2s, background .2s; position:relative; }
  .zv-nav-icons a:hover, .zv-nav-icons .zv-search-toggle:hover{ opacity:1; transform:translateY(-1px); background:var(--zv-cream-2); }
  .zv-cart-count{ background:var(--zv-wine); color:#fff; font-size:10.5px; font-weight:600; border-radius:50%; width:18px; height:18px; display:flex; align-items:center; justify-content:center; position:absolute; top:2px; right:2px; }
  @media (max-width:900px){ .zv-nav-links{ display:none; } }

  /* ---- Mobile hamburger + off-canvas menu ---- */
  .zv-menu-toggle{ display:none; background:none; border:none; font-size:24px; cursor:pointer; color:var(--zv-ink); width:42px; height:42px; align-items:center; justify-content:center; border-radius:50%; transition:background .2s; }
  .zv-menu-toggle:hover{ background:var(--zv-cream-2); }
  @media (max-width:900px){ .zv-menu-toggle{ display:flex; } }
  .zv-mobile-menu{ position:fixed; inset:0; z-index:1000; visibility:hidden; opacity:0; transition:opacity .3s ease, visibility .3s ease; }
  .zv-mobile-menu.open{ visibility:visible; opacity:1; }
  .zv-mobile-menu-backdrop{ position:absolute; inset:0; background:rgba(23,21,18,0.55); }
  .zv-mobile-menu-panel{ position:absolute; top:0; right:0; height:100%; width:84%; max-width:340px; background:var(--zv-cream); box-shadow:-16px 0 50px rgba(0,0,0,0.25); transform:translateX(100%); transition:transform .35s cubic-bezier(.2,.8,.2,1); display:flex; flex-direction:column; padding:22px 28px 32px; overflow-y:auto; }
  .zv-mobile-menu.open .zv-mobile-menu-panel{ transform:translateX(0); }
  .zv-mobile-menu-head{ display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; margin-bottom:10px; border-bottom:1px solid var(--zv-line); }
  .zv-mobile-menu-close{ background:none; border:none; font-size:30px; line-height:1; color:var(--zv-ink); cursor:pointer; }
  .zv-mobile-menu-panel a{ font-family:var(--zv-serif); font-size:20px; padding:16px 2px; border-bottom:1px solid var(--zv-line); color:var(--zv-ink); }
  .zv-mobile-menu-panel hr{ border:none; border-top:1px solid var(--zv-line); margin:8px 0 0; }

  /* ---- Hero ---- */
  .zv-hero{ position:relative; min-height:92vh; display:flex; align-items:center; overflow:hidden; background:
      radial-gradient(1200px 600px at 15% -10%, rgba(184,137,46,0.16), transparent 60%),
      radial-gradient(900px 500px at 100% 0%, rgba(92,26,43,0.14), transparent 55%),
      linear-gradient(180deg,#FBF7F1 0%, #F6EEE1 100%);
  }
  .zv-hero::before{ content:''; position:absolute; inset:0; opacity:0.5; pointer-events:none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none' stroke='%23B8892E' stroke-opacity='0.16'%3E%3Ccircle cx='70' cy='70' r='46'/%3E%3Ccircle cx='70' cy='70' r='30'/%3E%3Cpath d='M70 6 L70 134 M6 70 L134 70'/%3E%3C/g%3E%3C/svg%3E");
    background-size:140px 140px;
  }
  .zv-hero-grid{ position:relative; display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center; padding-top:80px; padding-bottom:60px; }
  @media (max-width:960px){ .zv-hero-grid{ grid-template-columns:1fr; padding-top:56px; padding-bottom:40px; text-align:left; } }
  .zv-hero h1{ font-size:clamp(40px,5.6vw,74px); line-height:1.04; margin:18px 0 22px; }
  .zv-hero h1 em{ font-style:italic; color:var(--zv-wine); }
  .zv-hero p.lead{ font-size:18px; max-width:480px; color:#4A453F; margin-bottom:34px; }
  .zv-cta-row{ display:flex; gap:18px; flex-wrap:wrap; }
  .zv-btn{ display:inline-flex; align-items:center; gap:10px; padding:16px 34px; font-size:13px; letter-spacing:2px; text-transform:uppercase; border-radius:2px; transition:all .3s cubic-bezier(.2,.8,.2,1); font-weight:600; }
  .zv-btn-primary{ background:var(--zv-wine); color:#fff; box-shadow:0 10px 26px -8px rgba(92,26,43,0.55); }
  .zv-btn-primary:hover{ background:var(--zv-wine-dark); transform:translateY(-2px); box-shadow:0 16px 30px -8px rgba(92,26,43,0.6); }
  .zv-btn-ghost{ border:1px solid var(--zv-ink); color:var(--zv-ink); }
  .zv-btn-ghost:hover{ background:var(--zv-ink); color:#fff; transform:translateY(-2px); }
  .zv-hero-stats{ display:flex; gap:38px; margin-top:52px; }
  .zv-hero-stats div b{ display:block; font-family:var(--zv-serif); font-size:28px; color:var(--zv-wine); }
  .zv-hero-stats div span{ font-size:11.5px; letter-spacing:1.2px; text-transform:uppercase; color:#77706A; }

  .zv-hero-visual{ position:relative; }
  .zv-hero-frame{ position:relative; border-radius:6px; overflow:hidden; box-shadow:0 40px 80px -30px rgba(23,21,18,0.35); aspect-ratio:4/5; background:#EAE0CC; }
  .zv-hero-frame img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; object-position:top center; display:block; }
  .zv-hero-badge{ position:absolute; left:-24px; bottom:-24px; background:#fff; border-radius:6px; padding:18px 22px; box-shadow:0 20px 40px -18px rgba(23,21,18,0.35); display:flex; align-items:center; gap:12px; }
  @media (max-width:960px){ .zv-hero-badge{ left:12px; bottom:-20px; } }
  .zv-hero-badge .ic{ width:38px;height:38px;border-radius:50%;background:var(--zv-cream-2);display:flex;align-items:center;justify-content:center;color:var(--zv-gold);font-size:18px; }
  .zv-hero-badge b{ display:block; font-size:13px; }
  .zv-hero-badge span{ font-size:11px; color:#77706A; }

  /* ---- Trust strip ---- */
  .zv-trust{ border-top:1px solid var(--zv-line); border-bottom:1px solid var(--zv-line); background:#fff; }
  .zv-trust-inner{ display:grid; grid-template-columns:repeat(4,1fr); }
  .zv-trust-item{ display:flex; align-items:center; gap:14px; padding:26px 30px; border-right:1px solid var(--zv-line); }
  .zv-trust-item:last-child{ border-right:none; }
  @media (max-width:900px){ .zv-trust-inner{ grid-template-columns:repeat(2,1fr); } .zv-trust-item{ border-right:none; border-bottom:1px solid var(--zv-line);} }
  .zv-trust-item .ic{ font-size:22px; color:var(--zv-gold); flex:none; }
  .zv-trust-item b{ display:block; font-size:13.5px; }
  .zv-trust-item span{ font-size:12px; color:#847D74; }

  /* ---- Section heading ---- */
  .zv-section{ padding:100px 0; }
  .zv-section.tight{ padding:70px 0; }
  .zv-head{ text-align:center; max-width:640px; margin:0 auto 56px; }
  .zv-head h2{ font-size:clamp(30px,3.4vw,44px); margin:14px 0 16px; }
  .zv-head p{ color:#6C665E; font-size:16px; }
  .zv-rule{ width:56px; height:2px; background:var(--zv-gold); margin:16px auto 0; }

  /* ---- Collections ---- */
  .zv-collections{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
  @media (max-width:900px){ .zv-collections{ grid-template-columns:1fr 1fr; } }
  @media (max-width:600px){ .zv-collections{ grid-template-columns:1fr; } }
  .zv-coll-card{ position:relative; border-radius:8px; overflow:hidden; aspect-ratio:3/4; background:#EAE0CC; }
  .zv-coll-card img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
  .zv-coll-card:hover img{ transform:scale(1.08); }
  .zv-coll-card::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(23,21,18,0) 40%, rgba(23,21,18,0.72) 100%); }
  .zv-coll-label{ position:absolute; left:24px; right:24px; bottom:24px; z-index:2; color:#fff; }
  .zv-coll-label .zv-eyebrow{ color:var(--zv-gold-light); }
  .zv-coll-label h3{ color:#fff; font-size:24px; margin:6px 0 10px; }
  .zv-coll-label a{ font-size:12px; letter-spacing:1.5px; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,0.6); padding-bottom:3px; }

  /* ---- Story split ---- */
  .zv-story{ background:var(--zv-ink); color:#EFE7D8; }
  .zv-story-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
  @media (max-width:900px){ .zv-story-grid{ grid-template-columns:1fr; gap:40px; } }
  .zv-story h2{ color:#fff; font-size:clamp(28px,3.2vw,40px); margin:14px 0 22px; }
  .zv-story p{ color:#C9C0B0; font-size:16px; margin-bottom:16px; max-width:520px; }
  .zv-story-img{ position:relative; border-radius:8px; overflow:hidden; aspect-ratio:5/4; }
  .zv-story-img img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; }
  .zv-signature{ font-family:var(--zv-serif); font-style:italic; font-size:20px; color:var(--zv-gold-light); margin-top:26px; }

  /* ---- Product grid ---- */
  .zv-products{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
  @media (max-width:960px){ .zv-products{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .zv-products{ grid-template-columns:1fr; } }
  .zv-p-card{ background:#fff; border-radius:8px; overflow:hidden; border:1px solid var(--zv-line); transition:box-shadow .3s, transform .3s; }
  .zv-p-card:hover{ box-shadow:0 24px 40px -22px rgba(23,21,18,0.28); transform:translateY(-4px); }
  .zv-p-thumb{ position:relative; aspect-ratio:3/4; overflow:hidden; background:#F3ECE1; }
  .zv-p-thumb img{ width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; transition:transform .6s; }
  .zv-p-card:hover .zv-p-thumb img{ transform:scale(1.06); }
  .zv-p-tag{ position:absolute; top:12px; left:12px; background:var(--zv-wine); color:#fff; font-size:10.5px; letter-spacing:1px; text-transform:uppercase; padding:5px 10px; border-radius:2px; }
  .zv-p-body{ padding:18px 18px 22px; }
  .zv-p-cat{ font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--zv-gold); font-weight:600; }
  .zv-p-title{ font-family:var(--zv-serif); font-size:17px; margin:6px 0 8px; }
  .zv-p-price{ font-size:15px; color:var(--zv-wine); font-weight:600; }
  .zv-p-price del{ color:#A79E90; font-weight:400; margin-left:8px; font-size:13px; }
  .zv-products-cta{ text-align:center; margin-top:52px; }

  /* ---- Testimonials ---- */
  .zv-testi-wrap{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
  @media (max-width:900px){ .zv-testi-wrap{ grid-template-columns:1fr; } }
  .zv-testi{ background:#fff; border:1px solid var(--zv-line); border-radius:8px; padding:30px 28px; }
  .zv-stars{ color:var(--zv-gold); letter-spacing:2px; margin-bottom:14px; font-size:15px; }
  .zv-testi p{ font-size:15px; color:#4A453F; margin-bottom:20px; }
  .zv-testi-who{ display:flex; align-items:center; gap:12px; }
  .zv-testi-avatar{ width:40px;height:40px;border-radius:50%;background:var(--zv-cream-2);display:flex;align-items:center;justify-content:center;font-family:var(--zv-serif);color:var(--zv-wine);font-weight:700; }
  .zv-testi-who b{ display:block; font-size:13.5px; }
  .zv-testi-who span{ font-size:12px; color:#847D74; }

  /* ---- Newsletter ---- */
  .zv-news{ background:linear-gradient(135deg,#5C1A2B,#3E0F1C); color:#fff; border-radius:12px; padding:64px 60px; text-align:center; }
  @media (max-width:640px){ .zv-news{ padding:48px 24px; } }
  .zv-news h2{ color:#fff; }
  .zv-news p{ color:#E4C9CE; max-width:480px; margin:14px auto 30px; }
  .zv-news-form{ display:flex; max-width:440px; margin:0 auto; gap:0; }
  .zv-news-form input{ flex:1; padding:15px 18px; border:none; border-radius:2px 0 0 2px; font-size:14px; font-family:var(--zv-sans); }
  .zv-news-form button{ background:var(--zv-gold); color:var(--zv-ink); border:none; padding:0 26px; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; font-weight:700; border-radius:0 2px 2px 0; cursor:pointer; transition:background .25s; }
  .zv-news-form button:hover{ background:var(--zv-gold-light); }
  .zv-news-form button{ white-space:nowrap; }
  @media (max-width:520px){
    .zv-news-form{ flex-direction:column; gap:10px; }
    .zv-news-form input{ border-radius:2px; }
    .zv-news-form button{ border-radius:2px; padding:14px 26px; }
  }

  /* ---- Footer ---- */
  .zv-footer{ background:var(--zv-ink); color:#B9B2A5; padding:80px 0 26px; }
  .zv-footer-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:50px; padding-bottom:56px; border-bottom:1px solid rgba(255,255,255,0.08); }
  @media (max-width:900px){ .zv-footer-grid{ grid-template-columns:1fr 1fr; } }
  .zv-footer h4{ color:#fff; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:20px; font-family:var(--zv-sans); font-weight:600; }
  .zv-footer ul{ list-style:none; margin:0; padding:0; }
  .zv-footer li{ margin-bottom:11px; font-size:14px; }
  .zv-footer li a:hover{ color:var(--zv-gold-light); }
  .zv-footer-logo{ font-family:var(--zv-serif); font-size:24px; color:#fff; letter-spacing:2px; }
  .zv-footer-logo span{ color:var(--zv-gold); }
  .zv-footer-about{ font-size:14px; margin:18px 0 22px; max-width:300px; color:#9A9285; }
  .zv-social{ display:flex; gap:14px; }
  .zv-social a{ width:36px;height:36px;border:1px solid rgba(255,255,255,0.18);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .25s; }
  .zv-social a:hover{ background:var(--zv-gold); border-color:var(--zv-gold); color:var(--zv-ink); }
  .zv-footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:12.5px; color:#7A7367; flex-wrap:wrap; gap:12px; }
  .zv-pay-icons{ display:flex; gap:10px; font-size:20px; opacity:0.7; }

  /* ---- Reveal animation ---- */
  .zv-reveal{ animation: zvFadeUp .7s ease both; }
  @keyframes zvFadeUp{ from{ opacity:0; transform:translateY(18px);} to{ opacity:1; transform:translateY(0);} }
  @media (prefers-reduced-motion: reduce){ .zv-reveal{ animation:none; } }

/* ---- Search panel ---- */
.zv-search-toggle{ background:none; border:none; padding:0; font-family:inherit; cursor:pointer; color:inherit; line-height:1; }
.zv-search-panel{ max-height:0; overflow:hidden; background:#fff; border-bottom:1px solid var(--zv-line); transition:max-height .35s ease; }
.zv-search-panel.open{ max-height:100px; }
.zv-search-form{ display:flex; align-items:center; gap:14px; padding:22px 0; }
.zv-search-form input[type="search"]{ flex:1; border:none; border-bottom:1px solid var(--zv-line); background:transparent; font-family:var(--zv-serif); font-size:20px; padding:8px 2px; outline:none; }
.zv-search-form input[type="search"]:focus{ border-color:var(--zv-gold); }
.zv-search-form button[type="submit"]{ background:none; border:none; font-size:20px; cursor:pointer; color:var(--zv-ink); }
.zv-search-close{ background:none; border:none; font-size:26px; line-height:1; cursor:pointer; color:#847D74; }
