body.basket-page { --b-paper:#ece6dc; --b-light:#f7f3ec; --b-green:#e7e9da; --b-ink:#211b18; --b-muted:#70665f; --b-wine:#48171d; --b-gold:#9f7d4c; --b-line:rgba(33,27,24,.17); margin:0; color:var(--b-ink); background:var(--b-paper); font:400 14px/1.65 Manrope,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.basket-page *, .basket-page *::before, .basket-page *::after { box-sizing:border-box; }
.basket-page [hidden] { display:none!important; }
.basket-page a { color:inherit; text-decoration:none; }
.basket-page button, .basket-page input, .basket-page select { font:inherit; }
.basket-page button { cursor:pointer; }
.basket-page :focus-visible { outline:2px solid var(--b-gold); outline-offset:4px; }
.basket-page ::selection { background:var(--b-wine); color:white; }
.basket-content { width:min(1360px,calc(100% - 80px)); margin:0 auto; padding-bottom:70px; }
.basket-breadcrumbs { display:flex; flex-wrap:wrap; gap:12px; margin:30px 0 32px; color:var(--b-muted); font-size:11px; }
.basket-breadcrumbs span[aria-hidden] { color:var(--b-gold); }
.basket-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; padding-bottom:36px; }
.basket-eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 13px; color:var(--b-wine); font-size:10px; font-weight:600; letter-spacing:.19em; text-transform:uppercase; }
.basket-eyebrow::before { content:''; width:28px; height:1px; background:currentColor; }
.basket-intro h1 { margin:0; font:500 clamp(64px,7vw,100px)/.95 RAStorefront,Georgia,serif; letter-spacing:-.045em; }
.basket-intro h1 em { color:var(--b-wine); font-weight:500; }
.basket-intro p:last-child { margin:19px 0 0; color:var(--b-muted); font-size:13px; }
.basket-steps { display:flex; list-style:none; gap:24px; padding:0 0 4px; margin:0; color:var(--b-muted); font-size:10px; }
.basket-steps li { display:flex; flex-direction:column; gap:8px; padding-top:12px; border-top:1px solid var(--b-line); }
.basket-steps b { font-size:10px; font-weight:500; letter-spacing:.08em; }
.basket-steps [aria-current] { color:var(--b-wine); border-color:var(--b-wine); }
.basket-form { display:grid; grid-template-columns:minmax(0,1fr) 370px; gap:48px; align-items:start; margin:0; }
.basket-list { min-width:0; }
.basket-list-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:20px 0; border-top:1px solid var(--b-line); border-bottom:1px solid var(--b-line); }
.basket-list-heading h2 { margin:0; font:500 25px/1.2 RAStorefront,Georgia,serif; }
.basket-list-heading span { color:var(--b-muted); font:400 11px/1.5 Manrope,Arial,sans-serif; }
.basket-text-link { display:inline-block; padding:5px 0; border:0; border-bottom:1px solid var(--b-line); background:transparent; color:var(--b-wine)!important; font-size:11px!important; }
.basket-text-link:hover { border-color:var(--b-wine); }
.basket-item { display:grid; grid-template-columns:150px minmax(0,1fr); gap:24px; padding:25px 0; border-bottom:1px solid var(--b-line); }
.basket-item-image { display:grid; height:184px; place-items:center; background:var(--b-green); }
.basket-item-image img { display:block; width:100%; height:100%; padding:12px; object-fit:contain; mix-blend-mode:multiply; }
.basket-item-body { display:flex; flex-direction:column; min-width:0; padding:3px 0; }
.basket-item-top { display:flex; align-items:start; justify-content:space-between; gap:18px; }
.basket-item-kicker { margin:0 0 9px; color:var(--b-muted); font-size:8px; letter-spacing:.13em; text-transform:uppercase; }
.basket-item h3 { margin:0; max-width:400px; font:500 28px/1.08 RAStorefront,Georgia,serif; letter-spacing:-.01em; overflow-wrap:anywhere; }
.basket-item h3 a:hover { color:var(--b-wine); }
.basket-remove { display:grid; width:32px; height:32px; flex:0 0 auto; padding:7px; place-items:center; color:var(--b-muted)!important; }
.basket-remove:hover { color:var(--b-wine)!important; background:#48171d09; }
.basket-remove svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.3; }
.basket-item-meta { margin:10px 0 0; color:var(--b-muted); font-size:10px; }
.basket-item-features { margin-top:6px; color:var(--b-muted); font-size:11px; }
.basket-item-features:empty { display:none; }
.basket-item-bottom { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-top:auto; padding-top:23px; }
.basket-quantity { display:flex; align-items:center; height:38px; border:1px solid var(--b-line); }
.basket-quantity button { width:32px; height:36px; border:0; color:var(--b-wine); background:transparent; font-size:20px; }
.basket-quantity button:disabled { opacity:.3; cursor:default; }
.basket-quantity label { display:flex; align-items:center; }
.basket-quantity input { width:43px; min-width:0; height:36px; padding:0 3px; border:0; border-radius:0; background:transparent; text-align:center; color:var(--b-ink); font-size:12px; appearance:textfield; -moz-appearance:textfield; }
.basket-quantity input::-webkit-inner-spin-button, .basket-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.basket-price-group { text-align:right; }
.basket-unit-price { display:block; color:var(--b-muted); font-size:10px; }
.basket-line-price { display:block; margin-top:3px; font-size:19px; font-weight:500; letter-spacing:-.035em; }
.basket-grades { margin-top:12px; font-size:11px; }
.basket-grades:empty { display:none; }
.basket-grades img { max-width:55px; max-height:65px; }
.basket-grades input { max-width:55px; }
.basket-list-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:20px; }
.basket-status { min-height:20px; margin:0; color:var(--b-muted); font-size:11px; }
.basket-status.is-error { color:#9f2636; }
.basket-summary { position:sticky; top:112px; padding:29px; background:var(--b-light); border:1px solid var(--b-line); }
.basket-summary h2 { margin:0 0 25px; font:500 34px/1 RAStorefront,Georgia,serif; }
.basket-totals { display:grid; gap:12px; margin:0; padding-bottom:23px; border-bottom:1px solid var(--b-line); }
.basket-totals div { display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:11px; }
.basket-totals dt { color:var(--b-muted); }
.basket-totals dd { margin:0; text-align:right; }
.basket-options { display:grid; gap:15px; margin:23px 0 21px; padding:0; border:0; }
.basket-field { display:grid; gap:7px; color:var(--b-muted); font-size:10px; }
.basket-field select, .basket-field input { width:100%; min-width:0; min-height:43px; padding:10px; border:1px solid var(--b-line); border-radius:0; background:transparent; color:var(--b-ink); font-size:11px; }
.basket-promo { padding:16px 0; border-top:1px solid var(--b-line); border-bottom:1px solid var(--b-line); }
.basket-promo summary { display:flex; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; color:var(--b-wine); font-size:11px; }
.basket-promo summary::-webkit-details-marker { display:none; }
.basket-promo summary::after { content:'+'; font-size:17px; line-height:1; }
.basket-promo[open] summary::after { content:'−'; }
.basket-promo-row { display:flex; align-items:end; gap:10px; margin-top:14px; }
.basket-promo-row label { flex:1; min-width:0; }
.basket-promo-row button { min-height:43px; padding:8px 10px; border:1px solid var(--b-line); background:transparent; color:var(--b-wine); font-size:10px; }
.basket-grand-total { display:flex; align-items:baseline; justify-content:space-between; gap:15px; margin:23px 0 18px; }
.basket-grand-total span { font-size:13px; }
.basket-grand-total strong { font:500 33px/1.1 RAStorefront,Georgia,serif; letter-spacing:-.03em; text-align:right; }
.basket-adjustments { margin:0 0 15px; color:var(--b-muted); font-size:10px; }
.basket-button { display:inline-flex; width:100%; min-height:51px; align-items:center; justify-content:space-between; gap:16px; padding:13px 22px; border:1px solid var(--b-wine); border-radius:50px; background:linear-gradient(135deg,#5b2028,#351216); color:var(--b-light)!important; font-size:11px; font-weight:500; }
.basket-button:hover { background:#71303a; }
.basket-button:disabled { opacity:.5; cursor:wait; }
.basket-checkout-note { margin:13px 0 0; color:var(--b-muted); font-size:10px; text-align:center; line-height:1.65; }
.basket-help { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:26px 0; margin-top:42px; border-top:1px solid var(--b-line); border-bottom:1px solid var(--b-line); }
.basket-help h2 { margin:0 0 8px; font:500 27px/1.1 RAStorefront,Georgia,serif; }
.basket-help p { margin:0; color:var(--b-muted); font-size:11px; }
.basket-help-links { display:flex; align-items:center; gap:28px; white-space:nowrap; font-size:12px; }
.basket-empty { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; min-height:375px; border-top:1px solid var(--b-line); border-bottom:1px solid var(--b-line); }
.basket-empty-visual { display:grid; place-items:center; position:relative; align-self:stretch; padding:45px; overflow:hidden; background:var(--b-green); }
.basket-empty-visual::before { content:''; position:absolute; width:220px; height:300px; border:1px solid #9f7d4c50; border-radius:50% 50% 0 0; }
.basket-empty-visual svg { width:115px; height:135px; fill:none; stroke:var(--b-gold); stroke-width:.7; }
.basket-empty-copy { padding:45px 55px; }
.basket-empty h2 { margin:0; font:500 46px/1.04 RAStorefront,Georgia,serif; letter-spacing:-.025em; }
.basket-empty h2 em { color:var(--b-wine); font-weight:500; }
.basket-empty p { margin:20px 0 26px; max-width:330px; color:var(--b-muted); font-size:12px; }
.basket-empty .basket-button { width:auto; min-width:220px; }
.basket-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media (max-width:1100px) { .basket-form { grid-template-columns:minmax(0,1fr) 330px; gap:28px; } .basket-summary { padding:24px; } .basket-steps { gap:15px; } .basket-item { grid-template-columns:120px minmax(0,1fr); gap:18px; } .basket-item-image { height:170px; } }
@media (max-width:900px) { .basket-content { width:calc(100% - 48px); } .basket-intro { align-items:start; } .basket-steps { display:none; } .basket-form { grid-template-columns:minmax(0,1fr); gap:32px; } .basket-summary { position:static; } .basket-item { grid-template-columns:145px minmax(0,1fr); } .basket-item-image { height:174px; } .basket-help { align-items:start; } .basket-help-links { flex-direction:column; align-items:start; gap:12px; } .basket-empty-copy { padding:35px; } }
@media (max-width:560px) { .basket-content { width:calc(100% - 40px); padding-bottom:38px; } .basket-breadcrumbs { margin:24px 0 29px; font-size:10px; } .basket-intro { padding-bottom:28px; } .basket-intro h1 { font-size:57px; } .basket-eyebrow { font-size:8px; } .basket-intro p:last-child { max-width:260px; font-size:11px; margin-top:16px; } .basket-list-heading { padding:16px 0; } .basket-list-heading h2 { font-size:22px; } .basket-list-heading .basket-text-link { font-size:10px!important; } .basket-item { grid-template-columns:94px minmax(0,1fr); gap:15px; padding:22px 0; } .basket-item-image { height:136px; } .basket-item-image img { padding:6px; } .basket-item h3 { font-size:23px; } .basket-item-top { gap:5px; } .basket-remove { width:24px; height:25px; padding:4px; } .basket-item-kicker { font-size:7px; letter-spacing:.07em; margin-bottom:7px; } .basket-item-meta { font-size:9px; margin-top:8px; } .basket-item-bottom { gap:10px; padding-top:18px; flex-wrap:wrap; } .basket-quantity { height:34px; } .basket-quantity input { width:32px; height:32px; } .basket-quantity button { width:25px; height:32px; font-size:18px; } .basket-unit-price { font-size:9px; } .basket-line-price { font-size:16px; } .basket-summary { padding:24px 22px; } .basket-summary h2 { font-size:32px; } .basket-help { flex-direction:column; gap:21px; margin-top:28px; padding:24px 0; } .basket-help-links { flex-direction:row; flex-wrap:wrap; gap:18px; font-size:11px; } .basket-empty { grid-template-columns:1fr; } .basket-empty-visual { min-height:205px; padding:25px; } .basket-empty-visual::before { width:145px; height:185px; } .basket-empty-visual svg { width:85px; height:95px; } .basket-empty-copy { padding:30px 8px; } .basket-empty h2 { font-size:39px; } }
@media (prefers-reduced-motion:reduce) { .basket-page { scroll-behavior:auto; } }
