/* ============================================================
   MEDRANDO SPORT — Sistema de diseño v2 "Tatami real"
   Dirección aprobada por Carlos: hero con vídeo real de tatami +
   Quicksand/Comfortaa + crema/teal-cian + rebote y glow.
   Interior claro (papel/crema); hero y footer oscuros.
   ============================================================ */

/* ---------- TOKENS ---------- */
:root{
  /* Claros (interior) */
  --paper:#f4ece0;          /* fondo crema */
  --paper-2:#efe6d8;
  --card:#fffdf9;
  --line:#e4d9c8;
  --line-strong:#d3c5ae;

  /* Oscuros (hero/footer) */
  --ink:#0a0f16;
  --ink-2:#101821;

  /* Tinta sobre claro */
  --txt:#26302a;
  --txt-dim:#55605a;
  --txt-mute:#8a948c;

  /* Acentos */
  --teal:#3e8f95;
  --teal-d:#2c6e73;
  --cyan:#4dc4cf;
  --cream:#f3e9dc;          /* texto sobre oscuro */
  --gold:#c99a3b;           /* solo detalles IJF */
  --red:#c05a4e;
  --green:#4d9967;

  --font-display:"Comfortaa","Quicksand",sans-serif;
  --font-body:"Quicksand","Segoe UI",system-ui,sans-serif;

  --r-sm:10px; --r:16px; --r-lg:24px; --r-xl:34px;
  --shadow:0 12px 34px -18px rgba(38,48,42,.35);
  --shadow-lg:0 30px 70px -30px rgba(38,48,42,.45);
  /* hover eléctrico (teal) — efecto aprobado */
  --glow-electric:
    0 0 0 1px rgba(77,196,207,.85),
    0 0 22px -4px rgba(62,143,149,.55),
    0 0 55px -10px rgba(62,143,149,.4),
    0 24px 60px -26px rgba(62,143,149,.5);
  --glow-soft:0 0 0 1px rgba(77,196,207,.6),0 0 18px -6px rgba(62,143,149,.45),0 14px 40px -20px rgba(62,143,149,.35);

  --maxw:1280px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-bounce:cubic-bezier(.34,1.56,.64,1);
}

/* ---------- RESET ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--txt);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
/* ---------- FONDO VIVO: degradado por tienda, en deriva lenta ----------
   Los colores transicionan suavemente al cambiar de mundo (judo/kárate/fitness). */
@property --bg-a{syntax:'<color>';inherits:true;initial-value:#4dc4cf24}
@property --bg-b{syntax:'<color>';inherits:true;initial-value:#3e8f9518}
@property --bg-c{syntax:'<color>';inherits:true;initial-value:#c99a3b10}
:root{--bg-a:#4dc4cf40;--bg-b:#12a37f2b;--bg-c:#7edce440;--hero-glow:rgba(77,208,225,.14)}
body[data-world="karate"]{--bg-a:#e0755f22;--bg-b:#c05a4e14;--bg-c:#c99a3b0d;--hero-glow:rgba(240,138,114,.16)}
body[data-world="fitness"]{--bg-a:#4fa8ae28;--bg-b:#4dc4cf16;--bg-c:#8fb08a14;--hero-glow:rgba(79,168,174,.18)}
body{transition:--bg-a 1.2s var(--ease),--bg-b 1.2s var(--ease),--bg-c 1.2s var(--ease)}
body::before{
  content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;
  background:
    radial-gradient(52% 48% at 10% 6%, var(--bg-a), transparent 62%),
    radial-gradient(50% 46% at 90% 14%, var(--bg-b), transparent 62%),
    radial-gradient(58% 58% at 74% 100%, var(--bg-c), transparent 60%),
    radial-gradient(50% 46% at 28% 74%, var(--bg-a), transparent 64%);
  animation:bgdrift 26s ease-in-out infinite alternate;
}
@keyframes bgdrift{
  from{transform:translate3d(-2%,-1.5%,0) scale(1)}
  to{transform:translate3d(2.5%,2%,0) scale(1.07)}
}
@media (prefers-reduced-motion: reduce){ body::before{animation:none} }

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}
input,select,textarea{font-family:inherit;font-size:1rem}
::selection{background:var(--cyan);color:var(--ink)}

/* ---------- UTILIDADES ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.eyebrow{
  font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--teal-d);font-weight:600;display:inline-flex;gap:.6em;align-items:center;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--teal);opacity:.8}
h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.08;letter-spacing:-.01em}
.section{padding:clamp(60px,8vw,110px) 0}
.section-head{max-width:680px;margin-bottom:clamp(30px,5vw,52px)}
.section-head h2{font-size:clamp(1.9rem,4.4vw,3.1rem);margin:.4em 0 .3em}
.section-head p{color:var(--txt-dim);font-size:1.05rem}
.muted{color:var(--txt-mute)}

.btn{
  display:inline-flex;align-items:center;gap:.6em;justify-content:center;
  padding:.95em 1.6em;border-radius:100px;font-weight:700;font-size:.98rem;
  transition:transform .3s var(--ease-bounce), box-shadow .3s, background .3s;
  white-space:nowrap;
}
.btn:active{transform:scale(.96)}
/* primario teal (alias btn-gold para compatibilidad con app.js) */
.btn-gold,.btn-teal{background:linear-gradient(120deg,var(--cyan),var(--teal));color:#06231f;box-shadow:0 14px 40px -14px var(--teal)}
.btn-gold:hover,.btn-teal:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 0 46px -8px var(--cyan)}
/* secundario (alias btn-blue) */
.btn-blue{background:var(--txt);color:var(--paper)}
.btn-blue:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-ghost{background:rgba(38,48,42,.05);border:1px solid var(--line-strong);color:var(--txt)}
.btn-ghost:hover{background:rgba(38,48,42,.1);transform:translateY(-2px)}
.btn-block{width:100%}
.btn-lg{padding:1.1em 2em;font-size:1.02rem}
/* botón Google (guía oficial: fondo blanco, borde, texto oscuro) */
.btn-google{display:inline-flex;align-items:center;gap:.7em;background:#fff;color:#3c4043;border:1px solid #dadce0;
  border-radius:100px;padding:.8em 1.4em;font-family:inherit;font-weight:700;font-size:.95rem;cursor:pointer;
  transition:transform .25s var(--ease-bounce),box-shadow .25s,background .2s}
.btn-google:hover{background:#f8faff;transform:translateY(-2px);box-shadow:0 8px 22px -10px rgba(66,133,244,.5)}
/* formulario de cuenta (entrar/crear con email) */
.auth-tabs{display:flex;gap:6px;background:var(--paper-2);border-radius:100px;padding:4px;margin-bottom:16px}
.auth-tab{flex:1;padding:.6em;border-radius:100px;font-weight:700;font-size:.92rem;color:var(--txt-dim);border:none;background:none;cursor:pointer;font-family:inherit;transition:.2s}
.auth-tab.on{background:var(--card);color:var(--teal-d);box-shadow:var(--shadow)}
.auth-or{display:flex;align-items:center;gap:12px;color:var(--txt-mute);font-size:.82rem;margin:16px 0}
.auth-or::before,.auth-or::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-form .field{margin-bottom:10px}
.auth-form input{width:100%;padding:.85em 1em;border-radius:12px;background:#fff;border:1px solid var(--line-strong);color:var(--txt);transition:border-color .2s,box-shadow .2s}
.auth-form input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(77,196,207,.2)}
.auth-form .btn{margin-top:4px}
.auth-msg{min-height:1.2em;font-size:.85rem;margin-top:8px;text-align:center}
.auth-or + .btn-google{width:100%;justify-content:center}

.pill{
  display:inline-flex;align-items:center;gap:.4em;font-size:.72rem;font-weight:700;
  padding:.38em .8em;border-radius:100px;letter-spacing:.02em;
}
.pill-gold{background:rgba(201,154,59,.14);color:#8a6720;border:1px solid rgba(201,154,59,.35)}
.pill-blue{background:rgba(62,143,149,.12);color:var(--teal-d);border:1px solid rgba(62,143,149,.3)}
.pill-green{background:rgba(77,153,103,.14);color:#39714d;border:1px solid rgba(77,153,103,.35)}
.pill-amber{background:rgba(201,154,59,.12);color:#8a6720;border:1px solid rgba(201,154,59,.3)}
.pill-violet{background:rgba(122,90,182,.12);color:#5f4692;border:1px solid rgba(122,90,182,.3)}
.pill-red{background:rgba(192,90,78,.12);color:#a04537;border:1px solid rgba(192,90,78,.3)}

/* ---------- HEADER ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .4s,backdrop-filter .4s,border-color .4s,box-shadow .4s;
  border-bottom:1px solid transparent;
  color:var(--cream);              /* sobre el hero oscuro */
  /* velo superior para legibilidad sobre las zonas claras del vídeo */
  background:linear-gradient(180deg, rgba(8,12,18,.55), rgba(8,12,18,0));
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.nav.scrolled{text-shadow:none}
.nav.scrolled{
  background:rgba(244,236,224,.88);backdrop-filter:blur(16px) saturate(130%);
  border-bottom:1px solid var(--line);color:var(--txt);
  box-shadow:0 10px 30px -22px rgba(38,48,42,.35);
}
/* la cabecera ocupa TODO el ancho del navegador (estilo Prozis), no encajonada a 1280px */
.nav-inner{display:flex;align-items:center;gap:clamp(14px,3vw,36px);height:72px;max-width:none;padding:0 clamp(20px,3vw,48px)}
.brand{display:flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:700;font-size:1.15rem}
.brand b{color:var(--cyan)}
.nav.scrolled .brand b{color:var(--teal-d)}

/* Logo mosaico Medrando+ (efecto escalera aprobado) */
.mlogo{width:34px;height:34px;flex:none;display:inline-grid;place-items:center}
.mlogo svg{width:100%;height:100%;overflow:visible}
.mlogo .c{transform-box:fill-box;transform-origin:center;
  transition:transform .55s var(--ease-bounce),filter .55s var(--ease)}
.brand:hover .mlogo .c1{transform:translateY(-18px)}
.brand:hover .mlogo .c3{transform:translateY(-13px)}
.brand:hover .mlogo .c2{transform:translateY(-8px)}
.brand:hover .mlogo .c5{transform:translateY(-10px)}
.brand:hover .mlogo .c6{transform:translateY(-16px)}
.brand:hover .mlogo .c4{transform:translateY(-4px)}
.brand:hover .mlogo .teal{filter:drop-shadow(0 0 6px rgba(79,168,174,.9))}
.mlogo .c1{transition-delay:.12s}.mlogo .c3{transition-delay:.08s}.mlogo .c2{transition-delay:.06s}
.mlogo .c5{transition-delay:.04s}.mlogo .c6{transition-delay:0s}.mlogo .c4{transition-delay:.1s}

/* enlace Catálogo (único link del nav) */
.nav-cat{font-weight:700;font-size:.98rem;padding:.5em .9em;border-radius:100px;opacity:.95;white-space:nowrap;transition:background .2s,opacity .2s}
.nav-cat:hover{opacity:1;background:rgba(243,233,220,.16)}
.nav.scrolled .nav-cat:hover{background:rgba(38,48,42,.06)}

/* buscador central (estilo Prozis) — ocupa todo el espacio disponible */
.nav-search{flex:1;display:flex;align-items:center;gap:10px;height:44px;padding:0 18px;
  background:#fff;border:1px solid var(--line-strong);border-radius:100px;box-shadow:0 6px 20px -14px rgba(38,48,42,.4);
  transition:box-shadow .25s,border-color .2s}
.nav-search:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(77,196,207,.22)}
.nav-search svg{width:18px;height:18px;stroke:var(--txt-mute);fill:none;stroke-width:1.9;flex:none}
.nav-search input{flex:1;border:none;background:none;outline:none;font-size:.95rem;color:var(--txt);font-family:inherit}
.nav-search input::placeholder{color:var(--txt-mute)}

/* etiqueta grande del mundo en el hero */
.world-tag{
  display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.85rem;
  letter-spacing:.42em;text-transform:uppercase;color:var(--ink);
  background:linear-gradient(120deg,var(--cyan),#8fdce4);padding:.55em 1.4em .5em 1.7em;border-radius:100px;
  margin-bottom:18px;box-shadow:0 10px 34px -10px rgba(77,196,207,.65);
}
/* acentos por mundo (kárate rojo/coral · fitness teal puro) */
body[data-world="karate"] .world-tag{background:linear-gradient(120deg,#f2a08d,#e0755f);box-shadow:0 10px 34px -10px rgba(224,117,95,.6)}
body[data-world="karate"] .hero .grad{background:linear-gradient(100deg,#ffb9a6,#f08a72 55%,#ffb9a6);-webkit-background-clip:text;background-clip:text}
body[data-world="karate"] .hero .eyebrow{color:#ffb9a6}
body[data-world="karate"] .hero .eyebrow::before,body[data-world="karate"] .hero .eyebrow::after{background:#ffb9a6}
body[data-world="fitness"] .world-tag{background:linear-gradient(120deg,#a8e5e9,#4fa8ae)}
.nav-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.icon-btn{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:rgba(243,233,220,.1);border:1px solid rgba(243,233,220,.2);position:relative;
  transition:background .2s,transform .2s;
}
.nav.scrolled .icon-btn{background:rgba(38,48,42,.05);border-color:var(--line-strong)}
.icon-btn:hover{transform:translateY(-1px)}
.icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.cart-count{
  position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:100px;
  background:var(--cyan);color:var(--ink);font-size:.72rem;font-weight:800;display:grid;place-items:center;
  transform:scale(0);transition:transform .3s var(--ease-bounce);
}
.cart-count.show{transform:scale(1)}
.nav-toggle{display:none}

/* enlaces de acción con icono + texto (chat, cuenta) estilo Prozis */
.nav-link{display:inline-flex;align-items:center;gap:8px;background:none;border:none;font-family:inherit;
  font-weight:600;font-size:.9rem;color:inherit;cursor:pointer;padding:.5em .6em;border-radius:10px;opacity:.95;
  transition:background .2s,opacity .2s;white-space:nowrap}
.nav-link:hover{opacity:1;background:rgba(243,233,220,.14)}
.nav.scrolled .nav-link:hover{background:rgba(38,48,42,.06)}
.nav-link svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;flex:none}
.nav-link .sep-pipe{opacity:.5;font-weight:400}
.nav-link img{width:24px;height:24px;border-radius:50%;object-fit:cover}
/* Cuenta = solo icono (más intuitivo, ocupa menos). El avatar sigue apareciendo al loguearse. */
#cuentaBtn #cuentaLabel{display:none}
#cuentaBtn{padding:.5em}
#cuentaBtn.logueado{font-weight:700}

/* menú móvil — oculto SIEMPRE fuera de pantalla (100% de su altura + margen del nav) */
.mobile-menu{position:fixed;inset:72px 0 auto 0;z-index:99;background:var(--card);border-bottom:1px solid var(--line);padding:16px;
  transform:translateY(calc(-100% - 90px));visibility:hidden;
  transition:transform .4s var(--ease),visibility .4s;box-shadow:var(--shadow-lg)}
.mobile-menu.show{transform:translateY(0);visibility:visible}
.mobile-menu a{display:block;padding:14px 16px;border-radius:12px;font-size:1.05rem;color:var(--txt-dim);font-weight:600}
.mobile-menu a:hover{background:var(--paper-2);color:var(--txt)}

/* ---------- HERO (vídeo tatami aprobado) ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  color:var(--cream);overflow:hidden;background:var(--ink);
  padding:110px 0 40px;text-align:center;
}
.hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-bg video{width:100%;height:100%;object-fit:cover;object-position:60% center;
  transform:scale(1.06);animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.06) translateX(0)}to{transform:scale(1.14) translateX(-2%)}}
.hero-bg::after{content:"";position:absolute;inset:0;transition:background 1.2s var(--ease);background:
  radial-gradient(60% 55% at 50% 42%, var(--hero-glow), transparent 60%),
  linear-gradient(180deg, rgba(8,12,18,.84) 0%, rgba(8,12,18,.3) 30%, rgba(8,12,18,.34) 60%, rgba(8,12,18,.92) 100%)}
.hero-grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero .wrap{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}
.hero .eyebrow{color:var(--cyan);text-shadow:0 2px 14px rgba(0,0,0,.5)}
.hero .eyebrow::before{background:var(--cyan)}
.hero .eyebrow::after{content:"";width:26px;height:1px;background:var(--cyan);opacity:.8}
.hero h1{
  font-size:clamp(2.9rem,8.8vw,7.4rem);margin:.24em 0 .06em;
  line-height:.97;letter-spacing:-.018em;
  text-shadow:0 6px 44px rgba(0,0,0,.65);
}
.hero h1 .grad{display:block;background:linear-gradient(100deg,var(--cyan),#7edce4 55%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:clamp(1rem,2vw,1.15rem);color:#cfe0dc;max-width:52ch;margin:14px 0 6px}

/* producto destacado (elegible desde Admin → data/config.js) */
.hero-prod{position:relative;margin:14px 0 6px;display:grid;place-items:center;cursor:pointer}
.hero-prod .halo{position:absolute;width:115%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle, rgba(77,208,225,.38), rgba(62,143,149,.12) 45%, transparent 66%);
  filter:blur(8px);animation:pulse 4.5s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.08)}}
.hero-prod img{position:relative;height:clamp(190px,32vh,360px);width:auto;
  filter:drop-shadow(0 34px 48px rgba(0,0,0,.7)) drop-shadow(0 0 32px rgba(77,208,225,.28));
  animation:bob 5.5s ease-in-out infinite;transition:transform .35s var(--ease-bounce)}
.hero-prod:hover img{transform:scale(1.04)}
@keyframes bob{50%{transform:translateY(-13px)}}
.hero-prod .chip{position:absolute;right:-4%;bottom:10%;background:rgba(10,15,22,.74);backdrop-filter:blur(10px);
  border:1px solid rgba(77,196,207,.45);padding:9px 15px;border-radius:100px;font-weight:700;font-size:.82rem;color:var(--cyan);z-index:3;white-space:nowrap}
/* composición del pack en el hero (3 productos reales solapados) */
.pk{position:relative;display:flex;align-items:flex-end;justify-content:center}
.pk img{filter:drop-shadow(0 30px 44px rgba(0,0,0,.65)) drop-shadow(0 0 28px rgba(77,208,225,.22))}
.pk .pk-main{height:clamp(180px,30vh,340px);position:relative;z-index:2;animation:bob 5.5s ease-in-out infinite}
.pk .pk-l{height:clamp(100px,17vh,200px);margin-right:-7%;transform:rotate(-7deg) translateY(-6%);z-index:1;animation:bob 5.5s .4s ease-in-out infinite}
.pk .pk-r{height:clamp(95px,15vh,185px);margin-left:-7%;transform:rotate(7deg);z-index:1;animation:bob 5.5s .8s ease-in-out infinite}
.hero-prod .chip s{opacity:.6;font-weight:500;margin-right:.4em}
.pack-badge{position:absolute;left:-2%;top:4%;z-index:3;background:linear-gradient(120deg,var(--cyan),var(--teal));color:#06231f;
  font-family:var(--font-display);font-weight:700;font-size:.78rem;padding:.5em 1.1em;border-radius:100px;
  box-shadow:0 10px 30px -10px var(--cyan);transform:rotate(-4deg)}

/* modal del pack */
.pack-items{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.pack-item{display:flex;gap:12px;align-items:center;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.pack-item img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:9px;border:1px solid var(--line)}
.pack-item .pi-n{flex:1;font-size:.85rem;font-weight:700;line-height:1.3}
.pack-item .pi-p{font-family:var(--font-display);font-weight:700;font-size:.9rem;white-space:nowrap}
.pack-total{display:flex;align-items:baseline;gap:12px;margin:8px 0 4px}
.pack-total .pt-old{color:var(--txt-mute);text-decoration:line-through;font-size:1.05rem}
.pack-total .pt-new{font-family:var(--font-display);font-size:1.9rem;font-weight:700}
.pack-total .pt-save{background:rgba(77,153,103,.14);color:#39714d;font-weight:700;font-size:.78rem;padding:.3em .8em;border-radius:100px}
.pack-gallery{display:grid;grid-template-rows:1fr auto;background:#fff}
.pack-gallery .pg-main{display:grid;place-items:center;padding:24px}
.pack-gallery .pg-main img{max-height:300px;width:auto}
.pack-gallery .pg-thumbs{display:flex;gap:8px;justify-content:center;padding:12px;border-top:1px solid var(--line)}
.pack-gallery .pg-thumbs img{width:64px;height:64px;object-fit:contain;border:2px solid var(--line);border-radius:10px;padding:4px;background:#fff;cursor:pointer}
.pack-gallery .pg-thumbs img.on{border-color:var(--teal)}

.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:18px}
.hero-trust{display:flex;gap:32px;margin-top:26px;flex-wrap:wrap;justify-content:center}
.hero-trust div{display:flex;flex-direction:column;align-items:center}
.hero-trust b{font-family:var(--font-display);font-size:1.45rem;font-variant-numeric:tabular-nums}
.hero-trust span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#9db4ae}

/* entradas escalonadas */
.rise{opacity:0;transform:translateY(28px);animation:rise .9s var(--ease) forwards}
.rise.d1{animation-delay:.12s}.rise.d2{animation-delay:.26s}.rise.d3{animation-delay:.42s}
.rise.d4{animation-delay:.58s}.rise.d5{animation-delay:.74s}
@keyframes rise{to{opacity:1;transform:none}}

/* marquee de marcas */
.marquee{position:relative;z-index:2;margin-top:34px;border-top:1px solid rgba(243,233,220,.14);border-bottom:1px solid rgba(243,233,220,.14);padding:14px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;gap:56px;white-space:nowrap;animation:scroll 28s linear infinite;font-family:var(--font-display);font-size:1rem;color:#8fa7a1}
.marquee-track span{display:flex;align-items:center;gap:56px}
.marquee-track span::after{content:"●";color:var(--cyan);font-size:.55rem}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- LAS 3 PUERTAS ---------- */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.door{
  position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:300px;
  border:1px solid var(--line);background:var(--card);text-align:left;
  display:flex;flex-direction:column;justify-content:flex-end;padding:26px;
  transition:transform .4s var(--ease-bounce),box-shadow .4s,border-color .4s;
}
.door:hover{transform:translateY(-8px);box-shadow:var(--glow-electric);border-color:var(--cyan)}
.door .door-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.85;transition:transform .6s var(--ease)}
.door:hover .door-bg{transform:scale(1.07)}
.door::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,22,0) 30%,rgba(10,15,22,.88));z-index:1}
.door .door-body{position:relative;z-index:2;color:var(--cream)}
.door .door-kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan);font-weight:700}
.door h3{font-size:1.7rem;margin:.25em 0 .2em}
.door p{color:#c6d6d1;font-size:.9rem;max-width:36ch}
.door .arrow{margin-top:14px;display:inline-flex;width:42px;height:42px;border-radius:100px;background:var(--cyan);color:var(--ink);place-items:center;align-items:center;justify-content:center;transition:transform .3s var(--ease-bounce)}
.door:hover .arrow{transform:translateX(7px)}
.door.door-dark{background:var(--ink-2)}

/* ---------- CATEGORÍAS SECUNDARIAS ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cat-card{
  position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;
  border:1px solid var(--line);background:var(--card);
  display:flex;align-items:flex-end;padding:18px;text-align:left;
  transition:transform .35s var(--ease-bounce),box-shadow .35s,border-color .35s;
}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--glow-soft);border-color:var(--cyan)}
.cat-card .cat-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.5;transition:transform .5s var(--ease),opacity .3s}
.cat-card:hover .cat-bg{transform:scale(1.06);opacity:.65}
.cat-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(10,15,22,.85))}
.cat-card .cat-body{position:relative;z-index:1;color:var(--cream)}
.cat-card h3{font-size:1.15rem;margin-bottom:.15em}
.cat-card p{color:#c6d6d1;font-size:.8rem}
.cat-card .arrow{display:none}
.cat-card.feature{grid-row:auto;aspect-ratio:16/9}

/* ---------- BARRA FILTROS ---------- */
.shop-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:30px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  padding:.55em 1.05em;border-radius:100px;font-size:.88rem;font-weight:600;
  background:var(--card);border:1px solid var(--line);color:var(--txt-dim);
  transition:all .25s var(--ease-bounce);
}
.chip:hover{color:var(--teal-d);border-color:var(--cyan);transform:translateY(-1px)}
.chip.active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 8px 22px -10px var(--teal)}
.shop-sort{margin-left:auto;display:flex;align-items:center;gap:8px}
.shop-sort select{
  background:var(--card);color:var(--txt);border:1px solid var(--line-strong);border-radius:100px;
  padding:.6em 1em;cursor:pointer;font-weight:600;
}
.shop-count{color:var(--txt-mute);font-size:.9rem}

/* ---------- GRID PRODUCTOS ---------- */
.products{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{
  position:relative;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .35s var(--ease-bounce),box-shadow .35s,border-color .35s;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--glow-electric);border-color:var(--cyan)}
.card-media{position:relative;aspect-ratio:1;overflow:hidden;background:#fff}
.card-media img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .6s var(--ease),opacity .4s var(--ease)}
.card:hover .card-media img{transform:scale(1.05)}
/* cambio de foto al hover: la 1ª se OCULTA del todo y aparece la 2ª (nunca montadas) */
.card-media .card-alt{position:absolute;inset:0;opacity:0;z-index:1;background:#fff}
.card:hover .card-media .card-front{opacity:0}
.card:hover .card-media .card-alt{opacity:1}
.card-tags{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:2;align-items:flex-start}
.card-fav{position:absolute;top:12px;right:12px;z-index:2;width:38px;height:38px;border-radius:100px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);display:grid;place-items:center;border:1px solid var(--line);transition:transform .25s var(--ease-bounce)}
.card-fav:hover{transform:scale(1.12)}
.card-fav svg{width:18px;height:18px;stroke:var(--txt-dim);fill:none;stroke-width:1.8;transition:fill .2s,stroke .2s}
.card-fav.on svg{fill:var(--red);stroke:var(--red)}
.card-quick{
  position:absolute;left:12px;right:12px;bottom:12px;z-index:2;opacity:0;transform:translateY(10px);
  transition:opacity .3s,transform .3s var(--ease-bounce);
}
.card:hover .card-quick{opacity:1;transform:translateY(0)}
.card-quick .btn-ghost{background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-color:var(--line-strong)}
.card-body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1;text-align:left}
.card-brand{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-d);font-weight:700}
.card h3{font-family:var(--font-body);font-weight:700;font-size:.98rem;line-height:1.3;margin:.35em 0 .4em;letter-spacing:0}
.card-meta{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:10px}
.card-price{font-family:var(--font-display);font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}
.card-price small{font-size:.72rem;color:var(--txt-mute);font-weight:500}
.card-add{margin-left:auto;width:42px;height:42px;border-radius:12px;background:var(--teal);display:grid;place-items:center;transition:transform .25s var(--ease-bounce),background .2s,box-shadow .25s}
.card-add:hover{background:var(--cyan);transform:scale(1.1);box-shadow:0 0 18px -4px var(--cyan)}
.card-add svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2}
.stars{display:inline-flex;gap:1px;color:var(--gold);font-size:.8rem}
.stars .empty{color:#d8ccb8}

/* semáforo de stock */
.stock-badge{display:inline-flex;align-items:center;gap:.35em;font-size:.72rem;font-weight:700}
.stock-badge::before{content:"";width:8px;height:8px;border-radius:50%}
.stock-green{color:#39714d}.stock-green::before{background:#4d9967;box-shadow:0 0 8px rgba(77,153,103,.7)}
.stock-amber{color:#8a6720}.stock-amber::before{background:var(--gold);box-shadow:0 0 8px rgba(201,154,59,.6)}
.stock-violet{color:#5f4692}.stock-violet::before{background:#7a5ab6}
.stock-red{color:#a04537}.stock-red::before{background:var(--red)}

/* ---------- DRAWER CARRITO ---------- */
.overlay{position:fixed;inset:0;background:rgba(20,26,22,.45);backdrop-filter:blur(4px);z-index:200;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.overlay.show{opacity:1;visibility:visible}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:210;
  background:var(--card);border-left:1px solid var(--line);
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .42s var(--ease);box-shadow:var(--shadow-lg);
}
.drawer.show{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}
.drawer-head h3{font-size:1.25rem}
.drawer .icon-btn{background:var(--paper-2);border-color:var(--line);color:var(--txt)}
.drawer-body{flex:1;overflow-y:auto;padding:8px 24px}
.drawer-foot{padding:20px 24px;border-top:1px solid var(--line);background:var(--paper-2)}
.line-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.line-item img{width:74px;height:74px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--line)}
.li-info{flex:1;min-width:0}
.li-info h4{font-size:.92rem;font-weight:700;margin-bottom:2px}
.li-info .li-var{font-size:.78rem;color:var(--txt-mute)}
.li-info .li-pers{font-size:.76rem;color:var(--teal-d);font-weight:700}
.li-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:8px}
.qty{display:flex;align-items:center;gap:2px;background:var(--paper-2);border:1px solid var(--line);border-radius:100px;padding:2px}
.qty button{width:28px;height:28px;border-radius:100px;display:grid;place-items:center;font-size:1.1rem;color:var(--txt-dim)}
.qty button:hover{background:var(--card);color:var(--txt)}
.qty span{min-width:24px;text-align:center;font-weight:700;font-size:.9rem}
.li-price{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}
.li-remove{font-size:.76rem;color:var(--txt-mute);text-decoration:underline;margin-top:4px}
.li-remove:hover{color:var(--red)}
.cart-empty{text-align:center;padding:60px 20px;color:var(--txt-mute)}
.cart-empty svg{width:54px;height:54px;stroke:var(--txt-mute);fill:none;stroke-width:1.5;margin-bottom:16px}
.cart-row{display:flex;justify-content:space-between;margin-bottom:8px;color:var(--txt-dim)}
.cart-row.total{color:var(--txt);font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin:12px 0 4px}
.ship-bar{height:6px;border-radius:100px;background:rgba(38,48,42,.1);overflow:hidden;margin:10px 0 6px}
.ship-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--teal));transition:width .5s var(--ease)}
.ship-note{font-size:.8rem;color:var(--txt-dim);margin-bottom:14px}

/* ---------- MIGAS DE PAN ---------- */
.crumbs{display:flex;align-items:center;gap:.55em;flex-wrap:wrap;font-size:.86rem;font-weight:600;color:var(--txt-mute);margin-bottom:22px}
.crumbs a{color:var(--txt-dim);cursor:pointer;transition:color .2s;padding:.15em .1em}
.crumbs a:hover{color:var(--teal-d);text-decoration:underline}
.crumbs .sep{opacity:.45;font-weight:400;user-select:none}
.crumbs .cur{color:var(--txt);font-weight:700;max-width:38ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- FICHA DE PRODUCTO (pantalla completa) ---------- */
.pp-back{display:inline-flex;align-items:center;gap:.5em;font-weight:700;color:var(--teal-d);margin-bottom:20px;cursor:pointer;background:none;font-size:.95rem}
.pp-back:hover{text-decoration:underline}
.product-page{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.pp-gallery{position:sticky;top:96px}
.pp-main{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow)}
.pp-main img{width:100%;aspect-ratio:1;object-fit:contain;padding:26px}
.pp-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pp-thumbs img{width:74px;height:74px;object-fit:contain;background:#fff;border:2px solid var(--line);border-radius:12px;padding:6px;cursor:pointer;transition:border-color .2s,transform .25s var(--ease-bounce)}
.pp-thumbs img:hover{transform:translateY(-2px)}
.pp-thumbs img.on{border-color:var(--teal)}
.pp-info h1{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.15;margin:.2em 0 .25em}
.pp-price{font-family:var(--font-display);font-size:2rem;font-weight:700;margin:.15em 0;font-variant-numeric:tabular-nums}
.pp-price small{font-size:.9rem;color:var(--txt-mute);font-weight:500}
/* ---- Etiquetas fuera de la foto: chips finos bajo el nombre (tarjeta limpia) ---- */
.card-chips{display:flex;flex-wrap:wrap;gap:5px;margin:2px 0 8px}
.chip-s{font-size:.66rem;font-weight:700;border-radius:6px;padding:2px 8px;letter-spacing:.2px;line-height:1.55;white-space:nowrap}
.chip-gold{background:#fdf3d6;color:#a9761a}
.chip-blue{background:#e2f3f5;color:#0c6b74}
.chip-green{background:#e0f3ea;color:#0e8a63}
.chip-red{background:#fde7e2;color:#c0392b}

/* ---- Descripción: UN único desplegable (sin pinchar = sin texto) ---- */
.pp-desc-block{max-width:1180px;margin:30px auto 0;padding:0 4px}
.desc-single{max-width:900px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px -26px rgba(38,48,42,.5)}
.desc-single summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}
.desc-single summary::-webkit-details-marker{display:none}
.pp-desc-title{font-family:var(--font-display);font-size:1.1rem;color:var(--teal-d);margin:0}
.desc-single summary svg{width:20px;height:20px;stroke:var(--teal);fill:none;stroke-width:2.2;flex:none;transition:transform .25s}
.desc-single[open] summary svg{transform:rotate(180deg)}
.desc-single[open] summary{border-bottom:1px solid var(--line)}
.desc-prose{color:var(--txt-dim);font-size:.97rem;line-height:1.62;padding:16px 20px}
.desc-prose .desc-p{margin:0 0 12px}
.desc-prose .desc-p:last-child{margin-bottom:0}
.desc-prose b{color:var(--txt);font-weight:700}

/* ---- Cabecera sólida en páginas interiores (evita el velo oscuro bicolor sobre fondo claro) ---- */
.nav.nav-solid{text-shadow:none;background:rgba(244,236,224,.9);backdrop-filter:blur(16px) saturate(130%);border-bottom:1px solid var(--line);color:var(--txt);box-shadow:0 10px 30px -22px rgba(38,48,42,.35)}
.nav.nav-solid .brand b{color:var(--teal-d)}
.nav.nav-solid .nav-cat:hover{background:rgba(38,48,42,.06)}
.nav.nav-solid .icon-btn{background:rgba(38,48,42,.05);border-color:var(--line-strong)}
.nav.nav-solid .nav-link:hover{background:rgba(38,48,42,.06)}

.pp-related{margin-top:clamp(40px,6vw,70px)}
.pp-related h3{font-family:var(--font-display);font-size:1.3rem;margin-bottom:18px}
@media(max-width:860px){.product-page{grid-template-columns:1fr}.pp-gallery{position:static}}

/* ---------- MODAL FICHA ---------- */
.modal{
  position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;
}
.modal.show{opacity:1;visibility:visible}
.modal-card{
  width:min(980px,100%);max-height:90vh;overflow-y:auto;background:var(--card);
  border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  transform:translateY(20px) scale(.98);transition:transform .4s var(--ease-bounce);
  display:grid;grid-template-columns:1fr 1fr;
}
.modal.show .modal-card{transform:none}
.modal-gallery{background:#fff;position:relative;min-height:420px;border-right:1px solid var(--line)}
.modal-gallery .main{aspect-ratio:1;width:100%;object-fit:contain;padding:20px}
.modal-thumbs{display:flex;gap:8px;padding:10px;background:#fff;overflow-x:auto}
.modal-thumbs img{width:60px;height:60px;border-radius:8px;object-fit:cover;cursor:pointer;border:2px solid transparent}
.modal-thumbs img.on{border-color:var(--teal)}
.modal-info{padding:30px;display:flex;flex-direction:column}
.modal-close{position:absolute;top:14px;right:14px;z-index:5;width:40px;height:40px;border-radius:100px;background:rgba(38,48,42,.75);backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff;font-size:1.3rem}
.modal-info h2{font-size:1.55rem;margin:.3em 0}
.modal-price{font-family:var(--font-display);font-size:1.9rem;font-weight:700;margin:.2em 0;font-variant-numeric:tabular-nums}
.modal-price small{font-size:.85rem;color:var(--txt-mute);font-weight:500}
.opt-group{margin:16px 0}
.opt-group label{display:flex;justify-content:space-between;font-size:.85rem;color:var(--txt-dim);margin-bottom:8px;font-weight:700}
.opt-group label a{color:var(--teal-d);text-decoration:underline;font-weight:600}
.sizes{display:flex;gap:9px;flex-wrap:wrap}
.size{min-width:56px;padding:.72em 1.05em;text-align:center;border-radius:13px;border:1.5px solid var(--line-strong);
  background:#fff;font-weight:700;font-size:.95rem;color:var(--txt-dim);cursor:pointer;letter-spacing:.3px;
  transition:transform .2s var(--ease-bounce),border-color .2s,box-shadow .2s,color .2s,background .2s}
.size:hover{border-color:var(--teal);color:var(--teal-d);transform:translateY(-2px) scale(1.03);box-shadow:0 11px 22px -13px rgba(12,107,116,.6)}
.size.on{background:linear-gradient(135deg,var(--teal),var(--teal-d));border-color:var(--teal-d);color:#fff;
  box-shadow:0 12px 26px -10px rgba(12,107,116,.7);transform:translateY(-1px)}
.modal-desc{color:var(--txt-dim);font-size:.92rem;margin:16px 0;max-height:150px;overflow-y:auto;padding-right:8px;white-space:pre-line}
.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:18px;border-top:1px solid var(--line)}
.trust-row div{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--txt-dim)}
.trust-row svg{width:18px;height:18px;stroke:var(--green);fill:none;stroke-width:1.8}

/* ---------- PERSONALIZADOR (v1) ---------- */
.pers{border:1px solid var(--line-strong);border-radius:var(--r);padding:16px;margin:16px 0;background:var(--paper-2);transition:box-shadow .3s,border-color .3s}
.pers.active{border-color:var(--cyan);box-shadow:var(--glow-soft);background:var(--card)}
.pers-head{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:700}
.pers-head input{width:19px;height:19px;accent-color:var(--teal)}
.pers-head .pers-price{margin-left:auto;color:var(--teal-d);font-family:var(--font-display);font-weight:700}
.pers-body{display:none;margin-top:14px}
.pers.active .pers-body{display:block}
.pers-body input[type=text]{
  width:100%;padding:.8em 1em;border-radius:12px;border:1px solid var(--line-strong);
  background:#fff;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:1.05rem;
}
.pers-body input[type=text]:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(77,196,207,.25)}
.hilos{display:flex;gap:10px;margin:12px 0}
.hilo{width:34px;height:34px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:transform .25s var(--ease-bounce),border-color .2s;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.hilo:hover{transform:scale(1.15)}
.hilo.on{border-color:var(--teal);transform:scale(1.12)}
.pers-preview{
  margin-top:12px;background:var(--ink);border-radius:14px;padding:22px 14px;text-align:center;
  border:1px dashed rgba(77,196,207,.4);
}
.pers-preview small{display:block;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:#8fa7a1;margin-bottom:10px}
.pers-preview .pers-name{
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,3vw,1.7rem);
  letter-spacing:.3em;text-transform:uppercase;min-height:1.4em;
  text-shadow:0 1px 0 rgba(0,0,0,.6), 0 0 14px currentColor;
}
.pers-preview .pers-note{font-size:.66rem;color:#8fa7a1;margin-top:10px}

/* ---------- CHECKOUT ---------- */
.checkout-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:36px;align-items:start}
.co-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow)}
.co-card h3{font-size:1.15rem;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.co-step{width:28px;height:28px;border-radius:100px;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:800;font-family:var(--font-body)}
.field{margin-bottom:14px}
.field label{display:block;font-size:.82rem;color:var(--txt-dim);margin-bottom:6px;font-weight:600}
.field input,.field select{width:100%;padding:.85em 1em;border-radius:12px;background:#fff;border:1px solid var(--line-strong);color:var(--txt);transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(77,196,207,.2)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pay-opts{display:flex;flex-direction:column;gap:10px}
.pay-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;background:#fff}
.pay-opt:hover{border-color:var(--cyan)}
.pay-opt.on{border-color:var(--teal);background:rgba(62,143,149,.06);box-shadow:0 0 0 1px var(--teal)}
.pay-opt .dot{width:18px;height:18px;border-radius:100px;border:2px solid var(--line-strong);flex:none}
.pay-opt.on .dot{border-color:var(--teal);background:var(--teal);box-shadow:inset 0 0 0 3px #fff}
.pay-opt b{font-size:.92rem}
.pay-opt span{font-size:.78rem;color:var(--txt-mute);margin-left:auto;text-align:right}
.summary-line{display:flex;justify-content:space-between;padding:8px 0;color:var(--txt-dim);font-size:.92rem}
.summary-line.tot{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;color:var(--txt);font-family:var(--font-display);font-size:1.35rem;font-weight:700}
.co-items{max-height:280px;overflow-y:auto;margin-bottom:16px}
.co-success{text-align:center;padding:50px 20px;max-width:520px;margin:0 auto}
.co-success .check{width:84px;height:84px;border-radius:100px;background:var(--green);display:grid;place-items:center;margin:0 auto 24px;animation:pop .5s var(--ease-bounce)}
.co-success .check svg{width:42px;height:42px;stroke:#fff;fill:none;stroke-width:3}
@keyframes pop{from{transform:scale(0)}to{transform:scale(1)}}

/* ---------- VENTAJAS ---------- */
.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.perk{padding:26px 22px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:transform .3s var(--ease-bounce),border-color .3s,box-shadow .3s;text-align:left}
.perk:hover{transform:translateY(-4px);border-color:var(--cyan);box-shadow:var(--glow-soft)}
.perk .ic{width:48px;height:48px;border-radius:12px;background:rgba(62,143,149,.12);display:grid;place-items:center;margin-bottom:14px;transition:background .3s,box-shadow .3s}
.perk:hover .ic{background:rgba(62,143,149,.22);box-shadow:0 0 18px -4px rgba(77,196,207,.5)}
.perk .ic svg{width:24px;height:24px;stroke:var(--teal-d);fill:none;stroke-width:1.8}
.perk h4{font-family:var(--font-body);font-weight:700;font-size:1.02rem;margin-bottom:4px}
.perk p{font-size:.86rem;color:var(--txt-dim)}

/* ---------- CTA CLUB / B2B ---------- */
.club{position:relative;border-radius:var(--r-xl);overflow:hidden;padding:clamp(38px,6vw,68px);background:var(--ink);border:1px solid var(--ink);text-align:center;color:var(--cream)}
.club::before{content:"";position:absolute;inset:0;background:radial-gradient(55% 85% at 50% 0%,rgba(77,196,207,.16),transparent 60%)}
.club h2{position:relative;font-size:clamp(1.7rem,3.8vw,2.8rem);margin-bottom:.4em}
.club p{position:relative;color:#b9cac5;max-width:600px;margin:0 auto 1.8em}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:#b9cac5;padding:60px 0 30px;margin-top:40px}
footer .brand{color:var(--cream)}
footer .brand b{color:var(--cyan)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.foot-grid h5{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#7d938d;margin-bottom:16px;font-family:var(--font-display)}
.foot-grid a{display:block;color:#b9cac5;padding:5px 0;font-size:.92rem;transition:color .2s}
.foot-grid a:hover{color:var(--cyan)}
.foot-brand p{font-size:.92rem;max-width:300px;margin:14px 0}
.pay-icons{display:flex;gap:8px;margin-top:14px}
.pay-icons span{padding:.4em .7em;border:1px solid rgba(243,233,220,.2);border-radius:8px;font-size:.72rem;color:#8fa7a1;font-weight:700}
.foot-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;border-top:1px solid rgba(243,233,220,.12);color:#7d938d;font-size:.84rem}

/* ---------- TOAST ---------- */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translate(-50%,120%);z-index:300;
  background:var(--txt);color:var(--paper);border-radius:100px;
  padding:.9em 1.4em;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);
  transition:transform .45s var(--ease-bounce);font-size:.92rem;font-weight:600;
}
.toast.show{transform:translate(-50%,0)}
.toast svg{width:20px;height:20px;stroke:var(--cyan);fill:none;stroke-width:2}

/* ---------- REVEAL ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---------- VISTAS ---------- */
.view{display:none}
.view.active{display:block;animation:fade .5s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* empty-state fitness */
.soon{
  text-align:center;background:var(--card);border:1px dashed var(--line-strong);border-radius:var(--r-lg);
  padding:clamp(40px,7vw,80px) 24px;max-width:640px;margin:0 auto;
}
.soon h3{font-size:1.5rem;margin-bottom:.4em}
.soon p{color:var(--txt-dim);max-width:46ch;margin:0 auto 1.4em}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1080px){
  .doors{grid-template-columns:1fr 1fr}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .products{grid-template-columns:repeat(3,1fr)}
  .perks{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:980px){
  /* la barra de acciones (chat + cuenta) se pliega al menú móvil; queda buscador + carrito */
  .nav-actions .nav-link{display:none}
  .nav-toggle{display:grid}
}
@media(max-width:860px){
  .nav-cat{display:none}
  .nav-search{max-width:none}   /* el buscador ocupa el centro */
  .nav-search input::placeholder{font-size:.9rem}
  .doors{grid-template-columns:1fr}
  .checkout-grid{grid-template-columns:1fr}
  .modal-card{grid-template-columns:1fr}
  .modal-gallery{min-height:300px;border-right:none;border-bottom:1px solid var(--line)}
}
@media(max-width:560px){
  /* en móvil el buscador vive en el menú desplegable */
  .nav-search{display:none}
  .mobile-menu .mm-search{display:flex;max-width:none;margin-bottom:10px}
}
.mobile-menu .mm-search{background:var(--paper-2)}
@media(max-width:600px){
  .products{grid-template-columns:repeat(2,1fr)}
  .cat-grid{grid-template-columns:1fr}
  .perks{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .card h3{font-size:.9rem}
  .shop-sort{margin-left:0;width:100%}
  .hero{padding:100px 0 30px}
  .hero-prod .chip{right:0}
}

/* ============ Valoraciones de producto ============ */
.pp-reviews{max-width:1180px;margin:56px auto 0;padding:0 clamp(20px,3vw,48px)}
.pp-reviews>h2{font-family:'Comfortaa',sans-serif;font-size:1.5rem;margin:0 0 22px}
.reviews-loading{color:var(--muted,#6b7b7a);padding:24px 0}
.rev-summary{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;
  background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:18px;padding:26px 30px;
  box-shadow:0 10px 30px -18px rgba(0,0,0,.25)}
.rev-score{display:flex;gap:16px;align-items:center}
.rev-score-num{font-family:'Comfortaa',sans-serif;font-size:3rem;font-weight:700;line-height:1;color:var(--ink,#1c2b2b)}
.rev-bars{display:flex;flex-direction:column;gap:6px;min-width:220px}
.rev-bar{display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted,#6b7b7a)}
.rev-bar-l{width:26px;text-align:right;color:#e6a700}
.rev-bar-track{flex:1;height:8px;background:rgba(0,0,0,.07);border-radius:99px;overflow:hidden}
.rev-bar-track i{display:block;height:100%;background:linear-gradient(90deg,#f4c430,#e6a700);border-radius:99px}
.rev-bar-n{width:20px;text-align:left}
.rev-cta{text-align:center}
.stars{color:#e6a700;letter-spacing:1px}
.stars .empty{color:rgba(0,0,0,.18)}
.rev-form{margin-top:20px;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:22px 24px;max-width:640px}
.rev-form h4{font-family:'Comfortaa',sans-serif;margin:0 0 12px}
.rev-form input,.rev-form textarea{width:100%;padding:11px 13px;margin-bottom:10px;border:1px solid rgba(0,0,0,.14);
  border-radius:10px;font-family:'Quicksand',sans-serif;font-size:.95rem;background:#fbfcfc}
.rev-form textarea{resize:vertical}
.rev-form-stars{display:flex;gap:4px;margin-bottom:14px}
.rev-star-btn{background:none;border:none;font-size:1.8rem;line-height:1;color:rgba(0,0,0,.18);cursor:pointer;padding:0;transition:color .12s,transform .12s}
.rev-star-btn.on{color:#e6a700}
.rev-star-btn:hover{transform:scale(1.15)}
.rev-form-actions{display:flex;gap:10px;margin:4px 0 8px}
.btn-ghost{background:transparent;border:1px solid rgba(0,0,0,.15);color:var(--ink,#1c2b2b)}
.rev-thanks{display:flex;gap:14px;align-items:center;color:#1c8a5b}
.rev-thanks svg{width:34px;height:34px;flex:0 0 34px;fill:none;stroke:#1c8a5b;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  background:rgba(28,138,91,.12);border-radius:50%;padding:5px}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:24px}
.rev-item{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:16px 18px}
.rev-item-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.rev-item-top strong{font-size:.95rem;color:var(--ink,#1c2b2b)}
.rev-verif{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:#1c8a5b;background:rgba(28,138,91,.1);
  padding:2px 8px;border-radius:99px;font-weight:600}
.rev-verif svg{width:12px;height:12px;fill:none;stroke:#1c8a5b;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.rev-item-txt{margin:6px 0 10px;color:#334;font-size:.9rem;line-height:1.5}
.rev-item-by{font-size:.78rem;color:var(--muted,#6b7b7a)}
@media(max-width:760px){
  .rev-summary{grid-template-columns:1fr;gap:20px;text-align:center}
  .rev-score{justify-content:center}
  .rev-bars{min-width:0}
}

/* ============ Recomendador de talla ============ */
.size-reco{margin-top:14px;background:linear-gradient(180deg,#f3fbfb,#eef7f6);border:1px solid rgba(77,196,207,.35);
  border-radius:14px;padding:14px 16px}
.size-reco-head{display:flex;align-items:center;gap:9px;font-weight:600;font-size:.92rem;color:#0f6b74;margin-bottom:10px}
.size-reco-head svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:#0f9aa8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.size-reco-row{display:flex;gap:8px;flex-wrap:wrap}
.size-reco-row input{flex:1;min-width:150px;padding:10px 13px;border:1px solid rgba(0,0,0,.14);border-radius:10px;
  font-family:'Quicksand',sans-serif;font-size:.95rem;background:#fff}
.size-reco-out{margin-top:10px;font-size:.9rem;color:#334;line-height:1.5;min-height:0}
.size-reco-out.on{background:#fff;border:1px solid rgba(77,196,207,.4);border-radius:10px;padding:10px 13px}
.size-reco-out strong{color:#0f6b74}

/* ============ Recogida en club (protagonista) ============ */
.hero-pickup{display:inline-flex;align-items:center;gap:8px;margin-left:14px;padding:9px 15px;
  background:rgba(255,255,255,.6);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);
  border-radius:99px;font-size:.9rem;font-weight:600;color:#0f6b74}
.hero-pickup svg{width:17px;height:17px;fill:none;stroke:#0f9aa8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-pickup b{color:#0c5a62}
.reco-club{margin-top:16px;background:linear-gradient(180deg,#f0faf9,#e7f5f3);border:1px solid rgba(77,196,207,.4);
  border-radius:14px;padding:14px 16px}
.reco-club-top{display:flex;align-items:center;gap:13px}
.reco-club-badge{flex:0 0 auto;align-self:flex-start;background:#12a37f;color:#fff;font-weight:800;font-size:.72rem;
  letter-spacing:.5px;padding:4px 10px;border-radius:8px}
.reco-club-top strong{display:block;color:#0f6b74;font-size:1rem;margin-bottom:2px}
.reco-club-sub{display:block;color:#4a6462;font-size:.85rem;line-height:1.4}
.reco-club-ship{color:#12a37f;font-weight:600}
.reco-club-list{list-style:none;margin:11px 0 0;padding:11px 0 0;border-top:1px dashed rgba(77,196,207,.4);
  display:flex;flex-direction:column;gap:6px}
.reco-club-list li{display:flex;align-items:center;gap:8px;font-size:.86rem;color:#33504e}
.reco-club-list svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:#12a37f;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:720px){ .hero-pickup{margin-left:0;margin-top:10px} }

/* ============ Completa tu equipo (cross-sell) ============ */
.completa-equipo{max-width:1180px;margin:44px auto 0;padding:0 clamp(20px,3vw,48px)}
.completa-equipo>h3{font-family:'Comfortaa',sans-serif;font-size:1.35rem;margin:0 0 4px;color:var(--ink,#1c2b2b)}
.ce-sub{color:var(--muted,#6b7b7a);font-size:.9rem;margin:0 0 18px}
.xs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.xs-card{display:flex;gap:14px;background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:16px;padding:14px;
  box-shadow:0 10px 26px -20px rgba(0,0,0,.35);transition:border-color .15s,box-shadow .15s}
.xs-card:hover{border-color:rgba(77,196,207,.5)}
.xs-card>img{width:88px;height:88px;flex:0 0 88px;object-fit:contain;background:#f7fafa;border-radius:12px}
.xs-body{flex:1;display:flex;flex-direction:column;min-width:0}
.xs-hook{font-size:.72rem;font-weight:700;color:#0f9aa8;text-transform:uppercase;letter-spacing:.4px}
.xs-body h4{margin:3px 0 auto;font-size:.95rem;line-height:1.25;color:var(--ink,#1c2b2b)}
.xs-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.xs-price{font-weight:700;color:var(--ink,#1c2b2b)}
.xs-add{border:none;background:#0c6b74;color:#fff;font-family:'Quicksand',sans-serif;font-weight:700;font-size:.86rem;
  border-radius:10px;padding:8px 16px;cursor:pointer;transition:transform .12s,background .15s}
.xs-add:hover{background:#0f9aa8;transform:translateY(-1px)}
.xs-picker{margin-top:12px;border-top:1px dashed rgba(0,0,0,.12);padding-top:10px}
.xs-opt{margin-bottom:8px}
.xs-opt label{display:block;font-size:.74rem;color:var(--muted,#6b7b7a);font-weight:700;margin-bottom:5px}
.xs-btns{display:flex;flex-wrap:wrap;gap:6px}
.xs-chip{border:1px solid rgba(0,0,0,.15);background:#fbfdfd;border-radius:8px;padding:5px 10px;font-family:'Quicksand',sans-serif;
  font-weight:600;font-size:.82rem;cursor:pointer;color:var(--ink,#1c2b2b)}
.xs-chip.on{background:#0c6b74;color:#fff;border-color:#0c6b74}
.xs-confirm{margin-top:6px;width:100%;justify-content:center}
/* recordatorio en la cesta */
.cart-nudge{margin:6px 0 4px;background:linear-gradient(180deg,#f0faf9,#e9f5f3);border:1px solid rgba(77,196,207,.4);border-radius:14px;padding:12px 14px}
.cn-head{display:flex;align-items:center;gap:8px;font-weight:700;font-size:.88rem;color:#0f6b74;margin-bottom:10px}
.cn-head svg{width:16px;height:16px;fill:none;stroke:#12a37f;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.cn-chip{display:flex;align-items:center;gap:10px;width:100%;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:11px;
  padding:8px 10px;margin-bottom:7px;cursor:pointer;text-align:left;font-family:'Quicksand',sans-serif}
.cn-chip:hover{border-color:rgba(77,196,207,.6)}
.cn-chip img{width:40px;height:40px;flex:0 0 40px;object-fit:contain;background:#f7fafa;border-radius:8px}
.cn-n{flex:1;font-weight:600;font-size:.84rem;color:var(--ink,#1c2b2b);line-height:1.2;min-width:0}
.cn-p{font-weight:700;font-size:.84rem;color:var(--ink,#1c2b2b)}
.cn-add{background:#0c6b74;color:#fff;font-weight:700;font-size:.78rem;border-radius:8px;padding:5px 11px;flex:0 0 auto}

/* ============ Barra superior (envío) ============ */
.announce-bar{background:#0c2b2e;color:#eafaf9;font-size:.85rem;font-weight:600;text-align:center;padding:8px 16px;letter-spacing:.2px}
.announce-bar span{display:inline-flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap}
.announce-bar b{color:#7fe3d8}
.announce-bar svg{width:17px;height:17px;fill:none;stroke:#7fe3d8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:560px){.announce-bar{font-size:.76rem;padding:7px 12px}}

/* ============ Galería mosaico (estilo Prozis) ============ */
.pp-gallery.mosaic .pp-main img{aspect-ratio:1;padding:30px}
.pp-gallery.mosaic .pp-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;flex-wrap:initial}
.pp-gallery.mosaic .pp-thumbs img{width:100%;height:auto;aspect-ratio:1;padding:8px}
@media(max-width:860px){
  .pp-gallery.mosaic .pp-thumbs{grid-template-columns:repeat(4,1fr)}
  .pp-gallery.mosaic .pp-main img{padding:20px}
}

/* ============ Selector de cantidad + compra ============ */
.pp-buy{display:flex;align-items:stretch;gap:12px;margin-top:16px;flex-wrap:wrap}
.pp-qty{display:flex;flex-direction:column;gap:4px}
.pp-qty-lbl{font-size:.72rem;color:var(--muted,#6b7b7a);font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.qstep{display:inline-flex;align-items:center;border:1px solid rgba(0,0,0,.16);border-radius:12px;overflow:hidden;background:#fff;height:52px}
.qstep button{width:44px;height:100%;border:none;background:#fff;font-size:1.3rem;font-weight:600;color:var(--ink,#1c2b2b);cursor:pointer;line-height:1;transition:background .12s}
.qstep button:hover{background:#eff9f8}
.qstep span{min-width:40px;text-align:center;font-weight:700;font-size:1.05rem}
.pp-buy #modalAdd{flex:1;min-width:200px}
@media(max-width:560px){
  .pp-buy{gap:10px}
  .pp-buy #modalAdd{flex:1 1 100%;order:2}
  .pp-qty{flex:0 0 auto;order:1;flex-direction:row;align-items:center;gap:10px}
  .pp-qty-lbl{margin:0}
}

/* ============================================================
   PASADA MÓVIL (uso principal en teléfono)
   ============================================================ */
/* barra fija de compra en la ficha (solo móvil) */
.mobile-buybar{display:none}
@media(max-width:760px){
  .mobile-buybar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:120;
    background:rgba(255,255,255,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-top:1px solid var(--line);padding:9px 14px calc(9px + env(safe-area-inset-bottom));
    box-shadow:0 -8px 26px -16px rgba(0,0,0,.45)}
  .mbb-info{display:flex;flex-direction:column;line-height:1.15;flex:0 0 auto}
  .mbb-p{font-weight:800;font-size:1.15rem;color:var(--ink,#1c2b2b)}
  .mbb-stock{font-size:.72rem;color:var(--muted,#6b7b7a)}
  .mobile-buybar .btn{flex:1;min-height:50px}
}
@media(max-width:760px){
  /* zonas táctiles cómodas */
  .btn{min-height:48px}
  .size{min-width:52px;min-height:46px;font-size:1rem}
  .qty button{width:36px;height:36px;font-size:1.25rem}
  .icon-btn{width:44px;height:44px}
  .li-remove{min-height:34px;display:inline-flex;align-items:center}
  /* tipografía de la ficha más legible */
  .pp-info h1{font-size:1.5rem;line-height:1.2}
  .pp-price{font-size:1.55rem}
  /* galería: imagen contenida + miniaturas en tira deslizable */
  .pp-gallery.mosaic .pp-main img{padding:16px}
  .pp-gallery.mosaic .pp-thumbs{display:flex;grid-template-columns:none;gap:8px;overflow-x:auto;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px;
    scrollbar-width:none}
  .pp-gallery.mosaic .pp-thumbs::-webkit-scrollbar{display:none}
  .pp-gallery.mosaic .pp-thumbs img{flex:0 0 64px;width:64px;height:64px;scroll-snap-align:start}
  /* dejar aire para la barra fija */
  #viewProduct{padding-bottom:82px}
  /* bloques a ancho cómodo */
  .completa-equipo,.pp-reviews{padding-left:16px;padding-right:16px;margin-top:32px}
  .xs-grid{grid-template-columns:1fr}
  .xs-card>img{width:72px;height:72px;flex-basis:72px}
  /* cesta: pie con safe-area iOS y botón grande */
  .drawer-foot{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
  .drawer-body{padding:8px 16px}
  .drawer-foot{padding-left:16px;padding-right:16px}
  /* recomendador/recogida a ancho completo cómodo */
  .size-reco-row{flex-direction:column;align-items:stretch}
  .size-reco-row .btn{width:100%}
}
/* pantallas muy estrechas */
@media(max-width:400px){
  .pp-buy{gap:8px}
  .mbb-p{font-size:1.05rem}
  .products{gap:12px}
}

/* ============ Cupón colapsable + pie de cesta compacto en móvil ============ */
.cupon-wrap{margin:8px 0 2px}
.cupon-link{background:none;border:none;color:var(--teal-d,#0c6b74);font-family:'Quicksand',sans-serif;font-weight:600;
  font-size:.84rem;text-decoration:underline;cursor:pointer;padding:2px 0}
.cupon-row{display:flex;gap:8px;margin-top:8px}
.cupon-row[hidden]{display:none}
@media(max-width:760px){
  /* pie de la cesta MUCHO más compacto (a partir de "envío gratis") */
  .drawer-foot{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
  .ship-bar{height:5px;margin:4px 0 5px}
  .ship-note{font-size:.74rem;margin-bottom:8px}
  .cart-row{margin-bottom:4px;font-size:.9rem}
  .cart-row.total{font-size:1.15rem;margin:7px 0 2px}
  .cupon-wrap{margin:6px 0 2px}
  /* Finalizar compra SIEMPRE presente pero sin exagerar */
  .drawer-foot #goCheckout{margin-top:10px;padding:.85em 1.4em;font-size:1rem}
  .pay-note{margin-top:7px;font-size:.7rem}
}

/* ============ Hero rediseño (sin imágenes de pack) ============ */
.hero-lead{color:rgba(255,255,255,.92);font-size:1.06rem;font-weight:500;max-width:540px;margin:16px 0 4px;line-height:1.5;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero-lead b{color:#7fe3d8;font-weight:700}
.btn-ghost-light{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.55);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn-ghost-light:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}

/* ============ BLOQUE 1 · ÁREA DE CLIENTE ============ */
.cuenta-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 22px}
.cuenta-id{display:flex;align-items:center;gap:14px}
.cuenta-id img,.cuenta-ini{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.cuenta-ini{display:grid;place-items:center;background:linear-gradient(135deg,var(--teal),var(--teal-d));color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.5rem}
.cuenta-id h1{font-family:var(--font-display);font-size:1.5rem;margin:0;line-height:1.1}
.btn-sm{padding:.5em 1em;font-size:.85rem;border-radius:10px}
.cuenta-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:22px;flex-wrap:wrap}
.ct-tab{background:none;border:none;font-family:inherit;font-weight:600;font-size:.95rem;color:var(--txt-mute);cursor:pointer;padding:10px 16px;border-radius:10px 10px 0 0;border-bottom:2.5px solid transparent;transition:color .2s,border-color .2s}
.ct-tab:hover{color:var(--txt)}
.ct-tab.on{color:var(--teal-d);border-bottom-color:var(--teal)}
.cuenta-panel{min-height:200px}
.cuenta-loading,.cuenta-empty{text-align:center;padding:48px 20px;color:var(--txt-mute)}
.cuenta-empty b{display:block;font-family:var(--font-display);font-size:1.25rem;color:var(--txt);margin-bottom:6px}
.cuenta-empty p{max-width:420px;margin:0 auto 18px}
.cuenta-sub{margin:0 0 16px}

/* tarjeta de pedido */
.ped-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:14px;box-shadow:0 14px 34px -28px rgba(38,48,42,.5)}
.ped-head{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}
.ped-head-l{display:flex;flex-direction:column;gap:2px}
.ped-ref{font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:var(--txt)}
.ped-fecha{font-size:.8rem;color:var(--txt-mute)}
.ped-head-r{display:flex;align-items:center;gap:14px}
.ped-total{font-weight:700;font-variant-numeric:tabular-nums}
.ped-chevron{width:20px;height:20px;stroke:var(--txt-mute);fill:none;stroke-width:2.2;transition:transform .25s}
.ped-card.open .ped-chevron{transform:rotate(180deg)}
.ped-resumen{font-size:.85rem;margin:8px 0 0}
.ped-card.open .ped-resumen{display:none}
.est-badge{font-size:.72rem;font-weight:700;border-radius:100px;padding:4px 11px;white-space:nowrap}
.est-green{background:#e0f3ea;color:#0e8a63}.est-amber{background:#fbefd3;color:#a9761a}
.est-blue{background:#e2eef7;color:#2b6ca3}.est-teal{background:#d9f1f0;color:#0c6b74}
.est-red{background:#fde7e2;color:#c0392b}.est-gray{background:#eef1f1;color:#5a6a6a}
.ped-body{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}

/* seguimiento (stepper) */
.seg{display:flex;gap:0;margin:4px 0 16px}
.seg-step{flex:1;text-align:center;position:relative;font-size:.76rem;color:var(--txt-mute)}
.seg-step::before{content:"";position:absolute;top:8px;left:-50%;width:100%;height:2.5px;background:var(--line);z-index:0}
.seg-step:first-child::before{display:none}
.seg-dot{position:relative;z-index:1;width:18px;height:18px;border-radius:50%;background:#fff;border:2.5px solid var(--line);display:block;margin:0 auto 6px}
.seg-lbl{display:block;line-height:1.2}
.seg-done .seg-dot{background:var(--teal);border-color:var(--teal)}
.seg-done::before{background:var(--teal)}
.seg-now .seg-dot{background:var(--teal-d);border-color:var(--teal-d);box-shadow:0 0 0 4px rgba(12,107,116,.16)}
.seg-now::before{background:var(--teal)}
.seg-now .seg-lbl{color:var(--teal-d);font-weight:700}
.seg-cancel{background:#fde7e2;color:#a04537;border-radius:10px;padding:10px 14px;font-size:.85rem;margin-bottom:12px}
.seg-hist{margin:2px 0 14px;font-size:.83rem}
.seg-hist summary{cursor:pointer;color:var(--teal-d);font-weight:600;list-style:none}
.seg-hist summary::-webkit-details-marker{display:none}
.seg-ev{padding:7px 0;border-bottom:1px solid var(--line);color:var(--txt-dim);line-height:1.5}
.seg-ev-f{color:var(--txt-mute);font-weight:600;margin-right:6px}

/* líneas y acciones */
.ped-lineas{font-size:.9rem;margin-bottom:14px}
.ped-linea{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line)}
.ped-linea b{font-variant-numeric:tabular-nums;white-space:nowrap}
.ped-tot{border-bottom:none;font-weight:700;font-size:1rem;color:var(--txt);padding-top:8px}
.ped-acciones{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ped-recogida{font-size:.8rem;color:var(--txt-mute)}

/* formularios de cuenta */
.dir-form{max-width:640px}
.dir-form fieldset{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:0 0 16px}
.dir-form legend{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--teal-d);padding:0 8px}
.dir-form label{display:block;font-size:.76rem;font-weight:600;color:var(--txt-mute);margin-bottom:4px}
.dir-form .field{flex:1;min-width:120px;margin-bottom:10px}
.dir-form input{width:100%;border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.92rem;background:#fff}
.dir-form input:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(77,196,207,.18)}
.dir-msg{margin-left:12px;font-size:.85rem;font-weight:600}

/* ============ BLOQUE 4 · Orden + filtros por faceta ============ */
.shop-sort{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.filtros-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line-strong);border-radius:100px;padding:.5em 1em;font-family:inherit;font-weight:600;font-size:.9rem;color:var(--txt);cursor:pointer;transition:border-color .2s,background .2s}
.filtros-btn:hover,.filtros-btn.on{border-color:var(--teal);color:var(--teal-d)}
.filtros-btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;flex:none}
.filtros-n{background:var(--teal);color:#fff;border-radius:100px;min-width:18px;height:18px;display:inline-grid;place-items:center;font-size:.7rem;font-weight:700;padding:0 5px}
.filtros-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 20px;margin:4px 0 22px;display:flex;flex-wrap:wrap;gap:24px 34px;box-shadow:0 16px 40px -30px rgba(38,48,42,.5)}
.filtro-grupo{min-width:150px}
.filtro-grupo h4{font-family:var(--font-display);font-size:.82rem;color:var(--txt-mute);text-transform:uppercase;letter-spacing:.6px;margin:0 0 10px;font-weight:700}
.filtro-grupo h4 b{color:var(--teal-d);text-transform:none;letter-spacing:0}
.filtro-opts{display:flex;flex-wrap:wrap;gap:6px;max-width:340px}
.filtro-op{background:var(--paper-2,#f4f1ea);border:1px solid var(--line);border-radius:8px;padding:5px 11px;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--txt-dim);cursor:pointer;transition:all .15s}
.filtro-op:hover{border-color:var(--teal)}
.filtro-op.on{background:var(--teal);border-color:var(--teal);color:#fff}
.filtro-precio{min-width:230px;flex:1}
.filtro-range{width:100%;accent-color:var(--teal);cursor:pointer;margin:4px 0 2px}
.filtro-rango-lbl{display:flex;justify-content:space-between;font-size:.76rem;color:var(--txt-mute);font-variant-numeric:tabular-nums}
.filtro-acciones{width:100%;border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center}
.filtro-limpiar{background:none;border:none;color:var(--red,#c0392b);font-family:inherit;font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:underline}

/* Guía de tallas (tabla por marca) */
.tallas-tabla{width:100%;border-collapse:collapse;font-size:.88rem;margin:6px 0}
.tallas-tabla th{background:#eef6f5;text-align:left;padding:8px 10px;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--teal-d)}
.tallas-tabla td{padding:8px 10px;border-bottom:1px solid var(--line);color:var(--txt-dim)}
.tallas-tabla td b{color:var(--txt)}

/* Selector de color por puntos (swatch) */
.opt-sel{color:var(--txt-mute);font-weight:600;font-size:.9em}
.color-dots{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.color-dot{width:36px;height:36px;border-radius:50%;border:2px solid transparent;background:none;padding:2px;cursor:pointer;display:grid;place-items:center;transition:border-color .15s,transform .15s}
.color-dot:hover{transform:scale(1.09)}
.color-dot.on{border-color:var(--teal)}
.color-dot .dot{width:100%;height:100%;border-radius:50%;border:1px solid rgba(20,30,30,.18);box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}

/* ============ TARJETA CRISTAL (nivel + categoría) sobre el fondo aurora CONTINUO del body ============ */
.doors, .cat-grid{gap:22px}
.gcard{position:relative;border-radius:22px;overflow:hidden;min-height:342px;display:flex;flex-direction:column;text-align:left;cursor:pointer;padding:0;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 26px 54px -34px rgba(8,63,69,.45), inset 0 1px 0 rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);
  background:rgba(255,255,255,.82);
  transition:transform .35s var(--ease-bounce),box-shadow .35s,border-color .35s}
.gcard:hover{transform:translateY(-7px);border-color:var(--cyan);
  box-shadow:0 40px 72px -30px rgba(8,63,69,.5), 0 0 0 2px var(--cyan), 0 0 26px -6px rgba(77,196,207,.5)}
.gcard-media{position:relative;height:210px;overflow:hidden;background:#eef4f2}
.gcard-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease),transform .6s var(--ease)}
.gcard-alt{opacity:0}
.gcard:hover .gcard-front{opacity:0}
.gcard:hover .gcard-alt{opacity:1}
.gcard:hover .gcard-media img{transform:scale(1.04)}
.gcard-count{position:absolute;top:12px;left:12px;z-index:3;background:rgba(12,107,116,.95);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:100px}
.gcard-body{padding:15px 18px 18px;display:flex;flex-direction:column;flex:1;border-top:1px solid rgba(12,60,66,.1)}
.gcard-body h3{font-family:var(--font-display);font-size:1.25rem;color:var(--teal-d);margin:0}
.gcard-body p{color:#2c4442;font-size:.86rem;line-height:1.45;margin:6px 0 0}
.gcard-cta{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:7px;color:var(--teal-d);font-weight:700;font-size:.9rem}
.gcard-cta svg{stroke:currentColor;fill:none;stroke-width:2.4;transition:transform .3s var(--ease-bounce)}
.gcard:hover .gcard-cta svg{transform:translateX(5px)}

/* ---------- Banner de cookies (RGPD) ---------- */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:190;
  display:none;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  max-width:920px;margin:0 auto;padding:18px 22px;
  background:rgba(12,43,46,.97);color:#eafaf9;border:1px solid rgba(127,227,216,.28);
  border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transform:translateY(160%);transition:transform .5s var(--ease-bounce,cubic-bezier(.2,.9,.3,1.2))}
.cookie-bar.show{display:flex;transform:translateY(0)}
.cookie-txt{flex:1;min-width:240px}
.cookie-txt b{font-family:var(--font-display,inherit);font-size:1rem;color:#fff}
.cookie-txt p{margin:4px 0 0;font-size:.86rem;line-height:1.5;color:#c7e6e2}
.cookie-txt a{color:#7fe3d8;text-decoration:underline}
.cookie-btns{display:flex;gap:10px;flex-shrink:0}
.cookie-btns .btn{padding:.6em 1.4em}
.cookie-btns .btn-ghost{color:#eafaf9;border-color:rgba(234,250,249,.4);background:transparent}
@media(max-width:560px){.cookie-bar{padding:16px 16px 18px}.cookie-btns{width:100%}.cookie-btns .btn{flex:1}}

/* ---------- Documentos legales (modal info) ---------- */
.legal-doc{color:var(--txt-dim);line-height:1.65;font-size:.94rem;max-height:64vh;overflow:auto;padding-right:6px}
.legal-doc h3{font-family:var(--font-display,inherit);font-size:1rem;color:var(--teal-d);margin:18px 0 6px}
.legal-doc h3:first-child{margin-top:0}
.legal-doc p{margin:0 0 10px}
.legal-doc ul{margin:0 0 12px;padding-left:20px}
.legal-doc li{margin:4px 0}
.legal-doc a{color:var(--teal-d);text-decoration:underline}
.legal-doc b{color:var(--txt,inherit)}

/* ---------- Checkbox de aceptación (checkout) ---------- */
.co-consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 0;font-size:.86rem;color:var(--txt-dim);line-height:1.45;cursor:pointer}
.co-consent input{margin-top:2px;width:17px;height:17px;flex-shrink:0;accent-color:var(--teal-d);cursor:pointer}
.co-consent a{color:var(--teal-d);text-decoration:underline}
