/**
 * 360 Immediate Care — BookingPress 6.3 frontend overrides.
 *
 * BookingPress renders its own 4-step wizard (Location -> Details ->
 * Date & Time -> Summary) inside page-booking.php via [bookingpress_form].
 * These rules restyle that wizard to the theme palette:
 *   Primary blue  #22408E
 *   Logo navy     #1A2B5C (buttons + loader)
 *   Accent red    #ED1623
 *
 * Class names below are BookingPress's documented frontend classes
 * (bookingpress-*). They are intentionally specific but not !important-heavy,
 * so BookingPress updates that rename a class degrade gracefully — the
 * wizard stays fully usable in its default styling.
 * If a BookingPress update changes markup, inspect the live booking page
 * and update the selectors here; do not edit the plugin itself.
 */

/* Wizard container */
.booking-frame .bookingpress_form,
.booking-frame #bookingpress_form,
.booking-frame .bpc-front-form { font-family: inherit; color: #17233F; }

/* Step indicator / header */
.booking-frame .bookingpress-step-header,
.booking-frame .bpc-step-header,
.booking-frame .bookingpress_form_steps { border-color: #DDE3EF; }
.booking-frame .bookingpress-step-header .active,
.booking-frame .bpc-step-header .active,
.booking-frame .bookingpress_form_steps .active-step { color: #22408E; border-color: #22408E; }

/* Primary buttons: Next / Book Appointment / Confirm */
.booking-frame .bookingpress-btn-primary,
.booking-frame .bpc-btn-primary,
.booking-frame button.bookingpress-next-btn,
.booking-frame .bookingpress_form button[type="submit"] {
  background: #1A2B5C; border-color: #1A2B5C; color: #fff;
  border-radius: 10px; font-weight: 700;
}
.booking-frame .bookingpress-btn-primary:hover,
.booking-frame .bpc-btn-primary:hover,
.booking-frame button.bookingpress-next-btn:hover,
.booking-frame .bookingpress_form button[type="submit"]:hover {
  background: #0F1E49; border-color: #0F1E49; color: #fff;
}

/* Secondary / Back buttons */
.booking-frame .bookingpress-btn-secondary,
.booking-frame .bpc-btn-secondary,
.booking-frame button.bookingpress-back-btn {
  background: transparent; border: 1px solid #22408E; color: #22408E; border-radius: 10px; font-weight: 700;
}
.booking-frame .bookingpress-btn-secondary:hover,
.booking-frame .bpc-btn-secondary:hover,
.booking-frame button.bookingpress-back-btn:hover { background: #EEF1F8; }

/* Location & service selection cards */
.booking-frame .bookingpress-location-item,
.booking-frame .bookingpress-service-item,
.booking-frame .bpc-location-item,
.booking-frame .bpc-service-item { border: 2px solid #DDE3EF; border-radius: 12px; }
.booking-frame .bookingpress-location-item.selected,
.booking-frame .bookingpress-service-item.selected,
.booking-frame .bpc-location-item.active,
.booking-frame .bpc-service-item.active {
  border-color: #1A2B5C; box-shadow: 0 0 0 2px rgba(26,43,92,.25);
}

/* Calendar (BookingPress ships a Vue/Vuetify-style date picker in 6.x) */
.booking-frame .bookingpress-calendar .selected-date,
.booking-frame .v-date-picker-table .v-btn--active,
.booking-frame .bpc-calendar-day.selected { background: #22408E !important; color: #fff !important; border-color: #22408E; }
.booking-frame .bookingpress-calendar .today,
.booking-frame .bpc-calendar-day.today { border-color: #22408E; color: #22408E; font-weight: 800; }

/* Time slots */
.booking-frame .bookingpress-time-slot,
.booking-frame .bpc-time-slot,
.booking-frame .bookingpress_timeslot { border: 1px solid #DDE3EF; border-radius: 999px; font-weight: 600; }
.booking-frame .bookingpress-time-slot.selected,
.booking-frame .bpc-time-slot.selected,
.booking-frame .bookingpress_timeslot.selected { background: #22408E; border-color: #22408E; color: #fff; }
.booking-frame .bookingpress-time-slot:hover,
.booking-frame .bpc-time-slot:hover { border-color: #22408E; }

/* Inputs inside the wizard */
.booking-frame .bookingpress_form input[type="text"],
.booking-frame .bookingpress_form input[type="email"],
.booking-frame .bookingpress_form input[type="tel"],
.booking-frame .bookingpress_form select,
.booking-frame .bookingpress_form textarea,
.booking-frame .bpc-front-form input,
.booking-frame .bpc-front-form select,
.booking-frame .bpc-front-form textarea {
  border: 1px solid #DDE3EF; border-radius: 10px; font: inherit; color: #17233F;
}
.booking-frame .bookingpress_form input:focus,
.booking-frame .bookingpress_form select:focus,
.booking-frame .bookingpress_form textarea:focus { border-color: #22408E; outline: 2px solid rgba(34,64,142,.25); }

/* Summary / price accents */
.booking-frame .bookingpress-summary-total,
.booking-frame .bpc-summary-total { color: #22408E; font-weight: 800; }
.booking-frame a { color: #22408E; }

/* Loading spinner */
.booking-frame .bookingpress-loader,
.booking-frame .bpc-loader,
.booking-frame .bookingpress_loading,
.booking-frame .bpc-loading-spinner,
.booking-frame .v-progress-circular,
.booking-frame [class*="loader"],
.booking-frame [class*="spinner"] { color: #1A2B5C; border-top-color: #1A2B5C; }
