.cart-page { max-width:1100px;min-height:100svh;display:flex;flex-direction:column; }
.cart-main { display:block;text-align:left;padding:2rem 0 4rem; }
.cart-main h1 { margin:0 0 1rem;font:400 2.25rem/1.2 Georgia,serif; }
.cart-intro,.cart-note { color:var(--muted);font-size:.875rem;line-height:1.65; }
.cart-intro { margin:0 0 2.5rem; }
.cart-layout { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,1fr);gap:4rem;align-items:start; }
.cart-item { display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:1.25rem;padding:1.5rem 0;border-top:1px solid var(--line);align-items:start; }
.cart-image { height:130px;display:flex;justify-content:center;align-items:center;filter:grayscale(1); }
.cart-item h2 { font:400 1.2rem/1.4 Georgia,serif;margin:.25rem 0 .5rem; }
.cart-item p { margin:.35rem 0;font-size:.875rem;line-height:1.5; }
.cart-item .cart-brand { font-size:.7rem;letter-spacing:.05em; }
.cart-item .cart-details { color:var(--muted); }
.cart-price { white-space:nowrap;font-size:.9375rem; }
.text-button { padding:.5rem 0;min-height:44px;border:0;background:none;text-decoration:underline;text-underline-offset:.3em;font-size:.875rem; }
.text-button:disabled { opacity:.5;cursor:default; }
.cart-summary { border-top:1px solid var(--ink);padding-top:1.5rem; }
.cart-summary h2 { font:400 1.4rem/1.4 Georgia,serif;margin:0 0 1.25rem; }
.cart-summary dl { margin:0; }
.cart-summary dl>div { display:flex;justify-content:space-between;gap:1rem;margin:1rem 0;font-size:.9375rem; }
.cart-summary dd { margin:0;white-space:nowrap; }
.cart-summary .cart-total { border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem;font-weight:500; }
.checkout-button { display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;min-height:64px;margin-top:1.5rem;border:2px solid #000;background:#000;color:#fff;border-radius:0;padding:1rem 1.25rem;font-size:1.125rem;font-weight:600;letter-spacing:.02em;scroll-margin-block:2rem; }
.checkout-button::after { content:'→';font-size:1.5rem;font-weight:400; }
.checkout-button:hover:not(:disabled) { background:#333;border-color:#333; }
.checkout-button:focus-visible { outline:3px solid #000;outline-offset:4px; }
.checkout-button:disabled { background:#eee;border-color:#ddd;color:#666;cursor:default; }
.cart-contact { display:inline-flex;min-height:44px;align-items:center;font-size:.875rem; }
#cart-message { line-height:1.6;font-size:.9375rem; }
#cart-message:empty { display:none; }
@media(max-width:700px) {
 .cart-layout { grid-template-columns:minmax(0,1fr);gap:2rem; }
 .cart-main { padding-top:1.5rem; }
 .cart-item { grid-template-columns:72px minmax(0,1fr);gap:1rem; }
 .cart-price { grid-column:2;grid-row:2;margin-top:-.5rem; }
 .cart-image { height:100px; }
 .cart-item h2 { font-size:1.125rem; }
 .cart-page .shop-nav { gap:.75rem;font-size:.8125rem; }
 .cart-page .shop-nav nav { gap:1rem; }
}

.pack-quantity{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.75rem 0;font-size:.875rem;}
.pack-quantity label{display:flex;align-items:center;gap:.5rem;}
.pack-quantity input{width:4.5rem;min-height:44px;border:1px solid #bbb;border-radius:0;background:#fff;color:#111;padding:.5rem;font:inherit;}
.pack-quantity input:focus-visible{outline:2px solid #265c43;outline-offset:3px;}
.pack-quantity .text-button{min-height:44px;}

.cart-price.has-discount{white-space:normal;max-width:200px;line-height:1.6}@media(max-width:600px){.cart-price.has-discount{max-width:none}}
