/* Carrello e Checkout */

.page-lead { margin: 0 0 var(--space-10); font-size: var(--text-lg); color: var(--color-text-muted); }

.carrello-layout {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 768px) {
  .carrello-layout { grid-template-columns: 1fr 20rem; align-items: start; }
}

.carrello-items { display: flex; flex-direction: column; gap: var(--space-4); }

.carrello-item {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: var(--space-4);
  align-items: center;
}
@media (max-width: 640px) {
  .carrello-item { grid-template-columns: 1fr; text-align: left; }
}
.carrello-item__info h3 { margin: 0 0 var(--space-1); font-size: var(--text-lg); }
.carrello-item__info .badge { margin-right: var(--space-2); }
.carrello-item__meta { margin: var(--space-2) 0 0; font-size: var(--text-sm); color: var(--color-text-muted); }
.carrello-item__prezzo { font-size: var(--text-xl); font-weight: 600; color: var(--color-primary); }

.carrello-summary h3 { margin: 0 0 var(--space-4); font-size: var(--text-lg); }
.summary-rows {
  display: grid;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  font-size: var(--text-sm);
}
.summary-rows dt { color: var(--color-text-muted); font-weight: 400; }
.summary-rows dd { margin: 0; text-align: right; }
.summary-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: var(--space-4) 0;
  border-top: 1px solid var(--color-border);
  font-size: var(--text-lg);
}
.summary-total strong { font-size: var(--text-2xl); color: var(--color-primary); }
.summary-note {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin: 0 0 var(--space-4) !important;
}
.carrello-summary .btn { margin-bottom: var(--space-3); }
.carrello-summary .btn-block { width: 100%; }

.carrello-vuoto {
  text-align: center;
  padding: var(--space-16);
  background: var(--color-surface-muted);
  border-radius: var(--radius-lg);
}
.carrello-vuoto.is-hidden { display: none; }
.carrello-vuoto p { margin: 0 0 var(--space-4); }

/* Checkout */
.checkout-grid {
  display: grid;
  gap: var(--space-8);
}
@media (min-width: 768px) {
  .checkout-grid { grid-template-columns: 1fr 20rem; align-items: start; }
}
.checkout-main .card h3 { font-size: var(--text-lg); }
.form-grid {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: 1fr;
}
.form-grid label {
  font-size: var(--text-sm);
  font-weight: 500;
  color: var(--color-primary);
}
.coupon-row {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-4);
}
.coupon-row .input { flex: 1; }
.checkout-items {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.checkout-items li { padding: var(--space-1) 0; border-bottom: 1px solid var(--color-border); }
