/* ===== Syfred brand theme: obsidian surfaces, white text, ember actions ===== */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  --bs-body-bg: #0A0A0B !important;
  --bs-body-color: #FFFFFF !important;
  --bs-emphasis-color: #FFFFFF !important;
  --bs-emphasis-color-rgb: 255,255,255 !important;
  --bs-secondary-color: #94949B !important;
  --bs-secondary-bg: #141416 !important;
  --bs-tertiary-bg: #141416 !important;
  --bs-tertiary-color: #94949B !important;
  --bs-border-color: #2a2a2e !important;
  --bs-border-color-translucent: rgba(255,255,255,.12) !important;
  --bs-primary: #F2A63B !important;
  --bs-primary-rgb: 242,166,59 !important;
  --bs-link-color: #F2A63B !important;
  --bs-link-color-rgb: 242,166,59 !important;
  --bs-link-hover-color: #f6bd6e !important;
  --bs-heading-color: #FFFFFF !important;
}

html, body {
  background-color: #0A0A0B !important;
  color: #FFFFFF !important;
}

/* Surfaces -> obsidian/carbon */
.card, .modal-content, .dropdown-menu, .offcanvas, .popover, .toast,
.accordion, .accordion-item, .accordion-button, .list-group-item,
.bg-body, .bg-white, .bg-light, .bg-body-tertiary, .bg-body-secondary,
.nav-tabs, .page-link, .table, .card-header, .card-footer,
.modal-header, .modal-footer {
  background-color: #141416 !important;
  color: #FFFFFF !important;
  border-color: #2a2a2e !important;
}
.card-body { background-color: #141416 !important; }

/* Text colors */
h1,h2,h3,h4,h5,h6, label, p, span, div, td, th, li, a.dropdown-item, .nav-link {
  color: inherit;
}
.text-muted, .text-white-50, .text-body-secondary, small.text-muted {
  color: #94949B !important;
}
.text-dark, .text-black, .text-body { color: #FFFFFF !important; }

/* Header / navbar: obsidian surface, white text (amber reserved for actions) */
#header, .navbar.bg-primary, nav.bg-primary, .bg-primary#header {
  background-color: #0A0A0B !important;
  border-color: #1c1c20 !important;
}
#header .nav-link, #header .navbar-brand, #header h6, #header small { color: #FFFFFF !important; }

/* Inputs */
.form-control, .form-select, .input-group-text, textarea, select, input {
  background-color: #0f0f11 !important;
  color: #FFFFFF !important;
  border-color: #2a2a2e !important;
}
.form-control:focus, .form-select:focus {
  background-color: #0f0f11 !important;
  color: #FFFFFF !important;
  border-color: #F2A63B !important;
  box-shadow: 0 0 0 .2rem rgba(242,166,59,.25) !important;
}
.form-control::placeholder { color: #6b6b72 !important; }

/* Buttons & interactions -> ember with black text (theme uses a green linear-gradient
   via the `background` shorthand, so we must override `background` + kill background-image) */
.btn-primary, .btn-success, .btn-info, .btn-secondary.book-now,
button.btn-primary, .add-record-btn, button[type="submit"].btn-primary,
.book-step .btn-primary, #book-appointment-wizard .btn-primary {
  background: #F2A63B !important;
  background-image: none !important;
  border-color: #d98f1f !important;
  color: #0A0A0B !important;
  box-shadow: none !important;
  --bs-btn-bg: #F2A63B; --bs-btn-color: #0A0A0B;
  --bs-btn-hover-bg: #f6bd6e; --bs-btn-hover-color: #0A0A0B;
  --bs-btn-active-bg: #d98f1f; --bs-btn-active-color: #0A0A0B;
  --bs-btn-border-color: #F2A63B;
}
.btn-primary:hover, .btn-success:hover, .add-record-btn:hover {
  background: #f6bd6e !important; background-image: none !important; color:#0A0A0B !important;
}
.btn-outline-primary {
  color:#F2A63B !important; border-color:#F2A63B !important;
  --bs-btn-hover-bg:#F2A63B; --bs-btn-hover-color:#0A0A0B;
}
.btn-outline-primary:hover { background-color:#F2A63B !important; color:#0A0A0B !important; }

/* Anything the theme hard-codes green */
[style*="#429a82"], [style*="#429A82"] { color:#F2A63B !important; }
.bg-success { background-color:#F2A63B !important; color:#0A0A0B !important; }
.text-success { color:#F2A63B !important; }
a { color:#F2A63B; }
a:hover { color:#f6bd6e; }

/* Selection accent */
.badge.bg-primary { background-color:#F2A63B !important; color:#0A0A0B !important; }
.badge.bg-dark { background-color:#1c1c20 !important; }

/* Tables */
.table { --bs-table-bg:#141416; --bs-table-color:#FFFFFF; --bs-table-border-color:#2a2a2e; }
.table-striped>tbody>tr:nth-of-type(odd)>* { --bs-table-bg-type:#191919; color:#FFFFFF; }

/* FullCalendar / calendar surfaces */
.fc, .fc-toolbar, .fc-view-harness, .fc-scrollgrid, .fc-daygrid-day, .fc-col-header-cell {
  background-color:#0f0f11 !important; color:#FFFFFF !important; border-color:#2a2a2e !important;
}

/* ===== Wizard action buttons -> ember (theme uses .btn-dark for "Next") ===== */
.button-next, .btn.button-next, .btn-dark.button-next, #book-appointment-wizard .button-next {
  background: #F2A63B !important; background-image: none !important;
  color: #0A0A0B !important; border-color: #F2A63B !important; box-shadow: none !important;
}
.button-next:hover { background: #f6bd6e !important; color:#0A0A0B !important; }
.button-back, .btn-outline-secondary.button-back {
  background: transparent !important; color: #F2A63B !important; border-color: #F2A63B !important;
}
.button-back:hover { background: #F2A63B !important; color:#0A0A0B !important; }

/* ===== flatpickr date-picker -> obsidian surface, white text, ember only on selected day ===== */
.flatpickr-calendar, .flatpickr-months, .flatpickr-month, .flatpickr-innerContainer,
.flatpickr-rContainer, .flatpickr-weekdays, .flatpickr-weekdaycontainer, span.flatpickr-weekday,
.flatpickr-days, .dayContainer, .flatpickr-time {
  background: #141416 !important; color: #FFFFFF !important; border-color: #2a2a2e !important; box-shadow: none !important;
}
.flatpickr-calendar { border: 1px solid #2a2a2e !important; }
.flatpickr-current-month, .flatpickr-current-month input.cur-year,
.flatpickr-monthDropdown-months, .flatpickr-weekday, .flatpickr-time input, .flatpickr-am-pm {
  color: #FFFFFF !important; background: transparent !important;
}
.flatpickr-monthDropdown-months option { background: #141416 !important; color:#FFFFFF !important; }
.flatpickr-day { color: #FFFFFF !important; background: transparent !important; border-color: transparent !important; }
.flatpickr-day:hover, .flatpickr-day.prevMonthDay:hover, .flatpickr-day.nextMonthDay:hover { background: #26262b !important; }
.flatpickr-day.today { border-color: #F2A63B !important; }
.flatpickr-day.selected, .flatpickr-day.selected:hover,
.flatpickr-day.startRange, .flatpickr-day.endRange {
  background: #F2A63B !important; border-color: #F2A63B !important; color: #0A0A0B !important;
}
.flatpickr-day.flatpickr-disabled, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay { color: #5a5a60 !important; }
.flatpickr-months .flatpickr-prev-month svg, .flatpickr-months .flatpickr-next-month svg { fill: #FFFFFF !important; }
.flatpickr-months .flatpickr-prev-month:hover svg, .flatpickr-months .flatpickr-next-month:hover svg { fill: #F2A63B !important; }

/* ===== FullCalendar (backend week/day view) -> full obsidian + white ===== */
.fc, .fc *, .fc-theme-standard td, .fc-theme-standard th, .fc-scrollgrid,
.fc-col-header-cell, .fc-timegrid-slot, .fc-daygrid-day, .fc-list, .fc-list-day-cushion {
  color: #FFFFFF !important; border-color: #2a2a2e !important;
}
.fc-theme-standard .fc-scrollgrid, .fc-view-harness, .fc-daygrid-body, .fc-timegrid-body { background: #0A0A0B !important; }
.fc .fc-button-primary { background: #F2A63B !important; border-color: #F2A63B !important; color: #0A0A0B !important; }
.fc .fc-button-primary:disabled { background: #6b5324 !important; color:#0A0A0B !important; }
.fc-day-today { background: rgba(242,166,59,.10) !important; }

/* ===== Booking wizard header bar -> obsidian + white (match form body) =====
   company_color_style uses `#book-appointment-wizard #header` (2 IDs); match that. */
#header,
#book-appointment-wizard #header,
nav#header.bg-primary,
#book-appointment-wizard nav#header {
  background: #0A0A0B !important;
  background-image: none !important;
  border-bottom: 1px solid #1c1c20 !important;
}
#book-appointment-wizard #header,
#book-appointment-wizard #header *,
#header .company-name, #header small {
  color: #FFFFFF !important;
}
/* Step indicator badges: active = ember, upcoming = faded ember (visible on black) */
#book-appointment-wizard .book-step.active-step {
  background: #F2A63B !important; color: #0A0A0B !important;
}
#book-appointment-wizard .book-step:not(.active-step) {
  background: rgba(242,166,59,.28) !important; color: #FFFFFF !important;
}

/* ===== Preselected service/consultant (via ?service= URL link) -> dimmed and
   locked: no dropdown to open, no way to change it. Override the browser's
   native disabled styling so the text stays readable on the dark theme. */
#select-service.is-preselected:disabled, #select-provider.is-preselected:disabled {
  opacity: 0.55 !important;
  color: #FFFFFF !important;
  background-color: #0f0f11 !important;
  -webkit-text-fill-color: #FFFFFF !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
