/* ============================================================
   Pay in Parts in the booking drawer and its dialog (js/pay-in-parts-
   checkout.js, 2026-10-01). A new section inside the drawer's foot and a
   sheet on the ride-back dialog's pattern (.rr); the home page's desktop
   design is otherwise untouched. The group's black and white, from
   styles/main.css's tokens.
   ============================================================ */
.pip-opt { margin: 0 0 0.875rem; padding: 0.875rem 1rem; border: 1px solid var(--border); border-radius: 12px; }
.pip-opt[hidden], .pip-dlg [hidden] { display: none; }
.pip-h { display: block; margin: 0 0 0.375rem; }
.pip-choice { display: flex; align-items: flex-start; gap: 0.625rem; min-height: 2.75rem; padding: 0.5rem 0; font-size: 0.9375rem; line-height: 1.45; cursor: pointer; }
.pip-choice input, .pip-freq input { flex: none; width: 1.125rem; height: 1.125rem; margin: 2px 0 0; accent-color: var(--accent); }
.pip-sub { margin: 2px 0 0; font-size: 0.8438rem; color: var(--muted); }
.pip-sub a { color: var(--text); }
.pip-freqs { display: grid; gap: 0.5rem; margin-top: 0.75rem; }
.pip-freqs > .when-cap { margin: 0; }
.pip-freq {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 0.25rem 0.75rem;
  min-height: 3.5rem; padding: 0.625rem 0.875rem; border: 1px solid var(--border-control, var(--border)); border-radius: 12px; cursor: pointer;
}
.pip-freq:has(input:checked) { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); background: var(--surface); }
.pip-freq.is-off { color: var(--muted); cursor: default; }
.pip-freq-t { display: grid; min-width: 0; }
.pip-freq-n { font-weight: 600; font-size: 0.9375rem; }
.pip-freq-c { font-size: 0.7813rem; color: var(--muted); }
.pip-freq-p { font-size: 0.9375rem; font-weight: 600; white-space: nowrap; }
.pip-total { display: flex; justify-content: space-between; align-items: baseline; gap: 0.75rem; margin-top: 0.75rem; padding: 0.625rem 0.875rem; border-radius: 10px; background: var(--surface); font-weight: 600; }
.pip-total b { font-size: 1.1875rem; font-variant-numeric: tabular-nums; }
.pip-next { margin: 0.625rem 0 0; font-size: 0.8438rem; }
.pip-terms {
  max-height: 16.25rem; overflow-y: auto; white-space: pre-wrap; overflow-wrap: anywhere;
  padding: 0.75rem 0.875rem; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); font-size: 0.8438rem; line-height: 1.55;
}
.pip-terms:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.pip-main { display: grid; gap: 0.625rem; }
.pip-main .when-cap { margin: 0.25rem 0 0; }
.pip-main .consent { margin-top: 0.25rem; }
@media (max-width: 599.98px) {
  .pip-freq { grid-template-columns: auto minmax(0, 1fr); }
  .pip-freq-p { grid-column: 2; }
}
