/* Puppy profile: AnimalisPro tokens; no global component changes. */
.pp-page { color:var(--text-main); padding-bottom:2rem; }
.pp-page h1,.pp-page h2,.pp-page h3 { color:var(--text-main); }
.pp-page h2 { font-size:1.1rem; margin:0; font-weight:700; display:flex; gap:.6rem; align-items:center; }
.pp-page h2 i { color:var(--accent-primary); }
.pp-page h3 { font-size:1rem; }
.pp-page .text-muted { color:var(--text-muted)!important; }
.pp-page a:not(.btn) { color:var(--accent-soft); }
.pp-page a:focus-visible,.pp-page button:focus-visible { outline:2px solid var(--accent-primary);outline-offset:3px; }
.pp-page .btn { min-height:2.6rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:normal;box-shadow:none; }
.pp-page .btn-primary { color:var(--bg-dark)!important;text-shadow:none; }
.pp-page .btn-outline-primary,.pp-photo-modal .btn-outline-primary { color:var(--accent-soft);border-color:var(--accent-primary); }
.pp-page .btn-outline-primary:hover,.pp-photo-modal .btn-outline-primary:hover { color:var(--bg-dark);background:var(--accent-primary); }
.pp-hero { display:grid;gap:1.5rem;align-items:center;margin-bottom:1.5rem; }
.pp-gallery { min-width:0;display:grid;gap:.6rem; }
.pp-main-photo { position:relative;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary);border:1px solid var(--glass-border); }
.pp-main-photo > img { width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;object-position:center 35%;display:block; }
.pp-thumbnails { display:flex;gap:.5rem;overflow-x:auto;max-width:100%;padding:.2rem;order:2; }
.pp-thumbnail { background:var(--bg-card);padding:0;border:2px solid transparent;border-radius:var(--radius-sm);overflow:hidden;flex:0 0 60px; }
.pp-thumbnail img { width:60px;height:60px;object-fit:cover;display:block; }
.pp-thumbnail.active { border-color:var(--accent-primary); }
.pp-photo-control { border:1px solid var(--glass-border-h);background:var(--bg-dark);color:var(--text-main);border-radius:var(--radius-sm);padding:.55rem;min-width:2.5rem;min-height:2.5rem; }
.pp-fullscreen { position:absolute;right:.75rem;top:.75rem; }
.pp-gallery-controls { position:absolute;bottom:.75rem;right:.75rem;display:flex;gap:.5rem;align-items:center;background:var(--bg-dark);color:var(--text-main);border-radius:var(--radius-sm); }
.pp-intro { min-width:0; }
.pp-heading { display:flex;gap:.75rem;justify-content:space-between;align-items:center;flex-wrap:wrap; }
.pp-eyebrow { display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.03em;color:var(--accent-soft); }
.pp-page .pp-status { background:var(--glass-bg);color:var(--text-main);border:1px solid var(--glass-border-h);padding:.55rem .8rem;font-size:.85rem; }
.pp-intro h1 { font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:.65rem 0 .4rem;overflow-wrap:anywhere; }
.pp-subtitle { color:var(--text-muted);font-size:1.05rem; }
.pp-subtitle span { margin:0 .35rem; }
.pp-facts { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1.25rem 0; }
.pp-facts > div { padding:.75rem;border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:var(--glass-bg);min-width:0; }
.pp-facts dt { color:var(--text-muted);font-weight:400;font-size:.75rem; }
.pp-facts dt i { color:var(--accent-soft);margin-right:.25rem; }
.pp-facts dd { margin:.25rem 0 0;font-size:.875rem;overflow-wrap:anywhere;font-weight:600; }
.pp-color { display:inline-block;width:.7rem;height:.7rem;border:1px solid var(--glass-border-h);background:var(--collar);border-radius:50%;vertical-align:middle; }
.pp-description { font-size:.875rem; }
.pp-actions,.pp-secondary-actions { display:flex;gap:.65rem;flex-wrap:wrap; }
.pp-actions > * { flex:1 1 auto; }
.pp-secondary-actions { margin-top:.8rem; }
.pp-tab-navigation { margin-bottom:1.5rem;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--bg-card); }
.pp-tab-navigation .nav { flex-wrap:nowrap;overflow-x:auto;border:0;scrollbar-width:thin; }
.pp-tab-navigation .nav-link { display:flex;align-items:center;gap:.5rem;white-space:nowrap;color:var(--text-muted);border:0;padding:.85rem 1rem;border-radius:var(--radius-sm);background:transparent;font-size:.875rem; }
.pp-tab-navigation .nav-link.active { background:var(--grad-soft);color:var(--text-main);box-shadow:inset 0 -3px var(--accent-primary);font-weight:700; }
.pp-page .card { background:var(--bg-card);color:var(--text-main);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:none;min-width:0; }
.pp-page .card-header { padding:.9rem 1rem;border-bottom:1px solid var(--glass-border);background:transparent; }
.pp-page .card-body { padding:1rem;min-width:0; }
.pp-overview-grid { display:grid;gap:1rem;grid-template-columns:minmax(0,1fr); }
.pp-definition { margin:0; }
.pp-definition > div { display:flex;align-items:baseline;gap:.75rem;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--glass-border);font-size:.875rem; }
.pp-definition > div:last-child { border:0; }
.pp-definition dt { font-weight:400;color:var(--text-muted); }
.pp-definition dd { margin:0;text-align:right;overflow-wrap:anywhere; }
.pp-weight-value { font-size:2rem;font-weight:700;margin:.25rem 0; }
.pp-highlight-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem; }
.pp-highlight-grid a { border:1px solid var(--glass-border);border-radius:var(--radius-sm);padding:.8rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;text-align:center;font-size:.8rem; }
.pp-highlight-grid a:hover { background:var(--glass-bg-hover); }
.pp-highlight-grid i { font-size:1.25rem; }
.pp-highlight-grid strong { color:var(--text-main);font-size:1.1rem; }
.pp-timeline { list-style:none;margin:0;padding:0 0 0 1rem;border-left:1px solid var(--glass-border-h); }
.pp-timeline li { position:relative;margin:0 0 1.2rem;padding-left:.3rem; }
.pp-timeline li::before { content:'';position:absolute;top:.4rem;left:-1.3rem;background:var(--accent-primary);width:.5rem;height:.5rem;border-radius:50%; }
.pp-timeline time { display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem; }
.pp-timeline strong { display:block;font-size:.9rem; }
.pp-timeline p { margin:.4rem 0 0;font-size:.875rem;color:var(--text-muted);overflow-wrap:anywhere; }
.pp-photo-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem; }
.pp-photo-grid figure { margin:0;min-width:0; }
.pp-grid-image { display:block;width:100%;padding:0;border:0;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-secondary); }
.pp-grid-image img { width:100%;height:auto;aspect-ratio:6/5;object-fit:cover;display:block; }
.pp-photo-grid figcaption { color:var(--text-muted);font-size:.8rem;margin-top:.4rem;overflow-wrap:anywhere; }
.pp-photo-modal .modal-content { background:var(--bg-secondary);color:var(--text-main);border:1px solid var(--glass-border); }
.pp-photo-modal .modal-body { text-align:center; }
.pp-photo-modal .modal-body img { width:100%;height:auto;max-height:72vh;object-fit:contain;display:block; }
.pp-photo-modal .modal-footer { justify-content:center; }
.pp-chart { position:relative;height:300px;margin-bottom:1rem; }
.pp-page .table-responsive { overflow-x:auto; }
.pp-page .table th,.pp-page .table td { background:transparent;color:var(--text-main);border-color:var(--glass-border);font-size:.875rem; }
.pp-page .table th { color:var(--text-muted); }
.pp-lineage { display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr)); }
.pp-lineage > * { border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:var(--radius-sm);padding:1rem;overflow-wrap:anywhere; }
.pp-lineage-puppy { grid-column:1/-1;text-align:center; }
.pp-lineage span,.pp-lineage strong { display:block; }
.pp-parent-grid { display:grid;gap:1rem; }
.pp-parent { display:flex;gap:1rem;align-items:center; }
.pp-parent img,.pp-parent-placeholder { width:90px;height:90px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0; }
.pp-parent-placeholder { display:grid;place-items:center;background:var(--glass-bg);color:var(--accent-primary);font-size:1.5rem; }
.pp-document-list { display:grid;gap:.75rem; }
.pp-document { display:flex;gap:.75rem;align-items:center;min-height:3rem;overflow-wrap:anywhere; }
.pp-document span { flex:1;min-width:0; }
@media(min-width:768px) { .pp-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .pp-details { grid-row:span 2; } .pp-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .pp-parent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(min-width:992px) { .pp-hero { grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:2rem; } .pp-gallery-multiple { grid-template-columns:64px minmax(0,1fr); } .pp-thumbnails { flex-direction:column;order:0;max-height:400px;overflow-y:auto;overflow-x:hidden; } .pp-overview-grid { grid-template-columns:1fr 1fr 1.4fr;align-items:start; } .pp-details { grid-row:span 2; } .pp-highlights { grid-column:3;grid-row:2; } .pp-development { grid-column:3;grid-row:1; } .pp-main-photo > img { min-height:320px;max-height:460px; } }
@media(min-width:1400px) { .pp-facts { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .pp-page * { transition:none!important;animation:none!important; } }
@media(max-width:767.98px) {
  .pp-page .table { display:table!important; }
  .pp-page .table thead { display:table-header-group!important; }
  .pp-page .table tbody { display:table-row-group!important; }
  .pp-page .table tr { display:table-row!important; }
  .pp-page .table td,.pp-page .table th { display:table-cell!important;min-width:6rem; }
  .pp-page .table td::before { display:none!important; }
}
@media(min-width:992px) {
  .pp-overview-grid:not(:has(.pp-development)) .pp-highlights { grid-row:1; }
}
/* The shared footer's mobile negative gutter extends beyond its narrow container. */
@media(max-width:575.98px) {
  body:has(.pp-page) footer .row { margin-inline:0; }
}
