/* ============================================================
   BUNNZ & SCENTS — Design System
   Brand colors extracted from brand bible:
   Burgundy #8B2635 | Blush #ECC5B5 | Cream #FAF5F0 | Gold #C9913A | Mint #A8D5C2
============================================================ */
:root {
  --cream:         #FAF5F0;
  --warm-white:    #FFF9F5;
  --burgundy:      #8B2635;
  --burgundy-dk:   #6B1A28;
  --burgundy-lt:   #B85060;
  --blush:         #ECC5B5;
  --blush-lt:      #F7EAE4;
  --blush-dk:      #D4907A;
  --gold:          #C9913A;
  --gold-lt:       #E0B870;
  --mint:          #A8D5C2;
  --txt:           #3D1A20;
  --txt-mid:       #6B3A40;
  --txt-soft:      #9B7070;
  --border:        #EAD9D0;
  --shadow:        rgba(139,38,53,.1);
  --ff-display:    'Playfair Display', Georgia, serif;
  --ff-body:       'Poppins', system-ui, sans-serif;
  --ff-arabic:     'Tajawal', system-ui, sans-serif;
  --r-sm: 8px; --r-md: 16px; --r-lg: 24px; --r-full: 9999px;
  --ease: .3s cubic-bezier(.4,0,.2,1);
  --anim-in: .6s cubic-bezier(.22,1,.36,1);
  --anim-out: .3s cubic-bezier(.4,0,.2,1);
  --anim-spring: .5s cubic-bezier(.34,1.56,.64,1);
  --anim-stagger: 80ms;
  --z-dropdown: 100;
  --z-nav: 200;
  --z-overlay: 300;
  --z-dialog: 400;
  --z-toast: 500;
  --z-wa-float: 999;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--ff-body); background:var(--cream); color:var(--txt); overflow-x:hidden; }
body.ar { font-family:var(--ff-arabic); direction:rtl; }

/* ── Shared utilities ── */
.wrap      { max-width:1200px; margin:0 auto; padding:0 24px; }
.sec       { padding:88px 0; }
.sec-hd    { text-align:center; margin-bottom:52px; }
.eyebrow   { display:block; font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:8px; }
.sec-title { font-family:var(--ff-display); font-size:clamp(26px,3.8vw,42px); color:var(--txt); line-height:1.2; }
.sec-sub   { margin-top:12px; color:var(--txt-mid); font-size:14.5px; max-width:480px; margin-left:auto; margin-right:auto; line-height:1.7; }
.sec-hd .eyebrow { transition-delay:0ms!important; }
.sec-hd .sec-title { transition-delay:calc(var(--anim-stagger) * 2)!important; }
.sec-hd .sec-sub { transition-delay:calc(var(--anim-stagger) * 4)!important; }

.btn { display:inline-flex; align-items:center; gap:8px; padding:13px 26px; border-radius:var(--r-full); font-family:inherit; font-size:13.5px; font-weight:600; cursor:pointer; transition:background var(--anim-out), transform var(--anim-out), box-shadow var(--anim-out), border-color var(--anim-out); border:none; text-decoration:none; position:relative; overflow:hidden; }
.btn:active { transform:scale(.96); }
.btn-primary { background:var(--burgundy); color:#fff; }
.btn-primary:hover { background:var(--burgundy-dk); transform:translateY(-2px); box-shadow:0 8px 24px var(--shadow); }
.btn-outline { background:transparent; color:var(--burgundy); border:2px solid var(--burgundy); }
.btn-outline:hover { background:var(--burgundy); color:#fff; transform:translateY(-2px); }
.btn-wa { background:#25D366; color:#fff; }
.btn-wa:hover { background:#1da851; transform:translateY(-2px); }

/* ── Page-load fade ── */
body { animation:pageIn .8s var(--anim-in) both; }
@keyframes pageIn { from{opacity:0} to{opacity:1} }

/* ── Hero stagger entrance ── */
.hero .reveal { transition-duration:.7s; }
.hero-pill { transition-delay:.1s!important; }
.hero h1 { transition-delay:.2s!important; }
.hero-desc { transition-delay:.35s!important; }
.hero-btns { transition-delay:.5s!important; }
.hero-stats { transition-delay:.65s!important; }

/* ── Scroll-reveal (JS adds .visible) ── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity var(--anim-in), transform var(--anim-in); will-change:transform,opacity; }
.reveal-up { transform:translateY(32px); }
.reveal-down { transform:translateY(-24px); }
.reveal-left { transform:translateX(-32px); }
.reveal-right { transform:translateX(32px); }
.reveal-scale { transform:scale(.94); }
.reveal.visible { opacity:1; transform:none!important; }
.reveal-d1 { transition-delay:calc(var(--anim-stagger) * 1); } .reveal-d2 { transition-delay:calc(var(--anim-stagger) * 2); }
.reveal-d3 { transition-delay:calc(var(--anim-stagger) * 3); } .reveal-d4 { transition-delay:calc(var(--anim-stagger) * 4); }
.reveal-d5 { transition-delay:calc(var(--anim-stagger) * 5); } .reveal-d6 { transition-delay:calc(var(--anim-stagger) * 6); }

@media(prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} }

/* ============================================================
   ANNOUNCEMENT BAR
============================================================ */
#announce {
  background:var(--burgundy); color:#fff;
  font-size:12.5px; letter-spacing:.4px;
  padding:9px 24px; text-align:center;
  position:relative; overflow:hidden;
}

/* ============================================================
   NAVBAR
============================================================ */
.nav {
  position:sticky; top:0; z-index:200;
  background:rgba(255,249,245,.85); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  transition:background var(--anim-out), box-shadow var(--anim-out);
}
.nav.nav-scrolled { background:rgba(255,249,245,.97); box-shadow:0 1px 20px rgba(0,0,0,.06); }
.nav-in {
  max-width:1200px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
  height:70px; gap:24px;
}
/* Logo */
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.nav-logo-ico { width:42px; height:42px; border-radius:50%; background:var(--blush-lt); display:flex; align-items:center; justify-content:center; font-size:20px; }
.nav-logo-txt strong { display:block; font-family:var(--ff-display); font-size:17px; color:var(--burgundy); line-height:1; }
.nav-logo-txt em { font-size:9.5px; color:var(--txt-soft); letter-spacing:1.8px; text-transform:uppercase; font-style:normal; }
/* Links */
.nav-links { display:flex; list-style:none; gap:24px; }
.nav-links a { text-decoration:none; color:var(--txt-mid); font-size:13.5px; font-weight:500; transition:var(--ease); position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-3px; left:0; right:0; height:2px; background:var(--burgundy); border-radius:2px; transform:scaleX(0); transition:var(--ease); }
.nav-links a:hover { color:var(--burgundy); }
.nav-links a:hover::after { transform:scaleX(1); }
/* Actions */
.nav-acts { display:flex; align-items:center; gap:10px; }
.nav-lang { padding:6px 14px; border-radius:var(--r-full); border:1.5px solid var(--border); background:none; font-size:12px; font-weight:600; cursor:pointer; color:var(--txt-mid); transition:var(--ease); }
.nav-lang:hover { border-color:var(--burgundy); color:var(--burgundy); }
.nav-cart { position:relative; width:40px; height:40px; border-radius:50%; background:var(--blush-lt); color:var(--burgundy); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:15px; text-decoration:none; transition:var(--ease); }
.nav-cart:hover { background:var(--blush); transform:scale(1.06); }
.cart-badge { position:absolute; top:-3px; right:-3px; width:17px; height:17px; background:var(--burgundy); color:#fff; font-size:9px; font-weight:700; border-radius:50%; display:flex; align-items:center; justify-content:center; }
.cart-badge.on { display:flex; }
.cart-badge.pop { animation:badgePop .35s var(--anim-spring) both; }
@keyframes badgePop { 0%{transform:scale(1)} 40%{transform:scale(1.35)} 100%{transform:scale(1)} }

.btn-cart { width:33px; height:33px; border-radius:50%; background:var(--blush-lt); border:none; color:var(--burgundy); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:13px; transition:background var(--anim-out), transform var(--anim-out), color var(--anim-out); }
.btn-cart:hover { background:var(--burgundy); color:#fff; transform:scale(1.1); }
.btn-cart:active { transform:scale(.9); }
.nav-wa { display:flex; align-items:center; gap:6px; padding:8px 16px; border-radius:var(--r-full); background:#25D366; color:#fff; font-size:12.5px; font-weight:600; text-decoration:none; transition:var(--ease); }
.nav-wa:hover { background:#1da851; }
/* Hamburger */
.nav-ham { display:none; flex-direction:column; gap:4.5px; background:none; border:none; cursor:pointer; padding:6px; }
.nav-ham span { width:22px; height:2px; background:var(--txt); border-radius:2px; transition:var(--ease); display:block; }
/* Mobile drawer */
.nav-drawer { position:fixed; inset:70px 0 0; background:var(--warm-white); z-index:199; padding:24px; overflow-y:auto; border-top:1px solid var(--border); transform:translateY(-8px); opacity:0; visibility:hidden; pointer-events:none; transition:transform var(--anim-out), opacity var(--anim-out), visibility var(--anim-out); }
.nav-drawer.open { transform:none; opacity:1; visibility:visible; pointer-events:auto; }
@media(min-width:769px){ .nav-drawer { display:none !important; } }
.nav-drawer ul { list-style:none; }
.nav-drawer ul li { border-bottom:1px solid var(--border); }
.nav-drawer ul a { display:block; padding:14px 0; color:var(--txt); font-size:15px; font-weight:500; text-decoration:none; }

/* ============================================================
   HERO
============================================================ */
.hero {
  min-height:calc(100vh - 108px);
  background:linear-gradient(135deg, var(--warm-white) 0%, var(--blush-lt) 55%, var(--cream) 100%);
  display:flex; align-items:center; padding:64px 24px;
  position:relative; overflow:hidden;
}
.hero::before { content:''; position:absolute; top:-120px; right:-120px; width:560px; height:560px; border-radius:50%; background:radial-gradient(circle,var(--blush) 0%,transparent 70%); opacity:.35; pointer-events:none; }
.hero::after  { content:''; position:absolute; bottom:-80px; left:-80px; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle,var(--gold-lt) 0%,transparent 70%); opacity:.18; pointer-events:none; }
.hero-in { max-width:1200px; margin:0 auto; width:100%; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1; }
/* Left */
.hero-pill { display:inline-flex; align-items:center; gap:7px; background:rgba(201,145,58,.12); color:var(--gold); padding:5px 14px; border-radius:var(--r-full); font-size:11.5px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:20px; }
.hero h1 { font-family:var(--ff-display); font-size:clamp(34px,4.8vw,60px); line-height:1.15; color:var(--txt); margin-bottom:20px; }
.hero h1 em { font-style:italic; color:var(--burgundy); }
.hero-desc { font-size:15.5px; color:var(--txt-mid); line-height:1.75; margin-bottom:32px; max-width:430px; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; }
.hero-stats { display:flex; gap:36px; margin-top:44px; padding-top:32px; border-top:1px solid var(--border); }
.hero-stat strong { display:block; font-family:var(--ff-display); font-size:26px; color:var(--burgundy); }
.hero-stat span   { font-size:11px; color:var(--txt-soft); letter-spacing:.5px; }
/* Right card */
.hero-visual { display:flex; justify-content:center; align-items:center; }
.hero-card { background:#fff; border-radius:var(--r-lg); padding:48px 40px; box-shadow:0 28px 80px rgba(139,38,53,.13); text-align:center; position:relative; animation:float 4s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
.hero-bunny { font-size:110px; display:block; line-height:1; margin-bottom:16px; }
.hero-card-ttl { font-family:var(--ff-display); font-size:21px; color:var(--burgundy); margin-bottom:8px; }
.hero-card-sub { font-size:12px; color:var(--txt-soft); margin-top:4px; }
/* Floating chips */
.chip { position:absolute; background:#fff; border-radius:var(--r-sm); padding:7px 13px; box-shadow:0 4px 18px var(--shadow); font-size:12px; font-weight:600; color:var(--txt); display:flex; align-items:center; gap:6px; white-space:nowrap; }
.chip-candles { top:8%; right:-24px; animation:float 3s ease-in-out infinite; }
.chip-gifts { bottom:22%; left:-24px; animation:float 3s ease-in-out infinite .8s; }
.chip-couples { top:58%; right:-28px; animation:float 3s ease-in-out infinite 1.6s; }

/* ============================================================
   CATEGORIES
============================================================ */
.cats-sec { background:var(--warm-white); }
.cats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.cat-card { border-radius:var(--r-lg); overflow:hidden; cursor:pointer; transition:var(--ease); text-decoration:none; aspect-ratio:3/4; display:flex; align-items:flex-end; position:relative; }
.cat-card:hover { transform:translateY(-6px); box-shadow:0 20px 56px var(--shadow); }
.cat-bg { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:80px; transition:var(--ease); }
.cat-card:hover .cat-bg { transform:scale(1.06); }
.cat-bg .cat-img, .cat-bg img { width:100%;height:100%;object-fit:cover; }
.cat-theme-1 .cat-bg { background:linear-gradient(150deg,var(--blush-lt),var(--blush)); }
.cat-theme-2 .cat-bg { background:linear-gradient(150deg,#FFF0D0,#F5D89A); }
.cat-theme-3 .cat-bg { background:linear-gradient(150deg,#E8F5F0,var(--mint)); }
.cat-theme-4 .cat-bg { background:linear-gradient(150deg,var(--blush-lt),var(--blush)); }
.cat-info { position:relative; z-index:1; padding:22px; background:linear-gradient(to top,rgba(61,26,32,.82),transparent); width:100%; color:#fff; }
.cat-info h3 { font-family:var(--ff-display); font-size:21px; margin-bottom:3px; }
.cat-info p  { font-size:12px; opacity:.85; }
.cat-arrow   { margin-top:10px; display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:rgba(255,255,255,.9); transition:var(--ease); }
.cat-card:hover .cat-arrow { gap:10px; }

/* ============================================================
   BESTSELLERS
============================================================ */
.bs-sec { background:var(--cream); }
.prod-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
/* Product card */
.prod-card { background:#fff; border-radius:var(--r-md); overflow:hidden; cursor:pointer; transition:var(--ease); border:1px solid var(--border); }
.prod-card:hover { transform:translateY(-4px); box-shadow:0 16px 48px var(--shadow); border-color:var(--blush); }
.prod-img { aspect-ratio:1; position:relative; overflow:hidden; background:var(--blush-lt); }
.prod-img img { width:100%; height:100%; object-fit:cover; transition:var(--ease); }
.prod-card:hover .prod-img img { transform:scale(1.06); }
.prod-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:44px; color:var(--blush-dk); opacity:.55; }
.prod-badges { position:absolute; top:10px; left:10px; display:flex; flex-direction:column; gap:5px; pointer-events:none; z-index:2; }
.prod-badge { background:var(--burgundy); color:#fff; font-size:8.5px; font-weight:700; text-transform:uppercase; padding:4px 10px; border-radius:4px; white-space:nowrap; line-height:1; box-shadow:0 2px 6px rgba(0,0,0,.1); letter-spacing:.3px; }
.prod-badge.gold { background:#b8862e; color:#fff; }
.prod-badge.mint { background:var(--mint); color:var(--txt); }
.prod-body { padding:14px 16px; }
.prod-cat   { font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:4px; }
.prod-name  { font-family:var(--ff-display); font-size:14.5px; color:var(--txt); margin-bottom:12px; line-height:1.35; }
.prod-foot  { display:flex; align-items:center; justify-content:space-between; }
.prod-price { font-size:15px; font-weight:700; color:var(--burgundy); }

/* Product description preview (homepage & shop grid) */
.prod-desc-preview {
  font-size: 12.5px;
  color: var(--txt-soft);
  line-height: 1.5;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.cart-item-sku {
  font-size: 0.65rem;
  color: var(--txt-soft);
  font-family: 'SF Mono', Monaco, 'Courier New', monospace;
  margin-top: 4px;
  opacity: 0.8;
}
.prod-price .orig { font-size:11px; font-weight:400; color:var(--txt-soft); text-decoration:line-through; margin-right:6px; }
.prod-price small { font-size:10px; font-weight:500; color:var(--txt-soft); margin-left:2px; }
.app-ver{font-size:11px;color:var(--txt-soft);opacity:.6;margin-left:8px;}
/* Skeleton */
.skel { background:#fff; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--border); }
.skel-img { aspect-ratio:1; background:var(--blush-lt); }
.skel-body { padding:14px 16px; }
.skel-line { height:11px; background:var(--blush-lt); border-radius:4px; margin-bottom:8px; animation:pulse 1.6s infinite; }
.skel-line.s { width:55%; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.45} }
.bs-footer { text-align:center; margin-top:40px; }

/* ============================================================
   WHY US
============================================================ */
.why-sec { background:var(--burgundy); }
.why-sec .eyebrow { color:var(--gold-lt); }
.why-sec .sec-title { color:#fff; }
.why-sec .sec-sub   { color:rgba(255,255,255,.65); }
.feat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:52px; }
.feat-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:var(--r-md); padding:32px 22px; text-align:center; transition:var(--ease); }
.feat-card:hover { background:rgba(255,255,255,.14); transform:translateY(-4px); }
.feat-ico { font-size:34px; display:block; margin-bottom:14px; }
.feat-card h4 { font-family:var(--ff-display); font-size:17px; color:#fff; margin-bottom:8px; }
.feat-card p  { font-size:13px; color:rgba(255,255,255,.68); line-height:1.65; }

/* ============================================================
   TESTIMONIALS
============================================================ */
.testi-sec { background:var(--warm-white); }
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testi-grid.scrolling { display:flex; overflow-x:auto; scroll-behavior:smooth; gap:22px; padding-bottom:8px; -ms-overflow-style:none; scrollbar-width:none; }
.testi-grid.scrolling::-webkit-scrollbar { display:none; }
.testi-grid.scrolling .testi-card { min-width:320px; flex-shrink:0; }
.testi-card { background:#fff; border-radius:var(--r-md); padding:28px; border:1px solid var(--border); transition:var(--ease); }
.testi-card:hover { border-color:var(--blush); transform:translateY(-3px); box-shadow:0 12px 40px var(--shadow); }
.testi-stars { color:var(--gold); font-size:13.5px; margin-bottom:11px; }
.testi-txt   { font-size:13.5px; color:var(--txt-mid); line-height:1.75; font-style:italic; margin-bottom:20px; }
.testi-auth  { display:flex; align-items:center; gap:12px; }
.testi-av    { width:38px; height:38px; border-radius:50%; background:var(--blush-lt); display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:700; color:var(--burgundy); flex-shrink:0; }
.testi-name  { font-size:13.5px; font-weight:600; color:var(--txt); }
.testi-loc   { font-size:11.5px; color:var(--txt-soft); }

/* ============================================================
   GIFT CTA BANNER
============================================================ */
.gcta { background:linear-gradient(135deg,var(--blush-lt),var(--cream)); padding:88px 24px; text-align:center; }
.gcta-in { max-width:580px; margin:0 auto; }
.gcta-emoji { font-size:58px; display:block; margin-bottom:18px; }
.gcta h2 { font-family:var(--ff-display); font-size:clamp(26px,3.8vw,40px); color:var(--txt); margin-bottom:14px; }
.gcta p  { color:var(--txt-mid); font-size:15px; margin-bottom:32px; line-height:1.7; }
.gcta-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ============================================================
   FOOTER
============================================================ */
footer { background:var(--txt); color:rgba(255,255,255,.75); padding:64px 24px 28px; }
.foot-in { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
.foot-logo { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.foot-logo-ico { width:42px; height:42px; background:rgba(255,255,255,.1); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; }
.foot-logo strong { font-family:var(--ff-display); font-size:19px; color:#fff; }
.foot-brand p { font-size:12.5px; line-height:1.75; color:rgba(255,255,255,.55); margin-bottom:20px; }
.socials { display:flex; gap:9px; }
.soc-btn { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.1); color:rgba(255,255,255,.75); display:flex; align-items:center; justify-content:center; text-decoration:none; font-size:13px; transition:var(--ease); }
.soc-btn:hover { background:var(--burgundy); color:#fff; }
.foot-col h5 { font-size:11.5px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; color:#fff; margin-bottom:14px; }
.foot-col ul { list-style:none; }
.foot-col ul li { margin-bottom:9px; }
.foot-col ul a { text-decoration:none; color:rgba(255,255,255,.55); font-size:12.5px; transition:var(--ease); }
.foot-col ul a:hover { color:var(--blush); }
.foot-btm { max-width:1200px; margin:0 auto; padding-top:28px; border-top:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:space-between; font-size:11.5px; color:rgba(255,255,255,.38); flex-wrap:wrap; gap:12px; }
.pay-icons { display:flex; gap:7px; }
.pay-ico { padding:4px 9px; background:rgba(255,255,255,.07); border-radius:4px; font-size:10.5px; color:rgba(255,255,255,.45); }
.pay-label { color:rgba(255,255,255,.4); font-size:11px; }

/* ============================================================
   WHATSAPP FLOATING BUTTON
============================================================ */
.wa-float { position:fixed; bottom:26px; right:26px; z-index:999; width:54px; height:54px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:24px; text-decoration:none; box-shadow:0 4px 24px rgba(37,211,102,.45); transition:var(--ease); animation:wa-pulse 2s ease-in-out infinite; }
.wa-float:hover { transform:scale(1.12); }
@keyframes wa-pulse { 0%,100%{box-shadow:0 4px 24px rgba(37,211,102,.45)} 50%{box-shadow:0 4px 40px rgba(37,211,102,.7)} }

/* ============================================================
   TOAST NOTIFICATION
============================================================ */
.toast-container{position:fixed;bottom:90px;right:26px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;}
body.ar .toast-container{right:auto;left:26px;}
.toast { position:fixed; bottom:90px; right:26px; z-index:9999; background:var(--burgundy); color:#fff; padding:12px 20px; border-radius:12px; font-size:13px; box-shadow:0 4px 20px rgba(0,0,0,.2); display:flex; align-items:center; gap:8px; animation:toastIn .4s var(--anim-spring) both; }
@keyframes toastIn { from{opacity:0;transform:translateY(16px) scale(.92)} to{opacity:1;transform:none} }

/* ============================================================
   RESPONSIVE
============================================================ */
@media(max-width:1024px) {
  .prod-grid  { grid-template-columns:repeat(3,1fr); }
  .feat-grid  { grid-template-columns:repeat(2,1fr); }
  .foot-in    { grid-template-columns:1fr 1fr; gap:32px; }
}
@media(max-width:768px) {
  .nav-links, .nav-wa { display:none; }
  .nav-ham { display:flex; }
  .hero-in { grid-template-columns:1fr; text-align:center; }
  .hero-visual { display:none; }
  .hero-btns, .hero-stats { justify-content:center; }
  .cats-grid  { grid-template-columns:1fr; gap:14px; }
  .cat-card   { aspect-ratio:16/7; }
  .prod-grid  { grid-template-columns:repeat(2,1fr); }
  .feat-grid  { grid-template-columns:repeat(2,1fr); }
  .testi-grid { grid-template-columns:1fr; }
  .testi-grid.scrolling .testi-card { min-width:280px; }
  .foot-in    { grid-template-columns:1fr; gap:28px; }
  .foot-btm   { flex-direction:column; text-align:center; }
}
@media(max-width:480px) {
  .nav-logo-txt em { display:none; }
  .prod-grid  { grid-template-columns:repeat(2,1fr); gap:12px; }
  .sec { padding:64px 0; }
  .feat-grid  { grid-template-columns:1fr; }
}

/* ── Footer loading skeleton ── */
#footer:empty { min-height:220px; background:linear-gradient(90deg,var(--cream) 25%,var(--blush-lt) 50%,var(--cream) 75%); background-size:200% 100%; animation:shimmer 1.4s ease-in-out infinite; border-radius:12px; margin:0 20px; }
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── WA buttons hidden until Firebase is ready ── */
a[href*="wa.me/"] { visibility:hidden; }
.firebase-ready a[href*="wa.me/"] { visibility:visible; }
