/* Shared doctor profile booking: calendar and times follow the supplied reference. */
[data-ldc-doctor-hero] { align-items:start!important; }
[data-ldc-doctor-hero] > div { min-width:0; }
.ldc-doctor-online.ldc-online { margin:28px 0 0;padding:26px 24px;max-width:100%;background:#fff;border:1px solid #e4eaf3;border-radius:24px;color:#24344f;scroll-margin-top:140px;box-shadow:0 14px 40px -32px #17396366; }
.ldc-doctor-online h2 { margin:0 0 22px;font-family:Manrope,sans-serif;font-size:clamp(24px,2.5vw,32px);line-height:1.2;font-weight:800;color:#24344f; }
.ldc-doctor-online .ldc-online-controls { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px; }
.ldc-doctor-online .ldc-online-controls label:first-child { grid-column:1/-1; }
.ldc-doctor-online [hidden] { display:none!important; }
.ldc-doctor-online .ldc-online-controls label { font-size:12px; }
.ldc-doctor-online select,.ldc-doctor-online input { min-width:0;max-width:100%; }
.ldc-doctor-calendar { margin:0; }
.ldc-doctor-calendar-nav { display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:13px;color:#62798d; }
.ldc-doctor-calendar-nav > div { display:flex;gap:8px; }
.ldc-doctor-calendar-nav button { width:36px;height:36px;border:1px solid #d0dbe7;background:#fff;border-radius:10px;color:#255ebd;font-size:20px;cursor:pointer; }
.ldc-doctor-calendar-nav button:disabled { opacity:.35;cursor:default; }
.ldc-doctor-days { display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c7d5e9 transparent; }
.ldc-doctor-day { flex:0 0 106px;text-align:left;padding:15px 13px;border:1.5px solid #ccd6e2;border-radius:14px;background:#fff;color:#24344f;cursor:pointer;scroll-snap-align:start;min-height:83px;font:inherit; }
.ldc-doctor-day strong { display:block;font-size:20px;line-height:1.2;font-weight:600;white-space:nowrap; }
.ldc-doctor-day span { display:block;margin-top:6px;font-size:15px;text-transform:capitalize;color:#62798d; }
.ldc-doctor-day[aria-pressed=true] { background:#eaf1fc;border-color:#2863c8;color:#205bc4;box-shadow:0 0 0 .5px #2863c8; }
.ldc-doctor-day[aria-pressed=true] span { color:#205bc4; }
.ldc-doctor-online .ldc-online-slots { display:flex;flex-wrap:wrap;gap:12px;margin-top:18px; }
.ldc-doctor-online .ldc-online-slot { flex:0 0 auto;min-width:92px;max-width:100%;border:2px solid #205dcc;border-radius:18px;background:#205dcc;color:white;padding:14px 16px;text-align:center;box-shadow:none; }
.ldc-doctor-online .ldc-online-slot strong { font-size:26px;font-weight:600;line-height:1.2;color:white; }
.ldc-doctor-online .ldc-online-slot:hover { background:#154da9;border-color:#154da9;transform:translateY(-2px); }
.ldc-doctor-online .ldc-online-slot[aria-pressed=true] { background:#123d87;border-color:#123d87;outline:3px solid #bed2f5;outline-offset:2px; }
.ldc-doctor-online .ldc-doctor-slot-address { font-size:10px;color:#e6efff;max-width:140px;line-height:1.3;margin-top:5px; }
.ldc-doctor-online .ldc-online-status { font-size:13px;line-height:1.55; }
.ldc-doctor-online .ldc-online-patient-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ldc-doctor-online .ldc-online-summary { flex-wrap:wrap;gap:12px; }
.ldc-doctor-online .ldc-doctor-terms { border-top:1px solid #e8eef6;padding-top:16px;margin-top:20px;font-size:12px;line-height:1.65;color:#62798d; }
.ldc-doctor-online button:focus-visible { outline:3px solid #16a2ce;outline-offset:3px; }
.ldc-service-online.ldc-online { max-width:1100px;width:calc(100% - 48px);margin:70px auto;padding:36px; }
.ldc-online-service-choices { display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px; }
.ldc-online-service-choices p { flex:0 0 100%;margin:0;color:#62798d;font-size:13px; }
.ldc-online-service-choices button { border:1.5px solid #ccd6e2;border-radius:12px;background:#fff;color:#24344f;padding:12px 16px;text-align:left;font:inherit;font-size:14px;cursor:pointer;max-width:100%; }
.ldc-online-service-choices button[aria-pressed=true] { border-color:#2863c8;background:#eaf1fc;color:#205bc4; }
@media(max-width:520px) {
 .ldc-doctor-online.ldc-online { padding:22px 16px;border-radius:20px; }
 .ldc-doctor-online .ldc-online-controls,.ldc-doctor-online .ldc-online-patient-grid { grid-template-columns:minmax(0,1fr); }
 .ldc-doctor-day { flex-basis:96px;min-height:78px;padding:13px 11px; }
 .ldc-doctor-online .ldc-online-slot { min-width:80px;padding:13px 12px;border-radius:16px; }
 .ldc-doctor-online .ldc-online-slot strong { font-size:24px; }
 .ldc-service-online.ldc-online { width:calc(100% - 32px);margin:40px auto; }
}
