.cart-page{max-width:1250px;margin:auto}.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px}.cart-total{background:var(--panel);border:1px solid var(--line);padding:16px;align-self:start;position:sticky;top:16px}.cart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.cart-toolbar [aria-current]{font-weight:bold;text-decoration:underline}.district-heading{background:var(--select)}.region-heading{background:var(--surface)}.cart-conditions{margin-top:18px;border:1px solid var(--line);padding:12px}.cart-conditions summary{display:inline-block;cursor:pointer}.condition-field{margin:16px 0;max-width:560px}.condition-field label{display:inline;font-weight:bold}.condition-field select,.condition-field input{display:block;margin-top:7px;width:100%}.condition-field[hidden]{display:none}.field-help{display:inline-flex;position:relative;justify-content:center;align-items:center;width:18px;height:18px;border:1px solid var(--line);border-radius:50%;margin-left:5px;font-size:12px;cursor:help;vertical-align:middle}.help-popup{display:none;position:absolute;z-index:10;top:24px;left:0;width:min(300px,70vw);padding:12px;background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:0 4px 14px #0002;font-weight:normal;font-size:13px;line-height:1.5}.field-help:hover .help-popup,.field-help:focus .help-popup{display:block}.cart-total .help-popup{left:auto;right:0}.cart-total button{width:100%}@media(max-width:850px){.cart-layout{grid-template-columns:1fr}.cart-total{position:static}.cart-toolbar{flex-wrap:wrap}}

.button{display:inline-block;background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);padding:7px 12px;text-decoration:none;border-radius:3px;font-weight:600}.field-help:focus-visible{outline:2px solid var(--accent)}
.discount-applied,.discount-next{display:grid;gap:5px;margin:10px 0;padding:11px;border-radius:6px}.discount-applied{background:#eaf5ed;border:1px solid #a7ccaf;color:#285e3d}.discount-next{background:#fff6df;border:2px solid #dec68e;color:#6d430b}.discount-next strong{font-size:17px}.discount-next span{font-size:12px}.discount-next details{margin-top:4px}.discount-next details p,.discount-applied p{margin:3px 0;font-size:12px}.totals .discount-total{color:#285e3d;font-weight:700}
