.if-booking {
 --booking-ink:#130d1c;--booking-indigo:#322d5e;--booking-accent:#8e44a0;--booking-line:#e3d9e9;
 color:var(--booking-ink);background:#fff;padding:clamp(1.25rem,4vw,3rem);border-radius:1.75rem;
 scroll-margin-top:9rem;position:relative;min-width:0;container:if-booking / inline-size;
}
.if-booking [hidden]{display:none!important}
.if-booking__anchor{position:absolute;top:0;scroll-margin-top:9rem}
.if-booking .if-booking__header h2{margin:0 0 1rem;color:var(--booking-ink);font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.1;letter-spacing:-.045em}
.if-booking .if-booking__header>p:not(.if-booking__eyebrow){max-width:65ch;line-height:1.65;color:#625b68;margin:0}
.if-booking .if-booking__eyebrow{color:var(--booking-accent);font-size:.8rem;font-weight:700;letter-spacing:.1em;margin:0 0 .8rem}
.if-booking__facts{display:flex;gap:.6rem 1.5rem;flex-wrap:wrap;margin:1.25rem 0 2rem;font-size:.9rem;color:var(--booking-indigo)}
.if-booking__facts>span{display:inline-flex;align-items:center;gap:.45rem}
.if-booking__facts .if-icon{font-size:1.2rem;color:var(--booking-accent);flex:0 0 auto}
.if-booking__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);border-top:1px solid var(--booking-line);padding-top:1.75rem}
.if-booking .if-booking__layout h3{display:flex;align-items:center;gap:.75rem;margin:0 0 1.3rem;color:var(--booking-ink);font-size:1.2rem;line-height:1.3;letter-spacing:-.02em}
.if-booking__layout h3>.if-booking__step-number{font-size:.75rem;letter-spacing:.08em;color:var(--booking-accent)}
.if-booking__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.if-booking__field{min-width:0}
.if-booking__review{padding:1rem;border:1px solid var(--booking-line);border-radius:.75rem;background:#faf7fc;margin-bottom:1rem;overflow-wrap:anywhere}
.if-booking .if-booking__review>p{margin:.2rem 0 .5rem;line-height:1.5;color:var(--booking-indigo);font-size:.95rem}
.if-booking .if-booking__review button{background:transparent;border:0;padding:.4rem 0;color:var(--booking-accent);font-size:.9rem;text-decoration:underline;text-underline-offset:.2em;box-shadow:none}
.if-booking .if-booking__field>label,.if-booking .if-booking__services legend{font-size:.95rem;font-weight:600;line-height:1.4;color:var(--booking-ink);display:block;margin:0 0 .45rem}
.if-booking .if-booking__field input{width:100%;max-width:100%;min-width:0;min-height:3rem;padding:.7rem .8rem;border:1px solid #bcb3c6;border-radius:.5rem;background:#fff;color:var(--booking-ink);box-shadow:none;font:inherit;font-size:1rem;line-height:1.4}
.if-booking input:focus-visible{outline:2px solid var(--booking-accent);outline-offset:2px}
.if-booking input[aria-invalid=true]{border-color:#a1243b}
.if-booking__services{border:0;padding:0;margin:1.5rem 0 0;min-width:0}
.if-booking__services>p{color:#625b68;font-size:.9rem;margin:0 0 .6rem}
.if-booking input[type=checkbox]{width:1.15rem;height:1.15rem;min-width:1.15rem;margin:.15rem 0 0;accent-color:var(--booking-accent);border-radius:3px}
.if-booking__service-cloud{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-start;margin-top:.8rem}
.if-booking .if-booking__service-option{position:relative;display:inline-flex;max-width:100%;margin:0;padding:0;cursor:pointer}
.if-booking .if-booking__service-option input{position:absolute;width:1px;height:1px;min-width:0;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.if-booking .if-booking__service-pill{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;max-width:100%;padding:.65rem 1rem;border:1px solid #bcb3c6;border-radius:999px;color:var(--booking-indigo);background:#fff;font-size:.9rem;line-height:1.35;text-align:center;transition:background-color .15s,color .15s,border-color .15s}
.if-booking__service-pill>span:last-child{min-width:0;overflow-wrap:break-word}
.if-booking .if-booking__service-option:hover .if-booking__service-pill{border-color:var(--booking-accent);background:#f6f1f8;color:var(--booking-indigo)}
.if-booking .if-booking__service-option input:checked+.if-booking__service-pill{color:#fff;background:var(--booking-indigo);border-color:var(--booking-indigo)}
.if-booking .if-booking__service-option input:focus-visible{outline:none}
.if-booking .if-booking__service-option input:focus-visible+.if-booking__service-pill{outline:2px solid var(--booking-accent);outline-offset:3px}
.if-booking__calendar[aria-busy=true]{opacity:.6;pointer-events:none}
.if-booking__schedule{padding-left:clamp(1rem,2.5vw,2rem);border-left:1px solid var(--booking-line);min-width:0}
.if-booking .if-booking__timezone,.if-booking .if-booking__notice{font-size:.85rem;line-height:1.6;color:#625b68;margin:.75rem 0 1rem}
.if-booking__month{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:1rem}
.if-booking__month>strong{font-size:1rem;color:var(--booking-indigo)}
.if-booking .if-booking__month button{display:grid;place-items:center;width:2.75rem;height:2.75rem;min-width:2.75rem;padding:0;background:#fff;color:var(--booking-indigo);border:1px solid var(--booking-line);border-radius:50%;font-size:1.2rem;box-shadow:none}
.if-booking__week,.if-booking__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.if-booking__week{font-size:.75rem;color:#625b68;text-align:center;margin-bottom:.5rem}
.if-booking .if-booking__days button{min-width:0;min-height:2.65rem;padding:.35rem 0;font-size:.95rem;line-height:1.4;border:1px solid transparent;background:transparent;color:var(--booking-indigo);border-radius:.4rem;box-shadow:none}
.if-booking button{font-family:inherit;cursor:pointer}
.if-booking .if-booking__days button:disabled,.if-booking .if-booking__month button:disabled{color:#a39ba9;background:transparent;cursor:default;opacity:.6}
.if-booking .if-booking__days button:not(:disabled):hover,.if-booking .if-booking__month button:not(:disabled):hover{background:#f6f1f8;color:var(--booking-accent);border-color:var(--booking-line)}
.if-booking .if-booking__days button[aria-pressed=true],.if-booking .if-booking__slots button[aria-pressed=true]{background:var(--booking-indigo);color:#fff;border-color:var(--booking-indigo)}
.if-booking__slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.75rem 0}
.if-booking .if-booking__slots button{min-width:0;min-height:2.75rem;border:1px solid var(--booking-line);background:#fff;color:var(--booking-indigo);border-radius:.45rem;font-size:.95rem;box-shadow:none;padding:.5rem}
.if-booking .if-booking__slots button:hover{background:#f6f1f8;color:var(--booking-accent);border-color:var(--booking-accent)}
.if-booking .if-booking__slot-heading{font-size:.95rem;color:var(--booking-indigo);margin:1rem 0 .5rem;font-weight:600}
.if-booking .if-booking__change-date{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.4rem 0;border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--booking-indigo);font-size:.9rem;font-weight:600}
.if-booking .if-booking__change-date .if-icon{font-size:1.15rem;color:inherit}
.if-booking .if-booking__change-date:hover{background:transparent;color:var(--booking-accent);text-decoration:underline;text-underline-offset:.2em}
.if-booking .if-booking__refresh,.if-booking .if-booking__expert button{border:0;border-radius:0;padding:.4rem 0;background:transparent;color:var(--booking-accent);box-shadow:none;text-align:left;font-size:.9rem;text-decoration:underline;text-underline-offset:.2em}
.if-booking__expert{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem;border-left:3px solid #d9b3e2;background:#f7f1f8;color:var(--booking-indigo);margin:0 0 1.5rem;font-size:.95rem;line-height:1.6}
.if-booking__finish{margin-top:1.75rem;border-top:1px solid var(--booking-line);padding-top:1.5rem}
.if-booking .if-booking__selection{color:var(--booking-indigo);font-weight:600;font-size:1rem;margin:0 0 1rem}
.if-booking__consent{display:flex;align-items:flex-start;gap:.75rem;line-height:1.6;font-size:.9rem;color:#625b68}
.if-booking .if-booking__consent a,.if-booking .if-booking__notice a{color:var(--booking-accent);text-decoration:underline;text-underline-offset:.2em;background:transparent}
.if-booking__submit-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:1.3rem}
.if-booking__submit-row>p{color:#625b68;font-size:.8rem;margin:0;max-width:42ch}
.if-booking .if-booking__submit{display:inline-flex;gap:.75rem;align-items:center;justify-content:center;min-height:3.2rem;border:1px solid var(--booking-accent);border-radius:999px;background:var(--booking-accent);color:#fff;padding:.8rem 1.3rem;font-size:1rem;font-weight:650;box-shadow:none}
.if-booking .if-booking__submit:hover{background:var(--booking-indigo);border-color:var(--booking-indigo);color:#fff}
.if-booking .if-booking__submit:disabled{opacity:.5;cursor:not-allowed}
.if-booking :is(button,a):focus-visible{outline:2px solid var(--booking-accent);outline-offset:3px}
.if-booking .if-booking__error{display:block;font-size:.85rem;color:#a1243b;line-height:1.5;margin-top:.35rem}
.if-booking .if-booking__error:empty{display:none}
.if-booking__status{font-size:.95rem;color:var(--booking-indigo);margin:1rem 0 0;line-height:1.6}
.if-booking__status:empty{display:none}
.if-booking__status.is-error{color:#a1243b}
.if-booking__confirmation{padding:1.5rem 0 0;border-top:1px solid var(--booking-line)}
.if-booking .if-booking__confirmation h3{color:var(--booking-ink);font-size:clamp(1.5rem,2.5vw,2.2rem);letter-spacing:-.035em;line-height:1.2;margin:.5rem 0 1.5rem}
.if-booking .if-booking__confirmed-time{font-size:1.25rem;color:var(--booking-indigo);font-weight:600}
.if-booking__confirmation>p{color:#625b68;line-height:1.65}
.if-booking__calendar-links{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 1.5rem}
.if-booking .if-booking__calendar-links a{display:inline-flex;min-height:2.75rem;align-items:center;padding:.65rem 1rem;border:1px solid #bcb3c6;border-radius:999px;color:var(--booking-indigo);background:#fff;font-size:.95rem;text-decoration:none;box-shadow:none}
.if-booking .if-booking__calendar-links a:hover{background:var(--booking-indigo);color:#fff;border-color:var(--booking-indigo)}
.if-booking__trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.if-booking__layout{grid-template-columns:1fr}.if-booking__schedule{border-left:0;border-top:1px solid var(--booking-line);padding:1.5rem 0 0}.if-booking__calendar{max-width:28rem}.if-booking__slots{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:480px){.if-booking__fields{grid-template-columns:1fr}.if-booking__slots{grid-template-columns:repeat(3,minmax(0,1fr))}.if-booking__submit{width:100%}.if-booking__facts{gap:.5rem 1rem;font-size:.8rem}}
@container if-booking (max-width:640px){.if-booking__layout{grid-template-columns:1fr}.if-booking__schedule{border-left:0;border-top:1px solid var(--booking-line);padding:1.5rem 0 0}.if-booking__calendar{max-width:28rem}.if-booking__slots{grid-template-columns:repeat(4,minmax(0,1fr))}}
@container if-booking (max-width:360px){.if-booking__fields{grid-template-columns:1fr}.if-booking__slots{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.if-booking .if-booking__service-pill{transition:none}}
