.pd-booking { --bk-ink:#183b3b; --bk-muted:#62777b; --bk-teal:#157d80; --bk-dark:#155052; --bk-gold:#ddae66; --bk-line:#dce8e8; --bk-paper:#fff; --bk-tint:#f0f8f7; color:var(--bk-ink); background:#f7fbfb; direction:rtl; padding:26px 0 88px; }
.pd-booking *, .pd-booking *::before, .pd-booking *::after { box-sizing:border-box; }
.pd-booking-shell { width:min(1220px, calc(100% - 48px)); margin-inline:auto; }
.pd-booking a { text-decoration:none; }
.pd-booking-breadcrumb { display:flex; align-items:center; gap:12px; margin:0 0 24px; color:var(--bk-muted); font-size:.9rem; }
.pd-booking-breadcrumb a { color:inherit; }
.pd-booking-hero { isolation:isolate; position:relative; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); min-height:540px; gap:48px; padding:clamp(32px,5vw,76px); border-radius:32px; color:#fff; background:linear-gradient(125deg,#123c4b 0%,#145b60 62%,#14777b 100%); overflow:visible; }
.pd-booking-hero-copy { position:relative; z-index:3; min-width:0; }
.pd-booking-eyebrow, .pd-booking-overline { display:inline-flex; align-items:center; gap:9px; font-size:.88rem; font-weight:700; letter-spacing:.01em; }
.pd-booking-eyebrow { color:#bde5df; }
.pd-booking-hero h1 { margin:25px 0 17px; font-size:clamp(2.15rem,3.5vw,4rem); line-height:1.55; font-weight:800; }
.pd-booking-hero h1 em { color:#f4d09c; font-style:normal; }
.pd-booking-hero-copy > p { max-width:650px; line-height:2; color:#dfefee; font-size:1.04rem; }
.pd-booking-search { position:relative; z-index:5; width:min(100%,640px); margin-top:26px; padding:22px; border:1px solid rgba(255,255,255,.35); border-radius:22px; color:var(--bk-ink); background:#fff; box-shadow:0 26px 65px rgba(5,36,47,.18); }
.pd-booking-search > label, .pd-booking-tracking-form > label { display:block; margin-bottom:10px; font-weight:800; }
.pd-booking-search-field { display:flex; align-items:center; gap:12px; min-height:58px; padding:0 17px; border:1px solid var(--bk-line); border-radius:13px; color:var(--bk-teal); }
.pd-booking-search-field:focus-within { border-color:var(--bk-teal); box-shadow:0 0 0 3px rgba(21,125,128,.12); }
.pd-booking-search-field input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:var(--bk-ink); }
.pd-booking-search-field button { border:0; background:transparent; color:var(--bk-teal); padding:10px; cursor:pointer; }
.pd-booking-search-foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:11px; font-size:.83rem; color:var(--bk-muted); }
.pd-booking-search-foot a { color:var(--bk-teal); font-weight:700; }
.pd-booking-hero-actions { display:flex; flex-wrap:wrap; gap:24px; margin-top:29px; }
.pd-booking-hero-actions a { color:#f7ffff; font-weight:700; }
.pd-booking-hero-actions a i { margin-inline-start:6px; }
.pd-booking-hero-art { position:relative; display:grid; place-items:center; min-height:360px; }
.pd-booking-orbit { position:absolute; width:min(95%,420px); aspect-ratio:1; border:1px solid rgba(255,255,255,.23); border-radius:50%; box-shadow:0 0 0 42px rgba(255,255,255,.035),0 0 0 85px rgba(255,255,255,.025); }
.pd-booking-art-card { position:relative; z-index:1; display:grid; justify-items:start; gap:16px; width:min(100%,340px); padding:32px; border:1px solid rgba(255,255,255,.45); border-radius:27px; background:rgba(255,255,255,.14); backdrop-filter:blur(12px); box-shadow:0 24px 70px rgba(5,32,37,.15); transform:rotate(-4deg); }
.pd-booking-art-icon { display:grid; place-items:center; width:65px; height:65px; border-radius:20px; background:#fff; color:var(--bk-teal); font-size:1.7rem; }
.pd-booking-art-card strong { font-size:1.25rem; line-height:2; }
.pd-booking-art-card strong b { color:#f4d09c; }
.pd-booking-art-card small { color:#d6ebeb; }
.pd-booking-art-pill { position:absolute; z-index:2; right:0; bottom:13px; padding:13px 18px; border-radius:12px; background:#f5dfbd; color:#18464a; font-weight:700; box-shadow:0 15px 35px rgba(0,0,0,.14); }
.pd-booking-search .ts-wrapper { flex:1; min-width:0; }
.pd-booking-search .ts-control { min-height:48px; border:0!important; box-shadow:none!important; background:transparent!important; padding:9px 0!important; color:var(--bk-ink); }
.pd-booking-search .ts-dropdown { z-index:20; width:100%; max-height:340px; overflow:auto; border:1px solid var(--bk-line); border-radius:13px; box-shadow:0 18px 35px rgba(15,63,67,.16); color:var(--bk-ink); background:var(--bk-paper); }
.pd-booking-search-option { display:flex; align-items:center; gap:13px; padding:7px; text-align:right; }
.pd-booking-search-option img { flex:none; width:48px; height:48px; object-fit:cover; border-radius:12px; }
.pd-booking-search-option span { display:grid; gap:2px; }
.pd-booking-search-option small, .pd-booking-no-results { color:var(--bk-muted); }
.pd-booking-no-results { padding:12px; }
.pd-booking-intro,.pd-booking-details,.pd-booking-featured,.pd-booking-tracking { margin-top:56px; }
.pd-booking-intro { padding:clamp(26px,4vw,52px); border:1px solid var(--bk-line); border-radius:26px; background:var(--bk-paper); }
.pd-booking-overline { color:var(--bk-teal); }
.pd-booking h2 { font-size:clamp(1.6rem,2.4vw,2.5rem); line-height:1.5; margin:10px 0 14px; }
.pd-booking-richtext { color:var(--bk-muted); line-height:2; overflow-wrap:anywhere; }
.pd-booking-richtext img { max-width:100%; height:auto; }
.pd-booking-details-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.pd-booking-detail { min-width:0; padding:26px; border:1px solid var(--bk-line); border-radius:22px; background:var(--bk-paper); }
.pd-booking-detail-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; color:var(--bk-teal); background:var(--bk-tint); }
.pd-booking-detail h3 { margin:17px 0 8px; font-size:1.12rem; }
.pd-booking-detail h3 a { color:inherit; }
.pd-booking-section-heading { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:24px; }
.pd-booking-section-heading p { margin:0; color:var(--bk-muted); }
.pd-booking-section-heading > a { color:var(--bk-teal); font-weight:700; }
.pd-booking-doctor-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.pd-booking-doctor { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--bk-line); border-radius:22px; background:var(--bk-paper); box-shadow:0 10px 28px rgba(16,73,77,.045); transition:transform .2s ease,box-shadow .2s ease; }
.pd-booking-doctor:hover { transform:translateY(-4px); box-shadow:0 18px 40px rgba(16,73,77,.11); }
.pd-booking-doctor-head { position:relative; height:185px; display:grid; place-items:center; background:linear-gradient(135deg,#e8f3f2,#d7e9e7); }
.pd-booking-doctor-head img { width:110px; height:110px; object-fit:cover; border:4px solid #fff; border-radius:50%; box-shadow:0 9px 25px rgba(15,67,69,.16); }
.pd-booking-doctor-badge { position:absolute; top:16px; right:16px; padding:7px 11px; border-radius:99px; background:#fff; color:#95642d; font-size:.76rem; font-weight:700; }
.pd-booking-doctor-body { padding:22px 22px 12px; flex:1; }
.pd-booking-doctor-body h3 { margin:0 0 8px; font-size:1.12rem; line-height:1.7; overflow-wrap:anywhere; }
.pd-booking-doctor-body p { margin:6px 0; line-height:1.85; }
.pd-booking-doctor-specialty { color:var(--bk-teal); font-weight:700; }
.pd-booking-doctor-location,.pd-booking-doctor-summary { color:var(--bk-muted); font-size:.88rem; }
.pd-booking-doctor-summary { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.pd-booking-doctor-actions { display:flex; flex-wrap:wrap; gap:9px; padding:0 22px 22px; }
.pd-booking-doctor-actions a,.pd-booking-doctor-actions button { display:inline-flex; align-items:center; justify-content:center; flex:1; min-width:105px; min-height:43px; padding:8px 12px; border-radius:10px; font-size:.86rem; font-weight:700; text-align:center; cursor:pointer; }
.pd-booking-doctor-actions a { color:var(--bk-dark); border:1px solid var(--bk-line); }
.pd-booking-doctor-actions button { gap:7px; color:#fff; background:var(--bk-dark); border:1px solid var(--bk-dark); }
.pd-booking-empty { padding:32px; border:1px dashed var(--bk-line); border-radius:18px; background:var(--bk-paper); }
.pd-booking-empty a { color:var(--bk-teal); }
.pd-booking-tracking { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; padding:clamp(26px,4vw,50px); border-radius:26px; background:#e9f5f3; }
.pd-booking-tracking p { color:var(--bk-muted); }
.pd-booking-tracking-row { display:flex; gap:10px; }
.pd-booking-tracking-row input { min-width:0; width:100%; min-height:52px; padding:10px 16px; border:1px solid var(--bk-line); border-radius:11px; background:#fff; }
.pd-booking-tracking-row button { white-space:nowrap; padding:0 19px; border:0; border-radius:11px; color:#fff; background:var(--bk-dark); cursor:pointer; }
.pd-booking-tracking-row button:disabled { opacity:.6; cursor:wait; }
.pd-booking-track-status { min-height:1.4em; margin:8px 0 0; }
.pd-booking-track-result { padding:18px; border:1px solid var(--bk-line); border-radius:12px; background:var(--bk-paper); overflow-wrap:anywhere; }
.pd-booking-modal-preview { display:grid; justify-items:center; gap:9px; }
.pd-booking-modal-preview img { width:90px; height:90px; object-fit:cover; border-radius:50%; }
.pd-booking-modal-preview span,.pd-booking-modal-preview small { color:#597075; }
@media (max-width:1150px) { .pd-booking-doctor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .pd-booking-hero { grid-template-columns:1fr .7fr; gap:20px; } }
@media (max-width:850px) { .pd-booking-hero { grid-template-columns:1fr; } .pd-booking-hero-art { min-height:240px; } .pd-booking-art-card { width:280px; } .pd-booking-doctor-grid,.pd-booking-details-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pd-booking-tracking { grid-template-columns:1fr; } }
@media (max-width:580px) { .pd-booking { padding-top:16px; } .pd-booking-shell { width:calc(100% - 32px); } .pd-booking-hero { padding:27px 22px; border-radius:22px; } .pd-booking-hero h1 { font-size:2rem; } .pd-booking-hero-art { display:none; } .pd-booking-search { padding:17px; } .pd-booking-doctor-grid,.pd-booking-details-grid { grid-template-columns:1fr; } .pd-booking-tracking-row { flex-direction:column; } .pd-booking-tracking-row button { min-height:49px; } }
[data-bs-theme="dark"] .pd-booking, body.dark-mode .pd-booking { --bk-ink:#e4f0ed; --bk-muted:#a9c1c1; --bk-teal:#79d5d0; --bk-dark:#1a7777; --bk-line:#345357; --bk-paper:#20383c; --bk-tint:#1c4748; background:#14292e; }
[data-bs-theme="dark"] .pd-booking-search, body.dark-mode .pd-booking-search { background:#20383c; }
[data-bs-theme="dark"] .pd-booking-search-field, body.dark-mode .pd-booking-search-field { color:#79d5d0; }
[data-bs-theme="dark"] .pd-booking-doctor-head, body.dark-mode .pd-booking-doctor-head { background:#29494b; }
[data-bs-theme="dark"] .pd-booking-tracking, body.dark-mode .pd-booking-tracking { background:#1b4142; }
[data-bs-theme="dark"] .pd-booking-tracking-row input, body.dark-mode .pd-booking-tracking-row input { color:#e4f0ed; background:#20383c; }
[data-bs-theme="dark"] .pd-booking-doctor-badge, body.dark-mode .pd-booking-doctor-badge { color:#f5d5a3; background:#284448; }
@media (prefers-reduced-motion:reduce) { .pd-booking-doctor { transition:none; } }

/* PHPMaker's #main section spacing can override the page's horizontal padding.
   Keep the content aligned with the common header and inside each card. */
main#main.pd-booking > .pd-booking-shell {
  width:calc(100% - 48px) !important;
  max-width:1220px !important;
  margin-inline:auto !important;
}
main#main.pd-booking .pd-booking-hero #pd-booking-title {
  color:#f8fffd !important;
  font-size:clamp(2rem,3vw,3.25rem);
  line-height:1.5;
}
main#main.pd-booking .pd-booking-hero #pd-booking-title em {
  color:#f4d09c !important;
}
main#main.pd-booking section.pd-booking-hero {
  padding-inline:clamp(32px,5vw,76px) !important;
}
main#main.pd-booking section.pd-booking-intro {
  padding-inline:clamp(26px,4vw,52px) !important;
}
main#main.pd-booking section.pd-booking-tracking {
  padding-inline:clamp(26px,4vw,50px) !important;
}
@media (max-width:580px) {
  main#main.pd-booking > .pd-booking-shell { width:calc(100% - 32px) !important; }
  main#main.pd-booking .pd-booking-hero #pd-booking-title { font-size:clamp(1.85rem,7vw,2.15rem); }
  main#main.pd-booking section.pd-booking-hero { padding-inline:22px !important; }
  main#main.pd-booking section.pd-booking-intro,
  main#main.pd-booking section.pd-booking-tracking { padding-inline:22px !important; }
}