/* Doctors directory and profile pages. */
.doctors-page { --doctor-line:#dce5eb; --doctor-muted:#58677b; }
.doctors-intro { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:64px; padding-bottom:58px; }
.doctors-intro p { max-width:570px; padding-bottom:5px; color:var(--doctor-muted); font-size:18px; line-height:1.65; }
.doctor-directory-list { border-top:1px solid var(--doctor-line); }
.doctor-directory-row { display:grid; grid-template-columns:260px minmax(0,1fr); gap:42px; padding:38px 0; border-bottom:1px solid var(--doctor-line); }
.doctor-directory-photo { display:block; align-self:start; aspect-ratio:4/5; overflow:hidden; border-radius:20px; background:var(--teal-pale); }
.doctor-directory-photo img { width:100%; height:100%; object-fit:cover; object-position:center 22%; transition:transform .28s ease; }
.doctor-directory-photo:hover img { transform:scale(1.025); }
.doctor-directory-copy { align-self:center; min-width:0; }
.doctor-directory-meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-bottom:12px; color:var(--doctor-muted); font-size:12px; }
.doctor-directory-meta span+span { padding-left:16px; border-left:1px solid var(--doctor-line); }
.doctor-directory-copy h2 { font-size:clamp(26px,3vw,36px); font-weight:500; line-height:1.2; }
.doctor-directory-copy h2 a { color:var(--ink); text-decoration:none; }
.doctor-directory-copy h2 a:hover { color:var(--teal-deep); }
.doctor-directory-title { margin-top:9px; color:var(--teal-deep); font-size:15px; font-weight:500; }
.doctor-directory-summary { max-width:660px; margin-top:16px; color:var(--doctor-muted); font-size:16px; line-height:1.65; }
.doctor-expertise-list { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0; padding:0; list-style:none; }
.doctor-expertise-list li { padding:7px 11px; border:1px solid #c9dfe8; border-radius:999px; color:var(--doctor-muted); font-size:12px; line-height:1.35; }
.doctor-action { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; margin-top:22px; padding:11px 17px; border:1px solid #bdd6e1; border-radius:12px; color:var(--teal-deep); font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; }
.doctor-action svg { width:17px; height:17px; flex-shrink:0; }
.doctor-action:hover { border-color:var(--teal-deep); background:var(--teal-pale); color:var(--ink); transform:translateY(-1px); }
.doctor-action--primary { border-color:var(--teal-deep); background:var(--teal-deep); color:#fff; }
.doctor-action--primary:hover { border-color:var(--ink); background:var(--ink); color:#fff; }

.doctor-profile-page { max-width:1040px; }
.doctor-profile { overflow:hidden; border:1px solid var(--doctor-line); border-radius:26px; background:#fff; }
.doctor-profile-hero { display:grid; grid-template-columns:330px minmax(0,1fr); min-height:410px; background:linear-gradient(135deg,#f7fbfd 0%,#eaf6fa 100%); }
.doctor-profile-photo { min-height:410px; background:#dceff6; }
.doctor-profile-photo img { width:100%; height:100%; min-height:410px; object-fit:cover; object-position:center 22%; }
.doctor-profile-heading { align-self:center; padding:50px 54px; }
.doctor-profile-specialty { color:var(--teal-deep); font-size:14px; font-weight:500; line-height:1.45; }
.doctor-profile-heading h1 { margin-top:12px; font-size:clamp(34px,4.2vw,52px); }
.doctor-profile-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:18px; color:var(--doctor-muted); font-size:13px; }
.doctor-profile-meta span+span { padding-left:18px; border-left:1px solid #c3d8e2; }
.doctor-profile-heading>p:last-child { max-width:570px; margin-top:24px; color:var(--doctor-muted); font-size:17px; line-height:1.65; }
.doctor-profile-body { max-width:800px; margin-inline:auto; padding:18px 48px 54px; }
.doctor-profile-body section { padding:36px 0; border-bottom:1px solid var(--doctor-line); }
.doctor-profile-body section:last-child { border-bottom:0; padding-bottom:0; }
.doctor-profile-body h2 { margin-bottom:18px; font-size:26px; font-weight:500; }
.doctor-profile-body section>p { color:var(--doctor-muted); font-size:17px; line-height:1.78; }
.doctor-profile-expertise { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 28px; margin:0; padding:0; list-style:none; }
.doctor-profile-expertise li { position:relative; padding-left:22px; color:var(--doctor-muted); font-size:15px; line-height:1.55; }
.doctor-profile-expertise li::before { content:''; position:absolute; top:.62em; left:0; width:7px; height:7px; border-radius:50%; background:var(--teal); }
.doctor-practices { border-top:1px solid var(--doctor-line); }
.doctor-practice { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; padding:22px 0; border-bottom:1px solid var(--doctor-line); }
.doctor-practice h3 { font-size:17px; font-weight:500; line-height:1.4; }
.doctor-practice p { margin-top:5px; color:var(--doctor-muted); font-size:14px; line-height:1.5; }
.doctor-practice .doctor-action { max-width:260px; margin-top:0; text-align:center; }
.doctor-links { display:flex; flex-wrap:wrap; gap:10px; }
.doctor-links .doctor-action { margin-top:0; }
.back-to-doctors { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-top:28px; color:var(--teal-deep); font-size:15px; font-weight:500; text-decoration:none; }
.back-to-doctors:hover { color:var(--ink); }
.back-to-doctors svg { width:18px; height:18px; }

@media (max-width:820px) {
  .doctors-intro { grid-template-columns:1fr; gap:20px; padding-bottom:38px; }
  .doctor-directory-row { grid-template-columns:190px minmax(0,1fr); gap:28px; }
  .doctor-profile-hero { grid-template-columns:260px minmax(0,1fr); min-height:360px; }
  .doctor-profile-photo,.doctor-profile-photo img { min-height:360px; }
  .doctor-profile-heading { padding:38px 34px; }
  .doctor-profile-body { padding-inline:34px; }
}

@media (max-width:600px) {
  .doctors-intro p { font-size:16px; }
  .doctor-directory-row { grid-template-columns:112px minmax(0,1fr); gap:17px; padding:27px 0; }
  .doctor-directory-photo { border-radius:14px; }
  .doctor-directory-copy { align-self:start; }
  .doctor-directory-meta { gap:5px 10px; margin-bottom:8px; font-size:11px; }
  .doctor-directory-meta span+span { padding-left:10px; }
  .doctor-directory-copy h2 { font-size:20px; overflow-wrap:anywhere; }
  .doctor-directory-title { margin-top:6px; font-size:12px; }
  .doctor-directory-summary { grid-column:1/-1; margin-top:11px; font-size:13px; line-height:1.55; }
  .doctor-expertise-list { display:none; }
  .doctor-directory-copy .doctor-action { min-height:40px; margin-top:13px; padding:8px 11px; font-size:12px; }
  .doctor-directory-copy .doctor-action svg { display:none; }
  .doctor-profile { border-radius:20px; }
  .doctor-profile-hero { grid-template-columns:1fr; min-height:0; }
  .doctor-profile-photo { min-height:0; aspect-ratio:4/3; }
  .doctor-profile-photo img { min-height:0; }
  .doctor-profile-heading { padding:28px 22px 32px; }
  .doctor-profile-heading h1 { font-size:34px; }
  .doctor-profile-heading>p:last-child { margin-top:19px; font-size:15px; }
  .doctor-profile-body { padding:8px 22px 34px; }
  .doctor-profile-body section { padding:28px 0; }
  .doctor-profile-body h2 { font-size:23px; }
  .doctor-profile-body section>p { font-size:15px; }
  .doctor-profile-expertise { grid-template-columns:1fr; gap:10px; }
  .doctor-practice { grid-template-columns:1fr; gap:13px; padding:19px 0; }
  .doctor-practice .doctor-action { width:100%; max-width:none; margin-top:0; }
  .doctor-links { flex-direction:column; }
  .doctor-links .doctor-action { width:100%; }
}

@media print {
  .doctors-page>header,.doctors-page footer,.doctor-action,.back-to-doctors { display:none !important; }
  .doctor-profile { border:0; }
}
