:root{--ink:#281f28;--muted:#716772;--paper:#fffafb;--blush:#fbe7ed;--rose:#d94f82;--rose-dark:#b73567;--rose-deep:#9c2c57;--focus:0 0 0 3px var(--paper),0 0 0 5px var(--rose-dark);--line:#eadce1;--soft:#f7f1f3;--shadow:0 20px 50px rgba(65,26,43,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 'DM Sans',sans-serif}.wrap{max-width:1180px;margin:auto;padding-left:24px;padding-right:24px}.age-gate{position:fixed;inset:0;z-index:100;background:rgba(36,22,31,.8);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.age-gate.hidden{display:none}.age-card{max-width:460px;text-align:center;background:var(--paper);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.age-card img{width:104px;height:104px;object-fit:cover;border-radius:50%;margin-bottom:10px}.age-card h1,.hero h1,h2,.product-page-copy h1{font-family:'Playfair Display',serif;line-height:1.1}.age-card h1{font-size:30px;margin:8px 0}.age-card small{color:var(--muted);display:block;margin-top:20px}.gate-actions{display:flex;gap:10px;margin:22px 0 4px;justify-content:center}.announcement{background:var(--ink);color:#fff6f8;padding:9px 16px;text-align:center;font-size:12px;font-weight:600;letter-spacing:.04em}.header{height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:block;border-radius:8px;padding:4px}.brand-logo{display:flex;flex-direction:column;align-items:center;gap:6px}.brand-mark,.brand-word{display:block;background:url("/assets/logo love 2.jpeg") no-repeat;background-size:calc(612px*var(--s)) calc(603px*var(--s));mix-blend-mode:multiply}.brand-mark{--s:.13;width:calc(332px*var(--s));height:calc(320px*var(--s));background-position:calc(-142px*var(--s)) calc(-84px*var(--s))}.brand-word{--s:.34;width:calc(553px*var(--s));height:calc(67px*var(--s));background-position:calc(-26px*var(--s)) calc(-428px*var(--s))}.header nav{display:flex;gap:26px}.header a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600}.cart-button,.filter-toggle{border:1px solid var(--ink);background:transparent;border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:700;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.cart-button:hover,.filter-toggle:hover{transform:translateY(-1px)}.cart-button:active,.filter-toggle:active{transform:scale(.97)}.cart-button span{background:var(--rose-dark);color:white;border-radius:50%;display:inline-grid;place-items:center;margin-left:4px;width:19px;height:19px;font-size:11px;transition:transform .25s ease}.cart-button span.cart-bump{animation:cartBump .42s ease}.hero{min-height:600px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;padding-top:42px;padding-bottom:70px}.eyebrow{color:var(--rose-dark);font-size:11px;font-weight:700;letter-spacing:.14em;margin:0 0 12px}.hero h1{font-size:clamp(46px,6vw,76px);letter-spacing:-.04em;margin:0}.hero h1 em{color:var(--rose);font-weight:600}.lead{max-width:500px;color:var(--muted);font-size:18px;margin:24px 0}.hero-actions{display:flex;align-items:center;gap:22px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:12px 21px;border-radius:999px;border:0;text-decoration:none;cursor:pointer;font-weight:700;font:inherit;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}.btn:active{transform:scale(.97)}.btn.primary{background:var(--rose-dark);color:#fff;box-shadow:0 8px 18px rgba(183,53,103,.2)}.btn.primary:hover{background:var(--rose-deep)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.primary.btn-pulse,.add.btn-pulse{animation:ctaPulse .45s ease}.btn.ghost{border:1px solid var(--line);color:var(--ink);background:transparent}.text-link{font-weight:700;color:var(--ink);text-decoration:none}.text-link span{color:var(--rose);font-size:21px}.trust-mini{display:flex;flex-wrap:wrap;gap:11px 18px;color:var(--muted);font-size:12px;margin-top:42px}.trust-mini span:before{content:'✦';color:var(--rose);padding-right:5px}.hero-art{height:450px;position:relative;display:grid;place-items:center}.blob{position:absolute;width:390px;height:390px;border-radius:44% 56% 60% 40%/47% 43% 57% 53%;background:var(--blush);transform:rotate(-12deg)}.hero-art img{z-index:1;width:min(100%,420px);height:420px;object-fit:contain;mix-blend-mode:multiply}.promo-strip{display:flex;gap:16px;overflow:auto;background:#f4d9e2;padding:19px max(24px,calc((100vw - 1132px)/2));scrollbar-width:none}.promotion{background:rgba(255,255,255,.48);padding:13px 17px;border-radius:14px;min-width:290px;flex:1}.promotion strong{display:block;font-family:'Playfair Display',serif;font-size:17px}.promotion span{font-size:13px;color:#6c4352}.catalog{padding-top:90px;padding-bottom:94px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-title h2,.about h2{font-size:42px;margin:0}.filters{display:flex;gap:9px;overflow:auto;padding:30px 0 18px;scrollbar-width:none}.filter{border:1px solid var(--line);color:var(--muted);border-radius:999px;background:white;padding:9px 14px;white-space:nowrap;cursor:pointer;font:inherit;font-size:13px;position:relative;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .18s ease}.filter:hover{transform:translateY(-1px);border-color:#d9b7c3;color:var(--ink)}.filter.active{background:var(--ink);color:white;border-color:var(--ink)}.filter.active::after{content:'';position:absolute;left:18%;right:18%;bottom:-7px;height:2px;border-radius:999px;background:var(--rose);opacity:.9}.catalog-toolbar{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:18px}.catalog-toolbar select{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{position:relative;background:white;border:1px solid var(--line);border-radius:19px;overflow:hidden;animation:cardIn .5s cubic-bezier(.16,1,.3,1) backwards;animation-delay:var(--delay,0ms);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.product-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(65,26,43,.08);border-color:#e4c4d0}.product-card button{font:inherit}.product-image{width:100%;aspect-ratio:1;display:block;border:0;padding:0;background:#fff8fa;cursor:pointer}.product-image img{width:100%;height:100%;object-fit:contain;padding:15px;mix-blend-mode:multiply;transition:transform .35s ease}.product-card:hover .product-image img{transform:scale(1.04)}.stock-badge{position:absolute;top:11px;left:11px;background:white;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;color:var(--rose-dark)}.product-info{padding:0 15px 15px}.product-brand{font-size:11px;color:var(--rose-dark);font-weight:700;letter-spacing:.04em;margin:0}.product-info h3{font-size:16px;line-height:1.25;margin:4px 0 8px}.product-info h3 button{border:0;background:none;padding:0;text-align:left;cursor:pointer;font-weight:700;color:inherit}.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:7px}.price{font-weight:700;font-size:15px}.price.compare{color:var(--muted);font-size:11px;text-decoration:line-through;margin-left:4px}.price.unset{color:var(--muted);font-weight:600;font-size:12px}.add{width:33px;height:33px;border-radius:50%;border:0;background:var(--ink);color:white;font-size:20px;cursor:pointer;transition:transform .18s ease,background .18s ease}.add:hover{background:var(--rose)}.add:active{transform:scale(.9)}.add:disabled{opacity:.35;cursor:not-allowed}.confidence{background:var(--ink);color:white;padding:72px 0}.confidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.confidence article span{color:#f6a6c1;font-size:26px}.confidence h3{font-family:'Playfair Display',serif;font-size:24px;margin:10px 0 5px}.confidence p{color:#cfbfc6;max-width:270px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:90px;padding-bottom:90px}.about>p{font-size:18px;color:var(--muted);max-width:460px}.about h2{max-width:510px}footer{background:#f5e9ed;text-align:center;padding:46px 24px 32px}footer img{width:96px;height:96px;object-fit:contain;mix-blend-mode:multiply}footer p,footer small{display:block;color:var(--muted);margin:9px}footer a{font-size:12px;color:var(--rose-dark);text-decoration:none}.overlay{position:fixed;inset:0;background:rgba(31,18,25,.36);z-index:20;opacity:0;pointer-events:none;transition:.2s}.overlay.show{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;z-index:30;top:0;right:0;width:min(420px,100%);height:100dvh;background:var(--paper);padding:25px;transform:translateX(105%);transition:.3s;display:flex;flex-direction:column;box-shadow:var(--shadow)}.cart-drawer.show{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:17px}.drawer-head h2{margin:0;font-size:31px}.close{font-size:30px;line-height:1;border:0;background:none;cursor:pointer;color:var(--ink)}.cart-lines{flex:1;overflow:auto;padding:12px 0}.cart-line{display:grid;grid-template-columns:63px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.cart-line img{width:63px;height:63px;object-fit:contain;background:#fff7f9}.cart-line h3{font-size:14px;margin:0}.cart-line p{font-size:13px;font-weight:700;margin:2px 0}.quantity{display:flex;gap:8px;align-items:center}.quantity button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:50%;width:32px;height:32px;font:inherit;cursor:pointer;transition:transform .15s ease}.quantity button:active{transform:scale(.9)}.cart-footer{border-top:1px solid var(--line);padding-top:17px}.total{display:flex;justify-content:space-between;font-size:18px;margin-bottom:15px}.full{width:100%}.cart-footer small,.form-note{color:var(--muted);font-size:12px;text-align:center;display:block;margin-top:10px}.checkout-dialog{border:0;border-radius:24px;padding:0;width:min(520px,calc(100vw - 32px));box-shadow:var(--shadow);color:var(--ink)}.checkout-dialog::backdrop{background:rgba(31,18,25,.58);backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:14px;top:14px;z-index:2;background:white;border-radius:50%;width:37px;height:37px}.detail-image{background:#fff7f9;min-height:390px}.detail-image img,#detailPrimaryImage{width:100%;height:100%;object-fit:contain;padding:24px;mix-blend-mode:multiply}.detail-copy{padding:48px 36px}.detail-copy h2,.product-page-copy h1{font-size:34px;margin:4px 0 13px}.detail-copy .description,.product-page-copy .description{color:var(--muted);white-space:pre-wrap}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:21px 0}.tags span{background:var(--blush);color:var(--rose-dark);font-size:12px;padding:5px 9px;border-radius:999px}.checkout{padding:38px;max-width:510px;margin:auto}.checkout h2{font-size:34px;margin:0 0 5px}.checkout>p{color:var(--muted)}.checkout form{display:grid;gap:13px;margin-top:22px}.checkout label{font-size:13px;font-weight:700;display:grid;gap:5px}.checkout input:not([type=checkbox]),.checkout textarea{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:11px;background:white;transition:border-color .18s ease}.checkout input:not([type=checkbox]):hover,.checkout textarea:hover{border-color:#d9b7c3}.checkout input:not([type=checkbox]):focus-visible,.checkout textarea:focus-visible,.variant-label select:focus-visible{outline:0;border-color:var(--rose-dark);box-shadow:0 0 0 3px rgba(183,53,103,.16)}.checkout input::placeholder{color:var(--muted)}.checkout textarea{resize:vertical;min-height:65px}.checkout .check{display:flex;align-items:center;gap:7px;font-weight:500}.toast{position:fixed;z-index:120;bottom:24px;left:50%;transform:translate(-50%,12px);background:var(--ink);color:white;padding:12px 18px;border-radius:999px;box-shadow:var(--shadow);font-size:13px;opacity:0;transition:opacity .25s ease,transform .25s ease}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.toast-success{background:linear-gradient(135deg,#3d2a35,#b73567)}.empty{color:var(--muted);padding:40px 0;text-align:center;grid-column:1/-1}
.is-hidden-route{display:none!important}.product-page{padding-top:28px;padding-bottom:90px;animation:pageIn .4s ease}.product-page.hidden{display:none}.back-to-catalog{border:0;background:none;color:var(--rose-dark);font:inherit;font-weight:700;cursor:pointer;padding:0;margin-bottom:22px;transition:transform .18s ease,opacity .18s ease}.back-to-catalog:hover{opacity:.8;transform:translateX(-2px)}.product-page-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:start;background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 18px 40px rgba(65,26,43,.06)}.product-page-image{min-height:460px}.product-page-copy{padding:42px 36px 42px 8px}.product-page-price{margin:8px 0 18px}.product-page-price .price{font-size:22px}.success-actions{display:grid;gap:10px;margin-top:22px}.checkout-success{position:relative;overflow:hidden;animation:pageIn .45s ease}.checkout-success h2{color:var(--rose-dark)}.success-burst{position:absolute;inset:auto auto -40px -40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(217,79,130,.22),transparent 70%);pointer-events:none;animation:softGlow 2.4s ease infinite alternate}.wa-confirm{background:#25D366!important;box-shadow:0 10px 20px rgba(37,211,102,.25)}.wa-confirm:hover{background:#1ebe57!important}.wa-fallback{background:var(--blush);color:var(--rose-dark);border-radius:12px;padding:12px 14px;font-size:13px;margin:8px 0 0}
@keyframes cardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes ctaPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.92}100%{transform:scale(1);opacity:1}}
@keyframes cartBump{0%{transform:scale(1)}40%{transform:scale(1.02)}100%{transform:scale(1)}}
@keyframes softGlow{from{opacity:.4}to{opacity:.7}}
@media(max-width:800px){.header nav{display:none}.header{height:74px}.brand-mark{--s:.1}.brand-word{--s:.29}.brand-logo{gap:4px}.hero{grid-template-columns:1fr;padding-top:35px;gap:18px}.hero-art{height:300px;grid-row:1}.hero-art img{height:300px}.blob{width:275px;height:275px}.hero h1{font-size:49px}.product-grid{grid-template-columns:repeat(2,1fr);gap:12px}.catalog{padding-top:62px}.section-title h2,.about h2{font-size:35px}.confidence-grid,.about,.product-page-grid{grid-template-columns:1fr;gap:21px}.confidence{padding:50px 0}.about{padding-top:55px;padding-bottom:55px}.product-page-image{min-height:280px}.product-page-copy{padding:24px}.gate-actions{flex-direction:column}.age-card{padding:25px}.trust-mini{margin-top:27px}.filter-toggle{display:none}}@media(max-width:370px){.product-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.hero-actions{align-items:flex-start;flex-direction:column}}
.hidden-link{display:none}.hidden-link.show{display:inline}.gallery-thumbs{display:flex;justify-content:center;gap:7px;padding:0 16px 16px}.gallery-thumbs button{width:47px;height:47px;padding:2px;background:white;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .18s ease,transform .18s ease}.gallery-thumbs button:hover{transform:translateY(-1px)}.gallery-thumbs button.selected{border:2px solid var(--rose)}.gallery-thumbs img{padding:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.gate-admin{display:inline-block;color:var(--rose-dark);font-size:12px;font-weight:700;text-decoration:none;margin-top:14px}.gate-admin span{font-size:16px}.nav-admin{color:var(--rose-dark)!important;border-left:1px solid var(--line);padding-left:18px}
.variant-label{font-size:12px;font-weight:700;display:grid;gap:6px;margin:18px 0}.variant-label select{font:inherit;border:1px solid var(--line);border-radius:9px;padding:10px;background:white;color:var(--ink)}.cart-line .muted{color:var(--muted);font-size:11px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.payment-return{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,var(--blush),var(--paper))}.payment-card{max-width:480px;width:100%;text-align:center;background:var(--paper);border-radius:28px;padding:34px;box-shadow:var(--shadow)}.payment-logo{width:96px;height:96px;object-fit:cover;border-radius:50%;margin-bottom:8px}.payment-card h1{font-family:'Playfair Display',serif;line-height:1.1;font-size:30px;margin:8px 0}.payment-card p{color:var(--muted)}.payment-total{font-weight:700;color:var(--ink)!important}.payment-card .hidden{display:none}body[data-payment-status=pagado] .payment-card h1{color:#1e7d4b}body[data-payment-status=rechazado] .payment-card h1,body[data-payment-status=cancelado] .payment-card h1{color:var(--rose-dark)}

::selection{background:var(--blush);color:var(--ink)}body{accent-color:var(--rose-dark);caret-color:var(--rose-dark)}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible,.product-image:focus-visible{outline:0;box-shadow:var(--focus)}.product-card:focus-within{border-color:#e4c4d0}.btn:focus-visible,.btn.primary:focus-visible,.add:focus-visible{box-shadow:var(--focus)}
.legal-wrap{max-width:760px;margin:40px auto 80px;padding:0 24px}.legal-wrap h1{font-family:'Playfair Display',serif;font-size:36px;margin:0 0 8px}.legal-wrap .badge{display:inline-block;background:var(--blush);color:var(--rose-dark);font-size:11px;font-weight:700;letter-spacing:.06em;padding:6px 10px;border-radius:999px;margin-bottom:18px}.legal-wrap h2{font-size:20px;margin:28px 0 8px}.legal-wrap p,.legal-wrap li{color:var(--muted);font-size:15px;line-height:1.6}.legal-wrap .eyebrow{color:var(--rose-dark)}.legal-wrap ul{padding-left:1.2em}.legal-back{display:inline-block;margin:24px;font-weight:700;color:var(--rose-dark);text-decoration:none}.legal-footer-links{display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:center;margin-top:14px}.legal-footer-links a{font-size:12px;color:var(--rose-dark);text-decoration:none}
/* Objetivos táctiles de al menos 44 px (filtros, agregar, orden, bolsa, cantidades, cerrar y enlaces). */
.filter,.cart-button,.catalog-toolbar select,.filter-toggle{min-height:44px}.add{width:44px;height:44px;flex:0 0 44px}.quantity button{width:44px;height:44px}.close{min-width:44px;min-height:44px}.dialog-close{width:44px;height:44px}.product-info h3 button{min-height:44px;display:flex;align-items:center}.header nav a,.hero-actions .text-link:not(.hidden-link),.hero-actions .hidden-link.show,footer a,.legal-back,.legal-footer-links a{display:inline-flex;align-items:center;min-height:44px}.checkout .check input{width:22px;height:22px}.checkout .check{min-height:44px}
/* Tablet (601–800 px): catálogo en 3 columnas y hero en dos columnas, sin la imagen gigante encima. */
@media(min-width:601px) and (max-width:800px){.product-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1.1fr .9fr;gap:24px;padding-top:28px;padding-bottom:48px}.hero-art{grid-row:auto;height:320px}.hero-art img{height:300px}.blob{width:260px;height:260px}.hero h1{font-size:46px}.hero-actions{flex-wrap:wrap;gap:12px 18px}.hero-actions .btn{white-space:nowrap}}
/* Celular: acciones del hero apiladas; el botón principal a lo ancho y en una sola línea. */
@media(max-width:480px){.hero-actions{flex-direction:column;align-items:stretch;gap:14px}.hero-actions .btn{width:100%;white-space:nowrap}.hero-actions .text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px}.hero-actions .text-link.hidden-link{display:none}.hero-actions .text-link.hidden-link.show{display:inline-flex}}

/* ===== Ficha, bolsa y pago (diseño "Ficha de producto", "Carrito" y "Checkout" de Claude Design) ===== */
.store-page{padding-top:28px;padding-bottom:56px;min-height:60vh;animation:pageIn .4s ease}
.store-page.hidden{display:none}
.page-title{font-family:'Playfair Display',serif;font-size:36px;line-height:1.1;margin:0}
.page-intro{margin:10px 0 0}
.back-to-catalog{display:inline-flex;align-items:center;min-height:44px;margin-bottom:8px;text-decoration:none}
.muted{color:var(--muted)}
.quantity button{width:44px;height:44px;font-size:18px;color:var(--ink)}
.quantity span{min-width:24px;text-align:center;font-weight:700}
/* Ficha */
.product-page .product-brand{margin:0}
.product-page-copy h1{font-size:30px}
.product-page-price{margin:0 0 12px}
.product-page-price .price{font-size:22px}
.qty-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0 16px}
.qty-row>span{font-size:13px;font-weight:700}
.buy-button{min-height:52px}
.view-cart{margin-top:10px;min-height:48px}
.trust-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:8px;color:var(--muted);font-size:13px}
.trust-list li:before{content:'✦';color:var(--rose);padding-right:6px}
.gallery-thumbs button{width:56px;height:56px}
.related{padding-top:48px}
.related h2{font-size:30px;margin:0 0 20px}
.related-grid .product-card{animation:none}
/* Bolsa */
.bag-layout,.pay-layout{display:grid;grid-template-columns:1fr;gap:24px;align-items:start;margin-top:24px}
.bag-lines{border-top:1px solid var(--line)}
.bag-line{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
.bag-thumb{width:76px;height:76px;object-fit:contain;background:#fff7f9;border-radius:14px;mix-blend-mode:multiply}
.bag-info h3{font-size:15px;margin:2px 0}
.bag-info p{margin:0 0 2px;font-size:13px}
.bag-info .quantity{margin-top:8px}
.bag-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;align-self:stretch;gap:8px}
.remove-line{min-height:44px;border:0;background:none;color:var(--rose-dark);font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:0 4px}
.remove-line:hover{color:var(--rose-deep)}
.summary-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:20px}
.summary-card h2{font-size:24px;margin:0 0 12px}
.summary-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0}
.summary-row span:first-child{color:var(--muted)}
.summary-ship{padding-bottom:14px;border-bottom:1px solid var(--line)}
.summary-ship span:last-child{text-align:right}
.summary-card .total{margin:14px 0 18px}
.summary-card .btn.primary{min-height:52px}
.continue-link{display:flex;justify-content:center;align-items:center;gap:6px;min-height:44px;margin-top:6px}
.bag-empty{text-align:center;padding:56px 0}
.bag-empty p{color:var(--muted);font-size:17px;margin:0 0 20px}
.bag-empty .btn{min-height:50px;padding-left:28px;padding-right:28px}
/* Pago */
.pay-layout #checkoutSummary{order:-1}
.summary-line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.summary-line img{width:56px;height:56px;object-fit:contain;background:#fff7f9;border-radius:12px;mix-blend-mode:multiply}
.summary-line p{margin:0;font-size:12px}
.summary-line .summary-name{font-size:14px;font-weight:700;line-height:1.3}
.summary-line strong{font-size:14px}
.pay-layout .summary-ship{padding-top:12px}
.checkout.pay-form{padding:0;max-width:none;margin:0}
.pay-form form{margin-top:0}
.pay-form h2{font-size:22px;margin:0}
.pay-form h2:not(:first-child){margin-top:14px}
.pay-form input:not([type=checkbox]),.pay-form textarea{min-height:48px;font-size:16px}
.field-pair{display:grid;grid-template-columns:1fr;gap:13px}
.consents{display:grid;gap:2px;margin-top:4px}
.pay-form .check{min-height:44px;font-size:14px;font-weight:500}
.pay-form .check input{width:20px;height:20px;flex:none}
.pay-button{min-height:52px}
.pay-form .form-note{margin-top:0;font-size:12px}
.result-card{max-width:560px;margin:24px auto 0;background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px 24px;text-align:center}
@media(min-width:601px){
  .page-title{font-size:44px}
  .product-page-grid{grid-template-columns:1fr 1fr;gap:24px}
  .product-page-copy{padding:32px 28px 32px 4px}
  .product-page-copy h1{font-size:32px}
  .related{padding-top:64px}.related h2{font-size:34px}
  .related-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bag-line{grid-template-columns:96px minmax(0,1fr) auto}.bag-thumb{width:96px;height:96px}
  .summary-card{padding:24px}
  .field-pair{grid-template-columns:1fr 1fr}
  .store-page{padding-top:40px;padding-bottom:72px}
}
@media(min-width:1024px){
  .page-title{font-size:48px}
  .product-page-grid{grid-template-columns:1.05fr .95fr;gap:36px}
  .product-page-copy{padding:42px 40px 42px 8px}
  .product-page-copy h1{font-size:40px}
  .related{padding-top:80px}.related h2{font-size:38px}
  .related-grid{gap:18px}
  .bag-layout{grid-template-columns:minmax(0,1fr) 380px;gap:48px}
  .bag-line{grid-template-columns:104px minmax(0,1fr) auto}.bag-thumb{width:104px;height:104px}
  .pay-layout{grid-template-columns:minmax(0,1fr) 400px;gap:56px}
  .pay-layout #checkoutSummary{order:1;position:sticky;top:24px}
  .summary-card{padding:28px}
  .store-page{padding-top:56px;padding-bottom:94px}
}

/* ===== Encabezado, portada, catálogo y pie (diseño "Encabezado", "Portada", "Catalogo" y "Pie" de Claude Design) ===== */
/* Encabezado: logo al centro; menú lateral en celular y tablet, Inicio/Tienda en escritorio. */
.header-bar{border-bottom:1px solid var(--line);background:var(--paper)}
.header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:76px}
.header-left{display:flex;align-items:center}
.header-right{display:flex;justify-content:flex-end;align-items:center}
.header .brand{justify-self:center}
.header .main-nav{display:none;gap:28px}
.header .main-nav a{display:flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;border-bottom:2px solid transparent}
.header .main-nav a:hover{color:var(--rose-dark)}
.header .main-nav a.active{border-bottom-color:var(--rose)}
.menu-toggle{width:44px;height:44px;border:0;background:transparent;border-radius:999px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.menu-toggle span{display:block;width:20px;height:1.5px;background:var(--ink);border-radius:2px}
.menu-toggle span:last-child{width:14px;transform:translateX(-3px)}
a.cart-button{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:8px 14px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:700}
.menu-overlay{position:fixed;inset:0;background:rgba(31,18,25,.36);z-index:40}
.site-menu{position:fixed;top:0;bottom:0;left:0;width:min(320px,85vw);background:var(--paper);z-index:41;box-shadow:var(--shadow);display:flex;flex-direction:column;padding:16px 20px 24px;overflow-y:auto;animation:menuIn .25s cubic-bezier(.16,1,.3,1)}
.site-menu[hidden],.menu-overlay[hidden]{display:none}
.site-menu-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}
.site-menu-head .eyebrow{margin:0}
.site-menu-head .close{width:44px;height:44px}
.site-menu-links{display:flex;flex-direction:column;padding-top:8px}
.site-menu-links a{min-height:48px;display:flex;align-items:center;justify-content:space-between;color:var(--ink);text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.site-menu-links a span{color:var(--rose)}
.site-menu-note{margin-top:auto;font-size:13px}
body.menu-open{overflow:hidden}
@keyframes menuIn{from{transform:translateX(-24px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:1024px){.menu-toggle{display:none}.header .main-nav{display:flex}.header{height:86px}.header .brand-mark{--s:.11}.header .brand-word{--s:.32}}
@media(max-width:1023px){.header{padding-left:12px;padding-right:12px}}
@media(min-width:601px) and (max-width:1023px){.header{padding-left:24px;padding-right:24px}}
/* Puerta de edad */
.age-card{padding:30px 24px}
.gate-logo{margin-bottom:14px}.gate-logo .brand-mark{--s:.16}.gate-logo .brand-word{--s:.3}
.age-card .eyebrow{margin:0}
.age-card h1{font-size:28px}
.age-card>p.muted{margin:0}
.gate-actions{flex-direction:column;gap:10px}
.gate-actions .btn{min-height:48px}
.gate-declined{color:var(--rose-dark);font-size:13px;font-weight:700;margin:12px 0 0}
/* Portada */
.hero{min-height:0}
.hero-actions .btn.primary{min-height:50px;padding-left:28px;padding-right:28px}
.hero-actions .text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px}
.home-section{padding-top:8px;padding-bottom:48px}
.home-section h2{font-size:32px;margin:0}
.home-section .section-title{margin-bottom:22px}
.home-section .section-title .text-link{display:flex;align-items:center;gap:4px;min-height:44px;font-size:14px}
.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}
.category-card{min-height:118px;background:var(--soft);border:1px solid var(--line);border-radius:19px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--ink);transition:border-color .18s ease,transform .18s ease}
.category-card:hover{border-color:#e4c4d0;transform:translateY(-2px)}
.category-text{display:flex;flex-direction:column;gap:4px}
.category-text .muted{font-size:13px}
.category-name{font-family:'Playfair Display',serif;font-size:18px;line-height:1.15;font-weight:600;text-wrap:pretty}
.category-cta{color:var(--rose-dark);font-size:13px;font-weight:700;margin-top:10px}
.category-cta span{color:var(--rose)}
.featured-grid .product-card{animation:none}
.featured-grid .product-card:nth-child(n+5){display:none}
.confidence{padding:44px 0}
.confidence-grid{gap:24px}
.product-info{padding:12px}
.product-info h3{font-size:15px;min-height:38px}
.product-desc{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.35}
.add{width:44px;height:44px;flex:none}
/* Catálogo (#/tienda) */
.shop-lead{margin:12px 0 0;font-size:16px}
.shop-page .filters{padding:24px 0 18px}
.shop-page .filter{min-height:44px;padding:10px 16px;font-size:14px}
.catalog-toolbar{align-items:center;margin-bottom:16px}
.sort-label{display:flex;align-items:center;gap:4px}
.sort-label select{min-height:44px;cursor:pointer}
.shop-page .page-title{font-size:38px}
/* Pie */
footer{padding:44px 24px 28px}
.footer-logo{margin-bottom:10px}.footer-logo .brand-mark{--s:.13}.footer-logo .brand-word{--s:.3}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0 22px;margin:14px auto 6px;max-width:640px}
.footer-links a{min-height:44px;display:flex;align-items:center;font-size:13px;font-weight:600}
footer small{margin:4px 9px}
/* Tablet */
@media(min-width:601px){
  .home-section{padding-bottom:64px}
  .home-section h2{font-size:38px}
  .category-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .category-card{min-height:150px;padding:16px}
  .confidence{padding:56px 0}
  .confidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .shop-page .page-title{font-size:46px}
  .hero-actions{flex-direction:row;align-items:center;gap:20px}
}
@media(min-width:601px) and (max-width:1023px){
  .featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .featured-grid .product-card:nth-child(n+5){display:block}
  .hero{grid-template-columns:1.05fr .95fr;padding-top:48px;padding-bottom:72px;gap:32px}
  .hero-art{grid-row:auto;order:1;height:400px}
  .hero h1{font-size:54px}
}
/* Escritorio */
@media(min-width:1024px){
  .hero{padding-top:56px;padding-bottom:90px}
  .hero h1{font-size:72px}
  .home-section{padding-bottom:88px}
  .home-section h2{font-size:42px}
  .category-grid{gap:18px}
  .category-card{min-height:170px;padding:22px}
  .category-name{font-size:22px}
  .confidence{padding:72px 0}
  .confidence-grid{gap:40px}
  .shop-page .page-title{font-size:52px}
}
@media(max-width:600px){.hero h1{font-size:44px}}
/* Campo trampa anti-bots del pago: fuera de pantalla, no visible ni enfocable. */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* ===== Asistente de chat ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.chat-launcher{position:fixed;right:16px;bottom:16px;z-index:35;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px;border:0;border-radius:999px;background:var(--ink);color:#fff;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 10px 24px rgba(40,31,40,.25);transition:transform .18s ease,background .18s ease}
.chat-launcher:hover{background:var(--rose-dark)}
.chat-launcher:active{transform:scale(.97)}
.chat-launcher[hidden]{display:none}
body.chat-open .chat-launcher{display:none}
.chat-panel{position:fixed;right:16px;bottom:16px;z-index:36;width:min(380px,calc(100vw - 32px));max-height:min(620px,calc(100dvh - 32px));display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);overflow:hidden;animation:chatIn .22s cubic-bezier(.16,1,.3,1)}
.chat-panel[hidden]{display:none}
@keyframes chatIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 16px 12px 20px;border-bottom:1px solid var(--line)}
.chat-head .eyebrow{margin:0 0 2px}
.chat-head h2{font-size:22px;margin:0}
.chat-head .close{width:44px;height:44px;flex:none}
.chat-log{flex:1;min-height:120px;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.chat-msg{margin:0;max-width:88%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.45;white-space:pre-line;overflow-wrap:anywhere}
.chat-bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}
.chat-user{align-self:flex-end;background:var(--rose-dark);color:#fff;border-bottom-right-radius:4px}
.chat-suggestions{display:flex;gap:8px;overflow-x:auto;padding:0 20px 10px;scrollbar-width:none}
.chat-suggestions::-webkit-scrollbar{display:none}
.chat-chip{flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}
.chat-chip:hover{border-color:#d9b7c3}
.chat-form{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:#fff}
.chat-form input{flex:1;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:0 16px;font:inherit;font-size:16px;color:var(--ink);background:#fff}
.chat-form input:focus-visible{outline:0;border-color:var(--rose-dark);box-shadow:0 0 0 3px rgba(183,53,103,.16)}
.chat-form .btn{min-height:44px;padding:0 18px}
.chat-wa{margin:0 16px 4px;width:auto;min-height:44px}
.chat-wa[hidden]{display:none}
.chat-note{margin:4px 16px 12px;font-size:11px;color:var(--muted);text-align:center}
@media(max-width:600px){
  .chat-panel{right:0;left:0;bottom:0;width:100%;max-height:85dvh;border-radius:24px 24px 0 0}
  .chat-launcher{right:12px;bottom:12px;padding:0 16px}
}

/* ===== Catálogo con pestañas, búsqueda y "Ver más" (2026-10) ===== */
.catalog-tabs{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line);margin:22px -24px 0;padding:0 24px}
.shop-page .catalog-tabs .filters{gap:4px;padding:0;scroll-padding-inline:24px}
.shop-page .catalog-tabs .filter{border:0;border-radius:0;background:transparent;color:var(--muted);min-height:50px;padding:12px 14px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:7px}
.shop-page .catalog-tabs .filter:hover{transform:none;color:var(--ink)}
.shop-page .catalog-tabs .filter.active{background:transparent;color:var(--ink)}
.shop-page .catalog-tabs .filter::after{content:'';position:absolute;left:10px;right:10px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--rose-dark);opacity:0;transform:scaleX(.4);transition:opacity .2s ease,transform .2s ease}
.shop-page .catalog-tabs .filter.active::after{opacity:1;transform:scaleX(1)}
.shop-page .catalog-tabs .filter:focus-visible{outline:0;box-shadow:inset var(--focus)}
.tab-count{font-size:11px;font-weight:700;color:var(--muted);background:var(--soft);border-radius:999px;padding:2px 7px;min-width:22px;text-align:center}
.filter.active .tab-count{background:var(--blush);color:var(--rose-dark)}
.shop-page .catalog-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:18px 0 6px}
.catalog-search{flex:1;max-width:420px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:white;padding:0 14px;color:var(--muted);transition:border-color .18s ease,box-shadow .18s ease}
.catalog-search:focus-within{border-color:var(--rose-dark);box-shadow:0 0 0 3px rgba(183,53,103,.16)}
.catalog-search input{flex:1;min-width:0;min-height:44px;border:0;background:transparent;font:inherit;color:var(--ink);outline:0}
.catalog-search input::placeholder{color:var(--muted)}
.sort-label{display:flex;align-items:center;gap:4px;white-space:nowrap;color:var(--muted);font-size:13px}
.result-count{color:var(--muted);font-size:13px;margin:0 0 14px}
.load-more{display:flex;flex-direction:column;align-items:center;gap:6px;padding:30px 0 10px}
.load-more p{margin:0;font-size:13px}
.load-more .btn{min-width:220px}
.empty .btn{margin-top:6px}
/* Tarjeta: sin descripción; nombre a 2 líneas, descuento y agotado visibles */
.product-info h3 button{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.deal-badge{position:absolute;top:11px;right:11px;background:var(--rose-dark);color:white;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}
.stock-badge.soldout{background:var(--ink);color:white}
.product-card.is-soldout .product-image img{opacity:.5}
.product-card.is-soldout .price{color:var(--muted)}
/* Categorías de portada con foto */
.category-card.has-cover{padding:0;overflow:hidden;justify-content:flex-start}
.category-cover{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#fff8fa;border-bottom:1px solid var(--line)}
.category-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12px;mix-blend-mode:multiply;transition:transform .35s ease}
.category-card.has-cover:hover .category-cover img{transform:scale(1.05)}
.category-card.has-cover .category-text{padding:12px 14px 0}
.category-card.has-cover .category-cta{padding:0 14px 14px}
/* "Así compras": pasos numerados en la franja oscura */
.steps-eyebrow{color:#f6a6c1}
.steps-title{font-family:'Playfair Display',serif;font-size:34px;margin:0 0 30px;color:white}
.steps{list-style:none;padding:0;margin:0}
.steps li{border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.step-num{display:block;font-family:'Playfair Display',serif;font-size:30px;color:#f6a6c1;line-height:1}
@media(max-width:600px){
  .catalog-tabs{margin-top:16px}
  .shop-page .catalog-toolbar{flex-direction:column;align-items:stretch}
  .catalog-search{max-width:none}
  .sort-label{justify-content:flex-end}
  .steps-title{font-size:28px;margin-bottom:22px}
}
/* Página 404 (reusa la tarjeta de pago.html) */
.not-found .brand-logo{margin:0 auto 14px}
.not-found-actions{display:grid;gap:10px;margin-top:22px}
/* Precio anterior en su propia línea (como Mercado Libre): no empuja el botón fuera de la tarjeta en celular */
.product-bottom{align-items:flex-end}
.product-bottom .price{display:flex;flex-direction:column-reverse;min-width:0}
.product-bottom .price .price.compare{margin-left:0;line-height:1.2}

/* ===== SEO técnico (2026-10): URLs reales, migas, puntos clave, FAQ, compartir y barra móvil ===== */
/* El título del aviso de edad ya no es H1 (un solo H1 por página): mismo aspecto. */
.age-title{font-family:'Playfair Display',serif;line-height:1.1;font-size:30px;font-weight:700;margin:8px 0}
@media(max-width:800px){.age-title{font-size:28px}}
/* Tarjetas: imagen y nombre ahora son enlaces reales (rastreables) */
a.product-image{color:inherit}
.product-info h3 a{color:inherit;text-decoration:none;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.product-info h3 a:hover{color:var(--rose-dark)}
.product-info h3 a:focus-visible{outline:0;box-shadow:var(--focus);border-radius:4px}
.shop-page .catalog-tabs .filter{text-decoration:none}
/* Migas de pan */
.breadcrumbs{font-size:13px;color:var(--muted);margin:18px 0 10px}
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0;padding:0;margin:0}
.breadcrumbs li{display:inline-flex;align-items:center}
.breadcrumbs li+li::before{content:'›';margin:0 8px;color:#c9aab5}
.breadcrumbs a{color:var(--muted);text-decoration:none}
.breadcrumbs a:hover{color:var(--rose-dark);text-decoration:underline}
.breadcrumbs [aria-current]{color:var(--ink);font-weight:600}
/* 5 puntos clave + CTA (portada y categorías) */
.key-points-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:7px}
.key-points-list li{position:relative;padding-left:22px;color:var(--ink);font-size:14px;line-height:1.45}
.key-points-list li::before{content:'✓';position:absolute;left:0;top:0;color:var(--rose-dark);font-weight:700}
.hero-points{margin:-6px 0 22px;max-width:520px}
.key-points{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin:4px 0 6px;padding:16px 18px;background:var(--soft);border:1px solid var(--line);border-radius:18px}
.key-points .key-points-list{margin:0;flex:1 1 420px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:7px 20px}
.key-cta{white-space:nowrap}
/* Preguntas frecuentes */
.faq{padding-top:56px;padding-bottom:56px;max-width:860px}
.shop-page .faq,.product-page .faq{padding-left:0;padding-right:0}
.faq h2{font-size:32px;margin:0 0 18px}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:22px;color:var(--rose-dark);transition:transform .2s ease}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:focus-visible{outline:0;box-shadow:var(--focus);border-radius:6px}
.faq-item h3{font-size:16px;margin:0;font-weight:700}
.faq-item p{color:var(--muted);margin:0 0 16px;max-width:720px}
/* Compartir producto */
.share{position:relative;margin:14px 0 4px}
.share-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.share-button:hover{border-color:#d9b7c3}
.share-menu{position:absolute;z-index:10;top:calc(100% + 6px);left:0;display:grid;min-width:200px;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.share-menu[hidden]{display:none}
.share-menu a,.share-menu button{display:block;padding:12px 16px;min-height:44px;border:0;background:none;text-align:left;font:inherit;color:var(--ink);text-decoration:none;cursor:pointer}
.share-menu a:hover,.share-menu button:hover{background:var(--soft)}
/* Barra fija en celular: llamar y WhatsApp. El cuerpo deja espacio para que no tape el botón de compra. */
.mobile-cta{display:none}
@media(max-width:800px){
  .mobile-cta:not([hidden]){position:fixed;left:0;right:0;bottom:0;z-index:34;display:flex;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:rgba(255,250,251,.97);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(40,31,40,.08)}
  .mobile-cta a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;font-weight:700;text-decoration:none}
  .mobile-cta a[hidden]{display:none}
  .mobile-cta-call{border:1px solid var(--ink);color:var(--ink)}
  .mobile-cta-wa{background:#1e7d4b;color:white}
  body.has-mobile-cta{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  html.has-mobile-cta{scroll-padding-bottom:calc(80px + env(safe-area-inset-bottom))}
  /* En la ficha, el globo del asistente taparía cantidad y compra; WhatsApp ya está en la barra. */
  body.has-mobile-cta.viewing-product .chat-launcher{display:none}
  body.has-mobile-cta .chat-launcher{bottom:calc(76px + env(safe-area-inset-bottom))}
  body.has-mobile-cta .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
}
.hero-actions{flex-wrap:wrap;gap:12px 22px}
.hero-actions .btn,.hero-actions .text-link{white-space:nowrap}

/* ===== Distribución tipo tiendas líderes del giro (2026-10-11) ===== */
/* Lupa en el encabezado */
.header-right{display:flex;align-items:center;gap:8px}
.icon-button{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--ink);transition:background .18s ease}
.icon-button:hover{background:var(--soft)}
.icon-button:focus-visible{outline:0;box-shadow:var(--focus)}
/* Los 5 puntos de la portada como barra de confianza (chips) */
.hero-points .key-points-list{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.hero-points .key-points-list li{padding:7px 12px 7px 30px;background:white;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600}
.hero-points .key-points-list li::before{left:12px;top:7px}
/* Accesos rápidos por categoría */
.quick-cats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-top:18px;padding-bottom:6px}
.quick-cats::-webkit-scrollbar{display:none}
.quick-cat{flex:none;display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border:1px solid var(--ink);border-radius:999px;color:var(--ink);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;transition:background .18s ease,color .18s ease}
.quick-cat:first-child{background:var(--ink);color:white}
.quick-cat:hover{background:var(--ink);color:white}
/* Portada: 8 favoritos (2 filas en escritorio, 4 en celular; 6 en tablet) */
.featured-grid .product-card:nth-child(n+5){display:block}
.featured-grid .product-card:nth-child(n+9){display:none}
@media(min-width:601px) and (max-width:1023px){.featured-grid .product-card:nth-child(n+7){display:none}}
/* Tarjeta: frase de beneficio y etiquetas */
.product-tagline{margin:-4px 0 8px;color:var(--muted);font-size:12.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.stock-badge.tag-mas-vendido,.product-badge-inline.tag-mas-vendido{background:var(--ink);color:white}
.stock-badge.tag-nuevo,.product-badge-inline.tag-nuevo{background:var(--rose-dark);color:white}
.stock-badge.tag-recomendado,.product-badge-inline.tag-recomendado{background:var(--blush);color:var(--rose-deep)}
.stock-badge.tag-edicion-limitada,.product-badge-inline.tag-edicion-limitada{background:#f3e6c9;color:#6b4e12}
/* Ficha: etiqueta, frase, IVA, compra y formas de pago */
.product-badge-inline{display:inline-block;margin:6px 0 0;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em}
.product-tagline-lg{margin:-6px 0 12px;color:var(--rose-deep);font-weight:600;font-size:16px}
.tax-note{display:block;margin-top:2px;color:var(--muted);font-size:12px;font-weight:500}
.buy-actions{display:grid;gap:10px}
.btn.dark{background:var(--ink);color:white}
.btn.dark:hover{background:#3d2f3d}
.buy-now{min-height:52px}
.pay-note{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.4}
.pay-note svg{flex:none;margin-top:1px;color:var(--rose-dark)}
/* Ficha: características y "¿Cómo se usa?" */
.product-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px}
.product-details.single{grid-template-columns:1fr;max-width:760px}
.detail-block{background:white;border:1px solid var(--line);border-radius:19px;padding:22px 24px}
.detail-block h2{font-size:24px;margin:0 0 14px}
.specs-table{width:100%;border-collapse:collapse;font-size:14px}
.specs-table th,.specs-table td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.specs-table tr:last-child th,.specs-table tr:last-child td{border-bottom:0}
.specs-table th{width:42%;color:var(--muted);font-weight:600;padding-right:14px}
.how-to{margin:0;color:var(--ink);white-space:pre-line;line-height:1.6}
@media(max-width:800px){.product-details{grid-template-columns:1fr}}
/* Celular: hero compacto para que los productos aparezcan en la primera pantalla y media */
@media(max-width:600px){
  .hero{min-height:0;padding-top:14px;padding-bottom:10px;gap:10px}
  .hero-art{display:none}
  .hero-copy{min-width:0}
  .hero h1{font-size:34px}
  .hero .lead{font-size:15px;margin:10px 0 14px}
  .hero-points{margin:0 0 14px}
  .hero-points .key-points-list{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -12px;padding:0 12px}
  .hero-points .key-points-list::-webkit-scrollbar{display:none}
  .hero-points .key-points-list li{flex:none;white-space:nowrap}
  .hero-actions{gap:10px 16px}
  .hero-actions .text-link.hidden-link{display:none!important}
  .quick-cats{padding-top:6px}
  .home-section{padding-bottom:36px}
}
/* Encabezado móvil: menú + logo + lupa + bolsa deben caber en 360 px */
@media(max-width:600px){.header{gap:6px}.header-right{gap:2px}.icon-button{width:38px;height:38px}.cart-button{padding:8px 10px}}
@media(max-width:600px){.hero-actions a[href="#categorias"]{display:none!important}.promo-strip{padding-top:10px;padding-bottom:10px}.promotion{padding:10px 14px}}
@media(min-width:1024px){.hero{min-height:0;padding-top:30px;padding-bottom:28px;gap:36px}.hero-art{height:380px}.hero-art img{height:360px}.blob{width:340px;height:340px}.hero h1{font-size:clamp(46px,5vw,64px)}}
.legal-updated{font-size:13px!important;margin:0 0 18px}.legal-missing{background:#fff3c4;color:#7a5b00;padding:0 4px;border-radius:4px;font-weight:600}.legal-pending{background:#fff3c4;border:1px solid #f0d77a;color:#7a5b00!important;border-radius:12px;padding:12px 14px;font-size:14px!important;margin:0 0 18px}.legal-wrap a{color:var(--rose-dark)}.legal-wrap ol{padding-left:1.4em}
.tracking-card{text-align:left;max-width:560px}.tracking-card>a{display:block;text-align:center}.tracking-card h1{font-family:'Playfair Display',serif;margin:4px 0 8px}.tracking-steps{list-style:none;margin:22px 0;padding:0}.tracking-step{position:relative;display:flex;gap:14px;padding:0 0 18px}.tracking-step:not(:last-child)::before{content:"";position:absolute;left:8px;top:20px;bottom:0;width:2px;background:var(--line)}.tracking-step.is-done:not(:last-child)::before{background:var(--rose)}.tracking-dot{flex:0 0 18px;height:18px;border-radius:50%;border:2px solid var(--line);background:var(--paper);margin-top:2px}.tracking-step.is-done .tracking-dot{background:var(--rose);border-color:var(--rose)}.tracking-step.is-current .tracking-dot{border-color:var(--rose);box-shadow:0 0 0 4px var(--blush)}.tracking-step div{display:flex;flex-direction:column;gap:2px}.tracking-step small{color:var(--muted);font-size:13px}.tracking-step.is-todo strong{color:var(--muted);font-weight:500}.tracking-shipment,.tracking-lines{border-top:1px solid var(--line);padding-top:14px;margin-top:6px}.tracking-shipment p{margin:4px 0}.tracking-shipment .btn{margin-top:10px}.tracking-guide{font-family:ui-monospace,monospace;letter-spacing:.03em}.tracking-lines ul{list-style:none;padding:0;margin:8px 0}.tracking-lines li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:15px}.tracking-total{border-top:1px solid var(--line);margin-top:6px;padding-top:10px!important}.tracking-updated{font-size:12px;margin:10px 0 0}.tracking-lookup{display:grid;gap:12px;margin:16px 0}.tracking-lookup label{display:grid;gap:6px;font-weight:600;font-size:14px}.tracking-lookup input{min-height:46px;border:1px solid var(--line);border-radius:12px;padding:0 14px;font:inherit}.tracking-error{color:var(--rose-deep);font-size:14px;margin:0}.tracking-recent{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px}.tracking-recent a{color:var(--rose-dark);font-weight:700}.tracking-link-box{border:1px dashed var(--line);border-radius:14px;padding:12px 14px;margin:14px 0;text-align:left}.tracking-link-box a{color:var(--rose-dark);font-weight:700;word-break:break-all}
.ship-note{margin:-2px 0 8px;font-size:12px;color:var(--muted);text-align:right}.ship-free{color:#1d7a4c}
