/* ForZahra 1.0.0 — Marketplace féminine algérienne premium
   Mobile-first • CSS variables • Light/Dark • RTL • Performance 
*/

/* Reset & base */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family: Inter, "Noto Sans Arabic", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  background: var(--fz-background, #FFF9F7);
  color: var(--fz-text, #1A1A1E);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--fz-primary);text-decoration:none}
a:hover{opacity:.9}
button{font:inherit}
ul,ol{list-style:none}
:root{
  --fz-primary:#7A1C3A;
  --fz-primary-600:#5A1430;
  --fz-secondary:#E9A8B8;
  --fz-accent:#C9A86A;
  --fz-background:#FFF9F7;
  --fz-surface:#FFFFFF;
  --fz-text:#1A1A1E;
  --fz-muted:#8A7D7F;
  --fz-border:#EDE3E0;
  --fz-radius:16px;
  --fz-radius-lg:22px;
  --fz-shadow: 0 8px 30px rgba(122,28,58,.08);
  --fz-shadow-lg: 0 18px 60px rgba(122,28,58,.12);
  --fz-container: 1320px;
  --fz-header-h: 72px;
  --fz-topbar-h: 36px;
}
.fz-container{max-width:var(--fz-container);margin:0 auto;padding:0 20px}
@media(min-width:1440px){.fz-container{padding:0 24px}}
/* Typography headings */
h1,h2,h3{font-family:"Cormorant Garamond", serif;letter-spacing:-.02em;line-height:1.1}
h1{font-size:clamp(32px,5vw,58px);font-weight:700}
h2{font-size:clamp(26px,3.2vw,38px);font-weight:600}
h3{font-size:clamp(18px,2vw,22px)}
.fz-eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--fz-primary);font-weight:700}
.fz-lead{font-size:clamp(16px,1.5vw,18px);color:var(--fz-muted);max-width:640px}

/* Topbar */
.fz-topbar{
  background: var(--fz-primary);
  color:#fff;
  font-size:13px;
  min-height:var(--fz-topbar-h);
  display:flex;align-items:center;
}
.fz-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}
.fz-topbar-left,.fz-topbar-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.fz-topbar a{color:#fff;opacity:.92}
.fz-topbar a:hover{opacity:1;text-decoration:underline}
.fz-topbar-dot{width:4px;height:4px;background:var(--fz-accent);border-radius:50%;display:inline-block}

/* Header sticky */
.fz-header{
  position:sticky;top:0;z-index:90;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--fz-border);
}
.fz-header-inner{
  display:grid;
  grid-template-columns: 200px 1fr auto;
  align-items:center;
  gap:18px;
  min-height:var(--fz-header-h);
}
.fz-logo{font-family:"Cormorant Garamond",serif;font-weight:700;letter-spacing:.14em;font-size:22px;color:var(--fz-primary);display:flex;align-items:center;gap:10px}
.fz-logo-mark{width:34px;height:34px;border-radius:10px;background:var(--fz-primary);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:800;letter-spacing:.12em}
.fz-logo small{font-family:Inter,sans-serif;font-size:10px;letter-spacing:.16em;color:var(--fz-muted);display:block;margin-top:2px;font-weight:600}
.fz-logo-wrap{display:flex;flex-direction:column;line-height:1}

/* Search */
.fz-search{position:relative;max-width:640px;width:100%;justify-self:center}
.fz-search input{
  width:100%;height:46px;border-radius:999px;border:1px solid var(--fz-border);
  background:var(--fz-surface);padding:0 48px 0 18px;font-size:15px;outline:0;
  transition:border .2s, box-shadow .2s;
}
.fz-search input:focus{border-color:var(--fz-primary);box-shadow:0 0 0 4px rgba(122,28,58,.1)}
.fz-search button{
  position:absolute;right:4px;top:4px;height:38px;width:38px;border-radius:999px;border:0;background:var(--fz-primary);color:#fff;display:grid;place-items:center;cursor:pointer
}
.fz-search-results{
  position:absolute;top:calc(100% + 10px);left:0;right:0;background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:18px;box-shadow:var(--fz-shadow-lg);padding:14px;display:none;max-height:70vh;overflow:auto
}
.fz-search-results.is-open{display:block}
.fz-search-group h4{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--fz-muted);margin:10px 0 8px}
.fz-search-item{display:flex;gap:12px;align-items:center;padding:8px;border-radius:12px}
.fz-search-item:hover{background:#FFF1F4}
.fz-search-item img{width:42px;height:42px;object-fit:cover;border-radius:10px;background:#f3e8eb}

/* Header actions */
.fz-header-actions{display:flex;align-items:center;gap:8px}
.fz-icon-btn{
  width:44px;height:44px;border-radius:999px;border:1px solid var(--fz-border);background:var(--fz-surface);display:grid;place-items:center;position:relative;cursor:pointer;transition:transform .15s, border-color .15s
}
.fz-icon-btn:hover{transform:translateY(-1px);border-color:var(--fz-primary)}
.fz-icon-btn .fz-badge-count{position:absolute;top:-4px;right:-4px;background:var(--fz-primary);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;padding:0 4px;font-weight:700}
.fz-ico{width:20px;height:20px}
.fz-header-nav{border-top:1px solid var(--fz-border);background:var(--fz-surface)}
.fz-nav{display:flex;gap:22px;overflow:auto;scrollbar-width:none;padding:10px 0}
.fz-nav::-webkit-scrollbar{display:none}
.fz-nav a{white-space:nowrap;font-size:14px;font-weight:600;color:var(--fz-text);padding:6px 0;position:relative}
.fz-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:var(--fz-primary);transform:scaleX(0);transition:transform .2s}
.fz-nav a:hover::after,.fz-nav a.is-active::after{transform:scaleX(1)}

/* Dark mode toggle */
.fz-dark-toggle{
  border:1px solid var(--fz-border);background:var(--fz-surface);border-radius:999px;padding:4px;display:flex;gap:4px
}
.fz-dark-toggle button{border:0;background:transparent;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;color:var(--fz-muted)}
.fz-dark-toggle button.is-active{background:var(--fz-primary);color:#fff}

/* Buttons */
.fz-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 18px;border-radius:999px;border:1px solid transparent;
  font-weight:700;font-size:14px;cursor:pointer;transition:transform .15s, box-shadow .15s, background .15s;white-space:nowrap
}
.fz-btn:active{transform:translateY(1px)}
.fz-btn-primary{background:var(--fz-primary);color:#fff;box-shadow:0 8px 20px rgba(122,28,58,.18)}
.fz-btn-primary:hover{background:var(--fz-primary-600)}
.fz-btn-secondary{background:var(--fz-surface);border-color:var(--fz-border);color:var(--fz-text)}
.fz-btn-outline{background:transparent;border-color:var(--fz-primary);color:var(--fz-primary)}
.fz-btn-outline:hover{background:var(--fz-primary);color:#fff}
.fz-btn-ghost{background:transparent;color:var(--fz-primary)}
.fz-btn-lg{height:52px;padding:0 26px;font-size:15px}
.fz-btn-ico{width:36px;height:36px;border-radius:999px;border:1px solid var(--fz-border);background:var(--fz-surface);display:grid;place-items:center;cursor:pointer;transition:transform .15s}
.fz-btn-ico:hover{transform:scale(1.06)}

/* Hero */
.fz-hero{
  position:relative;overflow:hidden;background:linear-gradient(180deg,#FFF1F4 0%, #FFF9F7 100%);
  padding:22px 0 28px;
}
.fz-hero-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:center;min-height:520px;
}
.fz-hero-copy h1 span{color:var(--fz-primary);font-style:italic;font-weight:500}
.fz-hero-copy .fz-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.fz-hero-art{
  position:relative;border-radius:var(--fz-radius-lg);overflow:hidden;background:#F3DDE4;min-height:520px;
  box-shadow:var(--fz-shadow-lg)
}
.fz-hero-art img{width:100%;height:100%;object-fit:cover}
.fz-hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(122,28,58,.22) 100%)}
.fz-hero-badge{
  position:absolute;left:14px;bottom:14px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-radius:16px;padding:10px 14px;display:flex;gap:10px;align-items:center;box-shadow:var(--fz-shadow)
}
.fz-hero-badge img{width:44px;height:44px;border-radius:12px;object-fit:cover}
.fz-hero-slider-dots{position:absolute;bottom:16px;right:16px;z-index:2;display:flex;gap:6px}
.fz-hero-slider-dots span{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.7)}
.fz-hero-slider-dots span.is-active{width:22px;background:#fff}
.fz-hero-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.fz-trust-pill{display:inline-flex;gap:8px;align-items:center;background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600}
.fz-trust-pill i{color:var(--fz-primary)}

/* Sections */
.fz-section{padding:34px 0}
.fz-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:18px}
.fz-section-head h2{position:relative}
.fz-section-head h2::after{content:"";position:absolute;left:0;bottom:-6px;width:36px;height:3px;background:var(--fz-accent);border-radius:999px}
.fz-section-desc{color:var(--fz-muted);font-size:14px;max-width:560px}
.fz-link{font-weight:700;font-size:14px;display:inline-flex;gap:6px;align-items:center}

/* Category cards */
.fz-cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.fz-cat-card{
  background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:18px;overflow:hidden;transition:transform .2s, box-shadow .2s;position:relative
}
.fz-cat-card:hover{transform:translateY(-4px);box-shadow:var(--fz-shadow)}
.fz-cat-card img{width:100%;height:140px;object-fit:cover}
.fz-cat-card-body{padding:12px}
.fz-cat-card h3{font-size:15px;font-family:Inter,sans-serif;font-weight:700;letter-spacing:0}
.fz-cat-card p{font-size:12px;color:var(--fz-muted)}
.fz-cat-icon{position:absolute;top:10px;right:10px;width:34px;height:34px;background:rgba(255,255,255,.9);border-radius:999px;display:grid;place-items:center;backdrop-filter:blur(6px)}

/* Shops */
.fz-shops-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fz-shop-card{background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:20px;overflow:hidden;transition:transform .2s, box-shadow .2s}
.fz-shop-card:hover{transform:translateY(-4px);box-shadow:var(--fz-shadow)}
.fz-shop-cover{height:96px;background:linear-gradient(135deg,#F8D7E3,#EDE3E0);position:relative}
.fz-shop-avatar{position:absolute;left:16px;bottom:-22px;width:52px;height:52px;border-radius:16px;border:3px solid #fff;overflow:hidden;background:#fff;box-shadow:var(--fz-shadow)}
.fz-shop-avatar img{width:100%;height:100%;object-fit:cover}
.fz-shop-body{padding:30px 14px 14px}
.fz-shop-name{display:flex;gap:6px;align-items:center;font-weight:800}
.fz-verified{width:18px;height:18px;background:var(--fz-primary);color:#fff;border-radius:999px;display:inline-grid;place-items:center;font-size:11px}
.fz-shop-meta{font-size:13px;color:var(--fz-muted);display:flex;gap:6px;align-items:center;margin:4px 0 10px}
.fz-shop-stats{display:flex;gap:8px;font-size:12px;color:var(--fz-muted);margin-bottom:12px}
.fz-shop-stats b{color:var(--fz-text)}

/* Products */
.fz-products{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fz-product-card{
  background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:20px;overflow:hidden;position:relative;
  transition:transform .2s, box-shadow .2s;display:flex;flex-direction:column
}
.fz-product-card:hover{transform:translateY(-4px);box-shadow:var(--fz-shadow-lg)}
.fz-product-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#F9EDEF}
.fz-product-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s, opacity .3s}
.fz-product-media img+img{position:absolute;inset:0;opacity:0}
.fz-product-card:hover .fz-product-media img:first-child{opacity:0}
.fz-product-card:hover .fz-product-media img+img{opacity:1;transform:scale(1.04)}
.fz-badges{position:absolute;top:10px;left:10px;display:flex;gap:6px;z-index:2}
.fz-badge{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-radius:999px;line-height:1}
.fz-badge-sale{background:var(--fz-primary);color:#fff}
.fz-badge-new{background:#fff;color:var(--fz-primary);border:1px solid var(--fz-border)}
.fz-badge-verified{background:#E8F5E9;color:#1B5E20}
.fz-card-actions{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:8px;z-index:2;opacity:0;transform:translateX(8px);transition:all .2s}
.fz-product-card:hover .fz-card-actions{opacity:1;transform:none}
.fz-card-actions .fz-btn-ico{box-shadow:var(--fz-shadow)}
.fz-card-actions .fz-wishlist.is-active{background:var(--fz-primary);color:#fff;border-color:var(--fz-primary)}
.fz-product-body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.fz-product-title{font-family:Inter,sans-serif;font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px}
.fz-product-vendor{font-size:12px;color:var(--fz-muted);display:flex;gap:6px;align-items:center}
.fz-product-price{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fz-price{font-weight:800;font-size:16px;color:var(--fz-primary)}
.fz-price del{font-weight:500;color:var(--fz-muted);font-size:13px}
.fz-add-btn{margin-top:8px;width:100%;height:40px;border-radius:999px;border:1px solid var(--fz-primary);background:transparent;color:var(--fz-primary);font-weight:800;cursor:pointer;transition:all .2s}
.fz-add-btn:hover{background:var(--fz-primary);color:#fff}

/* Creatrices */
.fz-creatrices{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fz-crea-card{background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:20px;padding:16px;text-align:center;transition:transform .2s}
.fz-crea-card:hover{transform:translateY(-3px);box-shadow:var(--fz-shadow)}
.fz-crea-card img{width:84px;height:84px;border-radius:999px;object-fit:cover;margin:0 auto 10px;border:3px solid #FFF1F4}
.fz-crea-card h3{font-family:Inter,sans-serif;font-size:15px}
.fz-crea-card p{font-size:13px;color:var(--fz-muted);min-height:38px}

/* Promo / countdown */
.fz-promo{
  background:linear-gradient(135deg, var(--fz-primary) 0%, #B03060 100%);
  color:#fff;border-radius:24px;padding:22px;display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;overflow:hidden;position:relative
}
.fz-promo::before{
  content:"";position:absolute;inset:0;opacity:.12;
  background: radial-gradient(circle at 20% 20%, #fff 1.5px, transparent 1.5px);
  background-size:22px 22px;
}
.fz-promo > *{position:relative}
.fz-countdown{display:flex;gap:8px}
.fz-countdown div{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:10px 12px;text-align:center;min-width:64px;backdrop-filter:blur(6px)}
.fz-countdown b{font-size:20px;display:block;line-height:1}
.fz-countdown span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.9}

/* Made in Algeria */
.fz-made{
  background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr
}
.fz-made-media{position:relative;min-height:360px;background:#F3E8E0}
.fz-made-media img{width:100%;height:100%;object-fit:cover}
.fz-made-pattern{position:absolute;inset:0;opacity:.08;background:
  repeating-linear-gradient(45deg, var(--fz-primary) 0 1px, transparent 1px 18px),
  repeating-linear-gradient(-45deg, var(--fz-accent) 0 1px, transparent 1px 18px)
}
.fz-made-body{padding:28px}

/* Sell steps */
.fz-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.fz-step{background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:20px;padding:18px;position:relative}
.fz-step-num{width:36px;height:36px;border-radius:999px;background:var(--fz-primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px;margin-bottom:10px}
.fz-step h3{font-family:Inter,sans-serif;font-size:15px;margin-bottom:6px}
.fz-step p{font-size:13px;color:var(--fz-muted)}

/* Journal */
.fz-journal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fz-post-card{border-radius:20px;overflow:hidden;background:var(--fz-surface);border:1px solid var(--fz-border);transition:transform .2s}
.fz-post-card:hover{transform:translateY(-3px);box-shadow:var(--fz-shadow)}
.fz-post-card img{width:100%;height:190px;object-fit:cover}
.fz-post-card-body{padding:14px}
.fz-post-tag{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:var(--fz-primary);background:#FFF1F4;padding:4px 8px;border-radius:999px;display:inline-block;margin-bottom:8px}

/* Trust */
.fz-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fz-trust-item{background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:18px;padding:16px;display:flex;gap:12px;align-items:center}
.fz-trust-ico{width:44px;height:44px;border-radius:14px;background:#FFF1F4;color:var(--fz-primary);display:grid;place-items:center;flex-shrink:0}

/* Newsletter */
.fz-newsletter{
  background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:24px;padding:22px;display:grid;grid-template-columns:1fr 420px;gap:18px;align-items:center
}
.fz-newsletter form{display:flex;gap:8px}
.fz-newsletter input{flex:1;height:46px;border-radius:999px;border:1px solid var(--fz-border);padding:0 16px;font-size:15px;outline:0}
.fz-newsletter input:focus{border-color:var(--fz-primary);box-shadow:0 0 0 4px rgba(122,28,58,.08)}

/* Footer */
.fz-footer{background:#1A0F14;color:#F8E9EE;padding:36px 0 0;margin-top:30px}
.fz-footer a{color:#F8E9EE;opacity:.86}
.fz-footer a:hover{opacity:1}
.fz-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:22px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12)}
.fz-footer-brand h3{font-family:"Cormorant Garamond",serif;font-size:22px;letter-spacing:.14em;color:#fff}
.fz-footer-brand p{font-size:13px;opacity:.8;margin:8px 0 14px;line-height:1.6}
.fz-footer-col h4{font-family:Inter,sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.fz-footer-col li{margin:8px 0;font-size:14px}
.fz-footer-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 0;font-size:13px;opacity:.78}
.fz-social{display:flex;gap:8px}
.fz-social a{width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.1);display:grid;place-items:center;border:1px solid rgba(255,255,255,.14)}
.fz-social a:hover{background:var(--fz-primary)}

/* Breadcrumbs */
.fz-breadcrumbs{font-size:13px;color:var(--fz-muted);padding:12px 0}
.fz-breadcrumbs ol{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.fz-breadcrumbs li+li::before{content:"›";margin-right:8px;opacity:.6}
.fz-breadcrumbs a{color:var(--fz-muted)}
.fz-breadcrumbs a:hover{color:var(--fz-primary)}

/* Shop layout */
.fz-shop-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;padding:18px 0}
.fz-filters{background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:20px;padding:16px;align-self:start;position:sticky;top:calc(var(--fz-header-h) + 42px)}
.fz-filter-title{font-weight:800;font-size:14px;margin:14px 0 8px;display:flex;justify-content:space-between;align-items:center}
.fz-filter-title:first-child{margin-top:0}
.fz-range{display:flex;gap:8px}
.fz-range input{width:100%;height:40px;border:1px solid var(--fz-border);border-radius:12px;padding:0 10px}
.fz-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--fz-border);border-radius:999px;padding:6px 10px;font-size:13px;background:var(--fz-surface);cursor:pointer}
.fz-chip.is-active{background:var(--fz-primary);color:#fff;border-color:var(--fz-primary)}
.fz-wilaya-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:220px;overflow:auto;padding-right:4px}

/* Product single */
.fz-product-single{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;padding:18px 0}
.fz-gallery{position:sticky;top:calc(var(--fz-header-h) + 16px);align-self:start}
.fz-gallery-main{border-radius:20px;overflow:hidden;background:#F9EDEF;aspect-ratio:4/5}
.fz-gallery-main img{width:100%;height:100%;object-fit:cover}
.fz-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.fz-gallery-thumbs img{border-radius:14px;aspect-ratio:1;object-fit:cover;border:2px solid transparent;cursor:pointer}
.fz-gallery-thumbs img.is-active{border-color:var(--fz-primary)}
.fz-single-info h1{font-size:clamp(24px,3vw,34px)}
.fz-single-price{font-size:22px;font-weight:800;color:var(--fz-primary);display:flex;gap:10px;align-items:center;margin:8px 0}
.fz-single-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.fz-qty{display:inline-flex;align-items:center;border:1px solid var(--fz-border);border-radius:999px;overflow:hidden}
.fz-qty button{width:40px;height:44px;border:0;background:var(--fz-surface);cursor:pointer;font-size:18px}
.fz-qty input{width:50px;height:44px;border:0;text-align:center;font-weight:800;outline:0}
.fz-tabs{border-top:1px solid var(--fz-border);margin-top:18px}
.fz-tabs-nav{display:flex;gap:18px;border-bottom:1px solid var(--fz-border);overflow:auto}
.fz-tabs-nav button{border:0;background:transparent;padding:14px 0;font-weight:800;color:var(--fz-muted);border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer}
.fz-tabs-nav button.is-active{color:var(--fz-primary);border-color:var(--fz-primary)}
.fz-tab{padding:16px 0;display:none}
.fz-tab.is-active{display:block}
.fz-vendor-card{border:1px solid var(--fz-border);border-radius:18px;background:var(--fz-surface);padding:14px;margin-top:14px}
.fz-vendor-card-head{display:flex;gap:12px;align-items:center}
.fz-vendor-card-foot{font-size:13px;color:var(--fz-muted);margin-top:8px;padding-top:8px;border-top:1px dashed var(--fz-border)}

/* Cart */
.woocommerce-cart .fz-main{padding:18px 0}
.fz-cart-group{border:1px solid var(--fz-border);border-radius:18px;overflow:hidden;background:var(--fz-surface);margin-bottom:14px}
.fz-cart-group-head{background:#FFF1F4;padding:10px 14px;font-weight:800;display:flex;justify-content:space-between;align-items:center}

/* Mobile bottom nav */
.fz-bottom-nav{
  position:fixed;left:0;right:0;bottom:0;z-index:80;
  background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--fz-border);
  display:none;grid-template-columns:repeat(5,1fr);padding:6px 6px calc(6px + env(safe-area-inset-bottom));
}
.fz-bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;font-weight:700;color:var(--fz-muted);padding:4px}
.fz-bottom-nav a.is-active{color:var(--fz-primary)}
.fz-bottom-nav .fz-bottom-sell{position:relative;top:-14px}
.fz-bottom-nav .fz-bottom-sell span{
  width:54px;height:54px;border-radius:999px;background:var(--fz-primary);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(122,28,58,.3);font-size:20px
}

/* Modals / quickview / toasts */
.fz-modal{position:fixed;inset:0;z-index:100;display:none}
.fz-modal.is-open{display:block}
.fz-modal-backdrop{position:absolute;inset:0;background:rgba(26,15,20,.46);backdrop-filter:blur(4px)}
.fz-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--fz-surface);border-radius:22px;max-width:760px;width:92%;max-height:86vh;overflow:auto;box-shadow:var(--fz-shadow-lg);padding:0}
.fz-qv{display:grid;grid-template-columns:1fr 1fr}
.fz-qv-media{background:#F9EDEF;min-height:360px}
.fz-qv-media img{width:100%;height:100%;object-fit:cover}
.fz-qv-info{padding:18px}
.fz-toast{
  position:fixed;right:14px;bottom:76px;z-index:120;
  background:var(--fz-text);color:#fff;border-radius:999px;padding:10px 14px;font-size:14px;font-weight:700;
  box-shadow:var(--fz-shadow-lg);display:flex;gap:8px;align-items:center;transform:translateY(12px);opacity:0;transition:all .3s;pointer-events:none
}
.fz-toast.is-show{transform:none;opacity:1}
.fz-skeleton{background:linear-gradient(90deg,#F3E8EB 25%, #FFF1F4 37%, #F3E8EB 63%);background-size:400% 100%;animation:fzShimmer 1.2s infinite}
@keyframes fzShimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}

/* Compare bar */
.fz-compare-bar{
  position:fixed;left:50%;bottom:76px;transform:translateX(-50%);z-index:70;
  background:var(--fz-surface);border:1px solid var(--fz-border);border-radius:18px;box-shadow:var(--fz-shadow-lg);
  padding:10px;display:flex;gap:10px;align-items:center;max-width:92%;width:560px;display:none
}
.fz-compare-bar.is-open{display:flex}
.fz-compare-bar img{width:44px;height:44px;border-radius:10px;object-fit:cover;border:1px solid var(--fz-border)}

/* 404 */
.fz-404{padding:60px 0;text-align:center}
.fz-404 h1{font-size:72px;color:var(--fz-primary)}
.fz-empty{padding:30px;text-align:center;color:var(--fz-muted);border:1px dashed var(--fz-border);border-radius:18px;background:var(--fz-surface)}

/* Dark mode */
body.fz-dark{
  --fz-background:#120A0F;
  --fz-surface:#1E131A;
  --fz-text:#F8E9EE;
  --fz-muted:#B8A0A8;
  --fz-border:#2E1F26;
}
body.fz-dark .fz-header{background:rgba(30,19,26,.9)}
body.fz-dark .fz-topbar{background:#2A1420}
body.fz-dark .fz-hero{background:linear-gradient(180deg,#2A1420 0%, #120A0F 100%)}
body.fz-dark .fz-promo{background:linear-gradient(135deg,#4A1A2E,#7A1C3A)}

/* RTL */
[dir="rtl"] .fz-header-inner{grid-template-columns:auto 1fr 200px}
[dir="rtl"] .fz-search input{padding:0 18px 0 48px}
[dir="rtl"] .fz-search button{right:auto;left:4px}
[dir="rtl"] .fz-breadcrumbs li+li::before{content:"‹"}

/* Accessibility */
:focus-visible{outline:2px solid var(--fz-primary);outline-offset:2px}
.skip-link{position:absolute;left:-9999px;top:6px;background:var(--fz-primary);color:#fff;padding:8px 12px;border-radius:999px;z-index:200}
.skip-link:focus{left:12px}

/* Responsive */
@media(max-width: 1100px){
  .fz-hero-grid{grid-template-columns:1fr;min-height:auto}
  .fz-hero-art{min-height:420px;order:-1}
  .fz-cats{grid-template-columns:repeat(4,1fr)}
  .fz-shops-grid{grid-template-columns:repeat(3,1fr)}
  .fz-products{grid-template-columns:repeat(3,1fr)}
  .fz-creatrices{grid-template-columns:repeat(3,1fr)}
  .fz-steps{grid-template-columns:repeat(2,1fr)}
  .fz-journal{grid-template-columns:repeat(2,1fr)}
  .fz-trust{grid-template-columns:repeat(2,1fr)}
  .fz-made{grid-template-columns:1fr}
  .fz-footer-grid{grid-template-columns:1fr 1fr 1fr}
  .fz-shop-layout{grid-template-columns:1fr}
  .fz-product-single{grid-template-columns:1fr}
  .fz-newsletter{grid-template-columns:1fr}
  .fz-promo{grid-template-columns:1fr}
}
@media(max-width: 760px){
  .fz-topbar{display:none}
  .fz-header-inner{grid-template-columns:1fr auto;gap:10px}
  .fz-search{grid-column:1 / -1;order:3}
  .fz-header-nav{display:none}
  .fz-bottom-nav{display:grid}
  body{padding-bottom:72px}
  .fz-hero{padding:12px 0 18px}
  .fz-hero-art{min-height:300px}
  .fz-cats{grid-template-columns:repeat(3,1fr);gap:10px}
  .fz-cats img{height:96px}
  .fz-shops-grid{grid-template-columns:1fr 1fr;gap:10px}
  .fz-products{grid-template-columns:1fr 1fr;gap:10px}
  .fz-product-media{aspect-ratio:1}
  .fz-card-actions{opacity:1;transform:none}
  .fz-creatrices{grid-template-columns:1fr 1fr}
  .fz-journal{grid-template-columns:1fr}
  .fz-footer-grid{grid-template-columns:1fr 1fr}
  .fz-compare-bar{bottom:76px;width:94%}
  .fz-qv{grid-template-columns:1fr}
  .fz-qv-media{min-height:240px}
}
@media(max-width: 380px){
  .fz-cats{grid-template-columns:repeat(2,1fr)}
  .fz-shops-grid{grid-template-columns:1fr}
  .fz-products{grid-template-columns:1fr 1fr}
}

/* WooCommerce overrides */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(4,1fr); gap:16px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none !important}
.woocommerce ul.products li.product{width:100% !important; float:none !important; margin:0 !important}
@media(max-width:1100px){ .woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){ .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
.woocommerce span.onsale{display:none !important} /* we use .fz-badge */
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{
  width:40px;height:40px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--fz-border);background:var(--fz-surface)
}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--fz-primary);color:#fff;border-color:var(--fz-primary)}

/* Utility */
.fz-muted{color:var(--fz-muted)}
.fz-center{text-align:center}
.fz-stack{display:flex;flex-direction:column;gap:10px}
