@font-face{font-family:"Hanken Grotesk";src:url("../fonts/slotyo/hanken-grotesk-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Audited liloit tokens; salon values are restricted by the PHP template. */
.slotyo-platform,.slotyo-booking{--slotyo-ink:#32274b;--slotyo-muted:#4d3e78;--slotyo-surface:#fff;--slotyo-background:#f7f6fa;--slotyo-border:#9586aa;--slotyo-line:#e4dfec;--slotyo-brand:#6359b3;--slotyo-action:#6359b3;--slotyo-action-hover:#4d3e78;--slotyo-focus:#6359b3;--slotyo-error:#803218;--slotyo-radius:14px;font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--slotyo-ink);background:var(--slotyo-background);line-height:1.5;overflow-wrap:anywhere}
.slotyo-platform *,.slotyo-booking *{box-sizing:border-box}
.slotyo-platform :is(input,select,textarea,button),.slotyo-booking :is(input,select,textarea,button){font:inherit}
.slotyo-platform :is(.btn,.form-control,.form-select),.slotyo-booking :is(.btn,.form-control,.form-select){border-radius:12px;min-height:44px}
.slotyo-platform :is(.form-control,.form-select),.slotyo-booking :is(.form-control,.form-select){border-color:var(--slotyo-border);max-width:100%;color:var(--slotyo-ink);background-color:var(--slotyo-surface)}
.slotyo-platform :focus-visible,.slotyo-booking :focus-visible{outline:3px solid var(--slotyo-focus)!important;outline-offset:3px;box-shadow:0 0 0 2px var(--slotyo-surface)!important}
.slotyo-platform :is(a,.text-primary),.slotyo-booking :is(a,.text-primary){color:var(--slotyo-action)!important}
.slotyo-platform :is(.btn-primary,.btn-dark,.bg-primary),.slotyo-booking :is(.btn-primary,.btn-dark,.bg-primary){background-image:none!important;background-color:var(--slotyo-action)!important;border-color:var(--slotyo-action)!important;color:#fff!important}
.slotyo-platform :is(.btn-primary,.btn-dark):hover,.slotyo-booking :is(.btn-primary,.btn-dark):hover{background-color:var(--slotyo-action-hover)!important;border-color:var(--slotyo-action-hover)!important}
.slotyo-platform .btn-outline-primary,.slotyo-booking .btn-outline-primary{background-image:none!important;border-color:var(--slotyo-action)!important;color:var(--slotyo-action)!important}
.slotyo-platform .btn-outline-primary:hover,.slotyo-booking .btn-outline-primary:hover{background-color:var(--slotyo-action)!important;color:#fff!important}
.slotyo-platform :is(button,.btn):disabled,.slotyo-booking :is(button,.btn):disabled{opacity:.65;cursor:not-allowed}
.slotyo-booking .cc-window .cc-link{opacity:1!important}
.slotyo-booking .cc-window .cc-dismiss{background:var(--slotyo-action)!important;color:#fff!important;border-color:var(--slotyo-action)!important}
.slotyo-platform [aria-busy="true"],.slotyo-booking [aria-busy="true"]{cursor:progress}
.slotyo-booking #book-appointment-wizard{width:100%;border:1px solid var(--slotyo-line);border-radius:20px;box-shadow:0 14px 48px #32274b0a;max-width:880px}
.slotyo-booking #main>.wrapper{margin-inline:0}
.slotyo-booking #header{background:var(--slotyo-surface)!important;border-bottom:1px solid var(--slotyo-line)!important;gap:20px;padding:22px 28px!important}
.slotyo-booking #company-name,.slotyo-booking #company-name .display-booking-selection{color:var(--slotyo-ink)!important}
.slotyo-booking #company-name>span{font-family:inherit;font-weight:700;font-size:1.3rem;letter-spacing:-.025em}
.slotyo-booking #company-name .display-booking-selection{font-size:.875rem;color:var(--slotyo-muted)!important}
.slotyo-booking #company-logo{max-width:160px;max-height:48px;object-fit:contain}
.slotyo-booking #steps{display:grid!important;grid-auto-flow:column;grid-auto-columns:36px;gap:8px;width:max-content!important;flex-shrink:0;margin:0!important}
.slotyo-booking #book-appointment-wizard .book-step{background:var(--slotyo-background)!important;color:var(--slotyo-ink)!important;border:1px solid var(--slotyo-line);float:none!important;width:36px!important;height:36px!important;margin:0!important;padding:7px!important;border-radius:11px!important}
.slotyo-booking #book-appointment-wizard .book-step strong{color:var(--slotyo-muted)!important;font-size:.875rem!important;line-height:20px}
.slotyo-booking #book-appointment-wizard .book-step.active-step{background:var(--slotyo-action)!important;border-color:var(--slotyo-action)}
.slotyo-booking #book-appointment-wizard .book-step.active-step strong{color:#fff!important}
.slotyo-booking .frame-title{color:var(--slotyo-ink)!important;font-family:inherit;font-size:clamp(1.35rem,3.4vw,1.65rem);font-weight:700!important;letter-spacing:-.025em;text-align:left!important;margin-top:0!important;margin-bottom:24px!important}
.slotyo-booking .frame-container{min-height:0!important}
.slotyo-booking .frame-content>.col{min-width:0}
.slotyo-booking .command-buttons{position:sticky;bottom:0;z-index:5;padding:20px 0 calc(4px + env(safe-area-inset-bottom));background:var(--slotyo-surface);border-top:1px solid var(--slotyo-line);margin-bottom:0!important;gap:12px}
.slotyo-booking .command-buttons .btn{margin-right:0!important;padding:10px 20px}
.slotyo-booking #available-hours .available-hour{min-height:44px;border:1px solid var(--slotyo-action);border-radius:999px;color:var(--slotyo-action);background:var(--slotyo-surface);margin-bottom:8px}
.slotyo-booking #book-appointment-wizard #available-hours .selected-hour,.slotyo-booking #available-hours .available-hour:hover{color:#fff!important;background:var(--slotyo-action)!important;border-color:var(--slotyo-action)!important}
.slotyo-booking .flatpickr-calendar{max-width:100%;box-shadow:none;border:1px solid var(--slotyo-border);border-radius:var(--slotyo-radius)}
.slotyo-booking .flatpickr-calendar :is(.flatpickr-months,.flatpickr-month,.flatpickr-weekdays,span.flatpickr-weekday){background:var(--slotyo-background);color:var(--slotyo-ink)}
.slotyo-booking .flatpickr-calendar .flatpickr-monthDropdown-months{background:transparent;color:var(--slotyo-ink)}
.slotyo-booking .flatpickr-calendar :is(.flatpickr-innerContainer,.flatpickr-rContainer,.flatpickr-days,.dayContainer){max-width:100%;min-width:0;width:100%}
.slotyo-booking .flatpickr-calendar .flatpickr-day.flatpickr-disabled{color:var(--slotyo-muted);opacity:1}
.slotyo-booking .flatpickr-day.selected{background:var(--slotyo-action)!important;border-color:var(--slotyo-action)!important}
.slotyo-booking #frame-footer{color:var(--slotyo-muted);background:var(--slotyo-surface);font-size:.875rem;border-color:var(--slotyo-line)!important}
.slotyo-booking #frame-footer a:not(.badge){display:inline-block;white-space:nowrap;min-width:24px;min-height:24px;line-height:24px;text-decoration:underline;text-underline-offset:3px}
.slotyo-booking #frame-footer .badge{min-height:44px;display:inline-flex!important;align-items:center;justify-content:center;gap:6px}
.slotyo-booking .slotyo-field-error{color:var(--slotyo-error);font-size:.9rem;margin-top:6px}
.slotyo-booking :is(.is-invalid,[aria-invalid="true"]){border:2px solid var(--slotyo-error)!important}
.slotyo-platform .navbar{background:var(--slotyo-surface);border-bottom:1px solid var(--slotyo-border)}
.slotyo-platform main{min-width:0}
.slotyo-platform :is(.modal-content,.card){border-radius:var(--slotyo-radius);border-color:var(--slotyo-border)}
/* Native dialogs and floating controls share the product theme, not status colours. */
.slotyo-platform{--bs-primary:#6359b3;--bs-primary-rgb:99,89,179;--bs-primary-bg-subtle:#eeebf6;--bs-primary-text-emphasis:#4d3e78}
.slotyo-platform #calendar-toolbar{background:var(--slotyo-surface)!important;color:var(--slotyo-ink)!important;border-bottom:1px solid var(--slotyo-line)}
.slotyo-platform #calendar-toolbar :is(.text-white,.text-white-50){color:var(--slotyo-ink)!important}
.slotyo-platform .fc{--fc-button-bg-color:var(--slotyo-action);--fc-button-border-color:var(--slotyo-action);--fc-button-hover-bg-color:var(--slotyo-action-hover);--fc-button-hover-border-color:var(--slotyo-action-hover);--fc-button-active-bg-color:var(--slotyo-action-hover);--fc-button-active-border-color:var(--slotyo-action-hover);--fc-today-bg-color:#eeebf6}
.slotyo-platform .nav-pills{--bs-nav-pills-link-active-bg:var(--slotyo-action)}
.slotyo-platform .nav-pills .nav-link.active{color:#fff!important}
:is(.slotyo-platform,.slotyo-booking) .form-check-input:checked{background-color:var(--slotyo-action);border-color:var(--slotyo-action)}
:is(.slotyo-platform,.slotyo-booking) .modal-content{background:var(--slotyo-surface);color:var(--slotyo-ink);border:1px solid var(--slotyo-line);border-radius:var(--slotyo-radius);box-shadow:0 16px 48px #32274b26;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
:is(.slotyo-platform,.slotyo-booking) .modal-header{background:var(--slotyo-action);background-image:none;color:#fff;border-bottom:1px solid var(--slotyo-action);padding:16px 20px;gap:12px}
:is(.slotyo-platform,.slotyo-booking) .modal .modal-title{color:#fff;font-size:1.2rem;font-weight:650;line-height:1.4;min-width:0;overflow-wrap:anywhere}
:is(.slotyo-platform,.slotyo-booking) .modal-header .btn-close{filter:brightness(0) invert(1);opacity:1;min-width:44px;min-height:44px;flex-shrink:0;background-position:center;padding:0;margin:0;margin-inline-start:auto}
:is(.slotyo-platform,.slotyo-booking) .modal-header .btn-close:focus-visible{outline-color:#fff!important;box-shadow:none!important}
:is(.slotyo-platform,.slotyo-booking) .modal-body{padding:20px;min-height:0;overflow-y:auto;min-width:0}
:is(.slotyo-platform,.slotyo-booking) .modal-footer{padding:16px 20px;gap:8px;background:var(--slotyo-surface);border-top:1px solid var(--slotyo-line);flex-shrink:0}
:is(.slotyo-platform,.slotyo-booking) .modal .btn-outline-secondary{color:var(--slotyo-muted);border-color:var(--slotyo-border);background:var(--slotyo-surface)}
:is(.slotyo-platform,.slotyo-booking) .modal .btn-outline-secondary:hover{background:var(--slotyo-background);color:var(--slotyo-ink)}
:is(.slotyo-platform,.slotyo-booking) .flatpickr-calendar{background:var(--slotyo-surface);color:var(--slotyo-ink);border:1px solid var(--slotyo-border);border-radius:var(--slotyo-radius)}
:is(.slotyo-platform,.slotyo-booking) :is(.flatpickr-months .flatpickr-month,.flatpickr-weekdays,span.flatpickr-weekday,.flatpickr-current-month .flatpickr-monthDropdown-months){background:var(--slotyo-surface)!important;color:var(--slotyo-ink)!important}
:is(.slotyo-platform,.slotyo-booking) .flatpickr-months :is(.flatpickr-prev-month,.flatpickr-next-month){color:var(--slotyo-ink);fill:var(--slotyo-ink)}
:is(.slotyo-platform,.slotyo-booking) .flatpickr-day:is(.selected,.startRange,.endRange){background:var(--slotyo-action)!important;border-color:var(--slotyo-action)!important;color:#fff!important}
:is(.slotyo-platform,.slotyo-booking) .flatpickr-day.today{border-color:var(--slotyo-action)}
:is(.slotyo-platform,.slotyo-booking) .select2-container--default :is(.select2-selection--single,.select2-selection--multiple){background:var(--slotyo-surface);border:1px solid var(--slotyo-border);border-radius:12px;min-height:44px;color:var(--slotyo-ink)}
:is(.slotyo-platform,.slotyo-booking) .select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--slotyo-action);color:#fff}
:is(.slotyo-platform,.slotyo-booking) .select2-dropdown{background:var(--slotyo-surface);border-color:var(--slotyo-border);color:var(--slotyo-ink)}
@media(max-width:991.98px){:is(.slotyo-platform,.slotyo-booking) .modal-fullscreen-lg-down .modal-content{max-height:100vh;max-height:100dvh;border-radius:0}:is(.slotyo-platform,.slotyo-booking) .modal-body{padding:16px}}
@media(max-width:767.98px){.slotyo-booking #main{padding:0}.slotyo-booking #book-appointment-wizard{border-radius:0;border-inline:0}.slotyo-booking .wizard-frame{padding-inline:12px!important}.slotyo-booking .frame-content>.col{margin-left:0;width:100%}.slotyo-booking .command-buttons{display:flex;justify-content:space-between}.slotyo-booking .command-buttons .btn{min-width:0!important;flex:0 1 auto}.slotyo-booking .flatpickr-calendar .dayContainer{min-width:0;max-width:100%;width:100%}.slotyo-booking .flatpickr-calendar .flatpickr-days{max-width:100%}.slotyo-booking #steps{max-width:100%}}
@media(prefers-reduced-motion:reduce){.slotyo-booking *,.slotyo-platform *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Empty-slot guidance uses an explicit readable foreground. */
.slotyo-booking #select-hour-prompt{color:var(--slotyo-muted)!important}

.slotyo-booking #slotyo-service-picker{border:0;padding:0;min-width:0;margin-bottom:24px}
.slotyo-booking #slotyo-service-picker legend{font-weight:600;font-size:1.25rem}
.slotyo-booking .slotyo-service-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.slotyo-booking .slotyo-category-chip{min-height:44px;border:1px solid var(--slotyo-action);border-radius:999px;padding:8px 14px;background:var(--slotyo-surface);color:var(--slotyo-action)}
.slotyo-booking .slotyo-category-chip[aria-pressed="true"]{background:var(--slotyo-action);color:#fff}
.slotyo-booking .slotyo-service-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.slotyo-booking .slotyo-service-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;min-height:104px;padding:20px;text-align:start;border:1px solid var(--slotyo-border);border-radius:var(--slotyo-radius);background:var(--slotyo-surface);color:var(--slotyo-ink);overflow-wrap:anywhere}
.slotyo-booking .slotyo-service-card[hidden]{display:none}
.slotyo-booking .slotyo-service-card:hover{border-color:var(--slotyo-action);background:#f7f6fa}
.slotyo-booking .slotyo-service-card[aria-checked="true"]{border-color:var(--slotyo-action);box-shadow:inset 0 0 0 1px var(--slotyo-action);background:#f3ecf7}
.slotyo-booking .slotyo-service-card strong::before{content:'';display:inline-block;width:14px;height:14px;border:1.5px solid var(--slotyo-muted);border-radius:50%;margin-inline-end:9px;vertical-align:-1px}
.slotyo-booking .slotyo-service-card[aria-checked="true"] strong::before{content:'';border-color:var(--slotyo-action);background:var(--slotyo-action);box-shadow:inset 0 0 0 3px #fff}
.slotyo-booking .slotyo-service-detail{font-size:.9rem;color:var(--slotyo-muted)}
.slotyo-booking .wizard-frame>.frame-container{padding-block:8px!important}
.slotyo-booking #wizard-frame-1 .frame-content>.col{width:100%;max-width:100%;margin-left:0!important;flex:0 0 100%}
.slotyo-booking #slotyo-service-picker legend{font-size:.95rem;color:var(--slotyo-muted);margin-bottom:14px}
.slotyo-booking .slotyo-service-card strong{font-weight:650;font-size:1rem}
.slotyo-product-brand{display:inline-flex;align-items:center;gap:6px;margin-right:8px;vertical-align:middle;color:var(--slotyo-ink);font-size:.9rem;letter-spacing:-.025em}
.slotyo-product-brand img{width:22px;height:22px}
/* Match the approved flexivo wordmark without changing technical theme selectors. */
:is(.slotyo-platform,.slotyo-booking) :is(.slotyo-product-brand strong,.slotyo-login-logo span,.slotyo-confirmation strong.fs-3,#header-logo h6){font-family:Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:-.034em}
.slotyo-booking .footer-powered-by{font-size:.75rem}
.slotyo-booking #frame-footer>small{align-items:center;gap:20px}
@media(min-width:768px){.slotyo-booking .footer-powered-by{width:auto!important;flex:1}.slotyo-booking .footer-options{width:auto!important;flex:0 0 auto;margin-left:auto}}
.slotyo-platform .slotyo-login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px;color:var(--slotyo-ink);font-size:2rem;font-weight:750;letter-spacing:-.05em}
.slotyo-platform .slotyo-login-logo img{width:52px;height:52px}
.slotyo-platform #header-logo{padding:10px 16px!important;min-width:170px}
.slotyo-platform #header-logo img{background:#fff;border-radius:10px;padding:3px}
.slotyo-platform #header-logo h6{font-size:20px!important;letter-spacing:-.035em}
@media(max-width:767.98px){.slotyo-booking #header{padding:20px 16px!important;gap:16px}.slotyo-booking #company-name{width:100%;margin-block:0!important}.slotyo-booking .wizard-frame{padding:20px 16px!important}.slotyo-booking .command-buttons{padding-top:16px}.slotyo-booking #steps{margin-inline:auto!important}.slotyo-booking #frame-footer{padding-inline:16px!important}}
@media(max-width:575.98px){.slotyo-booking .slotyo-service-cards{grid-template-columns:minmax(0,1fr)}}

/* Native admin navigation wraps instead of widening the document. */
.slotyo-platform #header-menu{min-width:0}.slotyo-platform #header-menu .navbar-nav{flex-wrap:wrap;justify-content:flex-end}.slotyo-platform #header .nav-link,.slotyo-platform #header .text-white-50{color:#fff!important}
.slotyo-platform #header .dropdown-menu{--bs-dropdown-bg:var(--slotyo-surface);--bs-dropdown-link-color:var(--slotyo-ink);--bs-dropdown-link-hover-color:var(--slotyo-ink);--bs-dropdown-link-hover-bg:var(--slotyo-background);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:var(--slotyo-action);--bs-dropdown-link-disabled-color:var(--slotyo-muted);max-width:calc(100vw - 24px)}
.slotyo-platform #header .dropdown-item{color:var(--slotyo-ink)!important;white-space:normal;overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}
.slotyo-platform #header .dropdown-item:is(:hover,:focus){color:var(--slotyo-ink)!important;background:var(--slotyo-background)}
.slotyo-platform #header .dropdown-item:is(.active,:active){color:#fff!important;background:var(--slotyo-action)}
.slotyo-platform #header .dropdown-item:is(.disabled,:disabled,[aria-disabled="true"]){color:var(--slotyo-muted)!important;background:var(--slotyo-surface);opacity:1;pointer-events:none}

:is(.slotyo-platform,.slotyo-booking) .slotyo-confirmation{width:100%;max-width:680px;margin-inline:auto}
:is(.slotyo-platform,.slotyo-booking) .slotyo-appointment-overview{padding:20px;border:1px solid var(--slotyo-border);border-radius:var(--slotyo-radius);background:var(--slotyo-surface);text-align:start;margin-block:24px}
:is(.slotyo-platform,.slotyo-booking) .slotyo-appointment-overview dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px}
:is(.slotyo-platform,.slotyo-booking) .slotyo-appointment-overview dd{margin:0;overflow-wrap:anywhere}
.slotyo-booking .slotyo-submit-status{color:var(--slotyo-muted);font-size:.9rem}
@media(max-width:575.98px){:is(.slotyo-platform,.slotyo-booking) .slotyo-appointment-overview dl{grid-template-columns:minmax(0,1fr);gap:4px}:is(.slotyo-platform,.slotyo-booking) .slotyo-appointment-overview dd{margin-bottom:8px}}

:is(.slotyo-platform,.slotyo-booking) .slotyo-confirmation .text-success{color:var(--slotyo-ink)!important}

.slotyo-booking[data-booking-mode="B"] :is(#button-back-2,.book-step)[hidden]{display:none!important}

/* Keep the mobile wizard anchored while native controls and service cards initialize. */
@media(max-width:767.98px){.slotyo-booking #main>.wrapper{align-items:flex-start!important}.slotyo-booking #book-appointment-wizard{margin-block:0!important}}
/* Before native B initialization, keep the footer out of the future calendar area. */
@media(max-width:767.98px){.slotyo-booking[data-reserve-first-step="1"] #wizard-frame-1{min-height:100vh;min-height:100svh}}
