.checkout-page { background: #f6f4ee; }
.checkout-header { border-bottom: 1px solid var(--line); background: #fffdf8; }
.checkout-header .container { min-height: 90px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.checkout-back { color:var(--text); font-size:.875rem; text-decoration:none; }
.checkout-main { max-width:1120px; padding-top:52px; }
.checkout-heading { margin-bottom:44px; max-width:660px; }
.checkout-heading .eyebrow { margin-bottom:18px; }
.checkout-heading h1 { font-size:clamp(2.7rem,4.5vw,4.2rem); font-weight:500; letter-spacing:-.035em; line-height:1.05; }
.checkout-heading h1 em { font-weight:500; color:#77735d; }
.checkout-heading > p:last-child { color:var(--muted); font-size:.9375rem; line-height:1.8; max-width:56ch; margin-top:20px; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:48px; align-items:start; }
[hidden] { display:none !important; }
.checkout-form { gap:24px; }
.checkout-form fieldset { margin:0; padding:25px; background:#fffdf8; border:1px solid var(--line); border-radius:4px; min-width:0; display:grid; gap:18px; }
.checkout-form legend { float:left; width:100%; padding:0; font-size:1.1rem; font-weight:600; display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.checkout-form legend span { font-size:.75rem; color:#72745d; border:1px solid var(--line); border-radius:50%; width:30px; height:30px; display:grid; place-items:center; }
.checkout-form label { font-size:.8125rem; gap:8px; }
.checkout-form label > span { display:contents; color:var(--muted); font-weight:400; }
.checkout-form input,.checkout-form select,.checkout-form textarea { width:100%; min-width:0; font-size:16px; background:#fafaf5; border-radius:3px; }
.checkout-fields { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.checkout-fields > * { min-width:0; }
.checkout-fields-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.checkout-area { margin:0; color:#56634e; font-size:.8125rem; }
.checkout-payment { display:flex; gap:14px; padding:18px; border:1px solid #9daa91; border-radius:4px; background:#f0f3e9; align-items:flex-start; }
.payment-dot { margin-top:4px; flex:0 0 16px; height:16px; border:4px solid #f0f3e9; border-radius:50%; background:#253b30; box-shadow:0 0 0 1px #253b30; }
.checkout-payment strong { font-size:.875rem; }
.checkout-payment p { color:var(--muted); margin:6px 0 0; font-size:.8125rem; line-height:1.6; }
.checkout-consent { margin:0; font-size:.8125rem; color:var(--muted); line-height:1.75; }
.checkout-submit { display:flex; justify-content:space-between; min-height:56px; font-size:1rem; }
.checkout-summary { position:sticky; top:30px; padding:28px; border-radius:4px; background:#eceee5; min-width:0; }
.checkout-summary-title { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:24px; border-bottom:1px solid #cdd2c4; }
.checkout-summary-title h2 { font-size:2rem; font-weight:500; }
.checkout-summary-title a { font-size:.75rem; color:#52604a; }
.checkout-item { display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:12px; padding:24px 0; border-bottom:1px solid #cdd2c4; }
.checkout-item img,.checkout-item-placeholder { width:64px; height:76px; object-fit:cover; border-radius:3px; background:#d9dcd1; }
.checkout-item h3 { font-family:var(--font-body); font-size:.8125rem; line-height:1.5; font-weight:600; }
.checkout-item > strong { font-size:.875rem; white-space:nowrap; }
.checkout-unit { margin:7px 0; font-size:.75rem; color:var(--muted); }
.checkout-quantity { display:inline-flex; align-items:center; border:1px solid #c5ccba; border-radius:3px; background:#f6f4ee; }
.checkout-quantity button { width:36px; height:36px; color:var(--text); background:none; border:0; font-size:1.1rem; cursor:pointer; }
.checkout-quantity span { min-width:24px; text-align:center; font-size:.8125rem; }
.checkout-remove { display:block; border:0; padding:10px 0 0; background:none; color:var(--muted); text-decoration:underline; cursor:pointer; font-size:.75rem; }
.checkout-totals { padding:16px 0 24px; }
.checkout-totals p { display:flex; justify-content:space-between; gap:16px; font-size:.8125rem; }
.checkout-totals .checkout-total { border-top:1px solid #cdd2c4; padding-top:20px; margin-top:20px; font-size:1.1rem; }
.checkout-totals small { display:block; color:var(--muted); font-size:.75rem; }
.checkout-shipping-note { border-top:1px solid #cdd2c4; padding-top:22px; }
.checkout-shipping-note strong { font-size:.875rem; }
.checkout-shipping-note p { color:var(--muted); font-size:.8125rem; line-height:1.8; }
.checkout-help { display:block; padding-top:12px; color:#52604a; font-size:.8125rem; }
.checkout-empty { max-width:660px; background:#eceee5; padding:45px; margin-bottom:80px; }
.checkout-empty > span { font-size:2rem; color:#77735d; }
.checkout-empty h2 { font-size:2.5rem; margin-top:15px; }
.checkout-empty p { line-height:1.8; color:var(--muted); margin:20px 0 28px; }
.checkout-footer { border-top:1px solid var(--line); margin-top:65px; padding:24px 0; display:flex; justify-content:space-between; gap:20px; font-size:.75rem; color:var(--muted); }
.checkout-footer a { color:inherit; overflow-wrap:anywhere; }
@media(max-width:850px) { .checkout-layout { gap:24px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); } .checkout-summary { padding:20px; } .checkout-item { grid-template-columns:52px minmax(0,1fr); } .checkout-item img { width:52px; height:64px; } .checkout-item > strong { grid-column:2; } .checkout-summary-title { align-items:flex-start; flex-direction:column; } }
@media(max-width:620px) { .checkout-header .container { min-height:76px; gap:12px; } .checkout-back { font-size:.75rem; } .checkout-main { padding-top:30px; } .checkout-heading { margin-bottom:28px; } .checkout-heading h1 { font-size:2.8rem; } .checkout-layout { display:flex; flex-direction:column; } .checkout-summary { position:static; order:-1; width:100%; } .checkout-form { width:100%; } .checkout-form fieldset { padding:20px; } .checkout-fields { grid-template-columns:1fr; } .checkout-fields-three { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; } .checkout-fields-three label { font-size:.75rem; } .checkout-item { grid-template-columns:64px minmax(0,1fr) auto; } .checkout-item img { width:64px; height:76px; } .checkout-item > strong { grid-column:auto; } .checkout-quantity button { width:44px; height:44px; } .checkout-summary-title { flex-direction:row; align-items:center; } .checkout-footer { flex-direction:column; gap:0; } .checkout-empty { padding:28px; } }
