@font-face{font-family:Inter;src:url('inter-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--blue:#155eef;--pale:#155eef12;--ink:#101828;--muted:#10182899;--line:#1018281a;--font:Inter,Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,select{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{color:inherit}[hidden]{display:none!important}
.site-header{height:80px;background:#f3f6f6;border-bottom:1px solid #d7dbdd;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.brand{padding:0;border:0;background:none;line-height:0}.brand img{object-fit:contain;display:block}.login{border:0;background:none;font-size:16px;padding:12px 20px;color:#333}
main{padding:196px 32px 70px}.booking-card{max-width:1200px;min-height:700px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;background:#fff;border:1px solid #e9eaec;border-radius:9px;box-shadow:0 16px 48px -16px rgba(16,24,40,.19),0 4px 14px -5px rgba(16,24,40,.10);overflow:hidden}.appointment-info{padding:20px;border-right:1px solid var(--line);min-width:0}.back-row{height:20px}.back-button{height:40px;width:40px;background:#fff;border:1px solid #eef0f3;border-radius:50%;color:var(--blue);display:grid;place-items:center}.back-button svg{width:24px;height:24px}.service-title-space{height:41px}.booking-meta{margin-top:10px}.meta-row{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;line-height:23.4px;margin-bottom:10px}.meta-row svg{width:20px;height:20px}.description{font-size:13px;line-height:23.4px;color:var(--muted);padding-right:10px;margin-top:26px}.description p{margin:0}.description .requirements{font-size:16px;line-height:24px;margin-top:24px;letter-spacing:-.15px}
.booking-content{padding:25px 0 25px 25px;min-width:0}h1{font-size:18px;line-height:30px;font-weight:500;letter-spacing:-.25px;margin:0}.date-and-time{display:flex}.date-column{width:59.03%;padding-right:19px;min-width:0}.month-navigation{display:flex;align-items:center;justify-content:center;gap:15px;padding:0 0 15px;margin-top:16px;height:58px}.month-navigation>span{font-size:15px;font-weight:500;white-space:nowrap;min-width:142px;text-align:center}.month-arrow{border:0;width:40px;height:40px;border-radius:50%;background:var(--pale);color:var(--blue);display:grid;place-items:center;flex-shrink:0}.month-arrow svg{width:24px;height:24px}.month-arrow:disabled{background:transparent;color:#667085}.calendar{width:100%;table-layout:fixed;border-spacing:1.6px;border-collapse:separate}.calendar th{font-size:13px;line-height:24px;font-weight:500;padding:0 6.4px 10px 0;text-align:center}.calendar td{height:54px;padding:4px 6.4px 4px 0;text-align:left}.day{border:0;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:15px;background:var(--pale);color:var(--blue);padding:0;transition:background .12s}.day:disabled{background:transparent;color:#b8b8b8}.day.selected{background:var(--blue);color:#fff;font-weight:500}.day:not(:disabled):not(.selected):hover{background:#155eef22}.timezone{margin-top:35px}.timezone>label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}.timezone-control{display:flex;align-items:center;gap:10px}.timezone-control svg{width:18px;height:18px;color:var(--muted)}.timezone-control select{width:100%;border:0;background:#fff;color:var(--ink);font-size:13px;min-height:32px;cursor:pointer;padding:0 14px 0 0}
.times-column{width:40.97%;padding:72px 30px 0 8px}.time-row{display:flex;gap:8px;margin-bottom:18px;min-height:50px}.time-button{width:100%;border:1px solid #155eefb3;border-radius:4px;min-height:50px;background:#fff;color:var(--blue);font-weight:500;font-size:14px;line-height:20px;padding:10px 4px;transition:background .12s}.time-button:hover{background:var(--pale)}.time-row.chosen .time-button{width:49.4%;background:var(--muted);color:#fff;border-color:transparent;font-weight:700}.select-time{flex:1;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:4px;font-size:14px;font-weight:500;min-height:50px;padding:10px 5px}.select-time:hover,.primary:hover{background:#104ed0}.no-slots{color:var(--muted);font-size:14px;line-height:1.7;margin:0}
.booking-card.form-view .appointment-info{padding-top:20px}.form-view .back-row{height:60px}.form-view .service-title-space{height:0}.form-view .booking-meta{margin-top:10px}.form-view .description{display:none}.form-view .booking-content{padding:25px 0 0}.form-view h1{padding:0 20px}.form-fields{margin:40px 20px 0;padding:0 20px 24px}.field{margin:0 0 17px;padding:0;border:0;min-width:0}.field>label,.field legend{font-size:14px;font-weight:500;line-height:25.2px;color:#2c3345;display:block;margin-bottom:8px;padding:0}.field>label>span,.field legend>span{color:inherit}.field input:not([type=checkbox]){width:100%;height:37px;border:1px solid #acacac;border-radius:5px;background:#fff;padding:8px 15px;font-size:12px;line-height:18px;color:var(--ink);box-shadow:0 1px 2px #10182803}.field input::placeholder{color:#8a8a8a}.email-control,.phone-control{position:relative}.email-control svg{position:absolute;left:13px;top:11px;width:15px;height:15px;color:#898e93}.email-control input{padding-left:36px!important}.phone-control input{height:40px!important;padding-left:53px!important}.country{position:absolute;left:9px;top:10px;display:flex;align-items:center;gap:4px;color:#777;font-size:10px}.flag{display:inline-block;width:20px;height:14px;background:linear-gradient(#ad1519 25%,#fabd00 25%,#fabd00 75%,#ad1519 75%);box-shadow:0 0 1px #999}.select-control{width:100%;min-height:40px;border:1px solid #ccc;border-radius:4px;background:#fff;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 15px;font-size:14px;color:#2c3345}.caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #999;flex-shrink:0}.dropdown{position:relative}.options{position:absolute;z-index:3;left:0;right:0;top:calc(100% - 1px);padding:4px 0;background:#fff;border:1px solid #ddd;border-radius:0 0 4px 4px;box-shadow:0 6px 16px #10182818;max-height:230px;overflow:auto}.option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:11px 14px;font-size:14px;color:#354052;line-height:20px}.option:hover,.option:focus-visible{background:#eaf1ff}.option[aria-selected=true]{background:#f0f5ff;color:var(--blue)}.chips{display:flex;gap:5px;flex-wrap:wrap}.chip{font-size:12px;background:#eee;border-radius:3px;padding:2px 5px;line-height:19px}.checkbox-label{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:400;line-height:25.2px;color:#2c3345}.checkbox-label input{margin:5px 0 0;width:15px;height:15px;flex-shrink:0;accent-color:var(--blue)}.privacy{font-size:13px;color:#667085;line-height:22px;margin:24px 0 0}.text-link{padding:0;border:0;background:none;color:var(--blue);text-decoration:underline;font-size:inherit}.form-footer{display:flex;justify-content:flex-end;padding:20px;border-top:1px solid #f0f1f4;background:#fff}.primary{background:var(--blue);color:white;border:1px solid var(--blue);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;line-height:25px}.field-error{font-size:12px;color:#b42318;margin-top:6px;display:block}.demo-note{max-width:1200px;margin:25px auto 0;color:#737b89;font-size:12px;line-height:20px;text-align:center}.complete-content{padding:75px 30px;text-align:center}.complete-content h1{margin:25px 0 12px}.complete-content p{font-size:15px;color:#667085;line-height:25px}.complete-icon{width:58px;height:58px;color:var(--blue);stroke-width:2}.complete-content .primary{margin-top:22px}.example-summary{white-space:pre-line}dialog{max-width:430px;width:calc(100% - 40px);border:1px solid #eee;border-radius:12px;padding:28px;color:var(--ink);box-shadow:0 20px 70px #10182830}dialog::backdrop{background:#10182866}dialog h2{font-size:20px;font-weight:500;margin:0 0 16px}dialog p{line-height:24px;color:#667085;margin-bottom:24px}
@media(min-width:1000px){.form-view .booking-card{min-height:700px}.form-view .booking-content{height:700px}#form-step,#booking-form{height:100%;display:flex;flex-direction:column}#form-step{padding-top:0}#booking-form{min-height:0}.form-fields{flex:1;overflow:auto;min-height:0;scrollbar-width:thin}.form-footer{flex-shrink:0}.booking-card.form-view{height:700px}.form-view .booking-content{height:699px}}
@media(max-width:1100px) and (min-width:1000px){.times-column{padding-left:10px;padding-right:20px}.date-column{padding-right:10px}.day{width:38px;height:38px}.calendar td{padding-right:0}.calendar th{padding-right:0}.timezone-control select{font-size:12px}.description .requirements{font-size:14px}}
@media(max-width:999px){main{padding:95px 30px 50px}.booking-card{display:block;max-width:700px;min-height:0}.appointment-info{border-right:0;border-bottom:1px solid var(--line);padding:25px}.back-row,.service-title-space{display:none}.booking-meta{margin:0}.description{margin-top:18px}.description .requirements{font-size:14px;margin-top:16px}.booking-content{padding:25px}.times-column{padding-right:0;padding-left:18px}.date-column{padding-right:12px;width:60%}.times-column{width:40%}.form-view .back-row{display:block;height:55px}.form-view .appointment-info{padding:20px 25px}.form-view .booking-meta{margin-top:0}.form-view .booking-content{padding:25px 0 0}.form-view h1{padding:0 25px}.form-fields{margin:25px 5px 0}.form-footer{padding:20px 25px}}
@media(max-width:600px){.site-header{padding:0 20px;height:80px}.brand img{width:185px;height:auto}.login{font-size:15px;padding:10px 0 10px 16px}main{padding:55px 16px 40px}.appointment-info{padding:20px}.booking-content{padding:20px}.date-and-time{display:block}.date-column{width:100%;padding-right:0}.times-column{width:100%;padding:25px 0 0}.month-navigation{margin-top:20px;gap:12px}.calendar th{text-align:center;padding-right:0}.calendar td{text-align:center;padding-right:0;height:52px}.day{margin:auto;width:40px;height:40px}.timezone{margin-top:25px}.time-row{margin-bottom:14px}.description{font-size:13px}.description .requirements{font-size:14px;line-height:23px}.form-view .appointment-info{padding:20px}.form-view h1{padding:0 20px}.form-fields{padding:0 20px 24px;margin:25px 0 0}.form-footer{padding:20px}.field input:not([type=checkbox]){font-size:16px;height:42px}.phone-control input{height:42px!important}.email-control svg{top:14px}.country{top:13px}.select-control{min-height:42px}.demo-note{padding:0 10px}.complete-content{padding:35px 0}.complete-content h1{padding:0!important}.booking-card{border-radius:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Responsive states follow the current booking widget: days, then time slots, then details. */
.mobile-menu,.show-more,.mobile-time-header,.mobile-time-zone,.mobile-time-title{display:none}
@media(max-width:999px){
 .site-header .login{display:none}.mobile-menu{display:grid;place-items:center;background:transparent;border:1px solid #303a40;border-radius:2px;width:44px;height:44px;padding:10px}.mobile-menu svg{width:20px;height:20px}.site-header.menu-open{position:relative}.site-header.menu-open .login{display:block;position:absolute;right:20px;top:80px;z-index:4;background:#f3f6f6;padding:15px 35px;border:1px solid #d7dbdd}
 main{padding:95px 30px 50px}.appointment-info{border-bottom:0;padding:20px 16px 0}.service-title-space{display:block;height:50px}.info-summary{padding:20px 16px;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 1px 4px #10182805}.form-zone[hidden]{display:flex!important}.description{margin-top:10px;padding:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:13px}.description .requirements{margin-top:18px}.show-more{display:block;font-size:12px;line-height:20px;border:0;background:none;color:var(--blue);padding:5px 0 0 26px}.info-summary.expanded .description{-webkit-line-clamp:unset;display:block}.booking-content{padding:20px 16px 45px}#calendar-step>h1{display:none}.date-and-time{display:block}.date-column{width:100%;padding:0}.calendar td{padding-right:0}.calendar th{padding-right:0}.day{margin:auto}.times-column{display:none}.timezone{margin-top:38px}.timezone-control{padding:0 12px}.month-navigation{margin-top:0}
 .mobile-times-view .appointment-info,.mobile-times-view .date-column{display:none}.mobile-times-view .booking-content{padding:20px 16px 30px}.mobile-times-view .mobile-time-header{display:flex;align-items:flex-start;gap:18px;padding:0 0 20px}.mobile-time-header .back-button{border:0;width:32px;height:36px;flex-shrink:0}.mobile-time-header span,.mobile-time-header strong{display:block}.mobile-time-header span{text-transform:capitalize;font-size:16px;font-weight:500}.mobile-time-header strong{font-size:14px;font-weight:400;margin-top:4px;color:var(--muted)}.mobile-times-view .mobile-time-zone{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:20px;font-size:12px;color:var(--muted)}.mobile-times-view .mobile-time-title{display:block;text-align:center;padding:8px 0 20px}.mobile-time-title h1{font-size:20px;line-height:28px}.mobile-time-title p{font-size:14px;color:var(--muted);margin:12px 0 0}.mobile-times-view .times-column{display:block;width:100%;padding:0 0 0 8px}.mobile-times-view .time-row{margin-bottom:8px}
 .form-view .appointment-info{padding:20px 16px 0}.form-view .description{display:-webkit-box}.form-view .service-title-space{display:none}.form-view .back-row{height:55px}.form-view .booking-content{padding-top:25px}.form-view h1{padding:0 16px}.form-fields{padding:0 16px 24px}.form-footer{padding:20px 16px}.form-view .info-summary.expanded .description{display:block}
}
@media(max-width:600px){main{padding:95px 30px 40px}.day{width:34px;height:34px;font-size:13px}.calendar td{height:42px}.calendar th{font-size:12px}.month-navigation{gap:10px}.month-navigation>span{min-width:142px;font-size:14px}.timezone-control{gap:6px;padding:0}.timezone-control select{font-size:11px}.timezone{margin-top:40px}.meta-row{font-size:13px}.form-fields{margin-left:0;margin-right:0}.description .requirements{font-size:14px}}

.time-row.chosen{gap:5.6%}.select-time{font-size:13px}
