/* v9.0.0-beta617: dark skin for the checkout UI (site-review finding #1 —
   design parity with the rest of the site, same treatment ar-dark.css gives
   the results page). The .ohcv2- and .ohcfm- component styles are printed
   inline with the shortcode in their original light palette; these
   overrides are scoped under body.ohfly-blog (set only by the checkout
   template_redirect wrap in feature-home-flythrough.php) and win on
   selector-count specificity + load order. Mapping: #fff/#f5f7fb →
   --panel/--bg · slate borders (#e2e8f0/#e6eaf0/#eef2f7/#cbd5e1/#f1f5f9) →
   --line · #0f172a ink → --ink · slate text (#64748b/#475569/#94a3b8/
   #1e293b) → --muted · #c89464 gold → --accent · dark buttons → accent
   buttons (matches the fly .btn / ar-dark's .ohar-cart__continue). */

body.ohfly-blog .ohcv2-section { background: var(--bg); color: var(--ink); }
body.ohfly-blog .ohcv2-steps { color: var(--muted); }
body.ohfly-blog .ohcv2-step__dot { background: rgba(255,255,255,.08); color: var(--muted); }
body.ohfly-blog .ohcv2-step--active { color: var(--ink); }
body.ohfly-blog .ohcv2-step--active .ohcv2-step__dot { background: var(--accent); color: var(--accent-ink); }

body.ohfly-blog .ohcv2-eyebrow { color: var(--accent); }
body.ohfly-blog .ohcv2-h1 { color: var(--ink); }
body.ohfly-blog .ohcv2-h1-prop { color: var(--accent); }
body.ohfly-blog .ohcv2-pagehead__meta { color: var(--muted); }
body.ohfly-blog .ohcv2-pagehead__edit { color: var(--accent); }

body.ohfly-blog .ohcv2-card { background: var(--panel); border-color: var(--line); box-shadow: none; }
body.ohfly-blog .ohcv2-step-circle { background: var(--accent); color: var(--accent-ink); }
body.ohfly-blog .ohcv2-card__title { color: var(--ink); }
body.ohfly-blog .ohcv2-card__sub { color: var(--muted); }

body.ohfly-blog .ohcv2-field__lbl { color: var(--muted); }
body.ohfly-blog .ohcv2-field input,
body.ohfly-blog .ohcv2-field textarea,
body.ohfly-blog .ohcv2-field select {
  background: rgba(255,255,255,.04); border-color: var(--line); color: var(--ink);
}
body.ohfly-blog .ohcv2-field input:focus,
body.ohfly-blog .ohcv2-field textarea:focus,
body.ohfly-blog .ohcv2-field select:focus { outline-color: var(--accent); border-color: var(--accent); }
body.ohfly-blog .ohcv2-phone-row { border-color: var(--line); }
body.ohfly-blog .ohcv2-phone-cc { background: rgba(255,255,255,.06); color: var(--ink); }
body.ohfly-blog .ohcv2-toggle small { color: var(--muted); }

body.ohfly-blog .ohcv2-rate { border-color: var(--line); }
body.ohfly-blog .ohcv2-rate--active, body.ohfly-blog .ohcv2-rate:has(input:checked) { border-color: var(--accent); background: rgba(255,255,255,.04); }
body.ohfly-blog .ohcv2-rate__name { color: var(--ink); }
body.ohfly-blog .ohcv2-rate__pill--rec  { background: rgba(34,197,94,.16); color: #4ade80; }
body.ohfly-blog .ohcv2-rate__pill--save { background: rgba(251,191,36,.18); color: #fbbf24; }
body.ohfly-blog .ohcv2-rate__price { color: var(--muted); }
body.ohfly-blog .ohcv2-rate__price b { color: var(--ink); }
body.ohfly-blog .ohcv2-rate__sub { color: var(--muted); }

body.ohfly-blog .ohcv2-extras-group { border-top-color: var(--line); }
body.ohfly-blog .ohcv2-extras-group__lbl { color: var(--ink); }
body.ohfly-blog .ohcv2-extras-group__hint { color: var(--muted); }
body.ohfly-blog .ohcv2-extra { background: var(--panel); border-color: var(--line); }
body.ohfly-blog .ohcv2-extra:hover { border-color: var(--accent); background: rgba(255,255,255,.04); }
body.ohfly-blog .ohcv2-extra:has(input:checked) { border-color: var(--accent); background: rgba(255,255,255,.04); }
body.ohfly-blog .ohcv2-extra__title { color: var(--ink); }
body.ohfly-blog .ohcv2-extra__sub { color: var(--muted); }
body.ohfly-blog .ohcv2-extra__price { color: var(--ink); }
body.ohfly-blog .ohcv2-extra__price--free { color: #4ade80; }

body.ohfly-blog .ohcv2-timeslot { background: var(--panel); border-color: var(--line); }
body.ohfly-blog .ohcv2-timeslot:hover { border-color: var(--accent); }
body.ohfly-blog .ohcv2-timeslot:has(input:checked) { border-color: var(--accent); background: rgba(255,255,255,.04); }
body.ohfly-blog .ohcv2-timeslot--included:has(input:checked) { border-color: #4ade80; background: rgba(34,197,94,.1); }
body.ohfly-blog .ohcv2-timeslot__time { color: var(--ink); }
body.ohfly-blog .ohcv2-timeslot__price { color: var(--ink); }
body.ohfly-blog .ohcv2-timeslot__price--inc { color: #4ade80; }

body.ohfly-blog .ohcv2-extra-row { background: var(--panel); border-color: var(--line); }
body.ohfly-blog .ohcv2-extra-row__img { background: rgba(255,255,255,.06); }
body.ohfly-blog .ohcv2-extra-row__title { color: var(--ink); }
body.ohfly-blog .ohcv2-extra-row__pop { background: rgba(251,191,36,.18); color: #fbbf24; }
body.ohfly-blog .ohcv2-extra-row__desc { color: var(--muted); }
body.ohfly-blog .ohcv2-extra-row__price { color: var(--ink); }
body.ohfly-blog .ohcv2-extra-row__variant-row { border-top-color: var(--line); }
body.ohfly-blog .ohcv2-extra-row__variant-name { color: var(--ink); }
body.ohfly-blog .ohcv2-extra-row__variant-price { color: var(--ink); }
body.ohfly-blog .ohcv2-extra-row__price-from { color: var(--muted); }
body.ohfly-blog .ohcv2-extra-row__choice { color: var(--muted); }
body.ohfly-blog .ohcv2-extra-row__choice-lbl { color: var(--muted); }
body.ohfly-blog .ohcv2-extra-row__variant,
body.ohfly-blog .ohcv2-extra-row__date {
  color: var(--ink); border-color: var(--line); background: rgba(255,255,255,.04);
}
body.ohfly-blog .ohcv2-extra-row__variant:focus,
body.ohfly-blog .ohcv2-extra-row__date:focus { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(232,184,106,.2); }
body.ohfly-blog .ohcv2-extra-row__variant--missing,
body.ohfly-blog .ohcv2-extra-row__date--missing { border-color: #fbbf24; background: rgba(251,191,36,.08); }
body.ohfly-blog .ohcv2-qty { background: rgba(255,255,255,.06); }
body.ohfly-blog .ohcv2-qty__btn { background: var(--panel); color: var(--ink); }
body.ohfly-blog .ohcv2-qty__btn:hover { background: rgba(255,255,255,.12); }

body.ohfly-blog .ohcv2-cancel-banner { background: rgba(34,197,94,.14); color: #4ade80; }
body.ohfly-blog .ohcv2-cancel-banner--nonrefund { background: rgba(251,191,36,.16); color: #fbbf24; }
body.ohfly-blog .ohcv2-summary__cancel.ohcv2-cancel-nonrefund { color: #fbbf24; }

body.ohfly-blog .ohcv2-stripe { background: var(--panel); border-color: var(--line); }
body.ohfly-blog .ohcv2-stripe-error { color: #f87171; }
body.ohfly-blog .ohcv2-security { color: var(--muted); }
body.ohfly-blog .ohcv2-coupon summary { color: var(--accent); }
body.ohfly-blog .ohcv2-coupon__row input { border-color: var(--line); background: rgba(255,255,255,.04); color: var(--ink); }
body.ohfly-blog .ohcv2-coupon__apply { background: var(--accent); color: var(--accent-ink); }
body.ohfly-blog .ohcv2-coupon__msg { color: var(--muted); }
body.ohfly-blog .ohcv2-pay-btn { background: var(--accent); color: var(--accent-ink); }
body.ohfly-blog .ohcv2-pay-btn:hover { filter: brightness(1.08); background: var(--accent); color: var(--accent-ink); }

body.ohfly-blog .ohcv2-next { background: rgba(255,255,255,.04); color: var(--muted); }
body.ohfly-blog .ohcv2-next__eyebrow { color: var(--accent); }
body.ohfly-blog .ohcv2-next__n { background: var(--accent); color: var(--accent-ink); }
body.ohfly-blog .ohcv2-next__steps b { color: var(--ink); }

body.ohfly-blog .ohcv2-summary { background: var(--panel); border-color: var(--line); box-shadow: none; }
body.ohfly-blog .ohcv2-summary__lbl { color: var(--muted); }
body.ohfly-blog .ohcv2-summary__edit { color: var(--accent); }
body.ohfly-blog .ohcv2-summary__room { border-bottom-color: var(--line); }
body.ohfly-blog .ohcv2-summary__region { color: #fbbf24; background: rgba(251,191,36,.16); }
body.ohfly-blog .ohcv2-summary__room-name { color: var(--ink); }
body.ohfly-blog .ohcv2-summary__room-prop { color: var(--muted); }
body.ohfly-blog .ohcv2-summary__room-dates { color: var(--muted); }
body.ohfly-blog .ohcv2-summary__line { color: var(--ink); }
body.ohfly-blog .ohcv2-summary__line-muted { color: #4ade80; }
body.ohfly-blog .ohcv2-summary__line--muted { color: var(--muted); }
body.ohfly-blog .ohcv2-summary__save { background: rgba(34,197,94,.16); color: #4ade80; }
body.ohfly-blog .ohcv2-summary__total { border-top-color: var(--line); }
body.ohfly-blog .ohcv2-summary__total > span:first-child { color: var(--ink); }
body.ohfly-blog .ohcv2-summary__total-amt { color: var(--ink); }
body.ohfly-blog .ohcv2-summary__per { color: var(--muted); }
body.ohfly-blog .ohcv2-summary__cancel { background: rgba(34,197,94,.14); color: #4ade80; }
body.ohfly-blog .ohcv2-summary__trust { border-top-color: var(--line); }
body.ohfly-blog .ohcv2-summary__trust-lbl { color: var(--muted); }
body.ohfly-blog .ohcv2-summary__trust li { color: var(--muted); }
body.ohfly-blog .ohcv2-summary__trust b { color: var(--ink); }

@media (max-width: 980px) {
  body.ohfly-blog .ohcv2-mobile-pay { background: var(--panel); border-top-color: var(--line); box-shadow: none; }
  body.ohfly-blog .ohcv2-mobile-pay__total { color: var(--ink); }
  body.ohfly-blog .ohcv2-mobile-pay__sub { color: var(--muted); }
  body.ohfly-blog .ohcv2-mobile-pay__btn { background: var(--accent); color: var(--accent-ink); }
}

/* ── Confirmation / receipt page (.ohcfm-*) — kept mostly light-neutral on
   purpose (a receipt reads as "official" on a clean card), but the page
   background and outer chrome still need to match so it doesn't look like
   a different site once the guest has paid. */
body.ohfly-blog .ohcfm__hero { background: linear-gradient(135deg, var(--panel) 0%, rgba(255,255,255,.03) 60%, var(--panel) 100%); }
body.ohfly-blog .ohcfm__host-tel { border-color: var(--ink); }

/* Legacy .oh-pay-summary block is display:none in markup; no guest ever
   sees it, so it's intentionally left out of this dark pass. */
