/* INTEGRALL — catálogo, detalhes compactos e preferência de aparência. */
html { color-scheme: light; }
html body #catalogSurface .theme-toggle { min-height:44px; padding:0 12px; border:1px solid var(--clean-line); border-radius:999px; background:transparent; color:var(--clean-wine); font:600 .7rem/1.2 var(--premium-sans,Arial,sans-serif); cursor:pointer; white-space:nowrap; }
html body #catalogSurface .premium-nav-left { gap:clamp(10px,1.4vw,24px); }
html body #catalogSurface .origin-filter { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:14px 0; }
html body #catalogSurface .origin-filter>label { font-size:.8rem; font-weight:600; color:var(--clean-ink); }
html body #catalogSurface .origin-filter .select { width:auto; min-width:220px; min-height:44px; }
html body #catalogSurface .origin-filter[hidden], html body #catalogSurface [data-wine-filter][hidden] { display:none!important; }
html body #catalogSurface .advanced-filter-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding:18px; }
html body #catalogSurface .advanced-filter-grid>label { font-size:.78rem; color:var(--clean-ink); letter-spacing:0; text-transform:none; }
html body #catalogSurface .advanced-filter-grid .select, html body #catalogSurface .advanced-filter-grid .field { width:100%; min-height:46px; margin-top:7px; }
html body #catalogSurface .advanced-filter-box>summary::after { content:'+'; margin-left:auto; font-size:1.15rem; color:var(--clean-wine); }
html body #catalogSurface .advanced-filter-box[open]>summary::after { content:'−'; }
html body #catalogSurface .filter-hint { margin:0 18px 16px; font-size:.8rem; color:#a02c35; }
html body #catalogSurface .filter-hint:empty { display:none; }
/* Stretch the content of each row so names of different lengths do not stagger prices. */
html body #catalogSurface .premium-catalog .card { overflow:visible!important; transition:transform .22s ease,box-shadow .22s ease!important; background:var(--clean-white)!important; }
html body #catalogSurface .premium-catalog .card-body { display:flex!important; flex:1; padding:16px 8px 12px!important; }
html body #catalogSurface .premium-catalog .card h2 { min-height:2.4em!important; }
html body #catalogSurface .premium-catalog .card-meta-clean { min-height:1.35em; margin-bottom:12px; }
html body #catalogSurface .premium-catalog .price-row { margin-top:auto!important; min-height:32px; }
html body #catalogSurface .price, html body #catalogSurface .price-old, html body #catalogSurface .big-price,
html body #catalogSurface .cart-item-price, html body #catalogSurface #wineStickyPrice,
html body #catalogSurface .search-suggestion-price { white-space:nowrap!important; overflow-wrap:normal!important; word-break:normal!important; font-variant-numeric:tabular-nums; }
html body #catalogSurface .premium-catalog .price-stack { min-width:0; max-width:100%; }
html body #catalogSurface .premium-catalog .card:focus-within { outline:2px solid var(--clean-wine); outline-offset:4px; }
@media (hover:hover) and (pointer:fine) {
 html body #catalogSurface .premium-catalog .card:hover { transform:translateY(-4px)!important; box-shadow:0 12px 25px rgba(45,20,25,.1)!important; }
}
/* A genuine backdrop receives outside clicks; the sheet keeps the catalogue in place. */
body.product-dialog-open { overflow:hidden; }
html body #catalogSurface .product-backdrop { position:fixed; inset:0; z-index:1249; background:rgba(20,13,17,.48); backdrop-filter:blur(3px); }
html body #catalogSurface .product-backdrop[hidden] { display:none!important; }
html body #catalogSurface #productDetails.open {
 position:fixed!important; inset:50% auto auto 50%!important; transform:translate(-50%,-50%)!important;
 width:min(900px,calc(100% - 48px))!important; max-width:900px!important; height:auto!important;
 max-height:86vh!important; max-height:86dvh!important; margin:0!important; border:1px solid var(--clean-line)!important;
 border-radius:14px!important; box-shadow:0 24px 80px rgba(0,0,0,.25)!important; overflow-y:auto!important; overflow-x:hidden!important;
}
html body #catalogSurface #productDetails .product-details-toolbar { padding:6px 20px!important; background:var(--clean-white)!important; border-bottom:1px solid var(--clean-line)!important; }
html body #catalogSurface #productDetails .product-details-body { padding:22px 28px 28px!important; width:100%!important; max-width:100%!important; }
html body #catalogSurface #productDetails .product-detail-heading { margin-bottom:20px!important; }
html body #catalogSurface #productDetails .product-detail-heading h2 { font-size:clamp(1.5rem,2.2vw,2rem)!important; line-height:1.18!important; }
html body #catalogSurface #productDetails .product-details-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important; gap:26px!important; }
html body #catalogSurface #productDetails .gallery-main { width:100%!important; height:340px!important; max-height:340px!important; min-height:0!important; aspect-ratio:auto!important; border-radius:8px; }
html body #catalogSurface #productDetails .product-info { padding:0!important; }
html body #catalogSurface #productDetails .big-price { font-size:1.4rem!important; }
html body #catalogSurface #productDetails .product-purchase-actions { grid-template-columns:1fr!important; }
html body #catalogSurface #productDetails .wine-quick-facts { display:none!important; }
html body #catalogSurface #productDetails .wine-purchase-bar { display:none!important; }
html body #catalogSurface #productDetails .wine-characteristics-inner,
html body #catalogSurface #productDetails .wine-sensory-inner { width:100%!important; padding:0!important; grid-template-columns:1fr!important; gap:18px!important; }
html body #catalogSurface #productDetails .wine-sensory { padding:24px 28px!important; }
html body #catalogSurface #productDetails .wine-characteristics { padding:24px 28px!important; }
html body #catalogSurface :focus-visible { outline:2px solid var(--clean-wine); outline-offset:3px; }
@media(max-width:1000px) {
 html body #catalogSurface .advanced-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
 html body #catalogSurface .advanced-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:14px; }
 html body #catalogSurface .premium-catalog .price { font-size:.8rem!important; }
 html body #catalogSurface .theme-toggle { padding:0 9px; font-size:.65rem; }
 html body #catalogSurface .premium-actions { gap:5px!important; }
 html body #catalogSurface #productDetails.open { width:calc(100% - 24px)!important; max-height:90vh!important; max-height:90dvh!important; border-radius:12px!important; }
 html body #catalogSurface #productDetails .product-details-body { padding:18px!important; }
 html body #catalogSurface #productDetails .product-details-grid { grid-template-columns:1fr!important; gap:20px!important; }
 html body #catalogSurface #productDetails .gallery-main { height:260px!important; max-height:34vh!important; max-height:34dvh!important; }
 html body #catalogSurface #productDetails .product-detail-heading h2 { font-size:1.4rem!important; }
 html body #catalogSurface #productDetails .wine-sensory, html body #catalogSurface #productDetails .wine-characteristics { padding:18px!important; }
}
@media(max-width:400px) {
 html body #catalogSurface .premium-catalog .price { font-size:.7rem!important; }
 html body #catalogSurface .advanced-filter-grid { grid-template-columns:1fr; }
 html body #catalogSurface .premium-header-inner { gap:6px!important; padding-inline:12px!important; }
 html body #catalogSurface .premium-wordmark b { font-size:1.1rem!important; letter-spacing:.1em!important; }
}
@media(prefers-reduced-motion:reduce) {
 html body #catalogSurface .premium-catalog .card { transition:none!important; }
 html body #catalogSurface .premium-catalog .card:hover { transform:none!important; }
}
/* Dark theme: warm charcoal, wine buttons and champagne accents. Product photos stay original. */
html[data-theme="dark"] { color-scheme:dark; background:#171316; }
html[data-theme="dark"] body, html[data-theme="dark"] body #catalogSurface {
 --clean-ink:#f6efe8; --clean-muted:#bfb4b8; --clean-line:#493943; --clean-cream:#2b2228; --clean-white:#211a20; --clean-wine:#e5b5bf;
 --wine:#e5b5bf!important; --wine-2:#f4ccd3!important; --gold:#d1b178!important; --sand:#2b2228!important; --sand-2:#30262c!important;
 --white:#211a20!important; --ink:#f6efe8!important; --muted:#bfb4b8!important; --line:#493943!important; --danger:#ffb4b9!important; --ok:#9cdbb7!important;
 background:#171316!important; color:#f6efe8!important;
}
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.header,.premium-header,.nav.open,.premium-purpose,.premium-collections,.premium-catalog,.premium-footer,.footer,.premium-closing,.site-page,.modal,.drawer,.account-panel,.panel-head,.drawer-foot,.product-details-inline,.product-details-toolbar,.product-extra-panel,.advanced-filter-box,.gallery-thumb,.empty,.cart-receipt,.search-suggestions,.search-suggestion,.search-suggestion-section,.wine-finder-disclosure,.wine-finder-card,.wine-finder-empty,.review-card,.review-form,.restock-alert-box,.price-alert-box,.account-card,.account-form,.account-auth-card,.age-gate-card,.wine-sensory,.wine-characteristics,.wine-purchase-bar) {
 background:#211a20!important; color:#f6efe8!important; border-color:#493943!important;
}
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.premium-values article,.meta,.gift-box,.gift-experience,.shipping-choice,.shipping-choice.selected,.wine-finder fieldset,.wine-finder fieldset button,.wine-finder-chip,.account-order,.account-order-card,.account-product-card,.account-address-card,.cart-consent,.cart-suggestion,.related-card,.product-delivery-box,.product-delivery-result,.checkout-action-row,.cart-foot-actions) { background:#2b2228!important; color:#f6efe8!important; border-color:#493943!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(h1,h2,h3,h4,label,legend,.group-title,.brand,.brand b,.brand-copy,.premium-wordmark,.premium-nav button,.theme-toggle,.premium-icon-btn,.premium-cart,.menu-btn,.category,.big-price,.price,.product-breadcrumb,.product-heading-meta,.product-seller-row,.wine-sensory-label,.wine-characteristic,.search-suggestion strong,.cart-item strong,.cart-total,.account-panel-head,.account-tab,.product-extra-panel>summary,.advanced-filter-box>summary,.wine-finder-disclosure>summary,.premium-footer a,.footer a,.review-name,.account-title) { color:#f6efe8!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(p,small,.unit,.muted,.card-meta-clean,.result-row,.product-heading-meta,.search-suggestion small,.product-breadcrumb,.wine-finder-head span,.premium-footer p,.premium-footer small,.footer-bottom,.account-copy,.meta-label,.wine-characteristic-label) { color:#bfb4b8!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.field,.select,.textarea,input:not([type="checkbox"]):not([type="radio"]),textarea,select) { background:#30262c!important; color:#f6efe8!important; border-color:#69545f!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) ::placeholder { color:#bfb4b8!important; opacity:1; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.btn.primary,.btn.gold,.primary,.gold,.wine-finder fieldset button.is-selected) { background:#76263f!important; border-color:#a55a70!important; color:#fff!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.btn.ghost,.btn.outline,.close-btn,.icon-btn,.favorite-btn,.quantity-control button,.product-detail-share,.catalog-subnav button,.pagination button,.catalog-pagination button) { background:transparent!important; color:#e5b5bf!important; border-color:#69545f!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.catalog-subnav button.active,.pagination button.active,.catalog-pagination button[aria-current="page"]) { background:#76263f!important; color:#fff!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.premium-purpose-eyebrow,.premium-eyebrow,.premium-footer h3,.premium-footer h4,.price-old,.search-suggestion-price,.wine-sensory-score,.premium-text-link) { color:#d1b178!important; }
html[data-theme="dark"] body #catalogSurface .premium-catalog .card .price { color:#f6efe8!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.error,.field-error,.filter-hint,.bad) { color:#ffb4b9!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.ok,.success) { color:#9cdbb7!important; }
html[data-theme="dark"] body :is(#catalogSurface,#accountModal,#ageGate) :is(.premium-hero,.premium-category-card) :is(h1,h2,h3,p,small) { color:#fff!important; }
html[data-theme="dark"] body #catalogSurface .premium-catalog .card:hover { box-shadow:0 12px 25px rgba(0,0,0,.28)!important; }
html[data-theme="dark"] body #catalogSurface .premium-menu span { background:#f6efe8!important; }
html[data-theme="dark"] body #catalogSurface .wine-sensory-scale i { background:#493943!important; }
html[data-theme="dark"] body #catalogSurface .wine-sensory-scale i.is-active { background:#d1b178!important; }

html[data-theme="dark"] body #accountModal :is(.account-panel-head,.account-auth-screen,.account-form-card,.account-summary-card,.account-tab,.account-empty,.account-readonly-field,.account-add-address summary,.account-check,.account-inline-alert,.account-status,.account-mini-chip,.account-auth-trust .account-icon-text) { background:#2b2228!important; color:#f6efe8!important; border-color:#69545f!important; }
html[data-theme="dark"] body #accountModal .account-tab.is-active { background:#76263f!important; color:#fff!important; }
html[data-theme="dark"] body #ageGate .age-gate-card { background:#211a20!important; color:#f6efe8!important; border-color:#69545f!important; }
html[data-theme="dark"] body #ageGate :is(h2,p) { color:#f6efe8!important; }
html[data-theme="dark"] body #ageGate .age-gate-footnote { color:#bfb4b8!important; }
html[data-theme="dark"] body #ageGate .age-gate-yes { background:#76263f!important; color:#fff!important; }
html[data-theme="dark"] body #ageGate .age-gate-no { background:#30262c!important; color:#f6efe8!important; border-color:#69545f!important; }
html body #catalogSurface .cart-item>div:last-child>b, html body #catalogSurface .cart-total b { white-space:nowrap; overflow-wrap:normal; }
