.shop-toolbar{max-width:1400px;margin:0 auto 28px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.shop-toolbar p{margin:0;color:var(--muted);max-width:680px}
.shop-toolbar strong{color:var(--cream)}
.shop-toolbar .button{flex-shrink:0;gap:12px;font-size:.875rem}
#cart-count{display:inline-grid;place-items:center;min-width:26px;min-height:26px;border-radius:50%;background:var(--teal);color:var(--bg);padding:3px}
.checkout-modal{width:min(760px,calc(100% - 28px));max-height:90vh;padding:32px}
.checkout-modal h2{font-size:clamp(1.5rem,5vw,2rem);padding-right:20px;line-height:1.15}
.checkout-modal h3{font-size:1.15rem;line-height:1.3;margin:0 0 8px}
.checkout-modal .eyebrow{font-size:.875rem;letter-spacing:.12em;margin-right:20px}
.checkout-modal .modal-close{min-height:44px;min-width:44px;top:6px;right:6px}
.checkout-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:24px 0;padding:0;border-bottom:1px solid var(--line)}
.checkout-steps li{display:flex;gap:6px;align-items:center;padding:10px 0 14px;color:var(--muted);font-size:.875rem;border-bottom:2px solid transparent}
.checkout-steps span{font-size:.75rem;display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border:1px solid var(--line);border-radius:50%}
.checkout-steps .current{color:var(--teal);border-color:var(--teal)}
.checkout-steps .current span{background:var(--teal);color:var(--bg)}
.checkout-product{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:24px;margin:20px 0 24px}
.checkout-product img{width:140px;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:9px}
.checkout-price{font-size:1.5rem}
.checkout-modal .fund-copy{color:var(--teal);font-size:.875rem;margin:10px 0 0}
.checkout-form{display:grid;gap:18px}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkout-modal label,.impact-controls label{display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:var(--cream);font-weight:600;min-width:0}
.checkout-modal input,.checkout-modal select,.impact-controls input,.impact-controls select{width:100%;min-width:0;height:46px;background:var(--bg);color:var(--cream);border:1px solid #355044;border-radius:6px;padding:8px 12px;font-size:1rem}
.checkout-modal :focus-visible,.funding-preview :focus-visible,.shop-toolbar :focus-visible,.project-estimate:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.checkout-modal .checkout-note,.funding-preview .checkout-note{font-size:.875rem;line-height:1.5;color:var(--muted);margin:12px 0}
.checkout-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}
.checkout-modal .button{font-size:.875rem;line-height:1.35;letter-spacing:.04em;padding:12px 18px}
.cart-lines,.review-lines{list-style:none;margin:0;padding:0}
.cart-line{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}
.cart-line>img{width:78px;aspect-ratio:1;object-fit:cover;border-radius:6px}
.cart-line h3{font-size:1rem;line-height:1.4}
.cart-line p{font-size:.875rem;margin:4px 0 12px}
.cart-line strong{white-space:nowrap;font-size:1rem}
.cart-line .line-quantity{display:inline-flex;flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
.line-quantity input{width:78px}
.remove-line,.project-estimate{background:transparent;color:var(--teal);border:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;padding:10px 0;min-height:44px}
.remove-line{margin-left:16px;color:var(--muted)}
.order-totals{margin:24px 0 0;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:1rem}
.order-totals>div{display:flex;justify-content:space-between;gap:20px;margin:0 0 14px}
.order-totals>div:last-child{margin-bottom:0}
.order-totals dd{margin:0;text-align:right;flex-shrink:0}
.order-totals small{display:block;font-size:.875rem;font-weight:400;line-height:1.4;margin-top:3px}
.order-totals .fund-total{color:var(--teal);font-size:.875rem;border-bottom:1px solid var(--line);padding-bottom:14px}
.review-lines li{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.review-lines small{display:block;color:var(--muted);font-size:.875rem;margin-top:4px}
.review-lines b{white-space:nowrap}
.checkout-impact{margin-top:24px;border-left:3px solid var(--teal);padding:4px 0 4px 18px}
.checkout-impact p{font-size:.875rem;margin:8px 0}
.checkout-impact a{color:var(--teal);text-decoration:underline;font-size:.875rem}
.checkout-modal .demo-boundary{color:var(--cream);background:rgba(221,162,63,.09);padding:18px;border:1px solid rgba(221,162,63,.4);border-radius:8px}
.checkout-boundary fieldset{min-width:0;margin:16px 0 0;padding:16px;border:1px solid var(--line);border-radius:8px}
.checkout-boundary legend{color:var(--amber);font-size:1rem;padding:0 6px}
.checkout-boundary label+label{margin-top:16px}
.checkout-boundary input:disabled{background:#161e19;color:var(--muted);cursor:not-allowed;opacity:.8}
.checkout-boundary input::placeholder{color:var(--muted);font-size:.875rem}
.funding-preview{max-width:1400px;margin:36px auto 0;padding:28px;border:1px solid #355044;border-radius:12px;background:var(--panel);scroll-margin-top:90px}
.funding-preview h3{margin:0 0 12px;font-size:clamp(1.4rem,4vw,2rem);line-height:1.2}
.funding-preview>.eyebrow{font-size:.875rem;margin-bottom:12px}
.funding-preview>p:not(.eyebrow){color:var(--muted);max-width:820px}
.impact-controls{display:grid;grid-template-columns:1.25fr 1fr 130px;gap:18px;margin:24px 0}
.impact-controls [hidden]{display:none}
.impact-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 20px}
.impact-stats span{display:block;font-size:.875rem;color:var(--muted)}
.impact-stats b{display:block;font:800 clamp(1.6rem,5vw,2.25rem)/1.4 Archivo,sans-serif}
.impact-stats>div:first-child b{color:var(--teal)}
.impact-bar{height:12px;background:var(--bg);display:flex;overflow:hidden;border-radius:6px}
.impact-base{background:#5e8972}
.impact-added{background:var(--teal)}
.impact-formula{font-size:.875rem;color:var(--muted)}
#impact-result>p{max-width:960px}
.project-card h3{line-height:1.3}
.project-card .project-meta{font-size:.875rem;gap:12px;flex-wrap:wrap}
.project-card .vote-project{font-size:.875rem;line-height:1.4}
@media(max-width:720px){.shop-toolbar{align-items:flex-start;flex-direction:column;gap:16px}.impact-controls{grid-template-columns:1fr}.impact-controls label:last-child{max-width:180px}.funding-preview{padding:20px}.checkout-modal{padding:24px 18px}.checkout-product{grid-template-columns:92px minmax(0,1fr);gap:16px}.checkout-product img{width:92px}.checkout-boundary{grid-template-columns:1fr}.checkout-actions{flex-direction:column-reverse}.checkout-actions .button{width:100%}.cart-line{grid-template-columns:56px minmax(0,1fr);gap:12px}.cart-line>img{width:56px}.cart-line>strong{grid-column:2}.order-totals{padding:14px}.order-totals>div{gap:10px}.checkout-steps li{flex-direction:column;gap:6px}.remove-line{display:block;margin:4px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
