.p32-booking-landing{padding:clamp(46px,7vw,84px) 0;background:linear-gradient(180deg,#f7fbff 0%,#fff 100%)}
.p32-booking-heading{max-width:780px;margin:0 auto 28px;text-align:center}.p32-booking-heading h1{margin:.2em 0;font-size:clamp(2.2rem,5vw,4rem);color:#082d6c;letter-spacing:-.045em}.p32-booking-heading p{color:#55708c;font-size:1.05rem;line-height:1.7}
.booking-doctor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.booking-doctor-card{overflow:hidden;border:1px solid #dce7f3;border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(9,45,107,.08)}.booking-doctor-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 20%}.booking-doctor-card-body{padding:22px}.booking-doctor-card h2{margin:7px 0 8px;color:#092d6b;font-size:1.35rem;line-height:1.12}.booking-doctor-card-body>p{color:#5b7188;line-height:1.55}.booking-doctor-kicker{font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#006ad8}.booking-doctor-credentials{font-weight:800;color:#264e76!important}.booking-doctor-card .p8-btn{width:100%;justify-content:center;margin-top:8px}
.p32-generic-booking{padding:0 0 70px;background:#fff}.p32-generic-details{border:1px solid #dbe6f2;border-radius:22px;background:#f8fbff;overflow:hidden}.p32-generic-details>summary{cursor:pointer;padding:18px 22px;display:flex;justify-content:space-between;gap:16px;color:#0a326c}.p32-generic-details>summary span{color:#6b8198;font-weight:600}.p32-generic-details .p8-section{padding-top:10px}
.p32-doctor-booking{padding:42px 0 76px;background:linear-gradient(180deg,#f5faff 0%,#fff 38%)}.p32-doctor-booking-shell{max-width:1050px}.p32-doctor-hero{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:34px;align-items:center;margin-bottom:28px}.p32-doctor-hero>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px;border:1px solid #d9e5f1;box-shadow:0 22px 55px rgba(9,45,107,.10)}.p32-doctor-hero h1{margin:.15em 0 .2em;color:#092d6b;font-size:clamp(2.2rem,5vw,4.1rem);line-height:1.02;letter-spacing:-.045em}.p32-doctor-hero p{color:#536d89;line-height:1.65}.p32-doctor-credentials{font-weight:850;color:#214f80!important}.p32-back-link{display:inline-block;margin-bottom:16px;color:#0a65cb;font-weight:800;text-decoration:none}.p32-pending-note{margin-top:18px;padding:14px 16px;border-radius:16px;background:#fff7df;border:1px solid #f0d58b;color:#71520b;line-height:1.5}
.p32-booking-flow{display:grid;gap:18px}.p32-step-card{padding:24px;border:1px solid #dbe6f2;border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(9,45,107,.05)}.p32-step-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.p32-step-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#082d6c;color:#fff;font-weight:900;flex:0 0 auto}.p32-step-head h2{margin:0 0 4px;color:#092d6b;font-size:1.35rem}.p32-step-head p{margin:0;color:#6a8096}.p32-choice-grid,.booking-duty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.p32-choice,.p32-duty-card{min-height:70px;padding:14px 16px;border:1px solid #ccdaea;border-radius:16px;background:#f9fcff;color:#153f6b;font:inherit;font-weight:800;text-align:left;cursor:pointer;transition:.18s ease}.p32-choice:hover,.p32-duty-card:hover,.p32-choice.active,.p32-duty-card.active{border-color:#006fe6;background:#edf6ff;box-shadow:0 8px 24px rgba(0,111,230,.10);transform:translateY(-1px)}.p32-duty-card{display:flex;flex-direction:column;gap:4px}.p32-duty-card span{font-size:.82rem;color:#66809a;font-weight:700}.p32-patient-form label{display:flex;flex-direction:column;gap:7px;font-weight:800;color:#173f69}.p32-patient-form input,.p32-patient-form textarea{width:100%;min-height:46px;border:1px solid #ccd9e8;border-radius:12px;padding:11px 12px;font:inherit}.p32-patient-form textarea{min-height:110px}.p32-submit{margin-top:8px}.p32-pending-receipt{border-color:#efd48c;background:#fff9e8;color:#563f08}.p32-pending-receipt h2{color:#684b00}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.booking-review-card{border:1px solid #dbe6f2;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(9,45,107,.08)}
@media(max-width:820px){.booking-doctor-grid{grid-template-columns:1fr}.booking-doctor-card{display:grid;grid-template-columns:140px 1fr}.booking-doctor-card>img{height:100%;aspect-ratio:auto}.p32-doctor-hero{grid-template-columns:150px 1fr}.p32-choice-grid,.booking-duty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.p32-booking-landing{padding:34px 0 48px}.booking-doctor-card{display:block}.booking-doctor-card>img{aspect-ratio:16/10}.p32-generic-details>summary{flex-direction:column;gap:3px}.p32-doctor-booking{padding:28px 0 56px}.p32-doctor-hero{grid-template-columns:1fr;gap:18px}.p32-doctor-hero>img{max-height:270px}.p32-step-card{padding:18px}.p32-choice-grid,.booking-duty-grid{grid-template-columns:1fr}.p32-patient-form,.p32-patient-form *{min-width:0;max-width:100%}.p32-submit{width:100%;justify-content:center}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.p32-review-page{padding:52px 0 80px;background:linear-gradient(180deg,#f3f8fd 0%,#fff 70%);min-height:70vh}.p32-review-shell{max-width:820px}.p32-review-heading{text-align:center;margin-bottom:24px}.p32-review-heading h1{margin:.2em 0;color:#092d6b;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.04em}.p32-review-heading p{color:#637b93}.booking-review-card{padding:26px}.p32-review-status{margin-bottom:18px}.p32-review-status span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#fff6d8;border:1px solid #efd285;color:#71500a;font-size:.78rem;font-weight:900}.p32-review-details{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #e0e8f1;border-radius:16px;overflow:hidden}.p32-review-details>div{padding:14px;border-bottom:1px solid #e8eef5}.p32-review-details>div:nth-child(odd){border-right:1px solid #e8eef5}.p32-review-details dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#6b8198}.p32-review-details dd{margin:4px 0 0;color:#153e69;font-weight:750}.p32-review-notes{margin-top:18px;padding:16px;border-radius:14px;background:#f7fafc;border:1px solid #e1e9f0}.p32-review-notes h2{font-size:1rem;margin:0 0 6px;color:#193f67}.p32-review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.p32-reject-button,.p32-reject-final{border-color:#e0a8a8!important;color:#8f2020!important;background:#fff7f7!important}.p32-review-confirm-panel{margin-top:20px;padding:18px;border-radius:16px;border:1px solid #bcd3ea;background:#f4f9ff}.p32-review-reject-panel{border-color:#efc1c1;background:#fff8f8}.p32-review-confirm-panel h2{margin:0 0 8px;color:#173f69;font-size:1.2rem}.p32-review-confirm-panel p{margin:0;color:#637b93}.p32-review-result{text-align:center}.p32-review-result h2{color:#092d6b;font-size:1.8rem}.p32-review-result .p8-btn{margin-top:12px}
@media(max-width:560px){.p32-review-page{padding:34px 0 60px}.booking-review-card{padding:18px}.p32-review-details{grid-template-columns:1fr}.p32-review-details>div:nth-child(odd){border-right:0}.p32-review-actions{display:grid;grid-template-columns:1fr}.p32-review-actions .p8-btn{width:100%;justify-content:center}}
