/* Presentation adapter: saved left/right promotions share one sidebar. */
main:has(.catalogo-layout){max-width:1480px}
.tienda-columnas.catalogo-layout{display:grid;grid-template-columns:260px minmax(0,1fr);align-items:start;gap:24px}
.catalogo-lateral{position:sticky;top:16px;min-width:0;max-height:max(0px,calc(100dvh - 32px - var(--catalogo-carrito-alto,84px)));overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
.catalogo-panel{border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text)}
.catalogo-panel>summary{display:none;cursor:pointer;min-height:48px;padding:12px 16px;font-weight:700;list-style:none}
.catalogo-panel>summary::-webkit-details-marker{display:none}.catalogo-panel>summary span{float:right}
.catalogo-panel-contenido{padding:18px}.catalogo-filtros h2{font-size:18px;margin:0 0 16px}.catalogo-filtros label{font-size:14px;font-weight:650;margin:12px 0 6px}.catalogo-filtros select{width:100%;min-height:44px;font-size:14px;padding:10px 8px}
.catalogo-filtros button{width:100%;font-size:15px;min-height:44px;margin-top:18px;padding:10px}.catalogo-limpiar{display:block;text-align:center;font-size:14px;margin:12px 0}.catalogo-activos{overflow-wrap:anywhere;font-size:14px}
.catalogo-lateral .promo-margen{position:static;width:auto;max-height:none;overflow:visible}.catalogo-promociones>section{margin:18px 0 0;padding:14px;overflow-wrap:anywhere}.catalogo-promociones .texto-visual h2{font-size:20px}.catalogo-promociones .banner-tienda{padding-inline:12px}.catalogo-promociones .banner-tienda:has(.banner-controles){padding-inline:44px}.catalogo-promociones .banner-visual .banner-media img{height:160px}.catalogo-promociones .banner-copy .button{font-size:15px;min-height:44px;padding:10px 14px}.catalogo-promociones .banner-copy{width:100%}
.catalogo-barra{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;margin:18px 0 10px}
.catalogo-barra label{margin:0;min-width:0;font-size:13px;font-weight:600}.catalogo-barra input,.catalogo-barra select{display:block;min-height:44px;font-size:14px;padding:10px;width:100%;margin-top:5px}.catalogo-buscar{flex:1 1 220px}.catalogo-barra label:has([name=orden]){flex:1 1 190px}.catalogo-barra label:has([name=page_size]){flex:0 1 92px}.catalogo-barra button{min-height:44px;font-size:15px;padding:10px 18px}.catalogo-relevancia{margin:8px 0;font-size:14px}.catalogo-resultados{font-size:14px;margin:12px 0}
.pagina-catalogo>.catalogo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.pagina-catalogo>.catalogo-grid>.card{padding:14px;min-width:0;display:flex;flex-direction:column;gap:6px;border-radius:15px;height:auto;max-height:none;overflow:visible}
.catalogo-grid>.card>.producto-media{width:100%;min-width:0}.catalogo-grid>.card>.producto-media>a>img{display:block;width:100%;height:auto!important;aspect-ratio:1;object-fit:contain;background:var(--panel);border-radius:10px}
.catalogo-grid .producto-media .tiny,.catalogo-grid .producto-media summary{font-size:12px;line-height:1.4}.catalogo-grid .producto-media .tiny{margin:8px 0}.catalogo-grid .producto-media summary{cursor:pointer;overflow-wrap:anywhere}
.catalogo-grid .producto-info h3{font-size:17px;line-height:1.35;margin:8px 0}.catalogo-grid .producto-info>small{font-size:12px}.catalogo-grid .producto-info>p{font-size:14px;line-height:1.4;margin:8px 0}.catalogo-grid .producto-info .price{font-size:13px;font-weight:500}.catalogo-grid .price .importe-moneda{display:block;font-size:21px;font-weight:750;line-height:1.35}.catalogo-grid .producto-indicadores>span{font-size:11px;padding:4px 6px}
.pagina-catalogo>.catalogo-grid>.card>.producto-compra{margin-top:auto;padding-top:8px}.catalogo-grid .producto-compra .quantity{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px;width:100%;max-width:208px}.catalogo-grid .producto-compra button:not([type=button]){width:100%;min-height:44px;font-size:14px;padding:10px 6px}.catalogo-grid .producto-compra .quantity input{font-size:16px;min-width:0}.catalogo-paginacion{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;margin:12px 0}.catalogo-paginacion .button{min-height:46px;font-size:16px;padding:11px 20px}.catalogo-pagina-actual{font-size:14px;min-width:100px;text-align:center}
.diseno-fotos.pagina-catalogo>.catalogo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.diseno-lista.pagina-catalogo>.catalogo-grid{display:block}.diseno-lista.pagina-catalogo>.catalogo-grid>.card{display:grid;grid-template-columns:140px minmax(0,1fr) 210px;gap:18px;margin:16px 0}.diseno-lista .catalogo-grid>.card>.producto-compra{align-self:end}.diseno-lista .catalogo-grid .producto-info .price{font-size:13px}
.catalogo-layout :is(a,button,input,select,summary):focus-visible{outline:3px solid var(--primary);outline-offset:3px}
@media(min-width:1024px){.catalogo-panel:not([open])>.catalogo-panel-contenido{display:block}}
@media(max-width:1199px) and (min-width:1024px){.pagina-catalogo>.catalogo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.diseno-fotos.pagina-catalogo>.catalogo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diseno-lista.pagina-catalogo>.catalogo-grid>.card{grid-template-columns:110px minmax(0,1fr)}.diseno-lista .catalogo-grid>.card>.producto-compra{grid-column:2}}
@media(max-width:1023px){.tienda-columnas.catalogo-layout{display:block}.catalogo-lateral{position:static;max-height:none;overflow:visible;margin:0 0 18px}.catalogo-panel>summary{display:block}.pagina-catalogo>.catalogo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.diseno-lista.pagina-catalogo>.catalogo-grid>.card{grid-template-columns:130px minmax(0,1fr) 190px}.catalogo-panel-contenido{max-height:none}.catalogo-promociones{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}}
@media(max-width:699px){.pagina-catalogo>.catalogo-grid,.diseno-fotos.pagina-catalogo>.catalogo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pagina-catalogo>.catalogo-grid>.card{padding:10px}.catalogo-barra{gap:10px;padding:12px}.catalogo-buscar{flex-basis:100%}.catalogo-barra label:has([name=orden]){flex:1 1 150px}.catalogo-barra button{flex:1 1 100%}.catalogo-grid .producto-info h3{font-size:15px}.catalogo-grid .price .importe-moneda{font-size:18px}.catalogo-grid .producto-info>p{font-size:13px}.catalogo-paginacion .button{padding:10px 14px;font-size:15px}.diseno-lista.pagina-catalogo>.catalogo-grid>.card{grid-template-columns:95px minmax(0,1fr);gap:10px}.diseno-lista .catalogo-grid>.card>.producto-compra{grid-column:1/-1}.diseno-lista .catalogo-grid .producto-compra .quantity{max-width:230px}}
@media(max-width:389px){.pagina-catalogo>.catalogo-grid,.diseno-fotos.pagina-catalogo>.catalogo-grid{grid-template-columns:1fr}.catalogo-barra label:has([name=orden]){flex-basis:100%}.catalogo-barra label:has([name=page_size]){flex:1}.catalogo-paginacion{gap:8px}.catalogo-pagina-actual{min-width:84px}.catalogo-grid .price .importe-moneda{font-size:21px}}
.preview-movil .tienda-columnas.catalogo-layout{display:block}.preview-movil .catalogo-lateral{position:static;max-height:none;overflow:visible;margin-bottom:18px}.preview-movil .catalogo-panel>summary{display:block}.preview-movil .pagina-catalogo>.catalogo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preview-movil .catalogo-grid>.card{padding:10px}.preview-movil .catalogo-barra{display:block}.preview-movil .catalogo-barra label,.preview-movil .catalogo-barra button{display:block;width:100%;margin-top:8px}.preview-movil .diseno-lista.pagina-catalogo>.catalogo-grid{display:block}.preview-movil .diseno-lista.pagina-catalogo>.catalogo-grid>.card{grid-template-columns:95px minmax(0,1fr)}.preview-movil .diseno-lista .producto-compra{grid-column:1/-1}.preview-movil .catalogo-grid .producto-info h3{font-size:15px}.preview-movil .catalogo-grid .price .importe-moneda{font-size:18px}
@media print{.catalogo-lateral{position:static;max-height:none;overflow:visible}.catalogo-panel>summary{display:none}.catalogo-panel:not([open])>.catalogo-panel-contenido{display:block}.catalogo-barra,.catalogo-paginacion{display:none}}

.tienda-columnas.catalogo-layout.sin-lateral{grid-template-columns:1fr}

/* The adjacent44px +/- controls replace the native spinner without hiding digits. */
.catalogo-grid .producto-compra input[type=number]{appearance:textfield;-moz-appearance:textfield}
.catalogo-grid .producto-compra input[type=number]::-webkit-inner-spin-button,.catalogo-grid .producto-compra input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
