/* Concept A: cellar-door warmth with a quiet, product-first shopping interface. */
.rw-preview {
 --rw-ink:#25281e; --rw-muted:#717267; --rw-olive:#616b2e; --rw-gold:#987f42;
 --rw-paper:#f8f6ef; --rw-line:#e2dfd4;
 background:var(--rw-paper); color:var(--rw-ink);
 padding:32px max(32px,calc((100vw - 1280px)/2)) 0;
 font:14px/1.5 "Suisse Intl",Arial,sans-serif;
}
.rw-preview * { box-sizing:border-box; }
.rw-preview [hidden] { display:none!important; }
.rw-preview button,.rw-preview input,.rw-preview select { font:inherit; }
.rw-preview button,.rw-preview a,.rw-preview input,.rw-preview summary { touch-action:manipulation; }
.rw-preview button { cursor:pointer; }
.rw-preview button:disabled { opacity:.45; cursor:not-allowed; }
.rw-preview a { color:inherit; }
.rw-preview :focus-visible { outline:2px solid var(--rw-olive); outline-offset:4px; }
.rw-preview h1,.rw-preview h2 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:500; color:inherit; letter-spacing:-.035em; }
.rw-preview .rw-eyebrow,.rw-preview .rw-card__range { color:var(--rw-gold); font-size:10px; font-weight:600; letter-spacing:.16em; line-height:1.4; text-transform:uppercase; margin:0 0 12px; }
.rw-intro { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:75px; align-items:center; margin-bottom:28px; }
.rw-intro h1 { font-size:clamp(42px,4.3vw,62px); line-height:.96; margin:0 0 16px; }
.rw-intro h1 br { display:none; }
.rw-intro h1 em { font-weight:400; font-style:italic; }
.rw-preview .rw-intro__copy>p:last-child { max-width:520px; margin:0; font-size:14px; line-height:1.65; color:#666a5d; }
.rw-intro__image { position:relative; height:175px; overflow:hidden; border-radius:80px 5px 5px 5px; }
.rw-intro__image img { height:100%; width:100%; object-fit:cover; object-position:center 55%; transition:transform .5s; }
.rw-intro__image:hover img { transform:scale(1.04); }
.rw-intro__image:after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 40%,#182214a8); }
.rw-intro__image span { position:absolute; inset:auto 20px 15px; z-index:1; display:flex; align-items:center; justify-content:space-between; color:#fff; font-size:12px; }
.rw-intro__image b { font-size:21px; font-weight:400; }
.rw-rewards { display:grid; grid-template-columns:1.25fr 1fr 1fr 1.2fr auto; align-items:center; padding:17px 22px; border:1px solid #dadcca; border-radius:7px; background:#eff0e6; gap:24px; margin-bottom:35px; position:relative; }
.rw-rewards__intro { display:flex; align-items:center; gap:13px; font-size:12px; line-height:1.5; }
.rw-rewards__intro img { opacity:.75; }
.rw-rewards__intro strong { font-weight:500; }
.rw-reward { border-left:1px solid #d4d8c4; padding-left:24px; display:flex; flex-direction:column; gap:2px; }
.rw-reward>span { font-size:10px; color:#646852; }
.rw-reward>strong { font-family:"Cormorant Garamond",Georgia,serif; font-size:28px; font-weight:600; line-height:1.1; color:#485127; letter-spacing:-.035em; }
.rw-reward small { font-family:"Suisse Intl",Arial,sans-serif; font-size:11px; font-weight:400; letter-spacing:0; }
.rw-terms summary { font-size:10px; color:#62654f; list-style:none; cursor:pointer; white-space:nowrap; padding:12px 0; }
.rw-terms summary span { font-size:14px; margin-left:7px; }
.rw-terms[open] summary span { display:inline-block; transform:rotate(45deg); }
.rw-terms>div { position:absolute; right:0; top:calc(100% + 8px); width:320px; max-width:90vw; z-index:11; padding:20px; font-size:12px; line-height:1.7; color:#555a48; border:1px solid var(--rw-line); border-radius:6px; background:#fffefa; box-shadow:0 12px 30px #282a1912; }
.rw-shop-heading { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:16px; }
.rw-shop-heading h2 { font-size:34px; line-height:1; margin:0; }
.rw-shop-heading>span { font-size:12px; color:var(--rw-muted); }
.rw-toolbar { display:flex; align-items:center; gap:14px; border-bottom:1px solid var(--rw-line); padding-bottom:13px; margin-bottom:13px; }
.rw-tabs a { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.rw-tabs { display:flex; align-items:center; gap:6px; flex:1; }
.rw-tabs :is(button, a) { border:1px solid transparent; border-radius:30px; padding:8px 19px; background:transparent; font-size:13px; color:#727368; transition:background .18s,color .18s; }
.rw-tabs :is(button, a):hover { background:#eeece3; color:var(--rw-ink); }
.rw-tabs :is(button[aria-pressed=true], a[aria-current=true]) { border-color:var(--rw-olive); background:var(--rw-olive); color:white; }
.rw-filter-toggle { display:flex; align-items:center; justify-content:center; gap:8px; background:transparent; border:1px solid #d3d2c6; border-radius:5px; padding:9px 13px; font-size:12px; color:var(--rw-ink); min-height:40px; }
.rw-filter-toggle svg { width:17px; height:17px; }
.rw-filter-toggle [data-filter-count] { background:var(--rw-olive); color:white; border-radius:50%; font-size:10px; width:18px; height:18px; line-height:18px; }
.rw-sort { display:flex; align-items:center; gap:6px; color:var(--rw-muted); font-size:11px; white-space:nowrap; }
.rw-sort select { border:0; background:transparent; color:var(--rw-ink); padding:8px 20px 8px 4px; max-width:165px; font-size:12px; }
.rw-layout { display:block; }
.rw-results__heading { display:flex; gap:15px; align-items:center; min-height:22px; margin-bottom:14px; }
.rw-preview .rw-results__heading>p { color:var(--rw-muted); font-size:11px; margin:0; white-space:nowrap; }
.rw-applied { display:flex; flex-wrap:wrap; gap:6px; }
.rw-applied button { border:1px solid #dcdfd0; background:#eef0e6; color:#4e5839; padding:4px 10px; font-size:11px; border-radius:20px; }
.rw-status { font-size:13px; margin:0!important; }
.rw-status:not(:empty):not(.rw-status--quiet) { padding:12px 16px; background:#eeeee1; border-radius:5px; margin-bottom:16px!important; }
.rw-status--quiet { position:absolute; clip-path:inset(50%); width:1px; height:1px; overflow:hidden; white-space:nowrap; }
.rw-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 28px; }
.rw-grid[aria-busy=true] { opacity:.55; pointer-events:none; }
.rw-card { min-width:0; display:flex; flex-direction:column; }
.rw-card__image { display:flex; align-items:center; justify-content:center; height:310px; border-radius:6px; background:radial-gradient(ellipse at 50% 55%,#efede4,#f1efe7 60%,#f4f2eb); overflow:hidden; }
.rw-card__image img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .35s ease; }
.rw-card__image:hover img { transform:scale(1.04); }
.rw-card__body { padding:17px 0 0; display:flex; flex-direction:column; flex:1; }
.rw-preview .rw-card__range { font-size:9px; margin:0 0 5px; }
.rw-card h2 { font-size:27px; line-height:1.06; margin:0 0 7px; }
.rw-preview .rw-card h2 a { font-size:inherit!important; font-family:inherit; line-height:inherit; text-decoration:none; }
.rw-preview .rw-card__meta { color:var(--rw-muted); font-size:11px; margin:0 0 16px; }
.rw-card__buy { margin-top:auto; }
.rw-card__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
.rw-card__price strong { font-size:23px; font-weight:500; letter-spacing:-.035em; }
.rw-card__price>span { font-size:10px; color:var(--rw-muted); }
.rw-card__price del { font-size:12px; color:#818275; margin-left:5px; }
.rw-preview .rw-card__saving { margin:0 0 0 auto; background:#e8ecdd; color:#4e6031; padding:3px 8px; border-radius:3px; font-size:10px; line-height:1.5; }
.rw-card__quantities { display:flex; padding:3px; margin:0 0 9px; border:1px solid #deddd0; border-radius:5px; background:#f0eee5; gap:2px; }
.rw-card__quantities label { flex:1; text-align:center; cursor:pointer; position:relative; }
.rw-card__quantities input { position:absolute; opacity:0; }
.rw-card__quantities span { display:block; padding:7px 2px 5px; font-size:12px; line-height:1.25; border-radius:3px; color:#646858; border:1px solid transparent; }
.rw-card__quantities small { display:block; min-height:13px; font-size:9px; color:#74804e; margin-top:3px; }
.rw-card__quantities input:checked+span { background:#fffefa; color:#353e27; border-color:#d2d8bf; box-shadow:0 1px 3px #3039140a; }
.rw-card__quantities input:focus-visible+span { outline:2px solid var(--rw-olive); outline-offset:-2px; }
.rw-card__quantities input:disabled+span { opacity:.4; cursor:not-allowed; }
.rw-preview .rw-card__add { display:flex; align-items:center; justify-content:center; width:100%; min-height:45px; padding:12px 16px; border:1px solid var(--rw-olive); background:var(--rw-olive); color:#fff!important; border-radius:5px; font-size:13px; font-weight:500; line-height:1.3; text-decoration:none; transition:background .18s; }
.rw-preview .rw-card__add:hover { background:#4d5622; border-color:#4d5622; }
.rw-preview .rw-card__pack-note { font-size:11px; color:var(--rw-muted); min-height:59px; display:flex; align-items:center; margin:0 0 9px; }
.rw-card__error { color:#943c2d; font-size:11px; margin:7px 0 0; }
.rw-card__error:empty { display:none; }
.rw-editorial { grid-column:1/-1; display:grid; grid-template-columns:1.1fr 1fr; border-radius:6px; overflow:hidden; background:#414d36; color:#fff; margin:12px 0; }
.rw-editorial img { width:100%; height:100%; min-height:300px; object-fit:cover; }
.rw-editorial>div { padding:42px 50px; align-self:center; }
.rw-preview .rw-editorial .rw-eyebrow { color:#d6c48d; margin-bottom:16px; }
.rw-preview .rw-editorial h2 { font-size:43px; line-height:1; margin:0 0 20px; max-width:330px; }
.rw-preview .rw-editorial p:not(.rw-eyebrow) { font-size:14px; line-height:1.7; color:#e2e5d9; margin:0 0 24px; max-width:320px; }
.rw-editorial a { display:inline-block; font-size:12px; text-decoration:none; border-bottom:1px solid #b2ba9d; padding-bottom:6px; color:inherit; }
.rw-editorial--closing { grid-template-columns:290px 1fr; margin:35px 0 60px; background:transparent; color:var(--rw-ink); border-top:1px solid var(--rw-line); border-radius:0; padding-top:35px; }
.rw-editorial--closing img { height:215px; min-height:0; border-radius:100px 5px 5px 5px; }
.rw-editorial--closing>div { padding:15px 45px; }
.rw-preview .rw-editorial--closing h2 { max-width:none; font-size:40px; }
.rw-preview .rw-editorial--closing .rw-eyebrow { color:var(--rw-gold); }
.rw-preview .rw-editorial--closing p:not(.rw-eyebrow) { color:var(--rw-muted); max-width:420px; margin-bottom:20px; }
.rw-more { text-align:center; margin:40px 0; }
.rw-more button { background:transparent; color:#4b5734; border:1px solid #a0aa86; padding:13px 30px; border-radius:5px; font-size:13px; }
.rw-progress { position:sticky; bottom:12px; z-index:9; display:flex; align-items:center; justify-content:space-between; gap:25px; max-width:930px; margin:0 auto; padding:16px 24px; background:#fffefa; color:#414b33; border:1px solid #d8dccb; box-shadow:0 5px 25px #2025181a; border-radius:8px; font-size:12px; }
.rw-progress__case { display:flex; align-items:center; gap:12px; }
.rw-progress__case img { opacity:.75; }
.rw-progress__bonus { min-width:230px; font-size:11px; color:#697454; }
.rw-progress__track { height:3px; border-radius:5px; background:#e5e8da; margin-top:7px; overflow:hidden; }
.rw-progress__track i { display:block; height:100%; background:#83905a; width:0; transition:width .25s; }
.rw-progress>a { white-space:nowrap; text-decoration:none; padding:8px 14px; border-radius:4px; background:var(--rw-olive); color:white; font-size:12px; }
.rw-preview .rw-preview-note { margin:20px 0 0; padding-bottom:25px; color:#7d7d70; text-align:center; font-size:10px; }
/* One considered filter panel on every screen, rather than a wall of controls. */
.rw-filters { display:none; }
.rw-filters.is-open { display:flex; flex-direction:column; position:fixed; inset:0 0 0 auto; width:420px; max-width:94vw; z-index:999999; background:#fbfaf5; padding:30px; overflow-y:auto; box-shadow:-30px 0 0 100vw #17201166; }
.rw-filters__heading { display:flex; gap:15px; justify-content:space-between; align-items:flex-start; border-bottom:1px solid var(--rw-line); padding-bottom:22px; margin-bottom:5px; }
.rw-filters__heading h2 { font-size:32px; line-height:1; margin:0; }
.rw-preview .rw-filters__heading .rw-eyebrow { margin:0 0 8px; font-size:9px; }
.rw-filter-close { flex-shrink:0; border:1px solid var(--rw-line); color:#566047; background:transparent; width:32px; height:32px; border-radius:50%; font-size:23px!important; padding:0; line-height:1; }
.rw-filters details { border-bottom:1px solid var(--rw-line); padding:19px 0; }
.rw-filters summary { display:flex; justify-content:space-between; font-size:13px; font-weight:500; list-style:none; cursor:pointer; color:#424a35; }
.rw-filters summary:after { content:'+'; color:#81886f; }
.rw-filters details[open] summary:after { content:'−'; }
.rw-filter-options { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.rw-filter-options label { position:relative; display:flex; align-items:center; gap:7px; border:1px solid #dddcd0; border-radius:5px; padding:10px 12px; font-size:12px; color:#68705c; cursor:pointer; background:#fffefa; }
.rw-filter-options label:has(input:checked) { background:#e9eddc; border-color:#8c9a6a; color:#364820; }
.rw-preview .rw-filter-options input { width:13px; height:13px; accent-color:var(--rw-olive); margin:0; }
.rw-offers { display:flex; align-items:center; gap:10px; padding:20px 0; font-size:13px; cursor:pointer; }
.rw-offers input { width:16px; height:16px; accent-color:var(--rw-olive); }
.rw-clear { border:0; border-bottom:1px solid #a2a78f; padding:0 0 3px; background:transparent; color:#727b62; font-size:12px!important; margin:5px 0 20px; }
.rw-filter-apply { display:block; position:sticky; bottom:0; margin-top:auto; padding:14px; background:var(--rw-olive); color:#fff; border:0; border-radius:5px; box-shadow:0 0 0 10px #fbfaf5; }
body.rochford-all-wines-preview .elementor-location-header { min-height:90px; }
/* Override the shared transparent-header rule, whose :not() list has high specificity. */
body.rochford-all-wines-preview:not(#transparent-header) .main-rochford-header { background:#f8f6ef!important; border-bottom:1px solid #e2dfd4; }
body.rochford-all-wines-preview .main-rochford-header .elementor-icon,
body.rochford-all-wines-preview .main-rochford-header .elementor-menu-cart__toggle_button { color:#555e39!important; }
body.rochford-all-wines-preview .main-rochford-header svg { filter:none!important; }
body.rochford-all-wines-preview .main-rochford-header svg [fill]:not([fill="none"]) { fill:#626b47!important; }
body.rochford-all-wines-preview .main-rochford-header svg [stroke]:not([stroke="none"]) { stroke:#626b47!important; }
body.rochford-all-wines-preview .main-rochford-header img { filter:none!important; }
@media(min-width:1151px) and (max-height:1050px) {
 .rw-card__image { height:275px; }
 .rw-intro { grid-template-columns:minmax(0,1fr) 280px; gap:55px; }
 .rw-intro__image { height:160px; }
}
@media(max-width:1150px) {
 .rw-intro { grid-template-columns:minmax(0,1fr) 250px; gap:30px; }
 .rw-intro h1 { font-size:46px; }
 .rw-intro h1 br { display:block; }
 .rw-rewards { grid-template-columns:repeat(3,1fr) auto; gap:18px; padding:17px; }
 .rw-rewards__intro { display:none; }
 .rw-reward { padding-left:18px; }
 .rw-reward:nth-child(2) { border:0; padding-left:0; }
 .rw-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rw-editorial>div { padding:35px; }
 .rw-progress__bonus { min-width:180px; }
}
@media(max-width:760px) {
 .rw-preview { padding:25px 20px 0; }
 .rw-intro { display:block; margin-bottom:23px; }
 .rw-intro h1 { font-size:43px; line-height:.97; margin-bottom:14px; }
 .rw-intro h1 br { display:block; }
 .rw-preview .rw-intro__copy>p:last-child { font-size:13px; max-width:340px; line-height:1.6; }
 .rw-intro__image { display:none; }
 .rw-rewards { padding:15px 12px 9px; grid-template-columns:repeat(3,1fr); gap:0; margin-bottom:29px; }
 .rw-reward { padding-left:10px; gap:7px; }
 .rw-reward>span { font-size:9px; line-height:1.4; min-height:25px; max-width:90px; }
 .rw-reward>strong { font-size:26px; }
 .rw-reward small { font-size:9px; }
 .rw-reward--bonus>strong { font-size:22px; white-space:nowrap; }
 .rw-terms { grid-column:1/-1; margin:8px 0 0; }
 .rw-terms summary { text-align:right; padding:0; font-size:9px; }
 .rw-terms>div { width:100%; padding:16px; }
 .rw-shop-heading { margin-bottom:16px; }
 .rw-shop-heading h2 { font-size:29px; }
 .rw-shop-heading>span { display:none; }
 .rw-toolbar { flex-wrap:wrap; gap:13px; padding-bottom:13px; }
 .rw-tabs { width:100%; flex-basis:100%; gap:2px; justify-content:space-between; }
 .rw-tabs :is(button, a) { padding:8px 13px; font-size:12px; }
 .rw-filter-toggle { padding:8px 12px; font-size:12px; }
 .rw-sort { margin-left:auto; }
 .rw-sort select { max-width:155px; font-size:12px; }
 .rw-grid { grid-template-columns:1fr; gap:32px; }
 .rw-results__heading { margin-bottom:13px; flex-wrap:wrap; gap:8px; }
 .rw-card__image { height:320px; }
 .rw-card h2 { font-size:29px; }
 .rw-card__body { padding-top:17px; }
 .rw-preview .rw-card__range { font-size:10px; }
 .rw-preview .rw-card__meta { font-size:12px; margin-bottom:13px; }
 .rw-card__price strong { font-size:25px; }
 .rw-card__price>span { font-size:11px; }
 .rw-card__quantities span { padding:9px 3px 7px; font-size:13px; }
 .rw-card__quantities small { font-size:10px; }
 .rw-preview .rw-card__add { min-height:48px; font-size:14px; }
 .rw-editorial { grid-template-columns:1fr; }
 .rw-editorial img { height:220px; min-height:0; }
 .rw-editorial>div { padding:30px; }
 .rw-preview .rw-editorial h2 { font-size:36px; }
 .rw-editorial--closing { grid-template-columns:1fr; margin:25px 0 40px; }
 .rw-editorial--closing img { height:200px; }
 .rw-editorial--closing>div { padding:25px 0 0; }
 .rw-progress { bottom:8px; padding:12px; display:grid; grid-template-columns:1fr auto; gap:5px 10px; font-size:10px; }
 .rw-progress__case { gap:6px; }
 .rw-progress__case img { width:20px; height:20px; }
 .rw-progress__bonus { grid-column:1; min-width:0; font-size:9px; padding-left:26px; }
 .rw-progress>a { grid-column:2; grid-row:1/3; font-size:10px; padding:10px; }
 .rw-progress__track { margin-top:5px; }
 .rw-filters.is-open { padding:25px; }
 .rw-filter-options label { min-height:42px; }
 body.rochford-all-wines-preview .elementor-location-header { min-height:80px; }
}
@media(prefers-reduced-motion:reduce) {
 .rw-preview * { transition:none!important; }
}
.rw-rewards__intro svg,.rw-progress__case svg { flex-shrink:0; color:#7a8753; }
.rw-reward>strong { font-size:32px; }
@media(max-width:760px) { .rw-reward>strong { font-size:28px; }.rw-reward--bonus>strong { font-size:22px; } }
#rw-preview .rw-filter-close { padding:0!important; border-radius:50%!important; min-height:32px; }
#rw-preview .rw-clear { padding:0 0 3px!important; border:0!important; border-bottom:1px solid #a2a78f!important; border-radius:0; }
/* Cellar introduction, visual savings guide and case companion. */
.rw-intro { grid-template-columns:1.25fr 1fr; gap:65px; margin-bottom:30px; }
.rw-intro h1 { font-size:clamp(42px,4.5vw,65px); line-height:.96; letter-spacing:-.045em; }
.rw-intro h1 br { display:block; }
.rw-intro__image { height:220px; border-radius:4px; }
.rw-intro__image img { object-position:center 48%; }
.rw-intro__image span { font-size:13px; }
#rw-preview .rw-terms { padding:10px 0; border:0; background:none; color:#505c37; border-radius:0; font-size:11px; white-space:nowrap; }
.rw-terms span { margin-left:6px; }
.rw-card__quantities span { padding:12px 3px; }
.rw-preview .rw-card__price-context { font-size:10px; color:#75805c; margin:-6px 0 12px; }
.rw-editorial { grid-template-columns:1fr 1fr; }
.rw-editorial img { height:290px; min-height:0; }
.rw-editorial--event { background:#eee5dc; color:#4d3c34; }
.rw-editorial--event img { order:2; }
.rw-preview .rw-editorial--event .rw-eyebrow { color:#92694e; }
.rw-preview .rw-editorial--event p:not(.rw-eyebrow) { color:#706054; }
.rw-progress { max-width:1080px; padding:18px 24px; border-radius:12px; gap:25px; box-shadow:0 8px 35px #29331f26; }
.rw-progress__case { gap:20px; flex:1; }
.rw-progress__case>div:last-child { display:flex; flex-direction:column; gap:5px; }
.rw-progress__case strong { font-size:15px; font-weight:500; letter-spacing:-.02em; }
.rw-progress__case span { font-size:11px; color:#717961; }
.rw-case-bottles { display:grid; grid-template-columns:repeat(6,9px); gap:3px; flex-shrink:0; }
.rw-case-bottles svg { width:9px; height:21px; color:#e1e4d8; }
.rw-case-bottles svg.is-filled { color:#7d8b50; }
.rw-progress__bonus { border-left:1px solid #dfe3d4; padding-left:24px; min-width:240px; }
.rw-progress__bonus strong,.rw-progress__bonus span { display:block; }
.rw-progress__bonus strong { font-size:12px; font-weight:500; margin-bottom:5px; }
.rw-progress__bonus span { font-size:10px; }
.rw-progress__track { margin-top:9px; }
.rw-progress>a { padding:14px 20px; border-radius:6px; font-size:12px; }
.rw-progress>a span { margin-left:15px; }
.rw-savings-modal { width:min(680px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; border:0; border-radius:14px; padding:40px; background:#fbfaf5; color:#303a25; box-shadow:0 20px 80px #17201155; }
.rw-savings-modal::backdrop { background:#16200f88; backdrop-filter:blur(4px); }
.rw-preview .rw-savings-modal h2 { font-size:48px; line-height:.98; margin:0 0 18px; }
.rw-savings-modal>p:not(.rw-eyebrow) { font-size:13px; color:#737967; line-height:1.6; }
#rw-preview .rw-modal-close { position:absolute; right:18px; top:18px; width:34px; height:34px; padding:0; border-radius:50%; border:1px solid #dfe2d3; background:transparent; color:#69754e; font-size:24px; }
.rw-savings-steps { display:grid; grid-template-columns:1fr 1fr; gap:15px; margin:25px 0 18px; }
.rw-savings-steps section { padding:20px; border:1px solid #dfe4d0; border-radius:8px; background:#eef1e5; }
.rw-savings-bottles { display:grid; grid-template-columns:repeat(6,17px); grid-template-rows:repeat(2,38px); gap:5px; margin-bottom:15px; color:#8a985e; }
.rw-savings-bottles svg { height:38px; width:17px; }
.rw-savings-steps h3 { font:13px "Suisse Intl",Arial,sans-serif; margin:0 0 6px; color:#555f3d; }
.rw-savings-steps strong { display:block; font:500 42px/1 "Cormorant Garamond",Georgia,serif; letter-spacing:-.04em; color:#4b5d2d; }
.rw-savings-steps span { display:block; font-size:11px; color:#788263; margin-top:7px; }
.rw-savings-extra { display:flex; align-items:center; gap:24px; padding:18px 0; border-block:1px solid #e2e0d5; }
.rw-savings-extra>strong { font:500 42px/1 "Cormorant Garamond",Georgia,serif; text-align:center; min-width:90px; }
.rw-savings-extra>strong span { display:block; font:9px "Suisse Intl",Arial,sans-serif; margin-top:5px; }
.rw-savings-extra h3 { font:500 19px "Cormorant Garamond",Georgia,serif; margin:0 0 4px; }
.rw-savings-extra p { margin:0; font-size:12px; color:#747967; }
.rw-preview .rw-savings-fine { font-size:10px!important; margin:17px 0; }
#rw-preview .rw-modal-shop { width:100%; padding:14px; border-radius:5px; border:0; color:#fff; background:var(--rw-olive); font-size:13px; }
@media(max-width:1000px) { .rw-progress__bonus { min-width:190px; padding-left:15px; }.rw-case-bottles { display:none; }.rw-progress { gap:15px; }.rw-intro { gap:30px; } }
@media(max-width:760px) {
 .rw-intro { display:block; margin-bottom:24px; }.rw-intro h1 { font-size:43px; }.rw-intro__image { display:none; }
 #rw-preview .rw-terms { grid-column:1/-1; width:100%; text-align:right; padding:8px 0 0; margin:0; font-size:10px; }
 .rw-editorial { grid-template-columns:1fr; }.rw-editorial img { height:210px; }.rw-editorial--event img { order:0; }
 .rw-progress { grid-template-columns:1fr auto; gap:9px; padding:14px; }.rw-progress__case strong { font-size:12px; }.rw-progress__case span { font-size:10px; max-width:210px; }
 .rw-progress__bonus { grid-column:1; border:0; padding:0; min-width:0; }.rw-progress__bonus strong { display:none; }.rw-progress__bonus span { font-size:9px; }.rw-progress__track { margin-top:5px; }.rw-progress>a { padding:12px 13px; font-size:10px; }.rw-progress>a span { display:none; }
 .rw-savings-modal { padding:28px 22px; }.rw-preview .rw-savings-modal h2 { font-size:39px; }.rw-savings-steps { gap:10px; }.rw-savings-steps section { padding:15px 12px; }.rw-savings-bottles { grid-template-columns:repeat(6,12px); gap:4px; }.rw-savings-bottles svg { width:12px; }.rw-savings-steps h3 { font-size:11px; }.rw-savings-extra { gap:14px; }
}
/* Specific campaign features and an estate photograph treated as editorial imagery. */
body.rochford-all-wines-preview:not(#transparent-header) .main-rochford-header { background:#fff!important; }
.rw-intro { position:relative; grid-template-columns:1.1fr 1fr; gap:50px; padding:14px 0 22px; }
.rw-intro__copy { position:relative; z-index:1; }
.rw-intro__image { margin:0; height:245px; border-radius:110px 3px 3px 3px; overflow:visible; position:relative; }
.rw-intro__image img { border-radius:inherit; object-position:center 52%; }
.rw-intro__image:after { display:none; }
.rw-intro__image:hover img { transform:none; }
.rw-intro__image figcaption { position:absolute; bottom:17px; left:-28px; background:#f8f6ef; padding:14px 22px; color:#4e573c; box-shadow:0 3px 12px #2631170c; font:italic 23px/1.1 "Cormorant Garamond",Georgia,serif; }
.rw-intro__image figcaption span { display:block; position:static; color:#7d806c; margin-top:7px; font:9px "Suisse Intl",Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.rw-editorial--release { background:#e9e8dc; color:#424b35; }
.rw-preview .rw-editorial--release .rw-eyebrow { color:#7a824c; }
.rw-preview .rw-editorial--release p:not(.rw-eyebrow) { color:#68705a; }
.rw-editorial--spring { background:#eee8d9; color:#623948; }
.rw-preview .rw-editorial--spring .rw-eyebrow { color:#916773; }
.rw-preview .rw-editorial--spring p:not(.rw-eyebrow) { color:#75656a; }
.rw-editorial--spring img,.rw-editorial--christmas img { order:2; }
.rw-editorial--blossom { background:#f2e4e6; color:#674454; }
.rw-preview .rw-editorial--blossom .rw-eyebrow { color:#a2677b; }
.rw-preview .rw-editorial--blossom p:not(.rw-eyebrow) { color:#80636f; }
.rw-editorial--christmas { background:#233b31; color:#fff7e9; }
.rw-preview .rw-editorial--christmas .rw-eyebrow { color:#d5b779; }
.rw-editorial img { height:320px; }
.rw-preview .rw-editorial h2 { max-width:none; }
.rw-preview .rw-editorial p:not(.rw-eyebrow) { max-width:430px; }
@media(max-width:760px) {
 .rw-intro { display:grid; grid-template-columns:1fr; gap:18px; padding:0; }
 .rw-intro__image { display:block; height:135px; margin:0 0 6px 20px; border-radius:60px 3px 3px 3px; }
 .rw-intro__image figcaption { left:-20px; bottom:10px; font-size:18px; padding:10px 14px; }
 .rw-intro__image figcaption span { font-size:8px; }
 .rw-editorial img { height:220px; order:0; }
}
/* Individual bottle offers are visually distinct from olive case savings. */
.rw-card__image { position:relative; }
.rw-bottle-offer { position:absolute; top:14px; left:14px; z-index:1; display:flex; flex-direction:column; gap:4px; padding:10px 13px; border-radius:3px; background:#753f50; color:#fff8ef; box-shadow:0 2px 8px #39202a12; }
.rw-bottle-offer>span { font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.rw-bottle-offer strong { font:500 23px/1 "Cormorant Garamond",Georgia,serif; }
.rw-preview .rw-card--offer-price .rw-card__saving { background:#f0e1e5; color:#783e52; }
.rw-preview .rw-card--offer-price .rw-card__price-context { color:#865469; }
.rw-intro__image img { object-position:center 43%; }
/* Mobile shopping has its own compact hierarchy and two-column product layout. */
.rw-card__add { gap:4px; }
@media(max-width:760px) {
 .rw-preview { padding:20px 14px 0; }
 .rw-intro { grid-template-columns:minmax(0,1fr) 82px; gap:14px; align-items:start; margin-bottom:18px; }
 .rw-intro h1 { font-size:32px; line-height:1.02; letter-spacing:-.045em; margin-bottom:10px; }
 .rw-preview .rw-intro .rw-eyebrow { font-size:8px; letter-spacing:.1em; margin-bottom:9px; }
 .rw-preview .rw-intro__copy>p:last-child { font-size:11px; line-height:1.5; max-width:270px; }
 .rw-intro__image { width:82px; height:122px; margin:0; border-radius:42px 42px 8px 8px; overflow:hidden; }
 .rw-intro__image img { object-position:63% center; }
 .rw-intro__image figcaption { display:none; }
 .rw-rewards { grid-template-columns:repeat(3,minmax(0,1fr)) 32px; padding:12px 8px 12px 12px; gap:0; border-radius:12px; margin-bottom:23px; }
 .rw-reward { padding-left:9px; gap:4px; }
 .rw-reward>span { font-size:8px; min-height:23px; line-height:1.35; }
 .rw-reward>strong { font-size:25px; }
 .rw-reward--bonus>strong { font-size:20px; }
 #rw-preview .rw-terms { grid-column:auto; width:32px; min-height:44px; margin:0; padding:0; font-size:0; text-align:center; }
 #rw-preview .rw-terms:before { content:'i'; display:inline-flex; align-items:center; justify-content:center; border:1px solid #a5ad8e; width:21px; height:21px; border-radius:50%; font:italic 14px Georgia,serif; }
 .rw-terms>span { display:none; }
 .rw-shop-heading { margin-bottom:12px; }
 .rw-shop-heading h2 { font-size:27px; }
 .rw-toolbar { display:grid; grid-template-columns:1fr auto; gap:9px; padding-bottom:0; border:0; margin-bottom:9px; }
 .rw-tabs { grid-column:1/-1; display:flex; width:100%; gap:2px; padding:3px; border-radius:11px; background:#eae9e2; }
 #rw-preview .rw-tabs :is(button, a) { flex:1; border:0; border-radius:8px; padding:0 5px; min-height:38px; font-size:11px; color:#696d60; white-space:nowrap; }
 #rw-preview .rw-tabs :is(button[aria-pressed=true], a[aria-current=true]) { background:#fffefa; color:#343d29; box-shadow:0 1px 4px #29311c1c; }
 #rw-preview .rw-filter-toggle { width:max-content; min-height:44px; border:0; border-radius:10px; background:#eeede6; padding:0 12px; font-size:11px; gap:6px; }
 .rw-filter-toggle svg { width:15px; height:15px; }
 .rw-sort { font-size:0; margin:0; background:#eeede6; border-radius:10px; }
 .rw-sort select { min-height:44px; max-width:145px; padding:0 24px 0 12px; font-size:11px; }
 .rw-results__heading { margin-bottom:12px; min-height:15px; }
 .rw-preview .rw-results__heading>p { font-size:10px; }
 .rw-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 12px; align-items:stretch; }
 .rw-card__image { height:190px; border-radius:10px; }
 .rw-card__body { padding-top:10px; }
 .rw-preview .rw-card__range { font-size:8px; letter-spacing:.1em; margin-bottom:5px; }
 .rw-card h2 { font-size:21px; line-height:1.06; margin-bottom:6px; overflow-wrap:anywhere; }
 .rw-preview .rw-card__meta { font-size:10px; line-height:1.4; margin-bottom:10px; }
 .rw-card__price { gap:3px 5px; margin-bottom:9px; align-items:baseline; }
 .rw-card__price strong { font-size:21px; }
 .rw-card__price>span { font-size:9px; }
 .rw-card__price del { font-size:10px; margin-left:0; }
 .rw-preview .rw-card__saving { margin:2px 0 0; padding:2px 5px; font-size:9px; }
 .rw-preview .rw-card__price-context { font-size:9px; line-height:1.4; margin:0 0 8px; }
 .rw-card__quantities { border:0; background:#eae9e2; padding:3px; border-radius:9px; margin-bottom:7px; gap:1px; }
 .rw-card__quantities span { font-size:0; min-height:38px; padding:9px 1px; border-radius:7px; }
 .rw-card__quantities span:before { content:attr(data-mobile-label); font:12px/18px "Suisse Intl",Arial,sans-serif; }
 .rw-card__quantities input:checked+span { border-color:transparent; box-shadow:0 1px 3px #29311c20; }
 .rw-preview .rw-card__add { min-height:44px; padding:10px 7px; font-size:11px; border-radius:9px; gap:4px; flex-wrap:wrap; }
 .rw-card__action { font-size:0; }
 .rw-card__action:before { content:attr(data-compact); font-size:11px; }
 .rw-card__total { font-size:11px; }
 .rw-preview .rw-card__pack-note { font-size:9px; min-height:44px; line-height:1.4; margin-bottom:7px; }
 .rw-bottle-offer { top:8px; left:8px; padding:6px 8px; gap:3px; }
 .rw-bottle-offer>span { font-size:7px; letter-spacing:.04em; }
 .rw-bottle-offer strong { font-size:19px; }
 .rw-editorial { margin:2px 0; border-radius:12px; }
 .rw-editorial img { height:185px; }
 .rw-editorial>div { padding:24px; }
 .rw-preview .rw-editorial h2 { font-size:31px; }
 .rw-preview .rw-editorial p:not(.rw-eyebrow) { font-size:12px; }
 .rw-filters.is-open { inset:auto 0 0; width:100%; max-width:none; max-height:88dvh; border-radius:22px 22px 0 0; padding:25px 20px 20px; box-shadow:0 -20px 0 100vh #17201166; }
 .rw-filters__heading h2 { font-size:29px; }
 .rw-filter-options label { border-radius:9px; min-height:44px; }
 .rw-progress { border-radius:14px; }
}
@media(max-width:360px) {
 .rw-intro { grid-template-columns:1fr 65px; gap:10px; }.rw-intro__image { width:65px; height:110px; }.rw-intro h1 { font-size:29px; }
 .rw-grid { gap:24px 9px; }.rw-card__image { height:170px; }.rw-card h2 { font-size:20px; }
}
@media(max-width:760px) {
 .rw-reward>span { font-size:10px; min-height:28px; }
 #rw-preview .rw-tabs :is(button, a) { min-height:44px; }
 .rw-card__quantities span { min-height:44px; padding-block:12px; }
}
.rw-terms__mobile { display:none; }
@media(max-width:760px) {
 .rw-preview { padding-top:18px; }
 .rw-intro { grid-template-columns:1fr; gap:16px; margin-bottom:0; }
 .rw-intro h1 { font-size:36px; max-width:340px; margin-bottom:9px; }
 .rw-preview .rw-intro__copy>p:last-child { max-width:340px; font-size:12px; line-height:1.5; }
 .rw-intro__image { width:calc(100% + 28px); height:120px; margin:0 -14px; border-radius:0; }
 .rw-intro__image img { width:100%; object-position:center 42%; border-radius:0; }
 .rw-rewards { display:block; padding:0; margin:0 -14px 24px; border:0; border-radius:0; background:#eeeee3; }
 .rw-rewards .rw-reward,.rw-rewards__intro { display:none; }
 #rw-preview .rw-terms { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:72px; padding:13px 20px; text-align:left; }
 #rw-preview .rw-terms:before { display:none; }
 #rw-preview .rw-terms .rw-terms__desktop { display:none; }
 #rw-preview .rw-terms .rw-terms__mobile { display:flex; flex-direction:column; gap:5px; margin:0; }
 .rw-terms__mobile strong { font:500 20px/1 "Cormorant Garamond",Georgia,serif; color:#414e2f; }
 #rw-preview .rw-terms__mobile>span { display:block; margin:0; font-size:11px; color:#616e4e; }
 #rw-preview .rw-terms .rw-terms__arrow { display:flex; align-items:center; justify-content:center; border:1px solid #cdd4bc; width:32px; height:32px; border-radius:50%; font-size:17px; transition:transform .2s ease,background .2s ease; }
 .rw-terms:active .rw-terms__arrow { transform:translate(2px,-2px); background:#dfe5d1; }
 .rw-shop-heading { margin-bottom:4px; }.rw-shop-heading h2 { font-size:28px; }
 .rw-toolbar { gap:0; margin-bottom:5px; }
 .rw-tabs { padding:0; background:none; border-radius:0; border-bottom:1px solid #deded2; gap:0; }
 #rw-preview .rw-tabs :is(button, a) { position:relative; min-height:46px; border-radius:0; background:none; padding:0 5px; font-size:12px; color:#7b7e71; transition:color .18s ease; }
 #rw-preview .rw-tabs :is(button[aria-pressed=true], a[aria-current=true]) { background:none; color:#343f29; box-shadow:none; }
 .rw-tabs :is(button, a):after { content:''; position:absolute; height:2px; bottom:-1px; left:12%; right:12%; background:#687447; border-radius:2px; transform:scaleX(0); transition:transform .22s ease; }
 .rw-tabs :is(button[aria-pressed=true], a[aria-current=true]):after { transform:scaleX(1); }
 #rw-preview .rw-filter-toggle { background:none; padding:0 3px; border-radius:0; font-size:12px; gap:7px; }
 .rw-sort { background:none; border-radius:0; }.rw-sort select { font-size:11px; padding-right:18px; background:none; }
 .rw-filter-toggle svg { transition:transform .2s ease; }.rw-filter-toggle[aria-expanded=true] svg { transform:rotate(90deg); }
 .rw-filters.is-open { animation:rw-sheet-arrive .24s cubic-bezier(.2,.75,.25,1); }
 .rw-filter-options label { transition:background .18s ease,border-color .18s ease,transform .18s ease; }
 .rw-filter-options label:active { transform:scale(.97); }
 .rw-card__quantities span { transition:background .18s ease,box-shadow .18s ease; }
 .rw-preview .rw-card__add { transition:background .18s ease,transform .15s ease; }
 .rw-card__add:active:not(:disabled) { transform:scale(.98); }
}
@keyframes rw-sheet-arrive { from { transform:translateY(28px); opacity:0; } to { transform:translateY(0); opacity:1; } }
@media(prefers-reduced-motion:reduce) { .rw-preview *,.rw-preview *:before,.rw-preview *:after { animation:none!important; transition:none!important; } }
.rw-terms .rw-terms__desktop { font:inherit; margin:0; }
@media(max-width:760px) { .rw-terms__mobile small { font-size:10px; color:#727b63; line-height:1.3; } }
/* Small inline SVGs keep the savings and dismiss controls visually consistent. */
.rw-terms__arrow svg { width:17px; height:17px; vertical-align:middle; }

@media(max-width:760px) {
 .rw-preview { padding-top:0; }
 .rw-intro { gap:18px; }
 .rw-intro__image { order:-1; height:135px; }
 .rw-intro__copy { padding-bottom:18px; }
 #rw-preview .rw-terms { white-space:normal; gap:16px; }
 .rw-terms__mobile strong { font-family:"Suisse Intl",Arial,sans-serif; font-size:17px; line-height:1.2; letter-spacing:-.025em; }
 #rw-preview .rw-terms .rw-terms__arrow { flex-shrink:0; width:34px; height:34px; background:#e0e5d4; border:0; }
 .rw-terms:active .rw-terms__arrow { transform:translateX(2px); }
 .rw-toolbar { gap:10px; margin-bottom:12px; }
 #rw-preview .rw-filter-toggle { min-width:100px; padding:0 14px; border:1px solid #d3d7c8; border-radius:9px; background:#fffefa; color:#424f31; box-shadow:0 1px 2px #29311c08; }
 .rw-sort { border:1px solid #d3d7c8; border-radius:9px; background:#fffefa; box-shadow:0 1px 2px #29311c08; }
 .rw-sort select { color:#424f31; padding-left:13px; padding-right:26px; max-width:170px; }
 #rw-preview .rw-filter-toggle:active { background:#e8ecde; }
}
/* Heroicons outline controls (MIT; see assets/icons/heroicons-LICENSE.txt). */
.rw-sort { position:relative; }
.rw-sort select { appearance:none; -webkit-appearance:none; background-image:none!important; padding-right:30px; }
.rw-sort__chevron { position:absolute; right:10px; top:50%; transform:translateY(-50%); width:15px; height:15px; pointer-events:none; color:#53623e; }
@media(max-width:760px) {
 #rw-preview .rw-terms__mobile>.rw-savings-pair { display:flex; gap:26px; margin:0 0 4px; }
 .rw-savings-pair>span { display:flex; flex-direction:column; gap:4px; }
 #rw-preview .rw-savings-pair small { font-size:10px; color:#677454; }
 #rw-preview .rw-savings-pair strong { font:500 28px/1 "Cormorant Garamond",Georgia,serif; letter-spacing:-.04em; color:#3f5030; }
 .rw-toolbar { grid-template-columns:1fr 1fr; column-gap:10px; }
 #rw-preview .rw-filter-toggle { width:100%; min-width:0; justify-content:center; gap:9px; padding:0 16px; }
 #rw-preview .rw-filter-toggle svg { width:18px; height:18px; flex-shrink:0; }
 .rw-sort { width:100%; min-width:0; display:block; }
 .rw-sort select { width:100%; max-width:none; padding:0 34px 0 14px; text-align:center; text-align-last:center; }
 .rw-sort__chevron { right:13px; width:16px; height:16px; }
}
@media(max-width:760px) { #rw-preview .rw-savings-pair>span { margin:0; } }
/* One moving selection surface for the mobile bottle-quantity control. */
@media(max-width:760px) {
 .rw-card__quantities { position:relative; isolation:isolate; }
 .rw-card__quantities:before { content:''; position:absolute; inset:3px auto 3px 3px; width:calc((100% - 8px)/3); background:#fffefa; border-radius:7px; box-shadow:0 1px 3px #29311c20; transform:translateX(0); transition:transform .24s cubic-bezier(.22,.75,.25,1); pointer-events:none; z-index:0; }
 .rw-card__quantities:has(input[value="6"]:checked):before { transform:translateX(calc(100% + 1px)); }
 .rw-card__quantities:has(input[value="12"]:checked):before { transform:translateX(calc(200% + 2px)); }
 .rw-card__quantities label { z-index:1; }
 .rw-card__quantities input:checked+span { background:transparent; box-shadow:none; border-color:transparent; }
}
@media(prefers-reduced-motion:reduce) { .rw-card__quantities:before { transition:none!important; } }

/* Listing Banners retain their configured events layouts inside catalogue rows. */
.rw-promotion.fd { grid-column:1/-1; padding:0; margin:12px 0; min-width:0; }
.rw-promotion.fd .fd-offer { margin:0; }
.rw-promotion.fd h2 { color:inherit; }
.rw-promotion.fd .fd-button { text-decoration:none; }
@media(max-width:767px) { .rw-promotion.fd { margin:2px 0; } }

/* One dismiss control, matching the mini-cart, for both preview overlays. */
#rw-preview .rc-dialog-close {
 box-sizing:border-box; display:flex; align-items:center; justify-content:center;
 width:44px; height:44px; min-height:44px; flex-shrink:0;
 padding:7px!important; border:1px solid #d9decb; border-radius:50%;
 background:transparent; color:#6c7853; cursor:pointer;
}
#rw-preview .rc-dialog-close svg { width:100%; height:100%; flex:none; }
#rw-preview .rc-dialog-close:focus-visible { outline:3px solid #b49d5a; outline-offset:3px; }
.rw-filters.is-open { animation:rw-filter-enter 220ms cubic-bezier(.2,.75,.25,1) both; }
.rw-filters.is-open.is-closing { animation:rw-filter-exit 160ms ease-in both; pointer-events:none; }
@keyframes rw-filter-enter { from { opacity:0; transform:translateX(24px); } to { opacity:1; transform:translateX(0); } }
@keyframes rw-filter-exit { to { opacity:0; transform:translateX(24px); } }
@media(max-width:760px) {
 .rw-filters.is-open { animation-name:rw-sheet-arrive; }
 .rw-filters.is-open.is-closing { animation-name:rw-sheet-exit; }
}
@keyframes rw-sheet-exit { to { opacity:0; transform:translateY(28px); } }

/* Keep sold-out wines visibly distinct from temporarily blocked quantities. */
#rw-preview .rw-card__add.is-sold-out:disabled {
 background:#eadcdd; color:#86434f!important; border-color:#ddc6ca;
 opacity:1; cursor:not-allowed; box-shadow:none; transform:none;
}

/* Discovery invitation and a separate route into curated packs. */
.rw-shop-heading { align-items:center; gap:36px; margin:8px 0 26px; }
.rw-shop-heading h2 { font-size:44px; line-height:1.04; letter-spacing:-.025em; }
.rw-shop-heading h2 em { color:var(--rw-olive); font-weight:inherit; }
.rw-preview .rw-shop-heading>p { max-width:300px; margin:0; color:var(--rw-muted); font-size:13px; line-height:1.7; }
#rw-preview .rw-packs-discovery { display:inline-flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 16px; min-height:44px; border:0; border-left:1px solid var(--rw-line); border-radius:0; background:transparent; color:var(--rw-olive); font-size:12px; white-space:nowrap; cursor:pointer; transition:background .18s ease; }
.rw-packs-discovery svg { width:18px; height:18px; flex:none; transition:transform .18s ease; }
#rw-preview .rw-packs-discovery:hover,#rw-preview .rw-packs-discovery[aria-pressed=true] { background:#e9ecdf; }
.rw-packs-discovery:hover svg { transform:translate(2px,-2px); }
@media(max-width:760px) {
 .rw-shop-heading { display:block; margin:6px 0 18px; }
 .rw-shop-heading h2 { font-size:34px; line-height:1.08; }
 .rw-preview .rw-shop-heading>p { font-size:12px; line-height:1.6; max-width:310px; margin-top:12px; }
 #rw-preview .rw-packs-discovery { grid-column:1/-1; width:100%; border:1px solid #e0e3d5; border-radius:10px; padding:12px 15px; margin:2px 0 3px; background:#f0f1e8; font-size:12px; }
}

/* Version B: one photographic canvas, independent of the original hero. */
.rw-preview--wide { --rw-hero-gutter:max(32px,calc((100vw - 1280px)/2)); padding-top:0; }
.rw-preview--wide .rw-intro {
 display:grid; grid-template-columns:1fr; align-items:center; gap:0; isolation:isolate;
 min-height:400px; margin:0 calc(-1 * var(--rw-hero-gutter));
 padding:48px var(--rw-hero-gutter) 86px; background:#28342a;
}
.rw-preview--wide .rw-intro__copy { position:relative; z-index:2; max-width:640px; padding:0; }
.rw-preview--wide .rw-intro h1 { color:#fffaf0; font-size:clamp(44px,4.5vw,66px); line-height:1.03; text-shadow:0 2px 18px #10190e33; }
.rw-preview--wide .rw-intro .rw-eyebrow { color:#e5d5aa; }
.rw-preview--wide .rw-intro__copy>p:last-child { color:#f1f0e6; max-width:420px; font-size:14px; line-height:1.65; }
.rw-preview--wide .rw-intro__image { position:absolute; inset:0; width:100%; height:100%; min-height:0; margin:0; border-radius:0; overflow:hidden; }
.rw-preview--wide .rw-intro__image img { position:absolute; inset:0; width:100%; height:100%; border-radius:0; object-position:center; }
.rw-preview--wide .rw-intro__image:after { display:block; content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,29,23,.88),rgba(17,29,23,.65) 40%,rgba(17,29,23,.12) 76%); }
.rw-preview--wide .rw-intro__image figcaption { display:block; z-index:1; left:auto; right:var(--rw-hero-gutter); bottom:64px; padding:0; background:transparent; color:#fff8e9; box-shadow:none; font-style:normal; text-shadow:0 2px 14px #09150dcc; isolation:isolate; }
#rw-preview.rw-preview--wide .rc-reward-strip { position:relative; z-index:2; margin-top:-30px; box-shadow:0 8px 24px #26311712; }
@media(max-width:760px) {
 .rw-preview--wide { --rw-hero-gutter:14px; }
 .rw-preview--wide .rw-intro { min-height:280px; padding:32px 22px 52px; }
 .rw-preview--wide .rw-intro h1 { font-size:34px; max-width:340px; line-height:1.06; }
 .rw-preview--wide .rw-intro__copy>p:last-child { color:#f1f0e6; font-size:12px; max-width:290px; }
 .rw-preview--wide .rw-intro__image img { object-position:62% center; }
 .rw-preview--wide .rw-intro__image:after { background:linear-gradient(110deg,rgba(17,29,23,.88),rgba(17,29,23,.56) 65%,rgba(17,29,23,.25)); }
 .rw-preview--wide .rw-intro__image figcaption { right:22px; bottom:44px; padding:0; }
 .rw-preview--wide .rw-intro__image figcaption span { display:none; }
 #rw-preview.rw-preview--wide .rc-reward-strip { margin-top:-18px; }
}

.rw-hero-versions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:12px; margin:32px 0 12px; font-size:12px; }
.rw-hero-versions>span { color:var(--rw-muted); }
.rw-hero-versions a { padding:10px 15px; border:1px solid var(--rw-line); border-radius:24px; text-decoration:none; }
.rw-hero-versions a[aria-current] { background:#e9ecdf; border-color:#8b956f; }

/* Version B signature: lettering over the photograph, without a plaque. */
.rw-preview--wide .rw-intro__image figcaption:before { content:''; display:block; width:38px; height:1px; background:#d6bc7d; margin-bottom:12px; }
.rw-preview--wide .rw-intro__image figcaption:after { content:''; position:absolute; inset:-45px -65px; z-index:-1; background:radial-gradient(ellipse,rgba(9,20,13,.92) 15%,rgba(9,20,13,.55) 48%,transparent 75%); pointer-events:none; }
.rw-preview--wide .rw-intro__image figcaption b { display:block; font:500 30px/1.1 "Cormorant Garamond",Georgia,serif; }
.rw-preview--wide .rw-intro__image figcaption em { display:block; font:italic 500 54px/1.05 "Cormorant Garamond",Georgia,serif; }
.rw-preview--wide .rw-intro__image figcaption small { display:block; margin-top:12px; color:#e4d4ad; font:9px/1.4 "Suisse Intl",Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
@media(min-width:761px) and (max-width:1000px) { .rw-preview--wide .rw-intro { padding-bottom:190px; } }
@media(max-width:760px) {
 .rw-preview--wide .rw-intro__image figcaption:before { width:28px; margin-bottom:8px; }
 .rw-preview--wide .rw-intro__image figcaption b { font-size:20px; }
 .rw-preview--wide .rw-intro__image figcaption em { font-size:32px; }
 .rw-preview--wide .rw-intro__image figcaption small { display:none; }
}

/* Keep mobile focused on the main headline; give the desktop signature contrast. */
@media(max-width:760px) { .rw-preview--wide .rw-intro__image figcaption { display:none; } }

/* Desktop Version B: anchor contrast to the photograph, not to a floating halo. */
@media(min-width:761px) {
 .rw-preview--wide .rw-intro__image:before {
  content:''; position:absolute; inset:40% 0 0; z-index:1; pointer-events:none;
  background:linear-gradient(to top,rgba(9,20,13,.72),rgba(9,20,13,.25) 55%,transparent);
  mask-image:linear-gradient(to right,transparent,#000 75%);
 }
 .rw-preview--wide .rw-intro__image figcaption { z-index:2; text-shadow:0 1px 3px #09150d66; }
 .rw-preview--wide .rw-intro__image figcaption:after { content:none; }
 .rw-preview--wide .rw-intro__image figcaption b { line-height:1; }
 .rw-preview--wide .rw-intro__image figcaption em { line-height:.9; margin-top:-3px; }
}

/* Closing savings guide, adapted from the La Gauche Top 100 section. */
.rw-savings { margin:48px calc(-1 * max(32px,calc((100vw - 1280px)/2))) 0; padding:65px 0 80px; background:#eef0e3; }
.rw-savings-inner { width:100%; max-width:1440px; margin-inline:auto; padding-inline:clamp(24px,5vw,72px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:7%; }
.rw-savings h2 { font:500 clamp(39px,4.4vw,64px)/1.06 "Cormorant Garamond",IvyMode,Georgia,serif; letter-spacing:-.035em; margin:12px 0 25px; }
.rw-savings h2 em { font-weight:400; }
.rw-saving-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.rw-saving-steps>div>strong { color:var(--rw-gold); font-size:12px; }
.rw-saving-steps h3 { font:500 36px/1.06 "Cormorant Garamond",IvyMode,Georgia,serif; letter-spacing:-.035em; margin:20px 0 12px; }
.rw-saving-steps p { font-size:13px; font-weight:400; line-height:1.65; }
.rw-saving-steps>div>strong { line-height:1.55; }
@media(max-width:1000px) { .rw-savings-inner { grid-template-columns:1fr; gap:28px; } }
@media(max-width:760px) {
 .rw-savings { margin-inline:-14px; padding:40px 0 60px; }
 .rw-savings-inner { padding-inline:24px; gap:8px; }
 .rw-saving-steps { grid-template-columns:1fr; gap:20px; }
 .rw-saving-steps>div { border-top:1px solid #d5d9c6; padding-top:15px; }
 .rw-saving-steps h3 { margin:8px 0; }
 .rw-saving-steps>div:last-child p { margin-bottom:0; }
}

@media(max-width:700px) { .rw-savings h2 { font-size:39px; } }

/* Varietal pages share the shopping system, with stable editorial inserts. */
.rw-varietal-hero .rw-intro__image picture { display:block; width:100%; height:100%; }
.rw-varietal-hero .rw-intro__image img { object-position:var(--rw-image-position); }
.rw-preview .rw-varietal-hero h1 { max-width:650px; }
.rw-varietal-story,.rw-varietal-collections { grid-column:1/-1; padding:32px 36px; display:grid; align-items:center; gap:36px; }
.rw-varietal-story { grid-template-columns:1.1fr 1fr; border-bottom:1px solid var(--rw-gold); margin:0; }
.rw-preview .rw-varietal-story h2,.rw-preview .rw-varietal-collections h2 { font-size:clamp(32px,3vw,48px); line-height:1.05; margin:0; }
.rw-varietal-story em,.rw-varietal-collections em { font-weight:400; }
.rw-varietal-story p:not(.rw-eyebrow),.rw-varietal-collections p:not(.rw-eyebrow) { font-size:15px; line-height:1.65; }
.rw-varietal-story a,.rw-varietal-collections a { display:inline-block; padding:8px 0; border-bottom:1px solid var(--rw-gold); text-decoration:none; }
.rw-varietal-collections { grid-template-columns:1.2fr 1fr 1fr; background:#eef0e3; margin:0; overflow:hidden; }
.rw-varietal-collections>div { position:relative; }
.rw-varietal-collections>div+div { border-left:1px solid #d4d8c6; padding-left:26px; }
.rw-varietal-collections h3 { font:500 32px/1.06 'Cormorant Garamond',Georgia,serif; margin:0 0 16px; }
.rw-varietal-collections__intro { isolation:isolate; }
.rw-vine-art { position:absolute; inset:-70px 0 auto auto; width:200px; height:330px; object-fit:contain; opacity:.18; mix-blend-mode:multiply; z-index:-1; pointer-events:none; }
.rw-pagination { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; padding:24px; }
.rw-pagination a { padding:10px 16px; border:1px solid var(--rw-line); border-radius:6px; }
.rw-pagination a[aria-current] { background:#e9ecdf; }
.rw-empty { grid-column:1/-1; padding:30px 0; }
@media(max-width:1000px) { .rw-varietal-collections { grid-template-columns:1fr 1fr; } .rw-varietal-collections__intro { grid-column:1/-1; } }
@media(max-width:760px) {
 .rw-varietal-hero .rw-intro__image img { object-position:var(--rw-mobile-position); }
 .rw-varietal-story,.rw-varietal-collections { grid-template-columns:1fr; gap:20px; padding:24px 22px; }
 .rw-varietal-collections>div+div { padding:22px 0 0; border-left:0; border-top:1px solid #d4d8c6; }
 .rw-varietal-story p:not(.rw-eyebrow),.rw-varietal-collections p:not(.rw-eyebrow) { font-size:14px; }
}

/* Share content tracks across each product row, without fixed text heights. */
@supports (grid-template-rows:subgrid) {
 .rw-grid { row-gap:0; --rw-card-row-space:40px; }
 .rw-grid>.rw-card { display:grid; grid-template-rows:subgrid; grid-row:span 10; row-gap:0; padding-bottom:var(--rw-card-row-space); }
 .rw-card__body,.rw-card__buy { display:contents; }
 .rw-card__image { grid-row:1; margin-bottom:17px; }
 .rw-card__range { grid-row:2; }
 .rw-card h2 { grid-row:3; }
 .rw-card__meta { grid-row:4; }
 .rw-card__price { grid-row:5; align-content:start; }
 .rw-card__price-context { grid-row:6; }
 .rw-card__quantities,.rw-card__pack-note { grid-row:7; align-self:start; }
 .rw-card__add { grid-row:8; align-self:stretch; }
 .rw-card__cart-note { grid-row:9; align-self:start; }
 .rw-card__error { grid-row:10; align-self:start; }
 .rw-grid>.rw-insert { margin-top:0; margin-bottom:var(--rw-card-row-space); }
 @media(max-width:760px) {
  .rw-grid { --rw-card-row-space:26px; }
  .rw-card__image { margin-bottom:10px; }
 }
 @media(max-width:359px) { .rw-grid { --rw-card-row-space:24px; } }
}
