:root{--cream:#f4ede3;--paper:#faf7f2;--ink:#1e1a17;--linen:#d6c6ae;--leather:#a0441f;--blue:#7fb9e3;--celeste:#7fb9e3;--serif:'Young Serif',Georgia,serif;--sans:'Bricolage Grotesque',sans-serif;--kobu-blue:#a0441f;--kobu-blue-2:#813519;--kobu-blue-soft:#f4ede3;--ink-2:#3a332d;--ink-3:#72665b;--green:#a0441f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:78px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);padding-bottom:100px}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0;background:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(34px,8vw,62px);line-height:1.13;letter-spacing:-1.6px}h2{font-size:29px;line-height:1.2;letter-spacing:-.8px}h3{font-size:22px;line-height:1.25}p{line-height:1.55}.mono,.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;line-height:1.6;letter-spacing:1.1px}.eyebrow{text-transform:uppercase;color:var(--leather);margin-bottom:9px}.preview-note{text-align:center;font:9px 'IBM Plex Mono',monospace;letter-spacing:1px;padding:8px;background:var(--linen)}.masthead{display:flex;align-items:center;justify-content:space-between;padding:17px 22px;background:var(--paper)}.masthead img{height:44px;width:auto}.masthead .mono{text-align:right}.hero{position:relative;min-height:480px;background:var(--cream);overflow:hidden}.hero-image{width:100%;height:420px;margin-top:60px;object-fit:cover;object-position:center 22%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,237,227,.98),rgba(244,237,227,.75) 28%,transparent 62%);pointer-events:none}.hero-copy{position:absolute;left:24px;top:26px;z-index:1}.hero-copy p:not(.eyebrow){font-size:14px;margin:12px 0 16px}.button{display:inline-flex;gap:16px;align-items:center;justify-content:center;background:var(--leather);color:white;padding:13px 18px;border-radius:8px;font-weight:600;font-size:14px;min-height:46px}.button:hover{background:#813519}.hero-sign{position:absolute;right:17px;bottom:28px;z-index:1;color:white;text-shadow:0 1px 5px #3a332d;font-family:var(--serif);font-size:17px}.intro{padding:18px 22px;font-size:13px;display:flex;flex-wrap:wrap;gap:5px 14px;border-bottom:1px solid var(--linen)}.intro>span:first-child{font-weight:600}.intro details{width:100%;margin-top:6px}.intro summary{display:flex;justify-content:space-between;cursor:pointer;padding:10px 0}.intro details p{margin:10px 0}.categories{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px 18px;position:sticky;top:0;z-index:10;background:rgba(250,247,242,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--linen)}.categories a{white-space:nowrap;border:1px solid var(--linen);border-radius:24px;padding:10px 15px;font-size:13px}.categories a:hover{background:var(--ink);color:var(--cream)}.rail-section{padding:30px 0 22px;overflow:hidden}.section-head{padding:0 22px 20px}.section-head>p:not(.eyebrow){margin-top:9px;color:#72665b;font-size:14px}.rail-caption{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:12px;color:#72665b;align-items:center}.rail-caption>span:last-child{white-space:nowrap}.rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 22px 14px;scroll-padding-left:22px;scrollbar-width:thin;scrollbar-color:var(--linen) transparent;position:relative}.combo-card{position:relative;flex:0 0 84%;height:420px;border-radius:14px;overflow:hidden;scroll-snap-align:start;background:var(--linen)}.combo-card>img{width:100%;height:100%;object-fit:cover}.combo-card>div{position:absolute;inset:auto 0 0;padding:65px 20px 22px;background:linear-gradient(transparent,var(--cream) 40%)}.combo-card h3{font-size:29px}.combo-card p:not(.eyebrow){font-size:13px;margin:9px 0}.text-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;padding:13px 0;width:100%;border-bottom:1px solid currentColor;text-align:left;color:var(--leather)}.winter>div{background:linear-gradient(transparent,var(--linen) 40%)}.summer>div{background:linear-gradient(transparent,var(--cream) 40%)}.replenishment{background:var(--cream);border-top:1px solid var(--linen);border-bottom:1px solid var(--linen)}.rail-caption .text-link{width:auto;padding:0;border:0;white-space:nowrap}.pack-card{flex:0 0 78%;border-radius:12px;background:var(--paper);overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;position:relative}.pack-photo{position:relative;height:190px;overflow:hidden}.pack-photo img{width:100%;height:100%;object-fit:cover}.qty{position:absolute;bottom:12px;right:12px;background:var(--paper);border-radius:50%;width:45px;height:45px;display:grid;place-items:center;font:20px var(--serif)}.pack-copy{padding:18px}.pack-copy h3{font-size:23px}.pack-copy p:not(.eyebrow){font-size:13px;margin-top:8px}.pack-copy .text-link{margin-top:8px}.pack-card.super{background:var(--ink);color:var(--cream);border:1px solid var(--ink)}.super .eyebrow,.super .text-link{color:var(--linen)}.super .qty{color:var(--ink)}.super-label{padding:11px 13px;background:var(--leather);font:10px 'IBM Plex Mono',monospace;letter-spacing:.5px;display:flex;justify-content:space-between}.super .pack-photo{height:155px}.rail-end{padding:0 22px;font-size:11px;color:#72665b}.family{padding:32px 18px;border-bottom:1px solid var(--linen);max-width:760px;margin:auto}.family .section-head{padding:0 4px 18px}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:var(--cream);gap:5px}.photo{flex:0 0 94%;padding:0;scroll-snap-align:start;height:320px;background:var(--cream)}.photo img{height:100%;width:100%;object-fit:cover}.photo img[src*="transparent"]{object-fit:contain;padding:16px}.gallery-foot{display:flex;justify-content:space-between;padding:10px 17px;font-size:11px;border-bottom:1px solid var(--linen);color:#72665b}.color-note{font-size:12px!important;color:#72665b;padding:12px 0}.sizes{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.sizes button{border:1px solid var(--linen);border-radius:7px;min-height:42px;padding:8px 12px;font-size:12px}.sizes button[aria-pressed=true]{border-color:var(--ink);background:var(--cream);box-shadow:inset 0 0 0 1px var(--ink)}.buy{display:flex;align-items:center;justify-content:space-between;gap:12px}.buy small{display:block;font-size:10px;color:#72665b;margin-bottom:4px}.buy strong{font-size:24px;letter-spacing:-.8px}footer{text-align:center;padding:45px 24px 30px;background:var(--cream)}footer img{height:56px;width:auto;margin:0 auto 24px}footer p{margin:15px 0;font-size:13px}footer small{display:block;font-size:11px;color:#72665b;max-width:420px;margin:auto}.loading{padding:60px;text-align:center}dialog{border:1px solid var(--linen);border-radius:18px;padding:28px 22px;max-width:560px;width:calc(100% - 24px);max-height:90dvh;background:var(--paper);color:var(--ink);overflow:auto}dialog::backdrop{background:#1e1a1788;backdrop-filter:blur(4px)}dialog h2{padding-right:32px;margin-bottom:18px}dialog p{margin:12px 0;font-size:14px}.close{position:sticky;float:right;top:0;z-index:2;width:38px;height:38px;border-radius:50%;background:var(--paper);border:1px solid var(--linen);font-size:25px;line-height:1}.detail-product .gallery{border-radius:12px}.detail-product .photo{height:340px}.detail-product .gallery.expanded .photo{height:500px}.zoom-image{width:100%;height:auto;max-height:75dvh;object-fit:contain}.composition{list-style:none;padding:0;margin:20px 0}.composition li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--linen);padding:12px 0;font-size:13px}.composition strong{font-size:12px}.reference-note{color:#72665b;font-size:12px!important}.shipping-note{background:var(--cream);padding:12px;border-radius:8px}.benefits{border-top:1px solid var(--linen);padding-top:16px;margin-top:22px}.benefits summary{cursor:pointer}.benefits li{font-size:14px;margin:8px 0}#toast{position:fixed;bottom:115px;left:50%;transform:translate(-50%,15px);max-width:90%;padding:12px 20px;background:var(--ink);color:var(--cream);border-radius:30px;z-index:1100;opacity:0;pointer-events:none;transition:.2s;font-size:13px;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}#order-preview{z-index:1200}#order-preview pre{white-space:pre-wrap;font:12px/1.6 'IBM Plex Mono',monospace;background:var(--cream);padding:16px;border-radius:8px}.coordinate-colors{background:var(--cream);padding:14px;border-radius:9px;margin:12px 0}.coordinate-colors label{display:flex;align-items:flex-start;gap:10px;font-size:13px;font-weight:600}.coordinate-colors input{accent-color:var(--leather);width:18px;height:18px;flex:none;margin:1px 0}.coordinate-colors p{font-size:12px;margin:10px 0 0}.t-cart{background:var(--paper)!important;font-family:var(--sans)!important}.t-cart h3{font-family:var(--serif)!important}.t-cart__send{background:var(--leather)!important;font-family:var(--sans)!important}.t-cart__total strong,.t-cart__total b{font-size:27px!important}.kb-ped{font-family:var(--sans)!important}.kb-ped__card{background:var(--ink)!important;color:var(--cream)!important;border-color:var(--ink)!important}.kb-ped__go{background:var(--leather)!important}.kb-ped--tienda{max-width:700px!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:100%!important}.kb-ped__empty-hint{display:none!important}.kb-ped__progress{accent-color:var(--leather)}[hidden]{display:none!important}@media(min-width:760px){#root{max-width:1180px;margin:auto}.masthead{padding:24px 40px}.hero{min-height:530px}.hero-image{height:530px;width:65%;margin-left:35%;object-position:50% 55%}.hero:after{background:linear-gradient(90deg,var(--cream) 28%,transparent 70%)}.hero-copy{top:95px;left:50px}.hero-sign{right:40px;bottom:30px}.intro{padding:20px 40px}.intro details{max-width:530px}.categories{justify-content:center}.rail-section{padding-top:40px}.section-head{padding-left:30px}.rail{padding-left:30px;padding-right:30px;scroll-padding-left:30px}.combo-card{flex-basis:calc((100% - 28px)/3);height:430px}.pack-card{flex-basis:29%}.family{max-width:100%;padding:42px 30px}.family>.section-head{max-width:580px}.gallery{grid-column:1;grid-row:1/4}.photo{height:440px}.gallery-foot{grid-column:1;grid-row:4}.buy{margin:25px 0}.hero h1{font-size:56px}.categories{top:0}.kb-ped--tienda{border-radius:15px 15px 0 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media(max-width:350px){h2{font-size:25px}.buy strong{font-size:21px}.button{padding:12px}.rail-caption{flex-wrap:wrap}.combo-card{flex-basis:90%}}
/* Preserve the cart layout; apply the new palette with readable contrast. */
.kb-ped__card .kb-ped__t,.kb-ped__card .kb-ped__s,.kb-ped__card .kb-ped__datos,.kb-ped__card .kb-ped__datos b,.kb-ped__card .kb-ped__meta,.kb-ped__card .kb-ped__gano{color:var(--cream)!important}.kb-ped__card .kb-ped__cta,.kb-ped__card .kb-ped__ico{background:var(--leather)!important;color:#fff!important}.kb-ped__card .kb-ped__s{font-size:11px!important}.kb-ped__card .kb-ped__t{font-size:11px!important}.kb-ped__card .kb-ped__barra{background:#665749!important}.kb-ped__card .kb-ped__barra i{background:var(--linen)!important}.kb-ped__card{padding:12px!important}.kb-ped--tienda .kb-ped__cta{padding:12px!important;min-height:43px!important}.t-cart__send{box-shadow:none!important}.photo{position:relative}

/* Mobile review: visible actions, wholesale offers, compact order dock. */
:root{--rule:var(--linen);--gain:var(--leather);--gain-soft:var(--cream);--pack:var(--leather);--pack-ink:var(--leather);--pack-soft:var(--cream);--pack-line:var(--linen)}
body{padding-bottom:calc(var(--t-bar-h,80px) + 16px)}
.intro summary,.chip{background:var(--cream);border:0;border-radius:10px;padding:12px 14px;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:10px}
.intro summary>span{background:#8b8175;color:#fff;border-radius:50%;display:grid;place-items:center;width:25px;height:25px;font-size:20px}
.shipping-badge{background:var(--leather);color:white;border-radius:9px;padding:10px 13px;margin:12px 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px 10px}
.shipping-badge strong{font-size:15px;letter-spacing:.04em}.shipping-badge span{font-size:11px}.super .shipping-badge{background:var(--cream);color:var(--ink)}
.combo-card{height:490px}.combo-card>div{padding-top:45px}.combo-units{font-weight:600}.rail-caption>span:first-child{white-space:normal;line-height:1.5}.rail-caption>span:last-child{flex-shrink:0}.combo-card .shipping-badge{margin-bottom:0}
.discount-badge{display:inline-block;background:var(--leather);color:white;font:bold 12px var(--sans);border-radius:24px;padding:9px 13px}.pack-photo>.discount-badge,.combo-card>.discount-badge{position:absolute;top:12px;left:12px;z-index:1;box-shadow:0 2px 10px #0002}
.pack-lines{list-style:none;padding:0;margin:12px 0;font-size:14px;line-height:1.6}.pack-lines li+li{margin-top:4px}.pack-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:12px 0 4px}.pack-price s{font-size:12px;opacity:.65}.pack-price strong{font-size:23px}.resale{display:block;font-size:11px;line-height:1.5;margin-top:7px}.resale b{font-size:13px;white-space:nowrap}.super .chip{background:#41382f;color:var(--cream)}.pack-copy{flex:1;display:flex;flex-direction:column}.pack-copy>.text-link{margin-top:auto}.pack-copy>.resale{margin-bottom:14px}
.family{padding-left:0;padding-right:0;overflow:hidden;max-width:none}.family>.section-head{padding:0 22px 18px}.product-subtitle{display:block;font-size:14px;margin-top:5px}.fresh{font:600 italic 27px 'Lora',serif;color:var(--celeste)}.new-badge{display:inline-block;font:9px 'IBM Plex Mono',monospace;letter-spacing:1px;background:var(--celeste);border-radius:4px;padding:4px 7px;margin-bottom:8px;color:var(--ink)}.summer-edition{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}.detail-heading{margin-bottom:18px}.detail-heading h3{font-size:29px}.photo{height:285px}.gallery-foot{font-size:10px;padding:9px 14px}.buy strong{font-size:23px}.buy{margin:0}.benefits summary{cursor:pointer}.detail-product .photo{height:290px}
.detail-shade{display:none;position:fixed;inset:0;background:#1e1a1780;backdrop-filter:blur(4px);z-index:580}.detail-open .detail-shade{display:block}.detail-open,.t-noscroll{overflow:hidden}
#detail{position:fixed;inset:auto 0 calc(var(--t-bar-h,80px) + 10px);margin:0 auto;max-height:calc(100dvh - var(--t-bar-h,80px) - 30px);z-index:600;box-shadow:0 10px 60px #0003}
.kb-ped.kb-ped--tienda{bottom:0!important;padding:0!important;z-index:650;max-width:560px!important}
.kb-ped--tienda .kb-ped__card{width:100%;max-width:none;height:auto;gap:7px 9px;padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;border-radius:14px 14px 0 0;border-width:1px 0 0;grid-template-columns:32px minmax(0,1fr) auto}
.kb-ped--tienda .kb-ped__ico{width:32px;height:32px;border-radius:8px}.kb-ped--tienda .kb-ped__ico svg{width:20px;height:20px}.kb-ped--tienda .kb-ped__cta{grid-column:3;grid-row:1;min-height:40px!important;font-size:12px;padding:8px 10px!important;box-shadow:none}.kb-ped--tienda .kb-ped__cta-flecha{display:none}.kb-ped--tienda .kb-ped__datos{font-size:10px;gap:4px;flex-wrap:wrap}.kb-ped--tienda .kb-ped__datos b{font-size:17px}.kb-ped--tienda .kb-ped__t{font-size:9px!important;letter-spacing:0}.kb-ped--tienda .kb-ped__s{display:none}.kb-ped--tienda .kb-ped__prog{grid-column:1/-1;gap:6px;flex-wrap:nowrap}.kb-ped--tienda .kb-ped__camion{display:none}.kb-ped--tienda .kb-ped__barra{min-width:24px;height:5px;flex:1 1 24px}.kb-ped--tienda .kb-ped__meta{white-space:normal;font-size:10px;flex:0 1 auto}.kb-ped--tienda .kb-ped__meta b{font-size:11px}.kb-ped--tienda .kb-ped__gano{font-size:10px}.kb-ped--tienda .kb-ped__card:hover{transform:none}
body.cart-open .kb-ped--tienda{visibility:hidden;opacity:0}.t-cart-overlay{z-index:800}.t-cart{max-height:90dvh;max-width:560px}.t-cart__inner{height:90dvh;min-height:0}.t-cart__head,.t-cart__pie{flex-shrink:0;background:var(--paper)!important}.t-cart__cuerpo{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.t-cart__pie{position:relative;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.t-cart__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.t-cart__right{flex-direction:column;gap:5px;align-items:flex-end}.t-cart__name{font-size:13px}.t-cart__stepper button{width:36px;height:36px}.t-cart__total-val{font-size:26px}.t-cart__send{min-height:44px;font-size:14px}.t-cart__pie .t-cart__envio{margin-bottom:6px}
.kb-ped--tienda .kb-reco{width:calc(100% - 16px);max-width:none;margin-bottom:6px}.kb-reco:not(.is-on){display:none}.kb-reco__card{grid-template-columns:36px minmax(0,1fr) auto;gap:4px 7px}.kb-reco__thumb{width:36px;height:36px}.kb-reco__head{font-size:9px;padding-right:23px;flex-wrap:wrap;letter-spacing:0}.kb-reco__name{font-size:13px}.kb-reco__det{font-size:10px}.kb-reco__add{font-size:11px;padding:10px 8px}.kb-reco__precio b{font-size:15px}.kb-reco__x{width:32px;height:32px;top:0;right:0}.kb-reco__precio{flex-wrap:wrap}#toast{bottom:calc(var(--t-bar-h,80px) + 12px);white-space:normal;text-align:center}
@media(min-width:760px){.hero-image{margin-top:0;height:530px}.photo{height:350px}.combo-card{height:510px}}

.kb-ped__card .kb-ped__meta b{color:var(--cream)!important}.reco-resale{display:block;width:100%;font-size:10px;color:var(--ink-2)}

body.cart-open #toast{display:none}
/* Commercial hierarchy: blue savings, green earned benefits, leather actions. */
:root{--sale-blue:var(--celeste);--sale-ink:var(--ink);--success:var(--ink);--success-soft:var(--linen);--gain:var(--ink);--gain-soft:var(--linen)}
.hero-image{margin-top:25px;height:420px;object-position:center 60%}.hero{min-height:480px}.hero:after{background:linear-gradient(180deg,var(--cream) 3%,rgba(244,237,227,.88) 12%,rgba(244,237,227,.18) 43%,transparent 60%)}.hero-sign{bottom:12px;color:var(--ink);text-shadow:none;font-size:16px}.hero-copy{top:26px}
.intro summary{gap:8px}.intro summary>.conditions-chevron{background:none;color:var(--ink-3);font-size:22px;width:12px;height:auto;border-radius:0;flex:none}.intro summary>.conditions-label{display:block;background:none;color:var(--ink);border-radius:0;font-size:13px;width:auto;height:auto;flex:1}.intro summary>.conditions-plus{font:22px/1 Arial,sans-serif;width:26px;height:26px;display:flex;align-items:center;justify-content:center;padding:0 0 2px;flex:none}
.combo-benefits{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;align-items:baseline}.combo-rail-hint{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);margin-top:8px}.combo-rail-hint>span{color:var(--leather)}.combo-card h3{font-size:26px;line-height:1.2}.combo-card .combo-units{display:flex;align-items:baseline;gap:5px;font-size:14px;margin:12px 0}.combo-units b{font-size:30px;line-height:1;font-weight:600}.combo-units span{font-size:12px;margin-left:3px}.shipping-badge,.super .shipping-badge{background:var(--success-soft);color:var(--success);border:1px solid var(--linen)}.shipping-badge strong{font-size:14px}.discount-badge{background:var(--sale-blue);color:var(--sale-ink);font-weight:700}.resale{color:var(--sale-ink)}.resale b{background:var(--sale-blue);padding:2px 5px;border-radius:4px;text-decoration:underline;text-underline-offset:3px}.super .resale{color:var(--cream)}.super .resale b{color:var(--sale-ink)}.reco-resale{color:var(--sale-ink);font-weight:600}
.pack-rail{align-items:flex-start}.pack-copy>.text-link{margin-top:12px}.pack-copy>.resale{margin-bottom:0}.pack-copy{padding:15px}.pack-photo{height:175px}.pack-copy .pack-lines{margin:9px 0}.pack-copy .pack-price{margin-top:8px}.pack-card.super .pack-photo{height:155px}.title-line,.version-line{display:flex;align-items:center;justify-content:space-between;gap:8px}.version-line{justify-content:flex-start;min-height:34px;margin-top:4px}.title-line h3{font-size:24px}.title-line .new-badge{margin:0;flex:none}.version-line .product-subtitle{margin:0}.version-line .summer-edition{margin:0;font-size:9px;letter-spacing:.03em;white-space:nowrap}.version-line .fresh{font-size:25px}
.benefits ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.benefits li{font-size:12px;margin:0;padding:10px;background:var(--cream);border:1px solid var(--linen);border-radius:8px;line-height:1.4}.benefits li:before{content:'✓';color:var(--success);margin-right:6px;font-weight:bold}
.pack-detail h2{font-size:26px;margin-bottom:15px}.pack-offer{background:var(--cream);border:1px solid var(--linen);padding:14px;border-radius:12px;margin-top:16px}.pack-offer .buy{gap:8px}.pack-offer .button{padding:12px;font-size:12px}.pack-offer .saving{font-size:12px;color:var(--success);font-weight:600;margin:12px 0 0}.pack-offer .buy strong{font-size:24px}
.kb-ped__card .kb-ped__gano{background:var(--success-soft);color:var(--success)!important;padding:3px 6px;border-radius:5px;display:inline-flex;align-items:center}.kb-ped__card .kb-ped__ok{fill:var(--success);color:var(--success)}.kb-ped__prog.is-listo .kb-ped__meta{background:var(--success-soft);color:var(--success)!important;padding:4px 7px;border-radius:6px}.kb-reco__off{background:var(--sale-blue);color:var(--sale-ink)}
.milestone{display:none;position:fixed;z-index:1100;top:70px;left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:480px;padding:14px;background:var(--success-soft);color:var(--ink);border:1px solid var(--linen);border-radius:12px;box-shadow:0 6px 30px #0002;align-items:center;gap:10px}.milestone.show{display:flex}.milestone p{font-size:13px;line-height:1.45;font-weight:600}.milestone-check{font-size:23px}.milestone button{margin-left:auto;align-self:flex-start;min-width:28px;font-size:22px}.milestone.show~#toast{display:none}
@media(min-width:760px){.hero-image{height:530px;margin-top:0;object-position:center 55%}.hero-sign{bottom:18px}.hero:after{background:linear-gradient(90deg,var(--cream) 28%,transparent 70%)}}.detail-open #toast{display:none}

/* Final requested refinements only. */
@media(max-width:759px){.hero-image{margin-top:30px;height:435px;object-position:center 60%;transform:translateX(4px) scale(1.02)}.hero-sign{bottom:28px}.hero{height:465px;min-height:465px}.hero-copy{top:4px}}
.intro summary>.conditions-chevron{font-size:28px;width:15px}
#t-nidos .title-line .fresh{font-size:26px}

/* ── Escritorio (≥1024px) ───────────────────────────────────────────────
   La muestra se pensó para el celular; acá se reacomoda sin tocar el HTML:
   bandas a todo el ancho con el contenido en una columna de 1240px, portada
   partida, packs en grilla en vez de carrusel (con mouse no se desliza),
   detalle en dos columnas y sin los avisos de "deslizá". */
.gallery-nav{display:flex;gap:2px}.gallery-nav button{min-width:30px;min-height:26px;border-radius:6px;color:var(--ink-3)}.gallery-nav button:hover{background:var(--cream);color:var(--ink)}
@media(min-width:1024px){
:root{--gut:max(48px,calc((100% - 1240px)/2))}
#root{max-width:none}
.masthead,.intro,.categories,.section-head,.family,footer{padding-left:var(--gut);padding-right:var(--gut)}
.rail{padding-left:var(--gut);padding-right:var(--gut);scroll-padding-left:var(--gut)}
.rail-end,.combo-rail-hint,.touch-only{display:none!important}

/* portada partida: texto a la izquierda, foto a sangre a la derecha */
.hero{height:clamp(560px,76vh,720px);min-height:0}
.hero-image{position:absolute;right:0;top:0;height:100%;width:62%;margin:0;object-position:center 58%}
.hero:after{background:linear-gradient(90deg,var(--cream) 38%,rgba(244,237,227,.6) 46%,transparent 60%)}
.hero-copy{top:50%;left:var(--gut);transform:translateY(-50%);max-width:520px}
.hero h1{font-size:clamp(60px,5.6vw,84px);letter-spacing:-2.4px}
.hero-copy p:not(.eyebrow){font-size:17px;margin:20px 0 28px}
.hero-copy .eyebrow{font-size:11px}
.hero .button{padding:16px 24px;font-size:15px}
.hero-sign{right:auto;left:var(--gut);bottom:36px;font-size:22px}

.intro{align-items:center;gap:6px 22px;font-size:14px;padding-top:22px;padding-bottom:22px}
.intro details{width:auto;max-width:520px;margin:0 0 0 auto;flex:1}
.categories{justify-content:center;gap:10px}
.categories a{padding:10px 18px;font-size:14px}

.rail-section{padding-top:64px;padding-bottom:56px}
.section-head{padding-bottom:28px}
h2{font-size:40px;letter-spacing:-1.2px}

/* combos: los tres a la vista */
.combo-rail{overflow:visible}
.combo-card{flex:1 1 0;height:560px}
.combo-card h3{font-size:30px}
.combo-card:hover>img{transform:scale(1.03)}.combo-card>img{transition:transform .6s ease}

/* packs: grilla de 6 columnas — los tres packs de a dos, los súper de a tres */
.pack-rail{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;overflow:visible;align-items:stretch}
.pack-card{grid-column:span 2;transition:box-shadow .2s,transform .2s}
.pack-card:hover{box-shadow:0 12px 34px #1e1a1714;transform:translateY(-2px)}
.pack-photo{height:220px}
.pack-card.super{grid-column:span 3;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr}
.pack-card.super .super-label{grid-column:1/-1}
.pack-card.super .pack-photo{height:auto;min-height:260px}
.pack-card.super .pack-copy{padding:22px}

/* familias: los dos modelos lado a lado, sin carrusel */
.family{padding-top:64px;padding-bottom:64px}
.family>.section-head{padding:0 0 28px}
.family>.section-head>p:not(.eyebrow){font-size:16px;margin-top:10px}

/* detalle: fotos a la izquierda, compra a la derecha */
#detail{max-width:1040px;inset:0;margin:auto;max-height:min(860px,calc(100dvh - 48px));padding:34px 36px}
.detail-product{display:flow-root}
.detail-product>.gallery,.detail-product>.flechas,.detail-product>.gallery-foot{float:left;clear:left;width:52%}
.detail-product>:not(.gallery):not(.flechas):not(.gallery-foot){margin-left:calc(52% + 36px)}
.detail-product .photo{flex-basis:100%;height:520px}
.detail-product>p{margin-top:2px}
#detail:has(.pack-detail){max-width:820px}

footer{padding-top:72px;padding-bottom:56px}
footer h2{font-size:44px}
#toast{bottom:calc(var(--t-bar-h,80px) + 18px)}
}

/* ── Navegación y grilla de productos (2026-11-04) ─────────────────────────
   Una sola barra de categorías, después de la portada y las condiciones;
   se traba arriba al llegar.
   Combos y Reposición llevan un destaque fijo (tono de packs); la sección en
   pantalla, un estado activo distinto (tinta llena, aria-current). Los
   productos sueltos van en grilla de dos columnas con una foto 4:5 cada uno;
   medida, galería y compra viven en la ficha. */
html{scroll-padding-top:calc(var(--nav-h,62px) + 12px)}
.categories{align-items:center;gap:6px;padding:10px 28px 10px 16px;z-index:20;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent)}
.categories a{flex:none;display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;font-size:13px;color:var(--ink);background:var(--paper);transition:background .15s,color .15s,border-color .15s}
.categories a:hover{background:var(--cream);color:var(--ink)}
.categories .cat-promo{background:var(--pack-soft);border-color:var(--pack-line);color:var(--pack-ink);font-weight:600}
.categories .cat-promo:hover{background:var(--linen);color:var(--pack-ink)}
.cat-sep{flex:none;width:1px;height:22px;background:var(--linen);margin:0 3px}
.categories a[aria-current],.categories a[aria-current]:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}

.family{padding:30px 0 34px;overflow:visible}
.family>.section-head{padding:0 22px 16px}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px}
/* subgrid: familia, modelo, medidas y precio quedan a la misma altura en las
   dos tarjetas de una fila aunque un modelo ocupe dos renglones. */
.card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 6;row-gap:0;min-width:0;background:var(--paper);border:1px solid var(--linen);border-radius:12px;overflow:hidden;transition:box-shadow .2s}
.card>:not(.card-photo){margin-inline:11px}
.card-photo{position:relative;aspect-ratio:1/1;background:var(--cream)}
.card-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
/* Una foto apaisada (colchonetas) entera, sin cortarle los bordes al producto. */
.card-photo img.is-wide{object-fit:contain;background:#fff}
.card-photo .new-badge{position:absolute;top:8px;left:8px;margin:0}
.card-family{font-size:11px;line-height:1.3;color:var(--ink-3);padding-top:10px}
.card-model{font-size:20px;line-height:1.15;margin-top:2px}
.card-model.fresh{font:600 italic 21px/1.15 'Lora',serif;color:var(--celeste)}
.card-sizes{font-size:11.5px;line-height:1.35;color:var(--ink-2);margin-top:6px}
.card-price{display:flex;align-items:baseline;gap:4px;margin:7px 0 10px;font-size:11px;line-height:1.2;color:var(--ink-3)}
.card-price strong{font-size:18px;letter-spacing:-.4px;color:var(--ink)}
.card-cta{align-self:end;margin-bottom:11px;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:40px;padding:8px 10px;border:1px solid var(--leather);border-radius:8px;color:var(--leather);font-size:12.5px;font-weight:600;text-align:left;transition:background .15s,color .15s}
.card-cta::after{content:'';position:absolute;inset:0}
.card:hover{box-shadow:0 10px 28px #1e1a1712}.card:hover .card-cta{background:var(--leather);color:#fff}
.card-cta:focus-visible{outline:0}.card:has(.card-cta:focus-visible){outline:3px solid var(--ink);outline-offset:2px}

/* Ficha: fotos con la misma proporción que la tarjeta; la siguiente asoma. */
.detail-product .gallery{gap:8px;border-radius:12px;background:none}
.detail-product .photo,.detail-product .gallery.expanded .photo{flex:0 0 auto;height:min(280px,32dvh);width:auto;aspect-ratio:4/5;border-radius:10px;overflow:hidden}
.detail-product .gallery.expanded .photo{height:min(520px,70dvh)}
.detail-product .gallery.one{justify-content:center;background:var(--cream)}
.detail-product .gallery-foot{border:0;padding:8px 2px 0}
.sizes-label{font-size:12px;font-weight:600;margin:18px 0 8px}
.detail-product .sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;margin:0 0 4px}
.detail-product .sizes button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:58px;padding:9px 11px;border-radius:9px;background:var(--paper);text-align:left}
.size-name{font-size:13px;font-weight:600}.size-price{font-size:12px;color:var(--ink-3)}
.sizes button[aria-pressed=true] .size-price{color:var(--ink)}
.size-qty{font-size:10px;font-weight:600;color:var(--success)}
/* La compra queda pegada abajo de la ficha: siempre a mano, nunca tapada. */
.detail-buy{position:sticky;bottom:-28px;z-index:1;margin:0 -22px;padding:12px 22px;background:var(--paper);border-top:1px solid var(--linen)}
.detail-buy small{font-size:11px}.detail-buy strong{white-space:nowrap}
.detail-buy .button{flex:0 1 170px;min-width:0}
.button[disabled]{background:var(--linen);color:var(--ink-2);cursor:default}
.options>.resale{margin-bottom:6px}

@media(min-width:760px){
.product-grid{max-width:760px;gap:18px;padding:0 30px}
.card>:not(.card-photo){margin-inline:16px}.card-family{padding-top:14px}.card-cta{margin-bottom:16px}
.card-model{font-size:25px}.card-model.fresh{font-size:26px}
.card-sizes{font-size:13px}.card-price strong{font-size:22px}
}
@media(min-width:1024px){
.categories{padding-left:var(--gut);padding-right:var(--gut);-webkit-mask-image:none;mask-image:none}
.categories a{padding:9px 18px;font-size:14px}
/* Escritorio: título de la familia a la izquierda, sus modelos a la derecha. */
.family{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,660px);gap:56px;align-items:start;padding:64px var(--gut)}
.family>.section-head{padding:0;max-width:none;position:sticky;top:calc(var(--nav-h,62px) + 28px)}
.product-grid{max-width:none;padding:0;gap:24px}
.detail-product .photo{height:min(520px,62dvh)}
.detail-product .gallery.one{background:none;justify-content:flex-start}
.detail-buy{margin:0;padding:14px 0;bottom:-34px}
/* La ficha se centra en el espacio que deja libre la barra del pedido. */
#detail{inset:16px 0 calc(var(--t-bar-h,80px) + 12px);max-height:calc(100dvh - var(--t-bar-h,80px) - 28px)}
}
.combo-card,.pack-card{cursor:pointer}
.pack-copy>.resale{text-align:right}

/* ── Ficha: cantidad, pack relacionado y ficha de conjuntos (2026-11-04) ── */
/* − cantidad +: ocupa el lugar de "Agregar" en cuanto la medida está en el pedido. */
.qty-stepper{flex:0 1 170px;display:grid;grid-template-columns:46px 1fr 46px;align-items:center;min-height:46px;border:1.5px solid var(--leather);border-radius:8px;background:var(--paper);overflow:hidden}
.qty-stepper button{height:100%;min-height:44px;font-size:22px;line-height:1;color:var(--leather)}
.qty-stepper button:hover{background:var(--pack-soft)}
.qty-stepper output{text-align:center;font-size:18px;font-weight:700}
/* El pack del producto, debajo de la cantidad. */
.bundle-reco{margin:14px 0 4px;padding:14px;border:1px solid var(--pack-line);border-radius:12px;background:var(--pack-soft)}
.br-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.br-head .eyebrow{margin:0;color:var(--pack-ink)}
.br-head .discount-badge{padding:5px 9px;font-size:11px}
.br-body{display:grid;grid-template-columns:56px minmax(0,1fr);gap:11px;align-items:center}
.br-body img{width:56px;height:56px;border-radius:8px;object-fit:cover}
.br-body h3{font-size:18px;line-height:1.2}
#detail .br-trae{margin:3px 0 0;font-size:12.5px;line-height:1.4;color:var(--ink-2)}
.br-buy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.br-buy .pack-price{margin:0}.br-buy .pack-price strong{font-size:21px}
.br-buy .button{min-height:42px;padding:10px 14px;font-size:13px;white-space:nowrap;gap:8px}
#detail .br-save{margin:10px 0 0;font-size:12px;color:var(--success);line-height:1.5}
.br-save b{color:var(--success)}
.br-ver{font-size:12px;font-weight:600;color:var(--pack-ink);text-decoration:underline;text-underline-offset:3px;min-height:32px}

/* Combo / pack: foto arriba a todo el ancho y altura moderada; filas debajo. */
.pk-media{position:relative;margin:0 -8px 16px;border-radius:12px;overflow:hidden;background:var(--cream)}
.pk-media img{width:100%;aspect-ratio:3/2;max-height:260px;object-fit:cover;object-position:center 55%}
.pk-media .discount-badge{position:absolute;top:10px;left:10px;box-shadow:0 2px 10px #0002}
.pack-detail .eyebrow{margin-bottom:4px}
.pack-detail h2{font-size:25px;margin-bottom:14px;padding-right:0}
.pk-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin:0 0 6px!important}
.pk-rows{list-style:none;margin:0 0 14px;padding:0;border-top:1px solid var(--linen)}
.pk-rows li{border-bottom:1px solid var(--linen)}
.pk-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:46px;padding:5px 2px;text-align:left}
button.pk-row:hover{background:var(--cream)}
.pk-qty{font:600 16px var(--sans);color:var(--leather)}
.pk-name{display:flex;flex-direction:column;min-width:0}
.pk-name b{font-weight:600;font-size:14px}
.pk-name small{font-size:12px;color:var(--ink-3)}
.pk-go{font:22px/1 Arial,sans-serif;color:var(--ink-3);padding-right:4px}
.pk-free{font-size:11px;font-weight:700;color:var(--success);background:var(--success-soft);border-radius:5px;padding:3px 7px}
.pack-detail .pack-offer{margin-top:4px}
.pack-detail .pack-offer .shipping-badge{margin:0 0 12px}
.pack-detail .pack-offer .button{padding:12px 16px;font-size:13px}
.pack-detail .pack-offer .saving{margin:10px 0 0}
.pack-detail .pack-offer .resale{margin-top:4px}
@media(min-width:1024px){
/* Escritorio: foto a la izquierda, composición y compra a la derecha. */
.pack-detail{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.pk-media{margin:0;position:sticky;top:0}
.pk-media img{aspect-ratio:4/5;max-height:none}
}
/* Ficha de combo/pack compacta (4/11): una línea por producto, la cantidad pegada y más grande. */
.pk-row{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;min-height:38px;padding:4px 2px}
.pk-qty{min-width:24px;font:700 17px var(--sans)}
.pk-name{display:block;font-size:14px;line-height:1.3;color:var(--ink-2)}
.pk-name b{font-weight:600;color:var(--ink)}
.pk-media .gallery{background:none}
.pk-media .photo{flex:0 0 88%;height:auto;aspect-ratio:3/2;max-height:240px;border-radius:10px;overflow:hidden}
.pk-media .gallery.one .photo{flex-basis:100%}
.pk-media .gallery.expanded .photo{aspect-ratio:4/5;max-height:70dvh}
.pk-media .gallery-foot{border:0;padding:6px 4px 0}
.pk-media .discount-badge{z-index:1}
/* Combo abierto: cantidad y nombre de cada producto sobre su foto (reemplaza la chapa de %). */
.pk-media .photo{position:relative}.photo-tag{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);background:var(--paper);color:var(--ink);font:500 13px/1.25 var(--sans);text-align:left;border-radius:8px;padding:7px 10px;box-shadow:0 2px 10px #0002}.photo-tag b:first-child{color:var(--leather);font-weight:700}
/* Súper packs: banda más fina y centrada, para que no estiren el carrusel. */
.super-label{padding:5px 13px;justify-content:center}
/* Colchones y Moisés: King/Queen y Moisés/Terraza en dos botones iguales. */
.detail-product .sizes.versions{grid-template-columns:1fr 1fr;margin-top:16px}
@media(min-width:1024px){.pk-media .photo{flex-basis:100%;aspect-ratio:4/5;max-height:none}}
@media(max-width:1023px){.pack-card.super .pack-photo{height:140px}.pack-card.super .shipping-badge{margin:10px 0 0;padding-top:6px;padding-bottom:6px}}
/* Pack de una tarjeta: "2× King 90 × 70 cm": cantidad marcada, medida en tono suave. */
.pack-lines .pl-qty{font-weight:700;font-size:15px;line-height:1;color:var(--leather);margin-right:2px}
.pack-lines .pl-size{font-size:12px;color:var(--ink-3);margin-left:4px;white-space:nowrap}
.super .pack-lines .pl-qty{color:var(--linen)}
.super .pack-lines .pl-size{color:#b9ab9c}
/* Combos: "Deslizá →" a la altura de los chips, a la derecha. */
.combo-benefits .combo-rail-hint{margin:0 0 0 auto;font-size:11px;color:var(--leather)}
.detail-product .sizes{margin-top:14px}
.eyebrow b{font-weight:700}
@media(max-width:759px){.hero-image{object-position:center calc(60% + 7px)}}

/* Súper packs: el envío gratis va como chip sobre la foto, a la altura del
   descuento, en vez de una franja más en la tarjeta (dueño, 5/11). */
.photo-ship{position:absolute;top:12px;right:12px;z-index:1;display:inline-flex;align-items:center;gap:6px;background:#27724c;color:#fff;font:700 12px var(--sans);border-radius:24px;padding:0 13px;height:32px}
.photo-ship svg{width:16px;height:11px;flex:none}

/* Combos: el texto tapa la mitad de abajo de la tarjeta, así que la foto
   sube para que el producto quede en la franja libre de arriba (dueño, 5/11).
   Con top y no con transform, para no pisar el zoom del hover. */
.combo-card>img{position:relative;top:-20%;height:85.5%}
#combo-lugar>img{top:calc(-20% + 7px)}
.combo-lead{font-size:14px;color:var(--ink-2)}

/* Chips de la ficha más bajos sin achicar lo de adentro (dueño, 5/11):
   solo medida −10% (58 → 52), modelo + medida −3% (58 → 56). */
.detail-product .sizes button{justify-content:center;min-height:52px;padding-top:6px;padding-bottom:6px}
.detail-product .sizes.versions button{min-height:56px;padding-top:8px;padding-bottom:8px}

/* ── Compra desde la tarjeta y barra fija en conjuntos (2026-11-05) ── */
/* Producto sin medida y packs: la tarjeta abre la ficha, "Agregar" suma. */
.card-name{display:inline;padding:0;min-height:0;text-align:left;font:inherit;color:inherit;background:none;letter-spacing:inherit}
.card-buy{align-self:end;margin-bottom:11px}
.card-buy .card-add{width:100%}
.card-cta.card-add::after{content:none}
.card-cta.card-add:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.card:has(.card-add:focus-visible){outline:0}
.card-buy .qty-stepper{min-height:40px;grid-template-columns:40px 1fr 40px}
.card-buy .qty-stepper button{min-height:38px;font-size:20px}
.card-buy .qty-stepper output{font-size:16px}
.card-buy .qty-stepper{width:100%}
/* Pack: la reventa a la izquierda (monto abajo) y Agregar a la derecha. */
.pack-foot{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid var(--linen)}
.pack-foot .resale{margin:0;text-align:left;line-height:1.25;white-space:nowrap}
.pack-foot .resale b{display:block;width:max-content;margin-top:4px}
.pack-foot .card-buy{margin:0;align-self:center}
.pack-foot .card-add{min-height:44px}
.pack-foot .qty-stepper{min-height:44px;grid-template-columns:38px 1fr 38px}
/* Colchones y Moisés: tarjeta entera tocable; precio con un botón oscuro chico. */
.card--directa{grid-row:span 5;cursor:pointer}
.card-buy--directa{align-self:start;margin-bottom:11px}
/* Contador: − y + con fondo marrón, en la tarjeta y en la ficha. */
.qty-stepper button,.card-buy .qty-stepper button{background:var(--leather);color:#fff}
.qty-stepper button:hover{background:var(--kobu-blue-2)}
/* Medida de la ficha: lo que ya está en el pedido es un número en un círculo
   en la esquina, sin cambiar el tamaño del recuadro. */
.detail-product .sizes button{position:relative}
.size-qty{position:absolute;right:6px;bottom:6px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--leather);color:#fff;font-size:10.5px;font-weight:700;line-height:1}
/* Combo: sin "Ver combo"; precio en recuadro, centrado, con el % a la derecha. */
.combo-card h3 .card-name{display:block}
.combo-price{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:12px;padding:12px 12px 12px 14px;border:1px solid var(--linen);border-radius:12px;background:var(--paper)}
/* El precio se centra en el lugar que deja el chip, no en todo el recuadro. */
.combo-price .pack-price{display:flex;flex-direction:column;align-items:center;gap:0;margin:0}
.combo-price .pack-price s{font-size:13px}
.combo-price .pack-price strong{font-size:33px;line-height:1.05;letter-spacing:-1px}
.combo-off{display:grid;place-items:center;min-width:58px;padding:9px 10px;border-radius:12px;background:var(--leather);color:#fff;font-size:20px;font-weight:800;line-height:1;text-align:center}
.combo-off small{display:block;margin-top:3px;font-size:11px;font-weight:700;letter-spacing:1px}
/* "Envío gratis", el mismo chip de la foto, montado sobre el borde de abajo. */
.combo-price.con-envio{padding-bottom:22px;margin-bottom:16px}
.combo-price .photo-ship{top:auto;right:auto;bottom:0;left:50%;transform:translate(-50%,50%);height:28px;font-size:11.5px;white-space:nowrap}
@media(min-width:760px){.card-buy{margin-bottom:16px}}
/* Ficha de un combo o pack: precio y acción pegados abajo mientras se recorre. */
.pack-buy{margin-top:16px}
.card-buy--ficha{flex:0 1 190px;min-width:0;display:flex}
.card-buy--ficha>*{flex:1;min-width:0}
.pack-detail .pack-offer .saving{margin:0}
.pack-detail .pack-offer .shipping-badge+.saving{margin-top:0}
/* Volver al conjunto desde uno de sus productos. */
.detail-back{display:inline-flex;gap:4px;align-items:baseline;min-height:36px;margin:0 0 6px;padding:6px 10px 6px 0;font-size:13px;color:var(--leather);font-weight:600;text-align:left}
.detail-back b{font-weight:700}
/* Las tarjetas del riel de packs, del mismo alto: así el pie (reventa +
   Agregar) queda a la misma altura en todas. */
.pack-rail{align-items:stretch}
.pack-copy>.pack-price{margin-bottom:14px}
.pack-card.super .card-add,.pack-card.super .card:hover .card-add{background:var(--leather);color:#fff}
/* Botones de las tarjetas de producto ("Elegir medida", "Agregar +"), en
   marrón lleno (dueño, 5/11). Los packs siguen con el suyo. */
.card .card-cta{background:var(--leather);color:#fff}
.card:hover .card-cta,.card .card-cta:hover{background:var(--kobu-blue-2);color:#fff}
/* Pack dentro de la ficha y recomendador: un beige más oscuro que el fondo
   y un borde marcado, para que se despeguen de la página. */
:root{--beige-destaque:#ebdecb;--beige-borde:#bf9f78}
.bundle-reco{background:var(--beige-destaque);border:1.5px solid var(--beige-borde)}
.kb-reco__card.kb-reco__card{background:var(--beige-destaque);border:1.5px solid var(--beige-borde)}
.t-cart__reco.kb-reco__card{border-width:2px}
#detail .br-trae{list-style:none;padding:0}
#detail .br-trae li+li{margin-top:2px}
/* ── Combos, packs y hero (2026-11-05) ── */
/* "Ver detalle": la invitación a abrir el combo. Toda la tarjeta es tocable;
   el chip no agranda el renglón. */
.combo-card .combo-units{align-items:center}
.combo-units .combo-ver{margin-left:auto;padding:4px 10px;border-radius:20px;background:var(--sale-blue);color:var(--sale-ink);font-size:11.5px;font-weight:700;line-height:1.2;white-space:nowrap}
/* Packs: el precio se pega al pie, así queda a la misma altura en todos. */
.pack-copy>.pack-price{margin-top:auto}
.pack-foot{margin-top:0}
.pack-card .card-add{background:var(--leather);color:#fff}
.pack-card .card-add:hover{background:var(--kobu-blue-2)}
/* Hero: la firma 10px más abajo (5 + 5, dueño 5/11) y las condiciones en chips translúcidos. */
.hero-sign{transform:translateY(10px)}
.hero-copy{right:16px}
.hero-terms{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.hero-terms li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(250,247,242,.62);border:1px solid rgba(255,255,255,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--ink);font-size:12px;font-weight:600;line-height:1.2;box-shadow:0 2px 10px #1e1a1712}
.hero-terms svg{width:16px;height:11px;flex:none}
/* Pieza vacía: la instrucción de cómo se compra, en dos renglones. */
.kb-ped--tienda .kb-ped__t.kb-ped__t--guia{font-size:12px!important;font-weight:400;line-height:1.3;text-transform:none;letter-spacing:0;white-space:normal}
.kb-ped__wa{color:#4ade80;font-weight:800}
.kb-ped__t--guia b{font-weight:800}
.hero-terms li{font-weight:500}.hero-terms b{font-weight:800}

/* PIE (2026-11-05): prueba social a la izquierda, "Conocenos" a la derecha
   y WhatsApp abajo de todo, los tres en el mismo ancho. */
.pie{display:flex;flex-direction:column;align-items:center}
.pie>p{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:5px;margin:10px 0 0}
.pie svg{fill:currentColor}
.pie-fila,.pie-wsp{width:100%;max-width:720px}
.pie-fila{display:grid;gap:10px;margin:28px 0 10px}
.pie-prueba{display:flex;gap:8px}
.pie-prueba a{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:8px 12px;border:1px solid var(--linen);border-radius:12px;background:var(--paper);font-size:13px;transition:background .15s}
.pie-prueba a:hover{background:#fff}
.pie-prueba b{font:400 17px/1 var(--serif)}
.pie-prueba small,.pie-wsp small{margin:0;max-width:none}
.pie-prueba small{font-size:12px;color:var(--ink-3);white-space:nowrap}
.pie-stars{display:inline-flex;gap:1px;color:#e8a33c}
.pie-conocenos{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:12px 16px;border:1px solid var(--leather);border-radius:12px;color:var(--leather);font-weight:600;font-size:14px;transition:background .15s,color .15s}
.pie-conocenos:hover{background:var(--leather);color:#fff}
.pie-wsp{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:var(--ink);color:var(--cream);text-align:left;transition:background .15s}
.pie-wsp:hover{background:#000}
.pie-wsp>svg{color:#25d366}
.pie-wsp span:not(.pie-flecha){display:grid;gap:2px}
.pie-wsp b{font-size:15px}
.pie-wsp small{font-size:12px;color:var(--linen)}
.pie-flecha{font-size:18px}
@media(max-width:420px){.pie-stars{display:none}}
@media(min-width:640px){
 .pie-fila{display:flex;justify-content:space-between;align-items:center}
 .pie-prueba a{flex:none;padding:8px 16px}
 .pie-conocenos{min-width:220px}
}
/* Ficha de combo/pack (5/11): la lista sin líneas entre renglones y más junta. */
.pk-rows,.pk-rows li{border:0}
.pk-rows{margin-bottom:12px}
.pk-row{min-height:32px;padding:3px 2px;border-radius:6px}
.pk-label{margin-top:4px!important}
/* Ficha de un combo abierto (5/11). Arriba, "Combo mayorista" como chapa:
   se lee de entrada que es un combo, en la misma línea que ocupaba el rótulo. */
.combo-alerta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0 40px 10px 0;font-size:12.5px;font-weight:600;color:var(--ink-2)}
.combo-alerta span{background:var(--leather);color:#fff;font:700 13px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;border-radius:6px;padding:7px 8px}
/* Franja de compra: beige tostado, pegada abajo, de borde a borde. Adentro, el
   recuadro de precio de la tarjeta del combo y el botón a todo el ancho. */
.combo-buy{display:grid;gap:12px;margin:16px -22px -28px;padding:4px 22px 14px;background:#e4d6c1;border:0;border-top:1.5px solid var(--beige-borde)}
.combo-buy .combo-price{margin-top:10px;border-color:var(--beige-borde)}
.combo-buy .combo-price.con-envio{margin-bottom:6px}
.combo-buy .pack-price strong{font-size:32px}
.cb-antes{display:flex;align-items:baseline;gap:8px;font-size:13px}
.cb-antes s{font-size:14px;opacity:.65}
.cb-antes b{color:#27724c;font-weight:700}
.combo-buy .card-buy--ficha{display:flex}
.combo-buy .button{flex:1 1 auto;width:100%;min-height:48px;justify-content:center;font-size:15px}
@media(min-width:1024px){.combo-buy{margin:20px -36px -34px;padding:4px 36px 16px;bottom:-34px;grid-template-columns:minmax(0,420px) minmax(0,280px);justify-content:center;align-items:center;column-gap:20px}.combo-buy .combo-price.con-envio{margin-bottom:16px}}

/* Colchonetas en obra: cinta a rayas + frase, y la nota que señala la tarjeta sola. */
.obra{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-top:14px}
.obra-cinta{display:inline-block;padding:5px 11px;border-radius:4px;font:500 10px/1.2 'IBM Plex Mono',monospace;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink);background:repeating-linear-gradient(-45deg,#f0c75e 0 9px,#f6dc94 9px 18px);box-shadow:inset 0 0 0 1px #d9a93a;transform:rotate(-1.5deg)}
.obra-txt{font:600 italic 21px/1.2 'Lora',serif;color:var(--leather)}
.obra-nota{grid-row:1/span 6;grid-column:2;align-self:start;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:14px;border:1.5px dashed var(--beige-borde);border-radius:12px;background:var(--beige-destaque);color:var(--ink-2)}
.obra-flecha{font:400 30px/1 var(--serif);color:var(--leather);animation:obra-senala 1.6s ease-in-out infinite}
/* La nota y el pack chiquito, juntos en la columna libre junto a la tarjeta. */
.obra-lado{grid-row:1/span 6;grid-column:2;align-self:start;display:grid;gap:10px;min-width:0}
.obra-lado .obra-nota{grid-row:auto;grid-column:auto}
/* EL PACK CHIQUITO (5/11): sin foto. Arriba "Pack ×7 colchonetas" y el %
   en un sello; un renglón por talle (letra · medida · cuántas); el envío
   gratis en verde; el precio y agregar. */
.obra-mini{position:relative;padding:12px 11px 11px;border:1.5px solid var(--beige-borde);border-radius:14px;background:#e4d6c1;cursor:pointer;box-shadow:0 8px 20px -14px #5a3d0580}
.om-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.obra-mini h3{font-size:clamp(18px,5.6vw,21px);line-height:1.05;margin:0;white-space:nowrap}
.obra-mini h3 small{display:block;font:600 12px/1.3 var(--sans);color:var(--ink-2);letter-spacing:0;margin-top:2px}
.om-off{flex:none;display:grid;place-items:center;width:clamp(40px,12.5vw,48px);height:clamp(40px,12.5vw,48px);margin:-4px -3px 0 0;border-radius:50%;background:var(--leather);color:#fff;font:800 clamp(14px,4.4vw,17px)/1 var(--sans);transform:rotate(-8deg);box-shadow:0 3px 8px -2px #a0441f88}
.om-off small{font-size:9px;font-weight:700;letter-spacing:.8px;margin-top:-6px}
.om-talles{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:4px}
.om-talles li{display:flex;align-items:center;gap:6px;padding:4px 7px;border-radius:8px;background:var(--paper);min-width:0}
.om-talles b{flex:none;min-width:30px;padding:3px 0;border-radius:5px;background:var(--ink);color:var(--cream);text-align:center;font:700 12px/1 var(--sans)}
.om-talles span{flex:1;min-width:0;font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.om-talles em{flex:none;min-width:20px;font:800 14px/1 var(--sans);font-style:normal;color:var(--leather)}
.om-envio{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding:5px 8px;border-radius:20px;background:#27724c;color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.om-envio svg{width:15px;height:15px;fill:currentColor;flex:none}
.om-envio svg:last-child{width:15px;height:10px;border-radius:1px}
.obra-mini .pack-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;margin:8px 0 8px}
.obra-mini .pack-price s{font-size:11.5px}.obra-mini .pack-price strong{font-size:21px;letter-spacing:-.5px}
.obra-mini .card-buy{margin:0}.obra-mini .card-add{min-height:38px;padding:7px 10px;background:var(--leather);color:#fff}.obra-mini .card-add:hover{background:var(--kobu-blue-2)}
.obra-mini .qty-stepper{min-height:38px}
/* La nota, sin caja: una flecha y dos renglones que presentan al pack. */
.obra-lado .obra-nota{padding:2px 4px;gap:2px;border:0;background:none}
.obra-lado .obra-flecha{font-size:24px}
.obra-nota p{font-size:12.5px;line-height:1.4}
.obra-nota b{display:block;font:400 19px/1.15 var(--serif);color:var(--ink);margin-bottom:2px}
@keyframes obra-senala{50%{transform:translateX(-5px)}}
@media(min-width:760px){.obra-txt{font-size:25px}.obra-nota{padding:22px;gap:14px}.obra-nota p{font-size:14px}.obra-nota b{font-size:24px}}
/* Talle de las colchonetas en el botón de medida: la letra arriba, la medida
   sin partirse (el 120 × 100 se iba de renglón). */
.size-talle{font:400 17px/1 var(--serif);color:var(--ink)}
.detail-product .sizes button:has(.size-talle) .size-name{font-size:11.5px;white-space:nowrap}
.pk-row--corta .pk-name{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* El plazo, última línea del panel del pedido (dueño, 5/11). */
.t-cart__plazo{margin:8px 0 0;text-align:center;font-size:12px;color:var(--ink-3)}
/* Súper packs, más iluminados (dueño, 5/11): un halo cálido y la chapa del %
   más grande, para que se distingan de un vistazo en el carril. */
.pack-card.super{box-shadow:0 0 0 2px var(--leather),0 10px 30px -6px #a0441f80}
.pack-card.super .discount-badge{font-size:15px;padding:7px 13px}
.pack-rail{padding-top:6px}
/* La aclaración del tercer chip ("en productos sueltos"): un segundo
   renglón, chico y tenue, para que el chip se lea igual que los otros. */
.hero-terms-nota{display:block;text-align:right;font-size:10.5px;font-weight:500;color:var(--ink);opacity:.55;margin-top:1px}
/* LO GANADO Y LO QUE SIGUE: una tarjeta de alto fijo (dueño, 5/11). Ícono en
   un círculo a la izquierda; título de un renglón, texto con lugar para dos
   y barra abajo, en los tres estados — así la lista de abajo no se mueve al
   ganar o perder un beneficio. Azul tinta para el mínimo, verde para el envío
   ganado, dorado para "¡Ya ganaste todo!". */
.t-cart__logro{--l-bg:#eef3f8;--l-ink:#24476b;--l-acc:#3d6f9e;--l-bar:#d4e0ec;--l-fill:var(--l-acc);
 display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:12px;row-gap:2px;align-items:center;
 margin:12px 0 4px;padding:12px 14px 13px;border-radius:14px;background:var(--l-bg);color:var(--l-ink);box-shadow:inset 0 0 0 1.5px var(--l-bar);position:relative;overflow:hidden}
.t-cart__logro-ico{grid-row:1/3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--l-acc);color:#fff;box-shadow:0 4px 12px -4px var(--l-acc)}
.t-cart__logro-ico>svg{width:24px;height:24px}
.t-cart__logro-tit{font-family:var(--serif);font-size:16px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}
.t-cart__logro-ar{width:20px;height:14px;flex:none;border-radius:2px;box-shadow:0 0 0 1px #0001}
.t-cart__logro-sub{font-size:12.5px;line-height:1.3;min-height:calc(2 * 1.3em);font-weight:500;opacity:.92}
.t-cart__logro-sub b{font-weight:800}
.t-cart__logro-barra{grid-column:1/-1;height:6px;border-radius:6px;background:var(--l-bar);overflow:hidden;margin-top:9px}
.t-cart__logro-barra i{display:block;height:100%;border-radius:inherit;background:var(--l-fill);transition:width .35s ease}
.t-cart__logro--envio,.t-cart__logro--meta{--l-bg:#e9f4ec;--l-ink:#1f5232;--l-acc:#2f8a50;--l-bar:#cfe6d6;--l-fill:linear-gradient(90deg,#e8b93a,#f2cf5b)}
.t-cart__logro--todo{--l-bg:linear-gradient(135deg,#fff6dc,#fde7ad 55%,#f8d77a);--l-ink:#5a3d05;--l-acc:#c98a0b;--l-bar:#f0d48a;--l-fill:linear-gradient(90deg,#c98a0b,#e8b93a,#c98a0b)}
.t-cart__logro--todo .t-cart__logro-ico{background:radial-gradient(circle at 35% 30%,#f7c948,#c98a0b)}
.t-cart__logro--todo:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff9 50%,transparent 65%);transform:translateX(-120%);pointer-events:none}
.t-cart__logro.is-nuevo .t-cart__logro-ico{animation:logro-pop .5s cubic-bezier(.3,1.6,.5,1)}
.t-cart__logro--todo.is-nuevo:after{animation:logro-brillo 1.1s .15s ease-out}
@keyframes logro-pop{0%{transform:scale(.4)}100%{transform:scale(1)}}
@keyframes logro-brillo{to{transform:translateX(120%)}}
/* "Agregar combo" abraza su texto y queda centrado (dueño, 5/11): de lado a
   lado era un cartel; así el contador que lo reemplaza al agregar queda del
   mismo ancho y proporcionado. */
.combo-buy .card-buy--ficha{justify-self:center;flex:none;width:min(220px,100%)}
.combo-buy .card-buy--ficha>*{width:100%}
.combo-buy .card-buy--ficha .qty-stepper{display:flex}
.combo-buy .card-buy--ficha .qty-stepper output{flex:1;text-align:center}
.combo-buy .card-buy--ficha .qty-stepper button{min-width:48px}
.t-cart__logro-ico{position:relative}
.t-cart__logro-ok{position:absolute;right:-3px;bottom:-3px;width:19px;height:19px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 1px 3px #0003}
.t-cart__logro-ok svg{width:12px!important;height:12px!important;color:var(--l-acc)}
/* LA PIEZA DE ABAJO NO CAMBIA DE ALTO AL GANAR O PERDER UN BENEFICIO (dueño,
   5/11). El rótulo "Mi pedido" y la etiqueta verde de lo ganado ocupan el
   mismo renglón fijo, y el renglón de la meta también: antes la pieza pasaba
   de 79 a 88 y a 91px, y con ella --t-bar-h, y la página se reacomodaba
   bajo el dedo. */
.kb-ped__card .kb-ped__t{height:20px;display:flex;align-items:center;line-height:1}
/* …salvo la guía de la pieza vacía, que es una frase de dos renglones: con
   flex cada <b> y <span> era una columna y el texto se salía de la pieza. */
.kb-ped__card .kb-ped__t.kb-ped__t--guia{height:auto;display:block;line-height:1.3}
.kb-ped__card .kb-ped__gano{padding:2px 6px!important;line-height:1.2}
.kb-ped__card .kb-ped__prog{height:18px}
.kb-ped__card .kb-ped__meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.kb-ped__prog.is-listo .kb-ped__meta{padding:1px 7px!important;line-height:1.3}
/* A 320px la fila de Google e Instagram del pie era más ancha que la
   pantalla y arrastraba la página entera (y la pieza del pedido) hacia el
   costado: cada botón puede achicarse y su leyenda pasa abajo. */
.pie-fila{min-width:0}.pie-prueba{min-width:0}.pie-prueba a{min-width:0;flex-wrap:wrap}
@media(max-width:360px){.pie-prueba a{padding:8px 6px;gap:2px 5px}.pie-prueba small{white-space:normal;font-size:11px;text-align:center}}
/* "cm" junto a la medida del pack; en pantallas muy angostas se va y la
   medida se achica, antes que desbordar (dueño, 5/11). */
.om-cm{font-size:inherit}
@media(max-width:420px){.om-talles li{gap:4px;padding:4px 6px}.om-talles span{font-size:10.5px;letter-spacing:-.1px}.om-talles b{min-width:28px}}
@media(max-width:359px){.om-cm{display:none}.om-talles span{font-size:11px;letter-spacing:0}}
/* LA META DE LA PIEZA (dueño, 5/11): una sola a la vez. Arriba el total
   y las unidades; abajo, la meta en un renglón (a la izquierda qué es o lo
   ya ganado, a la derecha cuánto falta) y la barra de punta a punta. Hacia
   el mínimo la barra es verde (llegar es el envío gratis); ganado, arranca
   de cero hacia el 10% OFF en celeste. Todo en Bricolage Grotesque, la
   letra de los precios del catálogo: la Young Serif es para títulos y los
   pesos 800/900 no están cargados (el navegador los engordaba a la fuerza).
   Los renglones tienen alto fijo: la pieza no cambia de tamaño al ganar. */
.kb-ped--tienda{--meta-verde:#3fd47e;--meta-verde-ink:#0f3b22;--meta-celeste:#8fcdf5;--meta-celeste-ink:#0d3550;--meta-riel:#3a332d}
.kb-ped--tienda .kb-ped__card{column-gap:12px;row-gap:9px;padding-top:11px!important;padding-bottom:calc(13px + env(safe-area-inset-bottom))!important}
.kb-ped--tienda .kb-ped__txt{gap:0}
.kb-ped--tienda .kb-ped__total{font:700 20px/1.15 var(--sans);letter-spacing:-.4px;color:var(--cream);font-variant-numeric:tabular-nums}
.kb-ped--tienda .kb-ped__unid{font:500 12px/1.3 var(--sans);color:var(--linen)}
.kb-ped--tienda .kb-ped__cta{font-weight:700!important;letter-spacing:0}
.kb-ped--tienda .kb-ped__n{font-weight:700}
.kb-meta{grid-column:1/-1;display:flex;flex-direction:column;gap:6px;min-width:0}
.kb-meta__fila{display:flex;align-items:center;justify-content:space-between;gap:8px;height:22px;min-width:0}
.kb-meta__izq,.kb-meta__der{display:flex;align-items:center;min-width:0;white-space:nowrap}
.kb-meta__der{font:500 12px/1 var(--sans);color:var(--linen);overflow:hidden;text-overflow:ellipsis}
.kb-meta__der b{font-weight:700;color:var(--cream);margin:0 3px;font-variant-numeric:tabular-nums}
.kb-meta__rot{font:600 12px/1 var(--sans);color:var(--cream)}
.kb-meta__tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px 0 7px;border-radius:99px;font:700 12px/1 var(--sans)}
.kb-meta__tag svg{width:13px;height:13px;flex:none}
.kb-meta__tag .kb-ped__ok{fill:none;color:currentColor}
.kb-meta__tag--envio{background:var(--meta-verde);color:var(--meta-verde-ink)}
.kb-meta__tag--desc{background:var(--meta-celeste);color:var(--meta-celeste-ink)}
.kb-meta__tag--desc i{font-style:normal;font-weight:600;font-variant-numeric:tabular-nums}
.kb-meta__barra{position:relative;height:7px;border-radius:99px;background:var(--meta-riel);overflow:hidden}
.kb-meta__barra i{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--meta-verde);transition:width .45s cubic-bezier(.2,.8,.3,1)}
.kb-meta--desc .kb-meta__barra i{background:var(--meta-celeste)}
@media(max-width:350px){.kb-meta__der,.kb-meta__rot{font-size:11px}.kb-meta__tag{font-size:11px;padding:0 7px 0 5px}}
@media(prefers-reduced-motion:reduce){.kb-meta__barra i{transition:none}}

/* ── Contador en pantallas angostas (5/11) ──
   Los botones tenían ancho fijo y el número se quedaba con lo que sobraba: a
   320px, en la tarjeta de un pack, eran 6px y "10" no se veía. Ahora los
   botones ceden hasta 28px antes que el número, que nunca baja de 2,6ch. En
   pantallas anchas los botones vuelven a su ancho de siempre. */
.qty-stepper{grid-template-columns:minmax(28px,46px) minmax(2.6ch,1fr) minmax(28px,46px)}
.card-buy .qty-stepper{grid-template-columns:minmax(28px,40px) minmax(2.6ch,1fr) minmax(28px,40px)}
.pack-foot .qty-stepper{grid-template-columns:minmax(28px,38px) minmax(2.6ch,1fr) minmax(28px,38px)}
.qty-stepper output{min-width:0;font-variant-numeric:tabular-nums}
/* "En tu pedido · 70 cm" no deja "cm" solo en el segundo renglón. */
.detail-buy small{text-wrap:balance}
/* Envío / Retiro del panel: a 320px "Retiro en Quilmes · Sin cargo" no
   entraba y la pastilla se salía del panel. En angosto el precio baja
   debajo del texto; las dos pastillas siguen del mismo ancho. */
.t-cart__pill{min-width:0}
@media(max-width:379px){
.t-cart__envio .t-cart__pill{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:8px 10px}
.t-cart__pie .t-cart__envio .t-cart__pill>b{align-items:flex-start}
}
/* Ficha de combo en un celular bajo (360×640, 375×667): la franja de compra
   ocupaba más de un tercio de la ficha y "Trae" no asomaba. Misma franja,
   más ajustada, y la foto más baja. */
@media(max-width:759px) and (max-height:720px){
.combo-buy{gap:8px;padding-bottom:10px}
.combo-buy .combo-price{margin-top:8px;padding:8px 10px 8px 12px}
.combo-buy .combo-price.con-envio{padding-bottom:18px;margin-bottom:4px}
.combo-buy .pack-price strong{font-size:27px}
.combo-buy .combo-off{min-width:52px;padding:7px 9px;font-size:18px}
.combo-buy .button,.combo-buy .qty-stepper{min-height:42px}
.combo-buy .qty-stepper button{min-height:40px}
.pk-media .photo{max-height:min(240px,27dvh)}
}

/* ── Celular muy angosto (5/11) ── */
/* Tarjeta de pack: "Reventa sugerida" no se parte, así que el contador de al
   lado se quedaba sin lugar y el "+" se salía de la tarjeta. Por debajo de
   360px la reventa va arriba y Agregar / − cantidad + abajo, a todo el ancho. */
@media(max-width:359px){
.pack-foot{grid-template-columns:minmax(0,1fr);gap:10px}
.pack-foot .resale{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 8px}
.pack-foot .resale b{margin-top:0}
}
/* Menos de 340px: el precio del combo, su 10% y "Ver detalle" no entraban a
   lo ancho (a 320px el 10% ya se salía 3px de la tarjeta). */
@media(max-width:339px){
.combo-card>div{padding-left:14px;padding-right:14px}
.combo-card .combo-units{flex-wrap:wrap}
.combo-price{gap:8px;padding:10px 8px 10px 10px}
.combo-price .pack-price strong{font-size:clamp(22px,8.6vw,31px)}
.combo-off{min-width:46px;padding:7px 8px;font-size:16px}
}
@media(max-width:319px){
/* El pack chico de colchonetas sigue al lado de la tarjeta, debajo de "Las de
   siempre": a 280px la columna mide 118px y lo que no entraba era el título
   con el sello y el renglón del envío con la bandera. Se ajustan esos dos. */
.obra-lado{grid-template-columns:minmax(0,1fr)}
.obra-mini{min-width:0;padding:9px 8px 8px}
.om-top{gap:4px}
.obra-mini h3{font-size:16px}
.om-off{width:34px;height:34px;margin:-3px -2px 0 0;font-size:13px}
.om-off small{font-size:8px;letter-spacing:.5px;margin-top:-4px}
.om-envio{gap:4px;padding:4px 5px;font-size:11px;white-space:normal;text-align:center}
.om-envio svg:last-child{display:none}
.om-talles li{gap:3px;padding:4px 5px}
.om-talles b{min-width:24px;font-size:11px}
.om-talles em{min-width:16px;font-size:13px}
.om-talles span{font-size:10px;letter-spacing:-.2px}
}
/* ── Seguir comprando (2026-11-05) ── */
/* "En tu pedido": un renglón por pack ya sumado, con su cantidad. */
.en-pedido{margin:14px 0 0;padding:10px 12px;border:1.5px solid var(--beige-borde);border-radius:12px;background:var(--paper)}
.en-pedido .eyebrow{margin:0 0 4px}
.en-pedido ul{list-style:none;margin:0;padding:0}
.en-pedido li{display:grid;grid-template-columns:40px minmax(0,1fr) 104px;gap:10px;align-items:center;padding:7px 0}
.en-pedido li+li{border-top:1px solid var(--linen)}
.en-pedido img{width:40px;height:40px;border-radius:7px;object-fit:cover}
.ep-nombre{padding:0;text-align:left;font:15px/1.2 var(--serif);letter-spacing:-.2px}
.en-pedido .qty-stepper{grid-template-columns:34px 1fr 34px}
.ep-nombre small{display:block;margin-top:2px;font:12px var(--sans);color:var(--ink-3)}
.en-pedido .card-buy{margin:0}
/* El súper pack como mejora del pack abierto. */
.bundle-reco.is-mejora{margin-top:16px}
.is-mejora .br-body{width:100%;padding:0;text-align:left}
#detail .mj-cu{margin:10px 0 0;font-size:13px;color:var(--ink-2)}
.mj-cu b{font-size:15px;color:var(--ink)}
.bundle-reco.is-sigue .br-body{width:100%;padding:0;text-align:left}
.ficha-sigue .bundle-reco{margin-top:14px}
/* Secundaria: no compite con Agregar. Cierra la ficha y deja el catálogo donde estaba. */
.seguir{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:12px 0 4px;border:1.5px solid var(--ink-3);border-radius:8px;font-weight:600;font-size:14px;color:var(--ink)}
.seguir:hover{background:var(--cream)}
/* El pack que sigue, destacado un momento en el riel de Reposición. */
.pack-card.is-sugerido{box-shadow:inset 0 0 0 3px var(--leather);animation:sugerido 1.1s ease-out 2}
.sugerido-tag{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;gap:6px;padding:10px 66px 10px 14px;background:var(--leather);color:#fff;font:700 13.5px/1.1 var(--sans);white-space:nowrap;animation:tag-entra .35s ease-out;transition:opacity .4s,transform .4s}
.sugerido-tag.is-fuera{opacity:0;transform:translateY(100%)}
.pack-photo .qty{z-index:2}
@keyframes tag-entra{from{opacity:0;transform:translateY(100%)}to{opacity:1;transform:none}}
@keyframes sugerido{0%{transform:scale(1)}35%{transform:scale(1.025)}100%{transform:scale(1)}}
/* Sólo packs y combos en el pedido: el % extra no se mide sobre ellos, así
   que no hay barra; el lugar queda para que la pieza no salte. */
.kb-meta--sin-barra .kb-meta__barra{visibility:hidden}
/* Carrito: vacío, la acción es elegir; con productos, seguir comprando va
   debajo de WhatsApp, secundaria. */
.t-cart__elegir{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:12px;border-radius:8px;background:var(--leather);color:#fff;font-weight:700;font-size:15px}
.t-cart__seguir{display:block;width:100%;min-height:40px;margin-top:6px;font-weight:600;font-size:13.5px;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
/* Responsive (6/11): una medida ("90 × 70 cm") no se parte en dos renglones. */
.nw{white-space:nowrap}
.t-cart__close{min-width:40px;min-height:40px}
/* Celular bajo (≤700px de alto): el pie del carrito ocupaba casi la mitad del
   panel y la lista quedaba en 240px. Mismo pie, más ajustado. */
@media(max-width:759px) and (max-height:700px){
.t-cart__pie{padding-top:8px}
.t-cart__pie .t-cart__envio{margin-bottom:4px}
.t-cart__envio .t-cart__pill{padding-top:6px;padding-bottom:6px}
.t-cart__pie .t-cart__send{margin-top:6px}
.t-cart__seguir{min-height:36px;margin-top:2px}
.t-cart__plazo{margin-top:2px}
}
/* ── Responsive (6/11) ───────────────────────────────────────────────── */
/* Flechas de galerías y rieles: sólo con mouse (las pone app.js). */
.flechas{position:relative;min-width:0}
.flecha{position:absolute;top:50%;z-index:3;width:42px;height:42px;margin-top:-21px;border-radius:50%;background:var(--paper);border:1px solid var(--linen);box-shadow:0 4px 14px #1e1a1722;font:26px/1 var(--serif);color:var(--ink);display:grid;place-items:center;padding-bottom:3px;opacity:0;transition:opacity .15s,background .15s}
.flecha:hover{background:var(--cream)}
.flecha--ant{left:10px}.flecha--sig{right:10px}
.flechas:hover .flecha,.flecha:focus-visible{opacity:1}
.flechas.sin-scroll .flecha,.flechas.al-inicio .flecha--ant,.flechas.al-final .flecha--sig{opacity:0;pointer-events:none}
/* En los rieles el contenido arranca después del margen: la flecha también. */
.flechas>.rail~.flecha--ant{left:max(10px,calc(var(--gut,22px) - 21px))}
.flechas>.rail~.flecha--sig{right:max(10px,calc(var(--gut,22px) - 21px))}
.flechas>.rail~.flecha{margin-top:-28px}

/* Barra de categorías: centrada cuando entra, desde el principio cuando no.
   Con justify-content:center lo que sobraba se cortaba por los dos lados y a
   768px "Combos" quedaba fuera, sin forma de llegar. */
.categories{justify-content:flex-start!important}
.categories>:first-child{margin-left:auto}.categories>:last-child{margin-right:auto}

/* Tablet (760–1023): tres combos a lo ancho no entraban (el precio y el 10%
   se cortaban) y en los packs los dos sellos de la foto se pisaban. Dos
   tarjetas y media a la vista; el resto, deslizando. */
@media(min-width:760px) and (max-width:1023px){
.combo-card{flex-basis:46%}
.pack-card{flex-basis:40%}
.family>.section-head{padding-left:30px;padding-right:30px}
}
/* 1024–1279: la barra de categorías no entraba por 36px. */
@media(min-width:1024px) and (max-width:1279px){
.categories{gap:5px}.categories a{padding:8px 13px;font-size:13.5px}
}

/* Escritorio (≥1024): la pieza del pedido pasa a la esquina de abajo a la
   derecha, flotante. A lo ancho, en el centro, tapaba justo los precios. Y el
   carrito se abre como panel lateral, a toda la altura. */
@media(min-width:1024px){
.kb-ped.kb-ped--tienda{left:auto!important;right:24px!important;bottom:20px!important;transform:none;width:400px!important;max-width:calc(100% - 48px)!important}
.kb-ped--tienda .kb-ped__card{border-radius:14px;border-width:1px;padding-bottom:13px!important}
.kb-ped--tienda .kb-reco{width:100%}
.t-cart-overlay{justify-content:flex-end;align-items:stretch}
.t-cart{max-width:460px;max-height:none;height:100dvh;border-radius:18px 0 0 18px;transform:translateX(100%)}
.t-cart-overlay.is-open .t-cart{transform:none}
.t-cart__inner{height:100dvh}
}
/* Celular angosto (<360px): en "En tu pedido" el nombre del pack quedaba en
   59px y se montaba sobre el contador. El contador baja, debajo del nombre. */
@media(max-width:359px){
.en-pedido li{grid-template-columns:40px minmax(0,1fr);row-gap:8px;align-items:start}
.en-pedido .card-buy{grid-column:2;justify-self:start;width:124px}
}
/* La pieza vacía a <380px: el carrito y la flecha de "Empezar a elegir" le
   dejaban 103px a la frase, que se partía en seis renglones (112px de alto).
   Sin ellos la frase entra en tres. */
@media(max-width:379px){
.kb-ped--tienda .kb-ped__card:has(.kb-ped__t--guia){grid-template-columns:minmax(0,1fr) auto}
.kb-ped--tienda .kb-ped__card:has(.kb-ped__t--guia) .kb-ped__ico,.kb-ped--tienda .kb-ped__card:has(.kb-ped__t--guia) .kb-ped__cta>span{display:none}
.kb-ped--tienda .kb-ped__card:has(.kb-ped__t--guia) .kb-ped__cta{grid-column:2;padding:8px 12px!important}
.kb-ped--tienda .kb-ped__t.kb-ped__t--guia{font-size:11.5px!important}
}
/* ENCUADRE DE LAS FOTOS NUEVAS (6/11). Están todas sacadas igual: vertical,
   el producto en la mitad de abajo y la pared arriba. En los recortes más
   anchos que la foto (tarjeta 1:1, packs, galerías) el centro cortaba el
   producto por abajo y dejaba pared; corrido hacia abajo entra entero (en
   la tarjeta 1:1 hace falta más: la Fresh tiene la cama pegada al borde). La tarjeta
   del pack en celular era una franja de 175px que cortaba las camas. */
.photo img{object-position:center 68%}
.card-photo img{object-position:center 82%}
/* Packs y combos (dueño, 6/11): en la ficha cada foto va entera, más chica,
   en su formato (4:5, el de las fotos), en vez de recortada. */
.pk-media .photo{flex:0 0 auto;width:auto;height:min(290px,38dvh);max-height:none;aspect-ratio:4/5}
.pk-media .photo img{aspect-ratio:auto;max-height:none;height:100%}
.pk-media .gallery.expanded .photo{height:min(520px,70dvh)}
.pk-media .gallery.one{justify-content:center}.pk-media .gallery.one .photo{flex-basis:auto}
.pack-photo img{object-position:center 68%}
@media(max-width:1023px){.pack-card:not(.super) .pack-photo{height:220px}}
/* Sello "Reversible 4 en 1" al lado del modelo en la tarjeta (dueño, 6/11):
   chico y sutil, como un sello de cuero: borde fino del color de la marca,
   apenas inclinado. */
.card-model.con-sello{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 6px}
.card-sello{flex:none;display:grid;justify-items:center;padding:3px 6px 4px;border:1.5px solid var(--leather);border-radius:7px;color:var(--leather);font:700 13px/1 var(--sans);letter-spacing:-.2px;transform:rotate(-4deg);background:var(--paper)}
.card-sello small{font:500 7px/1.2 'IBM Plex Mono',monospace;letter-spacing:.6px;text-transform:uppercase;margin-bottom:2px}
/* Los súper packs destacan cuántas unidades traen (dueño, 6/11): el círculo
   pasa a marrón de la marca, más grande, con "unidades" debajo del número. */
.pack-card.super .qty{width:62px;height:62px;background:var(--leather);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-shadow:0 3px 12px #1e1a1740;border:2px solid var(--paper)}
.pack-card.super .qty b{font:26px/1 var(--serif)}
.pack-card.super .qty small{font:600 8px/1 'IBM Plex Mono',monospace;letter-spacing:.5px;text-transform:uppercase}
/* Una foto apaisada en la galería de un pack o combo (los regalos de "Llegó
   para quedarse") va en marco apaisado: en el vertical perdía los costados. */
.pk-media .photo.is-wide{width:88%;height:auto;aspect-ratio:3/2;align-self:center}
