/* =========================================================
   LEVYCA — Estilos
   Dirección: alta perfumería árabe. Negro obsidiana + oro
   viejo + zafiro profundo. El motivo de firma es el medallón
   colgante que ya llevan los propios frascos (Club de Nuit,
   Lionheart): un círculo de oro que gira lentamente detrás
   del hero, y una línea de arabescos como separador ritual
   entre secciones.
   ========================================================= */

:root{
  --void: #010102;
  --black: #020207;
  --black-soft: #05060b;
  --navy-deep: #03050c;
  --navy: #0a111f;
  --panel: rgba(20,24,36,.62);
  --panel-solid: #12151f;
  --panel-2: rgba(255,255,255,.025);
  --line: rgba(201,162,39,.15);
  --line-strong: rgba(201,162,39,.36);

  --gold: #c9a227;
  --gold-soft: #8a742a;
  --gold-bright: #f2d67e;
  --gold-foil: linear-gradient(115deg,#8a6a1a 0%,#f2d67e 38%,#c9a227 55%,#8a6a1a 100%);

  --sapphire: #2c56a0;
  --sapphire-bright: #4b7fd4;
  --sapphire-glow: rgba(44,86,160,.30);

  --ivory: #f4efe1;
  --muted: #9993a6;
  --muted-soft: #746f80;

  --stock: #7fae82;
  --stock-bg: rgba(127,174,130,.12);
  --pocas: #c9903c;
  --pocas-bg: rgba(201,144,60,.12);
  --agotado: #b05a52;
  --agotado-bg: rgba(176,90,82,.12);

  --radius: 16px;
  --radius-lg: 26px;
  --ease: cubic-bezier(.19,.86,.24,1);
  --ease-soft: cubic-bezier(.4,0,.2,1);
}

/* modo claro opcional */
:root[data-theme="light"]{
  --void:#f7f4ec; --black:#faf8f2; --black-soft:#ffffff;
  --navy-deep:#f2eee2; --navy:#eee9db;
  --panel:rgba(255,255,255,.75); --panel-solid:#ffffff; --panel-2:rgba(10,10,10,.02);
  --line: rgba(150,116,20,.22); --line-strong: rgba(150,116,20,.42);
  --ivory:#171208; --muted:#655e4d; --muted-soft:#847c68;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

body{
  position:relative;
  margin:0;
  background:
    radial-gradient(1200px 640px at 14% -10%, rgba(44,86,160,.18), transparent 58%),
    radial-gradient(900px 560px at 104% 6%, rgba(201,162,39,.07), transparent 55%),
    radial-gradient(1000px 700px at 50% 120%, rgba(44,86,160,.08), transparent 60%),
    linear-gradient(180deg, var(--black) 0%, var(--navy-deep) 46%, var(--black) 100%);
  color:var(--ivory);
  font-family:'Manrope', sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  transition:background .3s ease, color .3s ease;
}
/* grano sutil — evita el look "flat" digital */
body::before{
  content:'';
  position:fixed; inset:0; z-index:1; pointer-events:none;
  opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
:root[data-theme="light"] body::before{opacity:.03;}
main, header, footer{position:relative; z-index:2;}

.serif{font-family:'Fraunces', serif;}
.accent-serif{font-family:'Fraunces', serif; font-style:italic;}
a{color:inherit;}
img{max-width:100%; display:block;}
button{font-family:inherit;}
::selection{background:var(--gold); color:#100c02;}

/* ---------- loader ---------- */
#loader{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center;
  background:var(--black); transition:opacity .6s var(--ease), visibility .6s var(--ease);
}
#loader.hidden{opacity:0; visibility:hidden; pointer-events:none;}
.loader-mark{
  position:relative; width:58px; height:58px;
}
.loader-mark::before,.loader-mark::after{
  content:''; position:absolute; inset:0; border-radius:50%;
  border:1px solid var(--line-strong);
}
.loader-mark::before{border-top-color:var(--gold); animation:spin 1.1s linear infinite;}
.loader-mark::after{inset:10px; border-bottom-color:var(--gold); animation:spin 1.6s linear infinite reverse;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ---------- arabesco (separador de firma) ---------- */
.arabesque{
  display:flex; align-items:center; justify-content:center; gap:14px;
  padding:2px 0; opacity:.75;
}
.arabesque svg{flex:none;}
.arabesque .rule{height:1px; width:100%; max-width:220px;
  background:linear-gradient(90deg, transparent, var(--line-strong), transparent);}

/* ---------- topbar ---------- */
.topbar{
  position:sticky; top:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 5vw;
  background:rgba(6,8,16,.72);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line);
}
:root[data-theme="light"] .topbar{background:rgba(250,248,242,.82);}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
.brand img{height:34px; width:auto; border-radius:6px;}
.brand-word{
  font-family:'Fraunces', serif; font-size:19px; letter-spacing:.14em;
  color:var(--ivory);
}
.brand-word b{
  background:var(--gold-foil); -webkit-background-clip:text; background-clip:text;
  color:transparent; font-weight:600;
}
.top-actions{display:flex; gap:10px; align-items:center;}
.icon-btn{
  width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); background:transparent; color:var(--ivory);
  cursor:pointer; transition:border-color .25s ease, transform .25s var(--ease), box-shadow .25s ease;
}
.icon-btn{position:relative;}
.icon-btn:hover{border-color:var(--gold); transform:translateY(-2px); box-shadow:0 8px 20px -10px rgba(201,162,39,.5);}
.cart-badge{
  position:absolute; top:-6px; right:-6px; min-width:18px; height:18px; padding:0 4px;
  border-radius:999px; background:var(--gold); color:#100c02;
  font-size:10px; font-weight:700; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 10px -3px rgba(0,0,0,.5);
}
.btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 22px; border-radius:999px;
  font-size:12.5px; font-weight:500; letter-spacing:.05em; text-transform:uppercase;
  text-decoration:none; border:1px solid transparent; cursor:pointer;
  transition:transform .25s var(--ease), background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-gold{background:var(--gold); color:#100c02; box-shadow:0 10px 24px -12px rgba(201,162,39,.6);}
.btn-gold:hover{background:var(--gold-bright);}
.btn-gold::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%);
  transform:translateX(-130%); transition:transform .7s ease;
}
.btn-gold:hover::before{transform:translateX(130%);}
.btn-ghost{background:transparent; color:var(--ivory); border-color:var(--line-strong);}
.btn-ghost:hover{border-color:var(--gold);}

/* ---------- hero ---------- */
.hero{
  position:relative; padding:11vh 5vw 6vh; text-align:center;
  overflow:hidden;
}
.hero-watermark{
  position:absolute; top:50%; left:50%; z-index:0; pointer-events:none;
  width:min(560px, 62vw); height:auto;
  transform:translate(-50%,-50%);
  opacity:.06; filter:grayscale(1) contrast(1.1);
  border-radius:0;
}
:root[data-theme="light"] .hero-watermark{opacity:.05;}

.hero-inner{position:relative; z-index:1;}
.hero .eyebrow{
  display:inline-flex; align-items:center; gap:12px;
  font-size:11px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold-bright); margin-bottom:22px; font-weight:500;
  opacity:0; animation:fadeUp .8s var(--ease) .1s both;
}
.hero .eyebrow::before,.hero .eyebrow::after{content:'✦'; font-size:9px; color:var(--gold-soft);}

.hero-title{
  font-family:'Fraunces', serif; font-weight:600;
  font-size:clamp(38px, 7vw, 84px); line-height:1.08; margin:0 0 20px;
  letter-spacing:.01em;
}
.hero-title .word{
  display:inline-block; opacity:0; transform:translateY(28px);
  animation:wordIn .85s var(--ease) both;
}
.hero-title .word:nth-child(1){animation-delay:.22s;}
.hero-title .word:nth-child(2){animation-delay:.32s;}
.hero-title .word:nth-child(3){animation-delay:.42s;}
.hero-title .word:nth-child(4){animation-delay:.5s;}
.hero-title .em-word{
  background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; color:transparent;
}
@keyframes wordIn{to{opacity:1; transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){
  .hero .eyebrow, .hero-title .word, .hero p, .hero-search{animation:none !important; opacity:1 !important; transform:none !important;}
}

.hero p{
  max-width:540px; margin:0 auto; color:var(--muted);
  font-size:15.5px; line-height:1.75; font-weight:300;
  opacity:0; animation:fadeUp .8s var(--ease) .58s both;
}

.hero-search{
  max-width:560px; margin:40px auto 0; position:relative;
  opacity:0; animation:fadeUp .8s var(--ease) .7s both;
}
.hero-search input{
  width:100%; padding:19px 26px; border-radius:999px;
  background:var(--panel); backdrop-filter:blur(8px);
  border:1px solid var(--line-strong);
  color:var(--ivory); font-family:'Manrope',sans-serif; font-size:16px; font-weight:300;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.hero-search input::placeholder{color:var(--muted-soft);}
.hero-search input:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 5px rgba(201,162,39,.10);}
.hero-search svg{position:absolute; right:24px; top:50%; transform:translateY(-50%); opacity:.65; color:var(--gold-bright);}

/* ---------- ticker ---------- */
.ticker-wrap{
  position:relative;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  overflow:hidden; margin-top:6vh; padding:15px 0;
  background:linear-gradient(90deg, var(--black-soft), var(--navy) 50%, var(--black-soft));
  -webkit-mask-image:linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
          mask-image:linear-gradient(90deg, transparent, black 6%, black 94%, transparent);
}
.ticker{display:flex; width:max-content; animation:scroll 32s linear infinite; will-change:transform;}
@media (prefers-reduced-motion: reduce){ .ticker{animation:none;} }
.tick-item{
  display:inline-flex; align-items:center; gap:14px;
  font-family:'Fraunces', serif; font-size:12.5px; letter-spacing:.2em;
  color:var(--muted); padding:0 30px; white-space:nowrap;
}
.tick-item b{
  background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; color:transparent;
  font-weight:600;
}
.tick-item .ar-flag{width:22px; height:15px; border-radius:2px; flex:none; box-shadow:0 0 0 1px rgba(255,255,255,.08);}
.tick-item .tick-sep{color:var(--gold-soft); font-size:9px;}
@keyframes scroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ---------- wholesale banner ---------- */
.wholesale-banner{
  max-width:1180px; margin:34px auto 0; padding:0 5vw;
}
.wholesale-banner a{
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  flex-wrap:wrap;
  padding:20px 28px; border-radius:var(--radius);
  background:linear-gradient(135deg, rgba(201,162,39,.09), rgba(44,86,160,.10));
  border:1px solid var(--line-strong);
  text-decoration:none; transition:border-color .25s ease, transform .25s var(--ease), box-shadow .25s ease;
}
.wholesale-banner a::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(120deg, transparent 40%, rgba(242,214,126,.14) 50%, transparent 60%);
  transform:translateX(-140%); transition:transform .8s ease;
}
.wholesale-banner a:hover::before{transform:translateX(140%);}
.wholesale-banner a:hover{border-color:var(--gold); transform:translateY(-2px); box-shadow:0 20px 40px -26px rgba(201,162,39,.4);}
.wholesale-banner .wb-text strong{
  font-family:'Fraunces', serif; color:var(--gold-bright); font-size:17px; letter-spacing:.03em;
  display:block; margin-bottom:6px;
}
.wholesale-banner .wb-text span{color:var(--ivory); font-size:14.5px; line-height:1.6;}
.wholesale-banner .wb-cta{
  display:flex; align-items:center; gap:8px; color:var(--ivory);
  font-size:13px; font-weight:500; white-space:nowrap;
}

/* ---------- controls ---------- */
.controls{max-width:1180px; margin:52px auto 0; padding:0 5vw;}
.chips{display:flex; gap:9px; flex-wrap:wrap; justify-content:center;}
.chip{
  position:relative; overflow:hidden;
  padding:10px 19px; border-radius:999px; font-size:12px; font-weight:500;
  letter-spacing:.05em; text-transform:uppercase;
  background:transparent; color:var(--muted);
  border:1px solid var(--line); cursor:pointer; white-space:nowrap;
  transition:color .25s ease, border-color .25s ease, transform .2s var(--ease);
}
.chip:hover{color:var(--ivory); border-color:var(--gold); transform:translateY(-1px);}
.chip.active{background:var(--gold); color:#100c02; border-color:var(--gold);}

/* ---------- grid ---------- */
.grid{
  max-width:1180px; margin:38px auto 110px; padding:0 5vw;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:22px;
}
.card{
  position:relative;
  background:var(--panel); backdrop-filter:blur(6px);
  border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column;
  transition:border-color .3s ease, transform .35s var(--ease), box-shadow .35s var(--ease);
  opacity:0; transform:translateY(16px); animation:fadeUp .6s var(--ease) forwards;
}
.card::before{
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  border-radius:var(--radius); padding:1px;
  background:var(--gold-foil);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .3s ease;
}
.card:hover::before{opacity:.55;}
.card:hover{
  border-color:var(--gold); transform:translateY(-6px);
  box-shadow:0 22px 44px -22px rgba(201,162,39,.4), 0 14px 30px -18px rgba(44,86,160,.35);
}
.card-photo{
  aspect-ratio:1/1; background:var(--panel-2);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.card-photo::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(3,4,6,.5));
  opacity:0; transition:opacity .3s ease; pointer-events:none;
}
.card:hover .card-photo::after{opacity:1;}
.card-photo img{width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease);}
.card:hover .card-photo img{transform:scale(1.07);}

.card-gallery{position:relative; width:100%; height:100%;}
.card-gallery img{width:100%; height:100%; object-fit:cover;}
.card-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:28px; height:28px; border-radius:50%; border:none; cursor:pointer;
  background:rgba(6,8,16,.6); color:var(--ivory); font-size:16px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .2s ease, background .2s ease;
}
.card-photo:hover .card-nav{opacity:1;}
.card-nav:hover{background:rgba(201,162,39,.9); color:#100c02;}
.card-nav.prev{left:8px;}
.card-nav.next{right:8px;}
.card-dots{
  position:absolute; bottom:8px; left:0; right:0; z-index:3;
  display:flex; justify-content:center; gap:5px;
}
.card-dots .dot{
  width:5px; height:5px; border-radius:50%; background:rgba(244,239,225,.4);
  transition:background .2s ease, transform .2s ease;
}
.card-dots .dot.active{background:var(--gold); transform:scale(1.3);}
.card-brand{
  position:absolute; top:10px; left:10px; z-index:3; font-size:9.5px; font-weight:600;
  letter-spacing:.11em; text-transform:uppercase; color:var(--gold-bright);
  background:rgba(6,8,16,.75); padding:5px 11px; border-radius:999px;
  border:1px solid var(--line);
}
.card-body{padding:17px 19px 19px; display:flex; flex-direction:column; gap:12px; flex:1;}
.card-name{font-size:14px; font-weight:400; line-height:1.4; min-height:38px;}
.card-bottom{display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto;}
.price{
  font-family:'Fraunces', serif; font-size:22px; font-weight:600; letter-spacing:.01em;
  background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; color:transparent;
  filter:drop-shadow(0 1px 10px rgba(201,162,39,.28));
}
.badge{
  font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 10px; border-radius:999px;
}
.badge.disponible{color:var(--stock); background:var(--stock-bg);}
.badge.pocas{color:var(--pocas); background:var(--pocas-bg);}
.badge.agotado{color:var(--agotado); background:var(--agotado-bg);}
.card-actions{display:flex; gap:8px;}
.card-wsp{
  flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
  padding:12px; border-radius:10px; background:transparent;
  border:1px solid var(--line-strong); color:var(--ivory);
  font-size:11.5px; font-weight:500; letter-spacing:.04em; text-transform:uppercase;
  text-decoration:none; transition:all .25s ease;
}
.card-wsp:hover{background:#2f7a2a; border-color:#2f7a2a; color:#eaf3de;}
.card-wsp.disabled{pointer-events:none; opacity:.35;}

.add-cart-btn{
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  padding:12px; border-radius:10px; background:var(--gold); color:#100c02;
  border:none; font-size:11.5px; font-weight:600; letter-spacing:.04em; text-transform:uppercase;
  cursor:pointer; transition:all .25s ease; font-family:inherit;
}
.add-cart-btn:hover{background:var(--gold-bright); transform:translateY(-1px);}
.cart-stepper{
  flex:1; display:flex; align-items:center; justify-content:space-between;
  border:1px solid var(--line-strong); border-radius:10px; padding:6px 10px;
  background:rgba(201,162,39,.08);
}
.step-btn{
  width:24px; height:24px; border-radius:50%; border:1px solid var(--line-strong);
  background:transparent; color:var(--ivory); cursor:pointer;
  display:flex; align-items:center; justify-content:center; font-size:15px; line-height:1;
  transition:all .2s ease; font-family:inherit;
}
.step-btn:hover{border-color:var(--gold); color:var(--gold-bright); background:rgba(201,162,39,.14);}
.step-qty{font-size:13px; font-weight:600; min-width:18px; text-align:center;}

.bottle-icon{width:34%; height:34%; opacity:.3;}

.state-msg{
  max-width:1180px; margin:0 auto; padding:60px 5vw; text-align:center;
  color:var(--muted); font-size:14px;
}

/* ---------- back to top ---------- */
#toTop{
  position:fixed; bottom:24px; right:24px; z-index:30;
  width:48px; height:48px; border-radius:50%;
  background:var(--gold); color:#100c02; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all .3s var(--ease);
  box-shadow:0 14px 30px -10px rgba(0,0,0,.55);
}
#toTop.show{opacity:1; visibility:visible; transform:translateY(0);}
#toTop:hover{background:var(--gold-bright); transform:translateY(-3px);}

/* ---------- footer ---------- */
footer{
  border-top:1px solid var(--line); padding:20px 5vw 34px; text-align:center;
  color:var(--muted); font-size:12.5px;
}
footer .arabesque{margin-bottom:30px;}
footer .foot-brand{
  font-family:'Fraunces', serif; font-size:15px; letter-spacing:.12em; margin-bottom:12px;
  background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; color:transparent;
}
footer .foot-tag{
  display:block; font-family:'Fraunces', serif; font-style:italic;
  color:var(--muted-soft); font-size:15px; margin-bottom:14px;
}
footer a{color:var(--gold-bright); text-decoration:none;}
footer a:hover{text-decoration:underline;}

@keyframes fadeUp{
  from{opacity:0; transform:translateY(16px);}
  to{opacity:1; transform:translateY(0);}
}
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} }

@media (max-width:640px){
  .topbar{padding:12px 5vw;}
  .hero{padding-top:9vh;}
  .hero-watermark{opacity:.05;}
  .grid{grid-template-columns:repeat(auto-fill, minmax(155px,1fr)); gap:12px;}
  .card-name{font-size:12.5px; min-height:32px;}
  .price{font-size:18px;}
  .tick-item{font-size:11px; padding:0 20px; gap:10px;}
}

/* ---------- carrito ---------- */
.cart-overlay{
  position:fixed; inset:0; z-index:200; background:rgba(2,2,7,.6);
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease-soft);
  backdrop-filter:blur(2px);
}
.cart-overlay.show{opacity:1; visibility:visible;}

.cart-drawer{
  position:fixed; top:0; right:0; z-index:201; height:100vh; width:min(400px,92vw);
  background:var(--panel-solid); border-left:1px solid var(--line-strong);
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .4s var(--ease-soft);
  box-shadow:-30px 0 60px -20px rgba(0,0,0,.6);
}
.cart-drawer.open{transform:translateX(0);}

.cart-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 22px; border-bottom:1px solid var(--line);
}
.cart-head-title{font-family:'Fraunces', serif; font-size:19px; color:var(--ivory); letter-spacing:.02em;}

.cart-items{flex:1; overflow-y:auto; padding:14px 22px; display:flex; flex-direction:column; gap:14px;}
.cart-empty{color:var(--muted); font-size:13.5px; text-align:center; padding:40px 10px;}

.cart-row{display:flex; align-items:center; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--line);}
.cart-row:last-child{border-bottom:none;}
.cart-row-info{flex:1; min-width:0;}
.cart-row-name{font-size:13px; color:var(--ivory); line-height:1.35; margin-bottom:3px;}
.cart-row-price{font-size:11.5px; color:var(--muted); letter-spacing:.02em;}
.cart-row-actions{display:flex; align-items:center; gap:8px; flex:none;}
.cart-row-remove{
  background:none; border:none; color:var(--muted-soft); cursor:pointer; font-size:13px;
  padding:4px; line-height:1; transition:color .2s ease; font-family:inherit;
}
.cart-row-remove:hover{color:var(--agotado);}

.cart-foot{padding:18px 22px 22px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:12px;}
.cart-total-row{display:flex; align-items:center; justify-content:space-between; font-size:14px; color:var(--ivory);}
.cart-total-row strong{
  font-family:'Fraunces', serif; font-size:21px;
  background:var(--gold-foil); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.cart-wsp-btn{justify-content:center; width:100%;}
.cart-wsp-btn.disabled{pointer-events:none; opacity:.4;}
.cart-clear-btn{
  background:none; border:none; color:var(--muted); font-size:11.5px; letter-spacing:.04em;
  text-transform:uppercase; cursor:pointer; text-align:center; padding:4px; transition:color .2s ease;
  font-family:inherit;
}
.cart-clear-btn:hover{color:var(--agotado);}

@media (max-width:640px){
  .cart-drawer{width:100vw;}
}
