@font-face{font-family:Jost;font-weight:400;font-display:swap;src:url(/fuentes/jost-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-weight:500;font-display:swap;src:url(/fuentes/jost-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Jost;font-weight:600;font-display:swap;src:url(/fuentes/jost-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Playfair;font-weight:600;font-display:swap;src:url(/fuentes/playfair-display-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Playfair;font-weight:500;font-style:italic;font-display:swap;src:url(/fuentes/playfair-display-latin-500-italic.woff2) format("woff2")}

/* Misma paleta que el escáner (Cerebro §5) */
:root{
  --rosa:#E3ADCE; --lila:#B3A3D0; --lila-claro:#DAC8E2;
  --ciruela:#5B3A5E; --ciruela-osc:#3E2740; --noche:#241628;
  --dorado:#C9A15A; --dorado-claro:#E4C88E;
  --crema:#FBF6F8; --blanco:#FFFFFF; --linea:#EADCE6; --suave:#6E5A73; --error:#A0344F; --wa:#1F8A55;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
html,body{background:var(--crema);color:var(--ciruela-osc);font-family:Jost,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:Playfair,Georgia,serif;font-weight:600;line-height:1.12;color:var(--ciruela-osc)}
em{font-family:Playfair,Georgia,serif;font-style:italic;font-weight:500}
button,input,select{font:inherit;color:inherit}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px;position:relative}
.oculto{display:none !important}
body.bloqueado{overflow:hidden}

/* Barra de anuncios y cabecera */
.anuncio{background:var(--noche);color:var(--dorado-claro);font-size:12px;letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:center;gap:18px;padding:8px 12px;overflow:hidden;white-space:nowrap}
.anuncio span+span::before{content:"✦";margin-right:18px;color:var(--rosa)}
@media (max-width:560px){.anuncio span:nth-child(n+2){display:none}}
.cabecera{position:sticky;top:0;z-index:30;background:rgba(251,246,248,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea)}
.cab-fila{max-width:1120px;margin:0 auto;padding:12px 16px 6px;display:flex;align-items:center;gap:6px}
.logo{white-space:nowrap;font-family:Playfair,serif;letter-spacing:.16em;font-size:19px;text-decoration:none;color:var(--ciruela);margin-right:auto;font-weight:600}
.logo span{color:var(--rosa)}
.icono{position:relative;width:42px;height:42px;border:0;background:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.icono:hover{background:#F2E8EF}
.icono svg{width:23px;height:23px;fill:none;stroke:var(--ciruela);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.carrito-btn b{position:absolute;top:3px;right:2px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--ciruela);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}
.menu{max-width:1120px;margin:0 auto;padding:0 16px 10px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.menu::-webkit-scrollbar{display:none}
.menu button,.menu a{flex:none;border:1px solid var(--linea);background:#fff;border-radius:999px;padding:7px 14px;font-size:14px;cursor:pointer;text-decoration:none;color:var(--ciruela-osc)}
.menu button.activo{background:var(--ciruela);color:#fff;border-color:var(--ciruela)}
.menu a{border-color:var(--dorado);color:var(--ciruela)}
.buscador{max-width:1120px;margin:0 auto;padding:0 16px 12px}
.buscador input{width:100%;padding:12px 16px;border:1.5px solid var(--lila-claro);border-radius:12px;background:#fff;font-size:16px}
.submenu{max-width:1120px;margin:0 auto;padding:0 16px 12px;display:flex;flex-wrap:wrap;gap:6px}
.submenu button{border:0;background:#F2E8EF;border-radius:10px;padding:8px 12px;font-size:14px;cursor:pointer}
.submenu button:hover{background:var(--lila-claro)}

/* Botones */
.botones{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.btn{display:inline-block;border:0;border-radius:14px;padding:15px 22px;font-weight:600;font-size:16px;cursor:pointer;text-align:center;text-decoration:none;transition:transform .1s,opacity .2s}
.btn:active{transform:scale(.98)}
.btn-1{background:var(--ciruela);color:#fff;box-shadow:0 8px 24px rgba(91,58,94,.25)}
.btn-oro{background:linear-gradient(135deg,var(--dorado-claro),var(--dorado));color:var(--noche);box-shadow:0 10px 30px rgba(201,161,90,.3)}
.btn-claro{background:transparent;color:#F3E9F1;border:1.5px solid rgba(243,233,241,.45)}
.btn-wa{background:var(--wa);color:#fff;width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn:focus-visible,.icono:focus-visible,.menu button:focus-visible{outline:3px solid var(--lila);outline-offset:2px}
.link{background:none;border:0;color:var(--ciruela);text-decoration:underline;cursor:pointer}
.sello{display:inline-block;border:1px solid rgba(228,200,142,.6);color:var(--dorado-claro);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:6px 13px;border-radius:999px}
.sello.oscuro{color:var(--ciruela);border-color:var(--dorado)}

/* Portada */
.portada,.mi-rutina{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 80% 0%,#4A2C4F 0%,var(--noche) 65%);color:#E2D4E3;padding:48px 0 56px}
.brillo{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;pointer-events:none}
.b1{width:340px;height:340px;background:var(--rosa);top:-140px;right:-80px}
.b2{width:280px;height:280px;background:var(--lila);bottom:-160px;left:-120px;opacity:.35}
.portada h1,.mi-rutina h1{color:#fff;font-size:clamp(34px,6vw,54px);margin:18px 0 14px;max-width:760px}
.portada h1 em{color:var(--rosa)}
.bajada{font-size:18px;max-width:620px}

/* Mi rutina (desde el escáner) */
.mi-rutina p{max-width:640px}
.mr-pasos{list-style:none;display:grid;gap:10px;margin:22px 0;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.mr-pasos li{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:14px;display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;cursor:pointer}
.mr-pasos li:hover{border-color:var(--dorado)}
.mr-pasos small{display:block;color:var(--dorado-claro);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.mr-pasos b{color:#fff;font-weight:500;font-size:15px;line-height:1.3;display:block}
.mr-pasos span{font-size:13px;color:#B9A6BD}
.mr-pasos .mini{width:56px;height:56px;border-radius:12px}

/* Categorías */
.cats{display:flex;gap:10px;overflow-x:auto;padding:22px 0 6px;scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cat{flex:none;width:118px;border:0;background:none;cursor:pointer;text-align:center}
.cat .mini{width:118px;height:118px;border-radius:22px;margin-bottom:8px;transition:transform .2s}
.cat:hover .mini{transform:translateY(-3px)}
.cat b{display:block;font-weight:500;font-size:14px;line-height:1.25}
.cat span{font-size:12px;color:var(--suave)}

/* Secciones */
.seccion{padding-top:34px}
.seccion-titulo{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px}
.seccion-titulo h2{font-size:clamp(24px,4vw,32px)}
.seccion-titulo a,.seccion-titulo span{font-size:14px;color:var(--suave)}
.carrusel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(200px,240px);gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.carrusel .tarjeta{scroll-snap-align:start}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}
@media (min-width:720px){.grilla{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}}

/* Tarjeta de producto */
.tarjeta{position:relative;background:#fff;border:1px solid var(--linea);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:box-shadow .2s,transform .2s}
.tarjeta:hover{box-shadow:0 12px 30px rgba(62,39,64,.1);transform:translateY(-2px)}
.tarjeta .visual{aspect-ratio:1/1}
.tarjeta .info{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.tarjeta small{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lila)}
.tarjeta h3{font-family:Jost,system-ui,sans-serif;font-weight:500;font-size:15px;line-height:1.3;color:var(--ciruela-osc)}
.tarjeta .cont{font-size:13px;color:var(--suave)}
.tarjeta .pie{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.precio{font-weight:600;color:var(--ciruela)}
.precio.pendiente{font-weight:400;font-size:13px;color:var(--suave)}
.mas{width:36px;height:36px;flex:none;border-radius:50%;border:0;background:var(--ciruela);color:#fff;font-size:22px;line-height:1;cursor:pointer}
.mas:hover{background:var(--ciruela-osc)}

/* Visual del producto (sin foto: ilustración por tipo) */
.visual,.mini,.fp-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--fondo,linear-gradient(160deg,#F6E7F0,#ECE4F6))}
.visual img,.fp-visual img{width:100%;height:100%;object-fit:cover}
.visual svg,.mini svg,.fp-visual svg{width:46%;height:46%}
.marca-v{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-family:Playfair,serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(62,39,64,.55)}
.etiqueta{position:absolute;top:10px;left:10px;background:var(--noche);color:var(--dorado-claro);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px}

/* Filtros */
.filtros{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media (min-width:720px){.filtros{grid-template-columns:repeat(4,1fr)}}
.filtros select{width:100%;padding:11px 12px;border:1.5px solid var(--linea);border-radius:12px;background:#fff;font-size:15px}
.activos{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.activos button{border:0;background:var(--ciruela);color:#fff;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer}
.activos button::after{content:"  ×"}
.vacio{text-align:center;color:var(--suave);padding:30px 0}

/* Banda de lectura y confianza */
.banda-lectura{margin-top:40px;border-radius:24px;padding:28px 24px;background:linear-gradient(135deg,#F7E6F0,#EDE5F6);border:1px solid var(--lila-claro);display:grid;gap:18px;align-items:center}
@media (min-width:720px){.banda-lectura{grid-template-columns:1fr auto;padding:34px 40px}}
.banda-lectura .sello{color:var(--ciruela);border-color:var(--dorado)}
.banda-lectura h2{font-size:28px;margin:10px 0 6px}
.banda-lectura p{color:var(--suave)}
.confianza{display:grid;gap:12px;margin:44px auto 10px}
@media (min-width:720px){.confianza{grid-template-columns:repeat(3,1fr)}}
.confianza div{background:#fff;border:1px solid var(--linea);border-radius:18px;padding:18px}
.confianza strong{display:block;font-family:Playfair,serif;font-size:19px;color:var(--ciruela)}
.confianza span{color:var(--suave);font-size:14px}
footer{text-align:center;padding:36px 16px 44px;color:var(--suave);font-size:14px;display:grid;gap:6px}
footer .logo{margin:0 auto;font-size:17px}

/* Capas (ficha y pedido) */
.capa{position:fixed;inset:0;z-index:50;background:rgba(36,22,40,.55);display:flex;align-items:flex-end;justify-content:center;animation:aparece .2s ease}
@keyframes aparece{from{opacity:0}to{opacity:1}}
.hoja{position:relative;background:#fff;width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:24px 24px 0 0;padding:24px 20px 28px}
.hoja.lateral{max-width:460px}
@media (min-width:720px){.capa{align-items:center}.hoja{border-radius:24px}.capa#capa-carrito{justify-content:flex-end;align-items:stretch}.hoja.lateral{max-height:none;border-radius:0}}
.cerrar{position:absolute;top:10px;right:12px;z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#F2E8EF;font-size:24px;line-height:1;cursor:pointer}
.fp-visual{aspect-ratio:4/3;border-radius:18px;margin-bottom:16px}
.fp-marca{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lila)}
.hoja h2{font-size:26px;margin:4px 0 4px;padding-right:30px}
.fp-contenido{color:var(--suave);font-size:15px}
.fp-precio{font-size:20px;font-weight:600;color:var(--ciruela);margin:10px 0}
.fp-precio.pendiente{font-size:15px;font-weight:400;color:var(--suave)}
.fp-nota{margin-top:10px;background:#FBF3E3;border-left:3px solid var(--dorado);padding:8px 12px;font-size:14px;border-radius:0 8px 8px 0}
.fp-datos{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:16px 0;font-size:14px}
.fp-datos dt{color:var(--suave)}
.fp-comprar{display:flex;gap:10px;align-items:center;position:sticky;bottom:-28px;background:#fff;padding:12px 0 4px}
.fp-comprar .btn{flex:1}
.cantidad{display:flex;align-items:center;border:1.5px solid var(--linea);border-radius:12px;overflow:hidden}
.cantidad button{width:40px;height:46px;border:0;background:#fff;font-size:20px;cursor:pointer}
.cantidad span{min-width:28px;text-align:center;font-weight:600}

/* Pedido */
.linea{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--linea)}
.linea .mini{width:56px;height:56px;border-radius:12px}
.linea small{color:var(--lila);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.linea b{display:block;font-weight:500;font-size:14px;line-height:1.3}
.linea .cantidad button{width:32px;height:34px;font-size:17px}
.car-vacio{color:var(--suave);padding:24px 0}
.car-total{margin:14px 0 4px;font-weight:600}
.car-total.pendiente{font-weight:400;color:var(--suave);font-size:14px}
.campo{margin-top:14px;border:0}
.campo label,.campo legend{display:block;font-weight:500;font-size:15px;margin-bottom:6px}
.campo input{width:100%;padding:13px;border:1.5px solid var(--linea);border-radius:12px;font-size:16px;background:#fff}
.campo input:focus{outline:none;border-color:var(--lila)}
.radios{display:grid;gap:8px}
.radios label{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1.5px solid var(--linea);border-radius:12px;cursor:pointer;font-weight:400;font-size:15px;margin:0}
.radios label:has(input:checked){border-color:var(--ciruela);background:#F6EEF4}
.radios input{accent-color:var(--ciruela);width:18px;height:18px}
.ayuda{display:block;color:var(--suave);font-size:13px;margin-top:6px}
.error{color:var(--error);font-size:14px;margin-top:12px;min-height:1em}
#form-pedido .btn{width:100%;margin-top:6px}
.nota{font-size:12px;color:var(--suave);margin-top:12px;text-align:center}
.listo{text-align:center;padding:20px 0;display:grid;gap:14px}
.aviso-flotante{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;background:var(--noche);color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;scroll-behavior:auto !important}}

/* Sede */
.sede-chip{border:1px solid var(--linea);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;cursor:pointer;color:var(--ciruela);white-space:nowrap}
.sede-chip:hover{border-color:var(--lila)}
.hoja.centrada{text-align:center;max-width:460px;padding:30px 22px 26px}
@media (max-width:719px){.capa:has(.hoja.centrada){align-items:flex-end}}
.hoja.centrada > .logo{display:inline-block;margin:0 0 14px;font-size:16px}
.hoja.centrada h2{padding:0;font-size:26px;margin:6px 0 6px}
.hoja.centrada > p{color:var(--suave)}
.sedes{display:grid;gap:10px;margin-top:20px}
.sede{display:grid;grid-template-columns:44px 1fr;column-gap:12px;text-align:left;align-items:center;padding:16px;border:1.5px solid var(--linea);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.sede:hover,.sede:focus-visible{border-color:var(--ciruela);background:#F6EEF4;outline:none}
.sede svg{grid-row:span 2;width:44px;height:44px;padding:10px;border-radius:50%;background:#F2E8EF;fill:none;stroke:var(--ciruela);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sede b{font-weight:600;font-size:16px}
.sede span{color:var(--suave);font-size:14px;line-height:1.35}

/* Antes de irse */
.ab-productos{display:flex;justify-content:center;gap:8px;margin:16px 0}
.ab-productos .mini{width:64px;height:64px;border-radius:14px}
.ab-productos .resto{width:64px;height:64px;border-radius:14px;background:#F2E8EF;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--ciruela)}
#ab-texto{color:var(--suave)}
.ab-beneficio{margin-top:12px;background:#FBF3E3;border:1px dashed var(--dorado);border-radius:12px;padding:10px 12px;font-weight:500}
.ab-botones{display:grid;gap:10px;margin-top:20px}
.btn-2{background:#fff;color:var(--ciruela);border:1.5px solid var(--ciruela)}
@media (max-width:400px){.cab-fila .logo{font-size:16px;letter-spacing:.12em}.sede-chip{padding:6px 10px}}
