.page-title { margin: 0 0 6px; }
.page-subtitle { margin: 0 0 18px; color: var(--muted); }

.form-card { padding: 18px; }
.form-grid { display: grid; gap: 14px; }

.field label { display: block; font-weight: 600; margin-bottom: 6px; }
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="number"],
.field textarea,
.field select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 12px;
  background: rgba(0,0,0,0.20);
  color: inherit;
}

.field textarea { min-height: 88px; resize: vertical; }

.field-row { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 860px) {
  .field-row { grid-template-columns: 1fr 1fr; }
}

.radio-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.radio-row label { font-weight: 500; margin: 0; display: inline-flex; align-items: center; gap: 8px; }

.section-title { margin: 18px 0 10px; font-size: 1.05rem; }

.notice-warning {
  border-left: 4px solid rgba(255, 82, 82, 0.85);
  background: rgba(255, 82, 82, 0.12);
  padding: 12px 12px;
  border-radius: 12px;
  color: rgba(255,255,255,0.95);
}

.hidden { display: none !important; }

.mixed-grid { display: grid; gap: 12px; }
@media (min-width: 860px) {
  .mixed-grid { grid-template-columns: repeat(4, 1fr); }
}

.mixed-quantities.is-disabled{opacity:.55}

.mixed-quantities.is-disabled h3{opacity:.85}

.actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 8px; }
.small-muted { color: var(--muted); font-size: 0.92rem; }

.toast {
  margin-top: 12px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(0, 180, 120, 0.12);
  border-left: 4px solid rgba(0, 180, 120, 0.75);
}

/* Clear visual separation between sections */
.section-block {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 18px;
  background: rgba(0, 0, 0, 0.18);
}

.section-heading {
  margin: 0 0 14px;
  padding: 0 0 12px;
  font-size: 1.15rem;
  letter-spacing: 0.2px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
