.appointment-page{background:#f5f5f7;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}.appointment-intro{text-align:center;padding:76px 24px 48px}.appointment-eyebrow{font-size:12px;letter-spacing:.1em;font-weight:600;color:#c92332}.appointment-intro h1,.appointment-confirmation h1{font-size:clamp(38px,5vw,60px);line-height:1.06;letter-spacing:-.045em;margin:16px 0 20px}.appointment-intro p{color:#6e6e73;font-size:19px;margin:0}.appointment-content{padding:0 24px 64px}.appointment-layout{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1.12fr;background:#fff;border-radius:28px;overflow:hidden}.appointment-calendar-panel,.appointment-form{padding:36px}.appointment-calendar-panel{border-right:1px solid #eee}.appointment-step-heading{display:flex;align-items:center;gap:12px}.appointment-step-heading>span{display:grid;place-items:center;width:26px;height:26px;border:1px solid #c92332;border-radius:50%;color:#c92332;font-size:13px}.appointment-step-heading h2{font-size:26px;letter-spacing:-.035em;margin:0}.appointment-description{font-size:14px;color:#6e6e73;margin:12px 0 30px}.appointment-month-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.appointment-month-bar h3{font-size:18px;margin:0;letter-spacing:-.02em}.month-arrow{width:36px;height:36px;border:0;background:transparent;color:#c92332;display:grid;place-items:center;border-radius:50%;cursor:pointer}.month-arrow:disabled{opacity:.25;cursor:default}.appointment-weekdays,.appointment-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.appointment-weekdays{font-size:12px;color:#86868b;text-align:center;margin-bottom:8px}.appointment-day-cell{display:grid;place-items:center;min-height:48px}.appointment-day{padding:0;width:40px;height:40px;aspect-ratio:1;border-radius:50%;border:0;background:transparent;color:#1d1d1f;font:inherit;font-size:14px;cursor:pointer}.appointment-day:disabled{color:#c7c7cc;cursor:default}.appointment-day.is-selected{background:#c92332;color:white}.appointment-day:not(:disabled):not(.is-selected):hover{background:#f5f5f7}.appointment-times-heading{border-top:1px solid #eee;margin-top:22px;padding-top:24px}.appointment-times-heading h3{font-size:17px;margin:0 0 8px}.appointment-times-heading p{font-size:13px;color:#6e6e73;margin:0 0 18px}.appointment-times{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.appointment-time{border:1px solid #c92332;border-radius:99px;padding:9px 4px;background:white;color:#c92332;font:inherit;font-size:13px;cursor:pointer}.appointment-time.is-selected,.appointment-time:hover{background:#c92332;color:white}.appointment-zone,.appointment-required{font-size:11px;color:#86868b;margin:18px 0 0}.appointment-service{border:0;padding:0;margin:30px 0 24px;min-width:0}.appointment-service legend{font-size:13px;margin-bottom:10px}.appointment-service>div{display:flex;gap:8px;flex-wrap:wrap}.appointment-service label{position:relative;cursor:pointer}.appointment-service input{position:absolute;opacity:0;width:1px;height:1px}.appointment-service label span{display:block;padding:9px 14px;border:1px solid #c92332;color:#c92332;border-radius:99px;font-size:13px}.appointment-service input:checked+span{background:#c92332;color:white}.appointment-service input:focus-visible+span{outline:2px solid #1d1d1f;outline-offset:3px}.appointment-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.appointment-field{margin-bottom:19px}.appointment-field label{display:block;font-size:13px;margin-bottom:9px;font-weight:500}.appointment-field label span{font-weight:400;color:#86868b}.appointment-field input,.appointment-field textarea{width:100%;box-sizing:border-box;border:1px solid #d2d2d7;border-radius:12px;background:white;color:#1d1d1f;font:inherit;font-size:15px;padding:13px 14px;box-shadow:none;outline:none}.appointment-field input:focus,.appointment-field textarea:focus{border-color:#6e6e73;box-shadow:none;outline:none}.appointment-field textarea{resize:vertical;min-height:88px}.appointment-field small{display:block;font-size:11px;color:#86868b;margin-top:7px}.appointment-summary{background:#f5f5f7;padding:16px;border-radius:12px;margin:26px 0 18px;display:flex;flex-direction:column;gap:6px}.appointment-summary span{font-size:11px;color:#6e6e73}.appointment-summary strong{font-size:14px;font-weight:500}.appointment-privacy{font-size:11px;line-height:1.5;color:#6e6e73;margin:0 0 20px}.appointment-page a{color:#c92332}.appointment-submit{width:100%;font-size:15px!important;min-height:48px}.appointment-submit:disabled{opacity:.45;cursor:default}.appointment-page .btn--primary{color:white}.appointment-error,.appointment-notice{font-size:13px;color:#b31a28;line-height:1.6}.appointment-notice a{display:inline-block;margin:15px}.appointment-loading{padding:50px 0;color:#6e6e73}.appointment-visit{text-align:center;background:white;padding:30px 24px;font-size:14px}.appointment-visit p{color:#6e6e73;margin:0 0 12px}.appointment-confirmation{max-width:600px;margin:auto;padding:70px 24px 90px;outline:none}.confirmation-check{display:grid;place-items:center;width:58px;height:58px;background:#fff;border-radius:50%;color:#c92332;margin-bottom:25px}.appointment-confirmation>p{color:#6e6e73}.appointment-confirmation dl{margin:32px 0;background:#fff;padding:24px;border-radius:20px}.appointment-confirmation dl>div{margin:0 0 18px}.appointment-confirmation dt{font-size:12px;color:#6e6e73;margin-bottom:6px}.appointment-confirmation dd{margin:0;font-size:16px}.appointment-reference{font-size:11px;overflow-wrap:anywhere}.appointment-page button:focus-visible{outline:2px solid #1d1d1f;outline-offset:3px}@media(max-width:760px){.appointment-intro{padding:48px 22px 32px}.appointment-intro p{font-size:16px;max-width:280px;margin:auto}.appointment-content{padding:0 16px 36px}.appointment-layout{grid-template-columns:1fr;border-radius:22px}.appointment-calendar-panel,.appointment-form{padding:25px 22px}.appointment-calendar-panel{border-right:0;border-bottom:1px solid #eee}.appointment-fields{grid-template-columns:1fr;gap:0}.appointment-day-cell{min-height:45px}.appointment-day{width:38px;height:38px}.appointment-step-heading h2{font-size:24px}}
.appointment-page .btn{font-family:inherit;font-weight:400;letter-spacing:0;border-radius:999px;box-shadow:none!important;transform:none!important;filter:none!important;transition:background-color .18s,color .18s}.appointment-page .btn--primary{background:#c92332!important;background-image:none!important;border:1px solid #c92332!important;color:#fff!important}.appointment-page .btn--primary:not(:disabled):hover{background:#cf2939!important;border-color:#cf2939!important}.appointment-page .btn--primary:disabled{background:#c92332!important;opacity:.45!important;box-shadow:none!important}.appointment-page .btn--ghost{background:transparent!important;border:1px solid #c92332;color:#c92332!important}.appointment-page .btn--ghost:hover{background:#c92332!important;color:#fff!important}

/* Capsule field preview, matching the booking actions. */
.appointment-field input{border-radius:999px;padding-left:20px;padding-right:20px}.appointment-field textarea{border-radius:26px;padding:16px 20px}
