:root{--booking-ink:#10251d;--booking-muted:#52655c;--booking-green:#2e7d32;--booking-green-dark:#1e5b24;--booking-cream:#fffaf1;--booking-line:rgba(24,72,47,.13);--booking-shadow:0 24px 70px rgba(31,66,47,.13)}
*{box-sizing:border-box}
body.booking-body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% 8%,rgba(238,184,72,.14),transparent 28rem),radial-gradient(circle at 93% 18%,rgba(65,149,91,.14),transparent 30rem),linear-gradient(145deg,var(--booking-cream) 0%,#fff 48%,#f2faf4 100%);color:var(--booking-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.booking-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:72px 0 92px}
.booking-hero{max-width:860px;margin:0 auto 38px;text-align:center}
.booking-eyebrow,.booking-card-kicker{margin:0 0 14px;color:var(--booking-green-dark);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.booking-hero h1{margin:0;color:var(--booking-ink);font-size:clamp(3.2rem,7.4vw,6.7rem);font-weight:900;letter-spacing:-.075em;line-height:.93}
.booking-hero h1 span{color:var(--booking-green)}
.booking-lead{max-width:720px;margin:24px auto 0;color:var(--booking-muted);font-size:clamp(1.02rem,1.8vw,1.2rem);line-height:1.7}
.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:840px;margin:30px auto 0;overflow:hidden;border:1px solid var(--booking-line);border-radius:20px;background:var(--booking-line);box-shadow:0 12px 32px rgba(31,66,47,.08)}
.booking-step{display:flex;align-items:center;justify-content:center;gap:10px;min-height:66px;padding:12px 14px;background:rgba(255,255,255,.84);color:#315044;font-size:.86rem;font-weight:800}
.booking-step span{width:27px;height:27px;display:inline-grid;place-items:center;flex:0 0 27px;border-radius:50%;background:#e9f5eb;color:var(--booking-green-dark);font-size:.76rem;font-weight:900}
.booking-doctors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.booking-doctor-card{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);min-width:0;overflow:hidden;border:1px solid var(--booking-line);border-radius:32px;background:rgba(255,255,255,.91);box-shadow:var(--booking-shadow);transition:transform .18s ease,box-shadow .18s ease}
.booking-doctor-card:hover{transform:translateY(-4px);box-shadow:0 30px 80px rgba(31,66,47,.17)}
.booking-photo-link{min-height:430px;display:block;overflow:hidden;background:linear-gradient(160deg,#eff7f0,#e1eee5)}
.booking-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transition:transform .4s ease}
.booking-doctor-card:hover .booking-photo{transform:scale(1.025)}
.booking-card-content{min-width:0;display:flex;flex-direction:column;padding:34px 30px 30px}
.booking-card-content h2{margin:0;color:var(--booking-ink);font-size:clamp(1.8rem,3vw,2.65rem);font-weight:900;letter-spacing:-.055em;line-height:1}
.booking-credentials{margin:10px 0 0;color:var(--booking-green-dark);font-size:.92rem;font-weight:800}
.booking-summary{margin:19px 0 0;color:var(--booking-muted);font-size:.94rem;line-height:1.65}
.booking-facts{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 0}
.booking-facts span{display:inline-flex;align-items:center;min-height:31px;border:1px solid rgba(46,125,50,.14);border-radius:999px;background:#f2f9f3;color:#285735;padding:7px 10px;font-size:.73rem;font-weight:800}
.booking-actions{display:grid;gap:11px;margin-top:auto;padding-top:24px}
.booking-cta,.booking-profile-link{min-height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 17px;font-size:.9rem;font-weight:900;line-height:1.2;text-align:center;text-decoration:none;transition:transform .16s ease}
.booking-cta{background:linear-gradient(135deg,var(--booking-green),var(--booking-green-dark));color:#fff;box-shadow:0 16px 32px rgba(30,91,36,.22)}
.booking-profile-link{border:1px solid rgba(46,125,50,.2);background:#fff;color:var(--booking-green-dark)}
.booking-cta:hover,.booking-profile-link:hover{transform:translateY(-2px)}
.booking-location-notice{display:grid;grid-template-columns:auto 1fr 1fr;gap:18px;align-items:start;margin:26px 0 0;border:1px solid rgba(46,125,50,.16);border-radius:24px;background:rgba(239,248,241,.88);padding:24px 26px;color:#315044;box-shadow:0 14px 36px rgba(31,66,47,.07)}
.booking-notice-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--booking-green);color:#fff;font-size:1.1rem;font-weight:900}
.booking-location-notice p{margin:0;font-size:.9rem;line-height:1.58}.booking-location-notice strong{display:block;margin-bottom:4px;color:var(--booking-ink)}
.booking-assurance{display:flex;justify-content:center;gap:24px;margin:27px 0 0;color:#5a6b62;font-size:.79rem;font-weight:700;text-align:center}.booking-assurance span:before{content:"✓";margin-right:7px;color:var(--booking-green);font-weight:900}
@media(max-width:1080px){.booking-doctor-card{grid-template-columns:1fr}.booking-photo-link{min-height:0;aspect-ratio:4/3}.booking-photo{object-position:center 18%}.booking-card-content{min-height:390px}}
@media(max-width:760px){.booking-page{width:min(100% - 24px,620px);padding:46px 0 66px}.booking-hero{margin-bottom:28px}.booking-hero h1{font-size:clamp(3.25rem,17vw,5.2rem)}.booking-lead{margin-top:18px;font-size:.98rem;line-height:1.62}.booking-steps{grid-template-columns:1fr;border-radius:18px}.booking-step{min-height:51px;justify-content:flex-start;padding-inline:18px}.booking-doctors{grid-template-columns:1fr}.booking-doctor-card{border-radius:27px}.booking-photo-link{aspect-ratio:1.14/1}.booking-card-content{min-height:0;padding:27px 23px 24px}.booking-location-notice{grid-template-columns:auto 1fr;padding:21px}.booking-location-notice p[lang]{grid-column:2}.booking-assurance{flex-direction:column;gap:8px}}
@media(max-width:420px){.booking-page{width:min(100% - 18px,620px)}.booking-card-content h2{font-size:2.05rem}.booking-location-notice{grid-template-columns:1fr;gap:12px}.booking-location-notice p[lang]{grid-column:auto}}
