/*
 * jwgrootjen.com booking theme (overlay on Easy!Appointments, GPLv3).
 * The navy header comes from the company_color setting (#0d1b2a); this file
 * adds the teal accents, typography and polish to match jwgrootjen.com.
 */

/* Inter variable font, self-hosted (same file the main site serves). */
@font-face {
    font-family: "Inter";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/inter-latin-var.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
        U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191,
        U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
    --jwg-navy: #0d1b2a;
    --jwg-teal: #35d0c4;
    --jwg-teal-dark: #0f766e;
    --jwg-teal-darker: #0b5c55;
    --jwg-ink: #1b2733;
    --jwg-ink-muted: #4b5a68;
    --jwg-line: #dfe7ec;
    --jwg-paper-alt: #f2f6f8;
    --jwg-on-dark-muted: #9db2c4;
    --jwg-sans: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
    --jwg-radius: 10px;
    --jwg-shadow: 0 1px 3px rgba(13, 27, 42, 0.08);
}

body,
#book-appointment-wizard,
#book-appointment-wizard .form-control,
#book-appointment-wizard .form-select,
#book-appointment-wizard .btn {
    font-family: var(--jwg-sans);
    color: var(--jwg-ink);
}

body {
    background-color: var(--jwg-paper-alt) !important;
    background-image: none !important;
}

#book-appointment-wizard {
    border: 1px solid var(--jwg-line);
    border-radius: var(--jwg-radius);
    box-shadow: var(--jwg-shadow);
}

/* Current-step badge on the navy header */
#book-appointment-wizard .book-step.active {
    background: #ffffff !important;
}
#book-appointment-wizard .book-step.active strong {
    color: var(--jwg-teal-dark) !important;
}

#book-appointment-wizard .frame-title {
    color: var(--jwg-ink) !important;
    font-weight: 600 !important;
}

/* Primary / next / step buttons -> teal (override EA dark + company navy) */
#book-appointment-wizard .btn-dark,
#book-appointment-wizard .button-next,
#book-appointment-wizard .btn-primary {
    background-color: var(--jwg-teal-dark) !important;
    border-color: var(--jwg-teal-dark) !important;
    color: #ffffff !important;
}
#book-appointment-wizard .btn-dark:hover,
#book-appointment-wizard .button-next:hover,
#book-appointment-wizard .btn-primary:hover {
    background-color: var(--jwg-teal-darker) !important;
    border-color: var(--jwg-teal-darker) !important;
    color: #ffffff !important;
}
#book-appointment-wizard .button-back {
    color: var(--jwg-ink-muted) !important;
    border-color: var(--jwg-line) !important;
    background: #ffffff !important;
}

/* Form controls -> teal focus */
#book-appointment-wizard .form-select,
#book-appointment-wizard .form-control {
    border-color: var(--jwg-line);
    border-radius: var(--jwg-radius);
}
#book-appointment-wizard .form-select:focus,
#book-appointment-wizard .form-control:focus {
    border-color: var(--jwg-teal-dark) !important;
    box-shadow: 0 0 0 0.2rem rgba(53, 208, 196, 0.25) !important;
}

/* Selected date / hour -> teal */
#book-appointment-wizard #available-hours .selected-hour,
#book-appointment-wizard .selected-hour,
#book-appointment-wizard .flatpickr-day.selected {
    background-color: var(--jwg-teal-dark) !important;
    border-color: var(--jwg-teal-dark) !important;
    color: #ffffff !important;
}

#book-appointment-wizard #service-description {
    color: var(--jwg-ink-muted);
}

/* Footer links -> teal */
#frame-footer {
    border-color: var(--jwg-line) !important;
}
#frame-footer a {
    color: var(--jwg-teal-dark) !important;
}

/* The header selection line ("Service | Provider") adds nothing here: the wizard
   itself shows the choice, and the provider is always Jesse. */
#header .display-booking-selection {
    display: none !important;
}

/* Single provider: keep the provider field hidden */
#book-appointment-wizard .mb-3:has(#select-provider) {
    display: none !important;
}
