.shop-page{background:#f8f4ee}.shop-header{position:sticky;top:0}.nav .current:after{right:0}.shop-intro{padding:85px 5vw 65px;text-align:center;background:#eee5da;border-bottom:1px solid #d9cfc3}.shop-intro .eyebrow{color:var(--wine);margin-bottom:12px}.shop-intro h1{font:clamp(48px,5.4vw,80px)/1 var(--serif);font-weight:400;margin:0}.shop-intro h1 em{font:1.08em var(--script);color:var(--wine)}.shop-intro>p:last-child{color:var(--muted);margin:24px 0 0}.shop-shell{display:grid;grid-template-columns:245px minmax(0,1fr);gap:45px;max-width:1500px;margin:auto;padding:48px 4vw 120px}.shop-sidebar{align-self:start;position:sticky;top:116px}.filter-panel-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--ink)}.filter-panel-head h2{font:28px var(--serif);font-weight:400;margin:0}.filter-panel-head button{display:none;border:0;background:none;font-size:28px}.filter-group{padding:24px 0;border-bottom:1px solid var(--line)}.filter-group h3{display:flex;justify-content:space-between;margin:0 0 16px;text-transform:uppercase;letter-spacing:.15em;font-size:9px}.filter-group h3 span{font-weight:400;color:var(--wine)}.filter-group label{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;padding:7px 0;cursor:pointer;color:var(--muted);font-size:11px}.filter-group input[type=radio]{appearance:none;width:12px;height:12px;border:1px solid #9a8c82;border-radius:50%;margin:0}.filter-group input[type=radio]:checked{border:3px solid var(--wine)}.filter-group input[type=radio]:checked+span{color:var(--ink);font-weight:600}.filter-group label small{color:#a99e97}.filter-group select{width:100%;padding:12px 30px 12px 12px;border:1px solid var(--line);background:var(--paper);font-size:11px}.filter-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.filter-sizes button{height:38px;border:1px solid var(--line);background:transparent;cursor:pointer;font-size:11px}.filter-sizes button.active{background:var(--wine);color:#fff;border-color:var(--wine)}.filter-group input[type=range]{width:100%;accent-color:var(--wine)}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.stock-filter{display:flex;align-items:center;gap:9px;padding:24px 0;font-size:11px}.stock-filter input{accent-color:var(--wine)}.clear-filters{border:0;background:none;padding:0 0 5px;border-bottom:1px solid var(--ink);font-size:9px;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:18px;border-bottom:1px solid var(--line)}.catalog-search{display:flex;align-items:center;gap:10px;width:min(470px,55%);border-bottom:1px solid var(--ink)}.catalog-search svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.4}.catalog-search input{border:0;background:transparent;outline:none;padding:12px 0;width:100%;font-size:12px}.toolbar-actions{display:flex;align-items:center;gap:20px}.sort-select{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.sort-select select{border:0;background:transparent;font-size:10px;margin-left:5px;color:var(--ink);outline:none}.filter-mobile-button{display:none}.results-meta{display:flex;justify-content:space-between;align-items:center;margin:22px 0}.results-meta p{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.results-meta span{font-size:9px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 14px}.catalog-card{min-width:0}.catalog-card-image{position:relative;aspect-ratio:.72;background:#e9e0d6;overflow:hidden;cursor:pointer}.catalog-card-image>img{height:100%;object-fit:cover;transition:transform .55s ease}.catalog-card:hover .catalog-card-image>img{transform:scale(1.025)}.catalog-card-tag{position:absolute;top:11px;left:11px;padding:7px 9px;background:rgba(252,250,246,.9);font-size:7px;text-transform:uppercase;letter-spacing:.12em}.catalog-favorite{position:absolute;right:9px;top:9px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(252,250,246,.9);font-size:17px;cursor:pointer}.catalog-favorite.active{background:var(--wine);color:#fff}.catalog-quick{position:absolute;bottom:9px;left:9px;right:9px;border:0;background:rgba(252,250,246,.94);padding:12px 6px;text-transform:uppercase;letter-spacing:.12em;font-size:8px;cursor:pointer;transform:translateY(60px);transition:.3s}.catalog-card:hover .catalog-quick{transform:translateY(0)}.catalog-card-info{padding:13px 2px}.catalog-card-line{display:flex;align-items:start;justify-content:space-between;gap:8px}.catalog-card h2{font:19px var(--serif);font-weight:400;margin:0}.catalog-card-price{font-size:11px;white-space:nowrap}.catalog-card-meta{margin:5px 0 0;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em;line-height:1.5}.catalog-card-sizes{margin:8px 0 0;font-size:9px;color:#5f5550}.catalog-empty{text-align:center;padding:110px 20px}.catalog-empty>span{font-size:30px;color:var(--wine)}.catalog-empty h2{font:32px var(--serif);font-weight:400;margin:10px 0}.catalog-empty p{color:var(--muted)}.catalog-empty button{border:0;border-bottom:1px solid;background:none;padding:6px;text-transform:uppercase;font-size:9px;letter-spacing:.1em;cursor:pointer}.shop-dialog{width:min(940px,93vw);max-height:92vh;padding:0;border:0;background:var(--paper);color:var(--ink);grid-template-columns:1.08fr .92fr;overflow:hidden}.shop-dialog[open]{display:grid}.shop-dialog::backdrop{background:#1c1310bf}.shop-dialog-image{min-height:610px;background:#eee5dc}.shop-dialog-image img{height:100%;object-fit:cover}.shop-dialog-content{padding:64px 45px;overflow:auto}.shop-dialog-content .eyebrow{color:var(--wine);margin-bottom:10px}.shop-dialog-content h2{font:43px var(--serif);font-weight:400;line-height:1.05;margin:0}.shop-dialog-price{font-size:15px;margin:12px 0 24px}.shop-dialog-description{color:var(--muted);line-height:1.8}.product-colors{display:flex;gap:10px;margin:21px 0 0;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.product-colors span{color:var(--muted)}.shop-dialog-content fieldset{border:0;padding:28px 0 20px;margin:0}.shop-dialog-content legend{text-transform:uppercase;letter-spacing:.14em;font-size:9px;margin-bottom:12px}.shop-dialog-add{width:100%;background:var(--wine);color:#fff}.shop-dialog-add:disabled{opacity:.45;cursor:not-allowed}.filter-backdrop{display:none}.shop-page footer{margin-top:0}
@media(max-width:1250px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.shop-intro{padding:60px 18px 48px}.shop-intro h1{font-size:48px}.shop-intro h1 em{display:block}.shop-shell{display:block;padding:25px 15px 80px}.shop-sidebar{position:fixed;z-index:80;left:0;top:0;bottom:0;width:min(340px,88vw);background:var(--paper);padding:25px;overflow:auto;transform:translateX(-100%);transition:.35s}.shop-sidebar.open{transform:translateX(0);box-shadow:12px 0 40px #1c131033}.filter-panel-head button{display:block}.shop-toolbar{display:block}.catalog-search{width:100%}.toolbar-actions{justify-content:space-between;margin-top:18px}.filter-mobile-button{display:block;border:1px solid var(--ink);background:transparent;padding:10px 17px;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.filter-mobile-button span:not(:empty){display:inline-grid;place-items:center;background:var(--wine);color:#fff;border-radius:50%;width:17px;height:17px;margin-left:6px}.results-meta span{display:none}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}.catalog-quick{transform:none}.shop-dialog{grid-template-columns:1fr;overflow:auto}.shop-dialog[open]{display:block}.shop-dialog-image{min-height:0;height:48vh}.shop-dialog-content{padding:35px 24px}.shop-dialog-content h2{font-size:36px}}
@media(max-width:430px){.sort-select{font-size:0}.sort-select select{font-size:9px}.catalog-card h2{font-size:16px}.catalog-card-meta{font-size:7px}.catalog-card-sizes{font-size:8px}.catalog-quick{font-size:7px;padding:10px 3px}.catalog-card-tag{font-size:6px}.shop-dialog-image{height:42vh}}

/* Contención responsive del catálogo */
.shop-page{overflow-x:hidden}.shop-content{min-width:0}.shop-intro>p:last-child{max-width:520px;margin-left:auto;margin-right:auto}
@media(max-width:900px){.shop-intro{overflow:hidden}.toolbar-actions{min-width:0;overflow:hidden}.sort-select{min-width:0;white-space:nowrap}.sort-select select{max-width:145px}.catalog-grid{width:100%}.catalog-card{min-width:0}.catalog-card-line{display:block}.catalog-card-price{display:block;margin-top:4px}.catalog-card h2{overflow-wrap:anywhere}}

/* El panel de filtros mide ~787px y es sticky: sin scroll propio, su tramo final
   (precio, stock, limpiar) es inalcanzable en pantallas de menos de ~900px de alto */
.shop-sidebar{max-height:calc(100vh - 116px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 12px 10px 0}
/* El slider de precio lleva margin:2px del navegador que se suma a su width:100%:
   desbordaba 4px y eso forzaba una barra horizontal dentro del panel */
.filter-group input[type=range]{display:block;margin:0}
/* Barra de scroll fina y discreta, en la paleta del sitio (la del sistema es demasiado tosca).
   OJO: si se declaran scrollbar-width/scrollbar-color, Chrome usa su barra nativa e ignora
   los ::-webkit-scrollbar. Por eso las estándar van sólo donde no hay soporte webkit. */
@supports not selector(::-webkit-scrollbar){
  .shop-sidebar{scrollbar-width:thin;scrollbar-color:#cbbfb2 transparent}
}
.shop-sidebar::-webkit-scrollbar{width:6px}
.shop-sidebar::-webkit-scrollbar-button{display:none;width:0;height:0}
.shop-sidebar::-webkit-scrollbar-track{background:transparent}
.shop-sidebar::-webkit-scrollbar-thumb{background:#cbbfb2;border-radius:3px}
.shop-sidebar::-webkit-scrollbar-thumb:hover{background:#a08a78}
/* En móvil el sidebar es un drawer fijo a toda altura: el max-height sobraría */
@media(max-width:900px){.shop-sidebar{max-height:none;padding:25px}}
