/* Refinamento de outubro/2026. Escopo público; dados e painel administrativo intactos. */
html body #catalogSurface { --catalog-width:1280px; --catalog-gutter:clamp(16px,3vw,40px); }
html body #catalogSurface .premium-catalog-wrap,
html body #catalogSurface .premium-footer-grid,
html body #catalogSurface .premium-legal { width:min(calc(100% - var(--catalog-gutter) * 2),var(--catalog-width))!important; }
html body #catalogSurface .premium-collections { padding-inline:max(var(--catalog-gutter),calc((100% - var(--catalog-width)) / 2))!important; }
html body #catalogSurface .premium-catalog { padding-block:0 64px!important; }
html body #catalogSurface .premium-catalog-wrap { padding-block:64px 0!important; padding-inline:0!important; }
html body #catalogSurface .premium-section-head,
html body #catalogSurface .premium-catalog-head { margin-bottom:32px!important; }
html body #catalogSurface .premium-catalog-head p { max-width:55ch; margin-inline:auto; }
html body #catalogSurface .premium-category-card { min-height:320px!important; }
html body #catalogSurface .premium-category-card .category-copy { padding:24px!important; }
html body #catalogSurface .premium-footer-grid { gap:32px!important; grid-template-columns:1.2fr .7fr .9fr 1.2fr 1.1fr!important; }
html body #catalogSurface .premium-footer-col { min-width:0; }
html body #catalogSurface .premium-footer-col a,
html body #catalogSurface .premium-footer-col button { min-height:44px; display:inline-flex; align-items:center; overflow-wrap:anywhere; }
html body #catalogSurface .premium-footer-col h3 { margin-bottom:12px!important; }
html body #catalogSurface .legal-links { flex-wrap:wrap; gap:8px 20px; }
html body #catalogSurface .legal-links button { min-height:44px; }
/* Header slots flow naturally: the account button no longer overlays the theme/search. */
html body #catalogSurface .premium-header-inner { width:min(calc(100% - var(--catalog-gutter) * 2),var(--catalog-width))!important; display:grid!important; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:24px!important; }
html body #catalogSurface .premium-header .premium-wordmark { position:static!important; transform:none!important; max-width:none!important; padding:6px 0!important; grid-column:2; grid-row:1; }
html body #catalogSurface .premium-header .premium-nav { position:static!important; display:flex!important; width:auto!important; grid-column:1; grid-row:1; justify-content:flex-start!important; }
html body #catalogSurface .premium-header .premium-nav-cluster { gap:clamp(10px,1.2vw,18px)!important; }
html body #catalogSurface .premium-header .premium-actions { position:static!important; transform:none!important; display:flex!important; grid-column:3; grid-row:1; justify-self:end; align-items:center; gap:4px!important; }
html body #catalogSurface .premium-actions .account-header-btn { position:static!important; transform:none!important; width:44px!important; min-width:44px!important; height:44px!important; }
html body #catalogSurface .premium-header .theme-toggle { color:#fff8ed!important; border-color:rgba(255,248,237,.45); }
/* Groups retain the original twelve-product pagination and repeat the label on continuation pages. */
html body #catalogSurface .premium-catalog #productGrid.catalog-grouped { display:flex!important; flex-direction:column; gap:40px!important; align-items:stretch!important; }
html body #catalogSurface .catalog-group { min-width:0; }
html body #catalogSurface .catalog-group-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 16px; border-bottom:1px solid var(--clean-line); padding-bottom:14px; margin-bottom:20px; }
html body #catalogSurface .catalog-group-category { flex-basis:100%; margin:0 0 4px; color:var(--clean-wine); font:600 .78rem/1.4 var(--premium-sans,Arial,sans-serif); letter-spacing:.12em; text-transform:uppercase; }
html body #catalogSurface .catalog-group-heading h3 { margin:0; color:var(--clean-ink); font:400 clamp(1.35rem,2vw,1.7rem)/1.25 var(--premium-serif,Georgia,serif); }
html body #catalogSurface .catalog-group-continuation { font-size:.78rem; color:var(--clean-muted); }
html body #catalogSurface .catalog-group-grid,
html body #catalogSurface .premium-catalog .product-grid:not(.catalog-grouped) { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:32px 24px!important; align-items:stretch!important; }
html body #catalogSurface .premium-catalog .card { height:100%; min-width:0; border-radius:6px!important; overflow:hidden!important; }
html body #catalogSurface .premium-catalog .card-body { padding:16px 12px 12px!important; gap:0; }
html body #catalogSurface .premium-catalog .card h2 { font-size:1.12rem!important; line-height:1.35!important; min-height:2.7em!important; overflow-wrap:break-word; }
html body #catalogSurface .premium-catalog .card-meta-clean { margin:8px 0 16px!important; font-size:.8rem!important; white-space:normal; min-height:2.8em; line-height:1.4; overflow-wrap:break-word; }
html body #catalogSurface .premium-catalog .price-row { margin-top:auto!important; padding-top:0; min-height:32px; }
html body #catalogSurface .premium-catalog .price { font-size:1rem!important; line-height:1.4; }
html body #catalogSurface .premium-catalog .card-actions { margin-top:12px!important; width:100%; }
html body #catalogSurface .premium-catalog .card-actions .btn { width:100%!important; min-height:44px!important; justify-content:center!important; padding:10px 12px!important; font-size:.75rem!important; line-height:1.3; letter-spacing:.04em!important; text-decoration:none!important; border:1px solid var(--clean-line)!important; border-radius:4px!important; }
html body #catalogSurface .premium-catalog .card-actions .btn:hover { border-color:var(--clean-wine)!important; background:var(--clean-cream)!important; }
html body #catalogSurface .premium-catalog .badge { max-width:calc(100% - 20px); font-size:.65rem!important; line-height:1.3; }
/* Five useful controls, with persistent removable chips when the disclosure is closed. */
html body #catalogSurface .advanced-filter-grid { grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:16px!important; padding:20px!important; }
html body #catalogSurface .advanced-filter-grid>[hidden],
html body #catalogSurface .active-filters[hidden] { display:none!important; }
html body #catalogSurface .advanced-filter-grid>label { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:.82rem; line-height:1.4; }
html body #catalogSurface .advanced-filter-grid .field,
html body #catalogSurface .advanced-filter-grid .select { margin-top:auto; }
html body #catalogSurface .advanced-filter-box>summary { display:flex!important; width:100%; align-items:center; padding:14px 18px!important; font-size:.82rem!important; letter-spacing:.02em!important; list-style:none; }
html body #catalogSurface .advanced-filter-box>summary::-webkit-details-marker { display:none; }
html body #catalogSurface .active-filters { display:flex; gap:8px; flex-wrap:wrap; margin:16px 0 0; }
html body #catalogSurface .active-filter-chip { min-height:44px; max-width:100%; padding:8px 12px; border:1px solid var(--clean-line); border-radius:999px; background:var(--clean-cream); color:var(--clean-ink); font:400 .8rem/1.4 var(--premium-sans,Arial,sans-serif); text-align:left; overflow-wrap:anywhere; cursor:pointer; }
html body #catalogSurface .result-row { gap:12px; align-items:center; flex-wrap:wrap; font-size:.82rem; }
html body #catalogSurface .catalog-controls { margin-bottom:28px!important; }
html body #catalogSurface .commerce-toolbar :is(.field,.select) { border:1px solid var(--clean-line)!important; border-radius:4px; font-size:.9rem; }
html body #catalogSurface .catalog-page-button { min-width:44px; min-height:44px; }
/* An unobtrusive magnifier on hover/focus; always visible on touch screens. */
html body #catalogSurface .gallery-image-zoom { position:absolute; inset:0; width:100%; height:100%; padding:0; border:0; background:transparent; z-index:3; cursor:zoom-in; }
html body #catalogSurface .card-image-open { cursor:zoom-in; }
html body #catalogSurface .image-zoom-hint { position:absolute; right:12px; bottom:12px; display:inline-flex; align-items:center; gap:9px; min-height:36px; padding:8px 12px; border:1px solid rgba(74,10,26,.12); border-radius:999px; color:#4a0a1a; background:rgba(255,255,255,.95); box-shadow:0 3px 12px rgba(0,0,0,.08); font:600 .74rem/1.2 Arial,sans-serif; pointer-events:none; opacity:1; transition:opacity .18s ease; }
html body #catalogSurface .image-zoom-hint::before { content:''; width:13px; height:13px; border:1.5px solid currentColor; border-radius:50%; box-sizing:border-box; }
html body #catalogSurface .image-zoom-hint::after { content:''; position:absolute; width:6px; height:1.5px; background:currentColor; left:22px; top:24px; transform:rotate(45deg); }
@media(hover:hover) and (pointer:fine) {
 html body #catalogSurface .image-zoom-hint { opacity:0; }
 html body #catalogSurface :is(.card-image,.gallery-main):hover .image-zoom-hint,
 html body #catalogSurface :is(.card-image,.gallery-main):focus-within .image-zoom-hint { opacity:1; }
}
body.image-zoom-open { overflow:hidden; }
html body #catalogSurface .product-image-zoom { padding:0; margin:auto; width:min(1080px,calc(100% - 32px)); height:min(900px,92vh); height:min(900px,92dvh); max-width:none; max-height:none; border:1px solid var(--clean-line); border-radius:12px; background:var(--clean-white); color:var(--clean-ink); box-shadow:0 24px 80px rgba(0,0,0,.3); overflow:hidden; }
html body #catalogSurface .product-image-zoom[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
html body #catalogSurface .product-image-zoom::backdrop { background:rgba(18,12,16,.8); backdrop-filter:blur(4px); }
html body #catalogSurface .image-zoom-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 20px; border-bottom:1px solid var(--clean-line); }
html body #catalogSurface .image-zoom-toolbar h2 { margin:0; font:400 1.15rem/1.35 var(--premium-serif,Georgia,serif); min-width:0; overflow-wrap:anywhere; }
html body #catalogSurface .image-zoom-controls { display:flex; align-items:center; gap:8px; flex-shrink:0; }
html body #catalogSurface .image-zoom-controls button { min-height:44px; min-width:44px; padding:8px 12px; border:1px solid var(--clean-line); border-radius:4px; color:var(--clean-ink); background:var(--clean-white); cursor:pointer; font:600 .8rem/1.3 Arial,sans-serif; }
html body #catalogSurface .image-zoom-viewport { overflow:auto; background:#f8f5f0; overscroll-behavior:contain; touch-action:pan-x pan-y pinch-zoom; }
html body #catalogSurface .image-zoom-canvas { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
html body #catalogSurface .image-zoom-canvas img { display:block; width:100%; height:100%; max-width:none; object-fit:contain; padding:20px; }
html body #catalogSurface .is-enlarged .image-zoom-canvas { width:200%; height:200%; }
html body #catalogSurface #imageZoomHelp { margin:0; padding:12px 20px; color:var(--clean-muted); font-size:.8rem; line-height:1.5; }
@media(max-width:1100px) {
 html body #catalogSurface .catalog-group-grid,
 html body #catalogSurface .premium-catalog .product-grid:not(.catalog-grouped) { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
 html body #catalogSurface .advanced-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
 html body #catalogSurface .premium-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
 html body #catalogSurface .premium-header-inner { grid-template-columns:minmax(0,1fr) auto; gap:12px!important; }
 html body #catalogSurface .premium-header .premium-wordmark { grid-column:1; justify-self:start; min-width:0; max-width:100%!important; }
 html body #catalogSurface .premium-header .premium-actions { grid-column:2; }
 html body #catalogSurface .premium-header .premium-nav { position:fixed!important; inset:72px 0 auto!important; width:100%!important; max-height:0!important; display:flex!important; visibility:hidden!important; opacity:0!important; overflow:hidden!important; padding:0 var(--catalog-gutter)!important; background:#24090d!important; }
 html body #catalogSurface .premium-header .premium-nav.open { max-height:calc(100svh - 72px)!important; overflow:auto!important; visibility:visible!important; opacity:1!important; padding-block:16px!important; }
 html body #catalogSurface .premium-header .premium-nav-cluster { flex-direction:column!important; align-items:stretch!important; width:100%; gap:0!important; }
 html body #catalogSurface .premium-header .premium-nav button { min-height:48px; width:100%; text-align:left; padding:12px 0!important; font-size:.8rem!important; }
 html body #catalogSurface .premium-header { height:72px!important; }
 html body #catalogSurface .premium-header.is-scrolled { height:72px!important; }
 html body #catalogSurface .premium-header .premium-menu { display:flex!important; min-width:44px!important; }
 html body #catalogSurface #premiumSearchBtn { display:none!important; }
}
@media(max-width:760px) {
 html body #catalogSurface .premium-catalog-wrap { padding-top:40px!important; }
 html body #catalogSurface .catalog-group-grid,
 html body #catalogSurface .premium-catalog .product-grid:not(.catalog-grouped) { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:24px 16px!important; }
 html body #catalogSurface .advanced-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 html body #catalogSurface .commerce-toolbar { grid-template-columns:1fr 1fr!important; }
 html body #catalogSurface .search-smart-wrap { grid-column:1/-1; }
 html body #catalogSurface .premium-category-card { min-height:280px!important; }
 html body #catalogSurface .premium-category-card .category-copy { padding:18px!important; }
 html body #catalogSurface .premium-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:28px 20px!important; }
 html body #catalogSurface .premium-footer-brand,
 html body #catalogSurface .premium-newsletter { grid-column:1/-1; }
 html body #catalogSurface .premium-header .premium-wordmark b { font-size:1.3rem!important; letter-spacing:.1em!important; }
 html body #catalogSurface .premium-header .theme-toggle { width:44px; min-width:44px; padding:0; font-size:0; }
 html body #catalogSurface .premium-header .theme-toggle span { display:none; }
 html body #catalogSurface .premium-header .theme-toggle::before { content:'◐'; font:400 1.2rem/1 Arial,sans-serif; }
 html body #catalogSurface .premium-header .premium-actions { gap:0!important; }
 html body #catalogSurface .premium-header .premium-cart { min-width:48px!important; }
 html body #catalogSurface .premium-purpose-copy { padding-inline:var(--catalog-gutter)!important; }
 html body #catalogSurface .premium-values { padding-inline:var(--catalog-gutter)!important; }
 html body #catalogSurface .wine-finder-disclosure>summary { font-size:1rem; gap:12px; }
 html body #catalogSurface .wine-finder-disclosure>summary small { display:none; }
 html body #catalogSurface .image-zoom-toolbar { padding:12px; gap:8px; align-items:flex-start; }
 html body #catalogSurface .image-zoom-toolbar h2 { font-size:1rem; }
 html body #catalogSurface .image-zoom-controls { gap:4px; }
 html body #catalogSurface .image-zoom-controls button { padding:8px; }
 html body #catalogSurface .image-zoom-canvas img { padding:12px; }
 html body #catalogSurface #imageZoomHelp { padding:10px 12px; }
 html body #catalogSurface .field,
 html body #catalogSurface .select,
 html body #catalogSurface .textarea { font-size:16px!important; }
}
@media(max-width:540px) {
 html body #catalogSurface .catalog-group-grid,
 html body #catalogSurface .premium-catalog .product-grid:not(.catalog-grouped) { grid-template-columns:minmax(0,1fr)!important; }
 html body #catalogSurface .premium-catalog .card-image { max-height:380px; }
 html body #catalogSurface .premium-catalog .card h2 { min-height:0!important; font-size:1.2rem!important; }
 html body #catalogSurface .premium-catalog .card-meta-clean { min-height:0; }
 html body #catalogSurface .advanced-filter-grid,
 html body #catalogSurface .commerce-toolbar { grid-template-columns:minmax(0,1fr)!important; }
 html body #catalogSurface .premium-category-grid { grid-template-columns:minmax(0,1fr)!important; }
 html body #catalogSurface .premium-category-card { min-height:300px!important; }
 html body #catalogSurface .advanced-filter-grid { padding:16px!important; gap:16px!important; }
 html body #catalogSurface .image-zoom-toolbar { flex-wrap:wrap; }
 html body #catalogSurface .image-zoom-toolbar h2 { flex:1 1 180px; }
 html body #catalogSurface .image-zoom-controls { margin-left:auto; }
}
@media(max-width:360px) {
 html body #catalogSurface { --catalog-gutter:12px; }
 html body #catalogSurface .premium-header-inner { gap:4px!important; }
 html body #catalogSurface .premium-header .premium-wordmark b { font-size:1.1rem!important; letter-spacing:.07em!important; }
 html body #catalogSurface .premium-footer-grid { grid-template-columns:minmax(0,1fr)!important; }
}
@media(prefers-reduced-motion:reduce) {
 html body #catalogSurface .image-zoom-hint { transition:none; }
}
html body #catalogSurface .premium-purpose>* { min-width:0; }
html body #catalogSurface .premium-catalog .card:focus-within { overflow:visible!important; }
