/* ============================================================
   SQUIDTRONIC — Cart Page
   Card-based layout, shipping progress, sticky CTA
   ============================================================ */

/* ---------- Cart Layout ---------- */
.cart-page{max-width:960px;margin:0 auto}
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:24px;align-items:start}
@media(max-width:768px){.cart-layout{grid-template-columns:1fr}}

/* ---------- Shipping Progress Bar ---------- */
.ship-progress{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:24px}
.ship-progress__track{height:8px;background:var(--c-border);border-radius:var(--radius-full);overflow:hidden;margin-bottom:8px}
.ship-progress__bar{height:100%;background:linear-gradient(90deg,var(--c-cart-green),#22c55e);border-radius:var(--radius-full);transition:width .4s ease}
.ship-progress__bar--full{background:var(--c-cart-green)}
.ship-progress__label{font-size:var(--text-sm);color:var(--c-text-mid);display:flex;justify-content:space-between;align-items:center}
.ship-progress__label strong{color:var(--c-cart-green);font-weight:700}
.ship-progress__label b{color:var(--c-info);font-weight:700}
.ship-progress--complete{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.04)}
.ship-progress--complete .ship-progress__label{color:var(--c-cart-green);font-weight:600}

/* ---------- Cart Cards ---------- */
.cart-cards{display:flex;flex-direction:column;gap:12px}
.cart-card{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;background:var(--c-bg-white);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:16px 20px;transition:box-shadow .15s}
.cart-card:hover{box-shadow:var(--shadow-md)}
.cart-card__img{width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}
.cart-card__img .p-card__img-placeholder{border-radius:var(--radius-md)}
.cart-card__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.cart-card__name{font-size:var(--text-base);font-weight:600;color:var(--c-text);text-decoration:none;line-height:1.3}
.cart-card__name:hover{color:var(--c-info)}
.cart-card__meta{font-size:var(--text-xs);color:var(--c-text-dim)}
.cart-card__sku{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--c-text-light)}
.cart-card__savings{font-size:var(--text-xs);color:var(--c-cart-green);font-weight:600;display:flex;align-items:center;gap:4px}
.cart-card__right{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.cart-card__price{font-size:var(--text-lg);font-weight:700;font-family:var(--font-mono);white-space:nowrap}
.cart-card__unit-price{font-size:var(--text-xs);color:var(--c-text-dim);font-family:var(--font-mono)}
.cart-card__controls{display:flex;align-items:center;gap:8px}

/* ---------- Quantity Controls ---------- */
.cart-qty{display:flex;align-items:center;border:1px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden;width:fit-content}
.cart-qty__btn{width:32px;height:36px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-base);background:var(--c-bg);transition:background .15s;border:none;cursor:pointer;color:var(--c-text)}
.cart-qty__btn:hover{background:var(--c-border)}
.cart-qty__input{width:44px;height:36px;text-align:center;border:none;border-left:1px solid var(--c-border);border-right:1px solid var(--c-border);font-weight:600;font-size:var(--text-sm);background:var(--c-bg-white)}
.cart-qty__input:focus{outline:none}

/* ---------- Remove Button ---------- */
.cart-remove-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--c-text-light);transition:color .15s,background .15s;border:none;background:none;cursor:pointer}
.cart-remove-btn:hover{color:var(--c-danger);background:rgba(239,68,68,.08)}

/* ---------- Cart Actions ---------- */
.cart-actions{display:flex;justify-content:space-between;align-items:center;padding:16px 0}
.cart-continue{font-size:var(--text-sm);font-weight:600;color:var(--c-info)}
.cart-continue:hover{color:var(--c-accent-dark)}
.cart-clear{font-size:var(--text-sm);font-weight:500;color:var(--c-text-light);border:none;background:none;cursor:pointer}
.cart-clear:hover{color:var(--c-danger)}

/* ---------- Cart Summary ---------- */
.cart-summary{background:var(--c-bg-white);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:24px;position:sticky;top:calc(var(--header-h) + var(--catnav-h) + 16px)}
.cart-summary__title{font-size:var(--text-lg);font-weight:700;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--c-border)}
.cart-summary__row{display:flex;justify-content:space-between;padding:8px 0;font-size:var(--text-sm);color:var(--c-text-mid)}
.cart-summary__row--total{padding-top:16px;margin-top:8px;border-top:2px solid var(--c-text);font-size:var(--text-xl);font-weight:800;color:var(--c-text)}
.cart-summary__checkout{display:block;width:100%;padding:14px;margin-top:20px;border-radius:var(--radius-md);background:var(--c-cart-green);color:#fff;font-size:var(--text-lg);font-weight:700;text-align:center;transition:background .15s;border:none;text-decoration:none;cursor:pointer}
.cart-summary__checkout:hover{background:var(--c-cart-hover)}
.cart-summary__continue{display:block;text-align:center;margin-top:12px;font-size:var(--text-sm);color:var(--c-info);font-weight:500}
.cart-summary__free-ship{font-size:var(--text-xs);color:var(--c-info);font-weight:600;margin-top:8px;padding:6px 10px;background:rgba(59,130,246,.06);border-radius:var(--radius-md);text-align:center}
.cart-summary__divider{height:1px;background:var(--c-border);margin:12px 0}
.cart-summary__secure{font-size:var(--text-xs);color:var(--c-text-light);display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px}
.cart-summary__perks{display:flex;flex-direction:column;gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid var(--c-border)}
.cart-summary__perk{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--c-text-mid)}
.cart-summary__perk svg{width:14px;height:14px;color:var(--c-cart-green);flex-shrink:0}

/* ---------- Sticky Mobile CTA ---------- */
.cart-sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--c-bg-white);border-top:1px solid var(--c-border);padding:12px 16px;z-index:90;box-shadow:0 -4px 12px rgba(0,0,0,.08)}
.cart-sticky-cta__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:960px;margin:0 auto}
.cart-sticky-cta__total{font-size:var(--text-lg);font-weight:800}
.cart-sticky-cta__btn{padding:12px 28px;border-radius:var(--radius-md);background:var(--c-cart-green);color:#fff;font-size:var(--text-base);font-weight:700;text-decoration:none;white-space:nowrap;transition:background .15s}
.cart-sticky-cta__btn:hover{background:var(--c-cart-hover)}

/* ---------- Cart Empty ---------- */
.cart-empty{text-align:center;padding:60px 20px;background:var(--c-bg-white);border:1px solid var(--c-border);border-radius:var(--radius-lg)}
.cart-empty__icon{font-size:4rem;margin-bottom:16px;opacity:.3}
.cart-empty__title{font-size:var(--text-2xl);font-weight:700;margin-bottom:8px}
.cart-empty__desc{color:var(--c-text-dim);margin-bottom:24px}
.cart-empty h2{font-size:var(--text-2xl);font-weight:700;margin:16px 0 8px}
.cart-empty p{color:var(--c-text-dim);margin-bottom:24px}

/* ---------- Responsive ---------- */
@media(max-width:768px){
  .cart-layout{grid-template-columns:1fr}
  .cart-card{grid-template-columns:64px 1fr;gap:12px;padding:14px}
  .cart-card__right{flex-direction:row;align-items:center;gap:12px;grid-column:1/-1;justify-content:space-between;padding-top:8px;border-top:1px solid var(--c-border-light)}
  .cart-card__img{width:64px;height:64px}
  .cart-sticky-cta{display:block;bottom:64px}
  .cart-summary{position:static}
}

/* ---------- Legacy Compat (cart-table) ---------- */
.cart-table-wrap{overflow-x:auto}
.cart-table{width:100%;border-collapse:collapse;background:var(--c-bg-white);border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden}
.cart-table thead{background:var(--c-bg)}
.cart-table th{padding:12px 16px;text-align:left;font-size:var(--text-xs);font-weight:700;color:var(--c-text-dim);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--c-border)}
.cart-table td{padding:14px 16px;border-bottom:1px solid var(--c-border-light);vertical-align:middle}
.cart-table tr:last-child td{border-bottom:none}
.cart-row__product{display:flex;align-items:center;gap:12px;min-width:240px}
.cart-row__img{width:64px;height:64px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden}
.cart-row__details{display:flex;flex-direction:column;gap:2px}
.cart-row__name{font-size:var(--text-sm);font-weight:600;color:var(--c-text)}
.cart-row__sku{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--c-text-light)}
.cart-row__meta{font-size:var(--text-xs);color:var(--c-text-dim)}
.cart-row__price{font-weight:600;font-family:var(--font-mono);white-space:nowrap}
.cart-row__subtotal{font-weight:700;font-family:var(--font-mono);white-space:nowrap}
.cart-row__remove{text-align:center}
