/* Match the existing five-step application form. */
.csa-scheduler{font-family:Inter,system-ui,sans-serif;max-width:42rem;margin:2.5rem auto 0;background:#fff;color:#21132c;border-radius:1rem;overflow:hidden;text-align:left;color-scheme:light;box-sizing:border-box;line-height:1.625;box-shadow:0 25px 50px -12px #0004}
.csa-scheduler *{box-sizing:border-box}.csa-scheduler [hidden]{display:none!important}.csa-scheduler button,.csa-scheduler a,.csa-scheduler input{font:inherit}.csa-scheduler button{cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.csa-scheduler button:disabled{cursor:default;opacity:.55}.csa-scheduler button:focus-visible,.csa-scheduler a:focus-visible,.csa-scheduler input:focus-visible{outline:2px solid #775096;outline-offset:3px}
.csa-scheduler header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2.5rem;border-bottom:1px solid #e8dfee;font-size:1rem}.csa-scheduler header strong{color:#251630;font-weight:650}.csa-scheduler header a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.75rem;background:#f1eaf6;color:#613d78;text-decoration:none;font-size:1.75rem;font-weight:400}
.csa-scheduler-body{padding:2rem 2.5rem 2.5rem}.csa-step{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;font-weight:600;margin-bottom:1.75rem;padding-bottom:.75rem;border-bottom:5px solid #775096;color:#75657f}.csa-step a{color:#684580;text-decoration:none;font-size:.875rem}.csa-step a:hover{text-decoration:underline;text-underline-offset:4px}
.csa-scheduler h2{font-size:1.625rem;line-height:1.22;font-weight:750;letter-spacing:-.035em;text-align:left;margin:0 0 .75rem;color:#21132c}.csa-scheduler p.csa-intro{font-size:.9375rem;color:#74677c;margin:0 0 1.75rem;line-height:1.65}.csa-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;color:#796b82;font-size:.8125rem;margin:0 0 1.25rem}
.csa-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.75rem}.csa-days button{min-width:0;min-height:6.5rem;padding:.75rem .25rem;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #e2d9e9;border-radius:.875rem;background:#fff;color:#796b82;font-size:.875rem;text-transform:capitalize}.csa-days strong{font-size:1.875rem;line-height:1.3;color:#251630}.csa-days button:hover,.csa-times button:hover{border-color:#af8ac4;background:#faf6fd}.csa-scheduler button[aria-pressed=true]{background:#f1e7f7;color:#251630;border-color:#775096;box-shadow:0 0 0 1px #775096}.csa-days button[aria-pressed=true] strong{color:#251630}
.csa-scheduler h3.csa-hours-title{font-size:1rem;font-weight:650;color:#251630;margin:0 0 .75rem;text-align:left}.csa-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.csa-times button{padding:1rem .5rem;border:1px solid #e2d9e9;border-radius:.875rem;background:#fff;color:#251630;font-size:1rem;font-weight:650;min-height:3.5rem}
.csa-scheduler p.csa-message{font-size:.875rem;color:#74677c;margin:1rem 0;min-height:0}.csa-message:empty{display:none}.csa-consent{display:flex;align-items:flex-start;gap:.75rem;color:#52425e;font-size:.8125rem;line-height:1.65;margin:1.5rem 0 0;padding:1rem;border:1px solid #e2d9e9;border-radius:.875rem;background:#f6f0fa;cursor:pointer}.csa-consent:has(input:checked){border-color:#ad88c4;background:#eee2f6}.csa-consent input{margin:.125rem 0 0;width:1.125rem;height:1.125rem;flex:0 0 1.125rem;accent-color:#775096}
.csa-scheduler .csa-confirm{width:100%;padding:.875rem 1.25rem;border:0;border-radius:.75rem;background:var(--joy-button-gradient,linear-gradient(135deg,#775096 0%,#5b3479 55%,#2d124c 100%));color:#fff;font-size:1rem;line-height:1.4;font-weight:700;letter-spacing:-.025em;margin-top:1.75rem;min-height:3.5rem;box-shadow:0 8px 30px -8px #9869b599}.csa-scheduler .csa-confirm:hover:not(:disabled){background:var(--joy-button-hover,linear-gradient(135deg,#855aa1 0%,#683d88 55%,#3c1b5c 100%))}
.csa-day-nav{display:flex;justify-content:space-between;margin:0 0 1.25rem}.csa-day-nav button,.csa-retry{border:0;background:transparent;color:#684580;text-decoration:underline;padding:.5rem 0}.csa-scheduler p.csa-preview{padding:.75rem;background:#fff5cf;color:#66500b;border-radius:.75rem;margin:0 0 1.5rem;font-size:.8125rem}.csa-confirmed p{color:#74677c;font-size:.9375rem;margin:1rem 0 0}.joy-booking-page:has(.csa-scheduler)>.joy-apply{max-width:42rem}.joy-booking-page:has(.csa-scheduler) .joy-eyebrow,.joy-booking-page:has(.csa-scheduler) .joy-lead,.joy-booking-page:has(.csa-scheduler) h1,.joy-booking-page:has(.csa-scheduler) .joy-back-home{display:none}
@media(max-width:639px){.csa-scheduler{border-radius:1rem;margin-top:1.5rem}.csa-scheduler header{padding:1rem 1.25rem}.csa-scheduler-body{padding:1.25rem}.csa-step{margin-bottom:1.5rem}.csa-scheduler h2{font-size:1.375rem}.csa-scheduler p.csa-intro{font-size:.875rem;margin-bottom:1.5rem}.csa-days{gap:.5rem}.csa-days button{font-size:.8125rem;min-height:5.5rem}.csa-days strong{font-size:1.625rem}.csa-times{gap:.5rem}.csa-times button{font-size:.9375rem}.csa-scheduler .csa-confirm{font-size:.9375rem;padding:.8rem .75rem}}
@media(prefers-reduced-motion:reduce){.csa-scheduler button{transition:none}}
