/* Match the 4:5 portrait source without fixed-height letterboxing. */
.doctor-detail-page .doctor-detail-photo {
  width: 100%; height: auto; min-height: 0; max-height: none;
  aspect-ratio: 4 / 5;
}
.doctor-detail-page .doctor-detail-photo img {
  display: block; width: 100%; height: 100%;
  object-fit: contain; object-position: center top;
}
/* Shared doctor hero: text must fit its own grid track. */
.doctor-detail-page .doctor-detail-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.06fr) minmax(0,1.18fr) minmax(250px,.7fr);
  width: 100%; max-width: 100%; min-width: 0;
}
.doctor-detail-page .doctor-detail-hero-grid.without-video {
  grid-template-columns: minmax(0,1fr) minmax(0,1.08fr);
  width: min(100%,1040px);
}
.doctor-detail-page .doctor-detail-hero-grid > * { min-width: 0; max-width: 100%; }
.doctor-detail-page .doctor-portrait-column { grid-column: 1; grid-row: 1; }
.doctor-detail-page .doctor-detail-summary { grid-column: 2; grid-row: 1; width: 100%; min-width: 0; }
.doctor-detail-page .doctor-intro-video { position: static; grid-column: 3; grid-row: 1; min-width: 0; }
.doctor-detail-page .doctor-detail-summary h1,
.doctor-detail-page .doctor-name {
  width: 100%; max-width: 100%; min-width: 0;
  white-space: normal; overflow-wrap: normal; word-break: normal;
}
.doctor-detail-page .doctor-name {
  font-size: clamp(42px,4.1vw,64px);
  line-height: 1.06;
}
.doctor-detail-page .doctor-name-line {
  display: block; width: max-content; max-width: none;
  white-space: nowrap; overflow-wrap: normal; word-break: normal;
  hyphens: none;
}
.doctor-detail-page .doctor-detail-summary .profile-actions {
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) minmax(0,.82fr);
}
.doctor-detail-page .profile-actions > * {
  min-width: 0; max-width: 100%; white-space: normal;
  overflow-wrap: anywhere; text-align: center;
}
@media (max-width:1120px) {
  .doctor-detail-page .doctor-detail-hero-grid,
  .doctor-detail-page .doctor-detail-hero-grid.without-video {
    grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr);
    width: 100%;
  }
  .doctor-detail-page .doctor-intro-video { grid-column: 1 / -1; grid-row: 2; }
  .doctor-detail-page .doctor-detail-summary .profile-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .doctor-detail-page .doctor-detail-hero-grid,
  .doctor-detail-page .doctor-detail-hero-grid.without-video { grid-template-columns: minmax(0,1fr); }
  .doctor-detail-page .doctor-portrait-column { grid-column: 1; grid-row: 1; order: 1; }
  .doctor-detail-page .doctor-detail-summary { grid-column: 1; grid-row: 2; order: 2; }
  .doctor-detail-page .doctor-intro-video { grid-column: 1; grid-row: 3; order: 3; }
  .doctor-detail-page .doctor-name { font-size: clamp(38px,10.8vw,50px); }
  .doctor-detail-page .doctor-detail-summary .profile-actions { grid-template-columns: minmax(0,1fr); }
}
