/* ============================================================
   ZENVORA SUPPLY LLC — Complete Stylesheet
   ============================================================ */

:root {
  --zv-navy:     #0a1628;
  --zv-navy2:    #1a2d4a;
  --zv-navy3:    #1a3a5c;
  --zv-crimson:  #c41230;
  --zv-gold:     #d4a843;
  --zv-gold2:    #f0c96a;
  --zv-white:    #ffffff;
  --zv-gray50:   #f8fafc;
  --zv-gray100:  #f1f5f9;
  --zv-gray200:  #e2e8f0;
  --zv-gray400:  #94a3b8;
  --zv-gray600:  #475569;
  --zv-gray900:  #0f172a;
  --zv-success:  #059669;
  --zv-warning:  #d97706;
  --font-body:   'DM Sans', sans-serif;
  --font-disp:   'Playfair Display', serif;
  --t:           .22s cubic-bezier(.4,0,.2,1);
  --r:           10px;
  --r-lg:        16px;
  --r-xl:        24px;
  --shadow:      0 2px 12px rgba(0,0,0,.08);
  --shadow-lg:   0 8px 40px rgba(0,0,0,.14);
}

/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--font-body);color:var(--zv-gray900);background:#fff;
     -webkit-font-smoothing:antialiased;padding-bottom:70px;}
a{color:var(--zv-navy);text-decoration:none;transition:color var(--t);}
a:hover{color:var(--zv-crimson);}
img{max-width:100%;display:block;}
.container{max-width:1300px;margin:0 auto;padding:0 20px;}

/* ── TOPBAR ─────────────────────────────────────────────────── */
.zv-topbar{background:var(--zv-navy);padding:8px 0;font-size:.76rem;}
.zv-topbar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.zv-topbar-left,.zv-topbar-right{display:flex;align-items:center;gap:14px;}
.zv-topbar-left a,.zv-topbar-right a,.zv-topbar-left span{color:rgba(255,255,255,.65);display:flex;align-items:center;gap:5px;}
.zv-topbar-left a:hover,.zv-topbar-right a:hover{color:var(--zv-gold);}
.zv-topbar-left i,.zv-topbar-right i{color:var(--zv-gold);font-size:.7rem;}
.zv-tb-sep{width:1px;height:12px;background:rgba(255,255,255,.15);}
.zv-promo-pill{background:var(--zv-crimson);color:#fff;padding:2px 12px;border-radius:20px;font-size:.7rem;font-weight:700;}

/* ── HEADER ─────────────────────────────────────────────────── */
.zv-header{background:#fff;box-shadow:var(--shadow);position:sticky;top:0;z-index:990;border-bottom:1px solid var(--zv-gray200);}
.zv-header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:13px 20px;}

/* LOGO */
.zv-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;}
.zv-logo-img{height:48px;width:auto;mix-blend-mode:multiply;}
.zv-logo-fallback{display:flex;align-items:center;gap:10px;}
.zv-logo-icon{width:48px;height:48px;background:var(--zv-navy);color:var(--zv-gold);
  border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;
  font-family:var(--font-disp);font-size:1.6rem;font-weight:700;flex-shrink:0;}
.zv-logo-name{display:block;font-family:var(--font-disp);font-size:1.05rem;font-weight:700;
  color:var(--zv-navy);letter-spacing:1.5px;line-height:1.2;}
.zv-logo-sub{display:block;font-size:.6rem;color:var(--zv-gray400);letter-spacing:3px;
  text-transform:uppercase;font-weight:600;}

/* SEARCH */
.zv-search{display:flex;align-items:center;background:var(--zv-gray50);
  border:2px solid var(--zv-gray200);border-radius:50px;overflow:hidden;
  transition:border-color var(--t),box-shadow var(--t);}
.zv-search:focus-within{border-color:var(--zv-navy);background:#fff;
  box-shadow:0 0 0 4px rgba(10,22,40,.06);}
.zv-search input{flex:1;border:none;background:transparent;padding:11px 18px;
  font-size:.9rem;outline:none;font-family:var(--font-body);min-width:0;}
.zv-search input::placeholder{color:var(--zv-gray400);}
.zv-search button{background:var(--zv-navy);border:none;color:#fff;padding:0 20px;
  min-height:44px;font-size:.92rem;cursor:pointer;transition:background var(--t);
  display:flex;align-items:center;}
.zv-search button:hover{background:var(--zv-crimson);}

/* HEADER ACTIONS */
.zv-header-actions{display:flex;align-items:center;gap:4px;}
.zv-icon-btn{width:44px;height:44px;border-radius:var(--r);display:flex;flex-direction:column;
  align-items:center;justify-content:center;color:var(--zv-gray600);font-size:.95rem;
  border:none;background:transparent;cursor:pointer;transition:all var(--t);text-decoration:none;}
.zv-icon-btn:hover{background:var(--zv-gray100);color:var(--zv-navy);}
.zv-mobile-search-btn{display:none;}
.zv-cart-btn{display:flex;align-items:center;gap:8px;background:var(--zv-navy);color:#fff;
  padding:10px 18px;border-radius:50px;font-weight:700;font-size:.86rem;cursor:pointer;
  border:none;transition:all var(--t);text-decoration:none;position:relative;white-space:nowrap;}
.zv-cart-btn:hover{background:var(--zv-crimson);color:#fff;transform:translateY(-1px);}
.zv-cart-badge{background:var(--zv-gold);color:var(--zv-navy);border-radius:20px;
  padding:1px 7px;font-size:.7rem;font-weight:800;}
.zv-mobile-search{background:#fff;padding:12px 0;border-top:1px solid var(--zv-gray200);}

/* ── NAV ────────────────────────────────────────────────────── */
.zv-nav{background:var(--zv-navy);border-top:1px solid rgba(255,255,255,.06);}
.zv-nav-inner{display:flex;align-items:center;justify-content:space-between;}
.zv-nav-list{display:flex;align-items:center;}
.zv-nav-list>li{position:relative;}
.zv-nav-list>li>a{display:flex;align-items:center;gap:6px;padding:0 18px;height:48px;
  color:rgba(255,255,255,.72);font-size:.82rem;font-weight:600;letter-spacing:.3px;
  text-transform:uppercase;transition:all var(--t);position:relative;}
.zv-nav-list>li>a::after{content:'';position:absolute;bottom:0;left:50%;right:50%;
  height:3px;background:var(--zv-gold);transition:all var(--t);border-radius:3px 3px 0 0;}
.zv-nav-list>li>a:hover,.zv-nav-list>li>a.active{color:#fff;background:rgba(255,255,255,.06);}
.zv-nav-list>li>a:hover::after,.zv-nav-list>li>a.active::after{left:0;right:0;}

/* MEGA MENU */
.zv-nav-mega{position:relative;}
.zv-mega-menu{display:none;position:absolute;top:100%;left:0;background:#fff;
  border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:var(--shadow-lg);
  min-width:700px;padding:24px;z-index:999;border-top:3px solid var(--zv-gold);}
.zv-nav-mega:hover .zv-mega-menu{display:block;}
.zv-mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.zv-mega-link{display:flex;flex-direction:column;align-items:flex-start;padding:12px;
  border-radius:var(--r);border:1.5px solid transparent;transition:all var(--t);}
.zv-mega-link:hover{background:var(--zv-gray50);border-color:var(--zv-gray200);transform:translateY(-2px);}
.zv-mega-icon{width:38px;height:38px;border-radius:var(--r-sm,6px);display:flex;
  align-items:center;justify-content:center;margin-bottom:8px;font-size:.9rem;color:#fff;}
.zv-mega-name{font-size:.8rem;font-weight:700;color:var(--zv-navy);font-family:var(--font-body);}
.zv-mega-cnt{font-size:.7rem;color:var(--zv-gray400);margin-top:2px;}
.zv-nav-phone{display:flex;align-items:center;gap:6px;padding:0 18px;
  color:var(--zv-gold);font-size:.8rem;font-weight:600;white-space:nowrap;}

/* ── FLASH ──────────────────────────────────────────────────── */
.zv-flash{padding:12px 0;font-size:.88rem;}
.zv-flash-success{background:#ecfdf5;color:#065f46;border-bottom:2px solid #059669;}
.zv-flash-error  {background:#fff1f2;color:#9f1239;border-bottom:2px solid var(--zv-crimson);}
.zv-flash-info   {background:#eff6ff;color:#1e3a5f;border-bottom:2px solid #3b82f6;}

/* ── PINNED BOTTOM NAV ──────────────────────────────────────── */
.zv-bottom-nav{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:1000;
  background:#fff;
  border-top:1px solid var(--zv-gray200);
  box-shadow:0 -4px 24px rgba(0,0,0,.1);
  padding:6px 0 calc(6px + env(safe-area-inset-bottom));
}
.zv-bottom-nav{display:flex;justify-content:space-around;align-items:center;}
.zv-bnav-item{display:flex;flex-direction:column;align-items:center;gap:3px;
  text-decoration:none;color:var(--zv-gray400);font-size:.62rem;font-weight:600;
  padding:4px 10px;border-radius:var(--r);transition:all var(--t);
  letter-spacing:.2px;text-transform:uppercase;min-width:52px;}
.zv-bnav-item:hover,.zv-bnav-item.active{color:var(--zv-navy);}
.zv-bnav-icon{font-size:1.1rem;line-height:1;margin-bottom:1px;transition:transform var(--t);}
.zv-bnav-item.active .zv-bnav-icon{color:var(--zv-navy);}
.zv-bnav-item:hover .zv-bnav-icon{transform:translateY(-2px);}
/* Cart button - elevated center pill */
.zv-bnav-cart{margin-top:-16px;}
.zv-bnav-cart-btn{width:54px;height:54px;background:var(--zv-navy);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;box-shadow:0 4px 16px rgba(10,22,40,.35);
  position:relative;transition:all var(--t);margin-bottom:2px;}
.zv-bnav-cart:hover .zv-bnav-cart-btn{background:var(--zv-crimson);transform:scale(1.08);}
.zv-bnav-badge{position:absolute;top:-4px;right:-4px;background:var(--zv-gold);
  color:var(--zv-navy);border-radius:50%;width:18px;height:18px;font-size:.6rem;
  font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
.zv-bnav-cart>span{color:var(--zv-navy);font-weight:700;}

/* ── BUTTONS ────────────────────────────────────────────────── */
.btn,.zv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 28px;border-radius:50px;font-family:var(--font-body);font-weight:700;
  font-size:.88rem;letter-spacing:.3px;border:2px solid transparent;
  transition:all var(--t);cursor:pointer;white-space:nowrap;text-decoration:none;}
.btn:hover,.zv-btn:hover{transform:translateY(-2px);}
.btn-primary,.zv-btn-primary{background:var(--zv-crimson);color:#fff;border-color:var(--zv-crimson);
  box-shadow:0 4px 16px rgba(196,18,48,.25);}
.btn-primary:hover,.zv-btn-primary:hover{background:#e8193f;color:#fff;border-color:#e8193f;}
.btn-navy,.zv-btn-navy{background:var(--zv-navy);color:#fff;border-color:var(--zv-navy);}
.btn-navy:hover,.zv-btn-navy:hover{background:var(--zv-navy2);color:#fff;}
.btn-gold,.zv-btn-gold{background:var(--zv-gold);color:var(--zv-navy);border-color:var(--zv-gold);font-weight:800;}
.btn-gold:hover,.zv-btn-gold:hover{background:var(--zv-gold2);color:var(--zv-navy);}
.btn-outline,.zv-btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);}
.btn-outline:hover,.zv-btn-outline:hover{background:rgba(255,255,255,.12);color:#fff;}
.btn-ghost{background:transparent;color:var(--zv-navy);border-color:var(--zv-gray200);}
.btn-ghost:hover{background:var(--zv-gray100);}
.btn-sm,.zv-btn-sm{padding:8px 18px;font-size:.78rem;}
.btn-lg,.zv-btn-lg{padding:15px 36px;font-size:.96rem;}
.btn-xl,.zv-btn-xl{padding:18px 44px;font-size:1.02rem;}
.btn-blue{background:var(--zv-navy);color:#fff;border-color:var(--zv-navy);}
.btn-blue:hover{background:var(--zv-navy2);color:#fff;}

/* ── PRODUCT CARDS ──────────────────────────────────────────── */
.pc{background:#fff;border-radius:var(--r-lg);border:1.5px solid var(--zv-gray200);
  overflow:hidden;position:relative;display:flex;flex-direction:column;
  transition:all var(--t);height:100%;}
.pc:hover{border-color:var(--zv-navy);box-shadow:var(--shadow-lg);transform:translateY(-5px);}
.pc-img{display:block;width:100%;height:210px;background:var(--zv-gray50);
  overflow:hidden;flex-shrink:0;position:relative;}
.pc-img img{width:100%;height:100%;object-fit:contain;object-position:center;
  padding:14px;transition:transform .5s cubic-bezier(.4,0,.2,1);}
.pc:hover .pc-img img{transform:scale(1.08);}
.pc-badges{position:absolute;top:10px;left:10px;z-index:2;display:flex;flex-direction:column;gap:4px;}
.pc-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 9px;border-radius:20px;
  font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;}
.pc-badge-sale{background:var(--zv-crimson);color:#fff;}
.pc-badge-hot {background:var(--zv-gold);color:var(--zv-navy);}
.pc-badge-new {background:var(--zv-navy);color:#fff;}
.pc-badge-low {background:var(--zv-warning);color:#fff;}
.pc-wish{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-radius:50%;
  border:none;display:flex;align-items:center;justify-content:center;color:var(--zv-gray200);
  box-shadow:var(--shadow);cursor:pointer;font-size:.88rem;transition:all var(--t);}
.pc-wish:hover,.pc-wish.active{color:var(--zv-crimson);transform:scale(1.15);background:#fff;}
.pc-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;}
.pc-cat{font-size:.68rem;font-weight:700;color:var(--zv-gold);text-transform:uppercase;
  letter-spacing:.8px;margin-bottom:5px;}
.pc-name{font-family:var(--font-body);font-size:.88rem;font-weight:700;color:var(--zv-gray900);
  line-height:1.4;min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px;}
.pc-name a{color:inherit;text-decoration:none;}
.pc-name a:hover{color:var(--zv-navy);}
.pc-sku{font-size:.68rem;color:var(--zv-gray400);margin-bottom:8px;font-family:monospace;}
.pc-price{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:10px;}
.pc-price-cur{font-family:var(--font-disp);font-size:1.25rem;font-weight:700;
  color:var(--zv-navy);letter-spacing:-.5px;}
.pc-price-old{font-size:.8rem;text-decoration:line-through;color:var(--zv-gray400);}
.pc-price-save{font-size:.7rem;font-weight:800;background:#ecfdf5;color:var(--zv-success);
  padding:2px 7px;border-radius:20px;}
.pc-stock{font-size:.74rem;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:5px;}
.pc-s-in {color:var(--zv-success);}
.pc-s-low{color:var(--zv-warning);}
.pc-s-out{color:var(--zv-crimson);}
.pc-actions{display:flex;gap:7px;margin-top:auto;}
.pc-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:1;
  padding:9px 8px;border-radius:50px;font-size:.78rem;font-weight:700;font-family:var(--font-body);
  cursor:pointer;text-decoration:none;border:none;transition:all var(--t);}
.pc-btn-view{background:transparent;border:2px solid var(--zv-gray200);color:var(--zv-gray600);}
.pc-btn-view:hover{border-color:var(--zv-navy);color:var(--zv-navy);background:var(--zv-gray50);}
.pc-btn-cart{background:var(--zv-navy);color:#fff;border:2px solid var(--zv-navy);}
.pc-btn-cart:hover{background:var(--zv-crimson);border-color:var(--zv-crimson);}
.pc-btn-sold{background:var(--zv-gray100);color:var(--zv-gray400);cursor:not-allowed;border:2px solid var(--zv-gray200);}

/* ── SECTIONS ───────────────────────────────────────────────── */
.section{padding:64px 0;}
.section-sm{padding:40px 0;}
.section-xs{padding:24px 0;}
.section-label{display:inline-flex;align-items:center;gap:7px;background:rgba(212,168,67,.1);
  color:var(--zv-gold);border:1px solid rgba(212,168,67,.25);padding:5px 14px;border-radius:20px;
  font-size:.7rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin-bottom:12px;}
.section-title{font-family:var(--font-disp);font-size:2.2rem;font-weight:700;color:var(--zv-navy);
  line-height:1.2;margin-bottom:12px;}
.section-title span{color:var(--zv-crimson);}
.section-subtitle{font-size:.96rem;color:var(--zv-gray600);max-width:520px;line-height:1.7;}
.section-header{margin-bottom:40px;}
.section-header.center{text-align:center;}
.section-header.center .section-subtitle{margin:0 auto;}

/* ── HERO ───────────────────────────────────────────────────── */
.zv-hero{background:var(--zv-navy);position:relative;overflow:hidden;padding:72px 0 80px;}
.zv-hero-bg{position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 60% at 70% 50%,rgba(26,58,92,.7),transparent),
             radial-gradient(ellipse 40% 60% at 100% 0%,rgba(196,18,48,.15),transparent);}
.zv-hero-grid{position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:48px 48px;}
.zv-hero-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;
  position:relative;z-index:1;}
.zv-hero-eyebrow{display:inline-flex;align-items:center;gap:7px;background:rgba(212,168,67,.12);
  color:var(--zv-gold);border:1px solid rgba(212,168,67,.25);padding:5px 14px;border-radius:20px;
  font-size:.72rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin-bottom:18px;}
.zv-hero-title{font-family:var(--font-disp);font-size:3.2rem;font-weight:700;color:#fff;
  line-height:1.15;margin-bottom:18px;letter-spacing:-.5px;}
.zv-hero-title em{font-style:normal;color:var(--zv-gold);}
.zv-hero-sub{font-size:1.02rem;color:rgba(255,255,255,.6);line-height:1.75;margin-bottom:32px;max-width:500px;}
.zv-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px;}
.zv-hero-stats{display:flex;gap:0;}
.zv-hero-stat{text-align:center;padding:0 24px;border-right:1px solid rgba(255,255,255,.1);}
.zv-hero-stat:first-child{padding-left:0;}
.zv-hero-stat:last-child{border-right:none;}
.zv-hero-stat strong{display:block;font-family:var(--font-disp);font-size:1.9rem;font-weight:700;
  color:var(--zv-gold);line-height:1;margin-bottom:4px;}
.zv-hero-stat span{font-size:.72rem;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.5px;}

/* ── FEATURES STRIP ────────────────────────────────────────── */
.zv-features{background:var(--zv-navy2);padding:18px 0;}
.zv-features-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.zv-feat-item{display:flex;align-items:center;gap:12px;padding:10px 24px;
  border-right:1px solid rgba(255,255,255,.08);}
.zv-feat-item:last-child{border-right:none;}
.zv-feat-icon{width:42px;height:42px;background:rgba(212,168,67,.12);border:1px solid rgba(212,168,67,.2);
  border-radius:var(--r);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:.95rem;color:var(--zv-gold);}
.zv-feat-text h5{font-size:.84rem;font-weight:700;color:#fff;margin-bottom:2px;}
.zv-feat-text p{font-size:.72rem;color:rgba(255,255,255,.45);}

/* ── CATEGORIES ────────────────────────────────────────────── */
.zv-cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.zv-cat-card{background:#fff;border:2px solid var(--zv-gray200);border-radius:var(--r-lg);
  padding:22px 12px 18px;text-align:center;text-decoration:none;display:flex;
  flex-direction:column;align-items:center;transition:all var(--t);position:relative;overflow:hidden;}
.zv-cat-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--zv-gold);transform:scaleX(0);transition:transform var(--t);}
.zv-cat-card:hover{border-color:var(--zv-navy);box-shadow:0 6px 24px rgba(10,22,40,.12);
  transform:translateY(-4px);}
.zv-cat-card:hover::before{transform:scaleX(1);}
.zv-cat-icon{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;margin-bottom:12px;font-size:1.4rem;color:#fff;transition:transform var(--t);}
.zv-cat-card:hover .zv-cat-icon{transform:scale(1.1) rotate(-5deg);}
.zv-cat-name{font-size:.82rem;font-weight:700;color:var(--zv-navy);margin-bottom:4px;line-height:1.3;}
.zv-cat-count{font-size:.7rem;color:var(--zv-gray400);font-weight:500;}

/* ── PRODUCT GRIDS ─────────────────────────────────────────── */
.pc-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.pc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

/* ── AD BANNERS ─────────────────────────────────────────────── */
.zv-ad-strip{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:0;}
.zv-ad-card{border-radius:var(--r-xl);padding:0;position:relative;overflow:hidden;
  min-height:200px;display:flex;align-items:flex-end;cursor:pointer;
  transition:transform var(--t),box-shadow var(--t);}
.zv-ad-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.zv-ad-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.zv-ad-card:hover img{transform:scale(1.05);}
.zv-ad-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,22,40,.8) 0%,rgba(10,22,40,.1) 60%);}
.zv-ad-body{position:relative;z-index:1;padding:22px 24px;width:100%;}
.zv-ad-label{display:inline-block;background:var(--zv-gold);color:var(--zv-navy);padding:3px 12px;
  border-radius:20px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.zv-ad-title{font-family:var(--font-disp);font-size:1.4rem;font-weight:700;color:#fff;
  margin-bottom:5px;line-height:1.2;}
.zv-ad-desc{font-size:.8rem;color:rgba(255,255,255,.7);margin-bottom:14px;}

/* Large ad banner */
.zv-ad-large{grid-column:span 2;min-height:260px;}

/* ── PROMO CARDS ───────────────────────────────────────────── */
.zv-promo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.zv-promo-card{border-radius:var(--r-xl);padding:36px;position:relative;overflow:hidden;
  min-height:200px;display:flex;align-items:center;}
.zv-promo-card::before,.zv-promo-card::after{content:'';position:absolute;border-radius:50%;}
.zv-promo-card::before{right:-40px;top:-40px;width:180px;height:180px;background:rgba(255,255,255,.06);}
.zv-promo-card::after{right:50px;bottom:-40px;width:100px;height:100px;background:rgba(255,255,255,.04);}
.zv-promo-content{position:relative;z-index:1;}
.zv-promo-label{display:inline-block;padding:3px 12px;border-radius:20px;font-size:.7rem;
  font-weight:800;letter-spacing:.4px;text-transform:uppercase;margin-bottom:10px;}
.zv-promo-title{font-family:var(--font-disp);font-size:1.5rem;font-weight:700;color:#fff;
  margin-bottom:7px;line-height:1.2;}
.zv-promo-desc{font-size:.84rem;color:rgba(255,255,255,.72);margin-bottom:18px;}
.zv-promo-icon{position:absolute;right:32px;top:50%;transform:translateY(-50%);
  font-size:5rem;opacity:.1;color:#fff;}

/* ── TESTIMONIALS ──────────────────────────────────────────── */
.zv-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.zv-testi-card{background:var(--zv-gray50);border-radius:var(--r-xl);padding:28px;
  border:1.5px solid var(--zv-gray200);position:relative;overflow:hidden;}
.zv-testi-quote{position:absolute;top:14px;right:18px;font-size:3.5rem;color:var(--zv-navy);
  opacity:.05;font-family:Georgia,serif;line-height:1;}

/* ── FOOTER ─────────────────────────────────────────────────── */
.zv-footer{background:var(--zv-navy);color:rgba(255,255,255,.6);}
.zv-footer-top{padding:56px 0 44px;border-bottom:1px solid rgba(255,255,255,.08);}
.zv-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:44px;}
.zv-footer-logo{height:44px;margin-bottom:14px;filter:brightness(0) invert(1);opacity:.9;}
.zv-footer-about{font-size:.84rem;line-height:1.75;margin-bottom:18px;}
.zv-footer-social{display:flex;gap:8px;}
.zv-social-link{width:36px;height:36px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r);display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.55);font-size:.88rem;transition:all var(--t);}
.zv-social-link:hover{background:var(--zv-gold);color:var(--zv-navy);border-color:var(--zv-gold);}
.zv-footer-heading{font-size:.74rem;font-weight:800;color:var(--zv-gold);text-transform:uppercase;
  letter-spacing:1px;margin-bottom:16px;}
.zv-footer-links li a{display:block;padding:5px 0;color:rgba(255,255,255,.5);font-size:.84rem;
  transition:all var(--t);border-left:2px solid transparent;padding-left:0;}
.zv-footer-links li a:hover{color:#fff;padding-left:8px;border-left-color:var(--zv-gold);}
.zv-footer-contact-item{display:flex;gap:10px;margin-bottom:12px;font-size:.83rem;line-height:1.5;}
.zv-footer-contact-item i{color:var(--zv-gold);margin-top:2px;flex-shrink:0;}
.zv-footer-contact-item a{color:rgba(255,255,255,.55);}
.zv-footer-contact-item a:hover{color:var(--zv-gold);}
.zv-footer-bottom{padding:18px 0;display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:10px;font-size:.76rem;}
.zv-footer-bottom-links{display:flex;gap:18px;}
.zv-footer-bottom-links a{color:rgba(255,255,255,.35);}
.zv-footer-bottom-links a:hover{color:rgba(255,255,255,.65);}

/* ── PAGINATION ────────────────────────────────────────────── */
.pagination-nav{display:flex;justify-content:center;margin-top:44px;}
.pagination{display:flex;gap:6px;list-style:none;align-items:center;}
.pagination li a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;
  border:2px solid var(--zv-gray200);border-radius:var(--r);font-weight:700;font-size:.84rem;
  color:var(--zv-gray600);background:#fff;transition:all var(--t);}
.pagination li a:hover,.pagination li.active a{background:var(--zv-navy);border-color:var(--zv-navy);color:#fff;}

/* ── CART NOTIF ─────────────────────────────────────────────── */
#cartNotif{position:fixed;top:80px;right:16px;background:var(--zv-navy);color:#fff;
  padding:12px 18px 12px 14px;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  font-size:.86rem;font-weight:600;z-index:2000;transform:translateX(140%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;
  gap:9px;border-left:4px solid var(--zv-gold);}
#cartNotif.show{transform:translateX(0);}
#cartNotif i{color:var(--zv-gold);}

/* ── BACK TO TOP ─────────────────────────────────────────────── */
#backToTop{position:fixed;bottom:82px;right:16px;z-index:500;width:44px;height:44px;
  background:var(--zv-navy);color:#fff;border:none;border-radius:50%;font-size:.88rem;
  box-shadow:var(--shadow);opacity:0;transform:translateY(14px);transition:all var(--t);
  pointer-events:none;cursor:pointer;}
#backToTop.show{opacity:1;transform:translateY(0);pointer-events:all;}
#backToTop:hover{background:var(--zv-crimson);}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:1100px){
  .zv-cat-grid{grid-template-columns:repeat(4,1fr);}
  .pc-grid-4{grid-template-columns:repeat(3,1fr);}
  .zv-footer-grid{grid-template-columns:1fr 1fr;gap:32px;}
}
@media(max-width:900px){
  .zv-hero-inner{grid-template-columns:1fr;}
  .zv-hero-visual{display:none;}
  .zv-hero-title{font-size:2.4rem;}
  .zv-cat-grid{grid-template-columns:repeat(3,1fr);}
  .pc-grid-4{grid-template-columns:repeat(2,1fr);}
  .pc-grid-3{grid-template-columns:repeat(2,1fr);}
  .zv-features-grid{grid-template-columns:1fr 1fr;}
  .zv-feat-item:nth-child(2){border-right:none;}
  .zv-promo-grid{grid-template-columns:1fr;}
  .zv-testi-grid{grid-template-columns:1fr;}
  .zv-nav-list{display:none;}
  .zv-ad-strip{grid-template-columns:1fr;}
  .zv-ad-large{grid-column:span 1;}
}
@media(max-width:768px){
  .zv-header-inner{grid-template-columns:auto 1fr auto;gap:10px;padding:10px 14px;}
  .zv-search{display:none;}
  .zv-mobile-search-btn{display:flex;}
  .zv-logo-img{height:40px;}
  .zv-bottom-nav{display:flex;}
  .zv-topbar-left{flex-wrap:wrap;}
  .zv-hide-sm{display:none!important;}
  .zv-hero-title{font-size:2rem;}
  .zv-hero-stats{flex-wrap:wrap;gap:14px;}
  .zv-hero-stat{border-right:none;padding:0 12px;}
  .zv-cat-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .zv-footer-grid{grid-template-columns:1fr;}
  .section{padding:48px 0;}
}
@media(max-width:480px){
  .pc-grid-4,.pc-grid-3{grid-template-columns:1fr 1fr;gap:12px;}
  .pc-img{height:160px!important;}
  .zv-hero-title{font-size:1.7rem;}
  .section-title{font-size:1.75rem;}
  .zv-ad-strip{gap:10px;}
}
