/* ═══════════════════════════════════════════════════════════
   VAUDRE — LUXE UPGRADE LAYER · MASTER CLEAN v2
   (loaded AFTER style.css) · consolidated 19 Jul 2026
   Duplicates merged · dead rules removed · !important trimmed
═══════════════════════════════════════════════════════════ */

/* ─── 1 · COLOR SYSTEM ─────────────────────────────────────── */
:root{
  --gold:#a07e2e; --gold2:#c9a24b; --gold-soft:#b8973a;
  --gold-line:rgba(160,126,46,.30); --gold-bg:rgba(160,126,46,.07);
  --ink:#0a0a0a; --radius:2px; --shadow-lux:0 24px 70px -30px rgba(0,0,0,.55);
  --text1:var(--text); --bg1:var(--bg);
}
[data-theme="dark"]{
  --gold:#c9a24b; --gold2:#dcbd6e;
  --text:#fff; --text2:#dcdcdc; --text3:#a6a6a6; --text4:#6a6a6a;
  --gold-line:rgba(201,162,75,.35); --gold-bg:rgba(201,162,75,.08);
  --text1:var(--text); --bg1:var(--bg);
}
[data-theme="light"]{
  --bg:#fdfcfa; --bg2:#f6f3ec; --bg3:#efeae0; --bg4:#e6dfd1;
  --border:#d8d2c6; --border2:#c4bcab;
  --text:#161310; --text2:#3a352d; --text3:#6b6457; --text4:#9a9183;
  --gold:#8a6c22; --gold2:#a07e2e; --card:#ffffff;
  --gold-line:rgba(138,108,34,.32); --gold-bg:rgba(138,108,34,.06);
  --text1:var(--text); --bg1:var(--bg);
}

/* ─── 2 · TYPOGRAPHY SCALE-UP ──────────────────────────────── */
html{ font-size:17px; }
body{ font-weight:400; line-height:1.7; letter-spacing:.005em; color:var(--text); }

.eyebrow{ font-size:.72rem !important; letter-spacing:.34em; font-weight:600; color:var(--gold); }
.field label{ font-size:.72rem !important; letter-spacing:.16em; color:var(--text2) !important; font-weight:600; }
.summary-item-name{ font-size:1rem !important; }
.summary-item-meta{ font-size:.78rem !important; color:var(--text2) !important; }
.summary-item-price{ font-size:1rem !important; color:var(--gold) !important; font-weight:600; }
.summary-item img{ width:60px !important; height:76px !important; }
.tier .lvl{ font-size:.7rem !important; letter-spacing:.14em; }
.tier p{ font-size:.85rem !important; color:var(--text2) !important; line-height:1.7; }
.btn-line{ font-size:.76rem !important; letter-spacing:.18em; color:var(--text2) !important; border-color:var(--border2); }
.crumb button, .crumb span{ font-size:.72rem !important; }
.empty .s{ font-size:.72rem !important; color:var(--text3) !important; }
.line-item .li-size{ font-size:.74rem !important; color:var(--text2) !important; }
.li-remove{ font-size:.72rem !important; color:var(--text3) !important; }
.footer-col h3{ font-size:.72rem !important; color:var(--gold) !important; }
.footer-bottom p{ font-size:.74rem !important; color:var(--text3) !important; }
.size-chip{ font-size:.82rem !important; }
.tab-row button{ font-size:.72rem !important; }
.act-add{ font-size:.72rem !important; height:42px; }
.card-info .ed{ font-size:.66rem !important; letter-spacing:.24em; }
.card-info .stock{ font-size:.72rem !important; }
.card-badge{ font-size:.62rem !important; padding:5px 11px; }

[style*="font-size:7px"]{ font-size:.66rem !important; }
[style*="font-size:7.5px"]{ font-size:.68rem !important; }
[style*="font-size:8px"]{ font-size:.72rem !important; }
[style*="font-size:9px"]{ font-size:.78rem !important; }
[style*="font-size:9.5px"]{ font-size:.8rem !important; }
[style*="font-size:10px"]{ font-size:.84rem !important; }
[style*="font-size:11px"]{ font-size:.9rem !important; }
[data-theme="light"] [style*="color:var(--gold)"]{ color:var(--gold) !important; }
[data-theme="light"] [style*="var(--text3)"]{ color:var(--text2) !important; }
[data-theme="light"] [style*="var(--text4)"]{ color:var(--text3) !important; }

/* ─── 3 · DRAWERS / ACCOUNT ────────────────────────────────── */
.drawer-head h2{ font-size:1.7rem !important; letter-spacing:.01em; }
.drawer-body{ padding:1.6rem 1.6rem 2rem !important; }
.acct-id-name{ font-size:1.25rem !important; }
.acct-id-email{ font-size:.86rem !important; color:var(--text2) !important; font-family:var(--sans) !important; }
.acct-block-label,
.drawer-body [style*="text-transform:uppercase"][style*="letter-spacing"]{ color:var(--text2); }
.acct-points{ font-size:2rem !important; color:var(--gold) !important; font-weight:600; }
.lux-card{ background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:1.1rem 1.2rem; margin-bottom:1rem; }
.lux-card.gold{ border-color:var(--gold-line); background:var(--gold-bg); }
.lux-card-label{ font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:var(--text3); font-weight:600; }
.lux-row{ display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.lux-row + .lux-row{ margin-top:.65rem; padding-top:.65rem; border-top:1px solid var(--border); }
.lux-row .k{ font-size:.9rem; color:var(--text2); }
.lux-row .v{ font-size:.95rem; color:var(--text); font-weight:500; }
.lux-row .v.gold{ color:var(--gold); }
.lux-progress{ height:6px; background:var(--bg3); border-radius:99px; overflow:hidden; margin:.6rem 0; }
.lux-progress > span{ display:block; height:100%; background:linear-gradient(90deg,var(--gold),var(--gold2)); }

/* ─── 4 · HERO / EDITORIAL POLISH ──────────────────────────── */
.hero-title, h1.serif, .serif h1{ letter-spacing:.005em; }
.eyebrow, .crumb span.cur{ color:var(--gold); }
.lux-eyebrow{ font-size:.7rem; letter-spacing:.42em; text-transform:uppercase; color:var(--gold); font-weight:600; display:inline-block; margin-bottom:1rem; }
.lux-rule{ width:46px; height:1px; background:var(--gold); margin:1.2rem auto; }
.product-card{ transition:transform .5s var(--ease-lux); }
.product-card:hover{ transform:translateY(-4px); }

/* btn-gold — CONSOLIDATED */
.btn-gold{
  position:relative; overflow:hidden;
  font-size:.78rem !important; letter-spacing:.22em; padding:1.05rem 2.2rem; font-weight:700;
  white-space:nowrap; text-overflow:ellipsis;
}
.btn-gold:hover{ background:var(--gold2); }
[data-theme="light"] .btn-gold{ color:#fff; }
[data-theme="light"] .btn-gold:hover{ background:var(--gold); }
.pdp-detail .btn-gold{ letter-spacing:.08em !important; font-size:11px !important; padding:16px 12px !important; line-height:1.2 !important; }

/* ─── 5 · CHECKOUT FIELDS ──────────────────────────────────── */
.stripe-field{ font-size:1rem !important; padding:13px 14px !important; background:var(--bg3) !important; color:var(--text) !important; border:1px solid var(--border) !important; border-radius:var(--radius); transition:border-color .25s, box-shadow .25s; }
.stripe-field::placeholder{ color:var(--text3); opacity:.8; }
.stripe-field:focus{ border-color:var(--gold) !important; box-shadow:0 0 0 3px var(--gold-bg); outline:none; }
.checkout-section h3, .order-summary-card h3{ font-size:1rem !important; }
.summary-line{ font-size:.95rem !important; }
.summary-line.total{ font-size:1.15rem !important; }

/* ─── 6 · PAYMENT SELECTOR ─────────────────────────────────── */
.pay-methods{ display:grid; grid-template-columns:repeat(2,1fr); gap:.6rem; margin-bottom:1.4rem; }
.pay-method{ display:flex; align-items:center; gap:.7rem; padding:.85rem .9rem; border:1px solid var(--border); border-radius:var(--radius); background:var(--card); cursor:pointer; transition:all .25s; font-size:.82rem; letter-spacing:.04em; color:var(--text2); font-weight:600; }
.pay-method:hover{ border-color:var(--gold-line); }
.pay-method.active{ border-color:var(--gold); background:var(--gold-bg); color:var(--text); box-shadow:0 0 0 1px var(--gold) inset; }
.pay-method .pm-logo{ width:42px; height:28px; flex-shrink:0; border-radius:3px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.6rem; letter-spacing:.02em; color:#fff; }
.pay-method .pm-radio{ margin-left:auto; width:16px; height:16px; border-radius:50%; border:1.5px solid var(--border2); flex-shrink:0; position:relative; transition:all .2s; }
.pay-method.active .pm-radio{ border-color:var(--gold); }
.pay-method.active .pm-radio::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--gold); }
.pay-panel{ display:none; animation:fadeUp .4s var(--ease) both; }
.pay-panel.active{ display:block; }
.pay-note{ font-size:.78rem; color:var(--text2); line-height:1.7; background:var(--bg2); border:1px solid var(--border); border-left:2px solid var(--gold); padding:.85rem 1rem; border-radius:var(--radius); margin-top:.4rem; }
.pay-note strong{ color:var(--gold); }
.wallet-box{ border:1px solid var(--border); border-radius:var(--radius); padding:1.1rem 1.2rem; background:var(--card); }
.wallet-box ol{ margin:.6rem 0 0 1.1rem; padding:0; }
.wallet-box li{ font-size:.86rem; color:var(--text2); line-height:1.9; }
.wallet-acct{ display:flex; justify-content:space-between; align-items:center; margin-top:.9rem; padding:.7rem .9rem; background:var(--gold-bg); border:1px solid var(--gold-line); border-radius:var(--radius); font-size:.9rem; color:var(--text); font-weight:600; }

/* ─── 7 · AI CHATBOT (consolidated) ────────────────────────── */
#chat-fab{ position:fixed; right:22px; bottom:22px; z-index:900; width:60px; height:60px; border-radius:50%; background:linear-gradient(145deg,var(--gold),var(--gold-soft)); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 34px -10px rgba(0,0,0,.5); cursor:pointer; transition:transform .3s var(--ease-lux), box-shadow .3s; border:1px solid rgba(255,255,255,.15); }
#chat-fab:hover{ transform:translateY(-3px) scale(1.04); }
#chat-fab svg{ width:26px; height:26px; }
#chat-fab .chat-dot{ position:absolute; top:-2px; right:-2px; width:14px; height:14px; background:#22c55e; border:2px solid var(--bg); border-radius:50%; }

#chat-window{ position:fixed; right:16px; bottom:94px; z-index:901; width:min(380px,calc(100vw - 32px)); max-width:calc(100vw - 32px); height:min(560px,calc(100vh - 130px)); background:var(--card); border:1px solid var(--border); border-radius:10px; box-shadow:var(--shadow-lux); display:flex; flex-direction:column; overflow:hidden; transform:translateY(20px) scale(.96); opacity:0; pointer-events:none; transition:all .35s var(--ease-lux); }
#chat-window.open{ transform:translateY(0) scale(1); opacity:1; pointer-events:auto; }
#chat-window, #chat-window *{ box-sizing:border-box; }

.chat-head{ padding:1.1rem 1.2rem; background:var(--ink); color:#fff; display:flex; align-items:center; gap:.8rem; flex-shrink:0; border-bottom:1px solid var(--gold-line); }
[data-theme="light"] .chat-head{ background:#161310; }
.chat-head .ch-avatar{ width:38px; height:38px; border-radius:50%; flex-shrink:0; background:linear-gradient(145deg,var(--gold),var(--gold-soft)); display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:1.1rem; color:#fff; }
.chat-head .ch-name{ font-family:var(--serif); font-size:1.15rem; line-height:1.1; }
.chat-head .ch-status{ font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:#22c55e; display:flex; align-items:center; gap:5px; margin-top:3px; }
.chat-head .ch-status::before{ content:""; width:6px; height:6px; border-radius:50%; background:#22c55e; }
.chat-close{ margin-left:auto; color:rgba(255,255,255,.7); font-size:1.5rem; line-height:1; cursor:pointer; }
.chat-close:hover{ color:#fff; }

.chat-body{ flex:1; overflow-y:auto; padding:1rem .9rem; display:flex; flex-direction:column; gap:.8rem; background:var(--bg2); }
.chat-msg{ max-width:88%; padding:.7rem .95rem; border-radius:14px; font-size:.9rem; line-height:1.6; }
.chat-msg.bot{ background:var(--card); border:1px solid var(--border); color:var(--text); align-self:flex-start; border-bottom-left-radius:4px; }
.chat-msg.user{ background:var(--gold); color:#fff; align-self:flex-end; border-bottom-right-radius:4px; }
[data-theme="dark"] .chat-msg.user{ color:#000; }
.chat-msg a{ color:var(--gold); text-decoration:underline; }
.chat-msg.user a{ color:#fff; }
.chat-typing{ display:flex; gap:4px; padding:.7rem .95rem; align-self:flex-start; }
.chat-typing span{ width:7px; height:7px; border-radius:50%; background:var(--text3); animation:chatBlink 1.2s infinite both; }
.chat-typing span:nth-child(2){ animation-delay:.2s; }
.chat-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes chatBlink{ 0%,80%,100%{ opacity:.25; } 40%{ opacity:1; } }

.chat-quick{ display:flex; gap:.35rem; flex-wrap:wrap; padding:.6rem .7rem; background:var(--bg2); border-top:1px solid var(--border); }
.chat-chip{ font-weight:700; font-size:.64rem; padding:.35rem .55rem; border:1px solid var(--gold-line); border-radius:99px; color:var(--gold); background:var(--gold-bg); cursor:pointer; transition:all .2s; letter-spacing:0; white-space:nowrap; }
.chat-chip:hover{ background:var(--gold); color:#fff; }

.chat-input-row{ display:flex; flex-wrap:nowrap; gap:.4rem; padding:.8rem .8rem; background:var(--card); border-top:1px solid var(--border); flex-shrink:0; }
.chat-input-row input{ flex:1 1 auto; min-width:0; background:var(--bg3); border:1px solid var(--border); border-radius:99px; padding:.7rem 1rem; font-size:.9rem; color:var(--text); outline:none; }
.chat-input-row input:focus{ border-color:var(--gold); }
.chat-send{ width:42px; height:42px; border-radius:50%; flex-shrink:0; background:var(--gold); color:#fff; display:flex; align-items:center; justify-content:center; transition:background .2s; }
.chat-send:hover{ background:var(--gold2); }
.chat-send svg{ width:18px; height:18px; }
.chat-voice{ width:42px; height:42px; border-radius:50%; flex-shrink:0; cursor:pointer; background:var(--bg3,#1a1a1a); color:var(--text2); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; transition:all .2s; }
.chat-voice:hover{ color:var(--gold); border-color:var(--gold); }
.chat-voice svg{ width:18px; height:18px; }
.chat-voice.active{ color:var(--gold); border-color:var(--gold); background:rgba(184,151,58,.1); }
.chat-voice.listening{ color:#fff; background:#c0392b; border-color:#c0392b; animation:micpulse 1s infinite; }
@keyframes micpulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(192,57,43,.5);} 50%{ box-shadow:0 0 0 6px rgba(192,57,43,0);} }

.ch-stylist{ background:transparent; border:none; cursor:pointer; color:var(--gold); width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%; margin-left:auto; transition:background .2s; }
.ch-stylist:hover{ background:rgba(160,126,46,.14); }
.ch-stylist svg{ width:18px; height:18px; }
.ch-whatsapp{ background:transparent; border:none; cursor:pointer; color:#25D366; width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:50%; margin-left:auto; transition:background .2s; text-decoration:none; }
.ch-whatsapp:hover{ background:rgba(37,211,102,.14); }
.ch-whatsapp + .ch-stylist{ margin-left:0; }
.chat-cta{ display:inline-block; margin-top:.5rem; padding:.5rem .9rem; border-radius:3px; background:var(--gold); color:#1a1a1a; border:none; cursor:pointer; font-size:11px; font-weight:600; letter-spacing:.06em; }
.chat-cta:hover{ filter:brightness(1.08); }

.ch-pop{ position:fixed; z-index:9998; max-width:230px; background:#1a1a1a; color:#f5f0e6; border:1px solid rgba(200,170,110,.4); border-radius:14px; padding:12px 16px; font-size:13px; line-height:1.5; box-shadow:0 8px 30px rgba(0,0,0,.45); opacity:0; transform:translateY(8px); transition:opacity .35s, transform .35s; pointer-events:none; font-family:inherit; }
.ch-pop.show{ opacity:1; transform:translateY(0); }
.ch-pop b{ color:#d8b877; font-weight:600; }
.ch-pop::after{ content:""; position:absolute; width:10px; height:10px; background:#1a1a1a; border-right:1px solid rgba(200,170,110,.4); border-bottom:1px solid rgba(200,170,110,.4); transform:rotate(45deg); }
.ch-pop.pop-fab::after{ bottom:-6px; right:26px; }
.ch-pop.pop-stylist::after{ top:-6px; right:30px; }
.ch-pop.pop-voice::after{ bottom:-6px; left:40px; }

/* ─── 8 · COOKIE BANNER + WHATSAPP CONFIRM ─────────────────── */
.cookie-banner{ position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:900; max-width:760px; margin:0 auto; background:var(--bg2,#111); border:1px solid var(--gold,#b8973a); border-radius:6px; padding:1.1rem 1.3rem; display:flex; align-items:center; justify-content:space-between; gap:1.2rem; flex-wrap:wrap; box-shadow:0 12px 40px rgba(0,0,0,.4); }
.cookie-text{ font-size:.82rem; color:var(--text2); line-height:1.6; flex:1; min-width:220px; margin:0; }
.cookie-text a{ color:var(--gold); text-decoration:underline; }
.cookie-actions{ display:flex; gap:.6rem; flex-wrap:wrap; }
.cookie-btn{ padding:.55rem 1.1rem; font-size:.7rem; letter-spacing:.06em; white-space:nowrap; }
@media (max-width:520px){ .cookie-banner{ flex-direction:column; align-items:stretch; } .cookie-actions{ justify-content:flex-end; } }
.wa-confirm{ display:inline-flex; align-items:center; gap:.6rem; margin-top:1.2rem; padding:.8rem 1.3rem; background:#25D366; color:#fff; border-radius:99px; font-size:.85rem; font-weight:600; letter-spacing:.02em; cursor:pointer; border:none; transition:opacity .2s; }
.wa-confirm:hover{ opacity:.9; }
.wa-confirm svg{ width:18px; height:18px; }

/* ─── 9 · SOCIAL / PHONE SIGN-IN ───────────────────────────── */
.social-auth{ display:flex; flex-direction:column; gap:.55rem; margin:.4rem 0 1rem; }
.social-btn{ display:flex; align-items:center; justify-content:center; gap:.6rem; width:100%; height:46px; border-radius:3px; cursor:pointer; font-family:'Montserrat',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.04em; transition:transform .15s, box-shadow .2s, background .2s; border:1px solid var(--border,#d9d4c8); }
.social-btn:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.12); }
.social-btn:active{ transform:translateY(0); }
.social-btn svg{ flex:0 0 auto; }
.social-google{ background:#fff; color:#222; }
.social-apple{ background:#000; color:#fff; border-color:#000; }
.social-phone{ background:transparent; color:var(--gold,#a07e2e); border-color:var(--gold,#a07e2e); }
.social-phone:hover{ background:rgba(160,126,46,.06); }
.social-divider{ display:flex; align-items:center; text-align:center; color:var(--text3,#8a857a); font-size:10px; letter-spacing:.16em; text-transform:uppercase; margin:.3rem 0 .1rem; }
.social-divider::before, .social-divider::after{ content:""; flex:1; height:1px; background:var(--border,#ddd6c8); }
.social-divider span{ padding:0 .8rem; }
.otp-sent-to{ font-size:11.5px; color:var(--text2,#555); text-align:center; margin:0 0 1rem; line-height:1.5; }
.otp-input{ text-align:center !important; letter-spacing:.5em !important; font-size:20px !important; font-weight:600; font-family:'Montserrat',sans-serif; padding-left:.5em !important; }

/* ─── 10 · AI EXPERIENCES (Try-On + Stylist modals) ────────── */
.btn-tryon{ display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,#1c1c1c,#2e2a20); color:#f3e9cf; border:1px solid var(--gold,#a07e2e); font-family:'Montserrat',sans-serif; font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:transform .15s, box-shadow .2s; }
.btn-tryon:hover{ transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,0,0,.25); color:#fff; }
.ai-overlay{ position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center; background:rgba(15,13,10,.72); backdrop-filter:blur(6px); opacity:0; transition:opacity .25s; padding:20px; }
.ai-overlay.show{ opacity:1; }
.ai-modal{ background:var(--bg1,#fff); color:var(--text1,#1c1c1c); width:min(920px,96vw); max-height:92vh; overflow-y:auto; border-radius:6px; box-shadow:0 40px 120px rgba(0,0,0,.5); position:relative; transform:translateY(18px) scale(.98); transition:transform .3s cubic-bezier(.2,.9,.3,1); border:1px solid var(--border,#e4dfd2); }
.ai-overlay.show .ai-modal{ transform:translateY(0) scale(1); }
.ai-close{ position:absolute; top:14px; right:16px; width:34px; height:34px; border-radius:50%; background:rgba(0,0,0,.06); border:none; font-size:22px; line-height:1; cursor:pointer; color:var(--text2,#555); z-index:2; transition:background .2s; }
.ai-close:hover{ background:rgba(0,0,0,.12); }
.ai-modal-head{ padding:2.2rem 2.4rem 1.2rem; border-bottom:1px solid var(--border,#eee); }
.ai-eyebrow{ font-size:10px; letter-spacing:.24em; text-transform:uppercase; color:var(--gold,#a07e2e); font-weight:600; }
.ai-title{ font-family:'Cormorant Garamond',serif; font-size:34px; font-weight:600; margin:.3rem 0 0; line-height:1.1; color:var(--text1,#1c1c1c); }
.ai-modal-body{ padding:1.8rem 2.4rem 2.4rem; }
.ai-lead{ font-size:14px; line-height:1.7; color:var(--text2,#555); margin:0 0 1.2rem; }
.ai-fineprint{ font-size:10.5px; color:var(--text3,#999); margin:.8rem 0 0; line-height:1.5; }
.ai-drop{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem; width:100%; min-height:180px; border:1.5px dashed var(--gold,#a07e2e); border-radius:4px; cursor:pointer; background-size:cover; background-position:center; position:relative; text-align:center; transition:border-color .2s, background .2s; }
.ai-drop.ai-drop-sm{ min-height:90px; margin-top:.4rem; }
.ai-drop:hover{ background-color:rgba(160,126,46,.05); }
.ai-drop.has-image::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.35); border-radius:4px; }
.ai-drop.has-image .ai-drop-icon, .ai-drop.has-image .ai-drop-text{ position:relative; color:#fff; z-index:1; }
.ai-drop-icon{ font-size:24px; color:var(--gold,#a07e2e); }
.ai-drop-text{ font-size:12px; letter-spacing:.04em; color:var(--text2,#555); }
.ai-msg{ display:none; font-size:12px; margin-top:.7rem; padding:.6rem .9rem; border-radius:3px; }
.ai-msg.show{ display:block; }
.ai-msg.error{ background:rgba(239,68,68,.1); color:#b91c1c; }
.ai-msg.success{ background:rgba(34,197,94,.1); color:#15803d; }
.tryon-grid{ display:grid; grid-template-columns:1fr 1.2fr; gap:1.8rem; }
.tryon-product img{ width:100%; border-radius:4px; aspect-ratio:3/4; object-fit:cover; }
.tryon-prod-meta{ margin-top:.8rem; }
.tryon-prod-meta h3{ font-family:'Cormorant Garamond',serif; font-size:22px; margin:.2rem 0; }
.tryon-price{ font-family:'Montserrat',monospace; font-size:13px; color:var(--gold,#a07e2e); font-weight:600; }
.tryon-result{ margin-top:1.8rem; padding-top:1.6rem; border-top:1px solid var(--border,#eee); }
.tryon-compose{ display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; }
.tryon-compose figure{ margin:0; text-align:center; }
.tryon-compose img{ width:160px; height:213px; object-fit:cover; border-radius:4px; box-shadow:0 8px 30px rgba(0,0,0,.18); }
.tryon-compose figcaption{ font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--text3,#999); margin-top:.5rem; }
.tryon-plus{ font-size:28px; color:var(--gold,#a07e2e); font-weight:300; }
.ai-result-msg{ text-align:center; font-size:14px; color:var(--text2,#555); margin:1.2rem 0 0; }
.ai-loading{ display:flex; flex-direction:column; align-items:center; gap:1rem; padding:2.4rem 0; }
.ai-loading p{ font-size:13px; color:var(--text3,#999); letter-spacing:.04em; }
.ai-spinner{ width:34px; height:34px; border:2.5px solid rgba(160,126,46,.2); border-top-color:var(--gold,#a07e2e); border-radius:50%; animation:aiSpin .8s linear infinite; }
@keyframes aiSpin{ to{ transform:rotate(360deg); } }
.ai-textarea{ width:100%; padding:.8rem 1rem; border:1px solid var(--border,#d9d4c8); border-radius:3px; font-family:'Montserrat',sans-serif; font-size:13.5px; resize:vertical; background:var(--bg2,#faf8f3); color:var(--text1,#1c1c1c); }
.ai-textarea:focus{ outline:none; border-color:var(--gold,#a07e2e); }
.st-gender{ display:flex; gap:.5rem; margin-bottom:1rem; }
.st-gender-btn{ flex:1; padding:.6rem; border:1px solid var(--border,#d9d4c8); background:transparent; font-size:11px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; border-radius:3px; color:var(--text2,#555); transition:all .18s; }
.st-gender-btn.active{ border-color:var(--gold,#a07e2e); background:rgba(160,126,46,.08); color:var(--gold,#a07e2e); font-weight:600; }
.stylist-result{ margin-top:1.8rem; padding-top:1.6rem; border-top:1px solid var(--border,#eee); }
.st-analysis p{ font-size:14px; line-height:1.7; color:var(--text2,#555); margin:.4rem 0 0; font-style:italic; }
.st-cards{ display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1rem; }
.st-card{ border:1px solid var(--border,#eee); border-radius:4px; overflow:hidden; cursor:pointer; transition:transform .18s, box-shadow .2s; background:var(--bg1,#fff); }
.st-card:hover{ transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,.12); }
.st-card-img{ width:100%; aspect-ratio:3/4; background-size:cover; background-position:center; background-color:#eee; }
.st-card-body{ padding:.8rem .9rem; }
.st-card-body h4{ font-family:'Cormorant Garamond',serif; font-size:17px; margin:0 0 .2rem; line-height:1.2; }
.st-card-price{ font-size:11px; color:var(--gold,#a07e2e); font-weight:600; font-family:monospace; }
.st-card-reason{ font-size:11px; color:var(--text3,#999); margin:.4rem 0 0; line-height:1.45; }
[data-theme="dark"] #tryon-modal-body .ai-lead,
[data-theme="dark"] .tryon-grid .ai-lead{ color:var(--text) !important; }
[data-theme="dark"] #tryon-modal-body .ai-fineprint,
[data-theme="dark"] .tryon-grid .ai-fineprint{ color:var(--text2,#aaa) !important; }
@media (max-width:680px){
  .tryon-grid{ grid-template-columns:1fr; }
  .ai-modal-head{ padding:1.8rem 1.4rem 1rem; }
  .ai-modal-body{ padding:1.4rem; }
  .ai-title{ font-size:26px; }
  .tryon-compose img{ width:130px; height:173px; }
}

/* Try-on match ring + verdict + suggestions */
.tryon-match{ display:flex; flex-direction:column; align-items:center; gap:.6rem; margin:1.6rem 0; }
.tryon-ring{ position:relative; width:120px; height:120px; }
.tryon-ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.tryon-ring-bg{ fill:none; stroke:rgba(160,126,46,.15); stroke-width:8; }
.tryon-ring-fg{ fill:none; stroke:var(--gold,#a07e2e); stroke-width:8; stroke-linecap:round; transition:stroke-dashoffset 1.1s cubic-bezier(.2,.9,.3,1); }
.tryon-ring-num{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:32px; font-weight:600; color:var(--text1,#1c1c1c); }
.tryon-ring-num small{ font-size:14px; margin-left:1px; color:var(--gold,#a07e2e); }
.tryon-match-label{ font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold,#a07e2e); font-weight:600; }
.tryon-verdict{ background:var(--bg2,#f7f4ec); border:1px solid rgba(160,126,46,.25); border-radius:6px; padding:1.1rem 1.3rem; margin:1.2rem 0; }
.tryon-verdict p{ margin:.35rem 0 0; font-size:13.5px; line-height:1.75; color:var(--text2,#555); font-style:italic; }
.tryon-suggest{ margin:1.6rem 0 .4rem; }
.tryon-suggest .ai-eyebrow{ display:block; margin-bottom:.7rem; }
.tryon-suggest-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:.9rem; }
.tryon-suggest-card{ cursor:pointer; border:1px solid var(--border,#e4dfd2); border-radius:4px; overflow:hidden; background:var(--bg1,#fff); transition:transform .18s, box-shadow .2s; }
.tryon-suggest-card:hover{ transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,.12); }
.tryon-suggest-img{ width:100%; aspect-ratio:3/4; background-size:cover; background-position:center; background-color:#eee; }
.tryon-suggest-meta{ padding:.6rem .7rem; display:flex; flex-direction:column; gap:3px; }
.tryon-suggest-name{ font-family:'Cormorant Garamond',serif; font-size:15px; color:var(--text1,#1a1a1a); line-height:1.2; }
.tryon-suggest-price{ font-size:11px; color:var(--gold,#a07e2e); font-weight:600; font-family:monospace; }
.tryon-generating-badge{ display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(184,151,58,.3); padding:10px 14px; margin-bottom:1rem; }
.tryon-final img{ width:100%; max-height:600px; object-fit:contain; }
.tryon-final figcaption{ text-align:center; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--text3); margin-top:.5rem; }
@media (max-width:680px){ .tryon-suggest-grid{ grid-template-columns:repeat(2,1fr); } }

/* ─── 11 · SIZE GUIDE (editorial) ──────────────────────────── */
.lux-size{ max-width:860px; margin:0 auto; }
.lux-size-intro{ font-size:14.5px; line-height:1.8; color:var(--text2,#555); text-align:center; max-width:680px; margin:0 auto 2.4rem; }
.lux-size-tabs{ display:flex; flex-direction:column; align-items:center; gap:1rem; margin-bottom:1.6rem; }
.lux-tab-group{ display:inline-flex; border:1px solid var(--border,#ddd6c8); border-radius:3px; overflow:hidden; }
.lux-tab{ padding:.7rem 1.6rem; background:transparent; border:none; cursor:pointer; font-family:'Montserrat',sans-serif; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--text2,#666); transition:all .2s; }
.lux-tab.active{ background:var(--gold,#a07e2e); color:#1a1a1a; font-weight:600; }
.lux-subtab{ padding:.55rem 1.3rem; background:transparent; border:none; cursor:pointer; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--text3,#999); transition:all .2s; }
.lux-subtab.active{ color:var(--gold,#a07e2e); font-weight:600; }
.lux-tab-group-sub{ border:none; gap:.4rem; }
.lux-size-table-wrap{ overflow-x:auto; border:1px solid var(--border,#e4dfd2); border-radius:4px; }
.lux-size-table{ width:100%; border-collapse:collapse; font-size:13px; min-width:520px; }
.lux-size-table thead th{ background:var(--bg2,#f7f4ec); padding:.95rem 1rem; text-align:center; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold,#a07e2e); font-weight:700; border-bottom:1px solid var(--gold,#a07e2e); }
.lux-size-table td{ padding:.85rem 1rem; text-align:center; color:var(--text2,#555); border-bottom:1px solid var(--border,#eee); }
.lux-size-table tbody tr:nth-child(even){ background:var(--bg2,#faf8f3); }
.lux-size-table tbody tr:hover{ background:rgba(160,126,46,.06); }
.lux-size-table .col-size{ font-weight:700; color:var(--text1,#1a1a1a); font-family:'Cormorant Garamond',serif; font-size:16px; text-align:left; }
.lux-size-table thead .col-size{ text-align:left; }
.lux-measure{ display:grid; grid-template-columns:160px 1fr; gap:2.4rem; align-items:center; margin:3rem 0; padding:2.2rem; background:var(--bg2,#f7f4ec); border-radius:6px; }
.lux-measure-figure{ display:flex; justify-content:center; color:var(--gold,#a07e2e); }
.lux-measure-figure svg{ width:120px; height:auto; }
.lux-measure-figure .m-bust{ color:#c9a13b; } .lux-measure-figure .m-waist{ color:#a07e2e; } .lux-measure-figure .m-hip{ color:#8a6c22; }
.measure-step{ display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.1rem; }
.measure-step:last-child{ margin-bottom:0; }
.measure-num{ flex:0 0 auto; width:26px; height:26px; border-radius:50%; border:1px solid var(--gold,#a07e2e); color:var(--gold,#a07e2e); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; }
.measure-step h4{ font-family:'Cormorant Garamond',serif; font-size:18px; margin:0 0 .15rem; color:var(--text1,#1a1a1a); }
.measure-step p{ font-size:12.5px; line-height:1.6; color:var(--text3,#888); margin:0; }
.lux-size-note{ text-align:center; padding-top:1rem; border-top:1px solid var(--border,#eee); }
.lux-size-note p{ font-size:13px; color:var(--text3,#999); line-height:1.7; max-width:560px; margin:0 auto 1.2rem; }
@media (max-width:640px){
  .lux-measure{ grid-template-columns:1fr; gap:1.4rem; text-align:center; }
  .lux-measure-steps{ text-align:left; }
  .measure-step{ justify-content:flex-start; }
}

/* Custom-size selector + per-type charts */
.sizing-toggle{ display:flex; gap:6px; margin-bottom:1rem; border:1px solid var(--border); padding:4px; width:fit-content; }
.sizing-tab{ padding:7px 18px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:var(--text3); background:transparent; border:none; cursor:pointer; transition:all .25s; }
.sizing-tab.active{ background:var(--gold); color:#000; }
.custom-size-card{ border:1px solid rgba(184,151,58,.25); background:linear-gradient(180deg,rgba(184,151,58,.04),transparent); padding:1.4rem; }
.custom-size-title{ font-size:.95rem; letter-spacing:.14em; color:var(--gold); margin:0 0 .6rem; font-weight:400; }
.custom-size-copy{ font-size:11px; color:var(--text3); line-height:1.8; margin:0 0 .9rem; }
.custom-size-guide-link{ background:none; border:none; color:var(--gold); font-size:9px; letter-spacing:.12em; text-transform:uppercase; text-decoration:underline; cursor:pointer; padding:0; margin-bottom:1rem; }
.custom-unit-row{ display:flex; align-items:center; justify-content:space-between; margin:.6rem 0; }
.unit-toggle{ display:flex; border:1px solid var(--border); }
.unit-tab{ padding:5px 14px; font-size:9px; text-transform:uppercase; letter-spacing:.1em; background:transparent; border:none; color:var(--text3); cursor:pointer; }
.unit-tab.active{ background:var(--gold); color:#000; }
.custom-fields{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:.8rem 0; }
.custom-fields label{ display:flex; flex-direction:column; gap:5px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--text3); }
.custom-fields input{ background:var(--bg3); border:1px solid var(--border); color:var(--text); padding:10px; font-size:13px; outline:none; }
.custom-fields input:focus{ border-color:var(--gold); }
.custom-confirm{ display:flex; gap:10px; align-items:flex-start; font-size:10.5px; color:var(--text3); line-height:1.6; margin-top:.6rem; cursor:pointer; }
.custom-confirm input{ margin-top:2px; accent-color:var(--gold); flex-shrink:0; }
.custom-confirm strong{ color:var(--gold); }
.lux-chart-tabs{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:2rem 0 2.2rem; }
.lux-chart-tab{ padding:8px 16px; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--text3); background:transparent; border:1px solid var(--border); cursor:pointer; transition:all .25s; font-weight:700; }
.lux-chart-tab:hover{ border-color:rgba(184,151,58,.4); color:var(--gold); }
.lux-chart-tab.active{ background:var(--gold); color:#000; border-color:var(--gold); }
.lux-chart-head{ display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:1rem; }
.lux-chart-title{ font-size:1.3rem; font-weight:300; color:var(--text); }
.lux-chart-unit{ font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--text3); }
.lux-chart-note{ font-size:11px; color:var(--text3); line-height:1.7; margin-top:1rem; }
.size-chart-modal{ position:fixed; inset:0; z-index:2000; display:none; }
.size-chart-modal.open{ display:block; }
.size-chart-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.78); backdrop-filter:blur(4px); }
.size-chart-panel{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:min(640px,92vw); max-height:88vh; overflow-y:auto; background:var(--bg2,#0e0e0e); border:1px solid rgba(184,151,58,.3); padding:2rem; }
.size-chart-close{ position:absolute; top:12px; right:16px; background:none; border:none; color:var(--text3); font-size:28px; line-height:1; cursor:pointer; }
.size-chart-close:hover{ color:var(--gold); }
@media (max-width:640px){ .size-chart-panel{ padding:1.4rem; } }

/* ─── 12 · PRELAUNCH / 404 / CONCIERGE / SKELETONS ─────────── */
.prelaunch-wrap{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:#0b0b0c; color:#fff; padding:2rem; position:relative; overflow:hidden; }
.prelaunch-wrap::before{ content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 0%, rgba(212,175,106,.14), transparent 60%); }
.prelaunch-inner{ position:relative; text-align:center; max-width:560px; }
.prelaunch-logo{ font-size:2.6rem; letter-spacing:.42em; color:#fff; font-weight:500; }
.prelaunch-tag{ font-size:.6rem; letter-spacing:.34em; text-transform:uppercase; color:#d4af6a; margin-top:.5rem; }
.prelaunch-h1{ font-size:clamp(2rem,6vw,3.4rem); line-height:1.1; margin:2.4rem 0 1rem; color:#fff; font-weight:400; }
.prelaunch-h1 em{ color:#d4af6a; font-style:italic; }
.prelaunch-sub{ font-size:.95rem; line-height:1.8; color:#e8e8ea; margin-bottom:2.4rem; }
.prelaunch-form{ display:flex; gap:.6rem; max-width:440px; margin:0 auto; flex-wrap:wrap; }
.prelaunch-form input{ flex:1; min-width:200px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.25); color:#fff; padding:.95rem 1.1rem; font-size:.95rem; border-radius:2px; outline:none; }
.prelaunch-form input::placeholder{ color:#b8b8bc; }
.prelaunch-form input:focus{ border-color:#d4af6a; }
.prelaunch-form .btn-gold{ padding:.95rem 1.8rem; white-space:nowrap; }
.prelaunch-msg{ margin-top:1rem; font-size:.85rem; min-height:1.2em; color:#e8e8ea; }
.prelaunch-msg.ok{ color:#7ee0a0; }
.prelaunch-msg.err{ color:#ff8a8a; }
.prelaunch-social{ margin-top:2.6rem; font-size:.8rem; color:#cfcfd2; display:flex; gap:.7rem; justify-content:center; align-items:center; }
.prelaunch-social a{ color:#fff; text-decoration:none; border-bottom:1px solid #d4af6a; padding-bottom:1px; }
.prelaunch-social a:hover{ color:#d4af6a; }
.error-page{ min-height:72vh; display:flex; align-items:center; justify-content:center; padding:6rem 1.5rem 4rem; text-align:center; }
.error-inner{ max-width:560px; }
.error-code{ font-size:clamp(4rem,16vw,9rem); line-height:1; color:var(--gold); font-weight:500; }
.error-inner h1{ font-size:clamp(1.6rem,4vw,2.4rem); margin:1rem 0 .8rem; color:var(--text); font-weight:400; }
.error-inner h1 em{ font-style:italic; color:var(--gold); }
.error-inner p{ color:var(--text2); font-size:.95rem; line-height:1.8; margin-bottom:2rem; }
.error-actions{ display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; }
.concierge-head{ text-align:center; max-width:680px; margin:0 auto 2.6rem; }
.concierge-head h1{ font-size:clamp(2rem,5vw,3rem); margin:.6rem 0 .8rem; color:var(--text); font-weight:400; }
.concierge-head h1 em{ font-style:italic; color:var(--gold); }
.concierge-head p{ color:var(--text2); font-size:1rem; line-height:1.8; }
.concierge-shell{ max-width:760px; margin:0 auto; border:1px solid var(--border); background:var(--bg2); border-radius:4px; overflow:hidden; }
.concierge-status{ display:flex; align-items:center; gap:.5rem; padding:1rem 1.4rem; border-bottom:1px solid var(--border); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text2); }
.concierge-status .dot{ width:8px; height:8px; border-radius:50%; background:#22c55e; box-shadow:0 0 0 3px rgba(34,197,94,.18); }
.concierge-log{ padding:1.6rem; min-height:340px; max-height:54vh; overflow-y:auto; display:flex; flex-direction:column; gap:.9rem; }
.cc-msg{ max-width:82%; padding:.85rem 1.1rem; border-radius:4px; font-size:.95rem; line-height:1.65; }
.cc-bot{ align-self:flex-start; background:var(--bg3); color:var(--text); }
.cc-user{ align-self:flex-end; background:var(--gold); color:#000; font-weight:500; }
.cc-typing{ display:flex; gap:5px; align-items:center; }
.cc-typing span{ width:7px; height:7px; border-radius:50%; background:var(--text3); animation:ccblink 1.2s infinite both; }
.cc-typing span:nth-child(2){ animation-delay:.2s; } .cc-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes ccblink{ 0%,80%,100%{ opacity:.25 } 40%{ opacity:1 } }
.concierge-form{ display:flex; border-top:1px solid var(--border); }
.concierge-form input{ flex:1; background:transparent; border:none; outline:none; padding:1.1rem 1.4rem; font-size:.95rem; color:var(--text); }
.concierge-form .btn-gold{ border-radius:0; padding:0 1.8rem; }
.concierge-suggest{ display:flex; gap:.5rem; flex-wrap:wrap; padding:1rem 1.4rem; border-top:1px solid var(--border); }
.concierge-suggest button{ font-size:.78rem; padding:.5rem .9rem; border:1px solid var(--border); background:transparent; color:var(--text2); border-radius:40px; cursor:pointer; transition:all .2s; }
.concierge-suggest button:hover{ border-color:var(--gold); color:var(--text); }
.skeleton{ position:relative; overflow:hidden; background:var(--bg3); border-radius:3px; }
.skeleton::after{ content:""; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, transparent, rgba(212,175,106,.10), transparent); animation:skel 1.3s infinite; }
@keyframes skel{ 100%{ transform:translateX(100%) } }
.skel-card{ display:flex; flex-direction:column; gap:.7rem; }
.skel-img{ width:100%; aspect-ratio:3/4; }
.skel-line{ height:12px; width:80%; } .skel-line.sm{ width:50%; height:10px; }
.skeleton-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.5rem; }

/* ─── 13 · FOOTERS ─────────────────────────────────────────── */
.footer-minimal{ border-top:1px solid var(--border); background:var(--bg2); }
.footer-min-grid{ display:grid; grid-template-columns:1.4fr 1fr 1.2fr; gap:3rem; padding:3.5rem 0 2.5rem; }
.footer-brand-col .footer-logo{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:1.8rem; letter-spacing:.34em; color:var(--text); }
.footer-tagline{ font-size:.85rem; color:var(--text2); line-height:1.8; max-width:20rem; margin:1rem 0 1.4rem; }
.footer-links-col{ display:flex; flex-direction:column; gap:.85rem; }
.footer-links-col a{ color:var(--text); font-size:.9rem; cursor:pointer; text-decoration:none; transition:color .2s; }
.footer-links-col a:hover{ color:var(--gold); }
.footer-news-label{ display:block; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:.6rem; }
.footer-news-sub{ font-size:.82rem; color:var(--text2); line-height:1.7; margin-bottom:1rem; }
.footer-minimal .footer-bottom{ border-top:1px solid var(--border); }
.footer-minimal .footer-bottom .inner{ display:flex; justify-content:space-between; align-items:center; padding:1.4rem 0; flex-wrap:wrap; gap:1rem; }
.footer-minimal .footer-bottom p{ font-size:.78rem; color:var(--text2); }
.footer-legal{ display:flex; gap:1.4rem; }
.footer-legal a{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text2); cursor:pointer; text-decoration:none; }
.footer-legal a:hover{ color:var(--gold); }
@media (max-width:820px){ .footer-min-grid{ grid-template-columns:1fr; gap:2.2rem; padding:2.6rem 0 1.8rem; } }

/* Luxury multi-column footer (active one — matches your screenshot) */
.footer-luxe{ border-top:1px solid var(--border); background:var(--bg2); }
.footer-luxe-top{ display:grid; grid-template-columns:1.1fr 2.4fr; gap:3.5rem; padding:4rem 0 3rem; }
.footer-luxe .footer-logo{ font-family:var(--serif,'Cormorant Garamond',serif); font-size:1.9rem; letter-spacing:.34em; color:var(--text); }
.footer-luxe .footer-tagline{ font-size:.85rem; color:var(--text2); line-height:1.8; max-width:22rem; margin:1rem 0 1.6rem; }
.footer-luxe .footer-news-form{ display:flex; gap:.5rem; flex-wrap:wrap; max-width:22rem; }
.footer-luxe .footer-news-form input{ flex:1; min-width:150px; background:var(--bg); border:1px solid var(--border); color:var(--text); padding:.7rem .9rem; font-size:.82rem; border-radius:2px; outline:none; }
.footer-luxe .footer-news-form input:focus{ border-color:var(--gold); }
.footer-luxe .footer-news-form .btn-gold{ padding:.7rem 1.2rem; white-space:nowrap; }
.footer-cols{ display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:2rem; }
.footer-col-title{ font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin:0 0 1.1rem; font-weight:600; }
.footer-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.footer-col li{ margin:0; }
.footer-col a{ color:var(--text2); font-size:.82rem; line-height:1.4; text-decoration:none; cursor:pointer; transition:color .2s; display:inline-flex; align-items:center; gap:.5rem; }
.footer-col a:hover{ color:var(--gold); }
.footer-luxe .footer-bottom{ border-top:1px solid var(--border); }
.footer-luxe .footer-bottom .inner{ display:flex; justify-content:space-between; align-items:center; padding:1.4rem 0; flex-wrap:wrap; gap:1rem; }
.footer-luxe .footer-bottom p{ font-size:.78rem; color:var(--text2); }
.footer-luxe .footer-legal{ display:flex; gap:1.6rem; }
.footer-luxe .footer-legal a{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--text2); cursor:pointer; text-decoration:none; }
.footer-luxe .footer-legal a:hover{ color:var(--gold); }
@media (max-width:1000px){ .footer-luxe-top{ grid-template-columns:1fr; gap:2.8rem; padding:3rem 0 2rem; } }
@media (max-width:760px){ .footer-cols{ grid-template-columns:repeat(2,1fr); gap:2rem 1.5rem; } }
@media (max-width:440px){ .footer-cols{ grid-template-columns:1fr; } }

/* Footer social — VERTICAL column list (matches screenshot) */
.footer-social{ display:flex; flex-direction:column; gap:.7rem; }
.footer-social a{ display:flex; align-items:center; gap:.55rem; color:var(--text); font-size:.85rem; text-decoration:none; transition:color .2s; }
.footer-social a:hover{ color:var(--gold); }
.footer-social-list a svg{ width:16px; height:16px; flex:0 0 auto; }
.footer-social svg{ width:20px; height:20px; }

/* ─── 14 · PRODUCT CARDS · PDP · GALLERY ───────────────────── */
.card .card-img{ position:relative; overflow:hidden; }
.card .card-img-main,
.card .card-img-swap{ width:100%; height:100%; object-fit:cover; transition:opacity .5s var(--ease,ease), transform .8s var(--ease,ease); }
.card .card-img-swap{ position:absolute; inset:0; opacity:0; }
.card.has-swap:hover .card-img-main{ opacity:0; }
.card.has-swap:hover .card-img-swap{ opacity:1; }
.card.has-swap.swapped .card-img-main{ opacity:0; }
.card.has-swap.swapped .card-img-swap{ opacity:1; }
.card .card-piece{ position:absolute; left:10px; bottom:10px; z-index:3; font-family:monospace; font-size:7px; letter-spacing:.18em; text-transform:uppercase; color:#fff; background:rgba(0,0,0,.55); padding:3px 8px; border:1px solid rgba(184,151,58,.4); }

.pdp-story{ margin:1.6rem 0; padding:1.2rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.pdp-story-label{ display:block; font-size:8px; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); margin-bottom:.6rem; }
.pdp-story-text{ font-family:var(--serif); font-size:1.05rem; font-style:italic; line-height:1.8; color:var(--text2); max-width:30rem; }
.pdp-piece{ margin:1.2rem 0; }
.pdp-piece-no{ display:block; font-family:monospace; font-size:1.1rem; letter-spacing:.1em; color:var(--gold); }
.pdp-piece-sub{ font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--text3); }
.pdp-sold{ margin:1.4rem 0; padding:1.2rem; border:1px solid rgba(239,68,68,.3); background:rgba(239,68,68,.04); }
.pdp-sold-stamp{ display:inline-block; font-family:monospace; font-size:9px; letter-spacing:.22em; color:#ef4444; border:1px solid rgba(239,68,68,.5); padding:4px 10px; transform:rotate(-2deg); }
.pdp-sold-proof{ font-size:11px; color:var(--text2); line-height:1.7; margin-top:.8rem; }
.pdp-measure{ margin-top:1.6rem; }
.pdp-measure-head{ font-size:9px; letter-spacing:.2em; text-transform:uppercase; color:var(--text2); margin-bottom:.6rem; display:flex; justify-content:space-between; }
.pdp-measure-head span{ color:var(--text3); }
.pdp-measure-table{ width:100%; border-collapse:collapse; }
.pdp-measure-table th, .pdp-measure-table td{ text-align:left; padding:9px 4px; border-bottom:1px solid var(--border); font-size:11px; }
.pdp-measure-table th{ color:var(--text3); font-weight:500; letter-spacing:.06em; }
.pdp-measure-table td{ color:var(--text); font-family:monospace; text-align:right; }
.pdp-measure-note{ font-size:9px; color:var(--text4); margin-top:.5rem; }
.pdp-video-btn{ position:absolute; left:16px; bottom:16px; z-index:4; display:flex; align-items:center; gap:8px; background:rgba(0,0,0,.6); color:#fff; border:1px solid rgba(255,255,255,.25); padding:9px 14px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; transition:background .3s; }
.pdp-video-btn:hover{ background:rgba(0,0,0,.85); }
.pdp-cert-btn{ display:inline-flex; align-items:center; gap:.5rem; margin-top:.9rem; background:transparent; border:1px solid var(--gold); color:var(--text); padding:.6rem 1.1rem; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:all .25s var(--ease); }
.pdp-cert-btn:hover{ background:var(--gold-bg, rgba(184,151,58,.1)); }
.pdp-cert-seal{ color:var(--gold); font-size:.85rem; }
.pdp-gift{ margin-top:1.2rem; border:1px solid var(--border); padding:1rem 1.1rem; }
.pdp-gift-row{ display:flex; align-items:flex-start; gap:.7rem; cursor:pointer; }
.pdp-gift-row input{ margin-top:.25rem; width:16px; height:16px; accent-color:var(--gold); flex-shrink:0; }
.pdp-gift-title{ font-size:.82rem; font-weight:600; color:var(--text); display:flex; justify-content:space-between; gap:1rem; }
.pdp-gift-desc{ font-size:.72rem; color:var(--text2); line-height:1.6; margin-top:.25rem; }
.pdp-gift-note{ margin-top:.7rem; }
.pdp-gift-note textarea{ width:100%; background:transparent; border:1px solid var(--border); color:var(--text); padding:.6rem; font-size:.78rem; font-family:inherit; resize:vertical; }

/* PDP gallery arrows */
.pdp-img{ position:relative; }
.pdp-nav{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:1px solid rgba(184,151,58,.5); background:rgba(0,0,0,.45); color:#fff; font-size:26px; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:5; transition:background .25s, border-color .25s; backdrop-filter:blur(4px); }
.pdp-nav:hover{ background:rgba(184,151,58,.85); border-color:var(--gold,#b8973a); color:#000; }
.pdp-nav-prev{ left:14px; }
.pdp-nav-next{ right:14px; }
@media (max-width:768px){ .pdp-nav{ width:38px; height:38px; font-size:22px; } .pdp-nav-prev{ left:8px; } .pdp-nav-next{ right:8px; } }

/* PDP main image — no crop / no grey (final decision) */
#pdp-gallery-main{ position:relative !important; width:100% !important; }
#pdp-gallery-main .pdp-img-blur{ display:none !important; }
#pdp-gallery-main #pdp-main-img{ position:relative !important; width:100% !important; height:auto !important; display:block !important; object-fit:contain !important; object-position:center !important; z-index:1 !important; }
#pdp-gallery-main .pdp-nav,
#pdp-gallery-main .pdp-video-btn{ z-index:2 !important; }

/* PDP trust badges + timeline */
.pdp-trust{ margin-top:1.8rem; padding-top:1.5rem; border-top:1px solid var(--border); }
.pdp-trust-badges{ display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.6rem; }
.pdp-trust-badge{ flex:1; min-width:90px; display:flex; flex-direction:column; align-items:center; gap:.4rem; padding:.9rem .5rem; border:1px solid var(--border); background:var(--card); text-align:center; }
.pdp-trust-ico{ font-size:1.1rem; color:var(--gold); }
.pdp-trust-label{ font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text2); font-weight:600; line-height:1.4; }
.pdp-timeline{ display:flex; align-items:flex-start; justify-content:space-between; }
.pdp-tl-step{ display:flex; flex-direction:column; align-items:center; text-align:center; flex-shrink:0; width:80px; }
.pdp-tl-dot{ width:12px; height:12px; border-radius:50%; border:2px solid var(--text4); background:var(--bg); margin-bottom:.5rem; }
.pdp-tl-step.active .pdp-tl-dot{ border-color:var(--gold); background:var(--gold); }
.pdp-tl-label{ font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text); }
.pdp-tl-sub{ font-size:8.5px; color:var(--text2); font-weight:500; margin-top:2px; }
.pdp-tl-line{ flex:1; height:2px; background:var(--border); margin-top:5px; }

/* Sticky bar permanently off */
#pdp-sticky-bar, .pdp-sticky-bar{ display:none !important; }

/* Video overlay / banner */
.video-overlay{ position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.92); display:flex; align-items:center; justify-content:center; padding:4vw; animation:fadeIn .3s ease; }
.video-frame{ width:min(960px,96vw); aspect-ratio:16/9; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.video-close{ position:absolute; top:18px; right:22px; background:transparent; border:none; color:#fff; font-size:1.5rem; cursor:pointer; line-height:1; }
@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }
.video-banner{ position:relative; width:100%; aspect-ratio:21/9; min-height:340px; overflow:hidden; background:#000; }
.video-banner .vb-frame{ position:absolute; inset:0; }
.video-banner .vb-media{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; pointer-events:none; }
.video-banner .vb-grad{ position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.15) 55%, rgba(0,0,0,.35)); }
.video-banner .vb-content{ position:absolute; inset:auto 0 0 0; padding:clamp(1.5rem,5vw,4rem); color:#fff; z-index:2; }
.video-banner .vb-content .eyebrow{ color:#fff; opacity:.85; }
.video-banner .vb-title{ font-family:var(--serif); font-size:clamp(1.6rem,5vw,3.2rem); font-weight:300; color:#fff; margin:.4rem 0 .5rem; line-height:1.05; }
.video-banner .vb-sub{ color:#fff; opacity:.9; font-size:clamp(.8rem,2vw,1rem); max-width:32rem; line-height:1.6; }

/* Gallery wall */
.gallery-wall{ columns:3 240px; column-gap:14px; padding:1rem 0; }
.gallery-wall .gw-item{ break-inside:avoid; margin-bottom:14px; position:relative; overflow:hidden; cursor:pointer; background:var(--bg3); }
.gallery-wall .gw-item img{ width:100%; display:block; transition:transform .6s var(--ease); }
.gallery-wall .gw-item:hover img{ transform:scale(1.05); }
.gallery-wall .gw-cap{ position:absolute; inset:auto 0 0 0; padding:1rem; background:linear-gradient(to top,rgba(0,0,0,.85),transparent); color:#fff; opacity:0; transition:opacity .3s; }
.gallery-wall .gw-item:hover .gw-cap{ opacity:1; }
.gallery-wall .gw-cap h4{ font-family:var(--serif); font-size:1.05rem; font-weight:400; }
.gallery-wall .gw-cap span{ font-size:.7rem; color:var(--gold); letter-spacing:.1em; }
@media(max-width:640px){ .gallery-wall{ columns:2 150px; } }

/* ─── 15 · REVIEWS ─────────────────────────────────────────── */
.reviews-wrap{ min-height:80px; }
.reviews-summary{ display:flex; align-items:baseline; gap:.7rem; margin-bottom:1.4rem; }
.reviews-avg{ font-family:var(--serif); font-size:1.6rem; color:var(--text); }
.reviews-count{ font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--text3); }
.reviews-empty{ color:var(--text3); font-style:italic; padding:1rem 0; }
.reviews-list{ display:flex; flex-direction:column; gap:1.2rem; }
.review-item{ border:1px solid var(--border); padding:1.1rem 1.2rem; background:var(--card); }
.review-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:.5rem; }
.review-name{ font-size:12px; letter-spacing:.04em; color:var(--text); }
.review-comment{ font-size:12px; line-height:1.7; color:var(--text2); }
.review-date{ font-size:9px; color:var(--text4); display:block; margin-top:.5rem; font-family:monospace; }
.review-form{ margin-top:2.2rem; max-width:520px; border-top:1px solid var(--border); padding-top:1.6rem; }
.review-form h4{ font-size:1.1rem; font-weight:300; margin-bottom:1rem; }
.rf-row{ display:flex; gap:1rem; align-items:center; flex-wrap:wrap; margin-bottom:.8rem; }
.rf-input{ width:100%; background:var(--bg3); border:1px solid var(--border); color:var(--text); padding:11px 13px; font-size:12px; outline:none; }
.rf-input:focus{ border-color:var(--gold); }
.rf-stars{ display:flex; gap:2px; }
.rf-star{ background:none; border:none; font-size:1.5rem; color:var(--text4); cursor:pointer; line-height:1; transition:color .15s; }
.rf-note{ font-size:9px; color:var(--text4); margin-top:.6rem; }
.skeleton-reviews{ display:flex; flex-direction:column; gap:1rem; }
.skel-review{ border:1px solid var(--border); padding:1rem; }
.reviews-page{ max-width:1080px; margin:0 auto; }
.rp-intro{ font-size:1.15rem; line-height:1.7; color:var(--text2); font-style:italic; }
.rp-summary{ display:flex; justify-content:center; margin:2.4rem 0 2rem; }
.rp-summary-inner{ align-items:center; margin-bottom:0; }
.rp-list{ min-height:80px; }
.rp-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:1.4rem; }
.rp-card{ border:1px solid var(--border); background:var(--card); padding:1.5rem 1.6rem; display:flex; flex-direction:column; transition:border-color .25s, transform .25s; }
.rp-card:hover{ border-color:var(--gold); transform:translateY(-2px); }
.rp-card-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; }
.rp-date{ font-size:9px; color:var(--text4); font-family:monospace; }
.rp-comment{ font-size:13px; line-height:1.8; color:var(--text2); flex:1; margin-bottom:1.2rem; }
.rp-card-foot{ display:flex; flex-direction:column; gap:.35rem; padding-top:1rem; border-top:1px solid var(--border); }
.rp-name{ font-size:12px; letter-spacing:.05em; color:var(--text); }
.rp-piece{ background:none; border:none; padding:0; text-align:left; font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); cursor:pointer; }
.rp-piece-general{ cursor:default; color:var(--text3); }
.rp-form-wrap{ margin-top:3.5rem; padding-top:2.5rem; border-top:1px solid var(--border); }
.rp-form-wrap .review-form{ border-top:none; padding-top:0; margin-top:0; }
.rp-form-sub{ font-size:11px; color:var(--text3); margin:-.4rem 0 1.1rem; line-height:1.6; }
@media (max-width:600px){ .rp-grid{ grid-template-columns:1fr; } .rp-intro{ font-size:1rem; } }

/* ─── 16 · WAITLIST / FOUNDERS / EDITORIAL / FAQ ───────────── */
.waitlist-modal{ position:relative; width:min(440px,94vw); background:var(--bg2); border:1px solid var(--gold-line, rgba(184,151,58,.3)); padding:2rem; }
.wl-remake{ display:flex; align-items:center; gap:8px; font-size:11px; color:var(--text2); margin-top:.8rem; line-height:1.5; cursor:pointer; }
.wl-remake input{ width:16px; height:16px; accent-color:var(--gold); }
.wl-est{ border:1px solid var(--border); border-radius:4px; padding:.9rem 1rem; margin-top:.7rem; background:rgba(184,151,58,.04); }
.wl-est-row{ display:flex; justify-content:space-between; font-size:12px; padding:.25rem 0; color:var(--text2); }
.wl-est-row strong{ color:var(--text); }
.wl-est-note{ font-size:10.5px; color:var(--text3); line-height:1.6; margin:.6rem 0 0; border-top:1px solid var(--border); padding-top:.6rem; }

.founders-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:2.5rem; max-width:60rem; margin:0 auto; }
.founder-card{ text-align:center; padding:1rem; }
.founder-photo{ width:140px; height:140px; border-radius:50%; object-fit:cover; margin:0 auto 1.2rem; display:block; border:2px solid var(--gold); box-shadow:0 6px 28px rgba(0,0,0,.25); }
.founder-initial{ display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:3rem; color:var(--gold); background:linear-gradient(145deg,rgba(184,151,58,.12),rgba(184,151,58,.03)); }
.founder-name{ font-size:1.5rem; font-weight:400; margin:.2rem 0; }
.founder-role{ display:inline-block; font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-bottom:.9rem; }
.founder-bio{ font-size:.86rem; line-height:1.75; color:var(--text2); max-width:24rem; margin:0 auto; }

.luxe-sec .luxe-narrow{ max-width:46rem; margin:0 auto; }
.luxe-title{ font-size:clamp(1.7rem,4.5vw,2.8rem); font-weight:300; margin:.5rem 0 0; }
.luxe-rule{ width:3rem; height:1px; background:rgba(184,151,58,.6); margin:1.1rem 0 1.4rem; }
.luxe-body{ font-size:.95rem; line-height:1.9; color:var(--text2); }
.contact-lines{ display:flex; flex-direction:column; gap:.5rem; align-items:center; margin-top:1.4rem; }
.contact-line{ font-family:var(--serif); font-size:1.1rem; color:var(--text); text-decoration:none; border-bottom:1px solid rgba(184,151,58,.4); padding-bottom:2px; }
.contact-line:hover{ color:var(--gold); }

/* FAQ accordion — button + toggleFaq() (inline max-height via JS) */
.faq-list{ display:flex; flex-direction:column; gap:.6rem; max-width:42rem; margin:0 auto; }
.faq-item{ border:1px solid var(--border); border-radius:3px; overflow:hidden; background:var(--bg); }
.faq-q{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; cursor:pointer; padding:1rem 1.2rem; font-weight:600; font-size:.9rem; text-align:left; background:none; border:none; color:var(--gold); }
.faq-q::after, .faq-q::before{ content:none !important; }
.faq-q .gold{ flex-shrink:0; font-size:1.2rem; line-height:1; color:var(--gold); }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .35s var(--ease); font-size:.86rem; line-height:1.75; color:var(--text2); }
.faq-a > *{ margin:0; }
.faq-a p{ margin:0; padding:.4rem 1.2rem 1.1rem; }
.faq-a p:first-child{ padding-top:.8rem; }

/* ─── 17 · CINEMATIC ANIMATIONS (banners) ──────────────────── */
@keyframes vaudreKenBurns{ 0%{ transform:scale(1); } 100%{ transform:scale(1.12); } }
.cat-hero img, .page-hero img, .runway-grid img{ animation:vaudreKenBurns 18s ease-out forwards; will-change:transform; }
@keyframes vaudreFadeUp{ 0%{ opacity:0; transform:translateY(24px); } 100%{ opacity:1; transform:translateY(0); } }
.cat-hero .c .container > *, .page-hero .c > *{ opacity:0; animation:vaudreFadeUp 1s ease-out forwards; animation-delay:.35s; }
@media (prefers-reduced-motion: reduce){
  .cat-hero img, .page-hero img, .runway-grid img,
  .cat-hero .c .container > *, .page-hero .c > *{ animation:none !important; opacity:1 !important; transform:none !important; }
}

/* Banner behind transparent header */
.cat-hero, .page-hero{ margin-top:-68px; }
.cat-hero img, .page-hero img{ top:0; }

/* ─── 18 · RESPONSIVE / MOBILE GUARDS (consolidated) ───────── */
@media (max-width:640px){
  html{ font-size:16px; }
  .drawer{ width:100vw !important; }
  .pay-methods{ grid-template-columns:1fr; }
  #chat-window{ right:8px !important; left:8px !important; width:auto !important; max-width:calc(100vw - 16px) !important; bottom:80px !important; height:min(80vh,560px) !important; border-radius:14px !important; }
  #chat-fab{ right:16px; bottom:16px; width:54px; height:54px; }
  .chat-voice, .chat-send{ width:38px !important; height:38px !important; }
  .summary-item img{ width:52px !important; height:66px !important; }

  /* Product card — no price/stock overlap */
  .card-info{ padding:.85rem !important; }
  .card-info .ed{ font-size:8px !important; letter-spacing:.04em !important; line-height:1.45 !important; margin-bottom:8px !important; white-space:normal !important; }
  .card-info h3{ font-size:14px !important; line-height:1.3 !important; margin-bottom:10px !important; }
  .card-info .row, .card-info > div, .card-info > .row{ display:flex !important; flex-direction:column !important; align-items:flex-start !important; gap:6px !important; position:static !important; width:100% !important; }
  .card-info .price, .card-info .stock{ position:static !important; display:block !important; width:auto !important; float:none !important; white-space:normal !important; line-height:1.4 !important; }
  .card-info .price{ font-size:15px !important; margin:0 !important; }
  .card-info .stock{ font-size:8px !important; letter-spacing:.05em !important; margin:0 !important; }
}

/* Mobile banner focus (admin drag) — Ken Burns off */
@media (max-width:768px){
  .cat-hero img, .page-hero img{ object-fit:cover !important; object-position:var(--mfocus, center center) !important; animation:none !important; transform:none !important; }
  * { min-width:0; }
  .container, .pdp, section, #main{ max-width:100vw !important; overflow-x:hidden !important; }
}

/* Overflow guards — nothing spills off-screen */
.drawer{
  width:min(440px, 100vw) !important;
  max-width:min(440px, 100vw) !important;
  right:0 !important;
  left:auto !important;
}
.drawer:not(.open){ transform:translateX(100%) !important; visibility:hidden; }
.drawer.open{ transform:translateX(0) !important; visibility:visible; }
html, body{ overflow-x:clip !important; max-width:100vw !important; }

/* Footer mount — reserve space to kill CLS jump */
#footer-mount{ min-height:520px; }
@media (max-width:1000px){ #footer-mount{ min-height:820px; } }
@media (max-width:760px){ #footer-mount{ min-height:1100px; } }
