:root {
  --font-heading:     'Playfair Display', Georgia, serif;
  --font-body:        'Jost', sans-serif;
  --lh-body:          1.7;
  --ls-body:          0.01em;
  --ls-heading:       -0.01em;

  --btn-r:            2px;
  --btn-pad:          0.75rem 1.8rem;
  --btn-w:            500;
  --icon-stroke:      1.5;

  /* Light palette */
  --bg:               #f9f8f6;
  --bg-alt:           #f2efe9;
  --text:             #181710;
  --muted:            #7c7870;
  --accent:           #b08d57;
  --accent-h:         #9a7a48;
  --accent-soft:      #f3eadb;
  --border:           #e4dfd6;
  --card:             #edeae3;
  --danger:           #c0392b;
  --success:          #27ae60;

  --sh-xs: 0 1px 3px rgba(0,0,0,.06);
  --sh-sm: 0 2px 8px rgba(0,0,0,.08);
  --sh-md: 0 4px 20px rgba(0,0,0,.10);
  --sh-lg: 0 8px 40px rgba(0,0,0,.13);
  --sh-xl: 0 16px 60px rgba(0,0,0,.17);

  --nav-h:   62px;
  --nav-hsm: 50px;
}
[data-theme="dark"] {
  --bg:           #0e0d0b;
  --bg-alt:       #161410;
  --text:         #ece8e1;
  --muted:        #8a857e;
  --accent:       #c9a46e;
  --accent-h:     #b8924a;
  --accent-soft:  #1c1912;
  --border:       #252118;
  --card:         #131109;
  --sh-xs: 0 1px 3px rgba(0,0,0,.3);
  --sh-sm: 0 2px 8px rgba(0,0,0,.35);
  --sh-md: 0 4px 20px rgba(0,0,0,.45);
  --sh-lg: 0 8px 40px rgba(0,0,0,.55);
  --sh-xl: 0 16px 60px rgba(0,0,0,.65);
}

/* ── RESET ──────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}
body{
  font-family:var(--font-body);font-size:.875rem;
  line-height:var(--lh-body);letter-spacing:var(--ls-body);
  color:var(--text);background:var(--bg);
  transition:background .3s,color .3s;
}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:var(--font-body)}
ul{list-style:none}
img,video{display:block;max-width:100%}

/* ── SCROLLBARS ─────────────────────────────────────────────── */
html{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:var(--accent-h)}
::-webkit-scrollbar-corner{background:transparent}

/* ── LAYOUT ─────────────────────────────────────────────────── */
.inner{width:100%;max-width:1440px;margin:0 auto;padding:0 2rem}
@media(max-width:768px){.inner{padding:0 1rem}}
@media(max-width:480px){.inner{padding:0 .75rem}}
.sec{padding:5rem 0}
@media(max-width:768px){.sec{padding:3.5rem 0}}
@media(max-width:480px){.sec{padding:2.5rem 0}}

/* ── SECTION HEADER (3-layer: label · title · subtitle) ─────── */
.sec-hd{
  display:flex;align-items:flex-end;justify-content:space-between;
  margin-bottom:3rem;gap:1rem;flex-wrap:wrap
}
@media(max-width:768px){.sec-hd{margin-bottom:1.75rem}}
.sec-label{
  display:block;font-size:.65rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent);margin-bottom:.3rem
}
.sec-title{
  font-family:var(--font-heading);
  font-size:clamp(1.2rem,2.2vw,1.6rem);
  font-weight:600;letter-spacing:var(--ls-heading);
  line-height:1.2;color:var(--text);margin-bottom:.25rem
}
.sec-sub{font-size:.8rem;color:var(--muted);font-weight:400;line-height:1.5}
.sec-link{
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:600;color:var(--accent);
  display:inline-flex;align-items:center;gap:.35rem;
  transition:opacity .2s;white-space:nowrap;flex-shrink:0
}
.sec-link:hover{opacity:.7}

/* ── BUTTONS ────────────────────────────────────────────────── */
.btn{
  padding:var(--btn-pad);border-radius:var(--btn-r);
  font-size:.7rem;font-weight:var(--btn-w);
  letter-spacing:.12em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.5rem;
  transition:background .25s,transform .2s,box-shadow .25s,border-color .25s,color .25s
}
.btn-acc{background:var(--accent);color:#fff}
.btn-acc:hover{background:var(--accent-h);transform:translateY(-1px);box-shadow:0 6px 18px rgba(176,141,87,.3)}
.btn-out{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn-out:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.btn-sm{padding:.55rem 1.25rem;font-size:.65rem}

/* ── ICON BTN ────────────────────────────────────────────────── */
.ic-btn{
  width:34px;height:34px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  color:var(--text);transition:background .2s,color .2s
}
.ic-btn:hover{background:var(--bg-alt);color:var(--accent)}

/* ── REVEAL ─────────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}
.reveal.in{opacity:1;transform:translateY(0)}

/* ═══════════════════════════════════════════════════════════════
   NAVBAR
   ═══════════════════════════════════════════════════════════════ */
#navbar{
  position:fixed;
  top:0;left:0;right:0;
  z-index:9900;
  width:100%;
  background:var(--bg);
  border-bottom:1px solid var(--border);
  transition:background .3s,box-shadow .3s;
  /* overflow visible so dropdowns render below */
  overflow:visible;
}
/* Push page content below the fixed navbar */
/* Desktop: top-bar(62) + menu-bar(40) = 102px */
:root{ --nav-total-h: calc(var(--nav-h) + 40px); }
body{ padding-top: var(--nav-total-h); }
/* Mobile: top-bar(50) + cat-pills(~34px) = 84px */
@media(max-width:768px){
  :root{ --nav-total-h: calc(var(--nav-hsm) + 34px); }
  body{ padding-top: var(--nav-total-h); }
}
#navbar.scrolled{box-shadow:var(--sh-md)}

.nav-top{
  display:flex;align-items:center;
  height:var(--nav-h);padding:0 2rem;width:100%
}
@media(max-width:768px){.nav-top{height:var(--nav-hsm);padding:0 1rem}}
@media(max-width:480px){.nav-top{padding:0 .75rem}}

.nav-l{display:flex;align-items:center;gap:.1rem;flex:1}
.nav-c{flex-shrink:0;padding:0 1rem}
.nav-r{display:flex;align-items:center;gap:.1rem;justify-content:flex-end;flex:1}

.brand img{
  max-height: 40px;
  width: auto;
  object-fit: contain;
}

/* Cart badge */
.cart-ic-wrap{position:relative}

/* Theme icons */
[data-theme="light"] .i-moon{display:block}
[data-theme="light"] .i-sun {display:none}
[data-theme="dark"]  .i-sun {display:block}
[data-theme="dark"]  .i-moon{display:none}

/* Search */
.nav-srch{
  height:0;overflow:hidden;
  display:flex;align-items:center;gap:.75rem;
  padding:0 2rem;background:var(--bg-alt);
  border-bottom:1px solid var(--border);
  transition:height .3s
}
@media(max-width:768px){.nav-srch{padding:0 1rem}}
.nav-srch.open{height:48px}
.srch-inp{
  flex:1;border:none;background:transparent;outline:none;
  font-family:var(--font-body);font-size:.88rem;color:var(--text)
}
.srch-inp::placeholder{color:var(--muted)}

/* Desktop menu bar */
.nav-bar{
  display:flex;align-items:center;justify-content:center;
  height:40px;border-top:1px solid var(--border);
  padding:0 2rem;width:100%;
  overflow:visible;
  position:relative;z-index:900;
}
@media(max-width:768px){.nav-bar{display:none}}

.nav-item{position:relative;z-index:1}
.n-link{
  position:relative;height:40px;padding:0 .85rem;
  display:flex;align-items:center;gap:3px;
  font-size:.68rem;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--text);white-space:nowrap;
  transition:color .2s
}
.n-link::after{
  content:'';position:absolute;bottom:0;left:.85rem;right:.85rem;
  height:1px;background:var(--accent);
  transform:scaleX(0);transform-origin:center;transition:transform .3s
}
.n-link:hover{color:var(--accent)}
.n-link:hover::after{transform:scaleX(1)}
.n-link.sale{color:var(--danger)}
.n-link.sale::after{background:var(--danger)}

/* Mega dropdown */
.n-dd-panel{
  display:none;
  position:absolute;top:calc(100% + 0px);left:50%;transform:translateX(-50%);
  background:var(--bg);border:1px solid var(--border);
  border-top:2px solid var(--accent);
  box-shadow:0 12px 40px rgba(0,0,0,.18);
  padding:1.75rem;gap:2.5rem;min-width:440px;
  z-index:9999;
}
.nav-item:hover .n-dd-panel{display:flex}
/* Keep dropdown visible when hovering the panel itself */
.n-dd-panel:hover{display:flex}
.n-dd-col h5{
  font-size:.62rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--accent);margin-bottom:.65rem
}
.n-dd-col a{
  display:block;padding:.25rem 0;font-size:.8rem;
  color:var(--muted);transition:color .2s
}
.n-dd-col a:hover{color:var(--text)}

/* User area – desktop */
.nav-user-area{position:relative;display:none}
.nav-user-area.show{display:flex;align-items:center}
.nav-u-btn{
  display:flex;align-items:center;gap:.4rem;
  padding:.28rem .6rem;border:1px solid var(--border);border-radius:99px;
  background:var(--bg-alt);cursor:pointer;font-family:var(--font-body);
  transition:border-color .2s,background .2s
}
.nav-u-btn:hover{border-color:var(--accent);background:var(--accent-soft)}
.nav-av{
  width:24px;height:24px;border-radius:50%;
  background:var(--accent);color:#fff;
  font-size:.62rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.nav-uname{
  font-size:.75rem;font-weight:500;color:var(--text);
  max-width:68px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.nav-u-panel{
  position:absolute;top:calc(100% + 7px);right:0;
  background:var(--bg);border:1px solid var(--border);
  border-top:2px solid var(--accent);
  box-shadow:0 12px 40px rgba(0,0,0,.18);
  min-width:172px;
  opacity:0;pointer-events:none;
  transform:translateY(6px);transition:opacity .25s,transform .25s;
  z-index:9999;
}
.nav-u-panel.open{opacity:1;pointer-events:all;transform:translateY(0)}
.nu-item{
  display:flex;align-items:center;gap:.6rem;
  padding:.68rem 1rem;font-size:.78rem;color:var(--text);
  font-family:var(--font-body);width:100%;text-align:left;
  transition:background .15s,color .15s
}
.nu-item:hover{background:var(--bg-alt);color:var(--accent)}
.nu-div{height:1px;background:var(--border)}
.nu-logout{color:var(--danger)!important}
.nu-logout:hover{background:rgba(192,57,43,.07)!important}

/* Guest icon – desktop */
.nav-guest-btn{display:flex}
.nav-guest-btn.hide{display:none!important}

/* Hamburger */
.hmbgr{display:none;flex-direction:column;gap:5px;padding:6px}
.hmbgr span{display:block;width:20px;height:1.5px;background:var(--text);transition:all .3s;transform-origin:center}
.hmbgr.open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}
.hmbgr.open span:nth-child(2){opacity:0}
.hmbgr.open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}
@media(max-width:768px){.hmbgr{display:flex}}

/* Mobile cat strip */
.mob-cats{display:none;border-bottom:1px solid var(--border);background:var(--bg);width:100%}
@media(max-width:768px){.mob-cats{display:block}}
.mob-cats-row{
  display:flex;gap:.35rem;overflow-x:auto;padding:.5rem .9rem;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none
}
.mob-cats-row::-webkit-scrollbar{display:none}
.m-pill{
  flex-shrink:0;padding:.3rem .8rem;border-radius:99px;
  border:1px solid var(--border);background:var(--bg-alt);
  font-size:.66rem;font-weight:500;letter-spacing:.04em;
  color:var(--text);white-space:nowrap;scroll-snap-align:start;
  transition:background .2s,color .2s,border-color .2s
}
.m-pill:hover,.m-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}
.m-pill.sale{color:var(--danger);border-color:var(--danger)}
.m-pill.sale:hover{background:var(--danger);color:#fff}
.drw-bg{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,.45);backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;transition:opacity .35s
}
.drw-bg.open{opacity:1;pointer-events:all}
.mob-drw{
  position:fixed;top:0;left:0;bottom:0;z-index:10001;
  width:min(295px,85vw);background:var(--bg);
  display:flex;flex-direction:column;
  transform:translateX(-100%);
  transition:transform .38s cubic-bezier(.25,.1,.25,1);
  box-shadow:var(--sh-xl)
}
.mob-drw.open{transform:translateX(0)}
.drw-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 1.2rem;border-bottom:1px solid var(--border);flex-shrink:0
}
.drw-u{
  padding:1rem 1.2rem;border-bottom:1px solid var(--border);
  background:var(--accent-soft);flex-shrink:0;display:none
}
.drw-u.show{display:block}
.drw-u-row{display:flex;align-items:center;gap:.7rem}
.drw-av{
  width:36px;height:36px;border-radius:50%;
  background:var(--accent);color:#fff;
  font-size:.82rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;flex-shrink:0
}
.drw-uname{font-size:.84rem;font-weight:600}
.drw-uemail{font-size:.7rem;color:var(--muted)}
.drw-body{flex:1;overflow-y:auto}
.drw-body::-webkit-scrollbar{width:3px}
.drw-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}
.drw-lnk{
  display:flex;align-items:center;
  padding:.8rem 1.2rem;font-size:.85rem;font-weight:500;
  color:var(--text);border-bottom:1px solid var(--border);
  transition:color .2s,background .2s
}
.drw-lnk:hover{color:var(--accent);background:var(--bg-alt)}
.drw-lnk.sale{color:var(--danger)}
.drw-acc-btn{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;padding:.8rem 1.2rem;
  font-size:.85rem;font-weight:500;color:var(--text);
  border-bottom:1px solid var(--border);font-family:var(--font-body);
  transition:color .2s,background .2s
}
.drw-acc-btn:hover{color:var(--accent);background:var(--bg-alt)}
.drw-acc-btn svg{transition:transform .3s;flex-shrink:0}
.drw-acc-btn.open svg{transform:rotate(180deg)}
.drw-acc-bd{max-height:0;overflow:hidden;transition:max-height .32s;background:var(--card)}
.drw-acc-bd.open{max-height:200px}
.drw-acc-bd a{
  display:block;padding:.58rem 2rem;font-size:.78rem;
  color:var(--muted);border-bottom:1px solid var(--border);transition:color .2s
}
.drw-acc-bd a:hover{color:var(--accent)}
.drw-ft{padding:.9rem 1.2rem;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}
.drw-signin{
  display:block;width:100%;padding:.75rem;
  background:var(--accent);color:#fff;text-align:center;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;font-family:var(--font-body);transition:background .2s
}
.drw-signin:hover{background:var(--accent-h)}
.drw-signout{
  display:none;width:100%;padding:.7rem;
  background:transparent;border:1px solid var(--danger);color:var(--danger);text-align:center;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;font-family:var(--font-body);transition:background .2s,color .2s
}
.drw-signout:hover{background:var(--danger);color:#fff}
.drw-signout.show{display:block}
.drw-signin.hide{display:none}
.cart-ov{
  position:fixed;inset:0;z-index:10000;
  background:rgba(0,0,0,.4);backdrop-filter:blur(4px);
  opacity:0;pointer-events:none;transition:opacity .3s
}
.cart-ov.open{opacity:1;pointer-events:all}
.cart-drw{
  position:fixed;top:0;right:0;bottom:0;z-index:10001;
  width:min(390px,94vw);background:var(--bg);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.25,.1,.25,1);
  box-shadow:var(--sh-xl)
}
.cart-drw.open{transform:translateX(0)}
.cart-h{
  padding:1.2rem 1.4rem;display:flex;align-items:center;
  justify-content:space-between;border-bottom:1px solid var(--border);flex-shrink:0
}
.cart-h h3{font-family:var(--font-heading);font-size:1.05rem;font-weight:600}
.cart-items{flex:1;overflow-y:auto;padding:.7rem 1.4rem}
.cart-items::-webkit-scrollbar{width:3px}
.cart-items::-webkit-scrollbar-thumb{background:var(--border);border-radius:99px}
.cart-empty{text-align:center;padding:3rem 1rem;color:var(--muted)}
.cart-empty svg{margin:0 auto 1rem;opacity:.3}
.cart-empty p{font-size:.9rem;font-weight:500;margin-bottom:.2rem}
.cart-empty small{font-size:.75rem}
.cart-item{display:flex;gap:.8rem;padding:.85rem 0;border-bottom:1px solid var(--border)}
.ci-img{width:64px;height:82px;object-fit:cover;flex-shrink:0}
.ci-info{flex:1;min-width:0}
.ci-name{font-size:.82rem;font-weight:500;margin-bottom:.18rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci-price{font-size:.8rem;color:var(--accent);font-weight:600;margin-bottom:.6rem}
.ci-qty{display:flex;align-items:center;gap:.6rem}
.q-btn{
  width:22px;height:22px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;transition:background .2s,border-color .2s
}
.q-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.q-n{font-size:.8rem;font-weight:600;min-width:16px;text-align:center}
.ci-del{color:var(--muted);align-self:flex-start;padding:2px;transition:color .2s}
.ci-del:hover{color:var(--danger)}
.cart-f{padding:1.2rem 1.4rem;border-top:1px solid var(--border);flex-shrink:0;display:none}
.c-sub{display:flex;justify-content:space-between;margin-bottom:.3rem}
.c-sub span:first-child{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.c-sub span:last-child{font-family:var(--font-heading);font-size:1.05rem;font-weight:600}
.c-note{font-size:.7rem;color:var(--muted);margin-bottom:.9rem}
.btn-co{
  display:block;width:100%;padding:.85rem;text-align:center;
  background:var(--accent);color:#fff;
  font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;
  font-weight:600;font-family:var(--font-body);margin-bottom:.55rem;transition:background .2s
}
.btn-co:hover{background:var(--accent-h)}
.btn-cs{
  display:block;width:100%;padding:.72rem;text-align:center;
  background:transparent;border:1px solid var(--border);color:var(--text);
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:500;font-family:var(--font-body);transition:border-color .2s,color .2s
}
.btn-cs:hover{border-color:var(--accent);color:var(--accent)}
.modal-ov{
  position:fixed;inset:0;z-index:10002;
  background:rgba(0,0,0,.55);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s;
  padding:1.25rem
}
.modal-ov.open{opacity:1;pointer-events:all}
.modal-bx{
  background:var(--bg);width:100%;max-width:400px;max-height:90vh;
  overflow-y:auto;
  transform:scale(.94) translateY(12px);
  transition:transform .32s cubic-bezier(.34,1.56,.64,1)
}
.modal-ov.open .modal-bx{transform:scale(1) translateY(0)}
.modal-hd{
  padding:1.2rem 1.4rem;border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between
}
.modal-hd h3{font-family:var(--font-heading);font-size:1.05rem;font-weight:600}
.m-close{color:var(--muted);transition:color .2s;padding:2px}
.m-close:hover{color:var(--text)}
.modal-bd{padding:1.4rem}
.modal-bd p{color:var(--muted);font-size:.83rem;line-height:1.7}
.modal-ft{
  padding:0 1.4rem 1.4rem;
  display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap
}
.m-btn{
  padding:.68rem 1.5rem;font-family:var(--font-body);
  font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;
  border-radius:var(--btn-r);transition:background .2s,color .2s,border-color .2s
}
.m-btn-acc{background:var(--accent);color:#fff}
.m-btn-acc:hover{background:var(--accent-h)}
.m-btn-out{background:transparent;border:1px solid var(--border);color:var(--text)}
.m-btn-out:hover{border-color:var(--accent);color:var(--accent)}
.m-btn-del{background:var(--danger);color:#fff}
.m-btn-del:hover{background:#a93226}
@media(max-width:480px){
  .modal-ft{flex-direction:column-reverse}
  .m-btn{width:100%;text-align:center;padding:.82rem}
}
.login-step{display:none}
.login-step.active{display:block}
.otp-row{display:flex;gap:.45rem;justify-content:center;margin:1rem 0}
.otp-box{
  width:46px;height:50px;border:1px solid var(--border);
  background:var(--bg-alt);color:var(--text);
  font-size:1.25rem;font-weight:600;text-align:center;
  font-family:var(--font-body);outline:none;transition:border-color .2s
}
.otp-box:focus{border-color:var(--accent)}

.fg{margin-bottom:1rem}
.fg label{
  display:block;font-size:.66rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:.4rem;color:var(--text)
}
.fi{
  width:100%;padding:.75rem .9rem;
  border:1px solid var(--border);background:var(--bg-alt);color:var(--text);
  font-family:var(--font-body);font-size:.85rem;outline:none;transition:border-color .2s
}
.fi:focus{border-color:var(--accent)}
textarea.fi{resize:vertical}
.stars{display:flex;gap:.2rem}
.stars span{
  font-size:1.5rem;cursor:pointer;color:var(--border);
  transition:color .15s,transform .15s
}
.stars span:hover,.stars span.on{color:#f1c40f;transform:scale(1.1)}
.btn-sub{
  display:block;width:100%;padding:.85rem;
  background:var(--accent);color:#fff;
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;font-family:var(--font-body);transition:background .2s;margin-top:.5rem
}
.btn-sub:hover{background:var(--accent-h)}
#toasts{position:fixed;z-index:19999;top:20px;right:1rem;display:flex;flex-direction:column;gap:.45rem;pointer-events:none;width:min(310px,calc(100vw - 2rem))}
@media(max-width:640px){#toasts{right:1rem;top:20px}}
.toast{display:flex;align-items:flex-start;gap:.7rem;background:var(--bg);border:1px solid var(--border);padding:.85rem 1rem .5rem;box-shadow:var(--sh-lg);pointer-events:all;position:relative;overflow:hidden;transform:translateX(115%);opacity:0;transition:transform .38s cubic-bezier(.34,1.56,.64,1),opacity .3s}
@media(max-width:640px){.toast{transform:translateX(115%)}}
.toast.show{transform:translateX(0);opacity:1}
.toast.out{transform:translateX(115%);opacity:0}
.t-ico{flex-shrink:0;margin-top:1px}
.t-body{flex:1;min-width:0}
.t-title{font-size:.75rem;font-weight:700;margin-bottom:.08rem}
.t-msg{font-size:.7rem;color:var(--muted);line-height:1.4}
.t-x{flex-shrink:0;color:var(--muted);transition:color .2s}
.t-x:hover{color:var(--text)}
.t-bar{position:absolute;bottom:0;left:0;height:2px;animation:tbar linear forwards}
@keyframes tbar{from{width:100%}to{width:0%}}
.ts{border-left:3px solid var(--success)}.ts .t-ico,.ts .t-bar{color:var(--success);background:var(--success)}
.te{border-left:3px solid var(--danger)}.te .t-ico,.te .t-bar{color:var(--danger);background:var(--danger)}
.tw{border-left:3px solid #e67e22}.tw .t-ico,.tw .t-bar{color:#e67e22;background:#e67e22}
.ti{border-left:3px solid #2980b9}.ti .t-ico,.ti .t-bar{color:#2980b9;background:#2980b9}
#skeleton{
  position:fixed;inset:0;z-index:9999;
  background:var(--bg);transition:opacity .6s
}
#skeleton.gone{opacity:0;pointer-events:none}
@keyframes sk{0%{background-position:-600px 0}100%{background-position:600px 0}}
.sk{
  border-radius:2px;
  background:linear-gradient(90deg,var(--card) 25%,var(--border) 50%,var(--card) 75%);
  background-size:600px 100%;animation:sk 1.4s infinite
}
.sk-nav{height:var(--nav-h);width:100%}
.sk-hero{height:min(65vh,520px);width:100%;margin-top:2px}
.sk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1rem}
.sk-card{height:260px}
@media(max-width:768px){.sk-grid{grid-template-columns:repeat(2,1fr)}}
#footer{background:var(--card);border-top:1px solid var(--border);width:100%}
.ft-top{padding:4rem 2rem;max-width:1440px;margin:0 auto}
@media(max-width:768px){.ft-top{padding:3rem 1rem}}
@media(max-width:480px){.ft-top{padding:2rem .75rem}}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem}
@media(max-width:1024px){.ft-grid{grid-template-columns:1fr 1fr;gap:2rem}}
/* Mobile: always 2 columns */
@media(max-width:640px){.ft-grid{grid-template-columns:1fr 1fr;gap:1.25rem}}
/* Very small: 1 column */
@media(max-width:360px){.ft-grid{grid-template-columns:1fr;gap:1rem}}
.ft-col p{font-size:.8rem;color:var(--muted);line-height:1.8;margin-bottom:1.2rem}
.ft-col h5{
  font-size:.62rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;margin-bottom:.9rem;color:var(--text)
}
.ft-col ul li{margin-bottom:.4rem}
.ft-col ul a{font-size:.8rem;color:var(--muted);transition:color .2s}
.ft-col ul a:hover{color:var(--accent)}
.ft-socials{display:flex;gap:.5rem}
.ft-socials a{
  width:32px;height:32px;border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);transition:color .2s,border-color .2s,background .2s
}
.ft-socials a:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}
.ft-nl{margin-top:1.2rem}
.ft-nl p{font-size:.75rem;color:var(--muted);margin-bottom:.55rem}
.nl-form{display:flex}
.nl-inp{
  flex:1;padding:.62rem .85rem;border:1px solid var(--border);
  background:var(--bg);color:var(--text);
  font-family:var(--font-body);font-size:.78rem;outline:none;transition:border-color .2s
}
.nl-inp:focus{border-color:var(--accent)}
.nl-btn{padding:.62rem .9rem;background:var(--accent);color:#fff;font-size:.9rem;transition:background .2s}
.nl-btn:hover{background:var(--accent-h)}
.ft-bot{
  border-top:1px solid var(--border);padding:1rem 2rem;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:.5rem;max-width:1440px;margin:0 auto
}
@media(max-width:768px){.ft-bot{padding:.85rem 1rem;flex-direction:column;text-align:center}}
.ft-bot-left{display:flex;flex-direction:column;gap:.15rem}
.ft-bot p{font-size:.72rem;color:var(--muted)}
.ft-powered{font-size:.68rem;color:var(--muted)}
.ft-powered a{transition:opacity .2s}
.ft-powered a:hover{opacity:.75}
.ft-legal{display:flex;gap:1.25rem;flex-wrap:wrap;justify-content:center}
.ft-legal a{font-size:.72rem;color:var(--muted);transition:color .2s}
.ft-legal a:hover{color:var(--accent)}
.nav-r{gap:.05rem}
.nav-l{gap:.05rem}
/* Desktop: show all icons */
.nav-desk-only{display:flex!important}
/* Mobile: hide non-essential desktop items */
@media(max-width:768px){
  .nav-desk-only{display:none!important}
  .nav-mob-show{display:flex!important}
  .nav-r{gap:0}
}
@media(min-width:769px){
  .nav-mob-show{display:flex}
}
.t-ico{
  display:flex!important;align-items:center;justify-content:center;
  flex-shrink:0;min-width:18px;min-height:18px;
}
.t-ico svg{display:block!important;width:18px!important;height:18px!important}
.ts .t-ico svg{color:var(--success)!important;stroke:var(--success)!important}
.te .t-ico svg{color:var(--danger)!important;stroke:var(--danger)!important}
.tw .t-ico svg{color:#e67e22!important;stroke:#e67e22!important}
.ti .t-ico svg{color:#2980b9!important;stroke:#2980b9!important}
.wish-ic-wrap{position:relative}
.w-badge{
  position:absolute;top:2px;right:2px;
  width:14px;height:14px;border-radius:50%;
  background:var(--accent);color:#fff;
  font-size:.52rem;font-weight:700;
  display:none;align-items:center;justify-content:center;
}
.w-badge.show{display:flex}
.cmp-ic-wrap{position:relative}