/* Copyright (c) 2026 Donnie V. Savage, dSavage Networks */
/* Licensed for use by No Rules Riders. All Rights Reserved. */
.cart-page { display:grid; gap:18px; }
.cart-page-header { display:grid; gap:4px; }
.cart-grid { display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:20px; align-items:start; }
.cart-items-panel { display:grid; gap:0; padding:16px; border:1px solid var(--nrr-color-line); border-radius:18px; background:var(--nrr-color-white); color:var(--nrr-color-dark); }
.cart-items-header { display:flex; justify-content:space-between; gap:16px; align-items:end; padding-bottom:12px; border-bottom:1px solid var(--nrr-color-line); }
.cart-items-header p { margin:4px 0 0; color:var(--nrr-text-muted-dark); }
.cart-items-price-heading { color:var(--nrr-text-muted-dark); }
.cart-item-list { display:grid; }
.cart-item-row { display:grid; grid-template-columns:32px 150px minmax(0, 1fr) max-content; gap:16px; align-items:start; padding:18px 0; border-bottom:1px solid var(--nrr-color-line); }
.cart-item-row:last-child { border-bottom:0; }
.cart-item-select { display:grid; place-items:center; width:24px; height:24px; margin-top:46px; border-radius:5px; background:var(--nrr-action-read-bg); color:var(--nrr-color-white); font-weight:900; line-height:1; }
.cart-item-image { display:block; }
.cart-item-image img { display:block; width:150px; height:112px; object-fit:cover; border-radius:12px; background:var(--nrr-color-surface); }
.cart-item-details { min-width:0; display:grid; gap:7px; }
.cart-item-details h3 { margin:0; font-size:1.05rem; line-height:1.3; }
.cart-item-details h3 a { color:inherit; text-decoration:none; }
.cart-item-details h3 a:hover, .cart-item-details h3 a:focus-visible { text-decoration:underline; }
.cart-stock { font-weight:800; }
.cart-stock--in { color:var(--nrr-action-read-bg); }
.cart-item-meta { color:var(--nrr-text-muted-dark); font-size:.94rem; }
.cart-item-controls { display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin-top:4px; }
.cart-item-controls label { display:flex; gap:7px; align-items:center; margin:0; font-weight:800; }
.cart-item-price { display:grid; gap:3px; justify-items:end; text-align:right; font-size:1.05rem; }
.cart-item-price span { color:var(--nrr-text-muted-dark); font-size:.9rem; }
.cart-summary { position:sticky; top:96px; display:grid; gap:12px; padding:16px; border:1px solid var(--nrr-color-line); border-radius:18px; background:var(--nrr-color-white); color:var(--nrr-color-dark); }
.cart-summary-note { margin:0; color:var(--nrr-text-muted-dark); font-size:.95rem; line-height:1.35; }
.cart-empty-state { display:grid; gap:10px; max-width:620px; padding:20px; border:1px solid var(--nrr-color-line); border-radius:18px; background:var(--nrr-color-white); color:var(--nrr-color-dark); }
.cart-empty-state h2, .cart-empty-state p { margin:0; }
.cart-actions { margin-top:14px; }
.cart-item-remove-button { min-height:36px; padding:6px 12px; }
@media (max-width: 860px) {
    .cart-grid { grid-template-columns:1fr; }
    .cart-summary { position:static; }
}
@media (max-width: 640px) {
    .cart-items-header { align-items:start; }
    .cart-items-price-heading { display:none; }
    .cart-item-row { grid-template-columns:28px 92px minmax(0, 1fr); gap:10px; }
    .cart-item-image img { width:92px; height:92px; }
    .cart-item-select { margin-top:34px; }
    .cart-item-price { grid-column:3; justify-items:start; text-align:left; }
}
.cart-item-row { scroll-margin-top:120px; }
.cart-item-row:target, .cart-item-row:focus-within { background:var(--nrr-alpha-green-08); border-radius:12px; }
