.cart-page{padding:112px 0 48px;min-height:65vh}
.cart-page h1{font-size:40px;line-height:1.2;margin:16px 0 24px}
.cart-page-intro{max-width:650px;color:#666;line-height:1.7}
.cart-page-status{margin:20px 0;line-height:1.6}
.cart-page-status:empty{margin:0}
.cart-page-status[data-state="error"]{color:#923232}
.cart-page-table-wrap{overflow-x:auto;margin:32px 0}
.cart-page table{width:100%;border-collapse:collapse;text-align:left;line-height:1.5}
.cart-page th,.cart-page td{padding:10px 12px;border-bottom:1px solid #ddd;overflow-wrap:anywhere;vertical-align:middle}
.cart-page thead th{font-size:12px;color:#666;font-weight:600}
.cart-page tbody th{font-weight:500;white-space:nowrap}
.cart-page-totals{display:flex;gap:24px;flex-wrap:wrap;padding:12px 0 24px}
.cart-page-totals p{margin:0}
.cart-page .btn-secondary{background:#171717;border-color:#171717;color:#fff}
.cart-page .btn-secondary:hover{background:#333;color:#fff}
.cart-photo{width:76px}
.cart-photo img,.cart-photo-empty{display:block;width:56px;height:56px;object-fit:contain;background:#fff}
.cart-photo-empty{background:#f1f1f1;border:1px solid #e4e4e4}
.cart-quantity-preview{display:inline-flex;align-items:center;border:1px solid #ddd;border-radius:2px}
.cart-quantity-preview button,.cart-remove button{width:32px;height:38px;padding:0;border:0;background:#f4f4f4;color:#222;cursor:pointer}
.cart-quantity-preview button:disabled,.cart-remove button:disabled{color:#999;cursor:not-allowed}
.cart-quantity-preview button:not(:disabled):hover,.cart-remove button:not(:disabled):hover{background:#e4e4e4}
.cart-quantity-preview input{width:48px;height:34px;padding:4px;border:0;text-align:center;background:#fafafa;color:#555;opacity:1;-webkit-text-fill-color:#555}
.cart-remove button{font-size:22px;border-radius:2px}
.cart-remove svg{display:block;margin:auto;width:18px;height:18px}
.cart-line-message{display:block;font-size:12px;color:#923232;max-width:220px;margin-top:6px}
.cart-reload-line{display:block;font-size:12px;margin-top:6px;background:none;border:0;padding:4px 0;color:#923232;text-decoration:underline;cursor:pointer}
[data-cart-retry][hidden]{display:none}
.cart-reload-line[hidden]{display:none}
.cart-quantity-preview input[aria-invalid="true"]{outline:1px solid #923232}
.cart-page button:focus-visible,.cart-page input:focus-visible{outline:2px solid #a73535;outline-offset:3px}
.cart-summary-title{font-size:18px;margin:24px 0 12px}
.cart-reference-count{font-weight:600;font-size:20px}
.cart-price{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.cart-financial-total{display:flex;justify-content:space-between;gap:24px;max-width:420px;padding:16px 0;border-top:1px solid #ddd;font-weight:600}
.cart-financial-summary{max-width:420px}
.cart-financial-total{margin:0;padding:12px 0;font-weight:400}
.cart-grand-total{font-weight:700;font-size:18px}
[data-cart-price-warning]:empty{display:none}
.cart-page thead th.cart-price{white-space:normal}
.cart-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cart-page-note{font-size:14px;color:#666;line-height:1.6}
.cart-page a:focus-visible,.cart-page-table-wrap:focus-visible{outline:2px solid #a73535;outline-offset:4px}
@media(max-width:760px){
.cart-page{padding:100px 0 36px}.cart-page h1{font-size:30px}
.cart-page thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cart-page table,.cart-page tbody{display:block;width:100%}
.cart-page tr{display:grid;grid-template-columns:64px minmax(0,1fr) 32px;gap:6px 12px;padding:16px 0;border-bottom:1px solid #ddd}
.cart-page td,.cart-page tbody th{display:block;padding:0;border:0;white-space:normal}
.cart-photo{grid-column:1;grid-row:1 / span 4;width:auto}
.cart-page tbody th{grid-column:2;font-weight:600}
.cart-page td[data-label]{grid-column:2}
.cart-page td[data-label="Dimension"]::before{content:"Dimension : ";color:#666}
.cart-page td[data-label="Unité de vente"]::before{content:"Unité : ";color:#666}
.cart-page td.cart-price{display:flex;justify-content:space-between;gap:12px;grid-column:1 / -1;text-align:right}
.cart-page td.cart-price span{white-space:nowrap}
.cart-page .cart-price::before{content:attr(data-label);color:#666;text-align:left;white-space:normal}
.cart-remove{grid-column:3;grid-row:1}
.cart-page-totals{gap:12px 24px}
.cart-quantity-preview button,.cart-remove button{min-height:44px}.cart-quantity-preview input{height:44px}
}
