.cart-open { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 48px; margin: 16px 0; padding: 12px; background: #121e2c; border: 1px solid #c5692b; border-radius: 8px; color: #eda97b; font: inherit; cursor: pointer; }
.cart-open span { background: #d4712f; color: #fff; border-radius: 30px; padding: 2px 10px; }
.cart-dialog { box-sizing: border-box; width: min(700px, calc(100% - 24px)); max-height: 90vh; max-height: 90dvh; margin: auto; padding: clamp(16px, 4vw, 30px); overflow-y: auto; border: 1px solid #c5692b; border-radius: 12px; background: #0a1119; color: #eeebe6; font-family: inherit; }
.cart-dialog::backdrop { background: rgb(0 0 0 / .8); }
.cart-dialog header { display:flex; justify-content: space-between; align-items: center; gap: 12px; }
.cart-dialog h2 { font-size: clamp(24px, 5vw, 34px); margin:0; color: #eda97b; }
.cart-dialog button { min-height:44px; padding:10px 16px; border:1px solid #80441c; border-radius:6px; color:#eeebe6; background:#121e2c; cursor:pointer; font:inherit; }
.cart-dialog button:disabled { opacity:.5; cursor:default; }
.cart-dialog :focus-visible,.cart-open:focus-visible { outline:2px solid #eda97b; outline-offset:3px; }
.cart-dialog ul { list-style:none; margin:22px 0; padding:0; }
.cart-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; padding:20px 0; border-bottom:1px solid #4b2810; }
.cart-line h3 { font-size:18px; margin:6px 0; overflow-wrap:anywhere; }
.cart-line p { color:#b2b9bf; line-height:1.5; font-size:14px; overflow-wrap:anywhere; }
.cart-line small { color:#eda97b; }
.cart-line__actions { display:flex; flex-direction:column; gap:10px; width:90px; }
.cart-line input { box-sizing:border-box; width:100%; min-height:44px; background:#060a0e; color:#fff; border:1px solid #80441c; border-radius:6px; padding:8px; font:inherit; }
.cart-line label { font-size:13px; }
.cart-summary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:20px; color:#eda97b; }
.cart-dialog [data-cart-message] { line-height:1.6; min-height:2em; overflow-wrap:anywhere; }
.cart-dialog [data-cart-confirm],.cart-dialog [data-cart-quote] { width:100%; background:#82451d; border-color:#d4712f; }
.cart-dialog [hidden] { display:none !important; }
.cart-empty { padding:20px 0; line-height:1.6; color:#b2b9bf; }
@media(max-width:380px) { .cart-line { gap:10px; } .cart-line__actions { width:76px; } }
