/* White / gold / cream — overrides Bootstrap primary used by EA */
:root,
[data-bs-theme="light"] {
 --gold: #C5A47E;
 --gold-hover: #A8895F;
 --gold-soft: #F7F0E6;
 --cream: #FAF6F0;
 --ink: #2C2825;
 --muted: #7A736E;
 --line: #E6DCCF;

 --bs-primary: #C5A47E;
 --bs-primary-rgb: 197, 164, 126;
 --bs-link-color: #A8895F;
 --bs-link-hover-color: #8F734C;
}

html, body {
 background: linear-gradient(165deg, #FFFDF9 0%, #FAF6F0 45%, #F3EBE0 100%) !important;
 color: var(--ink) !important;
}

/* Backend navbar: navbar navbar-expand-md navbar-dark bg-primary */
#header.navbar.bg-primary,
nav#header.navbar {
 background-color: var(--gold) !important;
 background-image: none !important;
}

#header.navbar .nav-link,
#header.navbar .navbar-brand,
#header.navbar .navbar-toggler {
 color: #fff !important;
}

/* Booking header band */
#book-appointment-wizard #header.bg-primary,
#book-appointment-wizard #header {
 background-color: var(--gold) !important;
 background-image: none !important;
}

#book-appointment-wizard {
 background: #fff !important;
 border: 1px solid var(--line) !important;
 border-radius: 14px !important;
 box-shadow: 0 18px 40px rgba(44, 40, 37, 0.06) !important;
}

/* Time slots: btn btn-outline-secondary … available-hour / selected-hour */
#book-appointment-wizard #available-hours .available-hour.btn,
#book-appointment-wizard #available-hours .btn.available-hour {
 background-color: #fff !important;
 border-color: var(--line) !important;
 color: var(--ink) !important;
 border-radius: 10px !important;
}

#book-appointment-wizard #available-hours .available-hour.btn:hover {
 background-color: var(--gold-soft) !important;
 border-color: var(--gold) !important;
 color: var(--gold-hover) !important;
}

#book-appointment-wizard #available-hours .selected-hour,
#book-appointment-wizard #available-hours .available-hour.selected-hour.btn,
#book-appointment-wizard #available-hours .btn.available-hour.selected-hour {
 background-color: var(--gold) !important;
 border-color: var(--gold) !important;
 color: #fff !important;
}

/* Flatpickr month dropdown + chrome */
.flatpickr-calendar .flatpickr-months,
.flatpickr-calendar .flatpickr-month,
.flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar span.flatpickr-weekday {
 background: var(--gold) !important;
 color: #fff !important;
 fill: #fff !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar select.flatpickr-monthDropdown-months {
 background: rgba(255, 255, 255, 0.22) !important;
 color: #fff !important;
 border: none !important;
 border-radius: 6px !important;
 -webkit-appearance: none !important;
}

.flatpickr-calendar .flatpickr-monthDropdown-months option {
 background: #fff !important;
 color: var(--ink) !important;
}

.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.selected:hover {
 background: var(--gold) !important;
 border-color: var(--gold) !important;
 color: #fff !important;
}

.btn-primary,
#button-next,
#button-appointment-submit {
 background-color: var(--gold) !important;
 border-color: var(--gold) !important;
 color: #fff !important;
}

.btn-primary:hover,
#button-next:hover,
#button-appointment-submit:hover {
 background-color: var(--gold-hover) !important;
 border-color: var(--gold-hover) !important;
}