/* ===========================================================================
   claim.css — claim intake form. Layers over flight-compensation.css (reuses
   its --fc-* variables). No inline styles (strict CSP).
   =========================================================================== */

.claim-main { max-width: 760px; }

.claim-error {
  background: rgba(248, 113, 113, 0.14);
  border: 1px solid var(--fc-cancelled);
  color: #fecaca;
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 16px;
}

.claim-form { display: flex; flex-direction: column; gap: 16px; }

.claim-step {
  border: 1px solid var(--fc-border);
  background: var(--fc-panel);
  border-radius: var(--fc-radius);
  padding: 16px 18px;
}
.claim-step legend {
  padding: 0 8px;
  font-weight: 700;
  color: var(--fc-text);
}

.claim-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.claim-grid label,
.claim-check {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 0.9rem;
  color: var(--fc-muted);
}
.claim-wide { grid-column: 1 / -1; }

.claim-form input,
.claim-form select {
  background: var(--fc-bg);
  border: 1px solid var(--fc-border);
  border-radius: 8px;
  color: var(--fc-text);
  padding: 9px 11px;
  font-size: 0.98rem;
}
.claim-form input:focus,
.claim-form select:focus { outline: 2px solid var(--fc-primary); outline-offset: 1px; }
.claim-form input[type="date"] { color-scheme: dark; }

.claim-check {
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.4;
  margin-bottom: 12px;
}
.claim-check input { flex: 0 0 auto; margin-top: 3px; }

.claim-flight-summary { font-size: 1.05rem; color: var(--fc-text); }
.claim-hint { color: var(--fc-muted); font-size: 0.88rem; margin: 0 0 10px; }

.fc-btn--ghost {
  background: transparent;
  border: 1px solid var(--fc-primary);
  color: var(--fc-primary);
  margin-top: 12px;
}

.claim-estimate { margin-top: 12px; font-size: 0.95rem; color: var(--fc-muted); }
.claim-estimate.is-yes   { color: #86efac; }
.claim-estimate.is-maybe { color: var(--fc-delayed); }
.claim-estimate.is-no    { color: var(--fc-cancelled); }

.claim-source-note { color: #86efac; font-size: 0.86rem; margin: 8px 0 0; }
.claim-source-note:empty { display: none; }

.claim-done { text-align: center; padding: 32px 0; }
.claim-done h1 { color: #86efac; }
.claim-warn { color: var(--fc-delayed); }

/* Shown when our data records no compensable disruption for the chosen flight and
   the passenger has to tell us what happened (denied boarding, a delay we missed). */
.claim-declare {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid var(--fc-border);
  border-left: 3px solid var(--fc-primary);
  border-radius: var(--fc-radius);
  background: var(--fc-panel);
}

@media (max-width: 560px) {
  .claim-grid { grid-template-columns: 1fr; }
}

/* success-fee breakdown (pay-commission.php) */
.fee-lines { max-width: 30rem; margin: 0 auto 20px; }
.fee-lines > div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 4px; border-bottom: 1px solid var(--fc-border); }
.fee-lines dt { margin: 0; color: var(--fc-muted); }
.fee-lines dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fee-lines__total { border-bottom: 0 !important; font-weight: 700; }
.fee-lines__total dt, .fee-lines__total dd { color: var(--fc-text); font-size: 1.06rem; }
