/* Amour Pets · Sistema de diseño v0.1.0 */
@font-face{font-family:"Fredoka";src:url(../fonts/fredoka.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Motiva Sans";src:url(../fonts/motiva-light.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Motiva Sans";src:url(../fonts/motiva-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Motiva Sans";src:url(../fonts/motiva-medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Motiva Sans";src:url(../fonts/motiva-bold.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --violeta:#A98BD6; --lavanda:#DDCBF0; --crema:#FBEFE7; --rosa:#F6D3E3;
  --berenjena:#5A4670; --dorado:#D2A940; --dorado-txt:#9C7B1D;
  --bruma:linear-gradient(120deg,#CFE3F8,#F6D3E3 55%,#FBF3D0);
  --ok:#2F7D5B; --wa:#25D366;
  --f-title:"Fredoka",system-ui,sans-serif;
  --f-body:"Motiva Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-lg:32px; --r-md:20px; --r-pill:999px;
  --sh:0 10px 30px -12px rgba(90,70,112,.28);
  --gut:20px; --max:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--crema);color:var(--berenjena);font:400 1rem/1.65 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-title);font-weight:600;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,8.5vw,5rem)}
h2{font-size:clamp(2rem,5.5vw,3.4rem)}
h3{font-size:1.35rem;line-height:1.2}
p{margin:0 0 1em}
.wrap{width:min(100% - var(--gut)*2,var(--max));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--berenjena);color:var(--crema);padding:10px 16px;border-radius:var(--r-pill);z-index:100}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--violeta);outline-offset:3px;border-radius:8px}
svg.i{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* marcador sobre palabra clave (no se usa texto violeta sobre crema) */
.mark{position:relative;white-space:nowrap;z-index:0}
.mark::after{content:"";position:absolute;left:-.08em;right:-.08em;bottom:.04em;height:.42em;background:var(--lavanda);border-radius:.3em;z-index:-1;transform-origin:left;transform:scaleX(var(--mk,1))}
.eyebrow{font:500 .78rem/1 var(--f-body);letter-spacing:.4em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.9em;margin-bottom:1.2rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--violeta);border-radius:2px}

/* botones · estilo glass (referencia: muvapets.com), colores Amour Pets */
.btn{--ink:#3F2F54;position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:7px 8px 7px 26px;border-radius:var(--r-pill);font:600 .96rem var(--f-body);color:var(--ink);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s cubic-bezier(.22,1,.36,1),filter .24s}
.btn .arrow{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.42);box-shadow:inset 0 1px 2px rgba(255,255,255,.8),inset 0 -1px 2px rgba(63,47,84,.12);transition:transform .24s cubic-bezier(.22,1,.36,1)}
.btn .arrow svg{width:20px;height:20px}
.btn:hover{transform:translateY(-2px)}
.btn:hover .arrow{transform:translateX(3px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-p{background:linear-gradient(135deg,#D9C8F4,#B79BE0 72%);border-color:#8E6FC2;box-shadow:inset 0 2px 2px rgba(255,255,255,.7),inset 0 -2px 3px rgba(110,80,160,.28),0 7px 20px rgba(110,80,160,.22)}
.btn-p:hover{box-shadow:inset 0 2px 2px rgba(255,255,255,.8),inset 0 -2px 3px rgba(110,80,160,.28),0 12px 26px rgba(110,80,160,.32)}
.btn-s{background:linear-gradient(135deg,#FDEAF2,#F6D3E3 75%);border-color:#E3AFC9;box-shadow:inset 0 2px 2px rgba(255,255,255,.85),inset 0 -2px 3px rgba(190,110,150,.2),0 7px 20px rgba(190,110,150,.16)}
.btn-s:hover{box-shadow:inset 0 2px 2px rgba(255,255,255,.9),inset 0 -2px 3px rgba(190,110,150,.2),0 12px 26px rgba(190,110,150,.26)}
.btn-wa{--ink:#073b1c;background:linear-gradient(135deg,#58E88B,#25D366 70%);border-color:#168847;box-shadow:inset 0 2px 2px rgba(255,255,255,.65),inset 0 -2px 3px rgba(17,150,70,.25),0 7px 20px rgba(22,136,71,.2)}
.btn-wa:hover{box-shadow:inset 0 2px 2px rgba(255,255,255,.75),inset 0 -2px 3px rgba(17,150,70,.25),0 12px 26px rgba(22,136,71,.32)}
.btn-sm{min-height:50px;padding:5px 6px 5px 20px;gap:14px;font-size:.92rem}
.btn-sm .arrow{width:38px;height:38px}
.cta .btn-s{--ink:#3F2F54}

/* header · liquid glass */
.hd{position:fixed;top:20px;left:50%;transform:translateX(-50%);z-index:50;width:min(100% - 24px,960px)}
.hd-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:10px 12px 10px 24px;border-radius:var(--r-pill);border:1px solid #fff;background:linear-gradient(120deg,rgba(255,255,255,.74),rgba(253,246,241,.66) 42%,rgba(255,255,255,.5));-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:inset 2px 2px 2px #fff,inset -2px -3px 3px rgba(110,80,160,.16),0 9px 25px rgba(90,70,112,.15),0 2px 3px rgba(90,70,112,.07)}
.hd-in::before{content:"";position:absolute;inset:2px;border-radius:inherit;background:radial-gradient(at 20% 0%,rgba(255,255,255,.55),transparent 58%);pointer-events:none}
.hd-in>*{position:relative}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 1.2rem var(--f-title)}
.brand img{width:48px;height:48px}
.nav{display:none;gap:4px;align-items:center}
.nav a{text-decoration:none;font-weight:400;font-size:.95rem;padding:12px 14px;border-radius:var(--r-pill);border:1px solid transparent;transition:background .25s,border-color .25s,box-shadow .25s}
.nav a:hover{background:rgba(255,255,255,.6);border-color:rgba(255,255,255,.9);box-shadow:inset 0 1px 2px #fff,0 4px 12px rgba(90,70,112,.1)}
.hd-cta{display:flex;gap:8px;align-items:center}
@media(min-width:960px){.nav{display:flex}}
@media(max-width:479px){.hd{top:12px}.hd-in{min-height:66px;padding-left:16px}.brand img{width:42px;height:42px}}
section{scroll-margin-top:110px}

/* hero */
.hero{padding:clamp(104px,16vw,150px) 0 clamp(40px,7vw,90px);position:relative}
.hero .wrap{display:grid;gap:36px;align-items:center}
.hero p.lead{font-size:clamp(1.05rem,2.4vw,1.28rem);max-width:34em;font-weight:300}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:1.8rem;font-size:.9rem;font-weight:500}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta svg{color:var(--violeta)}
.hero-art{position:relative;max-width:520px;margin-inline:auto;width:100%}
.arch{border-radius:260px 260px var(--r-lg) var(--r-lg);overflow:hidden;aspect-ratio:4/5;background:var(--lavanda);box-shadow:var(--sh);border:6px solid var(--crema);outline:2px dashed var(--violeta);outline-offset:-14px}
.arch img{width:100%;height:100%;object-fit:cover}
.float-card{position:absolute;left:-6px;bottom:28px;background:var(--crema);border:1px solid rgba(169,139,214,.4);border-radius:var(--r-md);padding:14px 18px;box-shadow:var(--sh);max-width:240px;font-size:.92rem;line-height:1.35}
.float-card b{display:block;font:600 1.05rem var(--f-title);margin-bottom:2px}
.seal{position:absolute;right:-8px;top:-10px;width:clamp(96px,22vw,132px);filter:drop-shadow(0 8px 14px rgba(90,70,112,.25))}
@media(min-width:900px){.hero .wrap{grid-template-columns:1.1fr .9fr;gap:60px}.float-card{left:-40px}}
.floaty{position:absolute;color:var(--violeta);opacity:.55;pointer-events:none}
.floaty svg{width:100%;height:100%}

/* cinta de confianza */
.strip{background:var(--berenjena);color:var(--crema);overflow:hidden;white-space:nowrap;padding:16px 0}
.strip-track{display:inline-flex;gap:40px;animation:slide 32s linear infinite;padding-left:40px}
.strip span{display:inline-flex;align-items:center;gap:14px;font:500 .82rem var(--f-body);letter-spacing:.3em;text-transform:uppercase}
.strip svg{width:18px;height:18px;color:var(--rosa)}
@keyframes slide{to{transform:translateX(-50%)}}

/* secciones */
section{padding:clamp(56px,9vw,120px) 0}
.sec-head{max-width:640px;margin-bottom:clamp(28px,5vw,56px)}
.sec-head p{font-weight:300;font-size:1.1rem}
.stitch{display:block;width:100%;height:40px;color:var(--violeta)}
.stitch path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 11}

/* productos */
.grid{display:grid;gap:22px}
@media(min-width:720px){.grid.g2{grid-template-columns:1fr 1fr}.grid.g4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.grid.g4{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff8f3;border:1px solid rgba(169,139,214,.3);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s;will-change:transform}
.card:hover{box-shadow:var(--sh)}
.card-img{aspect-ratio:1;background:var(--lavanda);overflow:hidden;position:relative}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.card:hover .card-img img{transform:scale(1.05)}
.tag{position:absolute;left:14px;top:14px;background:var(--crema);border-radius:var(--r-pill);padding:6px 14px;font:500 .72rem var(--f-body);letter-spacing:.25em;text-transform:uppercase}
.card-b{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-b p{font-weight:300;margin:0 0 6px}
.price{font:600 1.5rem var(--f-title);margin-top:auto}
.price small{font:400 .85rem var(--f-body);display:block;opacity:.85}
.card .btn{margin-top:14px;align-self:flex-start}

/* tú eliges */
.choose{background:var(--lavanda);border-radius:var(--r-lg);overflow:hidden;display:grid}
.choose-img{aspect-ratio:4/5;max-height:560px}
.choose-img img{width:100%;height:100%;object-fit:cover}
.choose-b{padding:clamp(26px,5vw,60px)}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:1.2rem 0 1.6rem;padding:0;list-style:none}
.chips li{background:var(--crema);border-radius:var(--r-pill);padding:9px 18px;font-weight:500;font-size:.95rem;display:inline-flex;gap:8px;align-items:center}
@media(min-width:900px){.choose{grid-template-columns:.9fr 1.1fr;align-items:center}.choose-img{aspect-ratio:auto;max-height:none;height:100%}}

/* pasos */
.step{padding:28px 24px;border-radius:var(--r-lg);background:#fff8f3;border:1px solid rgba(169,139,214,.3);position:relative}
.step .n{font:600 .85rem var(--f-body);letter-spacing:.3em;color:var(--dorado-txt);margin-bottom:14px;display:block}
.step p{font-weight:300;margin:0}

/* tallas */
.sizes{background:var(--bruma);border-radius:var(--r-lg);padding:clamp(24px,5vw,64px);display:grid;gap:34px}
.sizes>div{min-width:0}
.sizes h2{margin-bottom:.4em}
.sz-table{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:1.4rem 0}
.sz{background:var(--crema);border-radius:var(--r-md);padding:14px 6px;text-align:center;border:2px solid transparent;transition:border-color .25s,transform .25s}
.sz b{display:block;font:600 1.7rem var(--f-title)}
.sz span{font-size:.8rem;font-weight:500;display:block}
.sz.on{border-color:var(--berenjena);transform:translateY(-4px)}
.calc{background:var(--crema);border-radius:var(--r-md);padding:20px;display:grid;gap:10px}
.calc label{font-weight:500}
.calc-row{display:flex;gap:10px;flex-wrap:wrap}
.calc input{flex:1 1 130px;min-width:0;min-height:52px;border-radius:var(--r-pill);border:2px solid var(--violeta);background:#fff;padding:0 20px;font:500 1.1rem var(--f-body);color:var(--berenjena)}
.calc output{font-weight:500;min-height:1.6em}
.how{list-style:none;padding:0;margin:0;display:grid;gap:12px;counter-reset:h}
.how li{counter-increment:h;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;font-weight:300}
.how li::before{content:counter(h);width:34px;height:34px;border-radius:50%;background:var(--berenjena);color:var(--crema);display:grid;place-items:center;font:600 .95rem var(--f-title)}
.measure{width:100%;max-width:340px;margin:0 auto;display:block}
@media(min-width:900px){.sizes{grid-template-columns:1.1fr .9fr;align-items:center}}

/* regalo */
.gift{display:grid;gap:30px;align-items:center}
.gift-art{background:var(--lavanda);border-radius:var(--r-lg);aspect-ratio:1;display:grid;place-items:center;position:relative;overflow:hidden;max-width:480px;width:100%;margin-inline:auto}
.gift-art::before{content:"";position:absolute;inset:0;background:var(--bruma);opacity:.55}
.gift-art img{width:62%;position:relative;filter:drop-shadow(0 18px 24px rgba(90,70,112,.3))}
.gift ul{padding:0;margin:1rem 0 1.6rem;list-style:none;display:grid;gap:10px}
.gift li{display:flex;gap:12px;align-items:flex-start;font-weight:300}
.gift li svg{color:var(--violeta);margin-top:.25em}
@media(min-width:900px){.gift{grid-template-columns:.9fr 1.1fr;gap:70px}}

/* nosotros */
.about{display:grid;gap:28px;align-items:center}
.quote{font:600 clamp(1.5rem,4vw,2.4rem)/1.2 var(--f-title)}
.pho{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh)}
.pho img{width:100%;height:100%;object-fit:cover}
@media(min-width:900px){.about{grid-template-columns:1fr 1fr;gap:70px}}

/* faq */
.faq{max-width:820px;margin-inline:auto}
.faq details{border-bottom:1px solid rgba(169,139,214,.5);padding:20px 0}
.faq summary{cursor:pointer;font:600 1.2rem var(--f-title);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.6rem;transition:transform .3s;color:var(--violeta)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:12px 0 0;font-weight:300}

/* cta final */
.cta{background:var(--berenjena);color:var(--crema);border-radius:var(--r-lg);padding:clamp(34px,7vw,90px) clamp(22px,5vw,70px);text-align:center;position:relative;overflow:hidden}
.cta .btn-s{border-color:var(--crema);color:var(--crema)}
.cta .btn-s:hover{background:rgba(251,239,231,.12)}
.cta p{max-width:30em;margin-inline:auto;font-weight:300;font-size:1.1rem}
.cta .hero-cta{justify-content:center}

/* footer */
.ft{background:var(--lavanda);padding:60px 0 120px;margin-top:clamp(56px,9vw,120px)}
.ft-g{display:grid;gap:34px}
.ft h3{font-size:1.05rem;margin-bottom:.8em}
.ft ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ft a{text-decoration:none}
.ft a:hover{text-decoration:underline}
.ft .fine{margin-top:36px;padding-top:20px;border-top:1px solid rgba(90,70,112,.25);font-size:.85rem;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.ft li svg{margin-right:8px;vertical-align:-.15em}
@media(min-width:800px){.ft{padding-bottom:50px}.ft-g{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}

/* whatsapp flotante + barra app */
.wa-fab{position:fixed;right:16px;bottom:88px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--wa);color:#073b1c;display:grid;place-items:center;box-shadow:0 10px 24px -6px rgba(7,59,28,.5);transition:transform .25s}
.wa-fab:hover{transform:scale(1.08)}
.wa-fab svg{width:30px;height:30px;stroke:none;fill:currentColor}
.tabbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:55;background:rgba(251,239,231,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(169,139,214,.4);border-radius:var(--r-pill);display:flex;justify-content:space-around;padding:6px;box-shadow:var(--sh);padding-bottom:max(6px,env(safe-area-inset-bottom))}
.tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;font-size:.7rem;font-weight:500;padding:6px 10px;border-radius:var(--r-pill);min-width:56px}
.tabbar a.on{background:var(--lavanda)}
.tabbar svg{width:22px;height:22px}
@media(min-width:800px){.tabbar{display:none}.wa-fab{bottom:24px;right:24px}}

/* entrada del hero sin ocultar contenido (LCP) */
.hero .wrap>*{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero .wrap>*:nth-child(2){animation-delay:.12s}
@keyframes rise{from{transform:translateY(22px)}}
/* revelado: solo se oculta si hay JS y movimiento permitido */
.js .rv{opacity:0;transform:translateY(26px)}
.js.rm .rv{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .strip-track,.hero .wrap>*{animation:none}
  .js .rv{opacity:1;transform:none}
  *{transition-duration:.01ms!important}
}
@media(max-width:699px){.floaty{display:none}}

/* carruseles táctiles en móvil (scroll horizontal con agarre) */
@media(max-width:719px){
  .snap{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-inline:calc(var(--gut)*-1);padding:4px var(--gut) 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .snap::-webkit-scrollbar{display:none}
  .snap>*{flex:0 0 80%;scroll-snap-align:center;min-width:0}
  .snap.snap-s>*{flex-basis:68%}
  .snap-hint{display:flex!important}
}
.snap-hint{display:none;justify-content:center;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;font-weight:500;margin:-4px 0 6px;opacity:.8}
.snap-hint svg{width:18px;height:18px}

/* páginas internas */
.pg-head{padding:clamp(110px,16vw,150px) 0 clamp(24px,4vw,48px)}
.h-md{font-size:clamp(2rem,6vw,3.6rem)}
.lead{font-size:clamp(1.05rem,2.3vw,1.25rem);font-weight:300;max-width:36em}
.crumbs{font-size:.85rem;margin-bottom:1.4rem;opacity:.85}
.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.note{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;background:var(--lavanda);border-radius:var(--r-lg);padding:22px 26px;margin-top:28px}
.note>svg{color:var(--berenjena);width:26px;height:26px;flex:none}
.note p{margin:0;flex:1 1 240px}
.prose{max-width:760px}
.prose h2{font-size:1.5rem;margin-top:1.8em}
.prose p,.prose li{font-weight:300;font-size:1.05rem}
.prose mark{background:#FBF3D0;color:var(--berenjena);padding:0 .3em;border-radius:6px}
.banner{background:#FBF3D0;border:1px dashed var(--dorado-txt);border-radius:var(--r-md);padding:14px 18px;margin-bottom:1.6rem;font-size:.95rem}
.quote-l{font:600 clamp(1.4rem,3.5vw,2rem)/1.25 var(--f-title)}
.vals{list-style:none;padding:0;display:grid;gap:12px}
.vals li{background:#fff8f3;border:1px solid rgba(169,139,214,.3);border-radius:var(--r-md);padding:16px 20px}
.vals b{display:block;font:600 1.1rem var(--f-title)}

/* producto */
.pdp{padding-top:clamp(100px,14vw,140px)}
.pdp-g{display:grid;gap:34px}
.pdp-main{border-radius:var(--r-lg);overflow:hidden;background:var(--lavanda);aspect-ratio:1;box-shadow:var(--sh)}
.pdp-main img{width:100%;height:100%;object-fit:cover}
.pdp-th{display:flex;gap:10px;margin-top:12px}
.th{width:72px;height:72px;border-radius:var(--r-md);overflow:hidden;border:2px solid transparent;padding:0;background:var(--lavanda);cursor:pointer}
.th.on{border-color:var(--berenjena)}
.th img{width:100%;height:100%;object-fit:cover}
.pdp-price{margin:.4rem 0 1.4rem;font:600 2rem var(--f-title)}
.pdp-price small{display:block;font:400 .9rem var(--f-body)}
@media(min-width:900px){.pdp-g{grid-template-columns:1fr 1fr;gap:56px;align-items:start}.pdp-media{position:sticky;top:110px}}
.cfg fieldset{border:0;border-top:1px solid rgba(169,139,214,.45);margin:0;padding:20px 0}
.cfg legend{font:600 1.1rem var(--f-title);padding:0 12px 0 0;float:left;width:100%;margin-bottom:12px}
.cfg legend small{font:400 .85rem var(--f-body)}
.cfg fieldset>*{clear:both}
.cfg small{display:block;font-size:.85rem;opacity:.85;margin-top:6px}
.cfg input[type=text],.cfg input[type=number],.cfg select,.cfg textarea{width:100%;min-height:52px;border-radius:var(--r-md);border:2px solid var(--violeta);background:#fff;padding:12px 18px;font:500 1.05rem var(--f-body);color:var(--berenjena)}
.cfg textarea{resize:vertical}
.cfg label{font-weight:500;display:block;margin:10px 0 6px}
.pv{background:var(--bruma);border-radius:var(--r-lg);padding:18px;margin-bottom:6px;text-align:center}
.pv-l{font-size:.78rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;margin:0 0 12px}
.pv-t{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-height:56px;align-items:center}
.pv-t .ph{opacity:.6;font-weight:300}
.tile{width:42px;height:48px;border-radius:12px;display:grid;place-items:center;font:600 1.5rem var(--f-title);box-shadow:inset 0 2px 2px rgba(255,255,255,.7),inset 0 -3px 4px rgba(0,0,0,.14),0 4px 8px rgba(90,70,112,.18);animation:pop .3s}
@keyframes pop{from{transform:scale(.6);opacity:0}}
.tile.gap{background:none;box-shadow:none;width:18px}
.sz-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.sz-opt input,.sw input{position:absolute;opacity:0;pointer-events:none}
.sz-opt span{display:block;text-align:center;background:#fff8f3;border:2px solid rgba(169,139,214,.5);border-radius:var(--r-md);padding:10px 4px;font-size:.78rem;cursor:pointer;transition:border-color .2s,background .2s}
.sz-opt b{display:block;font:600 1.4rem var(--f-title)}
.sz-opt input:checked+span{border-color:var(--berenjena);background:var(--lavanda)}
.sz-opt input:focus-visible+span,.sw input:focus-visible+span{outline:3px solid var(--violeta);outline-offset:2px}
.calc.mini{margin-top:12px;padding:14px;background:#fff8f3;border:1px solid rgba(169,139,214,.3)}
.calc.mini label{margin:0}
.sws{display:flex;flex-wrap:wrap;gap:10px}
.sws.sub{margin-top:10px;padding:12px;background:#fff8f3;border-radius:var(--r-md)}
.sw{margin:0!important;position:relative;cursor:pointer}
.sw span{display:block;width:44px;height:44px;border-radius:50%;background:var(--c);border:2px solid rgba(90,70,112,.25);box-shadow:inset 0 2px 2px rgba(255,255,255,.6),inset 0 -2px 3px rgba(0,0,0,.15);transition:transform .2s}
.sw input:checked+span{border-color:var(--berenjena);transform:scale(1.12);box-shadow:0 0 0 3px var(--crema),0 0 0 5px var(--berenjena)}
.sw input:disabled+span{opacity:.35;cursor:not-allowed}
.opt{display:flex!important;gap:12px;align-items:flex-start;padding:10px 0;cursor:pointer}
.opt input{width:22px;height:22px;accent-color:var(--berenjena);margin-top:2px;flex:none}
.opt small{margin-top:2px}
.cfg [hidden]{display:none!important}
.cfg-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--lavanda);border-radius:var(--r-md);padding:16px 20px;margin:6px 0 16px}
.cfg-sum span{font-size:.85rem;display:block}
.cfg-sum b{font:600 1.8rem var(--f-title)}
.hint{margin:0;font-size:.88rem}
.btn.is-off{filter:grayscale(.7);opacity:.55;pointer-events:none}
.fine-p{font-size:.85rem;margin:12px 0 0;opacity:.85}
.sz-opt span{font-size:.7rem;white-space:nowrap}

/* v0.1.3 configurador: placa, formas, paleta */
.pv-t{flex-direction:column;gap:12px}
.pv-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
svg.pl{width:130px;height:130px;filter:drop-shadow(0 8px 10px rgba(90,70,112,.25));animation:pop .3s}
.chips-r{display:flex;flex-wrap:wrap;gap:8px}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:9px 16px;border-radius:var(--r-pill);border:2px solid rgba(169,139,214,.5);background:#fff8f3;font-weight:500;font-size:.92rem;cursor:pointer;transition:border-color .2s,background .2s}
.chip input:checked+span{border-color:var(--berenjena);background:var(--lavanda)}
.chip input:focus-visible+span{outline:3px solid var(--violeta);outline-offset:2px}
.sws.pal{gap:7px;max-height:210px;overflow:auto;padding:4px}
.sws.pal .sw span{width:34px;height:34px}
.center-b{display:flex;justify-content:center;margin-top:26px}

/* v0.1.4 · iconos del header, carrito, cuenta, blog */
.ic-btn{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;text-decoration:none;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.55);box-shadow:inset 0 1px 2px #fff,0 4px 10px rgba(90,70,112,.12);transition:transform .24s,background .24s}
.ic-btn:hover{transform:translateY(-2px);background:#fff}
.ic-btn svg{width:22px;height:22px}
.cnt{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--berenjena);color:var(--crema);font:700 .72rem/20px var(--f-body);text-align:center;padding:0 5px}
.tabbar a{position:relative}
.tabbar .cnt{top:0;right:10px}
@media(max-width:479px){.hd-cta .ic-btn:first-child{display:none}.hd-cta{gap:6px}}
.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%,20px);z-index:80;background:var(--berenjena);color:var(--crema);padding:14px 20px;border-radius:var(--r-pill);box-shadow:var(--sh);opacity:0;pointer-events:none;transition:.35s;display:flex;gap:14px;align-items:center;font-weight:500;max-width:calc(100% - 24px)}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast a{color:var(--rosa)}
.btn-row{display:grid;gap:10px}
.demo{background:#FBF3D0;border:1px dashed var(--dorado-txt);border-radius:var(--r-md);padding:12px 16px;font-size:.9rem;margin-bottom:1.4rem}
/* carrito */
.cart-g{display:grid;gap:26px}
@media(min-width:900px){.cart-g{grid-template-columns:1.5fr 1fr;align-items:start}}
.ci{display:grid;grid-template-columns:96px 1fr;gap:16px;background:#fff8f3;border:1px solid rgba(169,139,214,.3);border-radius:var(--r-lg);padding:14px;margin-bottom:14px}
.ci img{width:96px;height:96px;border-radius:var(--r-md);object-fit:cover}
.ci h3{margin:0 0 4px;font-size:1.1rem}
.ci ul{margin:0;padding:0;list-style:none;font-size:.85rem;font-weight:300;display:grid;gap:2px}
.ci-b{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap}
.qty{display:inline-flex;align-items:center;border:2px solid var(--violeta);border-radius:var(--r-pill);overflow:hidden}
.qty button{width:38px;height:38px;border:0;background:transparent;font:600 1.2rem var(--f-body);cursor:pointer;color:var(--berenjena)}
.qty span{min-width:28px;text-align:center;font-weight:700}
.rm-b{background:none;border:0;text-decoration:underline;cursor:pointer;color:var(--berenjena);font:400 .85rem var(--f-body)}
.sumbox{background:var(--lavanda);border-radius:var(--r-lg);padding:24px;position:sticky;top:110px}
.sumbox .row{display:flex;justify-content:space-between;padding:6px 0}
.sumbox .tot{font:600 1.7rem var(--f-title);border-top:1px solid rgba(90,70,112,.25);margin-top:8px;padding-top:12px}
.cup{display:flex;gap:8px;margin:12px 0}
.cup input{flex:1;min-width:0;min-height:46px;border-radius:var(--r-pill);border:2px solid var(--violeta);padding:0 16px;font:500 1rem var(--f-body);color:var(--berenjena);background:#fff}
.cup button{min-height:46px;border-radius:var(--r-pill);border:0;background:var(--berenjena);color:var(--crema);padding:0 18px;font:600 .9rem var(--f-body);cursor:pointer}
.pays{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.pays span{background:var(--crema);border-radius:var(--r-pill);padding:6px 12px;font-size:.78rem;font-weight:500}
.empty{text-align:center;padding:40px 10px}
.empty svg{width:56px;height:56px;color:var(--violeta)}
/* cuenta */
.auth{display:grid;gap:22px;max-width:980px}
@media(min-width:800px){.auth{grid-template-columns:1fr 1fr}}
.box{background:#fff8f3;border:1px solid rgba(169,139,214,.3);border-radius:var(--r-lg);padding:26px}
.box h2{font-size:1.6rem}
.frm label{display:block;font-weight:500;margin:12px 0 6px}
.frm input,.frm select{width:100%;min-height:50px;border-radius:var(--r-md);border:2px solid var(--violeta);background:#fff;padding:0 16px;font:500 1rem var(--f-body);color:var(--berenjena)}
.frm .btn{margin-top:16px;width:100%}
.btn-g{background:#fff;border-color:#d8d0e6;--ink:#3c3c3c}
.dash{display:grid;gap:22px}
@media(min-width:900px){.dash{grid-template-columns:260px 1fr;align-items:start}}
.side{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.side a{white-space:nowrap;padding:10px 16px;border-radius:var(--r-pill);background:#fff8f3;border:1px solid rgba(169,139,214,.3);text-decoration:none;font-weight:500;font-size:.92rem}
.side a.on{background:var(--lavanda);border-color:var(--violeta)}
@media(min-width:900px){.side{flex-direction:column}}
.ord{background:#fff8f3;border:1px solid rgba(169,139,214,.3);border-radius:var(--r-lg);padding:20px;margin-bottom:16px}
.ord-h{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.badge{display:inline-block;padding:4px 12px;border-radius:var(--r-pill);font:600 .78rem var(--f-body);background:var(--lavanda)}
.tl{display:flex;justify-content:space-between;gap:4px;list-style:none;padding:0;margin:14px 0;counter-reset:t;position:relative}
.tl li{flex:1;text-align:center;font-size:.72rem;position:relative;padding-top:34px;opacity:.55}
.tl li::before{content:"";position:absolute;top:6px;left:50%;transform:translateX(-50%);width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--violeta);z-index:1}
.tl li::after{content:"";position:absolute;top:15px;left:-50%;width:100%;height:3px;background:var(--lavanda)}
.tl li:first-child::after{display:none}
.tl li.done{opacity:1}.tl li.done::before{background:var(--berenjena);border-color:var(--berenjena)}
.tl li.done::after{background:var(--berenjena)}
/* blog */
.post-card{display:flex;flex-direction:column;background:#fff8f3;border:1px solid rgba(169,139,214,.3);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;transition:transform .3s,box-shadow .3s}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.post-card div{padding:20px 22px 24px}
.post-card h3{margin:.3em 0}
.meta{font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;opacity:.8}
.art{max-width:760px}
.art h2{font-size:1.7rem;margin-top:1.8em}
.art p,.art li{font-size:1.1rem;font-weight:300;line-height:1.75}
.art .summary{background:var(--lavanda);border-radius:var(--r-lg);padding:20px 24px;margin:1.4rem 0}
.art .summary b{font-family:var(--f-title)}
.toc{background:#fff8f3;border:1px solid rgba(169,139,214,.3);border-radius:var(--r-md);padding:16px 22px;margin:1.4rem 0}
.toc ol{margin:6px 0 0;padding-left:1.2em}
.toc a{text-decoration:none}
.art-img{border-radius:var(--r-lg);overflow:hidden;margin:1.4rem 0}
.art table{width:100%;border-collapse:collapse;margin:1rem 0}
.art th,.art td{padding:12px 14px;border-bottom:1px solid rgba(169,139,214,.4);text-align:left}
.art th{font-family:var(--f-title)}
.brand span{white-space:nowrap}
.hd{width:min(100% - 24px,1040px)}
.nav a{padding:12px 11px;font-size:.92rem;white-space:nowrap}
@media(min-width:960px) and (max-width:1120px){.brand span{display:none}}
.float-card{text-decoration:none;display:block;transition:transform .25s}.float-card:hover{transform:translateY(-3px)}

/* v0.2.2 cuenta, pedidos, checkout */
.flash{border-radius:var(--r-md);padding:12px 18px;margin:0 auto 16px;max-width:var(--max);width:calc(100% - var(--gut)*2);font-weight:500}
.flash.ok{background:#E3F4EA;color:#14532D}.flash.err{background:#FDE7E9;color:#8A1C27}
.side-out{background:none;border:1px solid rgba(169,139,214,.3);border-radius:var(--r-pill);padding:10px 16px;font:500 .92rem var(--f-body);color:var(--berenjena);cursor:pointer;white-space:nowrap}
.llave{display:flex;flex-direction:column;background:var(--crema);border-radius:var(--r-md);padding:14px 18px;margin:0 0 6px}
.llave span{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase}.llave b{font:600 1.4rem var(--f-title);word-break:break-all}
.pay{margin-top:16px}.pay .how{margin:1rem 0}
.evt{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.gt{width:100%;border-collapse:collapse}.gt th,.gt td{padding:10px 8px;border-bottom:1px solid rgba(169,139,214,.4);text-align:left}
.ck-i{border-bottom:1px solid rgba(90,70,112,.2);padding:8px 0;font-size:.9rem}.ck-i ul{margin:4px 0;padding-left:1.1em;font-weight:300}
.frm select{width:100%;min-height:50px;border-radius:var(--r-md);border:2px solid var(--violeta);background:#fff;padding:0 16px;font:500 1rem var(--f-body);color:var(--berenjena)}
a.chip{text-decoration:none;display:inline-block}
.frm input[type=checkbox],.frm input[type=radio]{width:22px;height:22px;min-height:0;padding:0;border:0;accent-color:var(--berenjena);flex:none}
.frm .opt{margin:12px 0}
.fine-p.ok{color:#2F7D5B;font-weight:600}.fine-p.bad{color:#B3261E;font-weight:600}

/* v0.3.6 configurador: estilo «Como en la foto», pasos numerados y vista previa del collar */
.cfg{counter-reset:paso}
.cfg fieldset legend::before{counter-increment:paso;content:counter(paso) ". "}
.est-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.est-opt{margin:0!important;cursor:pointer;position:relative}
.est-opt input{position:absolute;opacity:0;pointer-events:none}
.est-opt span{display:block;height:100%;background:#fff8f3;border:2px solid rgba(169,139,214,.5);border-radius:var(--r-md);padding:14px 16px 14px 44px;position:relative;transition:border-color .2s,background .2s}
.est-opt span::before{content:"";position:absolute;left:14px;top:16px;width:20px;height:20px;border-radius:50%;border:2px solid var(--violeta);background:#fff;box-sizing:border-box}
.est-opt input:checked+span{border-color:var(--berenjena);background:var(--lavanda)}
.est-opt input:checked+span::before{border:6px solid var(--berenjena)}
.est-opt input:focus-visible+span{outline:3px solid var(--violeta);outline-offset:2px}
.est-opt b{display:block;font:600 1.08rem var(--f-title)}
.est-opt small{margin-top:4px;font-weight:400}
.pv{background:linear-gradient(160deg,#fff 0%,var(--crema) 55%,#F6E7F0 100%);border:1px solid rgba(169,139,214,.35);padding:16px 14px 14px}
.pv-t{min-height:150px}
.pv-svg{width:100%;max-width:400px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 10px 14px rgba(90,70,112,.16));animation:pop .3s}
.pv-sum{margin:10px 0 0;font-size:.86rem;opacity:.85;min-height:1.3em}
.pv-foto{display:flex;align-items:center;gap:16px;text-align:left;width:100%;max-width:420px;margin:0 auto}
.pv-foto img{width:120px;height:120px;object-fit:cover;border-radius:var(--r-md);box-shadow:0 8px 16px rgba(90,70,112,.18);flex:none}
.pv-foto b{display:block;font:600 1.25rem var(--f-title)}
.pv-foto span{font-size:.95rem}
.pv-foto em{font-style:normal;font:600 1.05rem var(--f-title);letter-spacing:.06em}
@media (max-width:520px){.est-opts{grid-template-columns:1fr}.pv-foto img{width:96px;height:96px}}
.est-opts.solo{grid-template-columns:1fr}.est-opts.solo .est-opt span{padding-left:16px}.est-opts.solo .est-opt span::before{display:none}

/* v0.3.12 recibo tipo papel (checkout, pedido, recibo imprimible) */
.rcpt{--paper:#FFFDF9;--ink:#3F2F54;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;filter:drop-shadow(0 14px 22px rgba(90,70,112,.18))}
.rcpt-paper{background:var(--paper);color:var(--ink);font:400 .86rem/1.45 var(--mono);padding:26px 22px 30px;position:relative;
  -webkit-mask:radial-gradient(7px at 50% 0,#0000 98%,#000) 50% 0/14px 51% repeat-x,radial-gradient(7px at 50% 100%,#0000 98%,#000) 50% 100%/14px 51% repeat-x;
  mask:radial-gradient(7px at 50% 0,#0000 98%,#000) 50% 0/14px 51% repeat-x,radial-gradient(7px at 50% 100%,#0000 98%,#000) 50% 100%/14px 51% repeat-x}
.rc-h{text-align:center;display:grid;justify-items:center;gap:2px;padding-bottom:12px;border-bottom:2px dashed #CDBBE3}
.rc-h img{border-radius:50%;margin-bottom:4px}
.rc-h b{font:700 1.15rem var(--f-title);letter-spacing:.25em}
.rc-h span{font-size:.78rem}.rc-h small{font-size:.72rem;opacity:.75;margin-top:4px}
.rc-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0;border-bottom:2px dashed #CDBBE3}
.rc-meta div{display:grid}.rc-meta div:last-child{text-align:right}.rc-meta span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7}
.rc-st{margin:10px 0 0;text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}
.rc-items{list-style:none;margin:0;padding:8px 0;border-bottom:2px dashed #CDBBE3}
.rc-items li{padding:6px 0}
.rc-l{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.rc-l b{font-weight:700}.rc-l span{white-space:nowrap;font-weight:700}
.rc-items small{display:block;font-size:.74rem;opacity:.75;margin-top:2px}
.rc-row{display:flex;justify-content:space-between;gap:10px;padding:3px 0;align-items:baseline}
.rc-row span:last-child{text-align:right}.rc-row small{display:block;font-size:.72rem;opacity:.7}
.rc-row.ok{color:#2F7D5B}
.rc-tot{display:flex;justify-content:space-between;align-items:baseline;border-top:2px dashed #CDBBE3;border-bottom:2px dashed #CDBBE3;margin:8px 0;padding:10px 0}
.rc-tot span{font-weight:700;letter-spacing:.2em}.rc-tot b{font:700 1.6rem var(--f-title)}
.rc-bc{margin-top:14px;text-align:center}.rc-bc svg.bc{width:100%;max-width:260px;height:58px;display:block;margin:0 auto}
.rc-bc span{display:block;letter-spacing:.4em;font-size:.8rem;margin-top:4px}
.rc-bc.wait svg{opacity:.18}.rc-bc.wait span{letter-spacing:.04em;font-size:.74rem;opacity:.8}
.rc-thx{text-align:center;margin:12px 0 0;font-size:.78rem;opacity:.8}
.rc-toggle{display:none}
/* checkout */
.ck-side{display:grid;gap:14px;position:sticky;top:100px}
.ck-act{background:var(--lavanda);border-radius:var(--r-lg);padding:16px 18px}
.ck-act .cup{margin:0 0 6px}
@media(max-width:899px){
  .ck-side{display:contents}
  .ck-side .rcpt{order:-1}
  .ck-side .ck-act{order:2}
  .rc-toggle{display:flex;width:100%;align-items:center;gap:10px;border:1px solid rgba(169,139,214,.5);background:var(--paper);color:var(--ink);border-radius:var(--r-md);padding:12px 16px;font:500 .95rem var(--f-body);cursor:pointer}
  .rc-toggle b{margin-left:auto;font:700 1.15rem var(--f-title)}.rc-toggle i{font-style:normal;font-size:.8rem;text-decoration:underline}
  .rcpt[data-open="0"] .rcpt-paper{display:none}
  .rcpt[data-open="1"] .rc-toggle{border-radius:var(--r-md) var(--r-md) 0 0;border-bottom:0}
  .rcpt[data-open="1"] .rc-toggle i::after{content:" ▲"}.rcpt[data-open="0"] .rc-toggle i::after{content:" ▼"}
}
/* pedido */
.ord-rc{position:sticky;top:100px;display:grid;gap:16px}
@media print{.rc-print-hide{display:none!important}.rcpt{filter:none}}
.rc-row[hidden],.rcpt [hidden]{display:none!important}

/* v0.3.16 checkout: elegir cómo pagar */
.paym{display:grid;gap:12px}
@media(min-width:620px){.paym{grid-template-columns:1fr 1fr}}
.pay{position:relative;cursor:pointer;display:block}
.pay input{position:absolute;opacity:0;pointer-events:none}
.pay-c{display:flex;gap:14px;align-items:flex-start;height:100%;background:#fff;border:2px solid rgba(169,139,214,.45);border-radius:var(--r-lg);padding:16px 16px 14px;position:relative;transition:transform .25s cubic-bezier(.2,.8,.3,1.4),border-color .2s,box-shadow .25s,background .25s}
.pay:hover .pay-c{transform:translateY(-3px);box-shadow:0 12px 24px rgba(90,70,112,.14)}
.pay input:checked+.pay-c{border-color:var(--berenjena);background:linear-gradient(150deg,#fff 0%,var(--lavanda) 140%);box-shadow:0 14px 28px rgba(90,70,112,.18)}
.pay input:focus-visible+.pay-c{outline:3px solid var(--violeta);outline-offset:3px}
.pay-ico{flex:none;width:58px;height:58px;border-radius:18px;background:var(--crema);display:grid;place-items:center;color:var(--berenjena);transition:transform .3s}
.pay-ico svg{width:46px;height:46px}
.pay input:checked+.pay-c .pay-ico{background:#fff;box-shadow:0 6px 14px rgba(90,70,112,.15)}
.pay-t{display:grid;gap:3px;min-width:0}
.pay-t b{font:600 1.12rem var(--f-title)}
.pay-t small{font-size:.86rem;opacity:.85;line-height:1.35}
.pay-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.pay-chips i{font-style:normal;font-size:.72rem;font-weight:500;background:var(--crema);border-radius:99px;padding:3px 9px}
.pay input:checked+.pay-c .pay-chips i{background:#fff}
.pay-ok{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:var(--berenjena);color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:700;transform:scale(0);transition:transform .3s cubic-bezier(.2,.8,.3,1.6)}
.pay input:checked+.pay-c .pay-ok{transform:scale(1)}
.pay.off{cursor:not-allowed}.pay.off .pay-c{opacity:.5}.pay.off:hover .pay-c{transform:none;box-shadow:none}
.pay.pop .pay-ico{animation:payPop .55s cubic-bezier(.2,.8,.3,1.5)}
@keyframes payPop{0%{transform:scale(1) rotate(0)}35%{transform:scale(1.14) rotate(-7deg)}70%{transform:scale(.97) rotate(3deg)}100%{transform:scale(1) rotate(0)}}
.pay input:checked+.pay-c .pi-arrow{animation:payArrow 1.6s ease-in-out infinite}
@keyframes payArrow{50%{transform:translateX(2px);opacity:.6}}
.pay input:checked+.pay-c .pi-bank{animation:payBank 2s ease-in-out infinite;transform-origin:51px 44px}
@keyframes payBank{50%{transform:translateY(-2px)}}
.pay-next{margin-top:16px;background:var(--crema);border-radius:var(--r-md);padding:14px 16px}
.pay-next:empty{display:none}
.pn-t{margin:0 0 8px;font:600 .95rem var(--f-title)}
.pay-next ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pay-next li{display:flex;gap:10px;align-items:center;font-size:.9rem}
.pay-next li span{flex:none;width:24px;height:24px;border-radius:50%;background:var(--berenjena);color:#fff;display:grid;place-items:center;font-size:.75rem;font-weight:700}
.pay-next.in li{animation:payStep .45s both cubic-bezier(.2,.8,.3,1.2);animation-delay:var(--d)}
@keyframes payStep{from{opacity:0;transform:translateX(-10px)}}
@media(prefers-reduced-motion:reduce){.pay-c,.pay-ok,.pay-ico{transition:none}.pay.pop .pay-ico,.pay-next.in li,.pay input:checked+.pay-c .pi-arrow,.pay input:checked+.pay-c .pi-bank{animation:none}}
.paym{grid-template-columns:1fr!important}
.pay-c{border-radius:22px;padding:18px 48px 16px 18px;align-items:center}
.pay-ico{width:68px;height:68px;border-radius:20px}.pay-ico svg{width:52px;height:52px}
.pay-chips i{background:rgba(221,203,240,.55)}
.pay-ok{top:50%;right:16px;margin-top:-13px}
@media(max-width:520px){.pay-box{padding:20px 16px}.pay-c{padding:14px 40px 14px 12px;gap:12px;align-items:flex-start}.pay-ico{width:52px;height:52px;border-radius:16px}.pay-ico svg{width:40px;height:40px}.pay-t b{font-size:1.02rem}.pay-t small{font-size:.8rem}.pay-chips i{font-size:.68rem;padding:2px 8px}.pay-ok{right:10px;top:14px;margin-top:0;width:24px;height:24px}}

/* v0.3.14 pedido: panel de pago arriba y estado animado */
.ord-h{align-items:flex-start}.ord-h .badge{align-self:flex-start}
.badge.st-pendiente_pago,.badge.st-comprobante_enviado{background:#FFF1C9;color:#7A5A00}
.badge.st-pago_confirmado,.badge.st-en_produccion,.badge.st-despachado{background:var(--lavanda)}
.badge.st-entregado{background:#DDF1E6;color:#2F7D5B}
.tl-w{position:relative}
.tl li{transition:opacity .4s}
.tl li small{display:block;font-size:.66rem;opacity:.8;margin-top:2px}
.tl li.done::before{content:"✓";color:#fff;font:700 .7rem/14px var(--f-body);text-align:center;animation:tlIn .45s both cubic-bezier(.2,.8,.3,1.6);animation-delay:calc(var(--i)*.15s)}
.tl li.done::after{animation:tlLine .5s both ease-out;animation-delay:calc(var(--i)*.15s - .1s);transform-origin:left}
.tl li.now{opacity:1;font-weight:600}
.tl li.now::before{border-color:var(--berenjena);background:#fff;box-shadow:0 0 0 0 rgba(90,70,112,.45);animation:tlPulse 1.8s infinite}
@keyframes tlIn{from{transform:translateX(-50%) scale(.3)}}
@keyframes tlLine{from{transform:scaleX(0)}}
@keyframes tlPulse{0%{box-shadow:0 0 0 0 rgba(90,70,112,.45)}70%{box-shadow:0 0 0 10px rgba(90,70,112,0)}100%{box-shadow:0 0 0 0 rgba(90,70,112,0)}}
.op{background:linear-gradient(150deg,#fff 0%,#FFF8F3 45%,var(--lavanda) 160%);border:2px solid rgba(169,139,214,.5);border-radius:28px;padding:22px;margin:0 0 22px;box-shadow:0 18px 40px rgba(90,70,112,.12);animation:opIn .5s both cubic-bezier(.2,.8,.3,1.2)}
@keyframes opIn{from{opacity:0;transform:translateY(14px)}}
.op-head{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;margin-bottom:16px}
.op-head h2{margin:0;font-size:1.5rem}.op-head p{margin:4px 0 0;font-size:.95rem}
.op-amt{text-align:right;background:#fff;border-radius:18px;padding:10px 16px;box-shadow:0 6px 16px rgba(90,70,112,.1)}
.op-amt span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;opacity:.75}.op-amt b{font:700 1.7rem var(--f-title);white-space:nowrap}
.op-anim{width:52px;height:52px;border-radius:50%;background:var(--berenjena);display:flex;gap:5px;align-items:center;justify-content:center}
.op-anim i{width:7px;height:7px;border-radius:50%;background:#fff;animation:opDot 1.2s infinite ease-in-out}
.op-anim i:nth-child(2){animation-delay:.15s}.op-anim i:nth-child(3){animation-delay:.3s}
@keyframes opDot{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-7px);opacity:1}}
.op-steps{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px;grid-template-columns:repeat(4,1fr)}
.op-s{background:#fff;border:1px solid rgba(169,139,214,.4);border-radius:20px;padding:14px;display:flex;gap:10px;align-items:flex-start;animation:opStep .45s both cubic-bezier(.2,.8,.3,1.2)}
.op-s:nth-child(2){animation-delay:.08s}.op-s:nth-child(3){animation-delay:.16s}.op-s:nth-child(4){animation-delay:.24s}
@keyframes opStep{from{opacity:0;transform:translateY(10px)}}
.op-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--berenjena);color:#fff;display:grid;place-items:center;font:700 .85rem var(--f-title)}
.op-s b{display:block;font:600 1rem var(--f-title);line-height:1.25}.op-s small{display:block;font-size:.8rem;opacity:.85;margin-top:4px;line-height:1.4}
.op-v{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 0}
.op-v code{font:700 1.08rem var(--f-title);background:var(--crema);border-radius:10px;padding:4px 10px;word-break:break-all}
.cp{border:0;background:var(--berenjena);color:#fff;border-radius:99px;padding:4px 10px;font:600 .72rem var(--f-body);cursor:pointer;transition:transform .15s,background .2s}
.cp:hover{transform:translateY(-1px)}.cp.ok{background:#2F7D5B}
.op-s small .cp{margin-left:4px;vertical-align:middle}
.op-up{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:end}
.op-drop{position:relative;display:flex;gap:12px;align-items:center;border:2px dashed var(--violeta);border-radius:20px;background:#fff;padding:14px 16px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;margin:0}
.op-drop:hover,.op-drop.over{background:var(--lavanda);border-color:var(--berenjena);transform:translateY(-2px)}
.op-drop.has{border-style:solid;border-color:#2F7D5B;background:#EEF8F2}
.op-drop input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.op-di{font-size:1.6rem}.op-dt b{display:block}.op-dt small{font-size:.78rem;opacity:.8}
.op-ref label{margin:0 0 4px;font-weight:500;font-size:.85rem}
.op-ref input{width:100%;min-height:52px;border-radius:var(--r-md);border:2px solid var(--violeta);background:#fff;padding:10px 14px;font:500 1rem var(--f-body);color:var(--berenjena)}
.op-up .btn{min-height:56px}
.op-mp{margin:4px 0 6px}
.op-more{margin-top:14px;background:rgba(255,255,255,.6);border-radius:18px;padding:10px 14px}
.op-more summary{cursor:pointer;font-weight:600}.op-more[open] summary{margin-bottom:12px}
.op-help{margin:14px 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.9rem}
.op.is-wait .op-anim{background:#D2A940}
@media(max-width:980px){.op-steps{grid-template-columns:1fr 1fr}.op-up{grid-template-columns:1fr}}
@media(max-width:620px){.op{padding:16px;border-radius:22px}.op-head{grid-template-columns:auto 1fr}.op-amt{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between;align-items:center}.op-steps{grid-template-columns:1fr}.op-anim{width:44px;height:44px}.op-head h2{font-size:1.25rem}}
@media(prefers-reduced-motion:reduce){.op,.op-s,.op-anim i,.tl li.now::before,.tl li.done::before,.tl li.done::after{animation:none}}

/* v0.3.15 entrar con código */
.lg{display:grid;gap:22px;max-width:960px;margin:0 auto}
@media(min-width:860px){.lg{grid-template-columns:1.2fr .8fr;align-items:start}}
.lg-box{text-align:center;padding:30px 26px;animation:opIn .45s both cubic-bezier(.2,.8,.3,1.2)}
.lg-box .frm{text-align:left}
.lg-ico{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--lavanda);font-size:2rem;margin-bottom:6px;animation:lgBob 3s ease-in-out infinite}
@keyframes lgBob{50%{transform:translateY(-5px) rotate(-4deg)}}
.lg-box h2{margin:.2em 0 .3em}.lg-p{margin:0 auto 16px;max-width:30em}
.lg-or{display:flex;align-items:center;gap:12px;margin:16px 0;font-size:.85rem;opacity:.7}.lg-or::before,.lg-or::after{content:"";flex:1;height:1px;background:rgba(90,70,112,.25)}
.lg-why{list-style:none;margin:0;padding:22px;background:var(--lavanda);border-radius:var(--r-lg);display:grid;gap:12px}
.lg-why li{padding-left:30px;position:relative}.lg-why li::before{content:"🐾";position:absolute;left:0}
.code-in{width:100%;text-align:center;font:700 2.1rem ui-monospace,"SF Mono",Menlo,monospace!important;letter-spacing:.55em;padding:14px 0 14px .55em!important;min-height:72px!important;border-radius:20px!important;background:#fff;transition:border-color .2s,background .2s,transform .2s}
.code-in::placeholder{color:rgba(90,70,112,.3)}
.code-in.full{border-color:var(--berenjena)!important;background:var(--lavanda)}
.code-in.go{transform:scale(.98)}
.lg-act{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:14px}
.lg-link{background:none;border:0;padding:0;font:500 .92rem var(--f-body);color:var(--berenjena);text-decoration:underline;cursor:pointer}
.lg-link:disabled{opacity:.5;cursor:default;text-decoration:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(prefers-reduced-motion:reduce){.lg-ico,.lg-box{animation:none}}
.lg.lg-1{grid-template-columns:1fr;max-width:480px}

/* v0.3.16 ajuste fino en celulares (320–430 px) */
[hidden]{display:none!important}
.pdp-g>*,.cart-g>*,.dash>*,.lg>*,.op-head>*,.paym>*{min-width:0}
.cup button{flex:none}
@media(max-width:400px){
  .hd-in{gap:8px;padding:8px 8px 8px 12px}
  .brand{gap:8px;font-size:1.02rem}.brand img{width:38px;height:38px}
  .hd-cta{gap:5px}.hd-cta .btn-sm{padding-left:14px}
}
@media(max-width:360px){
  .brand span{display:none}
  :root{--gut:16px}
  h1.h-md,.h-md{font-size:clamp(1.9rem,9vw,2.4rem)}
  .sz-opts{gap:6px}.sz-opt span{padding:8px 2px}
  .est-opt span{padding:12px 12px 12px 40px}
  .op-v code{font-size:.98rem}
}
.frm input,.frm select,.frm textarea,.box select{max-width:100%;min-width:0}
.box,.ord{min-width:0}
.tl li{min-width:0;overflow-wrap:anywhere}
@media(max-width:400px){.tl li{font-size:.62rem}.tl li small{font-size:.58rem}.ord{padding:16px 12px}}
.ck-side>*,.rcpt,.rcpt-paper{min-width:0}

/* v0.3.17 checkout: seguir sin cuenta o entrar */
.ck-who{display:grid;gap:10px;margin-bottom:16px}
@media(min-width:620px){.ck-who{grid-template-columns:1fr 1fr}}
.ck-opt{display:flex;gap:12px;align-items:center;background:#fff;border:2px solid rgba(169,139,214,.45);border-radius:20px;padding:14px 16px;text-decoration:none;color:inherit;position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}
.ck-opt.on{border-color:var(--berenjena);background:linear-gradient(150deg,#fff 0%,var(--lavanda) 140%)}
a.ck-opt:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(90,70,112,.14);border-color:var(--berenjena)}
.ck-opt b{display:block;font:600 1.02rem var(--f-title)}.ck-opt small{display:block;font-size:.82rem;opacity:.85;line-height:1.35;margin-top:2px}
.ck-oi{flex:none;width:44px;height:44px;border-radius:14px;background:var(--crema);display:grid;place-items:center;font-size:1.3rem}
.ck-go{margin-left:auto;flex:none;width:30px;height:30px;border-radius:50%;background:var(--berenjena);color:#fff;display:grid;place-items:center}.ck-go svg{width:16px;height:16px}
.ck-me{margin:0 0 14px;font-size:.92rem;background:var(--crema);border-radius:14px;padding:10px 14px}
.gnote{margin:0 0 18px}

/* v0.3.18 aviso superior y sellos de compra segura */
.annc{position:fixed;top:0;left:0;right:0;z-index:60;height:34px;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#5A4670,#7C64A0 50%,#5A4670);color:#FBEFE7;font:500 .82rem var(--f-body);letter-spacing:.02em;overflow:hidden}
.annc::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-100%);animation:anncShine 6s ease-in-out infinite}
@keyframes anncShine{60%,100%{transform:translateX(100%)}}
.annc-in{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:0 14px}
.annc .i{width:18px;height:18px;flex:none;stroke:#F6E3A8;animation:anncTruck 2.4s ease-in-out infinite}
@keyframes anncTruck{50%{transform:translateX(3px)}}
.annc b{font-weight:600}.annc-sep{opacity:.6}
body:has(.annc) .hd{top:46px}
body:has(.annc) #main{padding-top:34px}
@media(max-width:479px){body:has(.annc) .hd{top:42px}.annc{font-size:.76rem}}
@media(max-width:560px){.annc-sep,.annc-2{display:none}}
@media(prefers-reduced-motion:reduce){.annc::after,.annc .i{animation:none}}
.trust{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px;grid-template-columns:1fr 1fr}
.trust li{display:flex;gap:10px;align-items:flex-start;background:#fff8f3;border:1px solid rgba(169,139,214,.35);border-radius:16px;padding:12px}
.trust-i{flex:none;width:36px;height:36px;border-radius:12px;background:var(--lavanda);display:grid;place-items:center;color:var(--berenjena)}
.trust-i .i{width:20px;height:20px}
.trust b{display:block;font:600 .9rem var(--f-title);line-height:1.2}.trust small{display:block;font-size:.76rem;opacity:.8;line-height:1.35;margin-top:2px}
.trust-strip{margin-top:18px}
@media(min-width:900px){.trust-strip{grid-template-columns:repeat(4,1fr)}}
@media(max-width:360px){.trust{grid-template-columns:1fr}}
.trust-line{display:flex;gap:8px;align-items:center;justify-content:center;margin:12px 0 0;font-size:.8rem;opacity:.9;text-align:left}
.trust-line .i{width:18px;height:18px;flex:none;color:#2F7D5B}
.trust li:last-child .i{fill:currentColor;stroke:none}
/* v0.6.5 · medida del cuello obligatoria: la talla sale de los cm */
.cm-req{border:2px solid var(--lavanda)}
.cm-req label small{display:block;font-weight:400;opacity:.75;font-size:.85rem}
.cm-in{position:relative;display:flex}
.cm-in input{padding-right:56px;font-size:1.25rem}
.cm-in span{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-weight:600;opacity:.6;pointer-events:none}
.cm-in input.bad{border-color:#B3261E}
.sz-l{margin:14px 0 6px;font-size:.88rem;opacity:.8}
.sz-auto .sz-opt span{cursor:default}
.sz-auto .sz-opt input:not(:checked)+span{opacity:.5}
.sz-auto .sz-opt input:checked+span{box-shadow:0 0 0 3px rgba(169,139,214,.35);transform:translateY(-1px)}
/* v0.6.7 · barra para arrastrar la medida del cuello; la talla se marca mientras arrastra */
.cm-rng{margin-top:14px;position:relative}
.cm-rng input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:36px;margin:0;background:transparent;position:relative;z-index:1;touch-action:pan-y;cursor:pointer;padding:0;border:0}
.cm-rng input[type=range]:focus{outline:none}
.cm-rng input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:99px;background:transparent}
.cm-rng input[type=range]::-moz-range-track{height:10px;border-radius:99px;background:transparent}
.cm-rng input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-10px;border-radius:50%;background:#fff;border:3px solid var(--violeta);box-shadow:0 2px 8px rgba(90,70,112,.3);transition:background .2s}
.cm-rng input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--violeta);box-shadow:0 2px 8px rgba(90,70,112,.3)}
.cm-rng input.set::-webkit-slider-thumb{background:var(--berenjena);border-color:#fff}
.cm-rng input.set::-moz-range-thumb{background:var(--berenjena);border-color:#fff}
.cm-rng input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(169,139,214,.5)}
.cm-zones{display:flex;gap:3px;position:absolute;left:0;right:0;top:13px;height:10px;pointer-events:none}
.cm-zones span{border-radius:99px;background:rgba(169,139,214,.3);position:relative;font:600 .78rem var(--f-title);color:var(--berenjena);transition:background .2s}
.cm-zones span::after{content:attr(data-t);position:absolute;top:16px;left:50%;transform:translateX(-50%);opacity:.6}
.cm-zones span.on{background:var(--violeta)}.cm-zones span.on::after{opacity:1}
.cm-tip{display:block;margin-top:24px;font-size:.82rem;opacity:.7}
#cmout{display:block;min-height:1.7em;margin-top:6px}.cm-rng{margin-top:4px}
/* v0.6.8 · checkout: ciudad o municipio de la lista del departamento */
.cbx{position:relative}
.cbx-l{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;max-height:260px;overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:2px solid var(--lavanda);border-radius:var(--r-md,14px);box-shadow:0 10px 30px rgba(90,70,112,.18)}
.cbx-l[hidden]{display:none}
.cbx-l li{padding:10px 12px;border-radius:10px;cursor:pointer;line-height:1.3}
.cbx-l li:hover,.cbx-l li[aria-selected=true]{background:var(--lavanda)}
.cbx-l li.none{cursor:default;opacity:.75;font-size:.9rem}.cbx-l li.none:hover{background:none}
.cbx-h{display:block;margin:4px 0 2px;font-size:.84rem;opacity:.8}.cbx-h.bad{color:#B3261E;opacity:1;font-weight:600}
#sc[aria-invalid=true]{border-color:#B3261E}#sc:disabled{opacity:.6}
/* v0.6.9 · checkout: pasos, validación amable, barra inferior y animaciones */
.ck-steps{grid-column:1/-1;list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative;--p:0}
.ck-steps::before,.ck-steps::after{content:'';position:absolute;top:16px;left:12.5%;right:12.5%;height:4px;border-radius:99px;background:rgba(169,139,214,.3)}
.ck-steps::after{background:var(--berenjena);right:auto;width:calc(75% * var(--p));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.ck-steps li{position:relative;z-index:1;min-width:0}
.ck-steps a{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:inherit;font-size:.76rem;font-weight:600;text-align:center;line-height:1.2}
.ck-steps i{font:600 .95rem var(--f-title);font-style:normal;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid rgba(169,139,214,.5);transition:background .3s,border-color .3s,box-shadow .3s,color .3s}
.ck-steps span{opacity:.65;transition:opacity .3s}.ck-steps li.now span,.ck-steps li.done span{opacity:1}
.ck-steps li.now i{border-color:var(--berenjena);box-shadow:0 0 0 5px rgba(169,139,214,.28)}
.ck-steps li.done i{background:var(--berenjena);border-color:var(--berenjena);color:#fff;font-size:0}.ck-steps li.done i::before{content:'✓';font-size:1.05rem}
.ck-steps li.pop i{animation:ckPop .5s cubic-bezier(.3,1.7,.5,1)}
@keyframes ckPop{0%{transform:scale(.55)}100%{transform:scale(1)}}
.ck-sec{scroll-margin-top:120px}.ck-sec+.ck-sec,.ck-sec+.pay-box{margin-top:18px}
.ck-sec h2{display:flex;align-items:center;gap:10px}
.ck-n{flex:none;width:32px;height:32px;border-radius:50%;background:var(--lavanda);display:grid;place-items:center;font-size:.95rem}
#ck.in .ck-steps,#ck.in .ck-sec{animation:ckIn .6s cubic-bezier(.2,.8,.2,1) both}
#ck.in #ck-s1{animation-delay:.08s}#ck.in #ck-s2{animation-delay:.16s}#ck.in #ck-s3{animation-delay:.24s}
@keyframes ckIn{from{transform:translateY(20px);opacity:.15}to{transform:none;opacity:1}}
#ck .frm input.ok{border-color:var(--violeta);padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A4670' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat right 14px center/18px;animation:ckOk .35s ease}
#ck .frm input.warn{border-color:var(--dorado)}#ck .frm input.bad{border-color:#B3261E}
@keyframes ckOk{0%{background-size:0}70%{background-size:22px}100%{background-size:18px}}
.fx{display:block;margin:4px 0 2px;font-size:.84rem;line-height:1.35}.fx:empty{display:none}
.fx.bad{color:#B3261E;font-weight:600}.fx.warn{color:var(--dorado-txt)}
.fx-fix{border:0;background:none;padding:0;font:inherit;font-weight:700;color:var(--berenjena);text-decoration:underline;cursor:pointer}
.rc-row.flash{animation:ckFlash 1.3s ease}@keyframes ckFlash{0%,40%{background:var(--lavanda)}100%{background:transparent}}
.bump{display:inline-block;animation:ckBump .45s cubic-bezier(.3,1.6,.5,1)}@keyframes ckBump{0%{transform:scale(1)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
.ck-bar{position:fixed;left:10px;right:10px;bottom:10px;z-index:56;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 20px;background:rgba(251,239,231,.95);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(169,139,214,.45);border-radius:999px;box-shadow:0 12px 30px rgba(90,70,112,.24);animation:ckUp .35s cubic-bezier(.2,.8,.2,1)}
.ck-bar[hidden]{display:none}
.ck-bar-t{display:grid;line-height:1.15;min-width:0}.ck-bar-t small{font-size:.74rem;opacity:.75;white-space:nowrap}.ck-bar-t b{font:600 1.2rem var(--f-title)}
.ck-bar .btn{margin:0;white-space:nowrap;padding:12px 20px}
#ck.ready .ck-bar .btn{animation:ckGlow 1.6s ease-in-out 2}
@keyframes ckUp{from{transform:translateY(130%)}}
@keyframes ckGlow{50%{box-shadow:0 0 0 7px rgba(169,139,214,.4)}}
.btn.nudge{animation:ckNudge .7s cubic-bezier(.3,1.6,.5,1)}@keyframes ckNudge{30%{transform:scale(1.05)}60%{transform:scale(.98)}}
.btn.is-busy{pointer-events:none;opacity:.88}.btn.is-busy .arrow svg{display:none}
.btn.is-busy .arrow::before{content:'';display:block;width:18px;height:18px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ckSpin .8s linear infinite}
@keyframes ckSpin{to{transform:rotate(360deg)}}
body.ck-focus .tabbar{display:none}
@media(min-width:800px){.ck-bar{display:none!important}}
@media(max-width:799px){.ck-steps{order:-2}}
@media(prefers-reduced-motion:reduce){#ck.in .ck-steps,#ck.in .ck-sec,.ck-steps li.pop i,#ck .frm input.ok,.rc-row.flash,.bump,.ck-bar,#ck.ready .ck-bar .btn,.btn.nudge{animation:none}.ck-steps::after{transition:none}}
/* v0.6.10 · carrito: tarjetas claras, precios del servidor, deshacer y animaciones */
.ct-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 12px;font-size:.92rem}.ct-top span{opacity:.8}.ct-top a{font-weight:600;white-space:nowrap}
.ct-items{display:grid;gap:14px}
.ct-i{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;background:#fff8f3;border:1px solid rgba(169,139,214,.35);border-radius:var(--r-lg);padding:14px;overflow:hidden;transition:height .3s ease,opacity .3s,transform .3s,padding .3s,margin .3s,border-color .3s}
.ct-i.in{animation:ckIn .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
.ct-i.out{opacity:0;transform:translateX(40px);padding-top:0;padding-bottom:0;margin-bottom:-14px;border-width:0}
.ct-i.bad{border:2px solid #B3261E;background:#fff5f4}.ct-i.shake{animation:ctShake .5s}
@keyframes ctShake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.ct-img img{width:92px;height:92px;border-radius:var(--r-md);object-fit:cover;display:block}
.ct-b{min-width:0}.ct-b h3{margin:0;font-size:1.05rem;line-height:1.25}.ct-b h3 a{text-decoration:none;color:inherit}
.ct-name{margin:4px 0 0;font-size:.95rem}.ct-name b{font-family:var(--f-title);letter-spacing:.02em}
.ct-chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.ct-chips span{background:var(--lavanda);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600}
.ct-more{margin-top:8px;font-size:.84rem}.ct-more summary{cursor:pointer;font-weight:600;text-decoration:underline;list-style:none}.ct-more summary::-webkit-details-marker{display:none}
.ct-more ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:2px;font-weight:300}
.ct-err{margin:8px 0 0;color:#B3261E;font-weight:600;font-size:.86rem;line-height:1.35}.ct-err a{color:inherit}
.ct-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.ct-row .qty button:disabled{opacity:.35;cursor:default}
.ct-p{text-align:right;display:grid;line-height:1.2}.ct-p b{font:600 1.15rem var(--f-title)}.ct-p small{font-size:.76rem;opacity:.7}
.ct-acts{display:flex;gap:16px;margin-top:8px;font-size:.84rem}.ct-acts a,.ct-acts button{background:none;border:0;padding:0;font:inherit;color:var(--berenjena);text-decoration:underline;cursor:pointer}
.ct-sum h2{font-size:1.4rem;margin-top:0}.ct-shipd{margin:-2px 0 6px;font-size:.8rem}
.ct-cup{margin:12px 0 0}.ct-cup summary{cursor:pointer;font-weight:600;font-size:.92rem;list-style:none}.ct-cup summary::-webkit-details-marker{display:none}.ct-cup summary::before{content:'🏷️ '}.ct-cup[open] summary{margin-bottom:8px}
.ct-bad{margin:10px 0 0;color:#B3261E;font-weight:700;font-size:.9rem}
.ct-go{margin-top:14px}.ct-go .btn{width:100%;justify-content:space-between}
.ct.has-bad .ct-go .btn,.ct.has-bad~.ct-bar .btn{opacity:.6}
.ct-wa{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 0 4px;font-weight:600;font-size:.9rem;color:var(--berenjena)}.ct-wa svg{width:20px;height:20px;color:#25D366}
.ct-toast{position:fixed;left:50%;bottom:96px;z-index:70;transform:translate(-50%,20px);opacity:0;display:flex;gap:14px;align-items:center;max-width:calc(100% - 32px);background:var(--berenjena);color:#fff;border-radius:999px;padding:10px 12px 10px 18px;font-size:.9rem;box-shadow:0 12px 30px rgba(90,70,112,.35);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s}
.ct-toast.on{transform:translate(-50%,0);opacity:1}.ct-toast[hidden]{display:none}
.ct-toast button{border:0;border-radius:999px;background:#fff;color:var(--berenjena);font:700 .85rem var(--f-body);padding:7px 14px;cursor:pointer;white-space:nowrap}
.ct-empty .ct-bag{width:96px;height:96px;margin:0 auto 6px;border-radius:50%;background:var(--lavanda);display:grid;place-items:center;animation:ctFloat 3s ease-in-out infinite}
@keyframes ctFloat{50%{transform:translateY(-8px)}}
@media(min-width:800px){.ct-toast{bottom:28px}}
@media(prefers-reduced-motion:reduce){.ct-i,.ct-toast{transition:none}.ct-i.in,.ct-i.shake,.ct-empty .ct-bag{animation:none}}
/* v0.7.0 · placas: pestañas del catálogo y vista previa de la placa */
.cat-tabs{display:inline-flex;gap:4px;padding:4px;margin:10px 0 14px;background:#fff8f3;border:1px solid rgba(169,139,214,.4);border-radius:999px}
.cat-tabs a{padding:8px 18px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.92rem;color:var(--berenjena)}
.cat-tabs a.on{background:var(--berenjena);color:#fff}
.pv-placa svg{width:min(190px,60vw);height:auto;overflow:visible;filter:drop-shadow(0 8px 14px rgba(90,70,112,.18))}
.pv-placa.pop svg{animation:plPop .4s cubic-bezier(.3,1.6,.5,1)}@keyframes plPop{0%{transform:scale(.94)}100%{transform:scale(1)}}
.pcfg legend small{font-weight:400;opacity:.75}
@media(prefers-reduced-motion:reduce){.pv-placa.pop svg{animation:none}}
/* v0.7.1 · menú: «Productos» con submenú glass (computador) y paneles que suben desde abajo (celular) */
.glass{background:rgba(251,239,231,.78);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 #fff,0 18px 40px rgba(90,70,112,.22)}
.hd-in{gap:20px}.brand{flex:none}.brand span{margin-right:6px}
.nav{gap:6px}.nav a,.nav-t{padding:11px 16px}
@media(min-width:800px){.nav{display:flex}}
@media(min-width:800px) and (max-width:1040px){.brand span{display:none}.nav a,.nav-t{padding:10px 11px;font-size:.9rem}}
.nav-dd{position:relative}
.nav-t{display:flex;align-items:center;gap:7px;border:1px solid transparent;background:none;border-radius:var(--r-pill);font:400 .95rem var(--f-body);color:inherit;cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s}
.nav-t:hover,.nav-dd.open .nav-t{background:rgba(255,255,255,.6);border-color:rgba(255,255,255,.9);box-shadow:inset 0 1px 2px #fff,0 4px 12px rgba(90,70,112,.1)}
.chev{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s}
.nav-dd.open .chev{transform:translateY(1px) rotate(-135deg)}
.dd{position:absolute;top:calc(100% + 12px);left:50%;width:340px;margin-left:-170px;border-radius:24px;padding:10px;display:grid;gap:4px;z-index:80;animation:ddIn .28s cubic-bezier(.2,.8,.2,1)}
.dd::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.dd[hidden]{display:none}
@keyframes ddIn{from{opacity:0;transform:translateY(-8px) scale(.98)}}
.dd-i{display:flex;gap:14px;align-items:center;padding:12px 14px!important;border-radius:18px!important;text-decoration:none;color:inherit;border:1px solid transparent}
.dd-i:hover,.dd-i:focus-visible{background:rgba(255,255,255,.75);border-color:#fff}
.dd-i b{display:block;font:600 1.05rem var(--f-title)}.dd-i small{display:block;font-size:.82rem;opacity:.75;line-height:1.3}
.dd-ic{flex:none;width:44px;height:44px;border-radius:14px;background:var(--lavanda);display:grid;place-items:center;color:var(--berenjena)}.dd-ic svg{width:22px;height:22px}
/* barra de abajo */
.tabbar a,.tabbar .tb-b{flex:1 1 0;min-width:0}
.tb-b{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;font:500 .7rem var(--f-body);color:inherit;padding:6px 10px;border-radius:var(--r-pill);cursor:pointer}
.tb-b.on,.tb-b[aria-expanded="true"]{background:var(--lavanda)}
.tb-b svg{width:22px;height:22px}
.burger{width:22px;height:22px;display:grid;align-content:center;gap:4px}.burger b{display:block;height:2px;border-radius:2px;background:currentColor;transition:transform .25s,opacity .25s}
.tb-b[aria-expanded="true"] .burger b:nth-child(1){transform:translateY(6px) rotate(45deg)}.tb-b[aria-expanded="true"] .burger b:nth-child(2){opacity:0}.tb-b[aria-expanded="true"] .burger b:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
/* paneles */
.sh-bg{position:fixed;inset:0;z-index:57;background:rgba(63,47,84,.32);opacity:0;transition:opacity .28s}.sh-bg.in{opacity:1}.sh-bg[hidden]{display:none}
.sheet{position:fixed;left:10px;right:10px;bottom:92px;z-index:58;max-height:calc(100vh - 130px);overflow:auto;border-radius:28px;padding:8px 18px 18px;transform:translateY(calc(100% + 110px));transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.sheet.in{transform:none}.sheet[hidden]{display:none}
.sh-grab{width:44px;height:5px;border-radius:5px;background:rgba(90,70,112,.25);margin:6px auto 4px}
.sh-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.sh-h h2{margin:0;font-size:1.3rem}
.sh-x{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.6);font-size:1rem;cursor:pointer;color:var(--berenjena)}
.sh-cards{display:grid;gap:8px}.sh-cards .dd-i{background:rgba(255,255,255,.55);border-color:rgba(255,255,255,.9)}
.sh-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sh-links a{display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:16px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.9);text-decoration:none;font-weight:600;font-size:.9rem;color:var(--berenjena)}
.sh-links svg{width:20px;height:20px;flex:none;color:var(--violeta)}
.sh-wa{width:100%;margin-top:12px;justify-content:space-between}
body.sh-open .wa-fab{opacity:0;pointer-events:none}
@media(min-width:800px){.sheet,.sh-bg{display:none!important}}
@media(max-width:340px){.sh-links{grid-template-columns:1fr}}
/* catálogo: pestañas en su propio renglón */
.cat-tabs{display:flex;width:max-content;max-width:100%}
@media(prefers-reduced-motion:reduce){.dd{animation:none}.sheet,.sh-bg,.chev,.burger b{transition:none}}
.glass{background:rgba(251,239,231,.93)}
.dd{left:-8px;margin-left:0}
/* v0.7.2 · placas: varios colores de resina o print */
.pl-cnt{display:block;margin-top:6px;font-size:.84rem;opacity:.8}
.pl-print{display:flex;gap:12px;align-items:flex-start;background:var(--lavanda);border-radius:var(--r-lg);padding:14px 16px;margin:6px 0 12px}
.pl-print svg{width:22px;height:22px;flex:none;color:var(--berenjena);margin-top:2px}.pl-print p{margin:0;font-size:.92rem;line-height:1.4}.pl-print b{display:block;font-family:var(--f-title)}
