/*
 * NeuroExpert — Fluent Booking 2.2.x
 * Tylko strona /umow-konsultacje/ (page ID 5591).
 * Zastąp poprzedni CSS tym plikiem w całości.
 *
 * Selektory zostały sprawdzone na aktualnym bundle Fluent Booking:
 * .calendar_nav, .day_is_selected, .fcal_spot i .svelte-select.
 */

body.page-id-5591 .fal-booking-wrap {
  /* Tokeny Fluent Booking zmapowane na design system NeuroExpert. */
  --fcal_date_radius: 10px;
  --fcal_avatar_radius: 50%;
  --fcal_date_disabled_bg: #ffffff;
  --fcal_enable_day_bg: #eaf4fa;
  --fcal_date_disabled_color: #94a3b8;
  --fcal_whiteColor: #ffffff;
  --fcal_scroll_bar_bg: #cbd5e1;
  --fcal_input_bg: #f8fafc;
  --fcal_input_disable_bg: #f1f5f9;
  --fcal_gray: #64748b;
  --fcal_skeleton_bg: linear-gradient(90deg, #f1f5f9 25%, #eaf4fa 45%, #f1f5f9 63%);
  --fcal_dark: #0f172a;
  --fcal_body_bg: #f8fafc;
  --fcal_cal_bg: #ffffff;
  --fcal_slot_border: #e2e8f0;
  --fcal_primary_color: #1577af;
  --fcal_thBG: #f8fafc;
  color: #475569;
  font-family: 'Para', Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Nie zostawiamy drugiej karty tła wokół właściwego kalendarza. */
body.page-id-5591 #content > .page-content,
body.page-id-5591 .fal-booking-wrap,
body.page-id-5591 .fal-booking-wrap .fcal_cal_wrap,
body.page-id-5591 .fal-booking-wrap .fcal_wrap,
body.page-id-5591 .fal-booking-wrap .fcal_holder {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Jedyna karta: cały widget konsultacji. */
body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner {
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .08);
}

/* Dokładne przypisanie fontów — bez ingerencji w geometrię komponentów. */
body.page-id-5591 .fal-booking-wrap .fcal_cal_wrap,
body.page-id-5591 .fal-booking-wrap .fcal_cal_wrap :is(p, label, input, textarea, select, button, .fcal_icon_item, .fcal_slot_description) {
  font-family: 'Para', Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

body.page-id-5591 .fal-booking-wrap .fcal_cal_wrap :is(h1, h2, h3, h4, h5, h6, .fcal_slot_heading, .fcal_author_name, .calendar-month-year) {
  font-family: 'Title', Merriweather, Georgia, serif !important;
  color: #0f172a;
}

/* Lewa kolumna */
body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner .fcal_side {
  background: #ffffff;
  border-right-color: #e2e8f0;
}

body.page-id-5591 .fal-booking-wrap .fcal_author_avatar {
  width: 76px;
  height: 76px;
  min-width: 76px;
  overflow: hidden;
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: #eaf4fa;
  box-shadow: 0 2px 12px rgba(15, 23, 42, .12);
}

body.page-id-5591 .fal-booking-wrap .fcal_author_avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_heading {
  font-size: clamp(1.4rem, 2vw, 1.7rem);
  font-weight: 800;
  line-height: 1.3;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_description {
  color: #475569;
  line-height: 1.75;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_payment_item {
  padding: 10px 12px;
  color: #11618e;
  background: #eaf4fa;
  border: 1px solid rgba(21, 119, 175, .16);
  border-radius: 10px;
}

/* Kalendarz */
body.page-id-5591 .fal-booking-wrap .calendar-month-year h2,
body.page-id-5591 .fal-booking-wrap .calendar-month-year h4 {
  font-size: 20px;
  font-weight: 800;
}

body.page-id-5591 .fal-booking-wrap .calendar_nav button {
  color: #1577af;
  border-radius: 8px;
  transition: color .18s ease, background-color .18s ease;
}

body.page-id-5591 .fal-booking-wrap .calendar_nav button.fcal_nav_active:hover,
body.page-id-5591 .fal-booking-wrap .calendar_nav button.fcal_nav_active:focus-visible {
  color: #11618e;
  background: #eaf4fa;
  outline: 0;
}

body.page-id-5591 .fal-booking-wrap .calendar .day-name {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Wtyczka rysuje kolor dnia na wewnętrznym spanie, nie na .day. */
body.page-id-5591 .fal-booking-wrap .calendar .day.day-enabled span {
  color: #1577af;
  background-color: #eaf4fa;
  border-radius: 10px;
}

body.page-id-5591 .fal-booking-wrap .calendar .day.day-enabled:hover span,
body.page-id-5591 .fal-booking-wrap .calendar .day.day-enabled:focus-visible span {
  color: #ffffff;
  background-color: #11618e;
  outline: 0;
}

body.page-id-5591 .fal-booking-wrap .calendar .day.day_is_selected.day.day-enabled span {
  color: #ffffff;
  background-color: #1577af;
  box-shadow: 0 4px 12px rgba(21, 119, 175, .22);
}

body.page-id-5591 .fal-booking-wrap .calendar .day.day-enabled.day_is_selected span::before {
  background: #ffffff;
}

/* Strefa czasowa — .svelte-select jest kontrolką, nie ma potomka .control. */
body.page-id-5591 .fal-booking-wrap .fcal_timezone_select label {
  color: #475569;
  font-size: 13px;
  font-weight: 700;
}

body.page-id-5591 .fal-booking-wrap .fcal_timezone_select .svelte-select {
  --height: 52px;
  --font-size: 15px;
  --internal-padding: 0 42px 0 16px;
  min-height: 52px;
  padding: 0 42px 0 16px !important;
  color: #0f172a;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

body.page-id-5591 .fal-booking-wrap .fcal_timezone_select .svelte-select:hover {
  border-color: rgba(21, 119, 175, .35) !important;
}

body.page-id-5591 .fal-booking-wrap .fcal_timezone_select .svelte-select.focused {
  background: #ffffff !important;
  border-color: #1577af !important;
  box-shadow: 0 0 0 4px rgba(21, 119, 175, .11) !important;
}

body.page-id-5591 .fal-booking-wrap .fcal_timezone_select .svelte-select input {
  min-height: 0 !important;
  padding: 0 !important;
  color: #0f172a !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-5591 .fal-booking-wrap .fcal_timezone_select .svelte-select::before {
  border-bottom-color: #64748b;
  border-left-color: #64748b;
}

body.page-id-5591 .fal-booking-wrap .fcal_timezone_select .svelte-select.list-open::before {
  border-bottom-color: #1577af;
  border-left-color: #1577af;
}

/* Panel godzin — faktyczna struktura Fluent Booking: .fcal_spot. */
body.page-id-5591 .fal-booking-wrap .fcal_slot_picker {
  background: #ffffff;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_slot_picker_header {
  color: #0f172a;
  background: #ffffff;
  font-family: 'Title', Merriweather, Georgia, serif !important;
  font-weight: 700;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot {
  background: #ffffff;
  border-color: #e2e8f0;
  border-radius: 10px;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot::before {
  background: #1577af;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot:hover,
body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot.fcal_spot_selected {
  border-color: #1577af;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot:hover .fcal_spot_time,
body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot.fcal_spot_selected .fcal_spot_time {
  color: #1577af;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot .fcal_spot_confirm,
body.page-id-5591 .fal-booking-wrap .fcal_booking_form_wrap .fcal_booking_form .fcal_form_item button {
  color: #ffffff;
  background: #1577af;
  border-color: #1577af;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(21, 119, 175, .18);
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.page-id-5591 .fal-booking-wrap .fcal_slot_picker .fcal_spot_lists .fcal_spot .fcal_spot_confirm:hover,
body.page-id-5591 .fal-booking-wrap .fcal_booking_form_wrap .fcal_booking_form .fcal_form_item button:hover {
  color: #ffffff;
  background: #11618e;
  border-color: #11618e;
  box-shadow: 0 6px 20px rgba(21, 119, 175, .28);
  opacity: 1;
}

/* Formularz „Wpisz szczegóły”: zachowujemy animację wtyczki i stylujemy wyłącznie pola. */
body.page-id-5591 .fal-booking-wrap .fcal_booking_form_wrap .fcal_booking_form .fcal_form_item .fcal_input_content :is(input, select, textarea) {
  color: #0f172a;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  box-shadow: none;
}

body.page-id-5591 .fal-booking-wrap .fcal_booking_form_wrap .fcal_booking_form .fcal_form_item .fcal_input_content :is(input, select, textarea):focus {
  background: #ffffff;
  border-color: #1577af;
  box-shadow: 0 0 0 4px rgba(21, 119, 175, .11);
  outline: 0;
}

/* Szerokość na desktopie: karta do 1400 px, a data wypełnia wolną kolumnę. */
@media (min-width: 1101px) {
  body.page-id-5591 .fal-booking-wrap {
    position: relative;
    left: 50%;
    width: min(calc(100vw - 96px), 1400px);
    max-width: 1400px;
    margin-right: 0;
    margin-left: 0;
    transform: translateX(-50%);
  }

  body.page-id-5591 .fal-booking-wrap .fcal_wrap,
  body.page-id-5591 .fal-booking-wrap .fcal_holder,
  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner {
    width: 100%;
    max-width: none;
  }

  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner .fcal_date_wrapper {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
  }

  /* Więcej oddechu, wykorzystując pełną szerokość karty. */
  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner .fcal_side {
    padding: 42px 40px 38px !important;
  }

  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner .fcal_date_wrapper .calendar-container {
    padding: 42px 40px;
  }

  /* Po wyborze terminu kalendarz i panel godzin wypełniają całą prawą kolumnę. */
  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner.fcal_day_selected .fcal_date_wrapper,
  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner.fcal_day_selected .fcal_day_picker_wrap,
  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner.fcal_day_selected .fcal_calendar_slot_wrap {
    width: 100% !important;
  }

  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner.fcal_day_selected .fcal_calendar_slot_wrap.is_active .calendar-container {
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 760px) {
  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner {
    border-radius: 16px;
  }

  body.page-id-5591 .fal-booking-wrap .fcal_calendar_inner .fcal_side {
    border-bottom: 1px solid #e2e8f0;
    border-right: 0;
  }

  body.page-id-5591 .fal-booking-wrap .fcal_timezone_select .svelte-select {
    min-height: 50px;
    --height: 50px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-id-5591 .fal-booking-wrap * {
    transition-duration: .01ms !important;
  }
}
