.checkout-layout {
  align-items: start;
}

.cart-panel,
.checkout-form {
  padding: clamp(1.1rem, 3vw, 1.75rem);
}

.cart-panel {
  position: sticky;
  top: 110px;
}

.panel-heading,
.cart-total-row,
.cart-item-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.panel-heading {
  margin-bottom: 1rem;
}

.panel-heading h2,
.checkout-form h2 {
  margin-bottom: 0;
}

.cart-item {
  border-top: 1px solid var(--color-border);
  padding: 1rem 0;
}

.cart-item:first-child {
  border-top: 0;
}

.cart-item h3 {
  margin-bottom: 0.35rem;
}

.cart-item-detail {
  margin-bottom: 0.35rem;
  color: var(--color-muted);
  font-size: 0.9rem;
}

.cart-item-price {
  color: var(--color-tan);
  font-weight: 800;
}

.cart-total-row {
  border-top: 1px solid var(--color-border);
  margin-top: 1rem;
  padding-top: 1rem;
  color: var(--color-tan);
  font-size: 1.2rem;
}

.empty-cart {
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-medium);
  padding: 1rem;
  color: var(--color-muted);
}

.checkout-form {
  display: grid;
  gap: 1rem;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.checkout-form label {
  display: grid;
  gap: 0.45rem;
  color: var(--color-tan);
  font-weight: 700;
}

.checkout-form input::placeholder,
.checkout-form textarea::placeholder {
  color: rgba(255, 242, 221, 0.58);
  font-size: 0.95rem;
  font-weight: 600;
}

.order-output {
  display: grid;
  gap: 1rem;
  padding: 1rem;
}

.order-output[hidden] {
  display: none;
}

.order-output textarea {
  min-height: 260px;
  color: var(--color-cream);
}

@media (max-width: 860px) {
  .cart-panel {
    position: static;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }
}
