.booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start;margin-top:25px}.booking-intro{padding:24px 0}.booking-intro h1{font-size:54px;line-height:1.05}.booking-steps{list-style:none;padding:14px 0;margin:18px 0 28px}.booking-steps li{display:flex;align-items:center;gap:18px;margin:20px 0}.booking-steps b{font-size:12px;color:var(--caremed-blue);background:var(--caremed-pale-teal);border:1px solid #c9e6e6;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.booking-steps strong,.booking-steps small{display:block}.booking-steps small{color:var(--caremed-muted);margin-top:5px;line-height:1.5}.booking-note{border-left:3px solid var(--caremed-teal);padding:2px 0 2px 18px}.booking-note p{font-size:14px;margin:8px 0}.booking-card{padding:34px}.booking-card fieldset{border:0;padding:0;margin:0;min-width:0}.booking-card legend{font-size:13px;color:var(--caremed-blue);font-weight:750;margin:12px 0 0}.booking-card h2{font-size:28px}.booking-card .form-grid{gap:0 16px}.booking-card label{margin-top:16px}.booking-card details{margin:18px 0;font-size:13px;line-height:1.6}.booking-card summary{cursor:pointer;color:var(--caremed-blue);font-weight:650}.booking-card .check-label{line-height:1.6}.booking-card input:disabled,.booking-card select:disabled{background:#f3f6f6}.booking-status{padding:12px 16px;border-radius:10px;background:var(--caremed-pale-teal);color:var(--caremed-blue);line-height:1.6;margin:16px 0}.booking-reference{font-size:12px;word-break:break-all}.booking-card .error{min-height:0}.booking-honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.back-link{font-size:13px;color:var(--caremed-blue)}.manage-link{word-break:break-all;font-size:12px}.booking-card .secondary{margin:8px 4px 0 0}.booking-card .primary{cursor:pointer}.booking-card button:disabled{cursor:not-allowed}footer{max-width:1096px;margin:auto;padding:10px 32px 24px;font-size:12px;border-top:1px solid var(--caremed-line)}body{background:linear-gradient(135deg,var(--caremed-pale-blue),#fff 65%)}@media(max-width:800px){.booking-layout{grid-template-columns:1fr;gap:20px}.booking-intro h1{font-size:40px}.booking-steps{display:none}.booking-intro{padding:0}.booking-card{padding:24px}.booking-layout{padding:0 20px}header{padding:22px 20px}.booking-intro .lead{max-width:100%}}
/* Appointment redesign: shared form, compact embedding, and a readable standalone page. */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.booking-page{max-width:1160px;margin:16px auto 56px}.booking-heading{max-width:800px;margin-bottom:32px}.booking-heading h1{font-size:clamp(30px,4vw,46px);color:var(--caremed-navy);margin:10px 0 16px}.booking-heading .lead{max-width:760px;font-size:18px;margin:0 0 16px}.clinic-hours{font-size:14px;font-weight:650;color:var(--caremed-deep-teal)}.booking-columns{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:start}.booking-card{padding:32px}.booking-card input,.booking-card select{min-height:48px;font-size:16px}.booking-card .booking-group{border:0;border-bottom:1px solid var(--caremed-line);padding:0 0 24px;margin:0 0 24px}.booking-card .booking-group legend{font-size:19px;font-weight:650;color:var(--caremed-navy);margin:0 0 4px;display:flex;align-items:center;gap:10px;width:100%;padding:0}.booking-group legend span{font:650 12px Figtree,sans-serif;color:var(--caremed-deep-teal);background:var(--caremed-pale-teal);border-radius:50%;width:30px;height:30px;display:inline-grid;place-items:center;flex:none}.booking-card label{font-size:14px;margin-top:14px}.booking-card .field-help{font-size:13px;line-height:1.6;margin:10px 0 0;color:var(--caremed-muted)}.booking-card .check-label{font-size:13px;align-items:flex-start}.booking-card .check-label input{min-height:0;flex:none;margin-top:3px}.booking-card .confirmation-note{font-size:13px;line-height:1.6;border-left:3px solid var(--caremed-teal);padding-left:14px;margin:22px 0 0}.booking-card .primary{margin-top:18px;min-height:50px}.booking-help{padding:24px;background:var(--caremed-pale-teal);border-radius:16px}.booking-help h2{font-size:22px;color:var(--caremed-navy)}.booking-help p{font-size:15px}.help-phone{font-size:19px;font-weight:650;text-decoration:none}.help-location{margin-top:24px;border-top:1px solid #c9e6e6;padding-top:22px}.help-location h3{color:var(--caremed-navy)}.booking-faq{max-width:800px;margin:40px 0 0}.booking-faq h2{color:var(--caremed-navy);font-size:24px}.booking-faq details{border-bottom:1px solid var(--caremed-line);padding:20px 0}.booking-faq summary{cursor:pointer;font-weight:650;color:var(--caremed-navy)}.booking-faq p{margin-bottom:0;font-size:15px}
html:has(.booking-embedded){background:#fff}.booking-embedded{background:#fff}.booking-embedded main{margin:0;max-width:none;padding:0;min-height:0}.booking-embedded .booking-card{padding:2px 0 0;border:0;border-radius:0;box-shadow:none}.booking-embedded .booking-card h2{font-size:26px}
@media(max-width:800px){.booking-columns{grid-template-columns:1fr;gap:24px}.booking-page{padding:0 20px;margin-top:10px}.booking-heading{margin-bottom:24px}.booking-card{padding:24px}.booking-help{padding:22px}.booking-heading .lead{font-size:16px}}
@media(max-width:480px){.booking-card .form-grid{grid-template-columns:1fr}.booking-card{padding:20px}.booking-embedded .booking-card{padding:2px 0 0}.booking-card .booking-group{padding-bottom:20px;margin-bottom:20px}.booking-card .booking-group legend{font-size:18px}.booking-card .field-help{font-size:12px}}
