:root{
  --black:#000000;
  --red:#e60000;
  --red-dark:#c60007;
  --gray:#545454;
  --silver:#d1d3d6;
  --white:#ffffff;
  --ink:#111111;
  --muted:#666;
  --panel:#ffffff;
  --line:#e7e7e7;
  /* Sistema unico de bloques: checkout, resumen, confirmacion y paginas de
     informacion usan el mismo radio, el mismo padding y el mismo ritmo
     vertical. Antes cada pantalla tenia el suyo y se veian de familias
     distintas. */
  --radio-bloque:10px;
  --radio-interno:8px;
  --pad-bloque:1.5rem;
  --fila-y:.75rem;
  --titulo-bloque:1.15rem;
}
html{overflow-x:hidden}
body{background:#fff;color:var(--ink);font-family:'Poppins',system-ui,-apple-system,sans-serif;letter-spacing:0;overflow-x:hidden;max-width:100vw}
h1,h2,h3,h4,h5,h6,.hero h1,.section-head h2,.page-head h1,.main-nav .nav-link,.btn-red,.eyebrow,.trust-grid strong,.product-body h3,.filter-title,.category-card,.badge-new,.badge-usado,.card-actions a,.price,.topbar{font-family:'Poppins',system-ui,-apple-system,sans-serif}
a{color:inherit}
.topbar{background:var(--black);color:#fff;font-size:.78rem;display:flex;gap:2rem;justify-content:center;padding:.55rem 1rem;border-bottom:1px solid #161616;flex-wrap:wrap}.topbar span{display:flex;gap:.45rem;align-items:center}.topbar i{font-size:1rem}
.site-header{background:#fff;border-bottom:1px solid #ededed}.brand-row{display:grid;grid-template-columns:180px minmax(260px,1fr) 200px;gap:1.5rem;align-items:center;padding:1.1rem 0}.brand-lockup{display:flex;align-items:center;text-decoration:none;line-height:1}.brand-lockup img{width:148px;max-width:100%;height:auto;display:block}.footer-brand img{width:180px}.brand-mark{display:none}
.search-box{display:grid;grid-template-columns:1fr 58px}.search-box input{height:52px;border:1px solid #ddd;border-radius:4px 0 0 4px;padding:0 1rem;font-size:.95rem}.search-box button{border:0;background:var(--red);color:#fff;border-radius:0 4px 4px 0;font-size:1.25rem}.header-actions{display:flex;justify-content:flex-end;gap:1.15rem}.header-actions a{text-decoration:none;color:#111;display:grid;place-items:center;font-size:.76rem;position:relative}.header-actions i{font-size:1.5rem}.cart-link b{position:absolute;top:-5px;right:9px;background:var(--red);color:#fff;border-radius:50%;font-size:.65rem;width:18px;height:18px;display:grid;place-items:center}
.main-nav{background:#fff;border-bottom:1px solid #e8e8e8}.main-nav .nav-link{text-transform:uppercase;font-weight:900;color:#111!important;font-size:.86rem;padding:1.2rem 1rem!important}.main-nav .nav-link:hover{color:var(--red)!important}
.main-nav .menu-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;width:100%;padding:.85rem;border:0;border-radius:6px;background:var(--black);color:#fff;font-weight:900;text-transform:uppercase;font-size:.9rem;letter-spacing:.03em;box-shadow:none;cursor:pointer}
.main-nav .menu-btn:focus,.main-nav .menu-btn:active{box-shadow:none;outline:0}
.main-nav .menu-btn i{font-size:1.35rem;line-height:1;color:var(--red)}
.main-nav .menu-btn span{line-height:1}
.main-nav .navbar-toggler-icon{display:none}
@media(min-width:992px){.main-nav .menu-btn{display:none!important}}.navbar-toggler{border-color:#ddd}.navbar-toggler-icon{filter:invert(1)}
.btn-red{background:var(--red);color:#fff;border:0;border-radius:4px;font-weight:900;text-transform:uppercase}.btn-red:hover{background:var(--red-dark);color:#fff}
.hero{min-height:580px;background:linear-gradient(90deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.54) 55%,rgba(0,0,0,.18) 100%),url("../img/hero-4x4.33365c87f876.jpg") center/cover no-repeat;display:flex;align-items:center}
.hero-inner{display:grid;align-items:center}.hero-copy{max-width:760px}.eyebrow{color:var(--red);font-weight:900;text-transform:uppercase;font-size:.8rem;letter-spacing:.08em}.hero h1{font-size:clamp(2.4rem,5vw,5.8rem);font-weight:950;line-height:.95;letter-spacing:0}.lead{color:#e7e7e7;max-width:640px}
.hero h1{text-transform:uppercase;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}.hero h1 span{display:block;color:var(--red)}.hero .lead{color:rgba(255,255,255,.88);font-weight:600}
.trust-band{background:#fff;border-block:1px solid #e5e5e5}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid div{padding:1.25rem;display:flex;gap:.9rem;align-items:center;border-right:1px solid #e7e7e7}.trust-grid i{color:var(--red);font-size:2rem}.trust-grid span{display:grid}.trust-grid strong{text-transform:uppercase;line-height:1.05}.trust-grid small{color:#666}
.section{padding:4rem 0}.section-white{background:#fff}.section-head{margin-bottom:2rem;text-align:center}.section-head h2{font-weight:950;text-transform:uppercase;display:block;position:relative}.section-head h2:after{content:"";display:block;width:52px;height:3px;background:var(--red);margin:.55rem auto 0}.section-head a{display:inline-flex;align-items:center;gap:.45rem;color:var(--red);text-decoration:none;font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.04em;margin-top:1.15rem;padding:.5rem 1.2rem;border:2px solid var(--red);border-radius:999px;transition:background .2s,color .2s}.section-head a:after{content:"\203A";font-size:1.1rem;line-height:1}.section-head a:hover{background:var(--red);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.product-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;overflow:hidden}.product-photo{height:210px;display:grid;place-items:center;background:#222;color:#777;text-decoration:none}.product-photo img{width:100%;height:100%;object-fit:cover}.product-body{padding:1rem}.product-body h3{font-size:1rem;font-weight:900}.product-body h3 a{text-decoration:none}.meta,.sku,.muted{color:var(--muted);font-size:.85rem}.product-bottom{display:flex;justify-content:space-between;gap:1rem;align-items:center}.product-bottom strong,.price{color:var(--red);font-weight:950}.product-bottom span{font-size:.8rem;color:#ddd}
.product-card{position:relative;border-radius:4px;box-shadow:0 12px 30px rgba(0,0,0,.05)}.badge-new{position:absolute;top:1rem;left:1rem;background:var(--red);color:#fff;font-size:.65rem;text-transform:uppercase;font-weight:900;padding:.28rem .48rem;border-radius:3px;z-index:2}.badge-usado{position:absolute;top:1rem;left:1rem;background:#444;color:#d1d3d6;font-size:.65rem;text-transform:uppercase;font-weight:900;padding:.28rem .48rem;border-radius:3px;z-index:2}.product-photo{height:260px;background:#fafafa;color:#aaa}.product-body h3{min-height:48px}.card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.card-actions a{border:1px solid #cfcfcf;border-radius:4px;padding:.55rem .85rem;text-decoration:none;text-transform:uppercase;font-weight:900;font-size:.78rem}.card-actions button{border:0;background:transparent;font-size:1.35rem}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.category-card{min-height:190px;background:linear-gradient(135deg,#111,#333);border:1px solid #303030;border-radius:4px;padding:1.2rem;text-decoration:none;display:flex;justify-content:space-between;align-items:flex-end;font-weight:950;color:#fff;text-transform:uppercase;font-size:1.5rem}.category-card:hover{color:#fff;box-shadow:inset 0 -4px 0 var(--red)}
.page-head{padding:2.5rem 0;background:#fff;border-bottom:3px solid var(--red)}.page-head h1{font-weight:950;text-transform:uppercase;font-size:clamp(1.8rem,3vw,2.8rem)}.page-head p{color:#555;margin-bottom:0}
.catalog-layout{display:grid;grid-template-columns:290px 1fr;gap:1.5rem}.filters{background:#fff;border:1px solid #e4e4e4;border-radius:4px;padding:1rem;height:max-content}.filter-title{text-transform:uppercase;font-weight:950;color:var(--red);margin-bottom:.5rem}.filters label{font-size:.78rem;color:#111;text-transform:uppercase;font-weight:900;margin-top:.85rem}.filters .form-control,.filters .form-select{background:#fff;border-color:#ddd;color:#111;border-radius:4px}.form-panel input,.form-panel select,.form-panel textarea{width:100%;display:block;background:#fff;border:1px solid #ddd;color:#111;border-radius:4px;padding:.65rem .85rem;font-size:.95rem;margin-top:.35rem;transition:border-color .14s,box-shadow .14s}.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(230,0,0,.1)}.filter-help{margin-top:1.5rem;background:#111;color:#fff;border-radius:4px;padding:1rem}.filter-help h3{text-transform:uppercase;font-weight:950}.filter-help a{display:inline-block;background:var(--red);color:#fff;text-decoration:none;text-transform:uppercase;font-weight:900;padding:.65rem .9rem;border-radius:4px}.catalog-layout .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem}.gallery-main img,.photo-placeholder{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f7f7f7;border:1px solid #eee;border-radius:4px}
.gallery{display:flex;flex-direction:row-reverse;gap:.8rem;align-items:flex-start}
.gallery-main{flex:1;min-width:0}
.gallery-thumbs{display:flex;flex-direction:column;gap:.55rem;width:76px;flex:0 0 76px}
.gthumb{padding:0;border:2px solid #e5e5e5;border-radius:6px;background:#fff;cursor:pointer;overflow:hidden;aspect-ratio:1/1;transition:border-color .15s}
.gthumb img{width:100%;height:100%;object-fit:cover;display:block}
.gthumb:hover{border-color:#bbb}
.gthumb.active{border-color:var(--red)}
@media(max-width:720px){.gallery{flex-direction:column}.gallery-thumbs{flex-direction:row;width:auto;flex:none;overflow-x:auto;padding-bottom:.3rem}.gallery-thumbs .gthumb{flex:0 0 68px}}.photo-placeholder{display:grid;place-items:center;color:#aaa;font-size:4rem}.product-info h1{font-weight:950;text-transform:uppercase}.product-info .price{font-size:2.5rem}.stock{color:#b45309}.stock.ok{color:#16a34a}.product-info h2{font-size:1rem;margin-top:1rem;font-weight:950;text-transform:uppercase}
.narrow{max-width:760px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.form-panel{background:#111;color:#fff;border:1px solid #303030;border-radius:4px;padding:1.75rem}.form-panel h2,.contact-cards h2{text-transform:uppercase;font-weight:950}.form-panel label{display:block;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#d1d3d6;margin-top:1rem;margin-bottom:.25rem}.contact-cards{display:grid;gap:1rem}.contact-cards>div{border:1px solid #e5e5e5;border-radius:4px;padding:1rem;display:grid;grid-template-columns:52px 120px 1fr;align-items:center}.contact-cards i{font-size:2rem;color:var(--red)}
.cta-band{background:linear-gradient(90deg,rgba(230,0,0,.96),rgba(198,0,7,.84)),url("../img/cta-taller.ba67b98b4f09.jpg") center/cover;color:#fff;padding:3rem 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}.cta-inner h2{text-transform:uppercase;font-weight:950;font-size:clamp(2rem,4vw,3.5rem);line-height:.95}
.site-footer{background:#080808;border-top:1px solid #252525;padding:2rem 0 0;color:#d7d7d7}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem}.footer-brand{font-size:1.2rem;margin-bottom:1rem}.site-footer h3{text-transform:uppercase;font-size:.9rem;font-weight:950}.copyright{text-align:center;border-top:1px solid #222;margin-top:2rem;padding:1rem;color:#999;font-size:.85rem}@media(max-width:1000px){.brand-row{grid-template-columns:auto 1fr;grid-template-areas:'logo actions' 'search search';gap:.6rem 1rem;padding:.85rem 0;align-items:center}.brand-lockup{grid-area:logo}.search-box{grid-area:search}.header-actions{grid-area:actions;justify-content:flex-end;gap:1.1rem}.product-grid{grid-template-columns:repeat(2,1fr)}.catalog-layout,.product-detail,.contact-layout{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
/* ── Animaciones & hover ── */
@keyframes heroPan{from{background-position:53% center}to{background-position:47% center}}
.hero{animation:heroPan 16s ease-in-out alternate infinite}
.site-header{transition:box-shadow .25s}
.site-header.scrolled{box-shadow:0 2px 28px rgba(0,0,0,.13)}
.product-card{transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s}
.product-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--red);border-radius:4px 4px 0 0;transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.22,1,.36,1)}
.product-card:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(0,0,0,.13)}
.product-card:hover::before{transform:scaleX(1)}
.product-photo{overflow:hidden}
.product-photo img{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.product-card:hover .product-photo img{transform:scale(1.07)}
.card-actions a{transition:background .18s,color .18s,border-color .18s}
.card-actions a:hover{background:var(--red);color:#fff;border-color:var(--red)}
.category-card{transition:transform .22s,box-shadow .22s,border-color .22s;overflow:hidden}
.category-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(230,0,0,.22);border-color:var(--red)}
.category-card.has-img{background-size:cover;background-position:center;background-repeat:no-repeat}
.pago-box{max-width:760px;margin:1.5rem auto 0;background:#fff;border:1px solid #ececec;border-radius:12px;padding:1.6rem}
.pago-total{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;background:#0d0d0d;color:#fff;border-radius:8px;margin-bottom:1.4rem}
.pago-total span{text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;color:#bbb}
.pago-total strong{font-size:1.6rem;color:#fff}
.pago-title{font-size:1.15rem;margin:.2rem 0 .5rem;display:flex;align-items:center;gap:.5rem}
.pago-copy{color:#555;font-size:.95rem;margin:.5rem 0}
.pago-cuentas{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
.pago-cuenta{border:1px solid #eaeaea;border-radius:8px;padding:1rem;background:#fafafa}
.pago-cuenta h3{font-size:1rem;margin:0 0 .6rem;color:var(--red)}
.pago-cuenta ul{list-style:none;margin:0;padding:0}
.pago-cuenta li{display:flex;justify-content:space-between;gap:.6rem;padding:.28rem 0;border-bottom:1px dashed #ececec;font-size:.9rem}
.pago-cuenta li:last-child{border-bottom:0}
.pago-cuenta li span{color:#999}
.pago-cuenta li b{color:#111;text-align:right;word-break:break-word}
.pago-acciones{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.4rem}
.pago-desglose{display:grid;gap:.1rem;margin-bottom:1rem}
.pago-desglose div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed #ececec;font-size:.9rem}
.pago-desglose div:last-child{border-bottom:0}
.pago-desglose span{color:#888}
.pago-desglose b{color:#111;text-align:right}
.pago-desglose .desc b{color:#15803d}
@media(max-width:640px){.pago-cuentas{grid-template-columns:1fr}}
.trust-grid i{transition:transform .2s,color .2s}
.trust-grid div:hover i{transform:scale(1.2) rotate(-6deg)}
.main-nav .nav-link{position:relative}
.main-nav .nav-link::after{content:"";position:absolute;bottom:0;left:1rem;right:1rem;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.main-nav .nav-link:hover::after{transform:scaleX(1)}
/* Scroll reveal */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.js .reveal.visible{opacity:1;transform:none}
.js .reveal-2{transition-delay:.12s}
.js .reveal-3{transition-delay:.22s}
.js .reveal-4{transition-delay:.32s}
/* ── end animaciones ── */
.pagination-row{display:flex;gap:.35rem;justify-content:center;margin-top:2.5rem;flex-wrap:wrap}.page-btn{display:grid;place-items:center;min-width:38px;height:38px;padding:0 .6rem;border:1px solid #ddd;border-radius:4px;font-weight:900;font-size:.85rem;text-decoration:none;color:#111}.page-btn.active{background:var(--red);color:#fff;border-color:var(--red)}.page-btn:hover:not(.active){background:#f5f5f5;color:#111}.footer-social{display:flex;gap:.65rem;margin-top:.9rem}.footer-social a{width:34px;height:34px;border-radius:50%;border:1px solid #333;display:grid;place-items:center;color:#999;font-size:1.1rem;text-decoration:none;transition:color .15s,border-color .15s}.footer-social a:hover{color:#fff;border-color:#666}
.qty-box{display:inline-grid;grid-template-columns:42px 58px 42px;border:1px solid #d1d3d6;border-radius:4px;overflow:hidden;height:48px}.qty-box button{border:0;background:#f5f5f5;font-weight:950}.qty-box input{border:0;text-align:center;font-weight:900;min-width:0}.qty-box input::-webkit-outer-spin-button,.qty-box input::-webkit-inner-spin-button{appearance:none;margin:0}
.cart-layout,.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.5rem;align-items:start}.cart-table,.checkout-form,.cart-summary,.empty-cart,.order-success{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 18px 45px rgba(0,0,0,.05)}.cart-table{overflow:hidden}.cart-head,.cart-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 130px 52px;gap:1rem;align-items:center}.cart-head{padding:.9rem 1.1rem;background:#000;color:#fff;text-transform:uppercase;font-size:.72rem;font-weight:950;letter-spacing:.04em}.cart-row{padding:1rem;border-bottom:1px solid #f0f0f0}.cart-row:last-child{border-bottom:0}.cart-product{display:flex;gap:1rem;align-items:center;min-width:0}.cart-product strong{display:block;font-weight:950;line-height:1.18}.cart-product small{display:block;color:#777;margin-top:.18rem}.cart-photo{width:82px;height:82px;border:1px solid #eee;border-radius:6px;background:#fafafa;display:grid;place-items:center;color:#aaa;flex-shrink:0;overflow:hidden}.cart-photo img{width:100%;height:100%;object-fit:cover}.cart-qty-wrap{display:inline-grid;grid-template-columns:32px 52px 32px;border:1px solid #d1d3d6;border-radius:6px;overflow:hidden;height:42px}.cqty-btn{border:0;background:#f5f5f5;font-size:1.1rem;font-weight:900;cursor:pointer;transition:background .14s,color .14s;line-height:1}.cqty-btn:hover{background:#e60000;color:#fff}.cart-qty{border:0;border-left:1px solid #d1d3d6;border-right:1px solid #d1d3d6;text-align:center;font-weight:900;width:100%;min-width:0;outline:0;-moz-appearance:textfield}.cart-qty::-webkit-outer-spin-button,.cart-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-price{color:var(--red);font-size:1.05rem;font-weight:950}.cart-remove{width:38px;height:38px;border:1px solid #f3c0c0;background:#fff;color:#c60007;border-radius:4px}.cart-remove:hover{background:#c60007;color:#fff}.cart-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.cart-summary{padding:1.25rem;position:sticky;top:1rem;border-top:4px solid var(--red)}.cart-summary h2,.checkout-form h2{font-size:1.2rem;font-weight:950;text-transform:uppercase;margin-bottom:1rem}.summary-line{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #eee;padding:.75rem 0}.summary-line strong{color:#111}.summary-line.total{border-top:2px solid #111;border-bottom:0;margin-top:.75rem;font-size:1.18rem}.summary-line.total strong{color:var(--red)}.summary-note{display:flex;gap:.7rem;background:#111;color:#fff;border-radius:6px;padding:.85rem;margin:1rem 0;font-size:.86rem;line-height:1.35}.summary-note i{color:var(--red);font-size:1.2rem;flex-shrink:0}.cart-summary p{color:#666;font-size:.9rem;margin:1rem 0}.empty-cart,.order-success{text-align:center;padding:3.5rem 1.5rem}.empty-cart i,.order-success i{font-size:3rem;color:var(--red)}.empty-cart h2,.order-success h1{text-transform:uppercase;font-weight:950;margin-top:1rem}.checkout-form{padding:1.6rem}.checkout-copy{color:#666;margin:-.35rem 0 1rem}.checkout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.checkout-form label{display:block;font-size:.75rem;font-weight:950;text-transform:uppercase;color:#545454;margin:.85rem 0 .3rem}.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;border:1px solid #d1d3d6;border-radius:4px;padding:.7rem .85rem}.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(230,0,0,.08)}.pay-label-title{display:block;font-size:.75rem;font-weight:950;text-transform:uppercase;color:#545454;margin:1.1rem 0 .55rem}
.pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.pay-methods .pay-option{display:flex;align-items:center;gap:.7rem;margin:0;padding:.9rem 1rem;border:2px solid #e5e5e5;border-radius:10px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:600;color:#333;transition:border-color .15s,background .15s}
.pay-methods .pay-option:hover{border-color:#bbb}
.pay-methods .pay-option input{width:auto;margin:0;flex-shrink:0;accent-color:var(--red)}
.pay-methods .pay-option .pay-option-body{display:flex;align-items:center;gap:.55rem}
.pay-methods .pay-option .pay-option-body i{font-size:1.15rem;color:var(--red)}
.pay-methods .pay-option:has(input:checked){border-color:var(--red);background:#fff6f6}
@media(max-width:520px){.pay-methods{grid-template-columns:1fr}}
.checkout-item{display:flex;justify-content:space-between;gap:1rem;padding:.72rem 0;border-bottom:1px solid #eee;font-size:.9rem}.checkout-item strong{color:var(--red);white-space:nowrap}.order-number{font-size:1.25rem;font-weight:950;color:var(--red)}
@media(max-width:620px){.hero{min-height:520px;background-position:center right}.product-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.category-grid{grid-template-columns:1fr}.product-photo{height:150px}.product-body{padding:.7rem}.product-body h3{font-size:.88rem}.topbar{display:none}.section{padding:2.5rem 0}.header-actions .cart-link span,.header-actions a span{font-size:.66rem}.header-actions i{font-size:1.35rem}.search-box{margin-top:0}.trust-grid{grid-template-columns:1fr}.cta-inner{display:block}.footer-grid{grid-template-columns:1fr}.contact-cards>div{grid-template-columns:44px 1fr}.contact-cards span{grid-column:2}.brand-lockup{font-size:1.35rem}.catalog-layout .product-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}}
@media(max-width:360px){.product-grid,.catalog-layout .product-grid{grid-template-columns:1fr}}
@media(max-width:900px){.cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-summary{position:static}.cart-head{display:none}.cart-row{grid-template-columns:1fr;gap:.75rem}.cart-product{align-items:flex-start}.checkout-grid{grid-template-columns:1fr}}

/* ===== Toast (mensajes) ===== */
.toast-stack{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:1080;display:flex;flex-direction:column;gap:.5rem;width:min(92vw,440px);pointer-events:none}
.toast-msg{background:#0d0d0d;color:#fff;border-radius:10px;padding:.85rem 1.1rem;font-size:.92rem;font-weight:600;display:flex;align-items:center;gap:.6rem;box-shadow:0 12px 30px rgba(0,0,0,.28);opacity:0;transform:translateY(-18px);transition:opacity .35s ease,transform .35s ease;pointer-events:auto}
.toast-msg.show{opacity:1;transform:translateY(0)}
.toast-msg i{color:#22c55e;font-size:1.15rem;flex-shrink:0}
.toast-msg.toast-error i{color:#ef4444}

/* ===== Favoritos (corazon) ===== */
.product-card{position:relative}
.fav-btn{position:absolute;top:.5rem;right:.5rem;z-index:3;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#999;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.14);transition:transform .12s,color .12s;font-size:1.05rem;line-height:1}
.fav-btn:hover{transform:scale(1.1);color:var(--red)}
.fav-btn .heart-f{display:none}
.fav-btn.active{color:var(--red)}
.fav-btn.active .heart-o{display:none}
.fav-btn.active .heart-f{display:inline;color:var(--red)}
.fav-btn-lg{position:static;width:auto;height:auto;border-radius:8px;background:#f4f4f5;color:#333;padding:.6rem 1.05rem;display:inline-flex;align-items:center;gap:.5rem;font-weight:700;box-shadow:none;margin:.2rem 0 1rem;font-size:.9rem}
.fav-btn-lg:hover{transform:none;color:var(--red);background:#fff5f5}
.fav-btn-lg.active{color:var(--red);background:#fff5f5}
.fav-btn-lg .heart-f{display:none}
.fav-btn-lg.active .heart-o{display:none}
.fav-btn-lg.active .heart-f{display:inline}
.fav-link{position:relative}
.fav-link b{position:absolute;top:-6px;right:6px;background:var(--red);color:#fff;font-size:.62rem;font-weight:900;min-width:16px;height:16px;border-radius:999px;display:grid;place-items:center;padding:0 4px}

/* ===== Autocompletado del buscador (live search) ===== */
.search-box{position:relative}
.search-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 18px 45px rgba(0,0,0,.16);z-index:120;max-height:72vh;overflow:auto}
.ss-item{display:grid;grid-template-columns:52px 1fr auto;gap:.7rem;align-items:center;padding:.5rem .7rem;text-decoration:none;color:#111;border-bottom:1px solid #f1f1f1}
.ss-item:hover{background:#f7f7f7}
.ss-thumb{width:52px;height:52px;border:1px solid #eee;border-radius:4px;background:#fafafa;display:grid;place-items:center;overflow:hidden;color:#bbb}
.ss-thumb img{width:100%;height:100%;object-fit:cover}
.ss-info{min-width:0}
.ss-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:700;font-size:.85rem;line-height:1.2}
.ss-cat{display:block;color:#888;font-size:.72rem;margin-top:.1rem}
.ss-price{color:var(--red);font-weight:900;font-size:.9rem;white-space:nowrap}
.ss-all{display:block;text-align:center;padding:.65rem;font-weight:900;text-transform:uppercase;font-size:.75rem;letter-spacing:.03em;color:var(--red);text-decoration:none}
.ss-all:hover{background:#fff3f3}
.ss-empty{padding:.9rem;color:#888;font-size:.86rem}

/* ===== Topbar: social a la izquierda + beneficios ===== */
.topbar{display:block;padding:0;gap:0}
.tb-inner{display:flex;align-items:center;gap:1.1rem;padding:.45rem 1rem;min-width:0}
.tb-social{display:flex;align-items:center;gap:.25rem;flex-shrink:0}
.tb-social a{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;
  color:#fff;text-decoration:none;transition:color .15s,background .15s}
.tb-social a i{font-size:1rem}
.tb-social a:hover{background:#161616}
.tb-social a:first-child:hover{color:#e1306c}
.tb-social a:last-child:hover{color:#22c55e}
.tb-items{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;justify-content:center;
  margin-inline:auto;min-width:0}
.tb-track{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;justify-content:center;min-width:0}
/* La copia solo existe para la marquesina de celular.
   Va con `.topbar` adelante a proposito: el CSS trae un `.topbar span{display:flex}`
   que le ganaba por especificidad y la dejaba visible en escritorio. */
.topbar .tb-copia{display:none}
.topbar .tb-link{color:#fff;text-decoration:none;display:flex;gap:.4rem;align-items:center;transition:color .15s}
.topbar .tb-link:hover{color:var(--red)}
.topbar .tb-link i{color:var(--red)}

/* ===== Header: los 3 accesos, etiqueta en una sola linea ===== */
.header-actions a{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.18rem;white-space:nowrap;min-width:58px;line-height:1.1}

/* ===== Header: anchos que NO desbordan en celular =====
   OJO: esta regla va dentro de min-width:1001px a proposito. Antes estaba
   suelta y, al ir despues del @media(max-width:1000px), le volvia a imponer
   al celular una grilla de 180+220+300px = 700px minimos: eso era lo que
   sacaba el buscador y el carrito fuera de la pantalla. */
@media(min-width:1001px){
  .brand-row{grid-template-columns:180px minmax(220px,1fr) 260px}
}
/* Los items de grilla no heredan el ancho minimo intrinseco del input. */
.search-box{min-width:0}
.search-box input{min-width:0;width:100%}
.header-actions{gap:.95rem;min-width:0}
@media(max-width:620px){
  .topbar{font-size:.7rem}
  .tb-inner{gap:.45rem;padding:.35rem .5rem}
  /* Los 6 datos ya no se cortan a la mitad: la tira se desliza a proposito.
     Antes solo se veian 2 y el resto desaparecia recortado. */
  /* Se mueve SOLA: antes solo se podia arrastrar con el dedo y parecia quieta.
     La pista se duplica en el HTML y se desplaza medio ancho, asi el loop no salta. */
  .tb-items{flex-wrap:nowrap;overflow:hidden;justify-content:flex-start;
    margin-inline:0;scrollbar-width:none;-webkit-overflow-scrolling:touch;
    -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);
    mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
  .tb-track{flex-wrap:nowrap;gap:1.05rem;justify-content:flex-start;width:max-content;
    animation:tbMarquesina 26s linear infinite}
  .topbar .tb-copia{display:flex;align-items:center;gap:1.05rem}
  /* Al tocarla o al enfocar un enlace con teclado se detiene, para poder leerla y hacer clic. */
  .tb-items:hover .tb-track,
  .tb-items:active .tb-track,
  .tb-track:focus-within{animation-play-state:paused}
  .tb-items::-webkit-scrollbar{display:none}
  .tb-items>*{flex:0 0 auto}
  .tb-social a{width:32px;height:32px}
  /* Solo el icono con su title: la etiqueta ya no se parte ni se encima. */
  .header-actions a span{display:none}
  .header-actions a{min-width:44px;min-height:44px}
  .header-actions{gap:.3rem}
  .cart-link b,.fav-link b{top:0;right:1px}
}

/* ===== Checkout: documento, entrega, cupon ===== */
.form-errores{display:flex;gap:.6rem;align-items:center;background:#fff5f5;border:1px solid #fecaca;color:#b91c1c;border-radius:8px;padding:.8rem 1rem;font-size:.9rem;font-weight:600;margin-bottom:1rem}
.checkout-form .err{display:block;color:#b91c1c;font-size:.78rem;font-weight:600;margin-top:.25rem;text-transform:none;letter-spacing:0}
.checkout-form .hint{display:block;color:#888;font-size:.8rem;margin-top:.35rem;text-transform:none;letter-spacing:0;font-weight:400}
.opt-row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:.4rem}
.opt-card{display:flex;align-items:center;gap:.7rem;margin:0;padding:.9rem 1rem;border:2px solid #e5e5e5;border-radius:10px;cursor:pointer;text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:600;color:#333;transition:border-color .15s,background .15s}
.opt-card:hover{border-color:#bbb}
.opt-card input{width:auto;margin:0;flex-shrink:0;accent-color:var(--red)}
.opt-card .opt-body{display:flex;align-items:center;gap:.55rem}
.opt-card .opt-body i{font-size:1.15rem;color:var(--red)}
.opt-card:has(input:checked){border-color:var(--red);background:#fff6f6}
.entrega-nota{display:flex;gap:.5rem;align-items:center;background:#f7f7f7;border-radius:8px;padding:.7rem .9rem;color:#444;font-size:.86rem;margin:.7rem 0 0}
.entrega-nota i{color:var(--red);flex-shrink:0}
.cupon-form{border-top:1px dashed #e0e0e0;margin-top:1rem;padding-top:1rem}
.cupon-form label{display:block;font-size:.75rem;font-weight:950;text-transform:uppercase;color:#545454;margin-bottom:.35rem}
.cupon-row{display:grid;grid-template-columns:1fr auto;gap:.5rem}
.cupon-row input{border:1px solid #d1d3d6;border-radius:6px;padding:.65rem .8rem;text-transform:uppercase;font-weight:700;min-width:0}
.cupon-row input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(230,0,0,.08)}
.cupon-linea span{color:#15803d;font-weight:600}
.cupon-linea strong{color:#15803d}
.cart-summary .summary-line em{color:#888;font-style:normal;font-size:.84rem}
.cart-summary .hint{color:#888;font-size:.82rem;margin:.6rem 0 0}
/* Consentimiento de datos (Ley 21.719): explicito, nunca premarcado. */
.consent-box{display:flex;gap:.65rem;align-items:flex-start;margin:1.2rem 0 0;padding:.9rem 1rem;
  border:1px solid #e5e5e5;border-radius:10px;background:#fafafa;cursor:pointer;
  font-size:.86rem;line-height:1.4;color:#444;font-weight:400;text-transform:none;letter-spacing:0}
.consent-box input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin:.1rem 0 0;
  accent-color:var(--red);cursor:pointer}
.consent-box a{color:var(--red);font-weight:700;text-decoration:underline}
.consent-box:hover{border-color:#ccc}
.consent-oscuro{background:#191919;border-color:#303030;color:#d1d3d6}
.consent-oscuro:hover{border-color:#4a4a4a}
/* El formulario de contacto pone sus labels en mayusculas; el consentimiento
   tiene que leerse como una frase, asi que gana esta regla mas especifica. */
.form-panel label.consent-box{text-transform:none;letter-spacing:0;font-weight:400;
  font-size:.86rem;color:#d1d3d6;margin-top:1.2rem;margin-bottom:0}
.form-panel label.consent-box span{display:inline;text-transform:none}
.checkout-form label.consent-box{text-transform:none;letter-spacing:0;font-weight:400;
  font-size:.86rem;color:#444;margin:1.2rem 0 0}

/* Aviso de IVA: los precios del catalogo YA lo incluyen, no se suma nada. */
.iva-nota{display:flex;align-items:center;gap:.4rem;color:#777;font-size:.82rem;margin:.6rem 0 0}
.iva-nota i{color:var(--red);flex-shrink:0}
.summary-line.desglose-doc{border-bottom:0;padding:.35rem 0;color:#777}
.summary-line.desglose-doc strong{color:#333;font-weight:700}
#desglose-factura{border-top:1px dashed #e0e0e0;margin-top:.6rem;padding-top:.4rem}
.desglose-doc-box{border-top:1px dashed #ececec;padding-top:.6rem;margin-top:-.4rem}
@media(max-width:520px){.opt-row{grid-template-columns:1fr}}

/* ===== Banners y promociones (administrables desde el panel) ===== */
.aviso-top{display:flex;align-items:center;gap:.7rem;background:var(--red);color:#fff;
  padding:.7rem 1rem;text-decoration:none;font-size:.9rem;font-weight:600;justify-content:center;
  text-align:center;flex-wrap:wrap}
.aviso-top i{font-size:1.05rem;flex-shrink:0}
.aviso-top strong{font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.aviso-top b{background:#fff;color:var(--red);border-radius:999px;padding:.28rem .8rem;
  font-size:.76rem;font-weight:900;text-transform:uppercase;white-space:nowrap;
  display:inline-flex;align-items:center;gap:.3rem}
a.aviso-top:hover{background:var(--red-dark);color:#fff}
.promo-section{padding-bottom:0}
/* Carrusel: una diapositiva a la vez, se desliza con el dedo y auto-avanza. */
.promo-carousel{position:relative;border-radius:10px;overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.08);background:#111}
/* Todas las diapositivas miden lo que la mas alta. Si una es mas corta —dos
   banners de distinta proporcion, que es lo normal— lo que sobra abajo se ve
   NEGRO como el resto de la pieza, no blanco como un hueco de la pagina. */
.promo-track{display:flex;will-change:transform;touch-action:pan-y;align-items:flex-start}
.promo-slide{flex:0 0 100%;min-width:0}
.promo-banner{position:relative;display:block;overflow:hidden;
  text-decoration:none;color:#fff;-webkit-user-select:none;user-select:none}
a.promo-banner:hover{color:#fff}
.promo-banner img{width:100%;height:auto;display:block;-webkit-user-drag:none;pointer-events:none}
.promo-banner picture{display:block}
.promo-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.9);
  color:#111;display:grid;place-items:center;cursor:pointer;font-size:1.1rem;
  box-shadow:0 4px 14px rgba(0,0,0,.2);transition:background .15s,color .15s}
.promo-nav:hover{background:var(--red);color:#fff}
.promo-prev{left:.8rem}
.promo-next{right:.8rem}
.promo-dots{position:absolute;left:0;right:0;bottom:.7rem;z-index:3;
  display:flex;justify-content:center;gap:.4rem}
.promo-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.55);box-shadow:0 1px 4px rgba(0,0,0,.4);transition:width .2s,background .2s}
.promo-dot.active{background:var(--red);width:22px;border-radius:999px}
@media(max-width:620px){
  .promo-nav{display:none}
  .promo-dots{bottom:.5rem}
  .promo-dot{width:8px;height:8px}
  .promo-dot.active{width:20px}
}
.promo-copy{position:absolute;left:0;right:0;bottom:0;display:grid;gap:.15rem;
  padding:1.4rem 1.25rem .95rem;
  background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0))}
.promo-copy strong{font-weight:950;text-transform:uppercase;font-size:1.15rem;line-height:1.1}
.promo-copy small{color:rgba(255,255,255,.85);font-size:.86rem}
/* Botones sobre el banner (los pidio Vanessa: "Ver catalogo" y "Cotiza ahora",
   como los del hero). Van pegados abajo, sobre el mismo degradado que el
   titulo, para que se lean sin importar como sea la foto que ella suba. */
.promo-con-botones .promo-copy{padding-bottom:4.1rem}
.promo-botones{position:absolute;left:1.25rem;right:1.25rem;bottom:1rem;
  display:flex;gap:.6rem;flex-wrap:wrap;z-index:2}
.promo-btn{display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:.6rem 1.25rem;border-radius:4px;text-decoration:none;
  font-weight:900;text-transform:uppercase;font-size:.85rem;letter-spacing:.02em;
  border:2px solid #fff;color:#fff;background:transparent;transition:.15s}
.promo-btn:hover{background:#fff;color:#111}
.promo-btn-rojo{background:var(--red);border-color:var(--red);color:#fff}
.promo-btn-rojo:hover{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
@media(max-width:520px){
  /* En el celular dos botones lado a lado quedan de 100px y no se leen:
     se apilan y cada uno toma el ancho completo. */
  .promo-botones{left:.9rem;right:.9rem;bottom:.9rem;flex-direction:column}
  .promo-btn{width:100%}
  .promo-con-botones .promo-copy{padding-bottom:7.4rem}
}
/* Banner que ya trae su texto dibujado: los botones NO van encima de la
   imagen, porque taparian justo la parte de abajo del arte (en el de la
   clienta, el "10% Off"). Van en su propia barra negra, pegada debajo. */
.promo-arte .promo-botones{position:static;left:auto;right:auto;bottom:auto;
  background:#111;padding:.9rem 1rem;justify-content:center;align-items:stretch}
.promo-arte .promo-btn{flex:0 1 auto}
/* Con varias promociones los puntitos van pegados abajo del carrusel, o sea
   ENCIMA de esta barra: sin este aire tapan el boton. */
.promo-carousel.promo-con-puntos .promo-arte .promo-botones{padding-bottom:2.2rem}
@media(max-width:520px){
  .promo-arte .promo-botones{padding:.8rem .9rem}
  .promo-carousel.promo-con-puntos .promo-arte .promo-botones{padding-bottom:2.1rem}
}
.promo-modal{position:fixed;inset:0;z-index:1090;background:rgba(0,0,0,.62);
  display:grid;place-items:center;padding:1.25rem;opacity:0;transition:opacity .25s}
.promo-modal.show{opacity:1}
.promo-modal-box{position:relative;background:#fff;border-radius:12px;overflow:hidden;
  width:min(94vw,440px);max-height:88vh;overflow-y:auto;box-shadow:0 24px 60px rgba(0,0,0,.4);
  transform:translateY(14px);transition:transform .25s}
.promo-modal.show .promo-modal-box{transform:none}
.promo-close{position:absolute;top:.6rem;right:.6rem;width:38px;height:38px;border:0;
  border-radius:50%;background:rgba(255,255,255,.92);color:#111;display:grid;place-items:center;
  cursor:pointer;font-size:1rem;box-shadow:0 2px 10px rgba(0,0,0,.2);z-index:2}
.promo-close:hover{background:var(--red);color:#fff}
.promo-modal-img{width:100%;height:auto;display:block}
.promo-modal-body{padding:1.3rem}
.promo-modal-body h3{font-weight:950;text-transform:uppercase;font-size:1.2rem;margin:0}
.promo-modal-body p{color:#555;margin:.5rem 0 0;font-size:.95rem}
.promo-modal-body .btn-red{margin-top:1rem;padding:.7rem 1.2rem}
@media(max-width:620px){
  .aviso-top{font-size:.8rem;padding:.6rem .75rem;gap:.5rem}
  .aviso-top b{font-size:.7rem;padding:.24rem .7rem}
  .promo-copy{padding:1.1rem 1rem .8rem}
  .promo-copy strong{font-size:1rem}
}

/* ===== Armonia entre checkout / resumen / confirmacion / info =====
   Un solo radio, un solo padding y un solo ritmo vertical para todos los
   bloques de esas pantallas, que antes se veian de familias distintas. */
.checkout-form,.cart-summary,.cart-table,.empty-cart,.order-success,
.pago-box,.info-card,.pago-cuenta,.envio-zona{border-radius:var(--radio-bloque)}
.checkout-form,.cart-summary,.pago-box,.info-card{padding:var(--pad-bloque)}
.pago-box{margin-top:1.25rem}
.order-success{padding:2.5rem var(--pad-bloque)}
.empty-cart{padding:2.5rem var(--pad-bloque)}
/* Titulos de bloque al mismo tamano y peso */
.cart-summary h2,.checkout-form h2,.pago-title,.info-card h2,.order-success h1{
  font-size:var(--titulo-bloque);font-weight:950;text-transform:uppercase;
  letter-spacing:.01em;line-height:1.15}
.order-success h1{font-size:1.6rem}
.checkout-form h2{margin:1.6rem 0 .6rem}
.checkout-form h2:first-of-type{margin-top:0}
.cart-summary h2{margin-bottom:.9rem}
/* Mismo ritmo vertical en todas las filas de importes */
.summary-line,.checkout-item,.pago-desglose div,.pago-cuenta li{
  padding-top:var(--fila-y);padding-bottom:var(--fila-y)}
.summary-line.desglose-doc{padding-top:.4rem;padding-bottom:.4rem}
.pago-desglose div,.checkout-item{border-bottom:1px solid #eee}
.summary-note,.entrega-nota,.consent-box,.medios-pago li,.opt-card,
.pay-methods .pay-option,.cupon-row input{border-radius:var(--radio-interno)}
.summary-note{padding:.9rem 1rem}
/* Nada del bloque de pago queda debajo de los botones flotantes en celular */
@media(max-width:620px){
  .pago-box,.info-card,.checkout-form,.cart-summary{padding:1.15rem}
  .pago-box{padding-bottom:5rem}
  /* El total a pagar es EL dato de esta pantalla: se le reserva la columna
     de los botones flotantes para que nunca quede tapado. */
  .pago-total,.pago-desglose div,.summary-line.total{padding-right:4.25rem}
  .order-success{padding:2rem 1.15rem}
  .cart-summary h2,.checkout-form h2,.pago-title,.info-card h2{font-size:1.05rem}
  .order-success h1{font-size:1.35rem}
}

/* ===== Checkout con sesion: aviso y direcciones guardadas ===== */
.checkout-sesion{display:flex;gap:.6rem;align-items:flex-start;background:#f2fbf4;
  border:1px solid #cdeed6;border-radius:var(--radio-interno);padding:.8rem 1rem;
  color:#166534;font-size:.88rem;margin:0 0 1rem}
.checkout-sesion i{flex-shrink:0;font-size:1.05rem}
.checkout-sesion.checkout-invitado{background:#f7f7f7;border-color:#e5e5e5;color:#555}
.checkout-sesion.checkout-invitado i{color:var(--red)}
.checkout-sesion a{color:var(--red);font-weight:700}
.dir-guardadas{border:1px dashed #d8d8d8;border-radius:var(--radio-interno);
  padding:.85rem 1rem;margin:.4rem 0 1rem;background:#fafafa}
.dir-guardadas label{margin-top:0}
.dir-guardadas select{width:100%;border:1px solid #d1d3d6;border-radius:var(--radio-interno);
  padding:.65rem .8rem;background:#fff}

/* ===== Cuentas de cliente: pantallas de acceso ===== */
.auth-caja{max-width:460px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;
  border-radius:var(--radio-bloque);padding:var(--pad-bloque);box-shadow:0 18px 45px rgba(0,0,0,.05)}
.auth-cabecera{text-align:center;margin-bottom:1.2rem}
.auth-cabecera h1{font-size:1.45rem;font-weight:950;text-transform:uppercase;margin:0}
.auth-cabecera p{color:#666;font-size:.9rem;margin:.5rem 0 0}
.auth-form label{display:block;font-size:.75rem;font-weight:950;text-transform:uppercase;
  color:#545454;margin:.95rem 0 .3rem;letter-spacing:.03em}
.auth-form input[type=text],.auth-form input[type=email],.auth-form input[type=password]{
  width:100%;border:1px solid #d1d3d6;border-radius:var(--radio-interno);padding:.7rem .85rem;font-size:.95rem}
.auth-form input:focus{outline:0;border-color:var(--red);box-shadow:0 0 0 3px rgba(230,0,0,.08)}
.auth-form .hint{display:block;color:#888;font-size:.78rem;margin-top:.3rem}
.auth-form .err{display:block;color:#b91c1c;font-size:.78rem;font-weight:600;margin-top:.25rem}
.auth-form label.consent-box{margin-top:1.1rem;text-transform:none;letter-spacing:0;
  font-weight:400;font-size:.85rem;color:#444}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}
.auth-links{text-align:center;margin:.9rem 0 0}
.auth-links a{color:var(--red);font-weight:700;font-size:.86rem;text-decoration:none}
.auth-links a:hover{text-decoration:underline}
.auth-nota{display:flex;gap:.6rem;align-items:flex-start;background:#f7f7f7;
  border-radius:var(--radio-interno);padding:.9rem 1rem;color:#555;font-size:.88rem;margin:0}
.auth-nota i{color:var(--red);font-size:1.1rem;flex-shrink:0}
.auth-alterna{max-width:460px;margin:1rem auto 0;text-align:center;display:grid;gap:.5rem}
.auth-alterna p{margin:0;color:#666;font-size:.9rem}
.auth-alterna .btn-link{color:#666;font-size:.86rem;text-decoration:none}
.auth-alterna .btn-link:hover{color:var(--red)}
@media(max-width:620px){
  .auth-caja{padding:1.15rem}
  .auth-grid{grid-template-columns:1fr}
  .auth-cabecera h1{font-size:1.2rem}
}

/* ===== Mi cuenta ===== */
.cuenta-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.5rem;align-items:start}
.cuenta-menu{display:grid;gap:.25rem;background:#fff;border:1px solid #e5e5e5;
  border-radius:var(--radio-bloque);padding:.6rem;position:sticky;top:1rem}
.cuenta-menu a{display:flex;align-items:center;gap:.6rem;padding:.7rem .85rem;
  border-radius:var(--radio-interno);text-decoration:none;color:#444;font-weight:600;
  font-size:.9rem;min-height:44px;transition:background .14s,color .14s}
.cuenta-menu a:hover{background:#f5f5f5;color:#111}
.cuenta-menu a.activo{background:var(--red);color:#fff}
.cuenta-menu a i{font-size:1.1rem;width:20px;flex-shrink:0}
.cuenta-menu .cuenta-salir{color:#999;border-top:1px solid #f0f0f0;margin-top:.35rem;padding-top:.8rem}
.cuenta-menu .cuenta-salir:hover{color:var(--red);background:#fff5f5}
.cuenta-contenido{min-width:0;display:grid;gap:1rem}
.cuenta-bloque{background:#fff;border:1px solid #e5e5e5;border-radius:var(--radio-bloque);
  padding:var(--pad-bloque);box-shadow:0 14px 34px rgba(0,0,0,.04)}
.cuenta-bloque-hd{display:flex;justify-content:space-between;align-items:center;gap:1rem;
  margin-bottom:1rem;flex-wrap:wrap}
.cuenta-bloque-hd h2{font-size:var(--titulo-bloque);font-weight:950;text-transform:uppercase;margin:0}
.cuenta-bloque-hd a{color:var(--red);font-weight:900;font-size:.78rem;text-transform:uppercase;
  text-decoration:none;letter-spacing:.03em}
.cuenta-bloque-hd a:hover{text-decoration:underline}
.cuenta-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cuenta-kpi{background:#fff;border:1px solid #e5e5e5;border-radius:var(--radio-bloque);
  padding:1.1rem;display:grid;justify-items:center;gap:.15rem;text-decoration:none;color:#111;
  transition:transform .18s,box-shadow .18s,border-color .18s}
.cuenta-kpi:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.1);border-color:var(--red);color:#111}
.cuenta-kpi i{font-size:1.4rem;color:var(--red)}
.cuenta-kpi strong{font-size:1.6rem;font-weight:950;line-height:1}
.cuenta-kpi small{color:#888;font-size:.78rem;text-transform:uppercase;font-weight:700}
.cuenta-datos{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.25rem;margin:0;font-size:.92rem}
.cuenta-datos dt{color:#999;font-weight:700;font-size:.78rem;text-transform:uppercase}
.cuenta-datos dd{margin:0;font-weight:600}
.cuenta-vacio{text-align:center;padding:2rem 1rem;color:#888}
.cuenta-vacio i{font-size:2.4rem;color:#ddd;display:block;margin-bottom:.6rem}
.cuenta-vacio p{margin:0 0 1rem;font-size:.92rem}
.pedido-lista{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.pedido-lista a{display:grid;grid-template-columns:auto auto 1fr auto;gap:.6rem 1rem;align-items:center;
  border:1px solid #ececec;border-radius:var(--radio-interno);padding:.85rem 1rem;
  text-decoration:none;color:#111;transition:border-color .15s,background .15s}
.pedido-lista a:hover{border-color:var(--red);background:#fffafa}
.pl-num{font-weight:950;font-size:.88rem}
.pl-fecha{color:#999;font-size:.82rem}
.pl-total{color:var(--red);font-weight:950;text-align:right;white-space:nowrap}
.estado-pill{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em;
  padding:.22rem .6rem;border-radius:999px;background:#f3f4f6;color:#374151;justify-self:start}
.estado-nuevo{background:#fee2e2;color:#b91c1c}
.estado-pagado{background:#dcfce7;color:#15803d}
.estado-preparando{background:#fef9c3;color:#854d0e}
.estado-enviado{background:#dbeafe;color:#1d4ed8}
.estado-cancelado{background:#f3f4f6;color:#6b7280}
.pedido-estado{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;flex-wrap:wrap}
.pedido-items{list-style:none;margin:0 0 1rem;padding:0}
.pedido-items li{display:flex;justify-content:space-between;gap:1rem;padding:var(--fila-y) 0;
  border-bottom:1px solid #f0f0f0;font-size:.9rem}
.pedido-items strong{color:var(--red);white-space:nowrap}
.pedido-sub{font-size:.8rem;font-weight:950;text-transform:uppercase;color:#545454;margin:1.2rem 0 .3rem}
.pedido-dir{color:#555;font-size:.92rem;margin:0}
.dir-lista{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.dir-item{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;
  border:1px solid #ececec;border-radius:var(--radio-interno);padding:1rem}
.dir-texto{display:grid;gap:.2rem;min-width:0}
.dir-texto strong{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-weight:900}
.dir-texto span{color:#666;font-size:.88rem}
.dir-pred{background:#dcfce7;color:#15803d;font-size:.64rem;font-weight:900;text-transform:uppercase;
  padding:.18rem .5rem;border-radius:999px}
.dir-acciones{display:flex;gap:.5rem;align-items:center}
.dir-acciones form{margin:0}
.btn-borrar{border:1px solid #f3c0c0;color:#c60007;background:#fff;border-radius:var(--radio-interno)}
.btn-borrar:hover{background:#c60007;color:#fff}
@media(max-width:900px){
  .cuenta-layout{grid-template-columns:1fr}
  /* El menu pasa a una fila deslizable arriba del contenido. */
  .cuenta-menu{position:static;display:flex;overflow-x:auto;gap:.35rem;
    scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .cuenta-menu::-webkit-scrollbar{display:none}
  .cuenta-menu a{flex:0 0 auto;white-space:nowrap}
  .cuenta-menu .cuenta-salir{border-top:0;border-left:1px solid #f0f0f0;margin:0;padding-top:.7rem}
}
@media(max-width:620px){
  .cuenta-bloque{padding:1.15rem}
  .cuenta-kpis{grid-template-columns:repeat(3,1fr);gap:.5rem}
  .cuenta-kpi{padding:.85rem .4rem}
  .cuenta-kpi strong{font-size:1.3rem}
  .cuenta-kpi small{font-size:.66rem}
  .pedido-lista a{grid-template-columns:1fr auto;gap:.35rem .7rem}
  .pl-fecha{grid-row:2;grid-column:1}
  .estado-pill{grid-row:2;grid-column:2;justify-self:end}
  .pl-total{grid-row:1;grid-column:2}
  .dir-item{flex-direction:column;align-items:flex-start}
}

/* ===== Medios de pago aceptados ===== */
.medios-pago{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0}
.medios-pago li{display:inline-flex;align-items:center;gap:.45rem;border:1px solid #e0e0e0;
  border-radius:8px;padding:.45rem .75rem;font-size:.82rem;font-weight:600;color:#444;background:#fff}
.medios-pago i{font-size:1.05rem;color:var(--red)}
.medios-titulo{display:block;font-size:.75rem;font-weight:950;text-transform:uppercase;
  color:#545454;margin:1.2rem 0 0;letter-spacing:.04em}
.footer-pagos{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid #1d1d1d}
.footer-pagos h3{text-transform:uppercase;font-size:.9rem;font-weight:950;color:#d7d7d7}
.medios-footer li{background:#111;border-color:#2a2a2a;color:#bdbdbd}

/* ===== Franja de marcas (loop continuo) ===== */
.marcas-section{padding-top:2.5rem;padding-bottom:1.25rem}
.marcas-franja{overflow:hidden;position:relative;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
.marcas-pista{display:flex;align-items:center;gap:3rem;width:max-content;
  animation:marcasLoop 38s linear infinite}
.marcas-franja:hover .marcas-pista,.marcas-franja:focus-within .marcas-pista{animation-play-state:paused}
@keyframes marcasLoop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marca-item{flex:0 0 auto;display:grid;place-items:center;height:64px;min-width:112px;padding:0 .5rem;
  text-decoration:none;filter:grayscale(1);opacity:.62;
  transition:filter .2s,opacity .2s,transform .2s}
.marca-item:hover{filter:none;opacity:1;transform:translateY(-2px)}
.marca-item img{max-height:52px;max-width:132px;width:auto;height:auto;object-fit:contain;display:block}
.marca-texto{font-weight:950;text-transform:uppercase;font-size:1.05rem;color:#111;
  letter-spacing:.02em;white-space:nowrap}
.marca-item:hover .marca-texto{color:var(--red)}
@media(max-width:620px){
  .marcas-section{padding-top:1.75rem;padding-bottom:.75rem}
  .marcas-pista{gap:2rem;animation-duration:26s}
  .marca-item{height:52px;min-width:92px}
  .marca-item img{max-height:42px;max-width:104px}
  .marca-texto{font-size:.92rem}
}
@media(prefers-reduced-motion:reduce){
  /* Sin movimiento: la franja se vuelve deslizable a mano. */
  .marcas-pista{animation:none;width:auto}
  .marcas-franja{overflow-x:auto}
}
/* Marca en la ficha del producto */
.producto-marca{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 .35rem;
  text-decoration:none;color:#111}
.producto-marca img{max-height:34px;max-width:96px;width:auto;object-fit:contain;display:block}
.producto-marca .pm-nombre{font-weight:900;text-transform:uppercase;font-size:.82rem;
  letter-spacing:.04em;color:#666}
.producto-marca:hover .pm-nombre{color:var(--red)}

/* ===== Banner tienda Mercado Libre ===== */
.ml-section{padding-top:0}
.ml-banner{display:flex;align-items:center;gap:1.1rem;text-decoration:none;color:#111;
  background:linear-gradient(90deg,#fff9e0,#fff);border:1px solid #ffe27a;border-left:6px solid #ffe600;
  border-radius:10px;padding:1.1rem 1.4rem;box-shadow:0 14px 34px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s}
.ml-banner:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(0,0,0,.12);color:#111}
.ml-banner-ico{width:52px;height:52px;border-radius:50%;background:#ffe600;display:grid;place-items:center;font-size:1.6rem;color:#111;flex-shrink:0}
.ml-banner-copy{display:grid;gap:.15rem;min-width:0}
.ml-banner-copy strong{text-transform:uppercase;font-weight:950;font-size:1.02rem}
.ml-banner-copy small{color:#666;font-size:.88rem}
.ml-banner-cta{margin-left:auto;display:inline-flex;gap:.5rem;align-items:center;background:#111;color:#fff;
  border-radius:999px;padding:.6rem 1.15rem;font-weight:900;text-transform:uppercase;font-size:.78rem;white-space:nowrap}
.ml-banner:hover .ml-banner-cta{background:var(--red)}
@media(max-width:720px){.ml-banner{flex-wrap:wrap}.ml-banner-cta{margin-left:0;width:100%;justify-content:center}}

/* ===== Footer: columnas Ayuda / Clientes / Contacto ===== */
.footer-links{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.footer-links a{color:#bdbdbd;text-decoration:none;font-size:.9rem;transition:color .15s}
.footer-links a:hover{color:#fff}
.site-footer p a{color:#bdbdbd;text-decoration:none}
.site-footer p a:hover{color:#fff}
.footer-horario{color:#8f8f8f;font-size:.84rem}
.footer-fonos{list-style:none;margin:.2rem 0 .8rem;padding:0;display:grid;gap:.4rem}
.footer-fonos li{display:flex;align-items:center;gap:.45rem;font-size:.9rem;flex-wrap:wrap}
.footer-fonos i{color:var(--red);font-size:.95rem;flex-shrink:0}
.footer-fonos .ff-etiqueta{color:#8f8f8f;font-size:.78rem;text-transform:uppercase;
  font-weight:700;letter-spacing:.03em}
.footer-fonos a{color:#e7e7e7;text-decoration:none;font-weight:600}
.footer-fonos a:hover{color:#fff}

/* ===== Holgura para el boton flotante de WhatsApp =====
   En celular se montaba encima del texto (franja de confianza y footer).
   Se le reserva su esquina: nada de contenido entra en esa columna, y el
   final de la pagina deja aire suficiente abajo. */
/* Botones flotantes: WhatsApp + Instagram, apilados en la esquina derecha.
   Mientras se hace scroll se ponen translucidos, para no tapar lo que pasa
   por debajo; al detenerse vuelven enteros. */
.floating-social{position:fixed;right:22px;bottom:22px;z-index:20;
  display:flex;flex-direction:column;gap:.6rem;transition:opacity .25s}
.floating-social.scrolling{opacity:.45}
.float-btn{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  font-size:2rem;color:#fff;text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.25);
  transition:transform .18s,box-shadow .18s}
.float-btn:hover{color:#fff;transform:scale(1.07);box-shadow:0 14px 30px rgba(0,0,0,.32)}
.float-wa{background:#22c55e}
.float-ig{background:linear-gradient(45deg,#f09433 0%,#dc2743 45%,#bc1888 100%)}
/* La torre de botones no puede quedar encima de nada al final de la pagina.
   Vale en todos los anchos: con dos botones es mas alta que antes. */
.footer-grid>div:last-child{padding-right:5.5rem}
.copyright{padding-bottom:7rem}
@media(max-width:620px){
  .floating-social{right:14px;gap:.5rem;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px))}
  .float-btn{width:50px;height:50px;font-size:1.6rem}
  .trust-grid div{padding-right:5rem}
  /* Ahora la torre son dos botones, asi que necesita mas aire abajo. */
  .copyright{padding-bottom:8.5rem}
  .cta-inner{padding-right:4.5rem}
}

/* ===== Paginas de informacion (medios de pago, envios, etc.) ===== */
.info-page{max-width:860px;display:grid;gap:1.1rem}
.info-card{background:#fff;border:1px solid #e5e5e5;border-radius:8px;padding:1.5rem;box-shadow:0 14px 34px rgba(0,0,0,.05)}
.info-card h2{font-size:1.15rem;font-weight:950;text-transform:uppercase;display:flex;gap:.55rem;align-items:center;margin-bottom:.8rem}
.info-card h2 i{color:var(--red)}
.info-card p{color:#555;font-size:.96rem}
.info-mini{color:#888;font-size:.86rem}
.info-lista{color:#555;font-size:.96rem;padding-left:1.15rem;display:grid;gap:.35rem}
.info-note{background:#111;border-color:#111}
.info-note p{color:#d7d7d7;margin:0;display:flex;gap:.6rem;align-items:flex-start}
.info-note i{color:var(--red);font-size:1.15rem;flex-shrink:0}
.envio-aviso{display:flex;gap:.55rem;align-items:center;background:#fff6f6;border:1px solid #f6d5d5;border-radius:8px;padding:.75rem .9rem;color:#c60007!important;font-weight:700}
.envio-aviso i{flex-shrink:0}
.envio-zonas{display:grid;gap:.8rem;margin:1rem 0}
.envio-zona{border:1px solid #eaeaea;border-radius:8px;padding:1rem;background:#fafafa}
.envio-zona-hd{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.envio-zona-hd h3{font-size:1rem;font-weight:950;text-transform:uppercase;margin:0}
.envio-zona-hd strong{color:var(--red);font-size:1.15rem;white-space:nowrap}
.envio-zona p{margin:.5rem 0 0;color:#666;font-size:.9rem}

/* ===== Ubicacion (contacto #ubicacion) ===== */
.ubicacion-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:1.5rem;align-items:stretch}
.ubicacion-info{background:#111;color:#fff;border-radius:8px;padding:1.6rem}
.ubicacion-info h3{text-transform:uppercase;font-weight:950;font-size:1.15rem}
.ubicacion-info p{color:#d7d7d7;display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;margin:.7rem 0}
.ubicacion-info i{color:var(--red);font-size:1.15rem;flex-shrink:0}
.ubicacion-mapa{border-radius:8px;overflow:hidden;border:1px solid #e5e5e5;min-height:320px}
.ubicacion-mapa iframe{width:100%;height:100%;min-height:320px;border:0;display:block}
@media(max-width:900px){.ubicacion-layout{grid-template-columns:1fr}}

/* ===== Catalogo: toolbar, filtros colapsables, chips ===== */
.results-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}
.filter-toggle{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #d1d3d6;background:#fff;color:#111;border-radius:6px;padding:.6rem 1rem;font-weight:900;text-transform:uppercase;font-size:.8rem;cursor:pointer;transition:border-color .15s,color .15s}
.filter-toggle:hover,.filter-toggle.active{border-color:var(--red);color:var(--red)}
.results-count{color:#666;font-size:.9rem}
.sort-form{margin-left:auto;display:flex;align-items:center;gap:.5rem}
.sort-form label{font-size:.76rem;text-transform:uppercase;font-weight:900;color:#545454}
.sort-form select{border:1px solid #d1d3d6;border-radius:6px;padding:.55rem .7rem;font-weight:700;background:#fff;color:#111}
.did-you-mean{margin:-.3rem 0 1rem;color:#555}
.did-you-mean a{color:var(--red);font-weight:900;text-decoration:none}
.did-you-mean a:hover{text-decoration:underline}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.3rem}
.chip{background:#f2f2f2;border:1px solid #e2e2e2;border-radius:999px;padding:.4rem .85rem;font-size:.8rem;font-weight:700;text-decoration:none;color:#333;transition:background .15s,color .15s,border-color .15s}
.chip:hover{background:var(--red);border-color:var(--red);color:#fff}
.catalog-body{display:flex;gap:1.5rem;align-items:flex-start}
.catalog-body .results{flex:1;min-width:0}
.catalog-body .filters{width:290px;flex-shrink:0}
.results .product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:1200px){.results .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1000px){.results .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.catalog-cta{margin-top:2.5rem;background:var(--red);color:#fff;border-radius:8px;padding:1.5rem 1.75rem;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}
.catalog-cta h3{text-transform:uppercase;font-weight:950;margin:0}
.catalog-cta p{margin:.25rem 0 0;color:rgba(255,255,255,.9)}
.catalog-cta .btn-red{background:#fff;color:var(--red)}
.catalog-cta .btn-red:hover{background:#111;color:#fff}
@media(max-width:1000px){.catalog-body{flex-direction:column}.catalog-body .filters{width:100%}.sort-form{margin-left:auto}}
@media(max-width:620px){.results .product-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.sort-form{margin-left:0;flex:1}.sort-form select{flex:1}.catalog-cta{flex-direction:column;align-items:flex-start}}


@keyframes tbMarquesina{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
/* Quien pidio menos movimiento no ve la marquesina: la tira queda deslizable a mano. */
@media(prefers-reduced-motion:reduce){
  .tb-track{animation:none}
  .tb-items{overflow-x:auto}
  .topbar .tb-copia{display:none}
}

/* Mapa de zonas de despacho (pagina de envios). Cuadrado y con mucho texto chico
   adentro, asi que en celular se deja tocar para verlo grande en vez de encogerlo
   hasta que no se lea. */
.mapa-despacho{margin:1.1rem 0 1.3rem;text-align:center}
.mapa-despacho img{width:100%;max-width:620px;height:auto;border-radius:12px;
  border:1px solid #e6e6e6;background:#fff}
.mapa-despacho figcaption{color:#767676;font-size:.8rem;margin-top:.5rem;line-height:1.5}

/* Varios numeros en una misma tarjeta de /contacto/: uno por linea. Pegados en
   la misma fila ("+56 9 9995 2466 +56 9 8157 2327") se leen como un solo
   numero largo. */
.canal-nums{display:flex;flex-direction:column;gap:.15rem;align-items:flex-start}

/* Logos oficiales de las plataformas de pago. Van sobre una placa blanca
   porque casi todas las marcas (Webpay morado, Mercado Pago azul) no cumplen
   contraste sobre el footer negro y sus manuales de marca prohiben recolorear
   el logotipo. */
.medios-pago li.mp-con-logo{background:#fff;border-radius:6px;padding:.4rem .6rem;
  display:inline-flex;align-items:center;min-height:38px}
.medios-pago li.mp-con-logo img{height:24px;width:auto;display:block}
@media(max-width:620px){.medios-pago li.mp-con-logo img{height:20px}}

/* Texto que escribe Vanessa en el panel (descripcion y compatibilidad).
   `linebreaks` genera <p> propios: aca solo se les da el ritmo de lectura,
   y `overflow-wrap` evita que un codigo de repuesto largo desborde en celular. */
.prosa p { margin: 0 0 .85rem; overflow-wrap: anywhere; }
.prosa p:last-child { margin-bottom: 0; }

/* ---- Portada con banner cargado desde el panel (ubicacion "home_principal") ----
   NO puede heredar de .hero: esa clase trae min-height 580px, el fondo del auto
   y la animacion de paneo. Con eso, la imagen se pintaba a su tamano real
   (1920px dentro de 1440, y 1080 dentro de 412 en el celular) sobre el fondo
   viejo, y como .hero recorta lo que se sale, el QR del banner quedaba CORTADO
   -- que es justo lo que ese banner venia a mostrar.
   Ojo: el auditor no lo detecto porque el recorte evita el desborde. Una imagen
   sin max-width dentro de un contenedor que oculta el sobrante no "desborda":
   simplemente se pierde. */
.hero-banner{min-height:0;background:#000;animation:none;display:block;padding:0;overflow:hidden}
.hero-banner img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.hero-banner-botones{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;padding:1.1rem 0 1.4rem}
@media (max-width:575px){.hero-banner-botones .btn{width:100%}}
