.cart-section{width:calc(100% - 3rem);max-width:1200px;margin:2rem auto;padding:clamp(1.25rem,4vw,2.5rem);background:#f5f8fb;border:1px solid #d5e0eb;border-radius:18px}
.cart-section .section-heading{margin-bottom:1.5rem}
.cart-section select,.cart-section input[type=email]{font:inherit;padding:.65rem .8rem;border:1px solid #9eb4ca;border-radius:5px;background:#fff;max-width:100%}
.cart-section select{margin-bottom:1rem}
.cart-line{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:1rem 0;border-bottom:1px solid #cbd7e4}
.cart-line strong{min-width:9rem}.cart-line label{display:flex;align-items:center;gap:.6rem;margin:0}.cart-qty{width:4.5rem;padding:.4rem}
.cart-remove{border:0;background:transparent;color:#145e9e;text-decoration:underline;cursor:pointer}
.checkout-reminder{margin:1.25rem 0;padding:1rem 1.25rem;border:1px solid #cbd7e4;border-radius:8px;min-width:0}
.checkout-reminder legend{padding:0 .4rem;font-weight:700}.checkout-reminder input[type=email]{display:block;width:min(100%,26rem);margin-bottom:1rem}
.checkout-reminder label:has(input[type=checkbox]){display:flex;align-items:flex-start;gap:.65rem;font-weight:400}.checkout-reminder input[type=checkbox]{flex:none;margin-top:.35rem}
.checkout-reminder p{margin:.5rem 0 0;font-size:.9rem}.cart-section .button:disabled{opacity:.55;cursor:wait}#cart-status{min-height:1.5rem;margin-top:1rem}
@media(max-width:550px){.cart-section{width:calc(100% - 1.5rem);margin:1rem auto}.cart-line{align-items:flex-start}.checkout-reminder{padding:1rem}}
.cart-notice{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;align-items:center;gap:1.1rem;max-width:calc(100vw - 2rem);padding:1rem 1.25rem;background:#073c30;color:#fff;border:1px solid #2d9b7d;border-radius:10px;box-shadow:0 8px 30px #07172b40;font-size:1rem;font-weight:700}
.cart-notice[hidden]{display:none}.cart-notice a{color:#fff;white-space:nowrap;text-decoration:underline}.cart-notice button{border:0;background:transparent;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem}.cart-notice.is-error{background:#752323;border-color:#a63f3f}
@media(max-width:550px){.cart-notice{left:.75rem;right:.75rem;top:.75rem;max-width:none;gap:.75rem;padding:.9rem}.cart-notice span{flex:1}}
