
/* ════════════════════════════════════════════════════════════════
   Variables CSS — à surcharger au besoin
   ════════════════════════════════════════════════════════════════ */
:root {
  --ep-green:     #128C7E;
  --ep-green2:    #075E54;
  --ep-gold:      #F4A724;
  --ep-dark:      #0f172a;
  --ep-gray:      #64748b;
  --ep-light-bg:  #f8fafc;
  --ep-border:    #e2e8f0;
  --ep-radius:    .75rem;
  --ep-shadow:    0 4px 24px rgba(0,0,0,.07);
  --ep-font:      'Inter', 'Outfit', system-ui, sans-serif;
}

/* ════════════════════════ PANIER ═════════════════════════════════ */

.cart-page { max-width: 1000px; margin: 0 auto; padding: 2.5rem 1.5rem; }
.cart-page h1 { font-size: 1.8rem; font-weight: 800; color: var(--ep-dark); margin: 0 0 2rem; }
.cart-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 2rem; }
@media (max-width: 768px) { .cart-layout { grid-template-columns: 1fr; } }

.cart-items { background: #fff; border: 1px solid var(--ep-border); border-radius: var(--ep-radius); overflow: hidden; }
.cart-item { display: flex; gap: 1.25rem; padding: 1.25rem; border-bottom: 1px solid var(--ep-border); align-items: center; }
.cart-item:last-child { border-bottom: none; }
.cart-item__img { width: 72px; height: 72px; border-radius: .6rem; object-fit: cover; background: var(--ep-light-bg); flex-shrink: 0; }
.cart-item__name { font-weight: 700; color: var(--ep-dark); margin-bottom: .25rem; }
.cart-item__price { color: var(--ep-green); font-weight: 700; }
.cart-item__qty { display: flex; align-items: center; gap: .5rem; margin-left: auto; }
.qty-btn { width: 28px; height: 28px; border: 1px solid var(--ep-border); border-radius: .4rem;
  background: #fff; cursor: pointer; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.qty-btn:hover { background: var(--ep-light-bg); }
.cart-item__remove { color: #ef4444; background: none; border: none; cursor: pointer; font-size: 1.2rem; margin-left: .75rem; }

.cart-summary { background: var(--ep-light-bg); border: 1px solid var(--ep-border);
  border-radius: var(--ep-radius); padding: 1.5rem; position: sticky; top: 1rem; }
.cart-summary h2 { font-size: 1.1rem; font-weight: 700; color: var(--ep-dark); margin: 0 0 1rem; border-bottom: 1px solid var(--ep-border); padding-bottom: .75rem; }
.cart-summary-row { display: flex; justify-content: space-between; font-size: .9rem; margin-bottom: .5rem; }
.cart-summary-total { font-size: 1.2rem; font-weight: 800; border-top: 2px solid var(--ep-border); padding-top: .75rem; margin-top: .5rem; }
.cart-empty { text-align: center; padding: 4rem; color: var(--ep-gray); }
.cart-empty__icon { font-size: 4rem; margin-bottom: 1rem; opacity: .4; }
