:root { --paper:#ece6dc; --paper-light:#f7f3ec; --product-backdrop:#e7e9da; --paper-deep:#d9cebd; --wine:#48171d; --wine-dark:#160d0f; --wine-bright:#71303a; --gold:#9f7d4c; --gold-light:#c8ae7c; --ink:#181412; --muted:#6a625b; --line:rgba(24,20,18,.14); --serif:RAStorefront,"Cormorant Garamond",Georgia,serif; --sans:"Manrope",Arial,sans-serif; --container:min(1360px,calc(100% - 80px)); --ease:cubic-bezier(.22,1,.36,1); }
*,*::before,*::after { box-sizing:border-box; }
[hidden] { display:none!important; }
html { scroll-behavior:smooth; scroll-padding-top:118px; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 14px/1.6 var(--sans); -webkit-font-smoothing:antialiased; }
body.is-locked { overflow:hidden; }
body::before { position:fixed; z-index:120; inset:0; background-image:repeating-radial-gradient(circle at 0 0,rgba(42,29,22,.16) 0,rgba(42,29,22,.16) .45px,transparent .65px,transparent 3px); content:""; opacity:.035; pointer-events:none; }
::selection { background:var(--wine); color:white; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; color:inherit; }
button,a,input,select { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:default; }
button { border-radius:0; }
img { display:block; max-width:100%; }
h1,h2,h3,p { margin:0; }
:focus-visible { outline:2px solid var(--wine-bright); outline-offset:5px; }
.container { width:var(--container); margin-inline:auto; }
.icon { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.icon-button { position:relative; display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; padding:0; border:0; border-radius:50%; background:transparent; }
.icon-button:hover { background:#48171d0b; }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--wine); font-size:10px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.eyebrow::before { content:""; width:28px; height:1px; background:currentColor; }
.breadcrumbs { display:flex; gap:12px; margin:30px 0 32px; font-size:11px; color:var(--muted); }
.breadcrumbs a:hover { color:var(--wine); }
.breadcrumbs span[aria-hidden] { color:var(--gold); }
.catalog-intro { display:grid; grid-template-columns:1.4fr .65fr; align-items:center; gap:60px; padding-bottom:38px; }
.catalog-intro h1 { margin:10px 0 16px; font:500 clamp(72px,7.5vw,112px)/.92 var(--serif); letter-spacing:-.055em; }
.catalog-intro h1 em { color:var(--wine); font-weight:400; }
.catalog-intro__copy { max-width:525px; font-size:14px; color:var(--muted); }
.intro-note { padding-left:30px; border-left:1px solid #9f7d4c66; }
.intro-note__title { font:500 32px/1.07 var(--serif); letter-spacing:-.025em; }
.intro-note__title em { color:var(--wine); }
.intro-note p { max-width:265px; margin-top:15px; color:var(--muted); font-size:12px; line-height:1.75; }
.category-rail { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:42px; }
.category-card { display:flex; min-height:97px; min-width:0; align-items:center; gap:14px; padding:10px 12px; border:1px solid var(--line); background:transparent; text-align:left; transition:background .2s,border-color .2s; }
.category-card:hover { background:#f7f3ec88; border-color:#48171d66; }
.category-card[aria-pressed="true"] { background:var(--paper-light); border-color:var(--wine); box-shadow:inset 0 -2px var(--wine); }
.category-thumb { display:grid; place-items:center; flex-shrink:0; width:53px; height:70px; overflow:hidden; background:var(--product-backdrop); border-radius:48% 48% 0 0; }
.category-thumb img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.category-card strong { display:block; font-size:12px; font-weight:600; line-height:1.45; }
.category-card small { display:block; margin-top:6px; color:var(--muted); font-size:10px; line-height:1.4; }
.catalog-layout { display:grid; grid-template-columns:232px minmax(0,1fr); gap:38px; align-items:start; padding-top:28px; border-top:1px solid var(--line); }
.filter-heading { display:flex; align-items:center; justify-content:space-between; min-height:46px; gap:20px; }
.filter-heading h2 { font:500 29px/1 var(--serif); letter-spacing:-.025em; }
.text-button { padding:6px 0; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--wine); font-size:11px; line-height:1.1; }
.text-button:hover { color:var(--wine-bright); }
.filter-group { border-bottom:1px solid var(--line); }
.filter-group summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0 17px; list-style:none; cursor:pointer; font-size:12px; font-weight:600; }
.filter-group summary::-webkit-details-marker { display:none; }
.filter-group summary::after { content:"+"; color:var(--muted); font-size:18px; font-weight:400; }
.filter-group[open] summary::after { content:"−"; }
.filter-group__body { padding-bottom:22px; }
.check-list { display:grid; gap:14px; }
.check-option { position:relative; display:flex; align-items:center; gap:10px; cursor:pointer; font-size:12px; }
.check-option input { width:16px; height:16px; margin:0; accent-color:var(--wine); flex-shrink:0; }
.check-option .option-count { margin-left:auto; color:var(--muted); font-size:10px; }
.finish-dot { width:12px; height:12px; flex-shrink:0; border:1px solid #18141226; border-radius:50%; }
.finish-dot--bronze { background:linear-gradient(135deg,#e1c585,#957239); }
.finish-dot--dark { background:linear-gradient(135deg,#9b7150,#382823); }
.finish-dot--gold { background:linear-gradient(135deg,#f2de96,#b88e32); }
.finish-dot--white { background:linear-gradient(135deg,#fffdf2,#d6cdb4); }
.price-fields { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.price-field { display:flex; align-items:center; gap:7px; min-width:0; padding:10px 9px; border:1px solid var(--line); background:#f7f3ec70; }
.price-field span { font-size:10px; color:var(--muted); }
.price-field input { width:100%; min-width:0; padding:0; border:0; outline:0; background:transparent; font-size:11px; appearance:textfield; -moz-appearance:textfield; }
.price-field:focus-within { border-color:var(--wine); outline:1px solid var(--wine); }
.price-field input::-webkit-inner-spin-button { appearance:none; }
.price-caption { margin-top:10px; font-size:10px; color:var(--muted); }
.lamp-options { display:flex; gap:8px; }
.lamp-option { position:relative; cursor:pointer; }
.lamp-option input { position:absolute; opacity:0; width:1px; height:1px; }
.lamp-option span { display:grid; place-items:center; width:44px; height:42px; border:1px solid var(--line); font-size:12px; }
.lamp-option input:checked+span { color:white; background:var(--wine); border-color:var(--wine); }
.lamp-option input:focus-visible+span { outline:2px solid var(--wine); outline-offset:3px; }

.filter-caption { margin:4px 0 3px; color:var(--muted); font-size:10px; }
.filter-group summary { gap:10px; }
.filter-group summary>span:first-child { flex:1; }
.facet-selected { display:grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:50px; background:var(--wine); color:var(--paper-light); font-size:9px; font-weight:500; }
.check-option { line-height:1.5; }
.check-option .option-label { flex:1; }
.check-option .option-count { flex-shrink:0; }
.check-option.is-unavailable, .lamp-option.is-unavailable { opacity:.4; cursor:not-allowed; }
.lamp-option span { display:flex; flex-direction:column; justify-content:center; gap:5px; height:48px; }
.lamp-option b { font-weight:500; }
.lamp-option .option-count { color:var(--muted); font-size:9px; line-height:1; }
.lamp-option input:checked+span .option-count { color:#f7f3ecbf; }
.range-note { margin-top:5px; color:var(--muted); font-size:9px; line-height:1.5; }
.range-error { margin-top:9px; color:var(--wine); font-size:10px; line-height:1.5; }
.price-field:has([aria-invalid="true"]) { border-color:var(--wine); }
.category-card:disabled { opacity:.45; cursor:not-allowed; }
.filter-actions .button:disabled { opacity:.45; cursor:not-allowed; }
.filter-dialog>.dialog-close { position:fixed; }
.detail-facts dt { flex:0 0 37%; }
.detail-facts dd { overflow-wrap:anywhere; }
.sidebar-note { position:relative; overflow:hidden; margin-top:28px; padding:28px 22px; background:linear-gradient(135deg,#55212a,#291013); color:var(--paper-light); }
.sidebar-note::before { content:""; position:absolute; width:150px; height:220px; right:-80px; top:8px; border:1px solid #c8ae7c36; border-radius:50%; transform:rotate(25deg); pointer-events:none; }
.sidebar-note .eyebrow { color:var(--gold-light); font-size:9px; letter-spacing:.14em; }
.sidebar-note h3 { margin:23px 0 13px; font:500 32px/.98 var(--serif); }
.sidebar-note p { font-size:11px; color:#f7f3ecad; line-height:1.7; }
.sidebar-note a { display:inline-flex; align-items:center; gap:14px; margin-top:24px; font-size:11px; border-bottom:1px solid #c8ae7c8a; padding-bottom:5px; }
.results { min-width:0; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:46px; margin-bottom:22px; }
.results-number { color:var(--muted); font-size:12px; white-space:nowrap; }
.results-number strong { color:var(--ink); font-weight:600; }
.toolbar-controls { display:flex; align-items:center; gap:18px; min-width:0; }
.catalog-search { display:flex; align-items:center; gap:9px; width:210px; border-bottom:1px solid var(--line); }
.catalog-search .icon { width:16px; height:16px; color:var(--muted); }
.catalog-search input { width:100%; min-width:0; height:40px; border:0; background:transparent; outline:none; font-size:11px; }
.catalog-search:focus-within { border-bottom-color:var(--wine); }
.sort-label { display:flex; align-items:center; gap:8px; white-space:nowrap; font-size:11px; }
.sort-label .icon { width:13px; height:13px; pointer-events:none; margin-left:-23px; }
.sort-label select { appearance:none; max-width:160px; padding:10px 24px 10px 4px; border:0; background:transparent; cursor:pointer; font-size:11px; }
.view-switch { display:flex; gap:3px; }
.view-switch button { display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; background:transparent; color:#918980; }
.view-switch button .icon { width:17px; height:17px; }
.view-switch button[aria-pressed="true"] { color:var(--wine); background:#48171d09; }
.mobile-filter-button { display:none; align-items:center; justify-content:center; gap:10px; min-height:42px; padding:9px 18px; border:1px solid var(--wine); background:var(--paper-light); font-size:12px; }
.active-filters { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding-bottom:22px; }
.filter-chip { display:inline-flex; align-items:center; gap:12px; min-height:33px; padding:6px 10px 6px 13px; border:1px solid #48171d33; border-radius:50px; background:#f7f3ec80; color:var(--wine); font-size:10px; }
.filter-chip .icon { width:12px; height:12px; }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 20px; align-items:start; }
.product-card { min-width:0; }
.product-picture { position:relative; height:315px; overflow:hidden; isolation:isolate; background:var(--product-backdrop); }
.product-picture::before { content:""; position:absolute; z-index:-1; inset:48px 30px 44px; border:1px solid #18141210; border-radius:50% 50% 0 0; pointer-events:none; }
.product-image-link { position:absolute; inset:27px 8px 13px; }
.product-picture img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .5s var(--ease); }
.product-image-link:hover img { transform:scale(1.04); }
.product-series { position:absolute; z-index:2; top:17px; left:16px; color:#676a59; font-size:8px; font-weight:600; letter-spacing:.14em; pointer-events:none; }
.save-button { position:absolute; z-index:3; display:grid; place-items:center; width:34px; height:34px; padding:0; top:9px; right:9px; border:0; border-radius:50%; background:transparent; color:var(--wine); }
.save-button:hover { background:#f7f3ecaa; }
.save-button[aria-pressed="true"] .icon { fill:var(--wine); }
.save-button .icon { width:18px; height:18px; }
.quick-button { position:absolute; z-index:4; bottom:18px; left:50%; display:flex; align-items:center; gap:9px; min-height:37px; width:max-content; max-width:calc(100% - 24px); padding:8px 16px; transform:translate(-50%,8px); border:1px solid #48171d30; border-radius:50px; background:#f7f3ecf0; color:var(--wine); font-size:10px; opacity:0; transition:opacity .25s,transform .25s; }
.quick-button .icon { width:14px; height:14px; }
.product-card:hover .quick-button,.product-card:focus-within .quick-button { opacity:1; transform:translate(-50%,0); }
.product-body { padding:18px 1px 0; }
.product-kind { color:var(--muted); font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.product-body h3 { margin-top:5px; font:500 32px/1.15 var(--serif); letter-spacing:-.015em; }
.product-body h3 a:hover { color:var(--wine); }
.product-finish { margin-top:7px; font-size:11px; color:var(--muted); }
.product-specs { margin-top:10px; font-size:10px; color:var(--muted); }
.product-specs span { margin-inline:6px; color:var(--gold); }
.product-bottom { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:10px; border-bottom:1px solid var(--line); }
.product-price { font-size:18px; font-weight:500; letter-spacing:-.035em; white-space:nowrap; }
.round { display:grid; place-items:center; flex-shrink:0; width:38px; height:38px; padding:0; border:1px solid var(--line); border-radius:50%; background:transparent; transition:background .2s,color .2s; }
.round .icon { width:17px; height:17px; }
.round:hover { background:var(--wine); color:white; border-color:var(--wine); }
.product-grid.is-list { grid-template-columns:1fr; gap:22px; }
.is-list .product-card { display:grid; grid-template-columns:240px 1fr; gap:30px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.is-list .product-picture { height:240px; }
.is-list .product-body { align-self:center; padding:0; }
.is-list .product-body h3 { font-size:40px; }
.is-list .product-bottom { max-width:370px; }
.catalog-pagination { display:flex; justify-content:space-between; align-items:center; gap:22px; margin-top:43px; padding:26px 0; border-top:1px solid var(--line); }
.page-summary { font-size:11px; color:var(--muted); }
.page-buttons { display:flex; align-items:center; gap:6px; }
.page-buttons button { display:grid; place-items:center; width:38px; height:38px; padding:0; border:1px solid transparent; background:transparent; font-size:12px; }
.page-buttons button[aria-current="page"] { border-color:var(--wine); background:var(--wine); color:var(--paper-light); }
.page-buttons button:disabled { opacity:.3; }
.page-buttons button:not(:disabled):hover { border-color:var(--wine); }
.page-buttons .icon { width:16px; height:16px; }
.page-previous .icon { transform:rotate(180deg); }
.empty-state { display:grid; min-height:470px; padding:65px 30px; place-content:center; text-align:center; border:1px solid var(--line); }
.empty-state>span { margin-bottom:22px; color:var(--gold); font:italic 500 66px/1 var(--serif); }
.empty-state h3 { font:500 40px/1 var(--serif); }
.empty-state p { max-width:310px; margin:20px auto 27px; color:var(--muted); font-size:13px; }
.button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; gap:22px; padding:13px 25px; border:1px solid var(--wine); border-radius:50px; background:linear-gradient(135deg,#5b2028,#351216); color:white; font-size:12px; font-weight:500; transition:background .25s; }
.button:hover { background:var(--wine-bright); }
.button .icon { width:19px; height:19px; }
.button--light { background:var(--paper-light); color:var(--wine); border-color:var(--paper-light); }
.button--light:hover { background:#e6d9c4; }
.button--outline { color:var(--wine); background:transparent; }
.button--outline:hover { background:#48171d09; }
.assistance { display:grid; grid-template-columns:1fr auto; align-items:center; gap:50px; margin-top:76px; margin-bottom:72px; padding:47px 54px; background:linear-gradient(110deg,#3b131a,#211013); color:var(--paper-light); }
.assistance .eyebrow { color:var(--gold-light); }
.assistance h2 { margin:16px 0 12px; font:500 clamp(38px,4.2vw,58px)/.95 var(--serif); letter-spacing:-.035em; }
.assistance h2 em { color:var(--gold-light); font-weight:400; }
.assistance p { max-width:520px; font-size:12px; line-height:1.8; color:#f7f3ecb0; }
.assistance-actions { display:grid; justify-items:center; gap:19px; }
.assistance-actions>a:last-child { display:inline-flex; align-items:center; gap:10px; color:var(--gold-light); font-size:12px; }
.service-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; padding:0 0 62px; }
.service-item { display:flex; gap:19px; align-items:start; }
.service-item>span { color:var(--gold); font:italic 500 33px/1 var(--serif); }
.service-item strong { display:block; font-size:12px; font-weight:500; }
.service-item p { max-width:285px; margin-top:6px; color:var(--muted); font-size:11px; }
.catalog-dialog { padding:0; border:0; color:var(--ink); background:var(--paper-light); box-shadow:0 35px 120px #160d0f40; }
.catalog-dialog::backdrop { background:#160d0f91; backdrop-filter:blur(6px); }
.dialog-close { position:absolute; z-index:5; top:14px; right:14px; background:#f7f3ecdd; }
.product-dialog { width:min(1000px,calc(100% - 48px)); max-height:calc(100dvh - 48px); overflow:auto; }
.product-detail { display:grid; grid-template-columns:1fr 1fr; min-height:610px; }
.detail-visual { position:relative; display:grid; place-items:center; min-width:0; padding:38px 24px; isolation:isolate; background:var(--product-backdrop); }
.detail-visual img { width:100%; height:520px; object-fit:contain; mix-blend-mode:multiply; }
.detail-content { padding:64px 40px 40px; }
.detail-content h2 { margin:20px 0 14px; font:500 54px/1 var(--serif); letter-spacing:-.035em; }
.detail-description { color:var(--muted); font-size:12px; line-height:1.85; }
.detail-facts { margin:24px 0; }
.detail-facts>div { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid var(--line); font-size:11px; }
.detail-facts dt { color:var(--muted); }
.detail-facts dd { margin:0; text-align:right; }
.detail-price { display:block; margin-bottom:24px; font-size:25px; font-weight:500; letter-spacing:-.035em; }
.detail-actions { display:flex; gap:10px; }
.detail-actions>.button { flex:1; }
.detail-actions .round { width:50px; height:50px; }
.detail-actions .round[aria-pressed="true"] { color:var(--wine); background:#48171d0b; }
.detail-actions .round[aria-pressed="true"] .icon { fill:var(--wine); }
.detail-source { margin-top:16px; color:var(--muted); font-size:10px; }
.filter-dialog { position:fixed; top:0; right:0; left:auto; bottom:0; width:min(400px,100%); height:100dvh; max-height:none; max-width:100%; margin:0; overflow:auto; }
.filter-dialog .filter-panel { padding:30px 25px 0; }
.filter-dialog .filter-heading { padding-right:52px; }
.filter-dialog .sidebar-note { display:none; }
.filter-dialog .filter-actions { position:sticky; bottom:0; padding:18px 0 max(18px,env(safe-area-inset-bottom)); background:var(--paper-light); }
.filter-actions { display:none; }
.filter-dialog .filter-actions { display:block; }
.filter-actions .button { width:100%; }
.filter-dialog .filter-heading .text-button { font-size:10px; }
.toast { position:fixed; z-index:90; bottom:24px; left:50%; width:max-content; max-width:calc(100% - 32px); padding:14px 22px; background:var(--wine-dark); color:var(--paper-light); border:1px solid #c8ae7c44; transform:translate(-50%,20px); opacity:0; pointer-events:none; transition:opacity .25s,transform .25s; font-size:12px; box-shadow:0 8px 35px #160d0f33; }
.toast.is-visible { opacity:1; transform:translate(-50%,0); }
@media(min-width:1700px) { .product-picture { height:340px; } }
@media(max-width:1200px) { .category-card { gap:10px; padding-inline:9px; } .category-thumb { width:43px; height:61px; } .category-card strong { font-size:11px; } .catalog-layout { grid-template-columns:205px minmax(0,1fr); gap:26px; } .product-grid { gap:30px 16px; } .product-picture { height:275px; } .catalog-search { width:165px; } .toolbar-controls { gap:12px; } .product-body h3 { font-size:29px; } .product-price { font-size:16px; } }
@media(max-width:1120px) { .catalog-layout { grid-template-columns:205px minmax(0,1fr); } .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-picture { height:310px; } .catalog-toolbar { flex-wrap:wrap; } .toolbar-controls { flex:1; justify-content:flex-end; } .catalog-search { width:155px; } .category-rail { overflow-x:auto; display:flex; padding-bottom:6px; scrollbar-width:thin; scroll-snap-type:x mandatory; } .category-card { flex:0 0 185px; scroll-snap-align:start; } .category-thumb { width:53px; height:70px; } .category-card strong { font-size:12px; } .assistance { padding:42px 38px; gap:35px; } }
@media(max-width:900px) { :root { --container:calc(100% - 40px); } .catalog-intro { grid-template-columns:1.35fr .8fr; gap:30px; } .catalog-intro h1 { font-size:87px; } .intro-note { padding-left:22px; } .intro-note__title { font-size:28px; } .catalog-layout { grid-template-columns:1fr; } .sidebar-slot { display:none; } .mobile-filter-button { display:flex; } .catalog-toolbar { gap:15px; } .catalog-search { width:200px; } .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .product-picture { height:285px; } .product-body h3 { font-size:29px; } .view-switch { display:none; } .assistance { grid-template-columns:1fr; gap:28px; padding:38px; } .assistance-actions { display:flex; justify-content:flex-start; gap:25px; } .service-strip { gap:20px; } .service-item { gap:13px; } }
@media(max-width:620px) { html { scroll-padding-top:93px; } .breadcrumbs { margin:23px 0 26px; font-size:10px; } .catalog-intro { grid-template-columns:1fr; gap:0; padding-bottom:26px; } .catalog-intro h1 { font-size:clamp(54px,17.5vw,90px); margin:13px 0 18px; white-space:nowrap; } .catalog-intro .eyebrow { font-size:8px; letter-spacing:.15em; } .catalog-intro__copy { font-size:12px; max-width:360px; } .intro-note { display:none; } .category-rail { gap:9px; margin-bottom:27px; margin-right:-20px; padding-right:20px; } .category-card { flex-basis:165px; min-height:88px; } .category-thumb { width:45px; height:61px; } .category-card strong { font-size:11px; } .category-card small { font-size:9px; } .catalog-layout { padding-top:20px; } .catalog-toolbar { display:grid; grid-template-columns:1fr auto; gap:15px 12px; margin-bottom:20px; } .results-number { font-size:11px; justify-self:end; } .mobile-filter-button { grid-column:1; grid-row:1; justify-self:start; min-height:39px; font-size:11px; padding:8px 14px; } .toolbar-controls { grid-column:1/-1; justify-content:space-between; gap:15px; } .catalog-search { flex:1; width:auto; } .catalog-search input { font-size:10px; } .sort-label select { max-width:151px; font-size:10px; } .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 12px; } .product-picture { height:230px; } .product-image-link { inset:28px 0 22px; } .product-series { top:15px; left:10px; font-size:7px; letter-spacing:.1em; } .save-button { top:6px; right:3px; width:30px; height:30px; } .save-button .icon { width:16px; height:16px; } .product-picture::before { inset:46px 14px 30px; } .product-kind { min-height:24px; font-size:7px; letter-spacing:.035em; line-height:1.5; } .product-body { padding-top:13px; } .product-body h3 { font-size:27px; } .product-finish { min-height:30px; font-size:9px; line-height:1.6; margin-top:5px; } .product-specs { margin-top:7px; font-size:9px; } .product-specs span { margin-inline:3px; } .product-bottom { padding-bottom:8px; gap:6px; } .product-price { font-size:15px; } .product-open { width:30px; height:30px; } .product-open .icon { width:14px; height:14px; } .quick-button { bottom:12px; gap:5px; min-height:31px; padding:6px 9px; font-size:8px; } .quick-button .icon { width:12px; height:12px; } .catalog-pagination { margin-top:29px; padding-top:22px; gap:12px; } .page-summary { font-size:10px; } .page-buttons { gap:2px; } .page-buttons button { width:32px; height:34px; font-size:11px; } .assistance { margin-top:45px; margin-bottom:45px; padding:32px 26px; } .assistance h2 { font-size:42px; } .assistance p { font-size:11px; } .assistance-actions { display:grid; justify-items:start; gap:20px; } .assistance .eyebrow { font-size:9px; } .service-strip { grid-template-columns:1fr; gap:23px; padding-bottom:45px; } .service-item p { max-width:none; } .product-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 24px); } .product-detail { grid-template-columns:1fr; min-height:0; } .detail-visual { padding:26px 22px 10px; } .detail-visual img { height:290px; } .detail-content { padding:28px 25px; } .detail-content h2 { font-size:43px; margin-top:16px; } .detail-facts>div { font-size:10px; } .detail-actions>.button { padding-inline:14px; font-size:11px; } .detail-price { font-size:24px; } .is-list .product-card { grid-template-columns:125px 1fr; gap:15px; } .is-list .product-picture { height:235px; } .is-list .product-body h3 { font-size:28px; } .is-list .quick-button { display:none; } .empty-state { min-height:340px; padding:45px 25px; } .empty-state h3 { font-size:33px; } }
@media(max-width:370px) { .product-picture { height:200px; } .product-body h3 { font-size:24px; } .product-price { font-size:13px; } .product-specs { font-size:8px; } .product-open { width:27px; height:27px; } .quick-button { font-size:7px; padding-inline:7px; } .quick-button .icon { display:none; } .product-series { font-size:6px; } .sort-label select { max-width:137px; } }
@media(hover:none),(pointer:coarse) { .quick-button { opacity:1; transform:translate(-50%,0); } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* Native CMS data, links and forms, adapted from index-catalog.html. */
.catalog-intro h1 { overflow-wrap:anywhere; }
.category-rail { display:flex; overflow-x:auto; gap:10px; padding-bottom:8px; scrollbar-width:thin; scroll-snap-type:x proximity; }
.category-card { flex:0 0 calc((100% - 50px)/6); scroll-snap-align:start; }
.category-card[aria-current="page"] { background:var(--paper-light); border-color:var(--wine); box-shadow:inset 0 -2px var(--wine); }
.category-monogram { color:var(--wine); font:500 28px/1 var(--serif); }
.catalog-toolbar { flex-wrap:wrap; }
.catalog-search { width:190px; }
.catalog-search input[type="hidden"] { display:none; }
.catalog-search button { padding:8px 5px; border:0; background:none; font-size:20px; }
.catalog-sort { position:relative; z-index:5; font-size:11px; }
.catalog-sort summary { display:flex; align-items:center; justify-content:space-between; min-width:148px; gap:12px; padding:12px 0; cursor:pointer; list-style:none; }
.catalog-sort summary::-webkit-details-marker { display:none; }
.catalog-sort>div { position:absolute; top:100%; right:0; width:190px; padding:8px; border:1px solid var(--line); background:var(--paper-light); box-shadow:0 12px 25px #160d0f15; }
.catalog-sort a { display:block; padding:10px; }
.catalog-sort a:hover,.catalog-sort a[aria-current] { color:var(--wine); background:#48171d0b; }
.view-switch button { font-size:22px; }
.filter-group { min-width:0; padding:0; margin:0; border:0; border-bottom:1px solid var(--line); }
.filter-group legend { padding:22px 0 17px; font-size:12px; font-weight:600; }
.filter-options { display:grid; gap:13px; max-height:270px; overflow:auto; padding:0 3px 22px; scrollbar-width:thin; }
.filter-options>input,.filter-options>select { width:100%; min-width:0; padding:9px; border:1px solid var(--line); background:var(--paper-light); }
.price-inputs { display:flex; gap:8px; padding-bottom:22px; }
.price-inputs label { display:flex; align-items:center; gap:6px; flex:1; min-width:0; padding:10px 8px; border:1px solid var(--line); background:#f7f3ec80; }
.price-inputs label:focus-within { outline:1px solid var(--wine); }
.price-inputs label>span { color:var(--muted); font-size:10px; }
.price-inputs input { width:100%; min-width:0; padding:0; border:0; background:transparent; font-size:11px; appearance:textfield; }
.price-inputs input::-webkit-inner-spin-button { appearance:none; }
.tree-list { list-style:none; padding:0; margin:0; font-size:12px; }
.tree-list li { position:relative; margin-top:13px; }
.tree-list>li:first-child { margin-top:0; }
.tree-list label { display:flex; align-items:baseline; gap:9px; cursor:pointer; }
.tree-list input { flex-shrink:0; margin:0; accent-color:var(--wine); }
.tree-list span { color:var(--muted); font-size:10px; }
.tree-list .tree-list { padding-left:15px; margin-top:13px; font-size:11px; }
.tree-list .plusminus { display:none; }
.filter-actions { display:grid; justify-items:start; gap:17px; padding-top:24px; }
.filter-actions .button { width:100%; }
.filter-dialog .filter-actions { display:grid; }
.product-body h3 { overflow-wrap:anywhere; }
.product-finish { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.product-bottom { align-items:flex-end; }
.product-price { display:block; white-space:normal; }
.product-old-price { display:block; color:var(--muted); font-size:11px; }
.favorite-button { font-size:25px; line-height:1; }
.favorite-button.is-active { color:var(--wine); }
.catalog-buy button:disabled { opacity:.5; }
.page-buttons { flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.page-buttons>div { display:flex; flex-wrap:wrap; gap:5px; justify-content:flex-end; align-items:center; }
.page-buttons a,.page-buttons b,.page-buttons span { display:inline-flex; min-width:34px; min-height:36px; padding:7px 9px; align-items:center; justify-content:center; font-size:11px; font-weight:400; }
.page-buttons a:hover { background:#48171d0b; }
.page-buttons b { background:var(--wine); color:var(--paper-light); }
.page-buttons span { color:var(--muted); }
.page-summary { flex-shrink:0; }
.catalog-description { max-width:900px; margin:55px auto; color:var(--muted); }
.catalog-description h2,.catalog-description h3 { margin:25px 0 15px; color:var(--ink); font:500 36px/1.1 var(--serif); }
.catalog-description p { margin:15px 0; }
.catalog-dialog { height:fit-content; }
.catalog-dialog .dialog-close { display:grid; place-items:center; width:42px; height:42px; padding:0; border:0; border-radius:50%; font-size:30px; }
.filter-dialog { height:100dvh; }
.detail-price { margin-top:25px; }
.empty-state h2 { font:500 40px/1 var(--serif); }
.empty-state { min-height:350px; }
@media(max-width:1200px) { .category-card { flex-basis:180px; } .catalog-search { width:165px; } }
@media(max-width:900px) {
 /* Keep the mobile panel closed from the first paint, before JavaScript moves it. */
 .sidebar-slot { display:none; }
 .mobile-filter-button { display:flex; } .view-switch { display:none!important; }
 .filter-panel { max-width:100%; } .sidebar-note { display:none; }
 .filter-dialog .filter-panel { padding-bottom:20px; }
}
@media(max-width:620px) {
 .catalog-intro h1 { white-space:normal; font-size:clamp(50px,15vw,86px); }
 .category-card { flex-basis:165px; } .catalog-search { width:100%; }
 .catalog-toolbar .results-number { grid-column:2; grid-row:1; }
 .catalog-search input { width:100%; }
 .catalog-sort summary { min-width:133px; font-size:10px; }
 .catalog-pagination { flex-direction:column; align-items:flex-start; }
 .page-buttons,.page-buttons>div { justify-content:flex-start; }
 .page-buttons a,.page-buttons b,.page-buttons span { min-height:32px; min-width:28px; padding:6px; font-size:10px; }
 .product-body h3 { font-size:25px; } .product-kind { min-height:0; }
 .product-finish { min-height:0; } .product-price { font-size:14px; }
 .catalog-buy .round { width:32px; height:32px; }
 .product-series { max-width:calc(100% - 42px); }
}
@media(max-width:370px) { .product-price { font-size:12px; } .product-body h3 { font-size:23px; } .catalog-buy .round { width:28px; height:28px; } }

/* Editable category copy and links use the shared catalog palette. */
.category-subsections { display:flex; flex-wrap:wrap; gap:10px; margin:-18px 0 32px; }
.category-subsections a { display:flex; align-items:center; gap:18px; padding:10px 16px; border:1px solid var(--line); font-size:12px; }
.category-subsections a:hover { color:var(--wine); border-color:var(--wine); background:var(--paper-light); }
.catalog-description { font-size:14px; line-height:1.85; }
.catalog-description a { color:var(--wine); text-decoration:underline; text-underline-offset:3px; }
.catalog-description ul { padding-left:22px; }
.catalog-description li { margin:9px 0; }
.breadcrumbs { flex-wrap:wrap; }
/* Live facets keep the native GET form and server-rendered product templates. */
.catalog-feedback { min-height:24px; margin:4px 0 18px; color:var(--muted); font-size:11px; line-height:1.65; }
.filter-actions .catalog-feedback { min-height:3.3em; margin:0; }
.catalog-live .filter-dialog { overflow-anchor:none; }
.catalog-feedback.is-error { color:var(--wine); }
.catalog-retry { display:inline-block; margin:4px 0 0 10px; }
.catalog-live .results { position:relative; scroll-margin-top:24px; }
.catalog-live .results:focus { outline:none; }
.catalog-live .product-grid { transition:opacity .18s ease; }
.catalog-live .results[data-state="loading"] .product-grid,
.catalog-live .results[data-state="error"] .product-grid { opacity:.45; }
.catalog-live .results[data-state="loading"]::before { position:absolute; inset:-12px 0 auto; height:2px; content:""; background:linear-gradient(90deg,transparent,var(--wine),transparent); background-size:50% 100%; background-repeat:no-repeat; animation:catalog-loading 1.3s ease-in-out infinite alternate; }
.catalog-live .results[data-state="loading"] .catalog-pagination { opacity:.5; }
.filter-actions button:disabled { opacity:.6; cursor:wait; }
@keyframes catalog-loading { from { background-position:0 0; } to { background-position:100% 0; } }
@media(min-width:901px) { .catalog-live .filter-actions>button[type="submit"] { display:none; } }
@media(prefers-reduced-motion:reduce) {
 .catalog-live .product-grid { transition:none; }
 .catalog-live .results[data-state="loading"]::before { animation:none; background:var(--wine); }
}
