/* cart.css */

.ddp-banner {
  background: var(--color-primary-light);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  margin-top: var(--space-3);
}
.ddp-banner h3 { margin-bottom: var(--space-2); color: var(--color-primary); }
.ddp-banner ul {
  list-style: none;
  margin: var(--space-2) 0;
}
.ddp-banner li { padding: 2px 0; }
.text-warning { color: var(--color-warning); }

.address-section { background: white; }
.address-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-3);
  margin-top: var(--space-3);
}
.address-form input,
.address-form select { width: 100%; }
.address-form input:nth-child(1),
.address-form select:nth-child(1) { grid-column: 1 / -1; }

.cart-layout {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: var(--space-5);
  margin-bottom: var(--space-7);
}

.cart-items-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.cart-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--space-3);
  align-items: center;
}

.cart-item-name { font-weight: 600; }
.cart-item-meta { font-size: 0.875rem; color: var(--color-text-secondary); }
.cart-item-price { color: var(--color-text-secondary); margin-top: var(--space-1); }

.cart-item-controls {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.cart-item-controls input { width: 70px; text-align: center; }
.cart-item-subtotal { font-weight: 600; min-width: 80px; text-align: right; }

.billing-note {
  background: white;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
}

.summary-card {
  position: sticky;
  top: 80px;
  height: fit-content;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  padding: var(--space-2) 0;
}
.summary-divider {
  height: 1px;
  background: var(--color-border);
  margin: var(--space-2) 0;
}
.total-row { font-size: 1.25rem; font-weight: 700; }
.total-row span:last-child { color: var(--color-price); }

.shipping-options {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.shipping-option {
  display: flex;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--transition-fast);
}
.shipping-option:hover { border-color: var(--color-primary); }
.shipping-option.selected {
  border-color: var(--color-primary);
  background: var(--color-primary-light);
}
.shipping-option input[type="radio"] { margin-top: 4px; }
.shipping-option-name { font-weight: 500; }

.shipping-unavailable {
  padding: var(--space-3);
  background: #FFF3E0;
  border: 1px solid var(--color-warning);
  border-radius: var(--radius-sm);
  color: var(--color-warning);
}

.contact-buttons {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

@media (max-width: 768px) {
  .cart-layout { grid-template-columns: 1fr; }
  .address-form { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 1fr; }
  .cart-item-controls { justify-content: space-between; }
}