.public-site .booking-page .booking-direct-section,.public-site .booking-page .booking-agenda-section,.public-site .booking-page .booking-contact-section,.public-site .booking-page .booking-practical-section{width:min(1120px,100% - 96px);max-width:none;margin-inline:auto;padding-inline:0}.public-site .booking-page .booking-direct-section{padding-top:3rem;padding-bottom:3.25rem}.public-site .booking-page .booking-direct-section .type-section-title{text-align:left;margin-bottom:1.5rem}.public-site .booking-page .booking-direct-grid{gap:1rem}.public-site .booking-page .booking-direct-card{border:1px solid var(--border-subtle);background:var(--surface);text-align:left;min-height:156px;box-shadow:none;border-radius:6px;justify-content:flex-start;align-items:flex-start;gap:1.1rem;padding:1.6rem;transition:border-color .18s,background .18s}.public-site .booking-page .booking-direct-card:hover{border-color:var(--primary);background:var(--surface-warm)}.public-site .booking-page .booking-direct-icon{background:var(--surface-warm);width:2.5rem;height:2.5rem;color:var(--primary-dark);border-radius:50%}.public-site .booking-page .booking-direct-label .type-overline{letter-spacing:.08em;color:color-mix(in srgb,var(--foreground)80%,var(--surface));font-family:Arial,sans-serif;font-size:.75rem;font-weight:400}.public-site .booking-page .booking-direct-value{color:var(--foreground);margin-top:.45rem;font-size:1.05rem;font-weight:400;line-height:1.5}.public-site .booking-page .booking-agenda-section{padding-bottom:4rem}.public-site .booking-page .booking-section-heading{text-align:left;max-width:43rem;margin:1.25rem 0 2rem}.public-site .booking-page .booking-section-heading .type-section-title{justify-content:flex-start;gap:.75rem}.public-site .booking-page .booking-section-heading .type-body{max-width:none;margin-inline:0}.public-site .booking-page .booking-section-heading .type-section-title svg{color:var(--primary-dark)}.public-site .booking-page .booking-contact-panel{background:var(--surface);box-shadow:none;border-radius:6px}.public-site .booking-page .booking-contact-summary{min-height:100px;padding:1.75rem 2rem}.public-site .booking-page .booking-contact-summary:hover{background:var(--surface-warm)}.public-site .booking-page .booking-contact-summary .type-card-title-sm{letter-spacing:-.02em;font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:400}.public-site .booking-page .booking-contact-body{padding:2rem}.public-site .booking-page .booking-practical-section{padding-block:2rem 4.5rem}.public-site .booking-page .booking-practical-panel{background:var(--surface-warm);text-align:left;box-shadow:none;border-radius:6px;padding:2.5rem}.public-site .booking-page .booking-practical-panel .type-section-title{margin-bottom:1.5rem}.public-site .booking-page .booking-practical-panel .type-body{max-width:none}.public-site .booking-widget{border:1px solid var(--border-subtle);background:var(--surface);box-shadow:none;border-radius:6px;padding:2.5rem}.public-site .booking-widget .booking-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:0 0 2.5rem;padding:0;list-style:none;display:grid}.public-site .booking-widget .booking-progress-step{border-bottom:1px solid var(--border-subtle);color:color-mix(in srgb,var(--foreground)72%,var(--surface));align-items:baseline;gap:.7rem;padding:0 0 1rem;display:flex}.public-site .booking-widget .booking-progress-step.is-current{border-bottom:2px solid var(--primary-dark);color:var(--primary-dark)}.public-site .booking-widget .booking-progress-step.is-complete{color:var(--foreground)}.public-site .booking-widget .booking-progress-number{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;line-height:1}.public-site .booking-widget .booking-progress-label{font-size:.8rem;line-height:1.5}.public-site .booking-widget .type-card-title{letter-spacing:-.025em;color:var(--foreground);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:400;line-height:1.2}.public-site .booking-widget .treatment-intro{margin-bottom:1.75rem;font-size:.95rem}.public-site .booking-widget .treatment-card{background:var(--surface);box-shadow:none;border-radius:6px}.public-site .booking-widget .treatment-card.is-expanded{border-color:color-mix(in srgb,var(--primary-dark)55%,var(--surface));background:var(--surface-warm);box-shadow:none}.public-site .booking-widget .treatment-toggle{border-radius:6px;grid-template-columns:2rem minmax(0,1fr) 1.75rem;gap:1.1rem;min-height:90px;padding:1.5rem;display:grid}.public-site .booking-widget .treatment-order{color:var(--primary-dark);align-self:start;padding-top:.2rem;font-family:Georgia,Times New Roman,serif;font-size:1rem}.public-site .booking-widget .treatment-name{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:400;line-height:1.35}.public-site .booking-widget .treatment-description{color:color-mix(in srgb,var(--foreground)84%,var(--surface));margin-top:.6rem;font-size:.9rem;line-height:1.65}.public-site .booking-widget .treatment-options{margin-inline:1.5rem;padding-block:1.3rem 1.5rem}.public-site .booking-widget .treatment-options-label{font-size:.85rem}.public-site .booking-widget .treatment-duration-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:.75rem}.public-site .booking-widget .treatment-duration{background:var(--surface);border-radius:5px;min-height:90px;padding:1rem .5rem}.public-site .booking-widget .treatment-duration-value{font-size:1rem;font-weight:500}.public-site .booking-widget .treatment-price{color:var(--primary-dark);font-size:.9rem}.public-site .booking-widget .booking-step-top{align-items:center;margin-bottom:1.5rem}.public-site .booking-widget .booking-back{align-items:center;min-height:44px;font-size:.9rem;display:inline-flex}.public-site .booking-widget .booking-selection-label{max-width:70%;font-size:.85rem;line-height:1.6}.public-site .booking-widget .booking-month-header{margin-block:1.5rem 1.1rem}.public-site .booking-widget .booking-month-header .type-card-title-sm{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:400}.public-site .booking-widget .booking-month-nav{background:var(--surface);border-radius:5px;width:44px;height:44px}.public-site .booking-widget .booking-month-nav:disabled{opacity:.45;cursor:default}.public-site .booking-widget .booking-days-grid{gap:.5rem;max-width:36rem;margin-inline:auto}.public-site .booking-widget .booking-weekday{letter-spacing:0;text-transform:none;color:var(--foreground);padding-bottom:.7rem;font-family:Arial,sans-serif;font-weight:400;font-size:.8rem!important}.public-site .booking-widget .booking-day{width:100%;max-width:56px;height:48px;color:color-mix(in srgb,var(--foreground)62%,var(--surface));border-radius:5px;font-family:Arial,sans-serif;font-size:1rem;font-weight:400}.public-site .booking-widget .booking-day.is-available{border:1px solid color-mix(in srgb,var(--primary-dark)50%,var(--surface));background:var(--surface-warm);color:var(--primary-dark);font-weight:500}.public-site .booking-widget .booking-day.is-available:hover{background:color-mix(in srgb,var(--primary-dark)15%,var(--surface))}.public-site .booking-widget .booking-day.is-selected{border-color:var(--public-button);background:var(--public-button);color:#fffaf7}.public-site .booking-widget .booking-day.is-selected:hover{background:var(--public-button)}.public-site .booking-widget .booking-calendar-status{color:color-mix(in srgb,var(--foreground)82%,var(--surface));margin-top:1.5rem;font-size:.9rem;line-height:1.7}.public-site .booking-widget .booking-time-groups{border-top:1px solid var(--border-subtle);margin-top:1.5rem;padding-top:1.5rem}.public-site .booking-widget .booking-time-groups .type-overline{letter-spacing:.08em;font-family:Arial,sans-serif;font-size:.8rem;font-weight:400}.public-site .booking-widget .booking-time-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.65rem;display:grid}.public-site .booking-widget .booking-time{border-radius:5px;width:100%;min-height:48px;font-size:1rem}.public-site .booking-widget .booking-recap,.public-site .booking-cancel .booking-cancel-recap{background:var(--surface-warm);text-align:left;border-radius:6px;padding:1.3rem 1.5rem}.public-site .booking-widget .booking-recap .type-card-title-sm,.public-site .booking-cancel .booking-cancel-recap .type-card-title-sm{letter-spacing:-.015em;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:400}.public-site .booking-widget .booking-details-form{margin-top:1.75rem}.public-site .booking-widget .booking-details-form label,.public-site .contact-form .contact-form-field label{color:var(--foreground);margin-bottom:.5rem;font-family:Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5}.public-site .booking-widget .form-field,.public-site .contact-form .form-field{border:1px solid var(--border-subtle);background:var(--surface);min-height:52px;color:var(--foreground);border-radius:5px;padding:.85rem 1rem;font-family:Arial,sans-serif;font-size:1rem}.public-site .booking-widget .form-field:focus-visible,.public-site .contact-form .form-field:focus-visible{border-color:var(--primary-dark);outline:2px solid var(--primary-dark);outline-offset:3px;box-shadow:none}.public-site .booking-widget .form-field::placeholder,.public-site .contact-form .form-field::placeholder{color:color-mix(in srgb,var(--foreground)64%,var(--surface))}.public-site .booking-widget .btn-bulle-primary,.public-site .booking-widget .btn-bulle-secondary,.public-site .contact-form .btn-bulle-primary,.public-site .booking-cancel .btn-bulle-primary,.public-site .booking-cancel .btn-bulle-secondary{letter-spacing:0;text-transform:none;border-radius:5px;min-height:48px;font-family:Arial,sans-serif;font-size:.95rem;font-weight:400}.public-site .booking-widget .booking-notice,.public-site .booking-cancel .booking-cancel-notice{border-radius:6px;line-height:1.6}.public-site .booking-widget .booking-confirmation{padding-block:1rem}.public-site .booking-widget .booking-confirmation-icon{background:var(--surface-warm);color:var(--primary-dark)}.public-site .booking-widget .booking-confirmation .booking-recap{text-align:center;max-width:32rem}.public-site .contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.public-site .contact-form .contact-form-field,.public-site .contact-form .contact-form-wide{min-width:0;margin-top:0}.public-site .contact-form .contact-form-wide{grid-column:1/-1}.public-site .contact-form .form-field{width:100%}.public-site .contact-form.contact-form-success{border-radius:6px;padding:2rem;display:block}.public-site .booking-cancel-page{width:min(660px,100% - 48px);max-width:none;margin-inline:auto;padding:56px 0 80px}.public-site .booking-cancel{background:var(--surface);box-shadow:none;border-radius:6px;padding:2.5rem}.public-site .booking-cancel .type-card-title{letter-spacing:-.025em;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:400}.public-site .booking-widget button:focus-visible,.public-site .booking-page a:focus-visible,.public-site .booking-page summary:focus-visible,.public-site .booking-cancel a:focus-visible,.public-site .booking-cancel button:focus-visible{outline:2px solid var(--primary-dark);outline-offset:4px}@media (max-width:1023px){.public-site .booking-page .booking-direct-section,.public-site .booking-page .booking-agenda-section,.public-site .booking-page .booking-contact-section,.public-site .booking-page .booking-practical-section{width:calc(100% - 64px)}}@media (min-width:768px){.public-site .booking-page .booking-practical-panel{grid-template-columns:1fr 1.25fr;gap:3rem;display:grid}.public-site .booking-page .booking-practical-panel .type-section-title{margin-bottom:0}}@media (max-width:767px){.public-site .booking-page .booking-direct-section,.public-site .booking-page .booking-agenda-section,.public-site .booking-page .booking-contact-section,.public-site .booking-page .booking-practical-section{width:calc(100% - 48px)}.public-site .booking-page .booking-direct-section{padding-top:2rem;padding-bottom:2rem}.public-site .booking-page .booking-direct-grid{gap:.65rem}.public-site .booking-page .booking-direct-card{flex-direction:row;align-items:center;gap:1rem;min-height:104px;padding:1.25rem}.public-site .booking-page .booking-direct-icon{width:2.25rem;height:2.25rem}.public-site .booking-page .booking-direct-value{font-size:1rem}.public-site .booking-page .booking-agenda-section{padding-bottom:2rem}.public-site .booking-page .booking-contact-summary{min-height:90px;padding:1.5rem 1.25rem}.public-site .booking-page .booking-contact-summary .type-card-title-sm{font-size:1.5rem}.public-site .booking-page .booking-contact-body{padding:1.5rem 1.25rem}.public-site .booking-page .booking-practical-section{padding-block:1rem 3rem}.public-site .booking-page .booking-practical-panel{padding:1.75rem 1.25rem}.public-site .booking-widget{padding:1.5rem 1.25rem}.public-site .booking-widget .booking-progress{gap:.75rem;margin-bottom:2rem}.public-site .booking-widget .booking-progress-step{flex-direction:column;gap:.45rem;padding-bottom:.8rem}.public-site .booking-widget .booking-progress-number{font-size:1.1rem}.public-site .booking-widget .booking-progress-label{font-size:.75rem;line-height:1.4}.public-site .booking-widget .treatment-toggle{grid-template-columns:1.25rem minmax(0,1fr) 1.25rem;gap:.7rem;padding:1.25rem 1rem}.public-site .booking-widget .treatment-name{font-size:1.25rem}.public-site .booking-widget .treatment-description{font-size:.875rem}.public-site .booking-widget .treatment-options{margin-inline:1rem}.public-site .booking-widget .treatment-duration-grid{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:.5rem}.public-site .booking-widget .booking-days-grid{gap:.25rem}.public-site .booking-widget .booking-day{height:44px;font-size:.95rem}.public-site .booking-widget .booking-weekday{font-size:.75rem!important}.public-site .booking-widget .booking-recap,.public-site .booking-cancel .booking-cancel-recap{padding:1.25rem}.public-site .contact-form{grid-template-columns:minmax(0,1fr);gap:1rem}.public-site .booking-cancel-page{padding-block:42px 60px}.public-site .booking-cancel{padding:1.75rem 1.25rem}.public-site .booking-cancel .btn-bulle-primary,.public-site .booking-cancel .btn-bulle-secondary{width:100%}}@media (prefers-reduced-motion:reduce){.public-site .booking-page .booking-direct-card,.public-site .booking-widget .treatment-card,.public-site .booking-widget .treatment-duration{transition:none}}
