/* Multi-model cart layout. Colors use the shared V2 tokens from h3d-shell.css;
   fallbacks repeat the approved V2 values. Focus rings come from the shared
   shell/customer layer, so this file defines none of its own. */
.cart-workspace{display:grid;gap:24px;max-width:1240px}
.cart-workspace h1{margin:0 0 8px}
.cart-workspace .panel{padding:24px;margin:0}
.cart-toolbar,.cart-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cart-toolbar>label{flex:1;min-width:200px}
.cart-toolbar select{margin:6px 0 0}
.cart-toolbar a{margin-left:auto}
.cart-workspace fieldset{border:0;padding:0;margin:0;display:grid;gap:24px;min-width:0}
.cart-contact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cart-contact label,.cart-line-fields label{display:grid;gap:6px;font-size:13px}
.cart-note{grid-column:1/-1}
.cart-workspace input,.cart-workspace select,.cart-workspace textarea{min-width:0;width:100%;margin:0}
.cart-line{padding:20px 0;border-top:1px solid var(--line,#dce5eb);display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px}
.cart-thumb{width:96px;height:96px;padding:5px;background:#f3f6f8;border-radius:10px;display:grid;place-items:center;color:var(--muted,#617483);overflow:hidden;text-align:center;font-size:10px;line-height:1.4}
.cart-thumb img{width:100%;height:100%;object-fit:contain}
.cart-line-fields{display:grid;grid-template-columns:minmax(140px,2fr) 90px repeat(3,minmax(100px,1fr));gap:12px;align-items:end}
.cart-line-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:12px}
.cart-line input[type=number]{text-align:right;font-variant-numeric:tabular-nums}
.cart-line-title{margin:0 0 6px;overflow-wrap:anywhere;font-size:16px}
.cart-line-status{margin:0 0 16px;color:var(--muted,#617483);font-size:12px}
.cart-line-number{color:var(--muted,#617483)}
.cart-submitted-line{display:grid;grid-template-columns:30px minmax(0,1fr) 80px auto;gap:18px;align-items:center;padding:20px 0;border-top:1px solid var(--line,#dce5eb)}
.cart-submitted-line h3{margin:0;overflow-wrap:anywhere}
.cart-submitted-line p{margin:6px 0}
.cart-upload h2,.cart-summary h2{margin-top:0}
.cart-upload p{max-width:75ch}
.cart-empty{padding:24px;border:1px dashed var(--line,#dce5eb);border-radius:10px;color:var(--muted,#617483)}
.cart-summary #cart-total{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}
.cart-summary #cart-completeness{color:var(--muted,#617483)}
.cart-workspace [hidden]{display:none!important}
.cart-workspace #cart-message:empty,.cart-upload #cart-upload-message:empty{display:none}

/* Explicit CONTACT/MANUAL continuation and reorder panels use the V2 notice colors. */
.cart-continuation{border:1px solid #cde3f0;border-left:4px solid var(--blue,#1a80b6);background:#edf7fc}
.cart-continuation h2{margin:0 0 10px}
.cart-continuation p{max-width:80ch}
.cart-continuation-existing{display:grid;gap:10px;padding-left:20px}
.cart-continuation .cart-continuation-consent{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line,#dce5eb);border-radius:10px;background:#fff;margin:18px 0 8px;line-height:1.55}
.cart-continuation .cart-continuation-consent input{width:20px;min-width:20px;height:20px;min-height:20px;margin:3px 0 0;accent-color:var(--blue,#1a80b6)}
.cart-continuation [hidden],.cart-continuation[hidden]{display:none!important}

@media(max-width:1100px){.cart-line-fields{grid-template-columns:minmax(0,2fr) minmax(75px,1fr)}.cart-line-fields label:first-child{grid-column:1/-1}.cart-contact{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cart-workspace{gap:16px}.cart-workspace .panel{padding:16px}.cart-contact{grid-template-columns:1fr}.cart-line{grid-template-columns:1fr}.cart-workspace input,.cart-workspace select,.cart-workspace textarea{font-size:16px;min-height:44px}.cart-actions>button,.cart-upload>.button{width:100%}.cart-submitted-line{grid-template-columns:24px minmax(0,1fr) auto;gap:10px}.cart-submitted-line>a{grid-column:2/-1}.cart-toolbar a{margin-left:0}.cart-line-actions button{min-height:44px}}
