/* CDFC — doctor-single.css */
.profile-wrap{display:grid;grid-template-columns:340px 1fr;gap:36px;align-items:start;}
.profile-photo-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;position:sticky;top:96px;}
.profile-photo-card img{width:100%;display:block;object-fit:cover;}
.photo-info{padding:24px;}
.photo-info .spec-tag{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);display:block;margin-bottom:5px;}
.photo-info h2{font-size:1.25rem;margin-bottom:5px;}
.photo-info .qual{font-size:.83rem;color:var(--ink-soft);}
.profile-content{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;}
.tab-panel{display:none;}.tab-panel.active{display:block;}
.bio-text{font-size:.92rem;line-height:1.85;color:var(--ink);margin-bottom:28px;}

/* Specialist Matrix */
.doc-matrix{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:8px;}
.doc-matrix-row{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);}
.doc-matrix-field{font-size:.82rem;font-weight:700;color:var(--ink);}
.doc-matrix-value{font-size:.88rem;color:var(--ink-soft);line-height:1.65;}

.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;}
.mini-doc-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.mini-doc-card img{width:100%;height:160px;object-fit:cover;display:block;}
.mini-doc-card .mi{padding:16px;}
.mini-doc-card .sp{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:5px;}
.mini-doc-card h5{font-size:.92rem;margin-bottom:4px;}
.mini-doc-card p{font-size:.8rem;color:var(--ink-soft);}
@media(max-width:1024px){.profile-wrap{grid-template-columns:1fr;}.profile-photo-card{position:static;}}
@media(max-width:640px){.related-grid{grid-template-columns:1fr;}.doc-matrix-row{grid-template-columns:1fr;gap:4px;}}

/* ─── MOBILE RESPONSIVE ─── */

@media (max-width: 1024px) {
  .profile-wrap { grid-template-columns: 1fr; gap: 24px; }
  .profile-photo-card { position: static; display: grid; grid-template-columns: 220px 1fr; }
  .profile-photo-card img { height: 100%; object-position: top; }
}
@media (max-width: 720px) {
  .profile-photo-card { grid-template-columns: 1fr; }
  .profile-photo-card img { height: 260px; object-position: top; }
}
@media (max-width: 480px) {
  .related-grid { grid-template-columns: 1fr; }
  .profile-content { padding: 20px 16px; }
}
