/* Shared pp-profile components are also used by puppy-view; only dog-specific layout here. */
.dp-overview-grid { display:grid;gap:1rem;grid-template-columns:minmax(0,1fr); }
.dp-intro-description { color:var(--text-muted);max-height:9rem;overflow:auto;font-size:.9rem; }
.dp-genetics-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 0 1rem; }
.dp-genetics-grid > div { padding:.75rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg); }
.dp-genetics-grid dt { font-size:.75rem;font-weight:400;color:var(--text-muted); }
.dp-genetics-grid dd { font-size:1.25rem;font-weight:700;margin:.3rem 0 0; }
.dp-data-warning { display:flex;gap:.5rem;color:var(--accent-soft);font-size:.9rem; }
.dp-method summary { cursor:pointer;color:var(--accent-soft);font-size:.875rem; }
.dp-page .card-header h3 { color:var(--text-main); }
.dp-modal .modal-content { background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--glass-border); }
.dp-modal .modal-header,.dp-modal .modal-footer { border-color:var(--glass-border); }
.dp-modal a { color:var(--accent-soft); }
.dp-pedigree-tree { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; }
.dp-pedigree-subject { grid-column:1/-1;text-align:center; }
.dp-pedigree-node,.dp-pedigree-subject { padding:1rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);overflow-wrap:anywhere; }
.dp-pedigree-node small { display:block;color:var(--text-muted);font-size:.7rem;margin-top:.4rem; }
.dp-grandparents { display:grid;gap:.6rem;margin-top:1rem; }
.dp-pedigree-branch { min-width:0; }
.dp-page #offspring .card-img-top { aspect-ratio:4/3;height:auto!important;object-fit:cover; }
@media(min-width:992px) { .dp-overview-grid { grid-template-columns:1fr 1.5fr 1fr;align-items:start; } .dp-grandparents { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .dp-modal * { transition:none!important; } }

.dp-fallback-label { position:absolute;bottom:.65rem;left:.65rem;right:.65rem;text-align:center;font-size:.75rem;padding:.4rem .6rem;border-radius:var(--radius-sm);background:var(--bg-dark);color:var(--text-muted); }
.dp-empty-gallery .pp-main-photo > img { max-height:320px;object-fit:contain; }
@media(min-width:992px) {
  .dp-overview-grid:not(:has(.dp-analysis-card)) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
