/* Doctor directory (Daniel 2026-10-13 V1 audit): doctor.html with no doctor named shows every doctor as a card. */
.doc-dir{width:var(--dio-col,min(1280px,calc(100% - 32px)));margin:clamp(32px,5vw,56px) auto}
.doc-dir-label{margin:0 0 8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#4c7288}
.doc-dir h1{margin:0 0 24px;font-size:clamp(34px,3.6vw,50px);letter-spacing:-.02em;color:#1c3341}
.doc-dir-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.doc-dir-card{display:flex;flex-direction:column;text-decoration:none;color:#1c3341;background:#fff;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(32,56,70,.1),0 16px 32px -24px rgba(16,32,42,.45)}
.doc-dir-photo{aspect-ratio:4/3;background:#e8eff3;overflow:hidden}
.doc-dir-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}
.doc-dir-photo.none{display:grid;place-items:center;background:#203846;color:#c9d6dd;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.doc-dir-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:4px;flex:1}
.doc-dir-body h2{margin:0;font-size:19px;line-height:1.25}
.doc-dir-role{margin:0;font-size:15px;color:#33505f}
.doc-dir-office{margin:0;font-size:14px;color:#56737f}
.doc-dir-more{margin-top:auto;padding-top:10px;font-size:14px;font-weight:700;color:#A8521A}
.doc-dir-card:hover .doc-dir-more{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.doc-dir-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.doc-dir-grid{grid-template-columns:1fr}}
/* Media-needed placeholders (Daniel 2026-10-13), same look as the Travel step 7 placeholder */
.media-needed{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;border:4px dashed #ed873c;border-radius:8px;background:repeating-linear-gradient(135deg,#fff3e8 0 18px,#ffe4cc 18px 36px)!important;color:#8a3d0c!important;box-sizing:border-box}
.media-needed strong{font-size:18px;letter-spacing:.12em}
.media-needed span{max-width:280px;font-size:14px;line-height:1.45;text-transform:none;letter-spacing:0;font-weight:500}
figure.doc-portrait.media-needed{margin:0;aspect-ratio:4/5;min-height:300px}
figure.doc-portrait.media-needed{width:min(280px,100%);min-height:340px;aspect-ratio:auto}figure.doc-portrait.media-needed strong{font-size:16px}
