/* Shopping follows the existing cellar palette and editorial typography. */
.cart-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font-size:14px;line-height:1.3;white-space:nowrap}
.cart-trigger svg{width:21px;height:21px;flex:0 0 21px}
.cart-count{display:inline-grid;place-items:center;min-width:25px;min-height:25px;padding:2px 5px;background:var(--ink);color:var(--bone);font:12px/1.2 var(--mono)}
.cart-trigger:hover{color:var(--action-pink)}
.mobile-nav button[data-open-inquiry]{display:flex;gap:10px;align-items:center;min-height:44px;padding:10px 0;font-size:16px}
.product-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:2px 16px;margin-top:13px}
.product-card-actions .cart-add{display:inline-flex;align-items:center;justify-content:center;min-height:46px;width:100%;padding:10px 14px;border:1px solid var(--ink);background:var(--ink);color:var(--bone);font-size:14px;line-height:1.5}
.product-card-actions .cart-add:hover{background:var(--action-pink);border-color:var(--action-pink)}
.product-card-actions .text-button{font-size:13px;min-height:44px}
.commerce-page{padding-top:34px;padding-bottom:88px;min-height:55svh}
.commerce-heading{max-width:720px;margin-bottom:42px}
.commerce-heading .eyebrow{font-size:12px;margin-bottom:14px}
.commerce-heading h1{font-size:clamp(38px,4.6vw,62px);margin-bottom:20px}
.commerce-heading p{font-size:16px;line-height:1.8;max-width:65ch;margin-bottom:0}
.commerce-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:48px;align-items:start}
.cart-main{min-width:0}
.cart-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:14px 20px;align-items:start;padding:26px 0;border-top:1px solid var(--line)}
.cart-row:last-child{border-bottom:1px solid var(--line)}
.cart-row>img,.cart-row-photo{grid-column:1;width:84px;height:112px;background:#fff;object-fit:contain;padding:5px}
.cart-row-main,.cart-product{min-width:0;grid-column:2}
.cart-row-main h2,.cart-product h2,.cart-row-main h3,.cart-product h3{font:500 23px/1.35 var(--serif);letter-spacing:0;margin-bottom:8px;overflow-wrap:anywhere;text-wrap:pretty}
.cart-row-main a:hover,.cart-product a:hover{color:var(--action-pink);text-decoration:underline;text-underline-offset:4px}
.cart-row-meta,.cart-meta{display:block;font-size:13px;line-height:1.6;margin:5px 0 12px}
.cart-row-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.cart-quantity-control{display:flex;align-items:center;gap:10px}
.cart-row-controls label{font-size:14px}
.cart-row-controls input{width:80px;min-height:44px;font-size:16px;padding:8px 9px;background:rgba(255,255,255,.24)}
.cart-line-total{grid-column:3;text-align:right;font-family:var(--roman);font-size:18px;line-height:1.5;white-space:nowrap}
.cart-line-total strong{font-weight:500}
.cart-remove{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:var(--red)}
.cart-remove:hover{color:var(--action-pink)}
.cart-field-error,.cart-error,#cart-issues{font-size:14px;color:var(--red);line-height:1.7;overflow-wrap:anywhere}
.cart-field-error{flex-basis:100%;margin:8px 0 0}
#cart-issues:not(:empty){padding:16px 20px;margin-bottom:24px;border:1px solid var(--red)}
.cart-row.is-unavailable{border-left:3px solid var(--red);padding-left:14px}
.commerce-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 26px;margin-top:24px}
.commerce-actions a:not(.button){display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-size:14px}
.order-summary{position:sticky;top:24px;border:1px solid var(--ink);padding:28px;background:rgba(255,255,255,.2);min-width:0}
.order-summary h2{font-size:28px;line-height:1.3;letter-spacing:0;margin-bottom:22px}
.summary-lines{margin:0}
.summary-lines>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:10px 0;font-size:14px;line-height:1.6}
.summary-lines dt{margin:0}
.summary-lines dd{margin:0;text-align:right;max-width:62%;overflow-wrap:anywhere}
.summary-lines .summary-subtotal,.summary-subtotal{border-top:1px solid var(--line);margin-top:10px;padding-top:20px;padding-bottom:18px;font-size:17px}
.summary-subtotal dd,.summary-subtotal strong,#cart-subtotal,#checkout-subtotal{font-family:var(--roman);font-size:23px;white-space:nowrap}
.order-summary>.button,.order-summary>.cart-continue{width:100%;margin-top:20px}
.payment-pending{border-left:3px solid var(--gold);background:rgba(242,162,12,.08);padding:15px 16px;margin:20px 0;font-size:14px;line-height:1.75}
.payment-pending strong{display:block;font-weight:600;margin-bottom:5px}
.payment-pending p:last-child{margin-bottom:0}
.commerce-note{font-size:13px;line-height:1.8;margin:18px 0 0;overflow-wrap:anywhere}
.commerce-note a{border-bottom:1px solid currentColor}
.commerce-empty{border:1px solid var(--line);padding:54px 32px;text-align:center;max-width:760px;margin:0 auto}
.commerce-empty h2{font-size:32px;line-height:1.3;margin-bottom:16px}
.commerce-empty p{max-width:48ch;font-size:16px;margin:0 auto 26px}
.commerce-empty .button{margin:0 auto}
#cart-feedback:empty,#checkout-status:empty{display:none}
#checkout-copy-fallback[hidden]{display:none}
#cart-feedback,#checkout-status{font-size:14px;line-height:1.7;margin:18px 0;padding:12px 16px;border-left:3px solid var(--gold);background:rgba(242,162,12,.08);overflow-wrap:anywhere}
.commerce-page [aria-invalid=true]{border-color:var(--red);outline-color:var(--red)}
.commerce-page [aria-disabled=true],.commerce-page button:disabled{opacity:1;background:#e1dbc9;color:#555773;border-color:#b6b0a2;cursor:not-allowed}
.commerce-page .primary:disabled:before,.commerce-page .primary:disabled:after{display:none}
.checkout-section{padding:28px 0;border-top:1px solid var(--line)}
.checkout-section>h2{font-size:28px;letter-spacing:0;margin-bottom:22px}
.checkout-section>p{font-size:14px;line-height:1.8;margin-top:-8px}
.checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
.checkout-field{min-width:0}
.checkout-field.field-wide,.checkout-fields>.field-wide{grid-column:1/-1}
.checkout-field label{display:block;font-size:14px;line-height:1.6;margin-bottom:7px}
.checkout-field input,.checkout-field select,.checkout-field textarea{width:100%;min-height:48px;font-size:16px;line-height:1.5;background:rgba(255,255,255,.24);padding:11px 12px}
.checkout-field textarea{min-height:110px}
.checkout-field small{display:block;font-size:13px;line-height:1.65;margin-top:7px}
.checkout-age{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.7;cursor:pointer;min-height:44px;padding:5px 0;margin:4px 0 18px}
.checkout-age input{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:3px 0 0;accent-color:var(--action-pink)}
.checkout-request-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.checkout-request-actions .button{width:100%;padding-left:14px;padding-right:14px;gap:10px;letter-spacing:0;min-width:0}
.checkout-request-actions .primary,.checkout-request-actions #checkout-email{grid-column:1/-1}
#checkout-payment{width:100%;margin-top:12px;gap:10px;letter-spacing:0}
#checkout-copy-fallback,.checkout-copy-fallback{display:block;width:100%;font-size:14px;min-height:220px;margin-top:18px;background:rgba(255,255,255,.3)}
.checkout-line{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start;font-size:14px;line-height:1.55}
.checkout-line-photo{width:44px;height:62px;object-fit:contain;background:#fff;padding:3px}
.checkout-line-details{min-width:0;overflow-wrap:anywhere}
.checkout-line-details>a,.checkout-line-details>strong{font-weight:500;display:block}
.checkout-line-details h3{font-family:var(--sans);font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;margin:0;overflow-wrap:anywhere}
.checkout-line-details h3 a:hover{color:var(--action-pink);text-decoration:underline;text-underline-offset:3px}
.checkout-line-details p{font-size:12px;line-height:1.65;margin:5px 0 0}
.checkout-line-details small{display:block;font-size:12px;line-height:1.65;margin-top:5px}
.checkout-line-total{font-weight:500;font-size:14px;white-space:nowrap}
.checkout-summary-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.checkout-summary-title a{font-size:14px;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.checkout-summary-title h2{margin-bottom:10px}
#cart-feedback{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);z-index:1100;width:max-content;max-width:calc(100% - 32px);margin:0;background:var(--ink);color:var(--bone);border-left:3px solid var(--gold);box-shadow:0 8px 28px rgba(27,31,92,.15);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
#cart-feedback.visible{opacity:1;transform:translate(-50%,0)}
@media(prefers-reduced-motion:reduce){#cart-feedback{transition:none}}
.cart-list-heading{display:flex;gap:16px;justify-content:space-between;align-items:baseline;flex-wrap:wrap;margin-bottom:16px}
.cart-list-heading h2{font-size:28px}
.cart-list-heading>span{font-size:14px}
.commerce-empty-star{display:block;font-size:44px;color:var(--gold);margin-bottom:18px}
@media(min-width:961px) and (max-width:1200px){
  .site-header{gap:18px;padding-left:4%;padding-right:4%}
  .header-actions{gap:14px}
  html[lang=en] .desktop-nav{gap:14px}
  .inquiry-trigger{font-size:12px;letter-spacing:0;gap:7px}
  .cart-trigger{font-size:13px;gap:6px}
  .commerce-layout{gap:28px;grid-template-columns:minmax(0,1fr) 300px}
  .order-summary{padding:23px}
  .cart-row{grid-template-columns:70px minmax(0,1fr) auto;gap:12px 14px}
  .cart-row>img,.cart-row-photo{width:70px;height:100px}
  .cart-row-main h2,.cart-product h2,.cart-row-main h3,.cart-product h3{font-size:21px}
}
@media(max-width:960px){
  .commerce-layout{grid-template-columns:minmax(0,1fr) 290px;gap:25px}
  .order-summary{padding:22px}
  .cart-row{grid-template-columns:64px minmax(0,1fr);gap:12px 16px}
  .cart-row>img,.cart-row-photo{width:64px;height:90px}
  .cart-line-total{grid-column:2;text-align:left;margin-top:-2px}
  .cart-row-main h2,.cart-product h2,.cart-row-main h3,.cart-product h3{font-size:21px}
}
@media(max-width:800px){
  .commerce-layout{grid-template-columns:1fr;gap:32px}
  .order-summary{position:static;padding:26px}
  .commerce-heading{margin-bottom:30px}
  .commerce-heading h1{font-size:44px}
  .cart-row{grid-template-columns:80px minmax(0,1fr) auto;gap:14px 20px}
  .cart-row>img,.cart-row-photo{width:80px;height:108px}
  .cart-line-total{grid-column:3;text-align:right;margin-top:0}
  .checkout-layout .order-summary{grid-row:1}
}
@media(max-width:600px){
  .site-header .header-actions>.inquiry-trigger{display:none}
  .header-actions{gap:12px}
  .cart-trigger{font-size:13px;gap:5px;min-height:44px}
  .cart-trigger svg{width:20px;height:20px;flex-basis:20px}
  .cart-count{font-size:12px;min-width:23px;min-height:23px;padding:2px 4px}
  .commerce-page{padding:25px 24px 48px}
  .commerce-heading{margin-bottom:27px}
  .commerce-heading .eyebrow{font-size:12px;margin-bottom:12px}
  .commerce-heading h1{font-size:38px;line-height:1.15;margin-bottom:16px}
  .commerce-heading p{font-size:16px;line-height:1.75}
  .commerce-layout{gap:28px}
  .cart-row{grid-template-columns:60px minmax(0,1fr);gap:12px 15px;padding:22px 0}
  .cart-row>img,.cart-row-photo{width:60px;height:86px}
  .cart-row-main h2,.cart-product h2,.cart-row-main h3,.cart-product h3{font-size:20px;line-height:1.35;margin-bottom:7px}
  .cart-row-meta,.cart-meta{font-size:13px;margin-bottom:10px}
  .cart-row-controls{gap:6px 14px}
  .cart-quantity-control{gap:9px}
  .cart-row-controls label{font-size:14px}
  .cart-row-controls input{width:76px;font-size:16px;min-height:44px}
  .cart-line-total{grid-column:2;font-size:18px;text-align:left}
  .cart-remove{font-size:13px;min-height:44px}
  .cart-field-error,.cart-error,#cart-issues{font-size:14px}
  .commerce-actions{gap:8px 20px;margin-top:18px}
  .order-summary{padding:23px 20px}
  .order-summary h2{font-size:27px}
  .summary-lines>div{font-size:14px;gap:15px}
  .summary-lines .summary-subtotal,.summary-subtotal{font-size:16px}
  .summary-subtotal dd,.summary-subtotal strong,#cart-subtotal,#checkout-subtotal{font-size:23px}
  .payment-pending{font-size:14px;padding:14px;margin-top:18px}
  .commerce-note{font-size:14px;line-height:1.8}
  .commerce-empty{padding:35px 20px}
  .commerce-empty h2{font-size:29px}
  .commerce-empty p{font-size:16px}
  .commerce-empty .button{width:100%;padding-left:14px;padding-right:14px}
  .checkout-section{padding:24px 0}
  .checkout-section>h2{font-size:27px;margin-bottom:20px}
  .checkout-section>p{font-size:14px}
  .checkout-fields{grid-template-columns:1fr;gap:19px}
  .checkout-field.field-wide,.checkout-fields>.field-wide{grid-column:auto}
  .checkout-field label{font-size:14px;margin-bottom:7px}
  .checkout-field input,.checkout-field select,.checkout-field textarea{font-size:16px;min-height:48px}
  .checkout-age{font-size:14px;line-height:1.75}
  .checkout-request-actions{grid-template-columns:1fr;gap:11px}
  .checkout-request-actions .primary,.checkout-request-actions #checkout-email{grid-column:auto}
  .checkout-request-actions .button{min-height:50px}
  .checkout-line{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;font-size:14px;padding:16px 0}
  .checkout-line-photo{width:40px;height:58px}
  .checkout-line-details small{font-size:12px}
  .checkout-line-total{font-size:14px}
  .checkout-summary-title{gap:10px}
  .product-card-actions{margin-top:12px;gap:0 10px}
  .product-card-actions .cart-add{font-size:14px;min-height:46px;padding:10px 8px}
  .product-card-actions .text-button{font-size:13px;line-height:1.5;min-height:44px}
}
@media(max-width:380px){
  .header-actions{gap:6px}
  .cart-trigger{font-size:12px;gap:4px}
  .cart-trigger svg{width:19px;height:19px;flex-basis:19px}
  .commerce-page{padding-left:20px;padding-right:20px}
}
