:root{--edge:clamp(14px,4vw,48px);--r:24px;--rb:14px;--line:#e6e4e2;--tile:#fafaf9;--gap:14px;
--color-bg:#fff;--color-divider:#e6e4e2;--color-accent:#1a7f4b;--color-accent-600:#15693d;--color-accent-700:#125a34;--wa:#25d366}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overflow-x:hidden}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#fff;overflow-x:hidden;text-wrap:pretty;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
img{display:block;max-width:100%}
a{color:var(--color-accent-700)}a:hover{color:var(--color-accent)}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--edge)}
section{padding:clamp(36px,5vw,64px) 0}
.kicker{display:block;font-size:14.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);font-weight:600;margin:0 0 10px}
.head{text-align:center;margin:0 auto 28px;max-width:640px}
.head h2{font-size:clamp(26px,4vw,42px);line-height:1.08;letter-spacing:-.02em;margin:0}
.head p{margin:12px 0 0;font-size:17px;line-height:1.55;opacity:.8}
.btn{border-radius:var(--rb);min-height:46px;padding-inline:20px;white-space:nowrap;touch-action:manipulation}
.btn-secondary{background:#fff;border:1.5px solid var(--line)}.btn-secondary:hover{background:#fff;border-color:var(--color-text)}
.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-600);color:#fff}
.tile{background:var(--tile);border:1px solid var(--line);border-radius:var(--r)}
/* barra + header */
.ann{background:var(--color-accent);color:#fff;text-align:center;font-size:14.5px;font-weight:600;padding:9px var(--edge);line-height:1.3}
header.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--color-text);font-family:var(--font-heading);font-weight:800;font-size:18px}
.brand img{width:46px;height:46px;border-radius:50%}
.search{position:relative;max-width:520px;width:100%;justify-self:center}
.search input{width:100%;min-height:46px;border:1.5px solid var(--line);border-radius:999px;padding:0 18px 0 44px;font:400 16px var(--font-body);background:var(--tile);color:var(--color-text)}
.search input:focus{outline:2px solid var(--color-accent);outline-offset:1px;background:#fff}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;opacity:.6}
.wa{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--wa);color:#fff;transition:transform .15s,background .15s}
.wa:hover{background:#1ebe5b;color:#fff;transform:scale(1.06)}.wa:focus-visible{outline-color:var(--wa)}
.wa svg{width:26px;height:26px;fill:currentColor}
.menu{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 22px;padding-bottom:10px}
.menu a{color:var(--color-text);text-decoration:none;font-size:15.5px;font-weight:600;padding:6px 0;border-bottom:2px solid transparent}
.menu a:hover{border-color:var(--color-accent);color:var(--color-text)}
@media(max-width:640px){.bar{grid-template-columns:auto 1fr auto;gap:10px}.menu{gap:2px 16px}.menu a{font-size:14.5px}}
/* slider */
.slider{position:relative}
.strip{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.strip::-webkit-scrollbar{display:none}
.strip>*{flex:0 0 calc((100% - (var(--n) - 1) * var(--gap)) / var(--n));min-width:0;scroll-snap-align:start}
.sl-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;line-height:1;cursor:pointer;color:var(--color-text);box-shadow:0 4px 14px rgba(32,30,29,.12)}
.sl-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}
.sl-btn.prev{left:10px}.sl-btn.next{right:10px}
.hero .slide{padding-left:clamp(20px,6vw,72px);padding-right:clamp(20px,6vw,72px)}
@media(max-width:760px){.hero .sl-btn{display:none}}
.dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.dots button{width:10px;height:10px;padding:0;border-radius:50%;border:0;background:#d6d3d1;cursor:pointer}
.dots button[aria-current="true"]{background:var(--color-accent);width:26px;border-radius:999px}
/* imagen uniforme */
.pic{position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;border-radius:calc(var(--r) - 6px);border:1px solid var(--line);background:#fff}
.pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4%;transition:opacity .25s}
.pic img.alt{opacity:0}.card:hover .pic img.alt{opacity:1}
/* banner */
.hero{padding-top:clamp(16px,2.5vw,28px);padding-bottom:0}
.slide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:clamp(16px,4vw,48px);padding:clamp(20px,4vw,48px);text-align:center;min-height:clamp(300px,38vw,420px)}
.slide h1,.slide h2{font-size:clamp(28px,4.6vw,54px);line-height:1.05;letter-spacing:-.025em;margin:0}
.slide p{font-size:clamp(16px,1.65vw,18px);line-height:1.55;margin:14px auto 0;max-width:40ch}
.slide .row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px}
.slide .pic{max-width:340px;justify-self:center}
@media(max-width:760px){.slide{grid-template-columns:1fr;text-align:center}.slide .pic{order:-1;max-width:230px}}
/* beneficios */
.perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.perk{padding:18px;text-align:center;font-size:15.5px;line-height:1.45}
.perk b{display:block;font:800 17px var(--font-heading);margin-bottom:2px}
@media(max-width:640px){.perks{grid-template-columns:1fr}}
/* categorias */
.cats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--gap)}
.cat{display:flex;flex-direction:column;gap:10px;padding:10px 10px 14px;text-decoration:none;color:var(--color-text);text-align:center;transition:box-shadow .2s,transform .2s}
.cat:hover{box-shadow:0 10px 28px rgba(32,30,29,.08);transform:translateY(-2px);color:var(--color-text)}
.cat b{font:800 16px var(--font-heading)}
@media(max-width:900px){.cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* catalogo */
.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 24px}
.filters button{min-height:42px;padding:0 16px;font:600 15.5px var(--font-heading);background:#fff;color:var(--color-text);border:1.5px solid var(--line);border-radius:999px;cursor:pointer}
.filters button:hover{border-color:var(--color-text)}
.filters button[aria-pressed="true"]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.card{display:flex;flex-direction:column;padding:8px;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 10px 28px rgba(32,30,29,.08);transform:translateY(-2px)}
.card[hidden]{display:none}
.card .info{display:flex;flex-direction:column;gap:6px;flex:1;padding:12px 8px 8px;text-align:left}
.card .c{font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);font-weight:600}
.card h3{font-size:17px;line-height:1.2;margin:0}
.card .buy{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:8px}
.card .price{font-size:14.5px;opacity:.75}
.card .btn{justify-content:center;min-height:44px;font-size:15.5px;width:100%}
.none{text-align:center;padding:32px 0;opacity:.75}
@media(max-width:960px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card .info{padding:10px 4px 6px}.card h3{font-size:15.5px}}
/* pasos */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);list-style:none;margin:0;padding:0;counter-reset:s}
.steps li{counter-increment:s;padding:20px;text-align:left}
.steps li::before{content:"0" counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--color-accent);color:#fff;font:800 15.5px var(--font-heading);margin-bottom:14px}
.steps b{display:block;font:800 18px var(--font-heading);margin-bottom:6px}
.steps span{font-size:15.5px;line-height:1.5;opacity:.85}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.steps{grid-template-columns:1fr}}
/* imanes */
.imanes{--n:3}.iman{padding:8px;margin:0}.iman figcaption{text-align:center;font:600 15.5px var(--font-heading);padding:10px 0 4px}
@media(max-width:560px){.imanes{--n:2}}
/* cierre */
.close{background:var(--color-accent);color:#fff;border-radius:32px;margin:0 var(--edge);padding:clamp(36px,6vw,72px) var(--edge);text-align:center}
.close h2{font-size:clamp(28px,4.6vw,54px);line-height:1.05;letter-spacing:-.02em;margin:0 auto;max-width:18ch}
.close p{margin:14px auto 0;max-width:44ch;line-height:1.55}
.close .row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.close .btn-ghost{color:#fff;border:1.5px solid #fff}.close .btn-ghost:hover{background:#fff;color:var(--color-accent-700)}
.close .btn-light{background:#fff;color:var(--color-accent-700);border-color:#fff}
/* footer */
footer.foot{padding:40px 0 calc(32px + env(safe-area-inset-bottom));font-size:15.5px}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
.foot h4{font-size:14.5px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot a{color:var(--color-text)}.foot a:hover{color:var(--color-accent)}
.foot .fine{margin-top:28px;padding-top:16px;border-top:1px solid var(--line);opacity:.75;text-align:center}
@media(max-width:640px){.fg{grid-template-columns:1fr 1fr}.fg>:first-child{grid-column:1/-1}}
.card .btn-wa{background:var(--wa);border-color:var(--wa);color:#fff;padding:0}
.card .btn-wa:hover{background:#1ebe5b;border-color:#1ebe5b;color:#fff}
.card .btn-wa:focus-visible{outline-color:var(--wa)}
.card .btn-wa svg{width:26px;height:26px;fill:currentColor}

/* paleta suave */
:root{--p-mint:#e4f4ea;--p-sky:#e3eefb;--p-peach:#fdece0;--p-lilac:#ece7f8;--p-butter:#fbf4d9;--p-rose:#fbe6ea;--ink-g:#1f4d36;--mint-2:#d3eedf;--mint-3:#b9e0cb;--color-accent:#7fbf9e;--color-accent-600:#6fb08f;--color-accent-700:#2f6b4b;--wa:#d3eedf}
.ann{background:var(--p-mint);color:var(--ink-g)}
.bar{grid-template-columns:auto minmax(0,1fr)}
.search{justify-self:end}
.kicker{color:var(--color-accent-700)}
.btn-primary{background:var(--mint-2);border-color:var(--mint-3);color:var(--ink-g)}
.btn-primary:hover{background:var(--mint-3);color:var(--ink-g)}
.btn-secondary{background:#fff}
.slide.t-mint{background:var(--p-mint)}.slide.t-sky{background:var(--p-sky)}.slide.t-lilac{background:var(--p-lilac)}.slide.t-peach{background:var(--p-peach)}.slide.t-butter{background:var(--p-butter)}.slide.t-rose{background:var(--p-rose)}
.slide h1 em{color:var(--color-accent-700)!important}
.perk:nth-child(1){background:var(--p-mint)}.perk:nth-child(2){background:var(--p-sky)}.perk:nth-child(3){background:var(--p-peach)}
.cat:nth-child(1){background:var(--p-sky)}.cat:nth-child(2){background:var(--p-peach)}.cat:nth-child(3){background:var(--p-lilac)}.cat:nth-child(4){background:var(--p-rose)}.cat:nth-child(5){background:var(--p-mint)}.cat:nth-child(6){background:var(--p-butter)}
.card[data-cat=tazas]{background:var(--p-sky)}.card[data-cat=remeras]{background:var(--p-peach)}.card[data-cat=buzos]{background:var(--p-lilac)}.card[data-cat=gorras]{background:var(--p-rose)}.card[data-cat=imanes]{background:var(--p-mint)}
.card .c{color:var(--color-accent-700)}
.card .btn-wa{background:#fff;border:1.5px solid rgba(32,30,29,.08);color:#2f9e60}
.card .btn-wa:hover{background:var(--mint-2);border-color:var(--mint-3);color:#1f8a4c}
.filters button[aria-pressed="true"]{background:var(--mint-2);border-color:var(--mint-3);color:var(--ink-g)}
.dots button[aria-current="true"]{background:var(--color-accent)}
.sl-btn:hover{background:var(--mint-2);color:var(--ink-g);border-color:var(--mint-3)}
.steps li:nth-child(1){background:var(--p-mint)}.steps li:nth-child(2){background:var(--p-sky)}.steps li:nth-child(3){background:var(--p-lilac)}.steps li:nth-child(4){background:var(--p-peach)}
.steps li::before{background:#fff;color:var(--ink-g)}
.iman:nth-child(1){background:var(--p-sky)}.iman:nth-child(2){background:var(--p-butter)}.iman:nth-child(3){background:var(--p-rose)}
.close{background:var(--p-mint);color:var(--ink-g)}
.close .btn-light{background:#fff;color:var(--ink-g);border-color:#fff}
.close .btn-ghost{color:var(--ink-g);border-color:var(--mint-3)}.close .btn-ghost:hover{background:#fff;color:var(--ink-g)}
.fg{grid-template-columns:1.4fr 1fr 1fr 1.4fr}
.foot li,.foot a{overflow-wrap:anywhere}
@media(max-width:900px){.fg{grid-template-columns:1fr 1fr}.fg>:first-child{grid-column:1/-1}}
@media(max-width:640px){.search{justify-self:stretch;max-width:none}}
.card,.card[data-cat]{background:var(--p-sky)}
.cat,.cat:nth-child(n){background:var(--p-sky)}
.steps li,.steps li:nth-child(n){background:var(--p-mint)}

.cat{padding:0;gap:0;overflow:hidden;background:#fff!important}
.cat .ci{width:100%;height:auto;aspect-ratio:1/1;border-radius:var(--r)}
.cat b{padding:10px 8px 14px}
.icons{display:flex;flex-wrap:wrap;gap:10px}
.ic{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .15s,box-shadow .15s}
.ic:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(32,30,29,.12)}
.ic-img img{width:100%;height:100%;object-fit:cover}
.ic svg{width:26px;height:26px}
.ic-wa{background:var(--mint-2);color:#1f8a4c}.ic-wa svg{fill:currentColor}
.ic-mail{background:var(--p-sky);color:#2f5f96}
.loc{margin:12px 0 0;font-size:14.5px;opacity:.75}
.fg{grid-template-columns:1.4fr 1fr 1fr 1.4fr}
.icons{flex-wrap:nowrap}
.ic{width:48px;height:48px;flex:0 0 auto}
.fg{grid-template-columns:1.2fr .9fr .9fr 1.5fr}
.cats{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.fg{grid-template-columns:1fr 1fr}.fg>:first-child{grid-column:1/-1}.icons{flex-wrap:wrap}}
@media(max-width:480px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cat .ci{border-radius:0}
.ic{width:64px;height:64px;border-radius:0;overflow:visible}
.ic:hover{box-shadow:none}
.icons{gap:6px}
.fg{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) auto auto;gap:32px}
@media(max-width:900px){.fg{grid-template-columns:1fr 1fr}.ic{width:60px;height:60px}}

/* v7: fotos fundidas, anchos de texto, pasos cuadrados, logo footer */
.card{padding:0;overflow:hidden}
.card .pic{border:0!important;border-radius:0!important;margin:0}
.card .pic img{padding:6%}
.card .info{padding:14px 16px 16px}
.iman{padding:0;overflow:hidden}
.iman .pic{border:0!important;border-radius:0!important}
.slide .pic{border:0!important;border-radius:calc(var(--r) - 4px)!important}
.head{max-width:520px}
.head h2{max-width:15ch;margin-inline:auto;text-wrap:balance}
.head p{max-width:42ch;margin-inline:auto}
.slide h1,.slide h2{max-width:13ch;margin-inline:auto;text-wrap:balance}
.slide p{max-width:34ch}
.close h2{max-width:14ch;text-wrap:balance}.close p{max-width:36ch}
.perk{max-width:none}
.steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps li{aspect-ratio:1/1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(14px,2vw,24px);border-radius:28px!important}
.steps li::before{margin-bottom:12px}
.steps b{font-size:clamp(16px,1.65vw,18px)}
.steps span{font-size:clamp(14px,1.21vw,15.5px);max-width:22ch}
@media(max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.steps li{padding:12px;border-radius:22px!important}.steps li::before{width:32px;height:32px;font-size:13.5px;margin-bottom:8px}.steps b{font-size:15.5px;margin-bottom:4px}.steps span{font-size:13.5px;line-height:1.35}}
@media(max-width:340px){.steps{grid-template-columns:minmax(0,1fr)}}
.fbrand{display:flex;flex-direction:column;align-items:center;text-align:center}
.fbrand img{width:150px;height:150px}
.fbrand p{margin:8px 0 0;max-width:26ch;line-height:1.5}
@media(max-width:900px){.fbrand{grid-column:1/-1}}
.pic-cover img{object-fit:cover!important;padding:0!important}
.card .pic-cover img{object-position:center 45%}
.iman .pic-cover img{object-position:center 58%}
.fbrand img{background:#fff;mix-blend-mode:multiply}

/* v8: logo header + footer ordenado */
.brand img{width:64px;height:64px}
.brand{font-size:19px}
@media(max-width:640px){.brand img{width:54px;height:54px}}
.fg2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.fcol{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.fgrp{display:flex;flex-direction:column;align-items:center;gap:10px}
.fsoc .icons{justify-content:center;gap:8px}
.fsoc .loc{margin:0}
.fgrp h4,.fnav h4{margin:0}
.fnav ul{justify-items:center;gap:10px}
@media(max-width:760px){.fg2{grid-template-columns:1fr;gap:36px}.fsoc .icons{flex-wrap:wrap}}
.fg2{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
@media(max-width:760px){.fg2{grid-template-columns:1fr}}
/* v9: header logo = alto del buscador, buscador más corto */
.brand img{width:46px;height:46px}
.search{max-width:300px;justify-self:end}
.search input{min-height:46px}
@media(max-width:640px){.brand img{width:46px;height:46px}.search{max-width:220px;justify-self:end}}
/* v10: logo + buscador juntos y centrados */
.bar{display:flex;justify-content:center;align-items:center;gap:14px}
.search{flex:0 1 300px;max-width:300px;justify-self:auto}
@media(max-width:640px){.bar{gap:10px}.search{flex:1 1 auto;max-width:240px}}
.brand img{width:auto;height:64px;border-radius:0}
@media(max-width:640px){.brand img{width:auto;height:56px}}
/* v11: header ordenado */
header.top{border-bottom:0!important;box-shadow:none}
.bar{gap:12px;padding-top:8px;padding-bottom:4px}
.search{flex:0 1 230px;max-width:230px}
.cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex:none;border-radius:50%;color:#201e1d;text-decoration:none;transition:background .15s}
.cart:hover{background:var(--tile);color:#000}
.cart svg{width:26px;height:26px}
.cart-n{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#201e1d;color:#fff;font:700 11px/18px var(--font-heading);text-align:center}
.menu{display:flex;justify-content:center;flex-wrap:nowrap;gap:6px;padding:4px var(--edge) 12px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.menu::-webkit-scrollbar{display:none}
.menu a{flex:none;padding:8px 14px;border:0;border-radius:999px;font-size:15.5px;font-weight:600;color:var(--color-text);background:transparent;transition:background .15s}
.menu a:hover{background:var(--p-sky);border:0;color:var(--color-text)}
@media(max-width:640px){.search{flex:1 1 auto;max-width:170px}.menu{justify-content:flex-start;gap:4px}.menu a{padding:8px 12px;font-size:14.5px}}
@media(max-width:360px){.search{max-width:130px}}
/* v12: menú siempre visible completo */
.menu{flex-wrap:wrap;overflow:visible;justify-content:center;gap:4px 6px}
@media(max-width:640px){.menu{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;justify-content:stretch;padding:2px var(--edge) 10px}.menu a{padding:8px 2px;font-size:clamp(12.5px,3.41vw,14.5px);text-align:center;white-space:nowrap}}
@media(max-width:340px){.menu{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.menu{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 4px}.menu a{padding:7px 10px;font-size:14.5px}}
/* v13: souvenirs */
#souvenirs .imanes{--n:4}
#souvenirs .iman{background:#fff!important;padding:0;overflow:hidden}
#souvenirs .iman .ci{width:100%;height:auto;aspect-ratio:1/1;display:block}
#souvenirs .iman figcaption{padding:4px 0 14px}
@media(max-width:760px){#souvenirs .imanes{--n:3}}
@media(max-width:480px){#souvenirs .imanes{--n:2}#souvenirs .sl-btn{display:none}}
.wa-cta{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:22px;font:600 15.5px var(--font-heading)}
.wa-cta .ic{width:72px;height:72px}
#souvenirs .iman figcaption{color:var(--color-text);font:800 16px var(--font-heading);opacity:1}
/* v14 */
.card .info,.card h3,.card .c,.card .price{text-align:center;align-items:center}
.card .buy{align-items:stretch}
.wa-cta{display:flex;justify-content:center;margin-top:22px}
.wa-cta .btn-wa{width:min(100%,280px);min-height:46px;padding:0;justify-content:center;background:#fff;border:1.5px solid rgba(32,30,29,.08);color:#2f9e60}
.wa-cta .btn-wa:hover{background:var(--mint-2);border-color:var(--mint-3);color:#1f8a4c}
.wa-cta .btn-wa svg{width:26px;height:26px;fill:currentColor}
/* v15: flechas visibles, botones móviles, buzos */
.slider{display:flex;flex-direction:column;gap:14px}
.sl-ctrl{display:flex;justify-content:center;gap:12px}
.sl-btn,.hero .sl-btn,#souvenirs .sl-btn{position:static;transform:none;display:inline-grid!important;place-items:center;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--color-text);font-size:26px;line-height:1;padding:0 0 3px;box-shadow:0 4px 14px rgba(32,30,29,.08);cursor:pointer;touch-action:manipulation}
.sl-btn:hover{background:var(--mint-2);border-color:var(--mint-3);color:var(--ink-g)}
.sl-btn:disabled{opacity:.35;cursor:default}
.hero .slide{padding-left:clamp(20px,4vw,48px);padding-right:clamp(20px,4vw,48px)}
.dots{display:none}
.card .pic img[src*="-sq.png"]{padding:0}
.wa-cta .btn-wa{width:140px;background:var(--mint-2);border-color:var(--mint-3);color:#1f8a4c}
.wa-cta .btn-wa:hover{background:var(--mint-3);color:#17703d}
@media(max-width:640px){
 .btn{min-height:50px;font-size:16px}
 .card .btn{min-height:48px}
 .filters button{min-height:46px;padding:0 18px}
 .sl-btn,.hero .sl-btn,#souvenirs .sl-btn{width:50px;height:50px;font-size:28px}
 .wa-cta .btn-wa{width:150px;min-height:52px}
 .search input{min-height:48px}
 .cart{width:48px;height:48px}
}
/* v16 */
.card .btn-wa svg{width:32px;height:32px}
.wa-cta .btn-wa svg{width:34px;height:34px}
@media(max-width:640px){.card .btn-wa svg{width:30px;height:30px}.wa-cta .btn-wa svg{width:34px;height:34px}}
.filters{display:grid;grid-template-columns:repeat(3,minmax(0,max-content));justify-content:center;gap:8px}
.filters button{width:100%;min-width:110px}
@media(max-width:400px){.filters button{min-width:0;padding:0 10px}}
/* v17 carrito */
.acts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.btn-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#201e1d;border-color:#201e1d;color:#fff;padding:0 10px;min-height:44px}
.btn-add:hover{background:#000;border-color:#000;color:#fff}
.btn-add svg{width:20px;height:20px;flex:none}

.cart-n[hidden]{display:none}
.cart-bg{position:fixed;inset:0;background:rgba(32,30,29,.28);z-index:90}
.cart-dr{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fff;z-index:91;display:flex;flex-direction:column;border-radius:24px 0 0 24px;box-shadow:-10px 0 40px rgba(32,30,29,.12);transform:translateX(105%);transition:transform .28s ease;padding:max(18px,env(safe-area-inset-top)) 20px max(18px,env(safe-area-inset-bottom));visibility:hidden}
.cart-dr.on{transform:none;visibility:visible}
@media(max-width:480px){.cart-dr{border-radius:0}}
.cd-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px}
.cd-head h2{margin:0;font-size:22px}
.cd-x{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font-size:26px;line-height:1;cursor:pointer;color:#201e1d}
.cd-x:hover{background:var(--tile)}
.cd-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px}
.cd-it{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px;border-radius:18px;background:var(--p-sky,#eef6fc)}
.cd-it img{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#fff}
.cd-inf{display:flex;flex-direction:column;gap:2px;min-width:0}
.cd-inf b{font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.cd-inf span{font-size:15.5px;color:#57534e}
.qty{display:flex;align-items:center;gap:4px;background:#fff;border-radius:999px;padding:3px}
.qty button{width:36px;height:36px;border-radius:50%;border:0;background:transparent;font-size:20px;cursor:pointer;color:#201e1d}
.qty button:hover{background:var(--tile)}
.qty output{min-width:18px;text-align:center;font-weight:700}
@media(max-width:640px){.qty button{width:40px;height:40px}}
.cd-empty{flex:1;color:#57534e;text-align:center;padding-top:40px}
.cd-empty[hidden],.cd-foot[hidden],.cd-msg[hidden]{display:none}
.cd-foot{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1.5px solid var(--line)}
.cd-tot{display:flex;justify-content:space-between;align-items:baseline;font-size:18px}
.cd-tot b{font-size:20px}
.cd-note{display:flex;flex-direction:column;gap:6px;font-size:15.5px;color:#57534e}
.cd-note textarea{font:inherit;color:#201e1d;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;resize:none;min-height:48px}
.cd-note textarea:focus-visible{outline:2px solid var(--mint-3);outline-offset:1px}
.btn-mp{width:100%;min-height:50px;justify-content:center;background:#e3f4fc;border:1.5px solid #bfe5f7;color:#0a6fa0;font-weight:700}
.btn-mp:hover{background:#d2edfa;color:#075a82}
.btn-mp:disabled{opacity:.5;cursor:not-allowed}
.btn-wa-txt{width:100%;min-height:50px;justify-content:center;gap:10px;padding:0 14px;background:var(--mint-2);border:1.5px solid var(--mint-3);color:#1f7a45;font-weight:700}
.btn-wa-txt:hover{background:var(--mint-3);color:#17703d}
.btn-wa-txt svg{width:24px;height:24px;fill:currentColor;flex:none}
.cd-msg{margin:0;font-size:15.5px;color:#8a5a14;background:#fdf4e3;border-radius:12px;padding:8px 12px}
.cd-fine{margin:0;font-size:14.5px;color:#57534e;text-align:center}
.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#201e1d;color:#fff;padding:12px 18px;border-radius:999px;font-size:15.5px;opacity:0;pointer-events:none;transition:.25s;z-index:95;max-width:calc(100% - 32px);text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
/* Aviso largo (ej: pago aprobado): recuadro ancho en vez de píldora */
.toast.largo{width:min(420px,calc(100% - 32px));border-radius:var(--rb,14px);padding:16px 18px;line-height:1.5;text-align:left}
/* v18 página de producto */
.pp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center;max-width:960px}
.pp-pic{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;background:#fff}
.pp-pic img{width:100%;height:100%;object-fit:contain}
.pp-info{display:flex;flex-direction:column;gap:14px;text-align:center;align-items:center}
.pp-info h1{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.1;text-wrap:balance}
.pp-cat{font-size:15.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#57534e;text-decoration:none}
.pp-info .price{margin:0;font-size:20px;font-weight:700}
.pp-acts{width:min(100%,360px);grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.pp-acts .btn{min-height:50px}
.pp-back{color:#57534e;font-size:16px}
.pp-back:hover{color:#201e1d}
@media(max-width:720px){.pp{grid-template-columns:minmax(0,1fr)}}

.pp-acts .btn-wa{display:inline-flex;align-items:center;justify-content:center;padding:0;min-height:50px;background:#fff;border:1.5px solid rgba(32,30,29,.08);color:#2f9e60}
.pp-acts .btn-wa:hover{background:var(--mint-2);border-color:var(--mint-3);color:#1f8a4c}
.pp-acts .btn-wa svg{width:32px;height:32px;fill:currentColor}
.pp-acts .btn-add{min-height:50px}
.pp-top{max-width:960px;display:flex;margin-bottom:16px}
.pp-home{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px 0 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:#201e1d;font-weight:700;font-size:16px;text-decoration:none}
.pp-home span{font-size:22px;line-height:1;margin-top:-2px}
.pp-home:hover{background:var(--mint-2);border-color:var(--mint-3)}
@media(max-width:640px){.pp-home{min-height:48px}}
/* v19 links a producto */
.card .pic{position:relative}
.pic-lk{position:absolute;inset:0;z-index:2;border-radius:inherit}
.pic-lk:focus-visible{outline:2px solid var(--mint-3);outline-offset:-2px}
.card h3 a{color:inherit;text-decoration:none}
.card h3 a:hover{text-decoration:underline;text-underline-offset:3px}
/* v20 carrito: eliminar y centrado */
.cd-rm{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-top:2px;padding:0 10px 0 6px;border:0;border-radius:999px;background:transparent;color:#8a3b2e;font:600 14.5px/1 var(--font-body);cursor:pointer}
.cd-rm svg{width:16px;height:16px}
.cd-rm:hover{background:#fbeae6}
@media(max-width:640px){.cd-rm{min-height:40px}}
.cart-dr .btn,.cart-dr .btn span{text-align:center;justify-content:center}
.cart-dr .btn{display:flex;align-items:center}
.cart-dr{overflow-y:auto;overscroll-behavior:contain}
.cd-list{flex:1 0 auto;overflow:visible}
.cd-foot{flex:none}
.cd-msg,.cd-fine,.cd-empty{text-align:center}
/* v21 página producto: botones apilados */
.pp-acts{grid-template-columns:minmax(0,1fr);width:min(100%,340px);gap:10px}
.pp-acts .btn{min-height:52px;width:100%;justify-content:center;border-radius:var(--rb,16px)}
.pp-acts .btn-add{background:#e3f4fc;border:1.5px solid #bfe5f7;color:#0a6fa0;font-weight:700}
.pp-acts .btn-add:hover{background:#d2edfa;border-color:#a9dcf3;color:#075a82}
.pp-acts .btn-add svg{width:22px;height:22px}
.pp-acts .btn-wa{background:var(--mint-2);border:1.5px solid var(--mint-3);color:#1f8a4c}
.pp-acts .btn-wa:hover{background:var(--mint-3);color:#17703d}
.pp-acts .btn-wa svg{width:30px;height:30px}
@media(max-width:640px){.pp-acts{width:100%}.pp-acts .btn{min-height:54px}}
/* v22 */
.cart-dr{padding:max(28px,calc(env(safe-area-inset-top) + 18px)) 22px max(28px,calc(env(safe-area-inset-bottom) + 20px))}
.cd-head{padding-bottom:18px}
.cd-foot{gap:12px;padding-top:18px;margin-top:14px}
.pp-acts{display:inline-grid;grid-template-columns:max-content;width:auto;gap:10px;justify-content:center}
.pp-acts .btn{width:100%;padding:0 26px}
@media(max-width:640px){.pp-acts{width:auto}}
/* v23 opciones de tela */
.opts{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:4px 0 2px}
.opts button{min-height:36px;padding:0 12px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:#57534e;font:600 14.5px/1.1 var(--font-body);cursor:pointer}
.opts button:hover{background:var(--tile)}
.opts button[aria-checked="true"]{background:#e3f4fc;border-color:#bfe5f7;color:#0a6fa0}
@media(max-width:640px){.opts button{min-height:40px}}
/* v24 precios y descripción */
.card .price{color:#201e1d;font-size:19px;font-weight:800;letter-spacing:-.01em}
.card .price:empty{display:none}
.pp-info .price{color:#201e1d;font-size:clamp(26px,3.4vw,32px);font-weight:800;letter-spacing:-.01em}
.pp-desc{margin:4px 0 6px;max-width:46ch;font-size:17px;line-height:1.6;color:#3d3935;text-align:center;text-wrap:pretty}
/* v25 opciones parejas */
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,340px);margin-inline:auto}
.opts button{width:100%;min-height:44px;padding:6px 10px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}
.card .opts{width:100%}
.card .opts button{font-size:13.5px;padding:6px 6px}
@media(max-width:640px){.opts button{min-height:46px}}
/* v26 justificado + botones iguales */
.pp-desc{text-align:justify;text-align-last:center;hyphens:auto;-webkit-hyphens:auto;max-width:46ch;width:100%}
.pp-acts{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:260px!important;max-width:100%;margin-inline:auto}
.pp-acts .btn{width:100%!important;height:52px;min-height:52px!important;padding:0 16px!important;box-sizing:border-box}
.card .acts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
.card .acts .btn{width:100%;height:46px;min-height:46px!important;padding:0 8px!important;box-sizing:border-box}
@media(max-width:640px){.card .acts .btn{height:48px;min-height:48px!important}.pp-acts .btn{height:54px;min-height:54px!important}}
/* v27 tazas: botones de entrega */
.opts.opts-stack{grid-template-columns:minmax(0,1fr);width:260px;max-width:100%;gap:8px}
.opts-stack button{height:48px;min-height:48px;font-size:15.5px;border-radius:var(--rb,16px)}
@media(max-width:640px){.opts-stack button{height:50px;min-height:50px}}
/* v28 fotos redondeadas en página de producto */
.pp-pic{border-radius:var(--r,24px);overflow:hidden;padding:0;isolation:isolate}
.pp-pic img{border-radius:inherit;display:block}
.pp-pic.pp-cover img{object-fit:cover}
/* v29 talles */
.sizes{display:flex;flex-direction:column;align-items:center;gap:10px;width:260px;max-width:100%;margin-top:2px}
.sz-l{font-size:15.5px;font-weight:700;color:#201e1d}
.sz{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%}
.sz button{height:44px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:#201e1d;font:700 15.5px/1 var(--font-body);cursor:pointer}
.sz button:hover{background:var(--tile)}
.sz button[aria-checked="true"]{background:#e3f4fc;border-color:#bfe5f7;color:#0a6fa0}
.sz-msg{margin:0;font-size:14.5px;color:#8a5a14;background:#fdf4e3;border-radius:10px;padding:6px 10px;text-align:center}
.sz-msg[hidden]{display:none}
.sz-more{width:100%;height:44px;min-height:44px;justify-content:center;background:#fff;border:1.5px solid var(--line);color:#201e1d;font-weight:600;font-size:15.5px;border-radius:var(--rb,16px)}
.sz-more:hover{background:var(--mint-2);border-color:var(--mint-3);color:#1f7a45}
@media(max-width:640px){.sz button,.sz-more{height:48px;min-height:48px}}
/* v30 diseñador */
.dz{max-width:760px;display:flex;flex-direction:column;gap:22px}
.dz-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.dz-head h1{margin:0;font-size:clamp(28px,4.4vw,40px);line-height:1.1;text-wrap:balance}
.dz-head p{margin:0;max-width:48ch;color:#3d3935;line-height:1.55;text-wrap:pretty}
.dz-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.dz-step{display:flex;flex-direction:column;align-items:center;gap:14px;padding:clamp(20px,4vw,32px);border-radius:var(--r,24px);text-align:center}
.dz-step:nth-child(1){background:var(--p-mint)}.dz-step:nth-child(2){background:var(--p-sky)}.dz-step:nth-child(3){background:var(--p-lilac)}
.dz-step h2{margin:0;font-size:clamp(20px,3vw,24px)}
.dz-n{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:800;color:var(--ink-g)}
.dz-prod{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,420px)}
.dz-prod button,.dz-seg button{height:46px;border-radius:var(--rb,14px);border:1.5px solid var(--line);background:#fff;color:#201e1d;font:700 16px/1 var(--font-body);cursor:pointer}
.dz-prod button:hover,.dz-seg button:hover{background:var(--tile)}
.dz-prod button[aria-checked="true"],.dz-seg button[aria-checked="true"]{background:#e3f4fc;border-color:#9fd3ee;color:#0a6fa0}
.dz-size{margin:0;font-size:15.5px;color:#3d3935;max-width:44ch}
.dz-stage{width:100%;display:flex;justify-content:center}
.dz-stage canvas{display:block;border-radius:18px;background:#fff;box-shadow:0 6px 24px rgba(32,30,29,.08);touch-action:none;cursor:grab;max-width:100%}
.dz-stage canvas:active{cursor:grabbing}
.dz-hint{margin:-4px 0 0;font-size:14.5px;color:#57534e}
.dz-ctrls{display:flex;flex-direction:column;gap:14px;width:min(100%,420px)}
.dz-f{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:15.5px;font-weight:700;color:#201e1d}
.dz-f[hidden]{display:none}
.dz-f input[type=text],.dz-f textarea{width:100%;font:500 17px/1.4 var(--font-body);color:#201e1d;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;text-align:center;resize:none}
.dz-f input[type=text]:focus-visible,.dz-f textarea:focus-visible{outline:2px solid #9fd3ee;outline-offset:1px}
.dz-f input[type=range]{width:100%;accent-color:#2f6fb3;height:28px}
.dz-seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}
.dz-seg button{font-weight:400;font-size:18px;padding:0 4px}
.dz-sw{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.dz-sw button{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(32,30,29,.15);cursor:pointer;padding:0}
.dz-sw button[aria-checked="true"]{outline:3px solid #2f6fb3;outline-offset:2px}
.dz-up{height:48px;min-height:48px;width:100%;justify-content:center;gap:8px;background:#fff;border:1.5px solid var(--line);color:#201e1d;font-weight:700;border-radius:var(--rb,14px);cursor:pointer}
.dz-up:hover{background:var(--tile)}
.dz-up svg{width:20px;height:20px}
.dz-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.dz-mini{height:44px;min-height:44px;padding:0 18px;justify-content:center;background:#fff;border:1.5px solid var(--line);color:#201e1d;font-weight:600;font-size:15.5px;border-radius:var(--rb,14px)}
.dz-mini:hover{background:var(--tile)}
.dz-mini[hidden]{display:none}
.dz-step .opts.opts-stack{width:100%}
.dz-send{display:flex;flex-direction:column;align-items:center;gap:10px;width:260px;max-width:100%}
.dz-send .btn{width:100%;height:52px;min-height:52px;justify-content:center;gap:10px;font-weight:700;border-radius:var(--rb,14px)}
.dz-send .btn svg{width:24px;height:24px;flex:none}
.dz-wa{background:var(--mint-2);border:1.5px solid var(--mint-3);color:#1f7a45}
.dz-wa svg{fill:currentColor}
.dz-wa:hover{background:var(--mint-3);color:#17703d}
.dz-mail{background:#e3f4fc;border:1.5px solid #bfe5f7;color:#0a6fa0}
.dz-mail:hover{background:#d2edfa;color:#075a82}
.dz-send .dz-mini{height:44px;min-height:44px}
.dz-note{margin:0;min-height:1.2em;font-size:15.5px;color:#3d3935;max-width:40ch}
@media(max-width:640px){.dz-prod button,.dz-seg button{height:50px}.dz-send .btn{height:54px;min-height:54px}.dz-mini{height:48px;min-height:48px}}
.dz-step:nth-child(3){background:var(--p-butter)}
.dz-pos{grid-template-columns:repeat(2,minmax(0,1fr))}
.dz-pos button{font:700 15.5px/1.1 var(--font-body)!important}
.dz-pos-hint{max-width:44ch;margin:0;text-wrap:pretty}
.dz-pos-hint[hidden]{display:none}
.dz-ticks{display:flex;justify-content:space-between;width:100%;margin-top:-4px;padding:0 4px;font-size:13.5px;font-weight:700;color:#57534e}
.dz-ticks span{width:28px;text-align:center;position:relative;padding-top:8px}
.dz-ticks span::before{content:"";position:absolute;top:0;left:50%;width:2px;height:6px;border-radius:2px;background:#9fb6cc;transform:translateX(-50%)}
.dz-ticks{padding:0 1px}.dz-ticks span{width:22px}
.dz-ticks{padding:0}.dz-ticks span{width:64px;margin:0 -24px;font-size:13.5px;line-height:1.15;white-space:normal}
.dz-ticks span:first-child{margin-left:-22px}.dz-ticks span:last-child{margin-right:-22px}
@media(max-width:380px){.dz-ticks span{font-size:12.5px;width:54px;margin:0 -19px}}
.dz-f label,.dz-f{overflow:visible}
.dz-ctrls{padding-inline:24px;box-sizing:content-box;max-width:calc(100% - 48px)}
.dz-ticks span{width:72px;margin:0 -28px;white-space:nowrap}.dz-ticks span:first-child{margin-left:-26px}.dz-ticks span:last-child{margin-right:-26px}
@media(max-width:380px){.dz-ticks span{font-size:12px;width:60px;margin:0 -22px}}
/* v31 páginas legales */
.lg{max-width:760px;display:flex;flex-direction:column;gap:16px}
.lg-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.lg-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:#201e1d;font-size:15.5px;font-weight:600;text-decoration:none}
.lg-nav a:hover{background:var(--tile)}
.lg-nav a[aria-current="page"]{background:#e3f4fc;border-color:#bfe5f7;color:#0a6fa0}
.lg-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;margin:10px 0 4px}
.lg-head h1{margin:0;font-size:clamp(28px,4.4vw,40px);line-height:1.1;text-wrap:balance}
.lg-upd{margin:0;font-size:14.5px;color:#57534e}
.lg-card{border-radius:var(--r,24px);padding:clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:12px}
.lg-card h2{margin:0;font-size:clamp(19px,2.6vw,22px);text-align:center}
.lg-card p,.lg-card li{margin:0;font-size:17px;line-height:1.6;color:#2b2826;text-wrap:pretty}
.lg-card ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:6px}
.lg-card a{color:#0a6fa0;text-underline-offset:3px}
.lg-small{font-size:15.5px!important;color:#4a4541!important}
.lg-id{background:rgba(255,255,255,.7);border-radius:16px;padding:12px 16px;font-size:16px!important;text-align:center}
.lg-t{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:16px;overflow:hidden;font-size:16px}
.lg-t th,.lg-t td{padding:12px 14px;text-align:left;border-bottom:1.5px solid var(--line);vertical-align:top}
.lg-t tr:last-child th,.lg-t tr:last-child td{border-bottom:0}
.lg-t th{font-weight:700;width:44%}
.lg-acts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px}
.lg-btn{min-height:50px;padding:0 20px;justify-content:center;gap:10px;font-weight:700;border-radius:var(--rb,14px);text-decoration:none!important;text-align:center}
.lg-btn svg{width:22px;height:22px;flex:none}
.lg-wa{background:var(--mint-2);border:1.5px solid var(--mint-3);color:#1f7a45!important}.lg-wa svg{fill:currentColor}.lg-wa:hover{background:var(--mint-3)}
.lg-sky{background:#e3f4fc;border:1.5px solid #bfe5f7;color:#0a6fa0!important}.lg-sky:hover{background:#d2edfa}
.lg-white{background:#fff;border:1.5px solid var(--line);color:#201e1d!important}.lg-white:hover{background:var(--tile)}
.lg-form{display:flex;flex-direction:column;gap:14px;width:min(100%,460px);margin-inline:auto}
.lg-form .dz-f{align-items:stretch}.lg-form .dz-f span{text-align:center}
.lg-form .lg-acts .btn{flex:1 1 180px}
.lg-err{margin:0;font-size:15.5px;color:#8a5a14;background:#fdf4e3;border-radius:12px;padding:8px 12px;text-align:center}
.lg-err[hidden],.lg-ok[hidden]{display:none}
.lg-ok{background:#fff;border-radius:18px;padding:18px;text-align:center;display:flex;flex-direction:column;gap:6px}
.lg-code-l{font-size:15.5px!important;color:#57534e!important}
.lg-code{font-size:24px!important;font-weight:800;letter-spacing:.02em;color:#201e1d!important}
.flegal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding:18px 0 4px;border-top:1.5px solid var(--line);margin-top:18px}
.flegal a{font-size:15.5px;color:#3d3935;text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.flegal a:hover{color:#201e1d;text-decoration:underline;text-underline-offset:3px}
.flegal .farr{font-weight:700;color:#0a6fa0}
.cd-fine a{color:#0a6fa0}
@media(max-width:640px){.lg-btn{min-height:52px}.lg-nav a{min-height:44px}.flegal a{min-height:44px}}
/* v32 legales: botones homogéneos */
.lg-acts{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:min(100%,300px);margin:6px auto 0}
.lg-btn,.lg-form .lg-acts .btn{display:flex;align-items:center;justify-content:center;width:100%;height:52px;min-height:52px;padding:0 16px;box-sizing:border-box;font-size:16px;line-height:1.2;white-space:normal;flex:none}
.lg-form .lg-acts{width:min(100%,300px)}
.lg-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,460px);margin-inline:auto}
.lg-nav a{justify-content:center;text-align:center;height:48px;min-height:48px;padding:0 10px;border-radius:var(--rb,14px);line-height:1.15}
.lg-card,.lg-form,.lg-t{min-width:0;max-width:100%}
.lg-card{overflow-wrap:anywhere}
.lg-t th{width:40%}
@media(max-width:640px){.lg-btn,.lg-form .lg-acts .btn{height:54px;min-height:54px}.lg-nav a{height:50px;min-height:50px;font-size:15px}}
/* v33 legales en blanco y negro */
.lg-card{background:#fff!important;border:1.5px solid var(--line);box-shadow:none}
.lg-card a:not(.btn){color:#201e1d;text-decoration:underline}
.lg-id{background:#fff;border:1.5px solid var(--line)}
.lg-t{border:1.5px solid var(--line)}
.lg .kicker{color:#57534e}
.lg-btn,.lg-wa,.lg-sky,.lg-white{background:#201e1d!important;border:1.5px solid #201e1d!important;color:#fff!important}
.lg-btn:hover{background:#000!important;border-color:#000!important}
.lg-btn:focus-visible{outline:2px solid #201e1d;outline-offset:2px}
.lg-wa svg{fill:#fff}
.lg-nav a{background:#fff;color:#201e1d;border-color:var(--line)}
.lg-nav a:hover{background:#f4f3f2}
.lg-nav a[aria-current="page"]{background:#201e1d;border-color:#201e1d;color:#fff}
.lg-err{background:#fff;border:1.5px solid #201e1d;color:#201e1d}
.lg-ok{border:1.5px solid var(--line)}
.lg-form .dz-f input:focus-visible,.lg-form .dz-f textarea:focus-visible{outline:2px solid #201e1d}
/* v34 botones de tarjeta parejos */
.card .info{align-items:stretch}
.card .buy{width:100%;align-self:stretch}
.card .acts{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px;width:100%}
.card .acts .btn{width:100%!important;height:46px;min-height:46px!important;padding:0 8px!important;border-radius:var(--rb,14px);justify-content:center}
.card .opts button{border-radius:var(--rb,14px)}
@media(max-width:640px){.card .acts .btn{height:48px;min-height:48px!important}}
/* v35 envío en carrito */
.cd-lbl{margin:0 0 8px;font-size:15.5px;font-weight:700;color:#201e1d;text-align:center}
.cd-ship-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cd-ship-opts button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:68px;padding:8px;border-radius:var(--rb,14px);border:1.5px solid var(--line);background:#fff;color:#201e1d;cursor:pointer;text-align:center;font-family:var(--font-body)}
.cd-ship-opts button b{font-size:15.5px}
.cd-ship-opts button span{font-size:13.5px;line-height:1.25;color:#57534e}
.cd-ship-opts button:hover{background:var(--tile)}
.cd-ship-opts button[aria-checked="true"]{background:#e3f4fc;border-color:#9fd3ee}
.cd-ship-opts button[aria-checked="true"] span{color:#0a6fa0}
.cd-cust{display:flex;flex-direction:column;gap:8px}
.cd-in{display:flex;flex-direction:column;gap:4px;font-size:14.5px;color:#57534e;min-width:0}
.cd-in[hidden]{display:none}
.cd-in input{font:500 17px/1.3 var(--font-body);color:#201e1d;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;height:46px;width:100%;box-sizing:border-box;background:#fff}
.cd-in input:focus-visible{outline:2px solid #9fd3ee;outline-offset:1px}
.cd-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.cd-2:not(:has(.cd-in:not([hidden]))){display:none}
.cd-err{margin:0;font-size:14.5px;color:#8a5a14;background:#fdf4e3;border-radius:10px;padding:8px 10px;text-align:center}
.cd-err[hidden]{display:none}
.cd-shipline{margin:-6px 0 0;font-size:14.5px;color:#57534e;text-align:right}
.cd-shipline:empty{display:none}
@media(max-width:640px){.cd-in input{height:48px}}
.cd-ret{margin:0;font-size:14.5px;line-height:1.45;color:#0a6fa0;background:#e3f4fc;border-radius:12px;padding:10px 12px;text-align:center}
.cd-ret[hidden]{display:none}
.cd-retw{display:flex;flex-direction:column;gap:8px}.cd-retw[hidden]{display:none}
.cd-ret-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cd-ret-opts button{height:44px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:#201e1d;font:700 14.5px/1.15 var(--font-body);cursor:pointer;padding:0 6px}
.cd-ret-opts button:hover{background:var(--tile)}
.cd-ret-opts button[aria-checked="true"]{background:#e3f4fc;border-color:#9fd3ee;color:#0a6fa0}
@media(max-width:640px){.cd-ret-opts button{height:48px}}

/* ---------- Sensación de app nativa ---------- */
@media (prefers-reduced-motion:no-preference){
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:.28s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}
.btn,.cat,.opts button,.sz button,.cart,.pp-share{transition:transform .12s ease}
.btn:active,.cat:active,.opts button:active,.sz button:active,.cart:active,.pp-share:active{transform:scale(.96)}
}
.top{view-transition-name:top}
button,.btn,.cat,.filters,.opts,.sz,.cart,.brand{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.pp-pic{position:relative}
.pp-share{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#201e1d;box-shadow:0 2px 10px rgba(32,30,29,.14);display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pp-share svg{width:20px;height:20px}
.inst{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;gap:12px;max-width:460px;margin:0 auto;padding:12px 12px 12px 14px;background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(32,30,29,.18);transform:translateY(140%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.inst.on{transform:none}
.inst img{border-radius:12px;flex:none}
.inst p{margin:0;flex:1;font-size:14.5px;line-height:1.35;color:#5b5754}
.inst p b{display:block;font-size:16px;color:#201e1d}
.inst-b .btn{height:40px!important;min-height:40px!important;width:auto!important;padding:0 16px!important;font-size:15.5px}
.inst-x{flex:none;width:32px;height:32px;border:0;background:none;font-size:24px;line-height:1;color:#8a8581;cursor:pointer}
/* Encabezado de páginas internas: producto y Diseñar con logo a la izquierda y carrito a la derecha; legales solo con el logo */
.top .bar.bar-in{display:flex;justify-content:space-between}
.top .bar.bar-legal{display:flex;justify-content:center}
/* Turnstile (anti-bots) en el carrito: solo ocupa lugar si Cloudflare pide interacción */
.cd-ts{margin:0 0 8px}

/* ---------- Blanco y negro (pedido de Emmanuel, 2026-10-01) ----------
   1. Todo el texto en negro.
   2. Botones y opciones: blancos con borde negro; los principales y los elegidos, negros con letra blanca.
   3. El color queda solo en los bloques (tarjetas, fotos, categorías, banners) y en las muestras de color de Diseñar. */
body, body :where(*){color:#000!important}
a.farr{color:#000!important;text-decoration:underline}

/* Botones y opciones: blanco con borde negro */
.btn, .filters button, .opts button, .sz button, .cd-ship-opts button, .cd-ret-opts button,
.dz-prod button, .dz-seg button, .qty button, .sl-btn, .cd-rm, .pp-share, .lg-btn{
  background:#fff!important; border:1.5px solid #000!important; color:#000!important; box-shadow:none!important}
.cd-rm{border:0!important; background:none!important}
/* Principales y elegidos: negro con letra blanca */
.btn-add, .btn-mp, .btn-primary, .lg-btn,
.filters button[aria-pressed="true"], .opts button[aria-checked="true"], .sz button[aria-checked="true"],
.cd-ship-opts button[aria-checked="true"], .cd-ret-opts button[aria-checked="true"],
.dz-prod button[aria-checked="true"], .dz-seg button[aria-checked="true"],
.cart-n, .toast, .inst .btn{background:#000!important; border-color:#000!important; color:#fff!important}
:is(.btn-add, .btn-mp, .btn-primary, .lg-btn,
.filters button[aria-pressed="true"], .opts button[aria-checked="true"], .sz button[aria-checked="true"],
.cd-ship-opts button[aria-checked="true"], .cd-ret-opts button[aria-checked="true"],
.dz-prod button[aria-checked="true"], .dz-seg button[aria-checked="true"], .toast, .inst .btn) *{color:#fff!important}
.btn:disabled, .btn[disabled]{opacity:.45}
/* Íconos de los botones (WhatsApp, carrito, compartir) del mismo color que el texto */
.btn svg, .pp-share svg, .cart svg{color:inherit!important}
.btn-wa svg path{fill:currentColor!important}
/* Textos con regla propia más fuerte */
h1 em, h2 em, .slide h1 em, .slide h2 em, p.lg-small{color:#000!important}
/* Única excepción de color en textos y botones: WhatsApp en verde (pedido de Emmanuel, 2026-10-01).
   #1f7a45 se lee bien sobre blanco y sobre los bloques verde claro (contraste 4.3 a 5.3). */
.btn-wa, a[href*="wa.me"], .ic-wa{color:#1f7a45!important}
.btn-wa *, a[href*="wa.me"] *{color:#1f7a45!important}
.btn.btn-wa, a.btn[href*="wa.me"]{border-color:#1f7a45!important}

/* ---------- Escala y detalle (Emmanuel, 2026-10-01; según sus manuales de UI/UX) ----------
   Cuatro tamaños: 13 (etiquetas y notas) · 16 (texto y botones) · 20 (precios y subtítulos) · 28 (títulos).
   Dos interlineados: 1.2 en títulos y botones, 1.5 en textos. Lo secundario en gris #555 (contraste 7.4).
   Botones de 48 px de alto y zonas para tocar de 44 px como mínimo. */
:root{--t-xs:13px;--t-base:16px;--t-md:20px;--t-xl:28px;--lh-t:1.2;--lh-b:1.5;--ink-2:#555}

/* 13: etiquetas, notas y pie */
.kicker, .card .c, .pp-cat, .ann, .loc, .fine, .foot h4, .opts button, .card .opts button, .steps span,
.cd-fine, .cd-shipline, .cd-ship-opts button span, .sz-msg, .dz-hint, .lg-upd{font-size:var(--t-xs)!important}
/* 16: texto, botones, menú y filtros */
body, p, .menu a, .filters button, .perk, .fbrand p, .flegal a, .foot li a, .btn, .card .btn, .sz button, .sz-l, .sz-more,
.card h3, .card h3 a, .cat b, .iman figcaption, .steps b, .perk b, .pp-home, .head p, .cd-empty, .cd-in, .cd-ret{font-size:var(--t-base)!important}
/* 20: precios en tarjetas y título del carrito */
.card .price, .cd-head h2{font-size:var(--t-md)!important}
/* 28: títulos de sección y de página, y el precio de la ficha */
h1, .head h2, .slide h2, .close h2, .pp-info h1, .pp-info .price{font-size:var(--t-xl)!important}

/* Interlineado: títulos y botones 1.2, textos 1.5 */
h1, h2, h3, h4, .price, .btn, .menu a, .filters button, .kicker, .cat b, .steps b, .perk b, .card h3 a{line-height:var(--lh-t)!important}
p, li, .perk, .steps span, .pp-desc, .fine, .loc, .flegal a, .pp-home, .sz-l{line-height:var(--lh-b)!important}
.card .c, .pp-cat, .iman figcaption{line-height:var(--lh-t)!important}

/* Gris para lo secundario (nunca en botones) */
.kicker, .card .c, .pp-cat, .loc, .fine, .fbrand p, .steps span, .cd-fine, .cd-shipline, .head p, .perk span{color:var(--ink-2)!important}

/* Botones: 48 px de alto */
.btn, .card .acts .btn, .pp-acts .btn, .pp-acts .btn-add, .btn-mp, .btn-wa-txt, .wa-cta .btn-wa{height:auto!important;min-height:48px!important}
.pp-acts .btn{height:48px!important}
/* Zonas para tocar de 44 px como mínimo */
.menu{gap:0 8px!important}
.menu a{min-height:44px;display:inline-flex;align-items:center;padding-inline:6px!important}
.dz-sw button{width:44px;height:44px}

/* Descripción del producto: alineada a la izquierda, sin huecos */
.pp-desc{text-align:left!important;text-align-last:auto!important;hyphens:manual!important;-webkit-hyphens:manual!important}
/* Diseñar: misma escala (los botones de letra muestran su propia tipografía y quedan como están) */
.dz-ticks span{font-size:var(--t-xs)!important}
.dz-pos button, .dz-f > span{font-size:var(--t-base)!important}

/* Tarjetas de producto cuadradas (Emmanuel, 2026-10-01): la foto llena un cuadrado redondeado con borde sutil,
   y nombre, precio y botones van abajo sobre blanco. Sin marco de color alrededor de la foto. */
.card,.card[data-cat]{background:transparent!important;box-shadow:none!important;border:0!important;overflow:visible!important;padding:0!important}
.card:hover{transform:none!important}
.card .pic{aspect-ratio:1;border-radius:20px!important;overflow:hidden;border:1px solid #e6e4e2!important}
.card .pic img{padding:0!important;width:100%;height:100%;object-fit:cover}
.card:hover .pic img:not(.alt){transform:scale(1.03)}
.card .pic img{transition:transform .15s ease-out,opacity .15s ease-out}
.card .info{padding:12px 2px 4px!important}
/* La misma foto, igual en todos lados (Emmanuel, 2026-10-01): tienda, página del producto y carrito
   usan el mismo recorte (cuadrado, que llena) y el mismo encuadre. */
.card .pic img, .pp-pic img, .cd-it img{object-fit:cover!important;object-position:center 58%!important;padding:0!important}
.pp-pic{border-radius:20px!important;border:1px solid #e6e4e2!important}
.pp-pic img{position:absolute;inset:0;width:100%!important;height:100%!important}
.cd-it img{border-radius:12px!important;border:1px solid #e6e4e2;background:#fff}
/* Nombre en la tarjeta: una sola línea; si es largo, se abrevia con "…" (el nombre completo está en la ficha).
   Así todas las tarjetas de una fila quedan alineadas (Emmanuel, 2026-10-01). */
.card h3{min-width:0;width:100%}
.card h3 a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Galería de la ficha (2026-10-01): hasta 5 fotos que se deslizan con el dedo, con puntitos abajo. */
.pp-strip{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:inherit}
.pp-strip::-webkit-scrollbar{display:none}
/* Un espacio entre foto y foto: al deslizar no se ven pegadas (Emmanuel, 2026-10-22). */
.pp-strip{gap:12px}
.pp-strip img{border-radius:inherit}
.pp-strip img{position:static!important;flex:0 0 100%;width:100%!important;height:100%!important;scroll-snap-align:center;scroll-snap-stop:always}
.pp-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:10px;display:flex;justify-content:center;gap:0;padding:0 4px;border-radius:999px;background:rgba(255,255,255,.88)}
.pp-dots button{width:28px;height:28px;padding:0;border:0;background:none;display:grid;place-items:center;cursor:pointer}
.pp-dots button::before{content:"";width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.25);transition:background .15s ease-out,transform .15s ease-out}
.pp-dots button[aria-current="true"]::before{background:#000;transform:scale(1.25)}
/* Colores de un producto (2026-10-01): bolitas de 44 px; la elegida con anillo negro. Excepción de color, como en Diseñar. */
.pp-pic[hidden]{display:none!important}
.colors{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0 8px}
.cl{display:flex;gap:12px;justify-content:center}
.cl button{width:44px;height:44px;border-radius:50%;padding:0;cursor:pointer;background:var(--sw)!important;border:1.5px solid #cfcac6!important;box-shadow:none!important;transition:transform .15s ease-out}
.cl button[aria-checked="true"]{outline:2px solid #000;outline-offset:3px}
.cl button:active{transform:scale(.94)}
/* Diseños (imanes): en lugar de la bolita, una fotito cuadrada de cada diseño (Emmanuel, 2026-10-22). */
.cl-foto button{width:56px;height:56px;border-radius:12px}
/* Ficha con subtítulo, descripción y detalles en viñetas (modelo del buzo, 2026-10-01).
   Orden: título, subtítulo, precio, variantes, botones; después la descripción y los detalles. */
.pp-sub{margin:-4px 0 4px;font-size:var(--t-base)!important;line-height:var(--lh-b)!important;color:var(--ink-2)!important;text-align:center;max-width:36ch}
.pp-desc{margin-top:16px!important}
.pp-h2{font-size:var(--t-md)!important;line-height:var(--lh-t)!important;margin:16px 0 4px;align-self:stretch;max-width:46ch;width:100%}
.pp-list{list-style:none;margin:0;padding:0;align-self:stretch;max-width:46ch;width:100%;display:grid;gap:8px}
.pp-list li{position:relative;padding-left:20px;font-size:var(--t-base)!important;line-height:var(--lh-b)!important}
.pp-list li::before{content:"";position:absolute;left:4px;top:.6em;width:6px;height:6px;border-radius:50%;background:#000}
.pp-h2, .pp-list, .pp-list li{text-align:left!important}
/* Consultar precio por cantidad (2026-10-01): botón de texto de WhatsApp, el último de la ficha. */
.pp-acts .btn-qty{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;font-weight:700;white-space:normal;text-align:center}
/* Bloque "¿Tenés una idea?": WhatsApp con su logo y el mail debajo, los dos del mismo ancho (2026-10-01). */
.close .row{flex-direction:column;align-items:center;gap:8px!important}
.close .row .btn{width:min(100%,320px);min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.close .row .btn svg{width:22px;height:22px;fill:currentColor;flex:none}
.close .row .btn-ghost svg{fill:none!important;stroke:currentColor}

/* Modo oscuro del celular (2026-10-04): la tienda es blanco y negro siempre. Esto le pide al navegador
   que no la oscurezca solo (Samsung Internet y Chrome con "oscurecer sitios" lo hacían). */
:root{color-scheme:only light}
/* En la tienda, el botón de carrito es solo el ícono en todos los celulares; "Agregar" va en la ficha. */
.card .btn-add span{display:none}

/* Cambios del 2026-10-04 (Emmanuel) */
/* Logo del pie más grande */
.fbrand img{width:220px;height:auto}
/* Sin el botón de WhatsApp de Souvenirs: menos aire entre el carrusel y "¿Tenés una idea?" */
#souvenirs{padding-bottom:24px}
/* Carrito: Mercado Pago con su color */
.btn-mp{background:#009ee3!important;border-color:#009ee3!important;color:#fff!important}
.btn-mp:hover{background:#0087c2!important;border-color:#0087c2!important}
/* Páginas legales: la pestaña elegida, negra con letra blanca (antes quedaba negro sobre negro) */
.lg-nav a[aria-current="page"]{background:#000!important;border-color:#000!important;color:#fff!important}
/* Formularios de quejas y arrepentimiento: ícono + "Enviar", cada uno con el color de su ícono */
.lg-form .lg-acts .lg-btn{background:#fff!important;color:#000!important;border:1.5px solid #000!important}
.lg-form .lg-acts .lg-btn *{color:#000!important}
.lg-form .lg-acts .lg-wa, .lg-form .lg-acts .lg-wa *{color:#1f7a45!important}
.lg-form .lg-acts .lg-wa{border-color:#1f7a45!important}
.lg-form .lg-acts .lg-btn svg{width:22px;height:22px}
.lg-form .lg-acts .lg-wa svg path{fill:currentColor!important}

/* Aviso de carrito al volver: en la página, debajo del encabezado; no flota */
.vuelve{position:relative;display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:12px var(--edge,16px) 0;padding:12px 52px 12px 16px;border-radius:16px;background:var(--p-peach)}
.vuelve[hidden]{display:none!important}
.vuelve p{margin:0;flex:1 1 180px;font-weight:600}
.vuelve .btn{min-height:44px;padding:0 16px}
.vuelve-x{position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;background:none;font-size:24px;line-height:1;cursor:pointer;color:#000}

/* Buscador en el celular: usa todo el espacio libre entre el logo y el carrito, así "Buscar" no se corta (2026-10-06) */
@media(max-width:640px){.search{flex:1 1 auto;max-width:none;min-width:0}.brand,.brand img{flex:none}}

/* ---------- Megsie, la asistente de compra (2026-10-06) ----------
   Sin bloque de color: fondo blanco y una línea negra muy suave (Emmanuel). Escala 13 · 16 · 20, gris #555 para lo
   secundario, campos y botones de 48 px, botones del ancho de su texto (no a lo ancho), tarjetas de 20 px. */
.ia{--ia-line:rgba(0,0,0,.12);width:100%;max-width:720px;margin:0 auto 24px;display:flex;flex-direction:column;gap:16px}
.ia[hidden],.ia-ask[hidden],.ia-res[hidden]{display:none!important}
.ia-in,.ia-res{background:#fff;border:1px solid var(--ia-line);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:8px}
@media(min-width:768px){.ia-in,.ia-res{padding:24px}}
.ia-k{margin:0;font-size:var(--t-xs)!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:var(--lh-t);color:var(--ink-2)!important}
.ia-h{margin:0;font-size:var(--t-md)!important;font-weight:800;line-height:var(--lh-t)}
.ia-s{margin:0;line-height:var(--lh-b);color:var(--ink-2)!important}
.ia-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ia-row input{flex:1 1 240px;min-width:0;height:48px;padding:0 16px;border:1px solid var(--ia-line);border-radius:14px;background:#fff;font:400 16px var(--font-body)}
.ia-row input:focus{outline:2px solid #000;outline-offset:0;border-color:transparent}
.ia-btn{flex:0 0 auto;align-self:flex-start;height:48px;min-height:48px;padding:0 24px;justify-content:center}
.ia-ask{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;height:auto!important;min-height:48px;padding:12px 16px;text-align:left;white-space:normal;border-radius:16px;border-width:1px!important;border-color:var(--ia-line)!important}
.ia-ask .ia-l{font-size:var(--t-xs)!important;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)!important}
.ia-ask .ia-q{display:block;max-width:100%;font-weight:600;overflow-wrap:anywhere;line-height:var(--lh-b)}
.ia-ask .ia-q::before{content:"«"}.ia-ask .ia-q::after{content:"»"}
.ia-t{margin:0;line-height:var(--lh-b)}
.ia-wait,.ia-err{margin:0;line-height:var(--lh-b)}
.ia-wait{color:var(--ink-2)!important}
/* Cada producto recomendado, separado por una línea; sin cajas dentro de cajas */
.ia-item{display:flex;flex-direction:column;gap:12px;padding:16px 0 0;margin-top:8px;border-top:1px solid var(--ia-line)}
.ia-p{display:flex;gap:16px;align-items:center;min-height:44px;text-decoration:none}
.ia-p img{width:72px;height:72px;flex:none;border-radius:12px;border:1px solid var(--ia-line);object-fit:cover;object-position:center 58%}
.ia-i{display:flex;flex-direction:column;gap:4px;min-width:0}
.ia-i b{font-size:var(--t-base)!important;line-height:var(--lh-t)}
.ia-i small{font-size:var(--t-xs)!important;line-height:var(--lh-b);color:var(--ink-2)!important}
.ia-i em{font-style:normal;font-weight:800;font-size:var(--t-base)!important}
.ia-buy{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.ia-buy .sz-l{text-align:left;margin-top:4px}
.ia-buy .ia-opts{width:100%;max-width:420px;margin:0}
.ia-buy .cl{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}
.ia-buy .sz{max-width:420px}
.ia-buy .sz-msg{margin:0}
.ia-buy .ia-btn{margin-top:8px}
.ia-note{margin:8px 0 0;font-size:var(--t-xs)!important;line-height:var(--lh-b);color:var(--ink-2)!important}
@media (prefers-reduced-motion:no-preference){.ia-res{animation:ia-in .2s ease-out}@keyframes ia-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}
/* La presentación de Megsie (Emmanuel, 2026-10-06): todo centrado: la frase y el campo y el botón, del mismo ancho, chicos.
   Arriba, su dibujo al costado del nombre */
.ia-in{align-items:center;text-align:center}
.ia-me{display:flex;align-items:center;gap:12px;text-align:left}
.ia-me img{width:64px;height:64px;flex:none;border-radius:50%}
.ia-me .ia-k{margin-top:4px}
.ia-in .ia-row{width:100%;max-width:240px;flex-direction:column;align-items:stretch}
.ia-in .ia-row input{flex:none;width:100%;text-align:center}
.ia-in .ia-btn{width:100%;align-self:stretch}
/* Megsie en burbuja (Emmanuel, 2026-10-06): un círculo con su dibujo abajo a la derecha, con el cartel
   "Asistente de compra" hasta que se abre la primera vez. Al tocarlo sube un panel (en la compu, una tarjeta en la
   esquina) con la presentación de siempre y las respuestas. Por encima de la página, por debajo del carrito. */
.mg-fab{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:8px;padding:0;margin:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mg-fab[hidden],.mg-tag[hidden],.mg-bg[hidden],.mg-sheet[hidden]{display:none!important}
body:has(.inst) .mg-fab{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 96px)}
.mg-tag{display:flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 4px 16px rgba(0,0,0,.10);font-size:var(--t-xs)!important;font-weight:700;line-height:1;color:#000!important;white-space:nowrap}
.mg-face{display:grid;place-items:center;width:72px;height:72px;flex:none;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 4px 16px rgba(0,0,0,.14);overflow:hidden}
.mg-face img{width:66px;height:66px;border-radius:50%}
/* Saludo: un saltito, una sola vez, al aparecer (Emmanuel, 2026-10-07) */
@media (prefers-reduced-motion:no-preference){.mg-face{animation:mg-hola .9s ease-out .6s 1 both}@keyframes mg-hola{0%,100%{transform:none}30%{transform:translateY(-10px)}55%{transform:none}75%{transform:translateY(-4px)}}}
.mg-fab:focus-visible .mg-face{outline:2px solid #000;outline-offset:3px}
.mg-bg{position:fixed;inset:0;z-index:84;background:rgba(32,30,29,.28)}
.mg-sheet{--ia-line:rgba(0,0,0,.12);position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:85;display:flex;flex-direction:column;max-height:min(85vh,760px);max-height:min(85dvh,760px);background:#fff;border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.22);overflow:hidden}
@media(min-width:768px){.mg-sheet{left:auto;right:24px;bottom:24px;width:420px;border-radius:20px}}
.mg-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 8px 0 16px}
.mg-x{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:50%;background:none;font-size:28px;line-height:1;color:#000;cursor:pointer}
.mg-body{display:flex;flex-direction:column;gap:16px;overflow-y:auto;overscroll-behavior:contain;padding:8px 16px max(16px,env(safe-area-inset-bottom))}
.mg-sheet .ia-in,.mg-sheet .ia-res{border:0;border-radius:0;padding:0;background:none}
.mg-sheet .ia-res{border-top:1px solid var(--ia-line);padding-top:16px}
@media (prefers-reduced-motion:no-preference){.mg-sheet{animation:mg-up .2s ease-out}@keyframes mg-up{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}}
/* Guía de talles (Emmanuel, 2026-10-06): en la página de las remeras, un botón abre un panel con una pestaña por corte
   (Unisex, Mujer, Hombre) y la imagen de cada tabla. En el celular sube desde abajo; en la compu, centrado. */
.sz-guia{width:100%;height:48px;min-height:48px;justify-content:center;background:#fff;border:1px solid #000;color:#000;font-weight:700;font-size:var(--t-base)!important;border-radius:var(--rb,14px)}
.gt-bg{position:fixed;inset:0;z-index:86;background:rgba(32,30,29,.28)}
.gt{position:fixed;left:0;right:0;bottom:0;z-index:87;display:flex;flex-direction:column;max-height:min(92vh,900px);max-height:min(92dvh,900px);background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px rgba(0,0,0,.16)}
@media(min-width:768px){.gt{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:520px;border-radius:20px}}
.gt[hidden],.gt-bg[hidden],.gt-p[hidden]{display:none!important}
.gt-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 8px 0 16px}
.gt-h{margin:0;font-size:var(--t-md)!important;font-weight:800;line-height:var(--lh-t)}
.gt-x{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:50%;background:none;font-size:28px;line-height:1;color:#000;cursor:pointer}
.gt-body{display:flex;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;padding:8px 16px max(16px,env(safe-area-inset-bottom))}
.gt-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}
.gt-tabs button{height:44px;padding:0 8px;border:1px solid #000;border-radius:999px;background:#fff;color:#000;font:700 var(--t-base) var(--font-body);cursor:pointer}
.gt-tabs button[aria-selected="true"]{background:#000;color:#fff!important}
.gt-p img{display:block;width:100%;height:auto;border-radius:12px}
.gt-n{margin:0;font-size:var(--t-xs)!important;line-height:var(--lh-b);color:var(--ink-2)!important}
/* Corte de las remeras (Emmanuel, 2026-10-06): Unisex · Mujer · Hombre, antes del talle. Debajo, la descripción del corte
   y, si tiene, la foto de una persona con la remera lisa. Blanco y negro como el resto de los botones. */
.cortes{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(100%,340px);margin:4px auto 0}
.ct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.ct button{height:48px;padding:0 6px;border:1px solid #000;border-radius:999px;background:#fff;color:#000;font:700 var(--t-base) var(--font-body);cursor:pointer}
.ct button[aria-checked="true"]{background:#000;color:#fff!important}
.ct-info{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:24px}
.ct-info img{width:72px;height:128px;flex:none;object-fit:cover;object-position:center top;border-radius:12px;border:1px solid rgba(0,0,0,.12)}
.ct-info img[hidden]{display:none}
.ct-info p{margin:0;font-size:var(--t-xs)!important;line-height:var(--lh-b);color:var(--ink-2)!important;text-align:left}
.ct-info img[hidden]+p{text-align:center}
/* Pestañas legales: si queda una sola en la última fila, ocupa todo el ancho (no queda colgada) */
.lg-nav a:last-child:nth-child(odd){grid-column:1/-1}
/* Botones con la misma esquina en toda la tienda (Emmanuel, 2026-10-06): "más cuadrados, redondeados", ninguno en forma
   de pastilla. La medida es --rb (14 px). Quedan redondos solo los de un ícono (carrito, WhatsApp, flechas, cerrar,
   compartir), las muestras de color y la burbuja de Megsie. */
.btn,.filters button,.menu a,.pp-home,.opts button,.opts-stack button,.lg-nav a,.lg-btn,.gt-tabs button,.ct button,
.sz button,.sz-more,.sz-guia,.cd-ship-opts button,.cd-ret-opts button,.cd-rm,.dz-prod button,.dz-seg button,.dz-up,.dz-mini,
.ia-ask,.mg-tag,.qty,.inst .btn{border-radius:var(--rb)!important}
/* Los campos para escribir, con la misma esquina que los botones (Emmanuel, 2026-10-06): buscador, carrito, Diseñar y Megsie */
.search,.search input,.cd-in input,.cd-in textarea,.dz-f input[type=text],.dz-f textarea,.ia-row input{border-radius:var(--rb)!important}

/* Pagar: mientras abre Mercado Pago, el botón muestra que está trabajando (no se toca dos veces) */
.btn-mp.cargando{display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.3;white-space:normal;opacity:1!important;cursor:progress}
.btn-mp.cargando::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent}
@media (prefers-reduced-motion:no-preference){.btn-mp.cargando::before{animation:mp-gira .8s linear infinite}@keyframes mp-gira{to{transform:rotate(360deg)}}}
/* Página 404: dos botones que se acomodan uno abajo del otro si no entran */
.nf-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.nf-acts .btn{flex:1 1 200px;justify-content:center}

/* Cupón en el carrito (2026-10-14): un link discreto que se abre en código + Aplicar; aplicado, una línea con su × */
.cd-cup{display:flex;flex-direction:column;gap:8px}
.cd-cup-abrir{align-self:flex-start;background:none;border:0;padding:8px 0;min-height:44px;font:600 var(--t-base) var(--font-body);color:#000;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cd-cup-form{display:grid;grid-template-columns:1fr auto;gap:8px}
.cd-cup-form input,#cupMail{font:inherit;font-size:16px;min-height:48px;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;text-transform:uppercase;color:#000;background:#fff}
#cupMail{text-transform:none}
.cd-cup-form .btn{min-height:48px;padding:0 18px}
.cd-cup-ok{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:8px 12px;border-radius:14px;background:var(--p-mint);font-weight:700}
.cd-cup-x{width:44px;height:44px;border:0;background:none;font-size:22px;line-height:1;color:#000;cursor:pointer}
.cd-cup [hidden]{display:none!important}

/* ═══════════ Nivel Shopify y Apple (Emmanuel, 2026-10-14: "mi tienda parece un boceto… Shopify mi referente, todo muy
   moderno y Apple; botones que cuando tocás no hay destello; bento más redondeado"). Fuentes y por qué:
   docs/guia-diseno.md → 11. Tienda: nivel Shopify. Esta capa va última y manda sobre las anteriores. ═══════════ */
:root{--r:28px;--r-img:22px;--sombra:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06)}

/* Tacto: sin el destello gris de Android al tocar; una presión suave (como iOS) y el foco solo con teclado */
html{-webkit-tap-highlight-color:transparent}
a,button,[role="radio"],label{touch-action:manipulation}
.btn,.card-add,.filters button,.opts button,.sz button,.cat,.dots button,.qty button,.cd-ship-opts button,.cd-ret-opts button,.cd-cup-abrir{transition:transform .12s ease-out,background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out!important}
.btn:active,.card-add:active,.filters button:active,.opts button:active,.sz button:active,.qty button:active,.cd-ship-opts button:active,.cd-ret-opts button:active{transform:scale(.96)!important}
.cat:active,.card .pic:active{transform:scale(.985)}
:focus{outline:none}
:focus-visible{outline:2px solid #000!important;outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Títulos con más presencia y aire, como Shopify: grandes, apretados, y más espacio entre secciones */
.head h2,#productos h2,.slide h1,.slide h2{letter-spacing:-.03em}
.head h2{font-size:clamp(30px,7vw,44px)!important;line-height:1.08!important}
main > section{padding-top:clamp(40px,8vw,72px)}

/* Inicio: el cartel entra entero y el siguiente asoma (se nota que se desliza); abajo, puntos en vez de flechas */
.hero .strip{--n:1;scroll-padding-inline:0}
.hero .strip > .slide{flex:0 0 88%!important}
@media(min-width:900px){.hero .strip > .slide{flex-basis:100%!important}}
.slide{border:0!important;box-shadow:none;border-radius:var(--r)!important;min-height:0;padding:24px 20px 28px!important;gap:20px}
.slide .pic{max-width:none!important;width:100%;border-radius:var(--r-img)!important;aspect-ratio:4/3}
@media(min-width:761px){.slide .pic{aspect-ratio:1/1;max-width:380px!important}}
.slide .row{margin-top:20px}
.slide .row .btn{min-width:200px}
.dots{display:flex!important;justify-content:center;gap:8px;margin-top:16px}
.dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(0,0,0,.18);cursor:pointer;transition:width .2s ease-out,background-color .2s ease-out!important}
.dots button[aria-current="true"]{width:24px;background:#000!important}
.sl-ctrl{display:none!important}

/* Ventajas: una fila que se desliza con el dedo, en vez de tres cajas grandes apiladas */
.perks{display:flex!important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:2px}
.perks::-webkit-scrollbar{display:none}
.perk{flex:0 0 auto;min-width:min(72%,280px);scroll-snap-align:start;border:0!important;border-radius:var(--r)!important;padding:16px 18px!important;text-align:left!important}
@media(min-width:900px){.perk{flex:1 1 0;min-width:0}}

/* Categorías: la foto es la tarjeta (sin caja alrededor), con el nombre debajo */
.cat{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;gap:10px!important;overflow:visible!important}
.cat .ci{border-radius:var(--r-img)!important;border:0}
.cat b{padding:0 0 4px!important}

/* Filtros del catálogo: una sola fila que se desliza, como en las apps (no tres renglones de botones) */
.filters{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;gap:8px;margin:0 calc(var(--edge) * -1) 20px!important;padding:2px var(--edge)!important;scroll-padding-inline:var(--edge);scrollbar-width:none;grid-template-columns:none!important}
.filters::-webkit-scrollbar{display:none}
.filters button{flex:0 0 auto;width:auto!important;min-width:0!important;min-height:44px!important;padding:0 18px!important;border-radius:999px!important}
@media(min-width:900px){.filters{justify-content:center!important}}

/* Tarjetas de producto: foto grande y redondeada, el + encima, y abajo solo nombre y precio */
.card{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;gap:0}
.card .pic{position:relative;border-radius:var(--r-img)!important;overflow:hidden;border:0!important}
.card .pic-lk{position:absolute;inset:0;z-index:1}
.card .info{padding:10px 2px 4px!important;gap:2px!important;align-items:flex-start!important;text-align:left!important}
.card h3,.card .price{text-align:left!important}
.card h3{font-size:var(--t-base)!important;font-weight:700}
.card .price{font-size:var(--t-base)!important;font-weight:600;color:var(--ink-2)}
.card-add{position:absolute;right:10px;bottom:10px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#000;color:#fff;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.card-add svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round}
.grid{row-gap:28px!important}
.card-add,.card-add:hover{color:#fff!important;background:#000!important;border:0!important}
.card-add svg{stroke:#fff!important}
.wrap.perks{padding-inline:var(--edge)!important;scroll-padding-inline:var(--edge)}
/* Menú de arriba: una sola fila que se desliza, no dos renglones */
.menu{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;gap:22px!important;padding:2px var(--edge) 12px!important;scrollbar-width:none}
.menu::-webkit-scrollbar{display:none}
.menu a{flex:0 0 auto;white-space:nowrap}
@media(min-width:760px){.menu{justify-content:center!important}}

/* Página de producto, nivel Shopify: foto limpia, "Agregar al carrito" protagonista y fijo abajo mientras se lee;
   WhatsApp y precio por cantidad como links (están, pero no compiten con la compra) */
.pp-pic{border:0!important;border-radius:var(--r-img)!important}
.pp-home{border:0!important;background:none!important;padding:0!important;min-height:44px;font-weight:600!important;color:var(--ink-2)!important}
.pp-buy{position:sticky;bottom:0;z-index:5;width:100%;padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top,#fff 75%,rgba(255,255,255,0))}
.pp-buy .btn-add{width:100%;min-height:56px!important;border-radius:16px!important;background:#000!important;border:0!important;color:#fff!important;font-weight:800;font-size:var(--t-md)!important;display:flex;justify-content:center;gap:10px}
.pp-buy .btn-add svg{width:22px;height:22px;stroke:#fff}
.pp-buy .btn-add[disabled]{background:#e7e5e4!important;color:#555!important}
.pp-alt{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px}
.pp-alt a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#000;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.pp-alt .pp-wa{color:#1f7a45;text-decoration:none}
.pp-alt .pp-wa svg{width:22px;height:22px;fill:#1f7a45}

/* Encabezado, nivel Shopify: el aviso en una franja negra fina; abajo, una barra limpia que se queda arriba al bajar
   (blanca con desenfoque y una línea fina): logo, buscador y carrito en una sola fila */
.ann{background:#000!important;color:#fff!important;font-size:var(--t-xs)!important;font-weight:600;letter-spacing:.01em;padding:8px var(--edge)!important;line-height:1.35}
header.top{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:saturate(180%) blur(14px);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid rgba(0,0,0,.06)!important}
.bar{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center;gap:12px!important;padding-top:8px!important;padding-bottom:8px!important}
.brand img{width:auto!important;height:44px!important}
.search{max-width:none!important;width:100%;justify-self:stretch!important}
.search input{height:44px;border-radius:999px!important;background:#f5f5f4!important;border:0!important}
.cart{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%}
.cart:active{transform:scale(.94)}
.cart-n{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#000!important;color:#fff!important;font:700 11px/18px var(--font-body);text-align:center}
@media(min-width:900px){.search{max-width:420px!important;justify-self:center!important}}

/* Pie, nivel Shopify: un bloque suave y redondeado, ordenado en franjas: marca, contacto, la tienda y lo legal */
footer.foot{margin-top:clamp(48px,8vw,80px);background:var(--tile);border-radius:var(--r) var(--r) 0 0;padding:40px 0 calc(28px + env(safe-area-inset-bottom))!important}
.fg2{display:flex!important;flex-direction:column;align-items:center;gap:28px!important}
.fbrand img{width:96px!important;height:auto!important}
.fbrand p{color:var(--ink-2)!important;font-size:var(--t-base)!important}
.foot h4{font-size:var(--t-xs)!important;color:var(--ink-2);letter-spacing:.1em;margin:0 0 10px!important;text-align:center}
.fsoc,.fnav{text-align:center}
.fsoc .icons{display:flex;justify-content:center;gap:12px!important}
.fsoc .ic,.fsoc .ic-img{width:44px;height:44px;border-radius:50%;overflow:hidden}
.fnav ul{display:flex!important;flex-wrap:wrap;justify-content:center;gap:4px 20px!important}
.fnav a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;text-decoration:none}
.flegal{display:flex!important;flex-wrap:wrap;justify-content:center;gap:0 18px!important;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.flegal a{display:inline-flex;align-items:center;min-height:44px;font-size:var(--t-xs)!important;color:var(--ink-2)!important;text-decoration:none}
.flegal .farr{color:#000!important;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.foot .fine{border-top:0!important;margin-top:8px!important;padding-top:0!important;font-size:var(--t-xs)!important}

/* Megsie, nivel tiendas grandes (2026-10-14, Emmanuel: "parece un juguete"): como Amazon Rufus, Shopify y ChatGPT.
   Un ícono sobrio de chispa en negro, un chat con globos, preguntas sugeridas y el campo abajo con su botón de enviar. */
.mg-face{width:56px!important;height:56px!important;background:#000!important;border:0!important;box-shadow:0 6px 20px rgba(0,0,0,.22)!important;animation:none!important}
.mg-face svg,.mg-yo svg{width:26px;height:26px;fill:#fff;stroke:none}
.mg-tag{background:#000!important;color:#fff!important;border:0!important;height:44px!important;font-weight:600!important}
.mg-sheet{border-radius:24px 24px 0 0!important;left:0!important;right:0!important;bottom:0!important;max-height:min(88vh,820px)!important;max-height:min(88dvh,820px)!important;box-shadow:0 -8px 40px rgba(0,0,0,.18)}
@media(min-width:768px){.mg-sheet{left:auto!important;right:24px!important;bottom:24px!important;width:420px;border-radius:24px!important}}
.mg-top{padding:14px 8px 12px 16px!important;border-bottom:1px solid rgba(0,0,0,.08)}
.ia-me{display:flex;align-items:center;gap:12px}
.mg-yo{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#000;flex:none}
.mg-yo svg{width:20px;height:20px}
.mg-top .ia-h{font-size:var(--t-base)!important}
.mg-top .ia-k{text-transform:none!important;letter-spacing:0!important;font-weight:500!important}
.mg-body{flex:1 1 auto;padding:16px!important}
.mg-log{display:flex;flex-direction:column;gap:14px}
.mg-msg{display:flex;flex-direction:column;gap:12px;max-width:100%}
.mg-msg .ia-t{font-size:var(--t-base)!important;line-height:var(--lh-b)}
.mg-yo-msg{align-self:flex-end;max-width:82%;margin:0;padding:10px 14px;border-radius:20px 20px 6px 20px;background:#000;color:#fff!important;line-height:var(--lh-b);overflow-wrap:anywhere}
.mg-chips{display:flex;flex-wrap:wrap;gap:8px}
.mg-chips[hidden]{display:none}
.mg-chip{min-height:40px;padding:8px 14px;border:1px solid rgba(0,0,0,.14);border-radius:999px;background:#fff;color:#000;font:600 var(--t-xs) var(--font-body);text-align:left;cursor:pointer;transition:transform .12s ease-out,background-color .15s}
.mg-chip:active{transform:scale(.96);background:#f5f5f4}
.mg-escribe{flex-direction:row;gap:5px;padding:14px 0}
.mg-escribe i{width:7px;height:7px;border-radius:50%;background:#a8a29e;animation:mg-punto 1s infinite ease-in-out}
.mg-escribe i:nth-child(2){animation-delay:.15s}.mg-escribe i:nth-child(3){animation-delay:.3s}
@keyframes mg-punto{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.mg-in{display:flex;gap:8px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid rgba(0,0,0,.08);background:#fff;border-radius:0 0 24px 24px}
.mg-in input{flex:1 1 auto;min-width:0;height:48px;padding:0 18px;border:0;border-radius:999px;background:#f5f5f4;font:400 16px var(--font-body);color:#000}
.mg-in input:focus{outline:2px solid #000;outline-offset:0}
.mg-go{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:50%;background:#000;color:#fff;cursor:pointer;transition:transform .12s ease-out}
.mg-go:active{transform:scale(.92)}
.mg-go[disabled]{opacity:.35}
.mg-go svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.mg-msg .ia-item{border-top:0!important;margin:0!important;padding:12px!important;border-radius:var(--r-img,22px);background:#fafaf9}
.mg-msg .ia-p img{border:0!important;border-radius:14px!important}
/* Baymard: los colores a la vista en la tarjeta; en el formulario, lo opcional marcado y para qué se pide el WhatsApp */
.card-cl{display:flex;gap:5px;margin-top:4px}
.card-cl i{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
.cd-opc{font-weight:400;color:var(--ink-2);font-size:var(--t-xs)}
/* Megsie con la "M" de la app (2026-10-14): el ícono redondo, sin fondo negro */
.mg-face,.mg-yo{background:#fff!important;overflow:hidden;padding:0}
.mg-face img,.mg-yo img{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover;display:block}

/* ═══════════ Como los temas Sleek y Spotlight de Shopify (Emmanuel, 2026-10-14: "lo que más me gustó fueron estos
   estilos, parecido a lo mío pero más afinado"). Ver docs/guia-diseno.md → 12. ═══════════ */
:root{--gris-foto:#f2f1ef}

/* Encabezado: lupa a la izquierda, logo al centro, carrito a la derecha; el buscador se abre debajo al tocar la lupa */
.bar{grid-template-columns:44px minmax(0,1fr) 44px!important;grid-template-areas:"lupa logo cart" "busca busca busca"}
.lupa{grid-area:lupa;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:none;color:#000;cursor:pointer}
.lupa svg{width:24px;height:24px}
.lupa:active,.cart:active{transform:scale(.92)}
.brand{grid-area:logo;justify-self:center}
.cart{grid-area:cart;justify-self:end}
.search{grid-area:busca;display:none!important;max-width:none!important;margin-top:4px}
body.con-busqueda .search{display:block!important}

/* Inicio (Sleek): la foto grande y redondeada sobre el color del cartel; debajo, frase chica y título grande, sobre blanco */
.hero .slide{background:none!important;padding:0!important;gap:20px!important;text-align:center}
.slide .pic{border-radius:var(--r)!important;aspect-ratio:1/1!important;max-width:none!important}
@media(min-width:761px){.hero .slide{grid-template-columns:1fr 1fr!important}.slide .pic{max-width:520px!important}}
.slide.t-mint .pic{background:var(--p-mint)!important}.slide.t-sky .pic{background:var(--p-sky)!important}.slide.t-lilac .pic{background:var(--p-lilac)!important}
.slide.t-peach .pic{background:var(--p-peach)!important}.slide.t-butter .pic{background:var(--p-butter)!important}.slide.t-rose .pic{background:var(--p-rose)!important}
.slide .pic img{mix-blend-mode:multiply}
.slide .kicker{text-transform:none!important;letter-spacing:0!important;font-size:var(--t-base)!important;font-weight:600;color:#000!important}
.slide h1,.slide h2{font-size:clamp(34px,9vw,56px)!important;line-height:1.05!important;letter-spacing:-.035em}
.slide p{color:var(--ink-2)!important}

/* Productos (Spotlight): todas las fotos sobre el mismo gris suave (el blanco de la foto toma ese gris), bien redondeadas;
   nombre y precio en letra normal */
.card .pic{background:var(--gris-foto)!important;border-radius:var(--r)!important}
.card .pic img{mix-blend-mode:multiply}
.card h3,.card h3 a{font-weight:500!important;letter-spacing:.01em}
.card .price{font-weight:500!important;color:#000!important;font-size:var(--t-md)!important}
.cat .ci{border-radius:var(--r)!important}
.pp-pic{background:var(--gris-foto)!important;border-radius:var(--r)!important}
.pp-pic img{mix-blend-mode:multiply}

/* Ficha del producto, como Sleek y Spotlight (Emmanuel, 2026-10-14: "que se aplique a cada página de cada producto").
   Foto grande sobre gris suave; abajo todo alineado a la izquierda como en sus fichas: categoría chica, nombre grande en
   letra normal, precio, opciones en rectángulos redondeados, colores, talles, Agregar fijo abajo y la descripción. */
.pp{align-items:start!important}
.pp-info{align-items:stretch!important;text-align:left!important;gap:16px!important}
.pp-info > *{max-width:none!important;margin-inline:0!important}
.pp-cat{text-transform:none!important;letter-spacing:0!important;font-size:var(--t-base)!important;font-weight:500!important;color:var(--ink-2)!important;text-decoration:none}
.pp-info h1{font-weight:500!important;font-size:clamp(28px,7vw,40px)!important;line-height:1.1!important;letter-spacing:-.025em;text-align:left!important}
.pp-sub{text-align:left!important;margin:-8px 0 0!important}
.pp-info .price{font-weight:500!important;font-size:var(--t-lg,22px)!important;color:#000!important;text-align:left!important}
/* Opciones (tiempo de entrega, tela…): una debajo de la otra, rectángulos redondeados con la línea fina; la elegida, negra */
.pp-info .opts,.pp-info .opts.opts-stack{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;justify-content:stretch;gap:8px!important;margin:0!important}
.pp-info .opts button,.pp-info .opts-stack button{width:100%!important;height:auto!important;min-height:52px!important;padding:12px 16px!important;justify-content:flex-start!important;text-align:left!important;border-radius:14px!important;border:1px solid rgba(0,0,0,.16)!important;background:#fff!important;color:#000!important;font-weight:500!important}
.pp-info .opts button[aria-checked="true"]{background:#000!important;border-color:#000!important;color:#fff!important}
.pp-info .sz-l{text-align:left!important;font-weight:600!important}
.pp-info .cl{justify-content:flex-start!important}
.pp-info .sz button{border-radius:14px!important;border:1px solid rgba(0,0,0,.16)!important;font-weight:500!important}
.pp-info .sz button[aria-checked="true"]{background:#000!important;border-color:#000!important;color:#fff!important}
/* Descripción y detalles: texto normal, a la izquierda, con líneas finas entre cada detalle */
.pp-desc{text-align:left!important;text-align-last:auto!important;color:#000!important;font-size:var(--t-base)!important;max-width:60ch!important}
.pp-h2{text-align:left!important;font-weight:600!important;font-size:var(--t-md)!important;margin:8px 0 0!important}
.pp-list{list-style:none!important;padding:0!important;margin:0!important;border-top:1px solid rgba(0,0,0,.1)}
.pp-list li{padding:12px 0;border-bottom:1px solid rgba(0,0,0,.1);color:#000}
.pp-alt{justify-content:flex-start!important}
.pp-top{padding-top:8px}
.pp-home{font-size:var(--t-xs)!important}
/* Ficha: colores, corte y talles también a la izquierda y a lo ancho; botones de la misma línea fina */
.pp-info .colors,.pp-info .cortes,.pp-info .sizes{display:flex!important;flex-direction:column!important;align-items:stretch!important;text-align:left!important;gap:10px!important;width:100%!important}
.pp-info .colors .sz-l,.pp-info .cortes .sz-l,.pp-info .sizes .sz-l{text-align:left!important;align-self:flex-start}
.pp-info .cl{display:flex!important;flex-wrap:wrap;gap:12px!important;justify-content:flex-start!important}
.pp-info .ct{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important}
.pp-info .ct button{min-height:48px!important;border-radius:14px!important;border:1px solid rgba(0,0,0,.16)!important;background:#fff!important;color:#000!important;font-weight:500!important}
.pp-info .ct button[aria-checked="true"]{background:#000!important;border-color:#000!important;color:#fff!important}
.pp-info .ct-info{text-align:left!important}
.pp-info .ct-info p{text-align:left!important}
.pp-info .sz{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;width:100%!important;max-width:none!important}
.pp-info .sz-guia,.pp-info .sz-more{width:100%!important;max-width:none!important;border-radius:14px!important;border-width:1px!important}
.pp-info .sz-msg{text-align:left!important}
.pp-list li{position:static!important;padding-left:0!important}
.pp-list li::before{display:none!important}
.pp-info .ct-info{display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:12px!important;margin:0!important}
.pp-info #ctDesc{margin:0!important;text-align:left!important;max-width:none!important}
.pp-info .sz-l{font-weight:500!important}

/* ═══════════ Todo con el mismo estilo (Emmanuel, 2026-10-14: "no solo la tienda, todo"): las páginas legales, Envíos,
   Diseñar, Asistentes, el 404 y el seguimiento del pedido, como las fichas de Sleek y Spotlight. Ver guía → 12. ═══════════ */
:root{--fina:1px solid rgba(0,0,0,.12)}
/* Frase chica de arriba: en gris y en letra normal, no en mayúsculas espaciadas */
.kicker{text-transform:none!important;letter-spacing:0!important;font-weight:500!important;font-size:var(--t-sm,13px)!important;color:var(--ink-2,#555)!important}
/* Títulos de página: a la izquierda, grandes y en letra normal */
.lg-head{align-items:flex-start!important;text-align:left!important;gap:4px!important;margin:8px 0 0!important}
.lg-head h1{font-weight:500!important;font-size:clamp(28px,7vw,40px)!important;letter-spacing:-.025em;text-wrap:balance}
.lg-upd{color:var(--ink-2,#555)!important;font-size:var(--t-sm,13px)!important}
/* Pestañas legales: una fila que se desliza, como los filtros de la tienda; la de la página, negra */
.lg-nav{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;overflow-x:auto;gap:8px!important;width:auto!important;margin:0 calc(var(--edge,16px) * -1)!important;padding:2px var(--edge,16px)!important;scrollbar-width:none;grid-template-columns:none!important}
.lg-nav::-webkit-scrollbar{display:none}
.lg-nav a{flex:0 0 auto;width:auto!important;height:44px!important;min-height:44px!important;padding:0 18px!important;border-radius:999px!important;border:var(--fina)!important;background:#fff!important;color:#000!important;font-weight:500!important;white-space:nowrap}
.lg-nav a[aria-current="page"]{background:#000!important;border-color:#000!important;color:#fff!important}
/* Cada parte de la página: sin caja, separada por una línea fina; título y texto a la izquierda */
.lg{gap:0!important}
.lg-card{background:none!important;border:0!important;border-top:var(--fina)!important;border-radius:0!important;box-shadow:none!important;padding:24px 0!important;margin:0!important}
.lg-head + .lg-card,.lg-nav + .lg-card{margin-top:20px!important}
.lg-card h2{text-align:left!important;font-weight:500!important;font-size:var(--t-md,20px)!important}
.lg-card p,.lg-card li{color:#000!important;font-size:var(--t-base,16px)!important;line-height:1.5!important}
.lg-id{background:var(--gris-foto)!important;border:0!important;border-radius:14px!important;text-align:left!important}
.lg-t{border:var(--fina)!important;border-radius:14px!important}
.lg-t th,.lg-t td{border-bottom:var(--fina)!important}
.lg-t th{font-weight:500!important}
.lg-acts{justify-content:flex-start!important}
.lg-head ~ .lg-card .btn,.nf-acts{max-width:none}
.nf-acts{justify-content:flex-start!important}
/* Formularios (quejas, arrepentimiento, Diseñar): la etiqueta arriba a la izquierda y el campo a lo ancho, con línea fina */
.lg-form{width:100%!important;margin:0!important}
.lg-form .dz-f,.lg-form .dz-f span{align-items:stretch!important;text-align:left!important}
.dz-f{align-items:stretch!important;text-align:left!important;font-weight:500!important}
.dz-f input[type=text],.dz-f input[type=email],.dz-f input[type=tel],.dz-f textarea,.lg-form input,.lg-form textarea,.lg-form select{border:var(--fina)!important;border-radius:14px!important;text-align:left!important;font-weight:400!important}
.lg-form .lg-acts{width:100%!important}
/* Diseñar: los tres pasos siguen en sus colores, pero ordenados a la izquierda y con los botones de línea fina */
.dz-step{align-items:stretch!important;text-align:left!important}
.dz-step h2{font-weight:500!important;text-align:left!important}
.dz-n{width:32px!important;height:32px!important;font-weight:500!important;font-size:var(--t-sm,13px)}
.dz-ctrls{width:100%!important;max-width:none!important;padding-inline:0!important;box-sizing:border-box!important}
.dz-size,.dz-steps p{text-align:left!important;max-width:none!important}
.dz-sw{justify-content:flex-start!important}
.dz-prod button,.dz-seg button,.dz-mini{border:var(--fina)!important;font-weight:500!important}
.dz-prod button[aria-checked="true"],.dz-seg button[aria-checked="true"]{background:#000!important;border-color:#000!important;color:#fff!important}
.dz-sw button[aria-checked="true"]{outline:2px solid #000!important}
.dz-send{width:100%!important;align-items:stretch!important}
.dz-step .opts button{justify-content:flex-start!important;text-align:left!important;border:var(--fina)!important;border-radius:14px!important;font-weight:500!important}
.dz-step .opts button[aria-checked="true"]{background:#000!important;border-color:#000!important;color:#fff!important}
/* Diseñar: el título como las demás páginas; la barra de tamaño deja lugar a los costados para sus nombres */
.dz-head{align-items:flex-start!important;text-align:left!important;gap:4px!important}
.dz-head h1{font-weight:500!important;letter-spacing:-.025em}
.dz-head p{color:#000!important;max-width:none!important}
.dz-f input[type=range],.dz-f .dz-ticks{width:auto!important;margin-inline:28px!important}
.dz-ticks{font-weight:400!important}
.dz-ctrls .dz-mini{align-self:stretch}
.dz-step .opts button{font-size:var(--t-base,16px)!important;min-height:52px!important;height:auto!important}
/* Los botones de las páginas legales (Nación, Provincia…) a lo ancho, como todo lo demás */
.lg-acts,.lg-card .lg-acts{width:100%!important;max-width:none!important}
.lg-btn{width:100%!important;font-weight:500!important}
.dz-f input[type=range],.dz-f .dz-ticks{margin-inline:20px!important}
.dz-ticks span{font-size:12px!important}
.dz-step .dz-mini{align-self:stretch!important;width:100%!important}
/* Páginas sueltas: el contenido empieza cerca del encabezado; el pie sin el hueco de arriba cuando solo tiene lo legal */
main > section:first-child:not(.hero){padding-top:12px!important}
.foot .wrap > .flegal:first-child{margin-top:0!important;padding-top:0!important;border-top:0!important}
footer.foot:has(.wrap > .flegal:first-child){padding-top:16px!important}
.pp-info .opts button{font-size:var(--t-base,16px)!important}

/* Carrito, como Sleek y Spotlight: cada producto sin caja (foto sobre el gris, línea fina abajo); títulos y textos a la
   izquierda; envío y retiro en rectángulos de línea fina, el elegido en negro; el aviso de retiro en gris suave */
.cd-head h2{font-weight:500!important;font-size:var(--t-md,20px)!important}
.cd-x{border:0!important;background:var(--gris-foto)!important;color:#000!important;box-shadow:none!important}
.cd-it{background:none!important;border:0!important;border-bottom:var(--fina)!important;border-radius:0!important;padding:12px 0!important;box-shadow:none!important}
.cd-it img{background:var(--gris-foto)!important;border:0!important;mix-blend-mode:multiply}
.cd-it b,.cd-it strong,.cd-inf b{font-weight:500!important}
.qty{border:var(--fina)!important;background:#fff!important}
.qty button{border:0!important;background:none!important}
.cd-lbl{text-align:left!important;font-weight:500!important;font-size:var(--t-base,16px)!important}
.cd-ship-opts button{align-items:flex-start!important;text-align:left!important;padding:10px 14px!important;border:var(--fina)!important;background:#fff!important;color:#000!important}
.cd-ship-opts button b{font-weight:500!important}
.cd-ship-opts button span{color:var(--ink-2,#555)!important}
.cd-ship-opts button[aria-checked="true"],.cd-ret-opts button[aria-checked="true"]{background:#000!important;border-color:#000!important;color:#fff!important}
.cd-ship-opts button[aria-checked="true"] span{color:rgba(255,255,255,.75)!important}
.cd-ret-opts button{border:var(--fina)!important;background:#fff!important;color:#000!important;font-weight:500!important}
.cd-ret{background:var(--gris-foto)!important;border:0!important;color:#000!important;text-align:left!important;border-radius:14px!important}
.cd-in input,.cd-note textarea,.cd-cup-form input{border:var(--fina)!important}
.cd-in span,.cd-note span{font-weight:500!important}
.cd-shipline{text-align:left!important}
.cd-tot b{font-weight:600!important}
.cd-it:last-child{border-bottom:0!important}

/* Categorías más grandes (Emmanuel, 2026-10-14: "más grandes, cuadrados redondeados, no tan chiquitos"): la foto ocupa
   todo el ancho de su columna, con poco espacio entre ellas (como las colecciones de Sleek); el nombre debajo, en letra normal */
.cats{gap:12px!important}
@media(min-width:900px){.cats{gap:16px!important}}
.cat .ci{width:100%!important;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r)!important}
.cat b{font-weight:500!important;padding:0!important}
.cat{gap:8px!important}

/* Categorías arriba de todo, como Bliss (Emmanuel, 2026-10-14): una fila que se desliza con el dedo, apenas se abre la
   tienda; cuadrados redondeados con el nombre debajo. Tocar una abre los productos de esa categoría. En la compu, centrada */
.cats-fila{padding:12px 0 0!important}
.cats-fila .cats{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;gap:12px!important;margin:0 calc(var(--edge) * -1)!important;padding:2px var(--edge) 4px!important;scroll-padding-inline:var(--edge);scroll-snap-type:x proximity;scrollbar-width:none;grid-template-columns:none!important}
.cats-fila .cats::-webkit-scrollbar{display:none}
.cats-fila .cat{flex:0 0 96px;width:96px;scroll-snap-align:start;gap:6px!important;text-align:center}
.cats-fila .cat .ci{width:96px!important;height:96px!important;border-radius:20px!important}
.cats-fila .cat b{font-size:var(--t-sm,13px)!important;font-weight:500!important;white-space:nowrap}
@media(min-width:900px){.cats-fila .cats{justify-content:center}.cats-fila .cat{flex-basis:120px;width:120px}.cats-fila .cat .ci{width:120px!important;height:120px!important;border-radius:24px!important}.cats-fila .cat b{font-size:var(--t-base)!important}}
.cats-fila + .hero{padding-top:16px!important}

/* Estrellas (Emmanuel, 2026-10-14): negras, como el resto de la tienda; la parte que no llega, en gris. Las de la tarjeta
   y las de la ficha son las mismas: cinco ★ con el promedio pintado encima (--op = qué parte va en negro) */
.op-e{display:inline-block;position:relative;letter-spacing:2px;color:#d6d3d1;font-size:16px;line-height:1;white-space:nowrap}
.op-e::before{content:"★★★★★";position:absolute;left:0;top:0;width:var(--op,0%);overflow:hidden;color:#000}
.card-op{display:flex;align-items:center;gap:6px;font-size:var(--t-sm,13px);color:var(--ink-2,#555)}
.card-op .op-e{font-size:13px;letter-spacing:1px}
.op-res{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:-8px;color:#000!important;text-decoration:none;font-size:var(--t-sm,13px)}
.op-res span:last-child{text-decoration:underline;text-underline-offset:3px;color:var(--ink-2,#555)}
.op{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.op-tot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.op-tot b{font-size:40px;font-weight:500;line-height:1}
.op-tot span:last-child{color:var(--ink-2,#555);font-size:var(--t-sm,13px)}
.op-e.op-grande{font-size:22px}
.op-lista{list-style:none;margin:0;padding:0;border-top:1px solid rgba(0,0,0,.1)}
.op-lista li{display:flex;flex-direction:column;gap:6px;padding:16px 0;border-bottom:1px solid rgba(0,0,0,.1)}
.op-lista li[hidden]{display:none}
.op-lista p{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.op-lista small{color:var(--ink-2,#555);font-size:var(--t-sm,13px)}
.op-arriba{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.op-v{font-size:var(--t-sm,13px);color:var(--ink-2,#555)}
.op-mas{width:100%}

/* Megsie con el mismo estilo (2026-10-14): preguntas sugeridas y producto en letra normal, línea fina, foto sobre el gris */
.mg-chip{font-weight:500!important;border-color:rgba(0,0,0,.12)!important;min-height:44px!important}
.ia-p b,.ia-i b,.ia-i strong{font-weight:500!important}
.ia-i em{font-weight:500!important}
.ia-p img{background:var(--gris-foto)!important;mix-blend-mode:multiply}
.mg-top b,#mgT{font-weight:500!important}

/* Carteles parejos (Emmanuel, 2026-10-15: "están desparejas las tarjetas"): todos arrancan arriba a la misma altura
   (antes, el de menos texto se centraba y su foto bajaba) y la fila se desliza de borde a borde de la pantalla, sin el
   corte invisible a 16 px del borde. Encabezado: el menú pegado al logo, en letra normal */
.hero .slide{align-content:start!important;align-items:start!important}
.hero .slide .pic{align-self:start}
.hero .strip{margin-inline:calc(var(--edge) * -1)!important;padding-inline:var(--edge)!important;scroll-padding-inline:var(--edge)!important}
.bar{padding-bottom:0!important}
.menu{padding-top:0!important;padding-bottom:6px!important}
.menu a{font-weight:500!important}

/* Megsie como tarjeta chica (Emmanuel, 2026-10-15: "no quiero tarjeta de borde a borde sino una card más chica sobre la
   pantalla, como un cuadradito", "que se abra suave"): flota abajo a la derecha, donde está el botón de la M, crece desde
   ahí y se achica al cerrar. Sin oscurecer la tienda: tocar afuera la cierra igual */
.mg-bg{background:transparent!important}
.mg-sheet{left:auto!important;right:16px!important;bottom:max(16px,env(safe-area-inset-bottom))!important;width:min(360px,calc(100vw - 32px))!important;max-height:min(70vh,560px)!important;max-height:min(70dvh,560px)!important;border-radius:24px!important;box-shadow:0 12px 48px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08)!important;transform-origin:calc(100% - 32px) calc(100% - 32px)}
@media(min-width:768px){.mg-sheet{right:24px!important;bottom:24px!important;width:380px!important}}
@media (prefers-reduced-motion:no-preference){
  .mg-sheet{animation:mg-abre .24s cubic-bezier(.2,.8,.2,1)!important}
  .mg-sheet.mg-cierra{animation:mg-cierra .16s ease-in forwards!important}
  @keyframes mg-abre{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
  @keyframes mg-cierra{to{transform:scale(.6);opacity:0}}
}
.mg-body{min-height:96px}

/* Títulos con pregunta (Emmanuel, 2026-10-15): la pregunta entera en un renglón y la otra frase debajo */
.close h2{white-space:nowrap;font-size:clamp(24px,7.5vw,40px)!important;max-width:none!important}

/* Opiniones: ocultas mientras no hay (el display de la sección le ganaba al "hidden") */
.op[hidden],.op-res[hidden]{display:none!important}
.mg-sheet{width:min(320px,calc(100vw - 32px))!important}
@media(min-width:768px){.mg-sheet{width:360px!important}}

/* "¿Tenés una idea?" y "Consultá por cantidad" en un solo bloque (Emmanuel, 2026-10-15): el título, la frase, las
   tarjetas de productos que se deslizan y los botones, dentro del mismo recuadro */
#souvenirs .close{margin:0!important;padding-inline:clamp(16px,4vw,48px)!important}
.close .slider{margin-top:20px;text-align:left}
.close .slider .strip{margin-inline:calc(clamp(16px,4vw,48px) * -1);padding-inline:clamp(16px,4vw,48px);scroll-padding-inline:clamp(16px,4vw,48px)}
.close .iman{background:#fff!important}

/* Megsie toda blanca (Emmanuel, 2026-10-15: "card blanca y redondeada, igual que el fondo de todo blanco"): la tarjeta,
   el producto que recomienda y el campo para escribir, en blanco con línea fina; la foto, sobre el gris de siempre */
.mg-sheet,.mg-top,.mg-body,.mg-log,.mg-in{background:#fff!important}
.mg-sheet .ia-item{background:#fff!important;border:1px solid rgba(0,0,0,.12)!important;border-radius:18px!important}
.mg-in input{background:#fff!important;border:1px solid rgba(0,0,0,.16)!important}
.mg-in input:focus{border-color:#000!important;outline:0}

/* Reseñas de Google (Emmanuel, 2026-10-15: "como Google reseñas, puntaje, estrellas y la reseña"): en el inicio, el
   puntaje grande con las estrellas, cuántas y los dos links oficiales de su perfil; en cada producto, un renglón que lleva
   a verlas. Estrellas negras, como en toda la tienda */
.gr{padding-top:8px!important}
.gr-box{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:1px solid rgba(0,0,0,.12);border-radius:var(--r,24px);padding:28px 20px}
.gr-box h2{margin:0 0 6px;font-weight:500!important;font-size:var(--t-lg,22px)!important}
.gr-num{display:flex;align-items:center;gap:12px;margin:0}
.gr-num b{font-size:48px;font-weight:500;line-height:1;letter-spacing:-.02em}
.gr-num .op-e{font-size:26px;letter-spacing:3px}
.gr-de{margin:0;color:var(--ink-2,#555);font-size:var(--t-base,16px)}
.gr-acts{display:flex;flex-direction:column;gap:8px;width:min(100%,320px);margin-top:14px}
.gr-acts .btn{width:100%;justify-content:center;font-weight:500}
.gr-pp{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 16px;border:1px solid rgba(0,0,0,.12);border-radius:14px;color:#000!important;text-decoration:none;margin-top:8px}
.gr-pp b{font-weight:600}
.gr-pp > span:last-child{text-decoration:underline;text-underline-offset:3px;white-space:nowrap;font-size:var(--t-sm,13px)}

/* Resumen de opiniones de Google (2026-10-15, como en Google): barras a la izquierda, el puntaje grande a la derecha,
   las frases con sus estrellas, "Más opiniones de Google" y las cinco estrellas vacías para calificar */
.gr-box{align-items:stretch!important;text-align:left!important;gap:16px!important}
.gr-box h2{margin:0!important}
.gr-res{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px}
.gr-res:not(:has(.gr-barras)){grid-template-columns:auto}
.gr-barras{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 10px;font-size:var(--t-sm,13px);color:var(--ink-2,#555)}
.gr-barras i{display:block;height:8px;border-radius:9px;background:#e7e5e4}
.gr-barras i.si{background:#000}
.gr-num{flex-direction:column;align-items:center!important;gap:4px!important}
.gr-num b{font-size:56px!important}
.gr-num .op-e{font-size:18px!important;letter-spacing:2px!important}
.gr-num span:last-child{color:var(--ink-2,#555)}
.gr-frases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.gr-frases li{display:flex;flex-direction:column;gap:4px}
.gr-frases p{margin:0;font-size:var(--t-base,16px);line-height:1.45}
.gr-e{font-size:15px!important}
.gr-mas{width:100%;justify-content:center;font-weight:500}
.gr-cal{border-top:1px solid rgba(0,0,0,.1);padding-top:16px}
.gr-cal h3{margin:0 0 6px;font-size:var(--t-base,16px);font-weight:500}
.gr-cal-e{display:flex;gap:4px}
.gr-cal-e a{display:grid;place-items:center;width:48px;height:48px;font-size:36px;line-height:1;color:#000!important;text-decoration:none}

/* Reseñas de Google con los colores de Google (Emmanuel, 2026-10-15: "el color que le corresponde a cada una, no todo
   negro"): estrellas y barra en su amarillo, el número grande en su gris oscuro y lo secundario en su gris. Solo en lo
   que es de Google; las opiniones de la tienda siguen en negro */
.gr-box,.gr-pp{--g-amarillo:#fbbc04;--g-texto:#202124;--g-gris:#70757a;--g-barra:#e8eaed}
.gr-box .op-e::before,.gr-pp .op-e::before{color:var(--g-amarillo)!important}
.gr-box .op-e,.gr-pp .op-e{color:var(--g-barra)!important}
.gr-barras i{background:var(--g-barra)!important}
.gr-barras i.si{background:var(--g-amarillo)!important}
.gr-barras span{color:var(--g-gris)}
.gr-num b,.gr-box h2,.gr-frases p,.gr-cal h3,.gr-pp b{color:var(--g-texto)!important}
.gr-num span:last-child,.gr-pp > span:last-child{color:var(--g-gris)!important}
.gr-cal-e a{color:var(--g-gris)!important}
.gr-cal-e a:hover,.gr-cal-e a:focus-visible{color:var(--g-amarillo)!important}
.gr-mas{background:#f1f3f4!important;border-color:#f1f3f4!important;color:var(--g-texto)!important;border-radius:999px!important}

/* Categoría "Próximamente" (2026-10-15): el cartelito negro sobre la foto; no se toca hasta que tenga productos */
.cat-pronto{position:relative;cursor:default}
.cat-pronto:active{transform:none!important}
.cat-pronto-t{position:absolute;left:50%;top:calc(96px - 12px);transform:translate(-50%,-50%);padding:3px 8px;border-radius:999px;background:#000;color:#fff;font-size:10px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
@media(min-width:900px){.cat-pronto-t{top:calc(120px - 14px);font-size:11px}}
.cats-fila .cat-pronto .cat-pronto-t{position:absolute!important;display:inline-block!important;width:auto!important;height:auto!important;left:50%!important;transform:translate(-50%,-50%)!important;padding:3px 8px!important;margin:0!important;border-radius:999px!important;background:#000!important;color:#fff!important;font-size:10px!important;line-height:1.3!important;font-weight:600!important}

/* Blanco puro con línea fina, como Apple (Emmanuel, 2026-10-15): las cajas y el pie dejan el casi-blanco; se separan
   con una línea fina. Los bloques de color siguen en sus colores */
.tile{background:#fff}
footer.foot{background:#fff!important;border-radius:0!important;border-top:1px solid rgba(0,0,0,.1)}
.foot h4{text-transform:none!important;letter-spacing:0!important;font-weight:500!important;font-size:var(--t-sm,13px)!important;color:var(--ink-2,#555)!important}
.fnav a{font-weight:500!important}

/* Carrusel del inicio (Emmanuel, 2026-10-15): solo se deslizan las fotos, cada una a todo el ancho (sin asomar la
   siguiente), con flechas en el medio a los costados; el texto queda fijo debajo */
.hero .slider{position:relative!important;display:block!important}
.hero .strip{margin-inline:0!important;padding-inline:0!important;scroll-padding-inline:0!important;gap:14px!important}
.hero .strip > .hero-pic{flex:0 0 100%!important;scroll-snap-align:start}
.hero-pic{display:block;aspect-ratio:1/1;border-radius:var(--r,24px);overflow:hidden}
.hero-pic img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.hero-pic.pic-cover img{object-fit:cover}
.hero-pic.t-mint{background:var(--p-mint)!important}.hero-pic.t-sky{background:var(--p-sky)!important}.hero-pic.t-lilac{background:var(--p-lilac)!important}
.hero-pic.t-peach{background:var(--p-peach)!important}.hero-pic.t-butter{background:var(--p-butter)!important}.hero-pic.t-rose{background:var(--p-rose)!important}
@media(min-width:761px){.hero .slider{max-width:520px;margin-inline:auto}}
.hero .sl-btn,.hero .sl-btn.prev,.hero .sl-btn.next{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;display:grid!important;place-items:center;width:40px!important;height:40px!important;border-radius:50%!important;border:0!important;background:rgba(255,255,255,.92)!important;color:#000!important;font-size:26px!important;line-height:1!important;padding:0 0 3px!important;box-shadow:0 2px 10px rgba(0,0,0,.15);z-index:2;cursor:pointer}
.hero .sl-btn.prev{left:10px!important}.hero .sl-btn.next{right:10px!important}
.hero .sl-btn:disabled{opacity:0!important;pointer-events:none}
.hero-txt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-top:16px}
.hero-txt h1{margin:0;font-size:clamp(34px,9vw,56px);line-height:1.05;letter-spacing:-.035em;max-width:13ch;text-wrap:balance}
.hero-txt p{margin:0;color:var(--ink-2,#555);max-width:34ch;line-height:1.5}
.hero-txt .kicker{font-size:var(--t-base,16px)!important;color:#000!important}
.hero-txt .row{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px;width:100%}
.hero-txt .row .btn{width:min(100%,320px);justify-content:center}

/* Detalles de la tienda (Emmanuel, 2026-10-15) */
/* Catálogo sin botones de filtro: se filtra con las categorías de arriba; el título cambia y aparece "Ver todo" */
#productos .head{display:flex;flex-direction:column;align-items:center;gap:6px}
.ver-todo{min-height:44px;padding:0 18px;border:1px solid rgba(0,0,0,.16);border-radius:14px;background:#fff;color:#000;font:500 var(--t-base,16px) var(--font-body);cursor:pointer}
.ver-todo[hidden]{display:none}
/* Las tres ventajas: como estaban, con el texto centrado */
.perk{text-align:center!important}
/* Calificar en Google, centrado */
.gr-cal{text-align:center}.gr-cal-e{justify-content:center}
/* Tarjetas: nombre, precio, colores y estrellas centrados */
.card .info{align-items:center!important;text-align:center!important}
.card h3,.card h3 a,.card .price{text-align:center!important}
.card-cl,.card-op{justify-content:center!important}
/* Botones del ancho de su texto, con la letra más grande (no de borde a borde) */
.close .row .btn,.hero-txt .row .btn,.gr-mas,.pp-buy .btn,.pp-info .sz-more,.pp-info .sz-guia,.op-mas,.lg-btn,.nf-acts .btn{width:auto!important;min-width:220px;max-width:100%;padding:0 32px!important;font-size:18px!important;align-self:center;justify-content:center}
.pp-buy{display:flex!important;justify-content:center!important}
.pp-info .sz-more,.pp-info .sz-guia{margin-inline:auto!important}
/* Detalles del producto: viñetas negras, sin líneas */
.pp-list{list-style:disc!important;padding-left:1.2em!important;border-top:0!important}
.pp-list li{border-bottom:0!important;padding:4px 0!important}
.pp-list li::marker{color:#000}
.filters[hidden]{display:none!important}
#productos{padding-top:28px!important}

/* ===== Botones angostos en toda la tienda (Emmanuel, 2026-10-15): el ancho de su texto, letra de 18 px, mínimo 220 px y
   centrados; nunca de borde a borde. Quedan como estaban los que van en fila con un campo (Aplicar el cupón) y los
   chiquitos de Diseñar. ===== */
#payMP,#payWA,#vuelveVer,.ac-ver,.ia-btn,.ia-ask,.dz-up,.dz-mail,.dz-wa,.pn-wa,#copiar{width:auto!important;min-width:220px;max-width:100%;padding:0 32px!important;font-size:18px!important;align-self:center!important;justify-content:center;margin-inline:auto!important}
#payMP,#payWA,.ac-ver,.dz-up,.dz-mail,.dz-wa,.pn-wa,#copiar{display:flex!important}
/* Si el texto no entra (pantallas de 320 px), el botón pasa a dos renglones en vez de salirse del borde. */
.close .row .btn,.hero-txt .row .btn,.gr-mas,.pp-buy .btn,.pp-info .sz-more,.pp-info .sz-guia,.op-mas,.lg-btn,.nf-acts .btn,#payMP,#payWA,#vuelveVer,.ac-ver,.ia-btn,.ia-ask,.dz-up,.dz-mail,.dz-wa,.pn-wa,#copiar{white-space:normal!important;height:auto!important;min-height:48px!important;padding-block:10px!important;line-height:1.2!important;text-align:center!important}
@media(max-width:400px){.close .row .btn,.hero-txt .row .btn,.gr-mas,.pp-buy .btn,.pp-info .sz-more,.pp-info .sz-guia,.op-mas,.lg-btn,.nf-acts .btn,#payMP,#payWA,#vuelveVer,.ac-ver,.ia-btn,.ia-ask,.dz-up,.dz-mail,.dz-wa,.pn-wa,#copiar{padding-inline:20px!important}}

/* ===== Solapas (Emmanuel, 2026-10-15): talles, forma de envío y dónde retirás. Una tarjeta blanca con línea fina que
   muestra lo elegido y una flechita; al tocarla se abre hacia abajo con las opciones en renglones, y la elegida lleva
   una tilde. Como un menú desplegable de iOS: se ve una sola cosa por vez y nada se esconde. ===== */
.sol{width:100%;border:var(--fina);border-radius:14px;background:#fff;overflow:hidden}
.sol-tog{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:2px;width:100%;min-height:56px;padding:8px 16px;border:0;background:#fff;color:#000;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sol-k{grid-column:1;font-size:var(--t-xs,13px);color:var(--ink-2,#555)}
.sol-v{grid-column:1;display:flex;flex-direction:column;gap:2px;min-width:0;font-size:var(--t-base,16px);font-weight:600;line-height:1.25}
.sol-v b{font-weight:600}
.sol-v small{font-size:var(--t-xs,13px);font-weight:400;color:var(--ink-2,#555)}
.sol-v.sol-ph{font-weight:400;color:var(--ink-2,#555)}
.sol-ch{grid-column:2;grid-row:1;justify-self:end;width:10px;height:10px;margin-top:-4px;border-right:2px solid #000;border-bottom:2px solid #000;transform:rotate(45deg);transition:transform .2s ease-out}
.sol-k ~ .sol-ch{grid-row:1 / span 2}
.sol.on .sol-ch{transform:rotate(225deg);margin-top:4px}
.sol-list{border-top:var(--fina)}
.sol-list[hidden]{display:none!important}
@media (prefers-reduced-motion:no-preference){.sol-list{animation:sol-in .18s ease-out}@keyframes sol-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}}
.sol-list .sz,.sol-list .cd-ship-opts,.sol-list .cd-ret-opts{display:flex!important;flex-direction:column!important;gap:0!important;width:100%!important}
.sol-list .sz button,.sol-list .cd-ship-opts button,.sol-list .cd-ret-opts button{position:relative;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:2px!important;width:100%!important;height:auto!important;min-height:52px!important;margin:0!important;padding:8px 48px 8px 16px!important;border:0!important;border-radius:0!important;border-bottom:var(--fina)!important;background:#fff!important;color:#000!important;font:500 var(--t-base,16px)/1.25 var(--font-body)!important;text-align:left!important;transform:none!important}
.sol-list .sz button:last-child,.sol-list .cd-ship-opts button:last-child,.sol-list .cd-ret-opts button:last-child{border-bottom:0!important}
.sol-list button b{font-weight:500!important}
.sol-list button span{color:var(--ink-2,#555)!important;font-size:var(--t-xs,13px)!important}
.sol-list button[aria-checked="true"]{background:#f5f5f7!important;color:#000!important;font-weight:700!important}
.sol-list button[aria-checked="true"] b{font-weight:700!important;color:#000!important}
.sol-list button[aria-checked="true"] span{color:var(--ink-2,#555)!important;font-weight:400!important}
.sol-list button[aria-checked="true"]::after{content:"";position:absolute;right:20px;top:50%;width:6px;height:12px;margin-top:-8px;border-right:2px solid #000;border-bottom:2px solid #000;transform:rotate(45deg)}
.cd-retw .sol{margin-bottom:6px}

/* ===== ¡Agregado al carrito! (Emmanuel, 2026-10-15): la hoja que sube al agregar, con lo agregado, el total, "Ver
   carrito" y dos productos para sumar. En el celular sube desde abajo; en la compu, centrada (como la guía de talles). ===== */
.ac-bg{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.28)}
.ac{position:fixed;left:0;right:0;bottom:0;z-index:91;display:flex;flex-direction:column;max-height:min(92vh,760px);max-height:min(92dvh,760px);background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px rgba(0,0,0,.16)}
@media(min-width:768px){.ac{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:440px;border-radius:20px}}
@media (prefers-reduced-motion:no-preference){.ac{animation:ac-up .22s ease-out}@keyframes ac-up{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}}
.ac[hidden],.ac-bg[hidden]{display:none!important}
.ac-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 8px 8px 16px;border-bottom:var(--fina)}
.ac-h{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--t-md,20px)!important;font-weight:700;line-height:1.2}
.ac-ok{position:relative;width:24px;height:24px;flex:none;border-radius:50%;background:#000;font-size:0}
.ac-ok::after{content:"";position:absolute;left:9px;top:5px;width:5px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.ac-x{display:grid;place-items:center;width:44px;height:44px;flex:none;padding:0;border:0;border-radius:50%;background:none;font-size:28px;line-height:1;color:#000;cursor:pointer}
.ac-body{display:flex;flex-direction:column;gap:14px;overflow-y:auto;overscroll-behavior:contain;padding:16px 16px max(16px,env(safe-area-inset-bottom))}
.ac-it{display:flex;align-items:center;gap:12px}
.ac-it img{flex:none;width:72px;height:72px;object-fit:contain;border-radius:12px;border:var(--fina);background:#fff}
.ac-it div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ac-it b{font-size:var(--t-base,16px);font-weight:600;line-height:1.25}
.ac-it span{font-size:var(--t-xs,13px);color:var(--ink-2,#555)}
.ac-it span[hidden]{display:none}
.ac-it .ac-pr{font-size:var(--t-base,16px);color:#000;font-weight:600}
.ac-tot{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 0;border-top:var(--fina);border-bottom:var(--fina);font-size:var(--t-base,16px)}
.ac-tot b{font-size:var(--t-md,20px);font-weight:700}
.ac-h3{margin:6px 0 0;font-size:var(--t-base,16px)!important;font-weight:700;text-align:center}
.ac-sug{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ac-p{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;color:#000;text-decoration:none;text-align:center}
.ac-p:nth-child(n+3){display:none}
.ac-pic{display:block;width:100%;aspect-ratio:1/1;border-radius:14px;border:var(--fina);overflow:hidden}
.ac-pic img{display:block;width:100%;height:100%;object-fit:contain}
.ac-pn{font-size:var(--t-xs,13px);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ac-p b{font-size:var(--t-base,16px);font-weight:600}

/* Botones con el texto centrado y sin tanto aire a los costados (Emmanuel, 2026-10-15): las opciones de la ficha
   (Algodón / Poliéster, "La quiero en 4 días…") del ancho de la más larga, centradas y con la letra de 18 px; las
   solapas también angostas y centradas. */
.pp-info .opts,.pp-info .opts.opts-stack{width:fit-content!important;min-width:220px;max-width:100%!important;margin-inline:auto!important}
.pp-info .opts button,.pp-info .opts-stack button{justify-content:center!important;text-align:center!important;padding:10px 32px!important;font-size:18px!important;line-height:1.2!important;white-space:normal!important}
@media(max-width:400px){.pp-info .opts button,.pp-info .opts-stack button{padding-inline:20px!important}}
.sol{width:min(100%,320px);margin-inline:auto}
.sol-tog{grid-template-columns:24px minmax(0,1fr) 24px!important;text-align:center!important}
.sol-v{grid-column:2!important;align-items:center;text-align:center}
.sol-ch{grid-column:3!important}
.sol-list .sz button,.sol-list .cd-ship-opts button,.sol-list .cd-ret-opts button{align-items:center!important;text-align:center!important;padding-inline:44px!important}

/* Ficha: todos los botones uno debajo del otro, del mismo ancho y con el texto centrado (Emmanuel, 2026-10-15: "no me
   dejes texto clickeable"). "Pedir por WhatsApp" y "Precio por cantidad" pasan a ser botones, en el verde de WhatsApp. */
.pp-info .opts,.pp-info .opts.opts-stack,.pp-info .sizes .sol,.pp-info .sz-guia,.pp-info .sz-more,.pp-buy .btn,.pp-alt a{width:min(100%,320px)!important;min-width:0!important;max-width:100%!important;margin-inline:auto!important}
.pp-info .opts button,.pp-info .opts-stack button{width:100%!important}
.pp-alt{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important}
.pp-alt a,.pp-alt .pp-wa{display:flex!important;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 20px;border:1px solid #1f7a45;border-radius:14px;background:#fff;color:#1f7a45!important;font-size:18px!important;font-weight:700;line-height:1.2;text-align:center;text-decoration:none!important}

/* Talles: al abrir la solapa, cada talle con su círculo y el elegido con el punto negro (Emmanuel, 2026-10-15), en vez de la tilde. */
.sol-list .sz button::before{content:"";position:absolute;right:16px;top:50%;width:20px;height:20px;margin-top:-11px;border:1.5px solid #000;border-radius:50%;background:#fff;box-sizing:border-box}
.sol-list .sz button[aria-checked="true"]::after{right:21px;width:10px;height:10px;margin-top:-6px;border:0;border-radius:50%;background:#000;transform:none}
.pp-info .sizes .sol-list .sz button[aria-checked="true"]{background:#f5f5f7!important;border-color:transparent!important;border-bottom:var(--fina)!important;color:#000!important}
.pp-info .sizes .sol-list .sz button[aria-checked="true"]:last-child{border-bottom:0!important}

/* Talles otra vez en cuadraditos, como en Megsie (Emmanuel, 2026-10-15): una fila de cinco, del ancho de los botones de
   la ficha; el elegido en negro con letra blanca. */
.pp-info .sizes .sz{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;width:min(100%,320px)!important;margin-inline:auto!important}
.pp-info .sizes .sz button{height:48px!important;min-height:48px!important;padding:0!important;border:var(--fina)!important;border-radius:12px!important;background:#fff!important;color:#000!important;font:600 var(--t-base,16px)/1 var(--font-body)!important}
.pp-info .sizes .sz button[aria-checked="true"]{background:#000!important;border-color:#000!important;color:#fff!important}

/* Ficha: el color ("Color: Blanca" y las bolitas) centrado, en la misma columna que los botones (Emmanuel, 2026-10-15). */
.pp-info .colors{align-items:center!important;text-align:center!important}
.pp-info .colors .sz-l{align-self:center!important;text-align:center!important}
.pp-info .colors .cl{justify-content:center!important;width:min(100%,340px)!important;margin-inline:auto!important}

/* ===== Galería de trabajos reales (Emmanuel, 2026-10-15; intent/2026-10-15-galeria.md). Las fotos en cuadrado
   redondeado como las tarjetas de la tienda, blanco puro, líneas finas y botones negros; el corazón en negro. ===== */
.gl{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}
.gl-head{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.gl-head h1{margin:0;font-weight:500;font-size:clamp(28px,7vw,40px);line-height:1.15;letter-spacing:-.025em;text-wrap:balance}
.gl-head p{margin:0;max-width:34em;color:var(--ink-2,#555);font-size:var(--t-base,16px);line-height:1.5}
.gl-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.gl-cats button{min-height:44px;padding:0 18px;border:var(--fina);border-radius:999px;background:#fff;color:#000;font:500 var(--t-base,16px) var(--font-body);cursor:pointer}
.gl-cats button[aria-pressed="true"]{background:#000;border-color:#000;color:#fff}
/* De a 3 también en el celular (Emmanuel, 2026-10-18: "pedí fila de 3"), como el muro de Instagram: menos espacio
   y esquinas más chicas para que la foto se vea grande. */
.gl-muro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
@media(max-width:639px){.gl-muro .gl-pic{border-radius:14px}.gl-pie{padding:0 2px}}
@media(min-width:640px){.gl-muro{gap:14px}}
@media(min-width:1000px){.gl-muro{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}
.gl-it{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0}
/* Compartir en cada foto del muro, como el de la ficha pero más chico; la zona para tocar sigue siendo de 44 px. */
.gl-sh{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#201e1d;box-shadow:0 2px 8px rgba(32,30,29,.14);cursor:pointer}
.gl-sh::after{content:"";position:absolute;inset:-6px}
.gl-sh svg{width:16px;height:16px}
.gl-sh[hidden]{display:none}
.gl-muro .gl-pie{gap:2px}
.gl-muro .gl-gusta{position:relative;min-width:0}
.gl-muro .gl-gusta::after{content:"";position:absolute;inset:0 -6px}
.gl-muro .gl-pie span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;color:#000}
.gl-it[hidden]{display:none}
.gl-pic{display:block;width:100%;aspect-ratio:1/1;padding:0;border:0;border-radius:var(--r,24px);overflow:hidden;background:var(--gris-foto,#f2f1ef);cursor:pointer}
.gl-pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease-out}
@media(hover:hover){.gl-pic:hover img{transform:scale(1.03)}}
.gl-pie{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px}
.gl-pie span{font-size:var(--t-xs,13px);color:var(--ink-2,#555)}
.gl-gusta{display:inline-flex;align-items:center;gap:4px;min-width:44px;min-height:44px;justify-content:flex-end;padding:0;border:0;background:none;color:#000;font:600 var(--t-xs,13px) var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent}
.gl-gusta svg{width:22px;height:22px;fill:none;stroke:#000;stroke-width:1.8;stroke-linejoin:round;transition:transform .15s ease-out}
.gl-gusta[aria-pressed="true"] svg{fill:#ff3040;stroke:#ff3040}
.gl-gusta:active svg{transform:scale(.85)}
.gl-gusta b{font-weight:600;min-width:1ch}
.gl-mas[hidden]{display:none!important}
.gl-fin{margin:12px 0 0!important}
.gl-fin h2{margin:0}
/* La foto grande: sube desde abajo en el celular, centrada en la compu (como la guía de talles). */
.gl-bg{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.5)}
.gl-ver{position:fixed;left:0;right:0;bottom:0;z-index:91;display:flex;flex-direction:column;gap:10px;max-height:96vh;max-height:96dvh;overflow-y:auto;padding:8px 16px max(16px,env(safe-area-inset-bottom));background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -8px 32px rgba(0,0,0,.16)}
@media(min-width:768px){.gl-ver{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(560px,92vw);border-radius:20px;padding:8px 20px 20px}}
@media (prefers-reduced-motion:no-preference){.gl-ver{animation:ac-up .22s ease-out}}
.gl-ver[hidden],.gl-bg[hidden]{display:none!important}
.gl-ver-top{display:flex;justify-content:flex-end}
.gl-x{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;font-size:28px;line-height:1;color:#000;cursor:pointer}
.gl-fotos{position:relative}
.gl-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r,24px);background:var(--gris-foto,#f2f1ef)}
.gl-strip::-webkit-scrollbar{display:none}
.gl-strip img{flex:0 0 100%;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;scroll-snap-align:start}
.gl-fotos .sl-btn{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#000;font-size:24px;line-height:1;box-shadow:0 1px 6px rgba(0,0,0,.15);cursor:pointer}
.gl-fotos .prev{left:10px}.gl-fotos .next{right:10px}
.gl-fotos .sl-btn:disabled{opacity:0;pointer-events:none}
.gl-fotos .sl-btn[hidden],.gl-dots[hidden]{display:none}
/* Compartir el trabajo (Emmanuel, 2026-10-16): el mismo botón redondo de la ficha, arriba a la derecha de la foto. */
.gl-fotos .pp-share{z-index:2}
.gl-fotos .pp-share[hidden]{display:none}
.gl-dots{display:flex;justify-content:center;gap:4px}
.gl-dots button{width:24px;height:24px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.gl-dots button::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#c9c7c4}
.gl-dots button[aria-current="true"]::after{background:#000}
.gl-ver-pie{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gl-t{margin:0;font-size:var(--t-base,16px)!important;font-weight:600;line-height:1.3}
.gl-gusta-g svg{width:26px;height:26px}
.gl-gusta-g{font-size:var(--t-base,16px)}
.gl-cats button[aria-pressed="true"]{color:#fff!important}
.gl-cats button{padding:0 14px!important}
/* Comprar en la foto grande (Emmanuel, 2026-10-16): tiempo de entrega y Agregar al carrito (solo en blanco, sin
   elegir color), con el botón siempre a la vista abajo de la hoja. */
.gl-buy{padding-top:6px}
.gl-buy[hidden]{display:none!important}
.gl-ver .gl-comprar{padding:8px 0 0;margin-bottom:-4px;background:linear-gradient(to top,#fff 80%,rgba(255,255,255,0))}
/* "¿Necesitás merchandising?": la tarjeta verde con la imagen de Megs y Consultar por WhatsApp. */
.gl-merch{margin:0!important}
.gl-merch h2{margin:0 auto 18px!important;white-space:normal!important;text-wrap:balance}
.gl-merch img{display:block;width:100%;max-width:760px;height:auto;margin:0 auto;border-radius:18px}
/* Ficha que viene de "Lo quiero" de la galería: el diseño elegido debajo del título, con la × para quitarlo. */
.pp-dz{display:flex;align-items:center;gap:12px;width:min(100%,320px);margin:4px auto 0;padding:8px 8px 8px 8px;border:var(--fina);border-radius:14px;background:#fff}
.pp-dz img{flex:none;width:64px;height:64px;object-fit:cover;border-radius:10px}
.pp-dz span{flex:1;font-size:var(--t-base,16px);font-weight:600;line-height:1.3}
.pp-dz-x{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:#000;font-size:26px;line-height:1;cursor:pointer}

/* ===== Guía de talles (Emmanuel, 2026-10-16): página propia /talles/ con las pestañas de la guía de la ficha, la
   tabla de cada corte y "Ver remeras". Angosta y centrada, como el resto de las páginas. ===== */
.tl{display:flex;flex-direction:column;gap:16px;max-width:560px;padding-bottom:40px}
.tl-h2{margin:8px 0 0;font-size:var(--t-lg,20px);font-weight:600;text-align:center}
.tl .gt-p img{border-radius:var(--r,24px)}
.tl .gt-n{text-align:center}
.tl-ver{display:flex!important;width:min(100%,320px)!important;min-height:48px;margin-inline:auto!important;padding:10px 32px!important;font-size:18px!important;justify-content:center}
.cl button[hidden]{display:none!important}
/* El globito "Asistente de compra" de Megsie se guarda suave a los 8 segundos (Emmanuel, 2026-10-16). */
.mg-tag{transition:opacity .3s ease-out,transform .3s ease-out}
.mg-tag.mg-tag-chau{opacity:0;transform:translateX(8px)}
@media (prefers-reduced-motion:reduce){.mg-tag{transition:none}}

/* ===== La Feria (intent/2026-10-18-feria.md): piezas únicas. El color, solo en el bloque (el cartel del inicio). ===== */
.fe{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}
.fe-grid{margin:0}
.fe .card s.antes,.pp-unica s{color:var(--ink-2,#555);font-size:var(--t-xs,13px)}
.fe .card .info{gap:2px}
.pp-unica{margin:4px 0 0;color:#000;font-weight:500}
.fe-vacia{display:flex;flex-direction:column;gap:4px;margin:0;text-align:center;color:var(--ink-2,#555)}
.fe-vacia b{color:#000;font-size:var(--t-l,20px);font-weight:600}
.fe-vacia[hidden]{display:none}
.fe-ver{align-self:center}
/* El cartel de la Feria en el inicio: el verde de la tienda (Emmanuel, 2026-10-18) y una flecha que dice "se toca". */
.fe-ban{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:18px 20px;border-radius:var(--r,24px);background:var(--p-mint,#e4f4ea)!important;color:#000;text-decoration:none}
.fe-ban-tx{display:flex;flex-direction:column;gap:4px;min-width:0}
.fe-ban b{font-size:var(--t-l,20px);line-height:1.2}
.fe-ban-tx span{line-height:1.5}
.fe-ban .fe-ban-ver{font-weight:600}
.fe-ban-ir{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#000;color:#fff}
.fe-ban-ir svg{display:block;width:20px;height:20px;fill:none!important;stroke:#fff!important;stroke-width:2.2}
/* El banner de la Feria de ofertas: ya trae su fondo blanco, así que va sin borde, sin esquinas y sin sombra. */
.fe-head{gap:12px}
.fe-h1{margin:0;width:100%;line-height:0}
.fe-banner{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
/* Firma del pie (Emmanuel, 2026-10-19): quién hizo el sitio, como lo ponen las empresas: chica, gris y con link. */
.foot .firma{margin-top:4px!important;opacity:.75}
.foot .firma a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}
/* "Sin stock" en la tarjeta: una etiqueta blanca y negra arriba de la foto, y la foto un poco más apagada. */
.card .card-sin{position:absolute;top:10px;left:10px;z-index:2;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid #000;color:#000;font-size:var(--t-xs,13px);font-weight:600;line-height:1.4;pointer-events:none}
.card.agotada .pic img:not(.alt){opacity:.55}

/* Colecciones (intent/2026-10-22-colecciones.md): el encabezado lleva el ícono de la colección, chico, arriba del título. */
.col-head{text-align:center}
.col-head .col-ic{width:96px;height:96px;border-radius:22px;display:block;margin:0 auto 12px;object-fit:cover}

/* Sin líneas grises en el pie (Emmanuel, 2026-10-22): ni arriba del pie ni arriba de los links legales. */
footer.foot{border-top:0!important}
.flegal{border-top:0!important}
/* Startups: la tarjeta "¿Necesitás merchandising?" al final de la colección (Emmanuel, 2026-10-22). */
.col-merch{margin-top:40px!important}
/* Las colecciones sin productos dicen "Próximamente" pero se pueden tocar (llevan a su página). */
a.cat-pronto{cursor:pointer}
/* Carteles del inicio con foto entera ("cubrir"): la foto se ve natural, sin mezclarse con el color del cartel
   (Emmanuel, 2026-10-22: el verde de "mint" le daba un filtro verdoso). La mezcla queda para las fotos recortadas. */
.hero-pic.pic-cover img,.slide .pic-cover img{mix-blend-mode:normal!important}
