/* Tipografías alojadas en el propio dominio (Google Fonts, licencia OFL; subconjunto latin, que cubre el español). */
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:600 800;font-display:swap;src:url(assets/fonts/baloo2-latin-600-800.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/poppins-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/poppins-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/poppins-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/poppins-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--font-display:'Baloo 2',system-ui,sans-serif;--font-body:'Poppins',system-ui,sans-serif;
--ink:#2A1F14;--heading:#1E3A8A;--navy:#1E3A8A;--primary:#1E3A8A;--primary-ink:#fff;--accent:#FBBF24;--accent-ink:#2A1F14;--accent-strong:#E2503F;
--yellow:#FBBF24;--green:#15803D;--coral:#E2503F;--coral-text:#B4382A;--orange:#F97316;--orange-text:#C2410C;--cream-2:#FFF4D6;
--bg:#FFF4D6;--surface:#fff;--muted:#5E5446;--line:#EFE3C8;--eyebrow:#C2410C;--focus:#E2503F;
--announce-bg:#FBBF24;--announce-ink:#2A1F14;--footer-bg:#172E6E;--footer-ink:#C9D3EE;--catalog-bg:#FFE9B8;
--radius:24px;--radius-lg:36px;--pill:999px;--shadow:0 12px 34px rgba(42,31,20,.08);}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.6;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);line-height:1.05;margin:0;color:var(--heading)}
p{margin:0}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
.icon{width:22px;height:22px;flex-shrink:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:10px}
.skip-link:focus{top:12px}

/* Barra de aviso */
.announce{background:var(--announce-bg);color:var(--announce-ink);font-size:14px;font-weight:700}
.announce .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 28px;padding:9px 0;text-align:center}
.announce span{display:inline-flex;align-items:center;gap:8px}
.announce .icon{width:18px;height:18px}

/* Encabezado */
.topbar{position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;gap:24px;min-height:84px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:58px;width:auto}
#primaryNav{display:flex;gap:28px;margin-left:auto;font-weight:700;font-size:16px;color:var(--navy)}
#primaryNav a{text-decoration:none;padding:8px 0;border-bottom:3px solid transparent}
#primaryNav a:hover,#primaryNav a[aria-current="page"]{border-color:var(--accent)}
.header-actions{display:flex;gap:10px;align-items:center}
.cart-button{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 18px;border:0;border-radius:var(--pill);background:var(--navy);color:#fff;font-weight:800;font-size:16px;white-space:nowrap}
.cart-count{min-width:26px;height:26px;padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.wa-link{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 16px;border-radius:var(--pill);border:2px solid var(--green);color:var(--green);font-weight:800;text-decoration:none}
.nav-toggle{display:none;align-items:center;gap:8px;min-height:48px;padding:8px 14px;border:2px solid var(--line);border-radius:var(--pill);background:var(--surface);color:var(--navy);font-weight:800}

/* Botones */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:var(--pill);border:2px solid transparent;font-weight:800;font-size:17px;text-decoration:none;text-align:center;cursor:pointer}
.button.primary{background:var(--primary);color:var(--primary-ink)}
.button.primary:hover{filter:brightness(1.08)}
.button.secondary{background:var(--surface);color:var(--green);border-color:var(--green)}
.button.light{background:#fff;color:var(--navy)}
.button.outline-light{border-color:#fff;color:#fff;background:transparent}
.button.full{width:100%}
.button.dark{background:var(--navy);color:#fff}
.text-link{font-weight:800;color:var(--navy);text-decoration:none;border-bottom:3px solid var(--accent);display:inline-flex;gap:8px;align-items:center;padding-bottom:2px}

.eyebrow{display:inline-block;font-weight:800;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--eyebrow)}
.section{padding:88px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.section-head h2{font-size:clamp(34px,4vw,50px);font-weight:900;margin-top:8px}
.section-head p{max-width:460px;color:var(--muted)}

/* Productos */
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.product-card{background:var(--surface);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}
.product-card[hidden]{display:none}
.product-art{position:relative}
.product-art img{width:100%;height:auto;aspect-ratio:10/7;object-fit:cover;border-radius:var(--radius)}
.product-art img.packshot{object-fit:contain;background:#fff;border:1px solid var(--line)}
.art-placeholder{width:100%;aspect-ratio:10/7;border-radius:var(--radius);background:var(--bg);border:2px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-weight:700;font-size:14px}
.art-placeholder svg{width:40px;height:40px;color:var(--eyebrow)}
.occasion .art-placeholder{border-radius:0}
.product-art small{position:absolute;left:12px;top:12px;background:var(--surface);color:var(--green);font-weight:800;font-size:13px;padding:4px 12px;border-radius:999px}
.product-info{display:flex;flex-direction:column;gap:6px;padding:0 8px 8px;flex-grow:1}
.product-kicker{font-size:14px;color:var(--muted);font-weight:600}
.product-info h3{font-size:22px;font-weight:800}
.product-info>p:not(.product-kicker){font-size:15px;color:var(--muted)}
.product-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:12px}
.product-footer strong{font-family:var(--font-display);font-size:26px;font-weight:900;color:var(--ink)}
.price-stack{display:flex;flex-direction:column;line-height:1.15}
.unit-price{font-size:13px;font-weight:500;color:var(--muted)}
.add-button{min-height:46px;padding:10px 20px;border:0;border-radius:var(--pill);background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:15px}
.add-button:hover{filter:brightness(1.05)}
.product-footer:has(.card-buy){flex-wrap:wrap}
.card-buy{display:flex;align-items:center;gap:10px;margin-left:auto}
.card-quantity{margin-top:0;gap:4px}
.card-quantity button{width:36px;height:36px;font-size:17px;line-height:1;padding:0}
.card-quantity input{width:42px;height:36px;border:0;background:none;text-align:center;font-weight:800;font-size:16px;color:var(--ink);-moz-appearance:textfield;appearance:textfield}
.card-quantity input::-webkit-outer-spin-button,.card-quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.soon-badge{display:inline-flex;align-items:center;min-height:46px;padding:10px 20px;border-radius:var(--pill);background:var(--cream-2);color:var(--orange-text);font-weight:800;font-size:15px;margin-left:auto}
.stock-status{display:inline-flex;align-items:center;width:max-content;margin-top:10px!important;padding:5px 10px;border-radius:999px;font-size:13px!important;font-weight:800}
.product-info>.stock-status.is-available{background:#dcfce7;color:#166534}
.product-info>.stock-status.is-low{background:#fef3c7;color:#92400e}
.product-info>.stock-status.is-out{background:#fee2e2;color:#991b1b}
.add-button:disabled,.card-quantity button:disabled,.card-quantity input:disabled{cursor:not-allowed;opacity:.55}

/* Pasos */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.step{background:var(--surface);border-radius:var(--radius-lg);padding:32px;display:flex;flex-direction:column;gap:12px}
.step-num{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:26px;color:#fff;background:var(--navy)}
.step:nth-child(2) .step-num{background:var(--green)}
.step:nth-child(3) .step-num{background:var(--coral)}
.step h3{font-size:25px;font-weight:900}
.step p{color:var(--muted)}

/* Cobertura */
.coverage{background:var(--navy);color:#fff}
.coverage-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center}
.coverage figure{margin:0}
.coverage figure img{border-radius:var(--radius-lg);width:100%;aspect-ratio:3/2;object-fit:cover}
.coverage h2{color:#fff;font-size:clamp(34px,4vw,48px);font-weight:900;margin:10px 0 16px}
.coverage .eyebrow{color:var(--accent)}
.coverage p{color:#D6DEF5}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px}
.chips span,.chips a{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);font-weight:800;padding:9px 18px;border-radius:999px;text-decoration:none}
.chips a:hover{text-decoration:underline}
.chips .icon{width:18px;height:18px}

/* Contacto y preguntas */
.support-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;align-items:start}
.contact-card,.faq-card{background:var(--surface);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow)}
.contact-card h2,.faq-card h2{font-size:38px;font-weight:900;margin:10px 0 14px}
.contact-card>p,.faq-intro{color:var(--muted)}
.contact-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:24px 0}
.contact-email{font-weight:800;color:var(--navy)}
.contact-details{margin:0;display:grid;gap:14px;border-top:1px solid var(--line);padding-top:22px}
.contact-details dt{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.contact-details dd{margin:2px 0 0;font-weight:700}
.contact-details dd+dd{margin-top:6px}
details{border-top:1px solid var(--line);padding:4px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;font-weight:800;font-size:17px;color:var(--navy);min-height:44px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:26px;line-height:1;color:var(--coral);flex-shrink:0}
details[open] summary::after{content:"–"}
details p{padding:0 0 18px;color:var(--muted)}

/* Pie */
.site-footer{background:var(--footer-bg);color:var(--footer-ink);padding:56px 0 36px;font-size:15px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.footer-brand{display:inline-flex;background:#fff;border-radius:16px;padding:8px 12px;margin-bottom:16px}
.footer-brand img{height:44px;width:auto}
.site-footer h3{font-family:var(--font-body);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.footer-links{display:flex;flex-direction:column;gap:8px}
.footer-links a{text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-links.social a{display:inline-flex;align-items:center;gap:10px}
.footer-links.social .icon{width:20px;height:20px;flex:none}
a.filter{display:inline-flex;align-items:center;text-decoration:none}
.category-tips ul{display:grid;gap:14px;margin-top:20px;padding:0;list-style:none}
.category-tips li{position:relative;padding-left:24px;color:var(--muted)}
.category-tips li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.category-tips li strong{color:var(--ink)}
.category-more{margin-top:24px}
.category-links{margin-top:14px;font-size:16px}
.category-links a{color:var(--navy);font-weight:700}
.product-info h3 a{color:inherit;text-decoration:none}
.product-info h3 a:hover,.occasion .product-info p a:hover{text-decoration:underline}
.occasion .product-info p a{color:inherit;text-decoration:none}
.product-card.product-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;padding:24px}
.product-detail h1{font-size:clamp(32px,4.2vw,52px);font-weight:900;margin:6px 0 12px;line-height:1.05}
.product-lead{font-size:18px;color:var(--muted)}
.product-specs{display:grid;gap:8px;margin:20px 0 4px;padding:0;list-style:none;font-size:15px;color:var(--muted)}
.product-specs strong{color:var(--ink)}
.product-detail .product-footer{justify-content:flex-start;gap:20px;padding-top:20px;margin-top:0}
.product-detail .product-footer strong{font-size:34px}
.product-note{font-size:14px;color:var(--muted);margin-top:12px}
@media (max-width:720px){.product-card.product-detail{grid-template-columns:1fr;gap:18px;padding:14px}}
.legal{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);font-size:14px}

/* Carrito */
.drawer-backdrop{position:fixed;inset:0;background:rgba(15,20,40,.5);z-index:40}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100% - 56px);background:var(--surface);z-index:50;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s ease,visibility .25s;visibility:hidden}
.cart-drawer.open{transform:none;visibility:visible;box-shadow:-20px 0 60px rgba(0,0,0,.18)}
.drawer-header{display:flex;justify-content:space-between;align-items:flex-start;padding:28px 28px 18px;border-bottom:1px solid var(--line)}
.drawer-header h2{font-size:30px;font-weight:900;margin-top:4px}
.icon-button{width:46px;height:46px;border-radius:50%;border:2px solid var(--line);background:var(--surface);color:var(--navy);font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.cart-items{flex-grow:1;overflow:auto;padding:12px 28px}
.empty-cart{text-align:center;padding:56px 12px;color:var(--muted)}
.empty-cart svg{width:48px;height:48px;margin:0 auto 12px;color:var(--eyebrow)}
.empty-cart h3{font-size:22px;margin-bottom:6px}
.cart-line{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.cart-line h3{font-family:var(--font-body);font-size:16px;font-weight:800;line-height:1.3}
.cart-line p{font-size:14px;color:var(--muted)}
.quantity{display:inline-flex;align-items:center;gap:10px;margin-top:8px}
.quantity button{width:40px;height:40px;border-radius:50%;border:2px solid var(--line);background:var(--surface);font-weight:800;font-size:18px;color:var(--navy)}
.remove{border:0;background:none;color:var(--coral-text);font-weight:700;font-size:14px;padding:8px 0;margin-left:12px;text-decoration:underline}
.cart-summary{padding:22px 28px 28px;border-top:1px solid var(--line);background:var(--bg);display:grid;gap:8px}
.cart-summary>div{display:flex;justify-content:space-between}
.cart-grand-total{font-size:20px;font-weight:900;color:var(--navy);padding-top:6px}
#cartShippingNote{font-size:13px;color:var(--muted);margin-bottom:8px}
#cartShippingNote[hidden]{display:none}
.cart-summary>.ship-progress{display:grid;justify-content:normal;gap:8px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.ship-progress p{font-size:15px;color:var(--ink)}
.ship-progress strong{color:var(--navy)}
.ship-bar{height:10px;border-radius:999px;background:var(--line);overflow:hidden}
.ship-bar span{display:block;height:100%;width:0;border-radius:inherit;background:var(--accent);transition:width .3s ease}
.ship-progress.is-free strong{color:var(--green)}
.ship-progress.is-free .ship-bar span{background:var(--green)}
.form-status a{color:var(--green)}

/* Formulario */
dialog{border:0;border-radius:var(--radius-lg);padding:0;width:min(560px,100% - 24px);max-height:calc(100vh - 24px);box-shadow:0 30px 80px rgba(0,0,0,.25);color:var(--ink)}
dialog::backdrop{background:rgba(15,20,40,.55)}
#checkoutForm{position:relative;padding:36px;display:grid;gap:14px}
#checkoutForm h2{font-size:32px;font-weight:900}
.dialog-copy{color:var(--muted)}
.dialog-close{position:absolute;right:18px;top:18px}
#checkoutForm label{display:grid;gap:6px;font-weight:700;font-size:15px}
#checkoutForm label span{font-weight:400;color:var(--muted)}
#checkoutForm input:not([type=checkbox]),#checkoutForm select{font:inherit;min-height:50px;padding:10px 14px;border:2px solid var(--line);border-radius:14px;background:#fff;color:var(--ink)}
#checkoutForm input:focus,#checkoutForm select:focus{border-color:var(--navy);outline:none}
#checkoutForm input:focus-visible,#checkoutForm select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.address-fields{border:0;padding:0;margin:0;display:grid;gap:12px}
.address-fields legend{font-weight:800;margin-bottom:6px}
.payment-methods{border:0;padding:0;margin:4px 0 0;display:grid;gap:10px}
.payment-methods legend{font-weight:800;margin-bottom:2px}
#checkoutForm .payment-option{display:flex;grid-template-columns:none;align-items:flex-start;gap:12px;padding:14px;border:2px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
#checkoutForm .payment-option:has(input:checked){border-color:var(--navy);background:#f5f7ff}
.payment-option input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy);flex:0 0 auto}
.payment-option span{display:grid;gap:3px;color:var(--ink);font-weight:400}
.payment-option small{color:var(--muted);font-size:13px;line-height:1.4}
.payment-panel{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--cream)}
.payment-panel[hidden]{display:none}
.payment-panel h3{font-family:var(--font-body);font-size:17px;margin-bottom:10px}
.payment-panel dl{display:grid;gap:6px;margin:0 0 12px}
.payment-panel dl div{display:grid;grid-template-columns:90px 1fr;gap:10px}
.payment-panel dt{color:var(--muted)}
.payment-panel dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.payment-panel p{font-size:14px;line-height:1.5}
.payment-panel a{font-weight:800;color:var(--navy)}
.checkout-total{display:grid;gap:7px;padding:14px;border-radius:14px;background:var(--bg)}
.checkout-total[hidden],.checkout-total [hidden]{display:none}
.checkout-total>div{display:flex;justify-content:space-between;gap:16px}
.checkout-grand-total{padding-top:7px;border-top:1px solid var(--line);font-size:18px;font-weight:900;color:var(--navy)}
#checkoutForm .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px}
.consent input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy)}
.honeypot{position:absolute;left:-9999px}
.form-status{font-weight:700;color:var(--navy)}
.form-note{font-size:13px;color:var(--muted)}

.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,40px);opacity:0;background:var(--navy);color:#fff;padding:14px 22px;border-radius:999px;font-weight:700;z-index:60;transition:.2s;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* Catálogo */
.catalog-hero{background:var(--catalog-bg);padding:72px 0 64px}
.catalog-hero h1{font-size:clamp(40px,5.5vw,68px);font-weight:900;margin:12px 0 16px;max-width:820px}
.catalog-hero p{max-width:640px;font-size:19px;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}
.filter{min-height:46px;padding:10px 22px;border-radius:999px;border:2px solid var(--line);background:var(--surface);color:var(--navy);font-weight:800}
.filter.active{background:var(--navy);border-color:var(--navy);color:#fff}
.filter[hidden]{display:none}
.filter-empty{text-align:center;padding:48px;color:var(--muted)}
.catalog-note{background:var(--surface);border-radius:var(--radius);padding:18px 22px;margin-bottom:28px;color:var(--muted);font-size:15px;display:flex;gap:12px;align-items:flex-start}
.catalog-note .icon{color:var(--eyebrow);margin-top:2px}

/* Páginas legales */
.legal-page{width:min(1000px,100% - 40px);margin:0 auto;padding:64px 0 96px}
.legal-hero{padding-bottom:36px;border-bottom:1px solid var(--line);margin-bottom:12px}
.legal-hero h1{font-size:clamp(38px,5vw,60px);font-weight:900;margin:12px 0 14px}
.legal-hero p:not(.eyebrow):not(.breadcrumb){font-size:19px;color:var(--muted);max-width:720px}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--navy);font-weight:700}
.breadcrumb span{margin:0 8px}
.page-index{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.page-index a{background:var(--surface);border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;color:var(--navy)}
.policy-section{padding:40px 0;border-bottom:1px solid var(--line);display:grid;gap:14px}
.policy-heading{display:flex;gap:18px;align-items:center}
.policy-heading>span{width:54px;height:54px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:20px;flex-shrink:0}
.policy-heading .eyebrow{color:var(--eyebrow)}
.policy-heading h2{font-size:32px;font-weight:900}
.policy-section h3{font-size:21px;font-weight:800;margin-top:8px}
.policy-section p,.policy-section li{color:var(--muted)}
.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0}
.data-grid>div{background:var(--surface);border-radius:var(--radius);padding:16px 18px}
.data-grid dt{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.data-grid dd{margin:4px 0 0;font-weight:700}
.policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.policy-grid article{background:var(--surface);border-radius:var(--radius);padding:20px}
.policy-grid h3{font-size:18px;margin:0 0 6px}
.plain-list{padding-left:20px;display:grid;gap:6px;margin:0}

/* 404 */
.error-page{padding:96px 20px;display:flex;justify-content:center}
.error-card{background:var(--surface);border-radius:var(--radius-lg);padding:48px;max-width:640px;text-align:center;box-shadow:var(--shadow);display:grid;gap:14px;justify-items:center}
.error-code{font-family:var(--font-display);font-weight:900;font-size:96px;line-height:1;color:var(--accent-strong)}
.error-card h1{font-size:40px;font-weight:900}
.error-card p:not(.eyebrow){color:var(--muted)}
.error-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px}
.error-secondary{background:var(--surface);color:var(--navy);border-color:var(--navy)}

/* Responsivo */
/* Menú con 5 enlaces: pasa a botón "Menú" bajo 1140 px y se aprieta un poco hasta 1180 px (el encabezado flotante del inicio es el más justo) */
@media (min-width:1141px) and (max-width:1180px){#primaryNav{gap:20px}}
@media (max-width:1140px){
  .nav-toggle{display:inline-flex}
  .topbar .wrap{flex-wrap:wrap;gap:12px;min-height:72px}
  .brand img{height:46px}
  .header-actions{margin-left:auto}
  .wa-link{display:none}
  #primaryNav{display:none;order:5;width:100%;flex-direction:column;gap:0;margin:0 0 12px;background:var(--surface);border-radius:var(--radius);padding:6px 4px}
  #primaryNav.is-open{display:flex}
  #primaryNav a{padding:14px 12px;border-bottom:1px solid var(--line)}
}
@media (max-width:1060px){
  .coverage-grid,.support-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:16px}
  .section{padding:64px 0}
  .steps,.policy-grid,.data-grid{grid-template-columns:1fr}
  .contact-card,.faq-card{padding:28px 22px}
  .footer-grid{grid-template-columns:1fr}
  .nav-toggle span:last-child{display:none}
  .cart-button>span:first-child{display:none}
  #checkoutForm{padding:28px 20px}
  .error-card{padding:32px 22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== Portada estilo "Hogar que rinde" ===== */
.hero-split{background:var(--bg);padding:56px 0 80px}
.hero-split .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.tag{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;border-radius:999px}
.hero-title{font-size:clamp(44px,6vw,80px);font-weight:900;letter-spacing:-.02em;line-height:.98}
.hl{color:var(--coral)}
.hero-lead{font-size:20px;color:var(--muted);max-width:540px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px}
.values{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:6px 0 0}
.values li{display:flex;align-items:center;gap:10px;background:var(--surface);padding:8px 18px 8px 8px;border-radius:999px;font-weight:800;color:var(--navy)}
.values .dot{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.values li:nth-child(1) .dot{background:var(--yellow);color:var(--ink)}
.values li:nth-child(2) .dot{background:var(--green);color:#fff}
.values li:nth-child(3) .dot{background:var(--coral);color:#fff}
.hero-media{position:relative}
.hero-media img{width:100%;height:560px;object-fit:cover;object-position:70% center;border-radius:220px 48px 220px 48px}
.sticker{position:absolute;font-family:var(--font-display);font-weight:900;line-height:1.1}
.sticker.green{left:-24px;bottom:36px;background:var(--green);color:#fff;font-size:24px;padding:20px 24px;border-radius:28px;transform:rotate(-4deg);box-shadow:0 16px 40px rgba(21,128,61,.3)}
.sticker.round{right:20px;top:20px;width:132px;height:132px;border-radius:50%;background:var(--yellow);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:15px;transform:rotate(8deg)}
.sticker.round b{font-size:28px}

.benefits{background:var(--surface);border-block:1px solid var(--line)}
.benefits ul{list-style:none;margin:0;padding:28px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.benefits li{display:flex;gap:14px;align-items:center}
.benefits .dot{width:48px;height:48px;border-radius:14px;background:var(--bg);color:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.benefits strong{display:block;font-family:var(--font-display);font-size:18px;color:var(--navy);line-height:1.2}
.benefits span{font-size:14px;color:var(--muted)}

.band-white{background:var(--surface)}
.band-white .product-card{box-shadow:none;border:1px solid var(--line)}
.center{text-align:center;margin-top:36px}

/* ===== Portada estilo "Momentos en familia" ===== */
.hero-photo{position:relative;min-height:max(720px,88vh);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.hero-photo>img,.hero-photo>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,31,20,.78) 0%,rgba(42,31,20,.4) 48%,rgba(42,31,20,.05) 75%);z-index:1}
.hero-photo .wrap{position:relative;z-index:2;padding:180px 0 88px}
.hero-photo .hero-copy{max-width:660px}
.hero-photo .hero-title{color:#fff;font-size:clamp(52px,8vw,104px);line-height:.9}
.hero-photo .hero-lead{color:#FFF1DC}
.pill-tag{display:inline-flex;align-items:center;gap:8px;background:var(--cream-2);color:var(--orange-text);font-weight:700;font-size:14px;padding:8px 16px;border-radius:999px}
.pill-tag .icon{width:16px;height:16px}

.topbar.floating{position:absolute;top:20px;left:0;right:0;background:transparent;border:0;z-index:30}
.topbar.floating .wrap{background:var(--surface);border-radius:999px;padding:8px 12px 8px 26px;min-height:76px;box-shadow:0 14px 40px rgba(42,31,20,.2)}

.occasions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.occasion{padding:0;overflow:hidden;gap:0;border-radius:36px}
.occasion .product-art img{border-radius:0;aspect-ratio:4/3}
.occasion .product-art small{background:var(--cream-2);color:var(--orange-text)}
.occasion .product-info{padding:22px 24px 26px}
.occasion .when{font-weight:700;font-size:14px;color:var(--orange-text)}
.occasion h3{font-size:28px;color:var(--navy)}
.occasion .product-kicker{margin-top:2px}

.promise .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.promise-media{position:relative;height:480px}
.promise-media::before{content:"";position:absolute;inset:0 64px 64px 0;background:var(--orange);border-radius:48px}
.promise-media img{position:absolute;right:0;bottom:0;width:86%;height:86%;object-fit:cover;border-radius:48px}
.promise h2{font-size:clamp(36px,4.5vw,56px);font-weight:800}
.promise p{font-size:18px;color:var(--muted);margin:18px 0 22px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checks li{display:flex;gap:14px;align-items:center;font-weight:600;font-size:17px}
.checks .dot{width:42px;height:42px;border-radius:50%;background:var(--cream-2);color:var(--orange-text);display:flex;align-items:center;justify-content:center;flex-shrink:0}

.steps.soft .step{border-radius:36px}
.steps.soft .step-num{background:var(--orange);color:var(--ink)}
.steps.soft .step:nth-child(2) .step-num{background:var(--navy);color:#fff}
.steps.soft .step:nth-child(3) .step-num{background:var(--green);color:#fff}

.cta-band{background:var(--navy);color:#fff;padding:72px 0}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta-band h2{color:#fff;font-size:clamp(36px,4.5vw,54px);font-weight:800}
.cta-band p{color:#D6DEF5;font-size:18px;margin-top:8px}
.button.orange{background:var(--orange);color:var(--ink)}

/* ===== Mezcla 3 + 1 ===== */
.hero-photo .values li{background:rgba(255,255,255,.95)}
.hero-photo .sticker.round{position:absolute;right:max(20px,calc((100vw - 1240px)/2));top:150px;z-index:2}
.occasion.priced .product-footer strong{font-size:22px}

@media (max-width:1060px){
  .hero-split .wrap,.promise .wrap{grid-template-columns:1fr}
  .hero-media img{height:440px;border-radius:160px 36px 160px 36px}
  .benefits ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .occasions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .topbar.floating .wrap{border-radius:28px;padding:8px 12px 8px 18px}
  .hero-photo .sticker.round{display:none}
}
@media (max-width:720px){
  .hero-split{padding:36px 0 56px}
  .hero-media img{height:340px}
  .sticker.green{left:8px;font-size:19px;padding:14px 18px}
  .sticker.round{width:104px;height:104px;font-size:13px}
  .sticker.round b{font-size:22px}
  .benefits ul{grid-template-columns:1fr}
  .occasions{grid-template-columns:1fr}
  .hero-photo{min-height:680px}
  .hero-photo::before{background:linear-gradient(0deg,rgba(42,31,20,.85) 0%,rgba(42,31,20,.45) 55%,rgba(42,31,20,.1) 100%)}
  .hero-photo .wrap{padding:150px 0 48px}
  .promise-media{height:340px}
  .topbar.floating{top:12px}
}
.band-white .step{background:var(--bg)}
.hero-title.xl-tight{font-size:clamp(46px,6.4vw,84px);line-height:.95}

/* Aviso de cookies (Google Analytics solo con consentimiento) */
.consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;align-items:center;justify-content:center;gap:10px 18px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:var(--surface);color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(42,31,20,.10);font-size:14px;line-height:1.4}
.consent-banner p{flex:0 1 auto;margin:0}
.consent-banner a{color:var(--navy);font-weight:700}
.consent-actions{display:flex;gap:8px;flex:0 0 auto}
.consent-actions .button{min-height:40px;padding:6px 18px;font-size:14px;border-width:2px}
/* Portada: enlaces bajo las ideas (receta y catálogo) */
.home-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 36px}
/* En el celular: barra pegada al borde inferior, más baja, para no tapar los botones de la portada ni "Agregar" */
@media (max-width:520px){.consent-banner{flex-wrap:wrap;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));font-size:13px}.consent-banner p{flex-basis:100%}.consent-actions{width:100%}.consent-actions .button{flex:1;min-height:40px;padding:6px 12px}}

/* Pago con Webpay y comprobante de retorno */
.payment-submit.is-webpay{background:#d5006d;color:#fff;box-shadow:0 8px 22px rgba(213,0,109,.22)}
.payment-submit.is-webpay:hover{background:#b8005e}
.payment-submit:disabled{opacity:.65;cursor:wait}
.payment-result{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:var(--bg)}
.payment-result-card{width:min(620px,100%);padding:clamp(28px,6vw,54px);text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 24px 70px rgba(30,58,138,.12)}
.payment-result-card>img{margin:0 auto 26px}
.payment-result-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 20px;border-radius:50%;font-family:var(--font-display);font-size:38px;font-weight:800;color:#fff}
.payment-approved .payment-result-icon{background:var(--green)}
.payment-not-approved .payment-result-icon{background:var(--coral)}
.payment-result-card h1{font-size:clamp(32px,6vw,48px);margin-bottom:12px}
.payment-result-card>p{color:var(--muted)}
.payment-details{margin:28px 0;padding:8px 22px;background:var(--bg);border-radius:18px;text-align:left}
.payment-details div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}
.payment-details div:last-child{border-bottom:0}
.payment-details dt{color:var(--muted)}
.payment-details dd{margin:0;font-weight:800;text-align:right}
.payment-result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:28px 0 20px}
@media (max-width:520px){.payment-details div{display:block}.payment-details dd{margin-top:4px;text-align:left}.payment-result-actions .button{width:100%}}

