.fc-glass {
  background: rgba(18, 26, 43, 0.78);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Page hero — booking complete */
.fc-booking-page-hero {
  background:
    radial-gradient(ellipse 85% 60% at 50% -20%, rgba(24, 145, 237, 0.18), transparent 55%),
    linear-gradient(180deg, rgba(18, 26, 43, 0.95) 0%, rgba(15, 23, 42, 0.4) 100%);
}

@media (prefers-reduced-motion: no-preference) {
  .fc-booking-card-accent {
    transition:
      border-color 0.25s ease,
      box-shadow 0.25s ease;
  }

  .fc-booking-card-accent:hover {
    border-color: rgba(24, 145, 237, 0.22);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  }
}

.fc-booking-card-accent {
  border-top: 3px solid rgba(24, 145, 237, 0.55);
}

/* Itinerary panel — slightly lifted for readability */
.fc-booking-itinerary-wrap {
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 8px 32px rgba(0, 0, 0, 0.2);
}

/* Light summary hero at top of /booking/complete — matches upgraded booking header markup */
.fc-booking-summary-hero {
  color-scheme: light;
}

.fc-input-icon {
  padding-left: 2.75rem;
}

.fc-icon-input-wrap {
  position: relative;
}

.fc-icon-input-wrap > svg.fc-inp-ico {
  position: absolute;
  left: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: rgb(100 116 139);
}

.fc-icon-input-wrap:focus-within > svg.fc-inp-ico {
  color: #1891ed;
}

.fc-icon-textarea-wrap {
  position: relative;
}

.fc-icon-textarea-wrap > svg.fc-inp-ico {
  position: absolute;
  left: 0.875rem;
  top: 0.875rem;
  pointer-events: none;
  color: rgb(100 116 139);
}

.fc-icon-textarea-wrap:focus-within > svg.fc-inp-ico {
  color: #1891ed;
}

.swal2-popup.fc-swal-dark {
  border-radius: 1rem !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Booking page — itinerary block (outbound / inbound) */
.fc-booking-itinerary-wrap .fc-offer-route-doodle {
  max-width: 100%;
}

.fc-booking-itinerary-wrap .fc-offer-route-doodle span.font-display {
  font-size: clamp(0.95rem, 2.8vw, 1.15rem);
  letter-spacing: 0.02em;
}

.fc-booking-itinerary-visual .fc-airline-fallback {
  font-size: 0.65rem;
}

@media (min-width: 640px) {
  .fc-booking-itinerary-visual .fc-airline-fallback {
    font-size: 0.7rem;
  }
}

/* Booking complete — phone CTA under submit (blue / white) */
.fc-booking-page #fc-booking-form a.fc-booking-call-alt {
  border: 2px solid rgba(255, 255, 255, 0.42);
  background-color: #0d6cb8;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(13, 108, 184, 0.38);
}

.fc-booking-page #fc-booking-form a.fc-booking-call-alt:hover {
  filter: brightness(1.06);
  background-color: #0b5ea3;
  border-color: rgba(255, 255, 255, 0.55);
  color: #ffffff !important;
}

.fc-booking-page #fc-booking-form a.fc-booking-call-alt svg,
.fc-booking-page #fc-booking-form a.fc-booking-call-alt .fc-booking-call-alt__ico {
  color: #ffffff;
  stroke: #ffffff;
}

/* Light theme — booking page chrome (hero, crumbs, steps) complements fc-theme-modes.css */
[data-fc-theme='light'] .fc-booking-page .fc-booking-page-hero {
  background:
    radial-gradient(ellipse 90% 70% at 50% -30%, rgba(24, 145, 237, 0.14), transparent 60%),
    linear-gradient(180deg, #eff6ff 0%, #e8f1fb 40%, #f1f5f9 100%);
  border-bottom-color: rgba(15, 23, 42, 0.08);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-secondary-bar {
  background: rgba(255, 255, 255, 0.94);
  border-bottom-color: rgba(15, 23, 42, 0.07);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-crumb:hover {
  border-color: rgba(24, 145, 237, 0.2);
  background: rgba(24, 145, 237, 0.06);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-step-dash {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(15, 23, 42, 0.12),
    transparent
  );
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-step.fc-booking-step--active {
  background: rgba(24, 145, 237, 0.1);
  border-color: rgba(24, 145, 237, 0.35);
  box-shadow: 0 4px 20px rgba(24, 145, 237, 0.12);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-step:not(.fc-booking-step--active) {
  background: rgba(248, 250, 252, 0.95);
  border-color: rgba(15, 23, 42, 0.1);
}

[data-fc-theme='light'] .fc-booking-page #fc-route-strip {
  background: linear-gradient(
    90deg,
    rgba(24, 145, 237, 0.1) 0%,
    rgba(255, 255, 255, 0.95) 50%,
    rgba(24, 145, 237, 0.08) 100%
  );
  border-color: rgba(15, 23, 42, 0.08);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-notice {
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.65) 0%, rgba(248, 250, 252, 0.95) 100%);
  border-color: rgba(24, 145, 237, 0.22);
  box-shadow: 0 2px 12px rgba(24, 145, 237, 0.08);
}

/* Light theme — page canvas + cards: more depth, less “washed out” */
[data-fc-theme='light'] .fc-booking-page.min-h-screen {
  background:
    radial-gradient(ellipse 120% 80% at 50% -10%, rgba(24, 145, 237, 0.09), transparent 55%),
    linear-gradient(180deg, #e8eef6 0%, #f1f5f9 40%, #eef2f7 100%);
}

[data-fc-theme='light'] .fc-booking-page .fc-glass.fc-booking-card-accent {
  box-shadow:
    0 4px 6px rgba(15, 23, 42, 0.04),
    0 16px 40px rgba(15, 23, 42, 0.1);
  border-color: rgba(15, 23, 42, 0.1);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-wrap {
  border-color: rgba(24, 145, 237, 0.35);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.95),
    0 10px 36px rgba(15, 23, 42, 0.08);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-visual .fc-itinerary-leg {
  background: linear-gradient(165deg, #ffffff 0%, #f8fafc 55%, #f1f5f9 100%);
  border-color: rgba(15, 23, 42, 0.14);
  box-shadow:
    0 6px 20px rgba(15, 23, 42, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-visual .fc-itinerary-leg > div.mb-3 {
  border-bottom-color: rgba(15, 23, 42, 0.1);
}

[data-fc-theme='light'] .fc-booking-page .fc-itin-leg-badge {
  background: linear-gradient(180deg, #dbeafe 0%, #bae6fd 100%);
  color: #0c4a6e;
  border: 1px solid rgba(24, 145, 237, 0.35);
  box-shadow: 0 2px 8px rgba(24, 145, 237, 0.15);
  --tw-ring-shadow: 0 0 #0000;
}

[data-fc-theme='light'] .fc-booking-page .fc-itin-leg-badge .text-sky-300 {
  color: #0284c7;
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-visual .text-amber-300 {
  color: #0f172a;
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-visual .fc-route-code {
  background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
  color: #0f172a;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
  --tw-ring-color: rgba(15, 23, 42, 0.12);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-visual .fc-route-line {
  border-top-color: rgba(15, 23, 42, 0.28);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-visual .fc-offer-route-doodle span.inline-flex.h-8.w-8 {
  background: rgba(24, 145, 237, 0.18);
  color: #0369a1;
  box-shadow: 0 0 0 1px rgba(24, 145, 237, 0.25);
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-visual p.text-slate-200 {
  color: #334155;
}

[data-fc-theme='light'] .fc-booking-page .fc-booking-itinerary-visual .fc-place-details {
  border-top-color: rgba(15, 23, 42, 0.12);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.5) 0%, transparent 100%);
  border-radius: 0 0 0.75rem 0.75rem;
  margin-left: -0.25rem;
  margin-right: -0.25rem;
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}

[data-fc-theme='light'] .fc-booking-page .fc-itin-return-rule .h-px {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(15, 23, 42, 0.18),
    transparent
  );
}

[data-fc-theme='light'] .fc-booking-page .fc-itin-return-rule .text-slate-500 {
  color: #475569;
  letter-spacing: 0.14em;
}

/* Total fare — strong focal point on light */
[data-fc-theme='light'] .fc-booking-page .fc-itinerary-total {
  background: linear-gradient(135deg, #0b4a7c 0%, #0d6cb8 42%, #1891ed 88%, #38bdf8 120%);
  border-color: rgba(14, 116, 184, 0.55);
  box-shadow:
    0 12px 32px rgba(13, 108, 184, 0.38),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
  --tw-ring-color: rgba(255, 255, 255, 0.2);
}

[data-fc-theme='light'] .fc-booking-page .fc-itinerary-total .text-slate-300 {
  color: rgba(255, 255, 255, 0.88) !important;
}

[data-fc-theme='light'] .fc-booking-page .fc-itinerary-total .text-white {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

/* Form fields — crisp edges, readable fills */
[data-fc-theme='light'] .fc-booking-page #fc-booking-form .fc-input-icon,
[data-fc-theme='light'] .fc-booking-page #fc-booking-form textarea {
  background-color: #fff;
  border-color: rgba(15, 23, 42, 0.14);
  color: #0f172a;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

[data-fc-theme='light'] .fc-booking-page #fc-booking-form .fc-input-icon:focus,
[data-fc-theme='light'] .fc-booking-page #fc-booking-form textarea:focus {
  border-color: rgba(24, 145, 237, 0.65);
  box-shadow: 0 0 0 3px rgba(24, 145, 237, 0.2);
}

[data-fc-theme='light'] .fc-booking-page #fc-booking-form label.fc-booking-terms {
  background: linear-gradient(180deg, rgba(239, 246, 255, 0.85) 0%, rgba(248, 250, 252, 0.95) 100%);
  border-color: rgba(24, 145, 237, 0.25);
}

[data-fc-theme='light'] .fc-booking-page #fc-booking-form a.fc-booking-call-alt {
  border-color: rgba(255, 255, 255, 0.45);
  background-color: #0d6cb8;
  color: #ffffff !important;
  box-shadow: 0 4px 18px rgba(13, 108, 184, 0.32);
}

[data-fc-theme='light'] .fc-booking-page #fc-booking-form a.fc-booking-call-alt:hover {
  background-color: #0b5ea3;
  border-color: rgba(255, 255, 255, 0.55);
  color: #ffffff !important;
}

[data-fc-theme='light'] .fc-booking-page #fc-booking-form a.fc-booking-call-alt svg,
[data-fc-theme='light'] .fc-booking-page #fc-booking-form a.fc-booking-call-alt .fc-booking-call-alt__ico {
  color: #ffffff !important;
  stroke: #ffffff !important;
}

[data-fc-theme='light'] .fc-booking-page #fc-booking-form button[type='submit'] {
  box-shadow:
    0 4px 14px rgba(24, 145, 237, 0.45),
    0 10px 30px rgba(13, 108, 184, 0.22);
}
