:root{--sky-glass-blur: 18px;--sky-glass-alpha: 0.55;--sky-glass-sat: 160%;--sky-glass-shadow: 0.4;--sky-font-scale: 1;--sky-logo-height: 44px;--sky-gold: #b08d57;--sky-gold-rgb: 176,141,87}html{font-size: calc(16px * var(--sky-font-scale,1))}body{font-family: var(--sky-font,var(--bs-body-font-family))}html[data-sky-heading='serif'] :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.modal-title,#company-name .sky-title),html[data-sky-skin='luxury'] :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6,.modal-title,#company-name .sky-title){font-family: Georgia,'Times New Roman',Cambria,serif;letter-spacing: 0.01em}html[data-sky-btn='square'] .btn{border-radius: 0}html[data-sky-btn='rounded'] .btn{border-radius: 0.65rem}html[data-sky-btn='pill'] .btn{border-radius: 50rem}html[data-sky-shadow='none'] :is(.card,.modal-content,.dropdown-menu,.shadow,.shadow-sm,#book-appointment-wizard){box-shadow: none !important}html[data-sky-shadow='soft'] :is(.card,#book-appointment-wizard){box-shadow: 0 4px 18px rgba(20,30,50,0.08) !important}html[data-sky-shadow='strong'] :is(.card,#book-appointment-wizard,.modal-content){box-shadow: 0 14px 40px rgba(20,30,50,0.25) !important}html[data-sky-density='compact']{--bs-body-line-height: 1.35}html[data-sky-density='compact'] .btn:not(.btn-sm):not(.btn-lg){padding: 0.28rem 0.7rem}html[data-sky-density='compact'] :is(.form-control,.form-select):not(.form-control-lg){padding: 0.3rem 0.65rem}html[data-sky-density='compact'] .table > :not(caption) > * > *{padding: 0.3rem 0.5rem}html[data-sky-density='compact'] :is(.card-body,.modal-body){padding: 0.8rem 1rem}html[data-sky-density='compact'] .mb-3{margin-bottom: 0.65rem !important}html[data-sky-anim='0'] *,html[data-sky-anim='0'] *::before,html[data-sky-anim='0'] *::after{transition: none !important;animation: none !important}html[data-sky-slot='compact'] .fc .fc-timegrid-slot{height: 1rem}html[data-sky-slot='tall'] .fc .fc-timegrid-slot{height: 2.1rem}html[data-sky-header='gradient'] #header.bg-primary{background-image: linear-gradient(120deg,var(--bs-primary),color-mix(in srgb,var(--bs-primary) 55%,#000)) !important}html[data-sky-header='glass'] #header.bg-primary{background: rgba(var(--bs-primary-rgb),0.62) !important;backdrop-filter: blur(14px) saturate(150%);-webkit-backdrop-filter: blur(14px) saturate(150%)}html[data-sky-header='transparent'] #header.bg-primary{background: rgba(14,20,30,0.55) !important;backdrop-filter: blur(14px) saturate(140%);-webkit-backdrop-filter: blur(14px) saturate(140%)}html[data-sky-scope='booking'] #book-appointment-wizard{transition: box-shadow 0.3s ease}@media (min-width: 768px){html[data-sky-scope='booking'] #book-appointment-wizard{border-radius: 18px !important;box-shadow: 0 18px 50px rgba(20,30,50,0.18) !important}}html[data-sky-scope='booking'][data-sky-width='narrow'] #book-appointment-wizard{flex: 0 0 auto;width: min(100%,700px)}html[data-sky-scope='booking'][data-sky-width='wide'] #book-appointment-wizard{flex: 0 0 auto;width: min(100%,1240px)}html[data-sky-scope='booking'][data-sky-width='full'] #book-appointment-wizard{flex: 0 0 auto;width: 100%}html[data-sky-scope='booking'] #book-appointment-wizard #header{display: flex !important;flex-direction: row !important;flex-wrap: nowrap;align-items: center;gap: 0.9rem;padding: 0.75rem 1.1rem !important;min-height: 0}#header .sky-brand{display: flex;align-items: center;gap: 0.8rem;flex: 1 1 auto;min-width: 0}#header .sky-brand img#company-logo{height: var(--sky-logo-height);width: auto;max-height: none;flex: 0 0 auto}#header .sky-brand-text{min-width: 0;flex: 1 1 auto}#header .sky-title{display: block;font-size: 1.12rem;font-weight: 500;line-height: 1.2;color: #fff;white-space: nowrap;overflow: hidden;text-overflow: ellipsis}#header .display-booking-selection{display: block;max-width: 100%;margin-top: 2px;font-size: 0.8rem;line-height: 1.3;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;color: rgba(255,255,255,0.82) !important}html[data-sky-scope='booking'] #book-appointment-wizard #header #steps{display: flex !important;align-items: center;gap: 0.45rem;flex: 0 0 auto;width: auto !important;margin: 0 !important;float: none !important}html[data-sky-scope='booking'] #book-appointment-wizard #header .book-step{display: flex !important;align-items: center;justify-content: center;float: none !important;height: 30px !important;width: 30px !important;margin: 0 !important;padding: 0 !important;border-radius: 50% !important;background: rgba(255,255,255,0.18) !important;transition: all 0.25s ease}html[data-sky-scope='booking'] #book-appointment-wizard #header .book-step strong{font-size: 0.8rem !important;line-height: 1;color: rgba(255,255,255,0.8) !important}html[data-sky-scope='booking'] #book-appointment-wizard #header .book-step.active-step{height: 36px !important;width: 36px !important;margin: 0 !important;padding: 0 !important;background: #fff !important;box-shadow: 0 0 0 3px rgba(255,255,255,0.28)}html[data-sky-scope='booking'] #book-appointment-wizard #header .book-step.active-step strong{font-size: 1rem !important;font-weight: 700;color: var(--bs-primary) !important}html[data-sky-scope='booking'] #book-appointment-wizard #header .book-step[style*='display: none']{display: none !important}@media (max-width: 575.98px){#header .sky-brand img#company-logo{height: 34px}#header .sky-title{font-size: 1rem}html[data-sky-scope='booking'] #book-appointment-wizard #header .book-step{height: 26px !important;width: 26px !important}html[data-sky-scope='booking'] #book-appointment-wizard #header .book-step.active-step{height: 30px !important;width: 30px !important}}html[data-sky-scope='booking'] #book-appointment-wizard .frame-container{padding-top: 1.4rem}html[data-sky-scope='booking'] #book-appointment-wizard .frame-title{font-weight: 300;letter-spacing: 0.01em}html[data-sky-scope='booking'] #book-appointment-wizard :is(.form-control,.form-select){min-height: 2.65rem}html[data-sky-scope='booking'] #book-appointment-wizard #available-hours{display: grid;grid-template-columns: repeat(auto-fill,minmax(92px,1fr));gap: 0.5rem;align-content: start}html[data-sky-scope='booking'] #book-appointment-wizard #available-hours .available-hour{margin: 0 !important;width: 100%}html[data-sky-scope='booking'] #book-appointment-wizard .command-buttons{padding-top: 0.5rem}html[data-sky-scope='booking'] #book-appointment-wizard .command-buttons .btn{min-width: 7.5rem;padding: 0.55rem 1.2rem;font-weight: 500}html[data-sky-scope='booking'] #frame-footer{font-size: 0.85em;opacity: 0.9;padding: 0.7rem 1.1rem !important}html[data-sky-skin='luxury'][data-bs-theme='light']{--sky-page-bg: radial-gradient(1100px 620px at 8% -8%,rgba(var(--sky-gold-rgb),0.18),transparent 62%),radial-gradient(900px 600px at 100% 0%,rgba(var(--sky-gold-rgb),0.1),transparent 60%),linear-gradient(180deg,#f7f2e9,#efe7da);--sky-surface: #fffdf9;--sky-surface-strong: #ffffff;--sky-surface-2: #faf6ee;--sky-border: rgba(var(--sky-gold-rgb),0.32);--sky-text: #2b241b;--sky-muted: #7a6d5b;--sky-header-bg: linear-gradient(135deg,#14202e,#1f3044);--sky-nav-text: #f4ead8;--sky-btn-text: #1d1710;--sky-link: #8a6a35}html[data-sky-skin='luxury'][data-bs-theme='dark']{--sky-page-bg: radial-gradient(1100px 620px at 8% -8%,rgba(var(--sky-gold-rgb),0.2),transparent 62%),radial-gradient(900px 600px at 100% 0%,rgba(var(--sky-gold-rgb),0.08),transparent 60%),linear-gradient(180deg,#0c131c,#101a26);--sky-surface: #141e2b;--sky-surface-strong: #1a2636;--sky-surface-2: #0f1822;--sky-border: rgba(var(--sky-gold-rgb),0.3);--sky-text: #ece4d4;--sky-muted: #a79b86;--sky-header-bg: linear-gradient(135deg,#090e15,#142030);--sky-nav-text: #f4ead8;--sky-btn-text: #1d1710;--sky-link: #d4b27a}html[data-sky-skin='luxury'][data-sky-glass='1'][data-bs-theme='light']{--sky-surface: rgba(255,252,246,var(--sky-glass-alpha));--sky-surface-strong: rgba(255,253,249,calc(var(--sky-glass-alpha) + 0.25));--sky-surface-2: rgba(255,255,255,0.5);--sky-blur: var(--sky-glass-blur)}html[data-sky-skin='luxury'][data-sky-glass='1'][data-bs-theme='dark']{--sky-surface: rgba(20,30,43,calc(var(--sky-glass-alpha) + 0.2));--sky-surface-strong: rgba(26,38,54,calc(var(--sky-glass-alpha) + 0.3));--sky-surface-2: rgba(255,255,255,0.06);--sky-blur: var(--sky-glass-blur)}html[data-sky-skin='frosted'][data-bs-theme='light']{--sky-page-bg: radial-gradient(900px 620px at 10% 6%,rgba(var(--bs-primary-rgb),0.38),transparent 60%),radial-gradient(800px 600px at 92% 10%,rgba(110,168,255,0.4),transparent 60%),radial-gradient(900px 700px at 72% 104%,rgba(255,170,205,0.38),transparent 60%),linear-gradient(160deg,#e6edf7,#f6f0ea);--sky-surface: rgba(255,255,255,var(--sky-glass-alpha));--sky-surface-strong: rgba(255,255,255,calc(var(--sky-glass-alpha) + 0.25));--sky-surface-2: rgba(255,255,255,0.45);--sky-border: rgba(255,255,255,0.7);--sky-text: #17202b;--sky-muted: #566273;--sky-blur: var(--sky-glass-blur);--sky-nav-text: #fff;--sky-btn-text: #fff;--sky-link: var(--bs-primary)}html[data-sky-skin='frosted'][data-bs-theme='dark']{--sky-page-bg: radial-gradient(900px 620px at 10% 6%,rgba(var(--bs-primary-rgb),0.35),transparent 60%),radial-gradient(800px 600px at 92% 10%,rgba(90,120,255,0.3),transparent 60%),radial-gradient(900px 700px at 72% 104%,rgba(190,90,160,0.26),transparent 60%),linear-gradient(160deg,#0a0f1d,#131a2e);--sky-surface: rgba(22,28,46,calc(var(--sky-glass-alpha) + 0.12));--sky-surface-strong: rgba(30,38,62,calc(var(--sky-glass-alpha) + 0.28));--sky-surface-2: rgba(255,255,255,0.07);--sky-border: rgba(255,255,255,0.15);--sky-text: #e8edf7;--sky-muted: #9aa6bd;--sky-blur: var(--sky-glass-blur);--sky-nav-text: #fff;--sky-btn-text: #fff;--sky-link: color-mix(in srgb,var(--bs-primary) 60%,#fff)}html[data-sky-active]{--sky-blur: 0px}html[data-sky-active]{color-scheme: light;background: var(--sky-page-bg) fixed;min-height: 100%;--bs-body-bg: var(--sky-surface);--bs-body-bg-rgb: 255,255,255;--bs-body-color: var(--sky-text);--bs-emphasis-color: var(--sky-text);--bs-secondary-color: var(--sky-muted);--bs-tertiary-color: var(--sky-muted);--bs-secondary-bg: var(--sky-surface-2);--bs-tertiary-bg: var(--sky-surface-2);--bs-border-color: var(--sky-border);--bs-link-color: var(--sky-link);--bs-link-hover-color: var(--sky-link)}html[data-sky-active][data-bs-theme='dark']{color-scheme: dark}html[data-sky-active] body{background: transparent !important;color: var(--sky-text)}html[data-sky-active] :is(h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6){color: var(--sky-text)}html[data-sky-skin='luxury']{--bs-primary: var(--sky-gold);--bs-primary-rgb: var(--sky-gold-rgb);--bs-focus-ring-color: rgba(var(--sky-gold-rgb),0.3);--ea-primary-hover: color-mix(in srgb,var(--sky-gold) 85%,#fff);--ea-primary-active: color-mix(in srgb,var(--sky-gold) 85%,#000)}html[data-sky-skin='luxury'] .btn-primary{--bs-btn-color: var(--sky-btn-text);--bs-btn-hover-color: var(--sky-btn-text);--bs-btn-active-color: var(--sky-btn-text);--bs-btn-bg: var(--sky-gold);--bs-btn-border-color: var(--sky-gold);font-weight: 500;letter-spacing: 0.02em}html[data-sky-skin='luxury'] .text-primary{color: var(--sky-link) !important}html[data-sky-skin='luxury'] :is(.badge.bg-primary,.bg-primary:not(#header)){color: var(--sky-btn-text) !important}html[data-sky-skin='luxury'] #header.bg-primary{background: var(--sky-header-bg) !important;border-bottom: 2px solid var(--sky-gold)}html[data-sky-skin='luxury'] #header .sky-title,html[data-sky-skin='luxury'] #header .navbar-brand h6{color: var(--sky-nav-text) !important;letter-spacing: 0.08em}html[data-sky-skin='luxury'] #header .nav-link{color: var(--sky-nav-text) !important;letter-spacing: 0.02em}html[data-sky-skin='luxury'] #header .nav-link:hover,html[data-sky-skin='luxury'] #header .nav-link.active{color: var(--sky-gold) !important}html[data-sky-skin='luxury'][data-sky-scope='booking'] #book-appointment-wizard #header .book-step.active-step{background: var(--sky-gold) !important;box-shadow: 0 0 0 3px rgba(var(--sky-gold-rgb),0.35)}html[data-sky-skin='luxury'][data-sky-scope='booking'] #book-appointment-wizard #header .book-step.active-step strong{color: var(--sky-btn-text) !important}html[data-sky-skin='frosted'] #header.bg-primary,html[data-sky-skin='frosted'][data-sky-header='solid'] #header.bg-primary{background: rgba(var(--bs-primary-rgb),0.58) !important;backdrop-filter: blur(var(--sky-glass-blur)) saturate(var(--sky-glass-sat));-webkit-backdrop-filter: blur(var(--sky-glass-blur)) saturate(var(--sky-glass-sat));border-bottom: 1px solid var(--sky-border)}html[data-sky-active] #header :is(.navbar-brand,.navbar-brand *,.nav-link,.navbar-text,.navbar-toggler){color: var(--sky-nav-text,#fff) !important}html[data-sky-active] :is( .card,.modal-content,.dropdown-menu,.popover,.offcanvas,.toast,.accordion-item,#book-appointment-wizard,#footer,.select2-dropdown,.flatpickr-calendar:not(.inline),.fc-popover,.trumbowyg-box,.tippy-box,.cc-window ){background: var(--sky-surface) !important;color: var(--sky-text);border: 1px solid var(--sky-border);backdrop-filter: blur(var(--sky-blur)) saturate(var(--sky-glass-sat));-webkit-backdrop-filter: blur(var(--sky-blur)) saturate(var(--sky-glass-sat))}html[data-sky-active] :is(.card,#book-appointment-wizard,.modal-content){box-shadow: 0 10px 34px rgba(10,16,30,calc(0.28 * var(--sky-glass-shadow) + 0.04)) !important}html[data-sky-active] .modal-content .card,html[data-sky-active] .card .card{background: var(--sky-surface-2) !important;backdrop-filter: none;-webkit-backdrop-filter: none;box-shadow: none !important}html[data-sky-active] :is(.card-header,.card-footer,.modal-header,.modal-footer,.popover-header){background: transparent !important;border-color: var(--sky-border) !important;color: var(--sky-text)}html[data-sky-active] .bg-body,html[data-sky-active] .bg-white,html[data-sky-active] .bg-light,html[data-sky-active] .bg-body-tertiary,html[data-sky-active] .bg-body-secondary{background-color: var(--sky-surface) !important;color: var(--sky-text)}html[data-sky-active] #book-appointment-wizard.bg-body{overflow: hidden}html[data-sky-active] .bg-dark:not(.badge){background: rgba(14,20,32,0.6) !important;backdrop-filter: blur(var(--sky-glass-blur));-webkit-backdrop-filter: blur(var(--sky-glass-blur))}html[data-sky-skin='luxury'] .bg-dark:not(.badge){background: rgba(20,32,46,0.94) !important;border-bottom: 1px solid rgba(var(--sky-gold-rgb),0.35)}html[data-sky-active] .border-top,html[data-sky-active] .border-bottom,html[data-sky-active] .border{border-color: var(--sky-border) !important}html[data-sky-active] hr{border-color: var(--sky-border);opacity: 1}html[data-sky-active] .text-muted,html[data-sky-active] .form-text{color: var(--sky-muted) !important}html[data-sky-active] .modal-backdrop{--bs-backdrop-bg: #070b14;--bs-backdrop-opacity: 0.5;backdrop-filter: blur(5px);-webkit-backdrop-filter: blur(5px)}html[data-sky-active] .modal-content{border-radius: var(--bs-border-radius-xl,1rem);box-shadow: 0 30px 80px rgba(5,8,18,0.45) !important}html[data-sky-active] .modal-title{color: var(--sky-text)}html[data-sky-active] .modal-header .btn-close{filter: none}html[data-sky-active][data-bs-theme='dark'] .modal-header .btn-close{filter: invert(1) grayscale(100%) brightness(200%)}html[data-sky-skin='luxury'] .modal-header{border-bottom: 1px solid var(--sky-gold) !important}html[data-sky-active] .modal-dialog-scrollable .modal-body{scrollbar-width: thin}html[data-sky-active] :is( .form-control,.form-select,.input-group-text,.select2-container--default .select2-selection--single,.select2-container--default .select2-selection--multiple,.trumbowyg-editor,.flatpickr-input,textarea ){background-color: var(--sky-surface-2) !important;color: var(--sky-text) !important;border-color: var(--sky-border) !important}html[data-sky-active] .form-control::placeholder{color: var(--sky-muted);opacity: 0.8}html[data-sky-active] :is(.form-control,.form-select):focus{border-color: var(--bs-primary) !important;box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb),0.25) !important}html[data-sky-active] :is(.form-control,.form-select):disabled,html[data-sky-active] .form-control[readonly]{opacity: 0.7}html[data-sky-active] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23808a99' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}html[data-sky-active] option{background: var(--sky-surface-strong);color: var(--sky-text)}html[data-sky-active] .form-check-input:not(:checked){background-color: var(--sky-surface-2);border-color: var(--sky-border)}html[data-sky-active] .form-label{color: var(--sky-text)}html[data-sky-active] .select2-container--default .select2-selection__rendered,html[data-sky-active] .select2-container--default .select2-results__option{color: var(--sky-text) !important}html[data-sky-active] .select2-container--default .select2-results__option--highlighted{background: rgba(var(--bs-primary-rgb),0.22) !important}html[data-sky-active] .select2-container--default .select2-search--dropdown .select2-search__field{background: var(--sky-surface-2);color: var(--sky-text);border-color: var(--sky-border)}html[data-sky-active] .btn-light{--bs-btn-bg: var(--sky-surface-2);--bs-btn-border-color: var(--sky-border);--bs-btn-color: var(--sky-text);--bs-btn-hover-bg: var(--sky-surface-strong);--bs-btn-hover-color: var(--sky-text);--bs-btn-hover-border-color: var(--sky-border)}html[data-sky-active] :is(.btn-outline-secondary,.btn-outline-dark){--bs-btn-color: var(--sky-text);--bs-btn-border-color: var(--sky-border);--bs-btn-hover-bg: var(--sky-surface-strong);--bs-btn-hover-color: var(--sky-text);--bs-btn-hover-border-color: var(--sky-border);--bs-btn-active-bg: var(--sky-surface-strong);--bs-btn-active-color: var(--sky-text)}html[data-sky-active] :is(.btn-secondary,.btn-dark){--bs-btn-bg: rgba(var(--sky-ink-rgb,20,28,44),0.55);--bs-btn-border-color: var(--sky-border);--bs-btn-color: #fff;--bs-btn-hover-bg: rgba(var(--sky-ink-rgb,20,28,44),0.75);--bs-btn-hover-border-color: var(--sky-border);--bs-btn-hover-color: #fff;backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px)}html[data-sky-active] .btn-primary{--bs-btn-color: var(--sky-btn-text,#fff);--bs-btn-hover-color: var(--sky-btn-text,#fff);--bs-btn-active-color: var(--sky-btn-text,#fff)}html[data-sky-active] #book-appointment-wizard #available-hours .available-hour{background: var(--sky-surface-2);border: 1px solid var(--sky-border);color: var(--sky-text)}html[data-sky-active] #book-appointment-wizard #available-hours .available-hour:hover{border-color: var(--bs-primary)}html[data-sky-active] #book-appointment-wizard #available-hours .selected-hour{background: var(--bs-primary) !important;border-color: var(--bs-primary) !important;color: var(--sky-btn-text,#fff) !important}html[data-sky-active] #book-appointment-wizard .flatpickr-calendar.inline{background: transparent !important;box-shadow: none}html[data-sky-active] .dropdown-menu{--bs-dropdown-link-color: var(--sky-text);--bs-dropdown-link-hover-bg: rgba(var(--bs-primary-rgb),0.16);--bs-dropdown-link-hover-color: var(--sky-text);--bs-dropdown-divider-bg: var(--sky-border);--bs-dropdown-color: var(--sky-text)}html[data-sky-active] .list-group{--bs-list-group-bg: transparent;--bs-list-group-color: var(--sky-text);--bs-list-group-border-color: var(--sky-border);--bs-list-group-action-hover-bg: rgba(var(--bs-primary-rgb),0.1);--bs-list-group-action-hover-color: var(--sky-text)}html[data-sky-active] .nav-tabs{--bs-nav-tabs-border-color: var(--sky-border);--bs-nav-tabs-link-active-bg: var(--sky-surface-strong);--bs-nav-tabs-link-active-color: var(--sky-text);--bs-nav-tabs-link-active-border-color: var(--sky-border);--bs-nav-tabs-link-hover-border-color: var(--sky-border)}html[data-sky-active] .nav-pills{--bs-nav-pills-link-active-color: var(--sky-btn-text,#fff)}html[data-sky-active] .table{--bs-table-bg: transparent;--bs-table-color: var(--sky-text);--bs-table-border-color: var(--sky-border);--bs-table-striped-bg: rgba(127,127,140,0.08);--bs-table-striped-color: var(--sky-text);--bs-table-hover-bg: rgba(var(--bs-primary-rgb),0.1);--bs-table-hover-color: var(--sky-text)}html[data-sky-active] .page-link{background: var(--sky-surface-2);border-color: var(--sky-border);color: var(--sky-text)}html[data-sky-active] .alert{backdrop-filter: blur(8px);-webkit-backdrop-filter: blur(8px)}html[data-sky-active] #notification{background: var(--sky-surface-strong) !important;color: var(--sky-text) !important;border: 1px solid var(--sky-border);backdrop-filter: blur(var(--sky-glass-blur));-webkit-backdrop-filter: blur(var(--sky-glass-blur))}html[data-sky-active][data-bs-theme='dark'] #loading{background: rgba(8,12,22,0.7) !important}html[data-sky-active] *{scrollbar-width: thin;scrollbar-color: rgba(128,134,150,0.55) transparent}html[data-sky-active] .tippy-box[data-theme~='light'],html[data-sky-active] .tippy-box{background: var(--sky-surface-strong) !important;color: var(--sky-text)}html[data-sky-active] .tippy-arrow{color: var(--sky-surface-strong)}html[data-sky-active] .trumbowyg-button-pane{background: var(--sky-surface-2) !important;border-color: var(--sky-border) !important}html[data-sky-active] .trumbowyg-button-pane button{color: var(--sky-text)}html[data-sky-active] .trumbowyg-button-pane button svg{fill: currentColor}html[data-sky-active] .trumbowyg-button-pane .trumbowyg-button-group::after{background: var(--sky-border)}html[data-sky-active] .flatpickr-calendar{color: var(--sky-text)}html[data-sky-active] :is(.flatpickr-day,.flatpickr-weekday,.flatpickr-current-month input.cur-year,span.flatpickr-weekday){color: var(--sky-text)}html[data-sky-active] :is(.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.flatpickr-disabled){color: var(--sky-muted)}html[data-sky-active] .flatpickr-day:hover:not(.selected):not(.flatpickr-disabled){background: rgba(var(--bs-primary-rgb),0.2);border-color: transparent}html[data-sky-active] .flatpickr-day.selected,html[data-sky-active] .flatpickr-day.selected:hover{background: var(--bs-primary) !important;border-color: var(--bs-primary) !important;color: var(--sky-btn-text,#fff) !important}html[data-sky-active] .flatpickr-day.today:not(.selected){border-color: var(--bs-primary)}html[data-sky-active] .fc{--fc-page-bg-color: transparent;--fc-neutral-bg-color: rgba(127,127,140,0.12);--fc-neutral-text-color: var(--sky-muted);--fc-border-color: var(--sky-border);--fc-today-bg-color: rgba(var(--bs-primary-rgb),0.1);--fc-now-indicator-color: #ff4d4f;--fc-non-business-color: rgba(120,124,140,0.18);--fc-highlight-color: rgba(var(--bs-primary-rgb),0.18);--fc-list-event-hover-bg-color: rgba(var(--bs-primary-rgb),0.12);--fc-more-link-bg-color: var(--sky-surface-2);color: var(--sky-text)}html[data-sky-active] .fc :is(.fc-col-header-cell,.fc-list-day-cap,.fc-list-day-text,.fc-list-day-side-text){background: var(--sky-surface-2);color: var(--sky-text)}html[data-sky-active] .fc :is(.fc-timegrid-slot-label,.fc-timegrid-axis,.fc-scrollgrid-sync-inner){color: var(--sky-muted)}html[data-sky-active] .fc :is(.fc-scrollgrid,.fc-scrollgrid td,.fc-scrollgrid th,.fc-list){border-color: var(--sky-border)}html[data-sky-active] .fc .fc-timegrid-event,html[data-sky-active] .fc .fc-daygrid-event{border-radius: 8px;box-shadow: 0 2px 8px rgba(10,16,30,0.18)}html[data-sky-active] .fc .fc-toolbar-title{color: var(--sky-text)}html[data-sky-active] .fc-theme-bootstrap5 :is(.fc-button-primary,.btn-primary){color: var(--sky-btn-text,#fff)}html[data-sky-active] #calendar .provider-column h6:not([data-sky-colored]){background: var(--sky-surface-2)}html[data-sky-active] .popover .popover-title,html[data-sky-active] .popover-body{color: var(--sky-text)}html[data-sky-active] .cc-window{border-radius: 14px}.sky-promo{display: flex;flex-wrap: wrap;align-items: center;gap: 0.4rem 0.6rem;padding: 0.45rem 1.1rem;font-size: 0.82rem;background: rgba(var(--bs-primary-rgb),0.09);border-bottom: 1px solid var(--bs-border-color)}.sky-promo-label{font-weight: 600;color: var(--bs-primary)}.sky-promo-chip{padding: 0.15rem 0.7rem;border-radius: 99px;border: 1px solid rgba(var(--bs-primary-rgb),0.4);background: var(--bs-body-bg);color: var(--bs-body-color);text-decoration: none;white-space: nowrap}.sky-promo-chip:hover{border-color: var(--bs-primary)}.sky-promo-more{margin-left: auto;text-decoration: none}.sky-theme-trigger{display: inline-flex;align-items: center;justify-content: center;gap: 0.4rem;border: 0;background: transparent;color: inherit;cursor: pointer;line-height: 1}.sky-theme-trigger.nav-link{display: block;line-height: var(--bs-body-line-height,1.5)}.sky-theme-trigger.sky-theme-pill{width: 32px;height: 32px;flex: 0 0 auto;border-radius: 50%;background: rgba(255,255,255,0.18);color: #fff;transition: background 0.2s ease}.sky-theme-trigger.sky-theme-pill:hover{background: rgba(255,255,255,0.32)}.sky-menu{position: fixed;z-index: 2100;min-width: 230px;max-width: calc(100vw - 16px);padding: 0.4rem;border-radius: 14px;background: var(--sky-surface-strong,var(--bs-body-bg));color: var(--sky-text,var(--bs-body-color));border: 1px solid var(--sky-border,var(--bs-border-color));box-shadow: 0 18px 50px rgba(5,8,18,0.35);backdrop-filter: blur(16px) saturate(150%);-webkit-backdrop-filter: blur(16px) saturate(150%);font-size: 0.9rem}html:not([data-sky-active]) .sky-menu{background: var(--bs-body-bg);border-color: var(--bs-border-color)}.sky-menu .sky-menu-title{padding: 0.35rem 0.7rem 0.45rem;font-size: 0.72rem;letter-spacing: 0.08em;text-transform: uppercase;opacity: 0.65}.sky-menu button{display: flex;align-items: center;gap: 0.6rem;width: 100%;padding: 0.5rem 0.7rem;border: 0;border-radius: 9px;background: transparent;color: inherit;text-align: left;cursor: pointer}.sky-menu button:hover,.sky-menu button:focus-visible{background: rgba(var(--bs-primary-rgb),0.16);outline: none}.sky-menu button .sky-check{width: 1rem;flex: 0 0 1rem;text-align: center;opacity: 0}.sky-menu button.is-active .sky-check{opacity: 1;color: var(--bs-primary)}.sky-menu .sky-swatch{width: 16px;height: 16px;border-radius: 50%;border: 1px solid rgba(128,128,140,0.5);flex: 0 0 auto}
/* ==========================================================================
   v2.3 - Sticky booking header, full-width mobile header, scrollable dialogs
   ========================================================================== */

/* The wizard used Bootstrap's overflow-hidden, which turns it into the scroll container and breaks position: sticky.
   Clipping is moved to the header / footer instead so the rounded corners are kept. */
html[data-sky-scope='booking'] #book-appointment-wizard {
    overflow: visible !important;
}

html[data-sky-scope='booking'] #book-appointment-wizard #header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1030;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    transition: padding 0.2s ease, box-shadow 0.2s ease;
}

html[data-sky-scope='booking'] #book-appointment-wizard #header + * {
    position: relative;
}

html[data-sky-scope='booking'] #book-appointment-wizard > :last-child {
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
}

/* Mobile: edge-to-edge (wider) header with a larger logo, the selection and the steps stacked and centred.
   Once the page is scrolled the header condenses to the logo and the steps so it never hogs the screen. */
@media (max-width: 767.98px) {
    html[data-sky-scope='booking'] #main {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    html[data-sky-scope='booking'] #main > .row.wrapper {
        margin-left: 0 !important;
        margin-right: 0 !important;
        --bs-gutter-x: 0;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard #header {
        flex-direction: column !important;
        flex-wrap: nowrap;
        justify-content: center;
        gap: 0.5rem;
        width: 100%;
        padding: 0.7rem 0.75rem 0.8rem !important;
        text-align: center;
        border-radius: 0;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard #header .sky-brand {
        flex-direction: column;
        flex: 0 0 auto;
        width: 100%;
        gap: 0.25rem;
        text-align: center;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard #header .sky-brand img#company-logo {
        height: auto;
        width: auto;
        max-width: 88%;
        max-height: 64px;
        object-fit: contain;
        transition: max-height 0.2s ease;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard #header .sky-brand-text {
        width: 100%;
        flex: 0 0 auto;
        transition: opacity 0.2s ease;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard #header #steps {
        justify-content: center;
    }

    /* Condensed state (added by booking_layout.js after the page is scrolled) */
    html[data-sky-scope='booking'] #book-appointment-wizard #header.sky-condensed {
        padding-top: 0.4rem !important;
        padding-bottom: 0.45rem !important;
        gap: 0.3rem;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard #header.sky-condensed .sky-brand img#company-logo {
        max-height: 34px;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard #header.sky-condensed .sky-brand-text {
        display: none;
    }
}

/* Dialogs: never taller than the screen; the body scrolls when the content overflows. */
.modal-dialog:not(.modal-fullscreen) .modal-content {
    max-height: calc(100vh - 2rem);
    max-height: calc(100dvh - 2rem);
}

.modal-content {
    display: flex;
    flex-direction: column;
}

.modal-content > .modal-body,
.modal-content > form > .modal-body {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    min-height: 0;
}

.modal-content > form {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: inherit;
}

.modal-content > .modal-header,
.modal-content > .modal-footer {
    flex: 0 0 auto;
}

/* Sticky header must not sit above open dialogs */
.modal {
    z-index: 1060;
}

.modal-backdrop {
    z-index: 1055;
}

/* Packages link in the booking header */
.sky-packages-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    padding: 0.35rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff !important;
    font-size: 0.82rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s ease;
}

.sky-packages-link:hover,
.sky-packages-link:focus {
    background: rgba(255, 255, 255, 0.32);
    color: #fff !important;
}

@media (max-width: 767.98px) {
    html[data-sky-scope='booking'] #book-appointment-wizard #header .sky-packages-link {
        padding: 0.3rem 0.75rem;
    }

    html[data-sky-scope='booking'] #book-appointment-wizard #header.sky-condensed .sky-packages-link span {
        display: none;
    }
}

/* ==========================================================================
   v2.4 - Calendar table view: no grey toolbar band and no Day selector.
   The Add / Refresh / view-toggle buttons float at the right of the date row,
   which gives the therapist columns more vertical space.
   ========================================================================== */
#calendar-page.sky-table-view #calendar-toolbar {
    position: relative;
    z-index: 20;
    height: 0;
    min-height: 0;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: inherit;
    overflow: visible;
}

/* The 1 day / 3 days selector is no longer shown (the table view always shows one day). */
#calendar-page.sky-table-view #calendar-filter {
    display: none !important;
}

#calendar-page.sky-table-view #calendar-actions {
    position: absolute;
    top: 0.5rem;
    right: 0.25rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    width: auto;
    max-width: none;
    padding: 0;
    text-align: right;
}

#calendar-page.sky-table-view #calendar-actions .btn-light {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color);
}

#calendar-page.sky-table-view #calendar-actions .btn-light:hover {
    background: var(--bs-tertiary-bg);
}

#calendar-page.sky-table-view #calendar > .calendar-header {
    padding-top: 0.5rem;
    padding-right: 11rem; /* room for the three buttons */
}

@media (max-width: 991.98px) {
    #calendar-page.sky-table-view #calendar-toolbar {
        height: auto;
        padding: 0.4rem 0 0 !important;
    }

    #calendar-page.sky-table-view #calendar-actions {
        position: static;
        justify-content: flex-end;
        flex-wrap: wrap;
    }

    #calendar-page.sky-table-view #calendar > .calendar-header {
        padding-right: 0;
    }
}

/* The appearance / theme selector is not offered on mobile. */
@media (max-width: 767.98px) {
    .sky-theme-trigger,
    .sky-theme-pill,
    .nav-item:has(> .sky-theme-trigger),
    .sky-theme-menu {
        display: none !important;
    }
}

/* ==========================================================================
   WhatsApp chat button (public pages) - configured in Settings > WhatsApp chat
   ========================================================================== */
.sky-wa {
    position: fixed;
    bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
    z-index: 1040;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    font-family: inherit;
}

.sky-wa-right { right: 1rem; align-items: flex-end; }
.sky-wa-left { left: 1rem; align-items: flex-start; }

.sky-wa-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.7rem 1.1rem;
    border: 0;
    border-radius: 999px;
    background: var(--sky-wa-color, #25d366);
    color: #fff !important;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.sky-wa-button:hover,
.sky-wa-button:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 9px 22px rgba(0, 0, 0, 0.32);
    color: #fff;
}

.sky-wa-ico { width: 1.45rem; height: 1.45rem; flex: 0 0 auto; }

.sky-wa-panel {
    width: min(320px, calc(100vw - 2rem));
    overflow: hidden;
    border-radius: 14px;
    background: var(--bs-body-bg, #fff);
    color: var(--bs-body-color, #212529);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.3);
}

.sky-wa-panel[hidden] { display: none; }

.sky-wa-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.7rem 1rem;
    background: var(--sky-wa-color, #25d366);
    color: #fff;
}

.sky-wa-close {
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.sky-wa-body { padding: 1rem; }
.sky-wa-greeting { margin: 0 0 0.4rem; }
.sky-wa-hours { margin: 0 0 0.8rem; font-size: 0.82rem; opacity: 0.75; }
.sky-wa-agents { display: flex; flex-direction: column; gap: 0.5rem; }

.sky-wa-agent {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.6rem 0.8rem;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-left: 4px solid var(--sky-wa-color, #25d366);
    border-radius: 8px;
    color: inherit;
    text-decoration: none;
}

.sky-wa-agent:hover { background: rgba(37, 211, 102, 0.1); color: inherit; }
.sky-wa-agent .sky-wa-ico { color: var(--sky-wa-color, #25d366); }

@media (max-width: 767.98px) {
    .sky-wa-no-mobile { display: none !important; }
    /* on phones the button becomes a round icon so it never covers the booking buttons */
    .sky-wa-button .sky-wa-label { display: none; }
    .sky-wa-button { padding: 0.85rem; }
}

@media (min-width: 768px) {
    .sky-wa-no-desktop { display: none !important; }
}

@media print { .sky-wa { display: none !important; } }
