.banner-tienda{overflow:hidden}.banner-slides [hidden]{display:none!important}.banner-slides article{margin:0}.banner-slides img,.banner-slides video{display:block;width:100%;height:clamp(220px,35vw,420px);object-fit:contain;background:transparent;border-radius:12px}.formato-cuadrado .banner-slides img,.formato-cuadrado .banner-slides video{aspect-ratio:1;height:auto;max-height:650px}.ajuste-cover .banner-slides img{object-fit:cover}.banner-controles{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:16px}.banner-controles button{min-height:48px}.diseno-compacto .grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.diseno-fotos .grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}.diseno-fotos .card img{height:330px}.diseno-promociones .grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.diseno-lista .grid{display:block}.diseno-lista .grid>.card{display:grid;grid-template-columns:150px 1fr;gap:10px;margin:14px 0}.diseno-lista .card img{height:130px}.diseno-lista .card>form{grid-column:2}.recursos-lista{max-height:400px;overflow:auto;border:1px solid #9aadb6;border-radius:10px;padding:12px}.recursos-lista label{display:flex;gap:10px;align-items:center}.recursos-lista label[hidden]{display:none}.preview-aviso{border:3px solid #a65c00;padding:18px;background:#fff2cf;color:#392e18}.preview-movil{max-width:430px!important;margin:auto;border:2px solid #9aadb6;padding:16px!important}.preview-movil .grid{grid-template-columns:1fr}.preview-movil .diseno-lista .grid>.card{grid-template-columns:100px 1fr}.preview-movil .banner-slides img{height:260px}@media(max-width:600px){.diseno-fotos .grid,.diseno-compacto .grid,.diseno-promociones .grid{grid-template-columns:1fr}.diseno-lista .grid>.card{grid-template-columns:100px 1fr}.diseno-lista .price{font-size:20px}.banner-controles button{padding:10px}.banner-slides img{height:260px}}

.diseno-lista .grid>.card{grid-template-columns:140px minmax(0,1fr) minmax(180px,260px);align-items:start}
.diseno-lista .producto-media{grid-column:1}.diseno-lista .producto-info{grid-column:2}.diseno-lista .producto-compra{grid-column:3}
.diseno-lista .producto-info h3{margin:6px 0}.diseno-lista .producto-media .tiny{font-size:13px}.diseno-lista .producto-media summary{font-size:13px}
.diseno-lista .producto-info .price{font-size:22px}
@media(max-width:700px){.diseno-lista .grid>.card,.preview-movil .diseno-lista .grid>.card{grid-template-columns:95px minmax(0,1fr)}
.diseno-lista .producto-media{grid-column:1}.diseno-lista .producto-info{grid-column:2}.diseno-lista .producto-compra{grid-column:1 / -1}}

/* Full-width promotions; the body container excludes the scrollbar from cqw. */
body{container-type:inline-size}
.banner-panoramico{width:100cqw;max-width:none;margin-inline:calc(50% - 50cqw);padding:clamp(24px,4vw,56px) max(20px,calc((100cqw - 1280px)/2));border-radius:0;border-inline:0;background:linear-gradient(130deg,var(--panel) 30%,var(--soft));overflow:hidden}
.banner-panoramico>h2{font-size:clamp(28px,3.2vw,46px);margin:0 0 10px;letter-spacing:-.025em}
.banner-panoramico>p{max-width:850px;margin:0 0 24px;color:var(--muted)}
.banner-slides{display:grid;isolation:isolate}
.banner-slides>[data-slide]{grid-area:1/1;min-width:0}
.banner-panoramico [data-slide]{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.banner-media{min-width:0}
.banner-copy{min-width:0;overflow-wrap:anywhere}
.banner-copy h3{font-size:clamp(26px,2.8vw,40px);line-height:1.15;letter-spacing:-.02em}
.banner-copy .button{margin:8px 8px 0 0}
.banner-panoramico .banner-media img,.banner-panoramico .banner-media video{width:100%;height:clamp(480px,40vw,600px);max-height:none;object-fit:contain;border-radius:20px}
.banner-panoramico.ajuste-cover .banner-media img{object-fit:cover}
.banner-panoramico.formato-cuadrado .banner-media img{aspect-ratio:1}
.banner-controles button{min-width:100px}
.banner-controles{gap:16px}
.preview-movil .banner-panoramico{width:100%;margin-inline:0;padding:20px;border-radius:14px}
.preview-movil .banner-panoramico [data-slide]{grid-template-columns:1fr;gap:12px}
.preview-movil .banner-panoramico .banner-media img,.preview-movil .banner-panoramico .banner-media video{height:320px}
@media(max-width:700px){
 .banner-panoramico [data-slide]{grid-template-columns:1fr;gap:12px}
 .banner-panoramico{padding:24px 20px}
 .banner-panoramico .banner-media img,.banner-panoramico .banner-media video{height:clamp(300px,85vw,420px);border-radius:14px}
 .banner-copy h3{margin:10px 0}
 .banner-controles{gap:8px}
 .banner-controles button{min-width:0;padding:12px 14px}
}
@media(prefers-reduced-motion:reduce){.banner-slides *{animation:none!important;transition:none!important}}

/* Structured v16 promotions: dimensions and safe styles from server. */
.tienda-columnas{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.tienda-centro{min-width:0}.promo-margen:empty{display:none}.promo-margen{min-width:0;position:sticky;top:16px;align-self:start;max-height:calc(100dvh - 40px);overflow:auto}.tienda-columnas:has(.margen-izquierdo:not(:empty)){grid-template-columns:210px minmax(0,1fr)}.tienda-columnas:has(.margen-derecho:not(:empty)){grid-template-columns:minmax(0,1fr) 210px}.tienda-columnas:has(.margen-izquierdo:not(:empty)):has(.margen-derecho:not(:empty)){grid-template-columns:190px minmax(0,1fr) 190px}main:has(.tienda-columnas){max-width:1480px}.banner-visual,.texto-visual{background:var(--promo-fondo,var(--panel));color:var(--promo-color,var(--text));font-family:var(--promo-fuente,system-ui);text-align:var(--promo-alinear,left);padding:var(--promo-espacio,16px);border-radius:var(--promo-radio,12px)}.banner-visual h2,.texto-visual h2{font-size:var(--promo-tamano,28px);line-height:1.15;margin:0 0 8px}.banner-visual .button,.texto-visual .button{background:var(--promo-boton,var(--primary));color:var(--promo-boton-texto,var(--on-primary));margin:4px 0}.banner-visual [data-slide]{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:16px;min-height:var(--alto-pc,240px)}.banner-visual .banner-media img,.banner-visual .banner-media video{height:var(--alto-pc,240px);max-height:none;width:100%;object-fit:contain}.banner-visual.ajuste-cover .banner-media img{object-fit:cover}.banner-copy p{margin:6px 0}.composicion-libre [data-slide]{display:block;min-height:var(--alto-pc,240px)}.composicion-libre .banner-copy{display:contents}.composicion-libre [data-capa]{position:absolute;overflow-wrap:anywhere;max-height:100%}.composicion-libre [data-capa=imagen]{left:var(--imagen-x);top:var(--imagen-y);width:var(--imagen-ancho)}.composicion-libre [data-capa=titulo]{left:var(--titulo-x);top:var(--titulo-y);width:var(--titulo-ancho)}.composicion-libre [data-capa=texto]{left:var(--texto-x);top:var(--texto-y);width:var(--texto-ancho)}.composicion-libre [data-capa=boton]{left:var(--boton-x);top:var(--boton-y);width:var(--boton-ancho)}.promo-margen .banner-visual [data-slide]{display:flex;flex-direction:column}.promo-margen .banner-visual [data-capa]{position:static;width:100%}.promo-margen .banner-media img{height:160px}.tienda-apariencia{margin:0 0 0 auto;font-size:14px;display:flex;align-items:center;gap:8px}.tienda-apariencia select{font-size:14px;padding:6px;min-height:36px}header nav{align-items:center}
@media(max-width:1000px){.tienda-columnas:has(.promo-margen){display:flex;flex-direction:column}.tienda-centro{width:100%}.promo-margen{position:static;max-height:none;overflow:visible;width:100%}.margen-izquierdo{order:1}.tienda-centro{order:2}.margen-derecho{order:3}.movil-oculto{display:none}.banner-visual [data-slide],.composicion-libre [data-slide]{display:grid;grid-template-columns:1fr 1fr;min-height:var(--alto-movil,160px)}.banner-visual .banner-media img,.banner-visual .banner-media video{height:var(--alto-movil,160px)}.composicion-libre .banner-copy{display:block}.composicion-libre [data-capa]{position:static;width:100%}.banner-visual h2{font-size:min(var(--promo-tamano,28px),24px)}}
@media(max-width:480px){.banner-visual [data-slide]{grid-template-columns:1fr}.banner-copy{padding-bottom:8px}.banner-visual .button{max-width:100%;white-space:normal}.tienda-apariencia{margin-left:0}}

header .tienda-apariencia{color:inherit}

/* Product photos keep their whole frame even in an older cover banner. */
.banner-visual .banner-media.producto-completo img{object-fit:contain;object-position:center}

/* Only lateral arrows are visible. Reserve their own gutter around content. */
.banner-visual{position:relative}.banner-visual:has(.banner-controles){padding-inline:max(var(--promo-espacio,16px),52px)}.banner-visual .banner-controles{position:absolute;top:50%;left:6px;right:6px;transform:translateY(-50%);display:flex;justify-content:space-between;gap:0;margin:0;pointer-events:none}.banner-visual .banner-controles button{pointer-events:auto;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;background:#fff;color:#173e31;border:1px solid #a7bdb0;box-shadow:0 2px 7px #173e3126;font-size:34px;line-height:1;display:grid;place-items:center}.banner-visual .banner-controles button:hover{background:#e3eee8}.banner-visual .banner-controles button:focus-visible{outline:3px solid #c47f12;outline-offset:1px}.banner-solo-lectores{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

.precio-unidad{font-size:max(12px,.65em);font-weight:400;white-space:nowrap;color:inherit}

.producto-indicadores{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.producto-indicadores:empty{display:none}.producto-indicadores>span,.stock-ultimas{display:inline-block;border-radius:8px;font-size:13px;font-weight:700;padding:5px 9px}.venta-destacada{background:#fff0b3;color:#684701}.entrega-estimada{background:#e2f1ea;color:#164c38}.stock-ultimas{background:#ba1728;color:#fff}.catalogo-destacados{margin-top:38px}.catalogo-destacados .grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.catalogo-destacados .card img{height:150px}.catalogo-resultados{margin:8px 0 18px}

/* Compact catalogue controls keep every quantity action on the same row. */
.producto-info{min-width:0}.producto-info h3{font-size:18px;line-height:1.3;overflow-wrap:anywhere}.producto-info .price{font-size:20px;line-height:1.35}.producto-info>p{margin:8px 0}.producto-compra{min-width:0}.producto-compra label{font-size:15px;margin:10px 0 6px}.producto-compra .quantity{display:grid;grid-template-columns:44px minmax(64px,88px) 44px;gap:6px;align-items:center;justify-content:start;flex-wrap:nowrap}.producto-compra .quantity button[type=button]{width:44px;min-width:44px;min-height:44px;height:44px;padding:0;font-size:20px;line-height:1}.producto-compra .quantity input[type=number]{width:100%;min-width:0;height:44px;padding:8px 4px;font-size:16px;line-height:1.25;font-variant-numeric:tabular-nums}.producto-compra button:not([type=button]){font-size:16px;padding:10px 12px;min-height:44px}.diseno-lista .producto-info .price{font-size:20px}

/* Mobile cards grow with their contents; purchase controls never get clipped. */
@media(max-width:600px){
 .grid>.card:has(.producto-compra){padding:14px;gap:4px;min-width:0;height:auto;max-height:none;overflow:visible}
 .producto-media{min-width:0}.producto-media>a>img,.producto-media .galeria-abrir img{height:150px;max-width:100%;object-fit:contain}
 .producto-info h3{font-size:16px;line-height:1.3;margin:6px 0}
 .producto-info>p{font-size:14px;line-height:1.35;margin:6px 0}.producto-info .price,.diseno-lista .producto-info .price{font-size:18px}
 .producto-indicadores{gap:4px;margin:6px 0}.producto-indicadores>span,.producto-indicadores .stock-ultimas{font-size:11px;padding:4px 6px}
 .producto-compra form{margin:0}.producto-compra form>p{margin:8px 0 0}.producto-compra label{font-size:14px;margin:8px 0 6px}
 .producto-compra .quantity{grid-template-columns:44px minmax(0,88px) 44px;max-width:100%}
 .producto-compra button{scroll-margin-bottom:110px}
}

/* Keep purchase actions at the same bottom edge within each catalogue row. */
.pagina-catalogo>.grid>.card>.producto-compra{margin-top:auto}
.pagina-catalogo .producto-compra form{margin:0}
.pagina-catalogo .producto-compra form>p{margin:8px 0 0}
.diseno-lista.pagina-catalogo .producto-compra{align-self:end}

/* Public catalog identity remains secondary and never clips purchase controls. */
.producto-sku{display:block;font-size:.75rem;line-height:1.35;overflow-wrap:anywhere;word-break:normal;margin:.15rem 0 .35rem;color:var(--muted,#586b67)}

.importe-moneda{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums}
