/* ============================================================
   TITAN KENNELS — DOG PROFILE STYLES
   OnlinePedigrees Source CSS Palette
   Scoped to .dog-profile-wrap — kills dark theme entirely
   ============================================================ */

/* ─── WRAPPER RESET ─── */
.dog-profile-wrap {
  background: #E0F8E2 !important;
  color: #1A6742 !important;
  font-family: Verdana, Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  padding: 10px !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
}
.dog-profile-wrap *:not(.fab):not(.fas):not(.far):not(.fa) {
  font-family: Verdana, Arial, Helvetica, sans-serif !important;
}

/* Prevent all SVGs from rendering at full size */
.dog-profile-wrap svg {
  width: 1em !important;
  height: 1em !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}
/* Allow photo-main img to be full size */
.dog-profile-wrap .photo-main svg,
.dog-profile-wrap .photo-gallery svg {
  width: auto !important;
  height: auto !important;
}

/* ═══════════════════════════════════════════════
   DOG HERO
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .dog-hero {
  display: flex !important;
  gap: 0 !important;
  background: #000 !important;
  padding: 1px !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
}

/* Photo Gallery */
.dog-profile-wrap .photo-gallery {
  background: #f1f1f1 !important;
  width: 300px !important;
  flex-shrink: 0 !important;
  border-right: 1px solid #000 !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
}
.dog-profile-wrap .photo-main {
  width: 100% !important;
  aspect-ratio: 4/3 !important;
  background: #ddd !important;
  position: relative !important;
  overflow: hidden !important;
}
.dog-profile-wrap .photo-main img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.dog-profile-wrap .nav-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: rgba(0,0,0,0.5) !important;
  color: #fff !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  border: 1px solid #999 !important;
  font-size: 14px !important;
}
.dog-profile-wrap .nav-arrow.left { left: 6px !important; }
.dog-profile-wrap .nav-arrow.right { right: 6px !important; }
.dog-profile-wrap .photo-thumbs { display: flex !important; gap: 2px !important; padding: 4px !important; background: #ddd !important; }
.dog-profile-wrap .photo-thumbs img {
  width: 54px !important; height: 40px !important; object-fit: cover !important;
  border: 2px solid transparent !important; opacity: 0.6 !important;
}
.dog-profile-wrap .photo-thumbs img.active,
.dog-profile-wrap .photo-thumbs img:hover { opacity: 1 !important; border-color: #1A6742 !important; }

/* Dog Info */
.dog-profile-wrap .dog-info {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  background: #f1f1f1 !important;
  padding: 10px 12px !important;
}

/* Dog Name */
.dog-profile-wrap .dog-name-block {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.dog-profile-wrap .dog-name-block h1 {
  font-size: 16px !important;
  font-weight: bold !important;
  color: #1A6742 !important;
  letter-spacing: 0 !important;
  background: none !important;
  -webkit-text-fill-color: #1A6742 !important;
}
.dog-profile-wrap .bfkc-badge {
  background: #1565C0 !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  cursor: help !important;
}
.dog-profile-wrap .bfkc-badge svg {
  fill: #fff !important;
  width: 13px !important;
  height: 13px !important;
  max-width: 13px !important;
  max-height: 13px !important;
}

/* Meta Bar */
.dog-profile-wrap .meta-bar {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}
.dog-profile-wrap .view-count {
  color: #666 !important;
  font-size: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.dog-profile-wrap .view-count svg {
  fill: #666 !important;
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  flex-shrink: 0 !important;
}
.dog-profile-wrap .breed-tag {
  background: #c8e6c9 !important; border: 1px solid #81c784 !important;
  color: #2e7d32 !important; border-radius: 3px !important; font-size: 10px !important;
}

/* Title Badges */
.dog-profile-wrap .title-badge { color: #fff !important; border-radius: 3px !important; font-size: 10px !important; padding: 2px 7px !important; }
.dog-profile-wrap .title-badge.ch { background: #006400 !important; }
.dog-profile-wrap .title-badge.win { background: #B8860B !important; }
.dog-profile-wrap .title-badge.rom { background: #4B0082 !important; }
.dog-profile-wrap .title-badge.por { background: #1565C0 !important; }
.dog-profile-wrap .title-badge.doy { background: #8B0000 !important; }

/* Parentage */
.dog-profile-wrap .parentage { display: flex !important; gap: 1px !important; background: #000 !important; }
.dog-profile-wrap .parent-card {
  flex: 1 !important; background: #f1f1f1 !important; padding: 8px 10px !important;
  border-radius: 0 !important; backdrop-filter: none !important; border: none !important;
}
.dog-profile-wrap .parent-card:hover { background: #e8e8e8 !important; }
.dog-profile-wrap .parent-label { color: #666 !important; font-size: 9px !important; }
.dog-profile-wrap .parent-label .symbol.sire { color: #0000CC !important; }
.dog-profile-wrap .parent-label .symbol.dam { color: #CC0066 !important; }
.dog-profile-wrap .parent-name { color: #1A6742 !important; font-size: 12px !important; font-weight: bold !important; letter-spacing: 0 !important; }
.dog-profile-wrap .parent-name a { color: #1A6742 !important; }

/* Details Grid */
.dog-profile-wrap .details-grid { background: #000 !important; border: 1px solid #000 !important; border-radius: 0 !important; backdrop-filter: none !important; }
.dog-profile-wrap .detail-row { background: #f1f1f1 !important; border-bottom: 1px solid #ccc !important; padding: 4px 10px !important; }
.dog-profile-wrap .detail-row:hover { background: #e8e8e8 !important; }
.dog-profile-wrap .detail-label { color: #666 !important; font-weight: bold !important; font-size: 11px !important; }
.dog-profile-wrap .detail-value { color: #1A6742 !important; font-size: 11px !important; }

/* ═══════════════════════════════════════════════
   ACTION BAR
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .action-bar {
  display: flex !important; flex-wrap: wrap !important; gap: 3px !important;
  margin: 6px 0 !important; background: #000 !important; padding: 1px !important;
}
.dog-profile-wrap .action-btn {
  padding: 5px 12px !important; font-size: 10px !important; font-weight: bold !important;
  color: #fff !important; border: 1px solid #333 !important; border-radius: 0 !important;
  text-decoration: none !important;
}
.dog-profile-wrap .action-btn:hover { opacity: 0.85 !important; transform: none !important; box-shadow: none !important; }
.dog-profile-wrap .action-btn.gold { background: #B8860B !important; }
.dog-profile-wrap .action-btn.blue { background: #1565C0 !important; }
.dog-profile-wrap .action-btn.green { background: #2E7D32 !important; }
.dog-profile-wrap .action-btn.red { background: #8B0000 !important; }
.dog-profile-wrap .action-btn.gray { background: #555 !important; }
.dog-profile-wrap .action-btn.orange { background: #E65100 !important; }
.dog-profile-wrap .action-btn.purple { background: #4A148C !important; }
.dog-profile-wrap .frozen-semen-btn {
  background: #1565C0 !important; border: 1px solid #0D47A1 !important;
  animation: none !important; box-shadow: none !important;
}
.dog-profile-wrap .frozen-semen-btn:hover { background: #0D47A1 !important; }

/* ═══════════════════════════════════════════════
   CONTENT GRID + GLASS CARDS
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .content-grid {
  display: grid !important; grid-template-columns: 1fr 1fr !important;
  gap: 1px !important; background: #000 !important; padding: 1px !important; margin-bottom: 6px !important;
}
.dog-profile-wrap .full-width { grid-column: span 2 !important; }

.dog-profile-wrap .glass-card {
  background: #f1f1f1 !important; border: none !important;
  border-radius: 0 !important; backdrop-filter: none !important;
}
.dog-profile-wrap .glass-card-header {
  font-size: 11px !important; font-weight: bold !important; letter-spacing: 0 !important;
  color: #fff !important; padding: 5px 10px !important; background: #666 !important;
  border-bottom: none !important;
}
.dog-profile-wrap .glass-card-header span { color: #ccc !important; font-weight: normal !important; font-size: 10px !important; }
.dog-profile-wrap .glass-card-body { padding: 8px 10px !important; background: #f1f1f1 !important; }

/* Tabs */
.dog-profile-wrap .tabs-strip { background: #e0e0e0 !important; border-bottom: 1px solid #ccc !important; }
.dog-profile-wrap .tab-btn {
  font-size: 10px !important; font-weight: bold !important; color: #666 !important;
  background: none !important; border: none !important; border-bottom: 2px solid transparent !important;
}
.dog-profile-wrap .tab-btn:hover { color: #1A6742 !important; }
.dog-profile-wrap .tab-btn.active { color: #1A6742 !important; border-bottom-color: #1A6742 !important; background: #f1f1f1 !important; }
.dog-profile-wrap .tab-content { display: none !important; padding: 8px 10px !important; background: #f1f1f1 !important; }
.dog-profile-wrap .tab-content.active { display: block !important; }

/* Sibling / Offspring lists */
.dog-profile-wrap .sibling-list { max-height: 200px !important; overflow-y: auto !important; }
.dog-profile-wrap .sibling-item {
  padding: 3px 0 !important; border-bottom: 1px solid #ddd !important;
  font-size: 11px !important; color: #1A6742 !important; background: transparent !important;
}
.dog-profile-wrap .sibling-item:hover { background: #e8e8e8 !important; color: #000 !important; }
.dog-profile-wrap .sibling-item a { color: #1A6742 !important; }
.dog-profile-wrap .sibling-item a:hover { color: #000 !important; }
.dog-profile-wrap .sex-icon.male { color: #0000CC !important; }
.dog-profile-wrap .sex-icon.female { color: #CC0066 !important; }
.dog-profile-wrap .mini-badge { background: #666 !important; color: #fff !important; font-size: 9px !important; border-radius: 2px !important; }

/* Notes */
.dog-profile-wrap .notes-body { color: #333 !important; font-size: 11px !important; max-height: 80px !important; overflow: hidden !important; }
.dog-profile-wrap .notes-body.expanded { max-height: 500px !important; }
.dog-profile-wrap .notes-body::after { background: linear-gradient(transparent, #f1f1f1) !important; }
.dog-profile-wrap .notes-toggle {
  background: #e0e0e0 !important; border: 1px solid #ccc !important; border-radius: 0 !important;
  color: #1A6742 !important; font-size: 10px !important; font-weight: bold !important;
}

/* Points */
.dog-profile-wrap .points-row { border-bottom: 1px solid #ddd !important; }
.dog-profile-wrap .points-label { color: #666 !important; font-size: 11px !important; }
.dog-profile-wrap .points-value { color: #1A6742 !important; font-size: 20px !important; }
.dog-profile-wrap .points-value small { color: #666 !important; }
.dog-profile-wrap .points-detail-btn { background: #1565C0 !important; border-radius: 0 !important; }

/* Inbreeding */
.dog-profile-wrap .inbreeding-card {
  display: flex !important;
  background: #f1f1f1 !important;
  border-bottom: 1px solid #ccc !important;
}
.dog-profile-wrap .inbreeding-stat {
  flex: 1 !important;
  padding: 12px !important;
  text-align: center !important;
  background: #f1f1f1 !important;
}
.dog-profile-wrap .inbreeding-stat:first-child { border-right: 1px solid #ccc !important; }
.dog-profile-wrap .stat-label {
  color: #666 !important;
  font-size: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}
.dog-profile-wrap .info-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 14px !important;
  background: #1565C0 !important;
  color: #fff !important;
  border-radius: 50% !important;
  font-size: 9px !important;
  font-weight: bold !important;
  cursor: help !important;
}
.dog-profile-wrap .stat-value { color: #1A6742 !important; font-size: 32px !important; }
.dog-profile-wrap .stat-value span { color: #666 !important; font-size: 16px !important; }
.dog-profile-wrap .inbreeding-footer { color: #666 !important; font-size: 10px !important; background: #f1f1f1 !important; border-bottom: 1px solid #ccc !important; }
.dog-profile-wrap .analysis-link-btn {
  background: #8B0000 !important; color: #fff !important;
  font-size: 11px !important; text-transform: uppercase !important; text-decoration: none !important;
}
.dog-profile-wrap .analysis-link-btn:hover { background: #a52a2a !important; color: #fff !important; }

/* ═══════════════════════════════════════════════
   BLINK BUTTON (related pups)
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .tk-blink-btn {
  background: #2E7D32 !important;
  color: #fff !important;
  padding: 8px 20px !important;
  font-size: 11px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  border: 1px solid #1b5e20 !important;
  display: inline-block !important;
}
.dog-profile-wrap .tk-blink-btn:hover { background: #1b5e20 !important; }

/* ═══════════════════════════════════════════════
   PEDIGREE SECTION
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .pedigree-section {
  background: transparent !important;
  margin: 6px 0 !important;
  padding: 0 !important;
}
.dog-profile-wrap .pedigree-section h2 {
  background: #666 !important; color: #fff !important;
  font-size: 11px !important; font-weight: bold !important;
  padding: 5px 10px !important; letter-spacing: 0 !important;
  margin: 0 !important; border: none !important;
}

/* Generation selector */
.dog-profile-wrap .pedigree-controls { background: transparent !important; margin: 8px 0 !important; }
.dog-profile-wrap .gen-label { color: #666 !important; font-size: 11px !important; }
.dog-profile-wrap .gen-pills { background: #e0e0e0 !important; border: 1px solid #ccc !important; border-radius: 0 !important; padding: 0 !important; }
.dog-profile-wrap .gen-pill {
  color: #666 !important; background: none !important; border: none !important;
  border-right: 1px solid #ccc !important; border-radius: 0 !important;
  font-size: 11px !important; font-weight: bold !important; padding: 4px 10px !important;
}
.dog-profile-wrap .gen-pill:hover { color: #1A6742 !important; background: #f1f1f1 !important; }
.dog-profile-wrap .gen-pill.active { background: #666 !important; color: #fff !important; box-shadow: none !important; }
.dog-profile-wrap .ped-legend { color: #666 !important; font-size: 10px !important; }
.dog-profile-wrap .legend-dot { background: #2E7D32 !important; }

/* Pedigree table */
.dog-profile-wrap .pedigree-table-wrap,
.dog-profile-wrap .pedigree-panel {
  overflow-x: auto !important;
  background: #000 !important;
  padding: 1px !important;
  margin-bottom: 6px !important;
}
.dog-profile-wrap .pedigree-table,
.dog-profile-wrap table.pedigree-table {
  border-collapse: separate !important;
  border-spacing: 1px !important;
  width: 100% !important;
  background: #000 !important;
}
.dog-profile-wrap .pedigree-table th,
.dog-profile-wrap table.pedigree-table th {
  background: #666 !important; color: #fff !important;
  font-size: 11px !important; font-weight: bold !important;
  letter-spacing: 0 !important; padding: 5px 8px !important; border-radius: 0 !important;
  border: none !important;
}
.dog-profile-wrap .pedigree-table td,
.dog-profile-wrap table.pedigree-table td {
  background: #f1f1f1 !important; border: none !important;
  padding: 5px 8px !important; font-size: 10px !important;
  color: #1A6742 !important; position: relative !important;
}
.dog-profile-wrap .pedigree-table td:hover,
.dog-profile-wrap table.pedigree-table td:hover { background: #e8e8e8 !important; }
.dog-profile-wrap .ped-dog-name { font-weight: bold !important; font-size: 10px !important; }
.dog-profile-wrap .ped-dog-name:hover { text-decoration: underline !important; }
.dog-profile-wrap .ped-dog-name.male,
.dog-profile-wrap td a.male { color: #0000CC !important; }
.dog-profile-wrap .ped-dog-name.female,
.dog-profile-wrap td a.female { color: #CC0066 !important; }
.dog-profile-wrap .ped-dog-thumb { border: 1px solid #999 !important; border-radius: 0 !important; }
.dog-profile-wrap .ped-title-tag { color: #8B0000 !important; font-size: 9px !important; font-weight: bold !important; }

/* Duplicate highlights */
.dog-profile-wrap .dup-1 { border-left: 3px solid #c830c8 !important; }
.dog-profile-wrap .dup-2 { border-left: 3px solid #009688 !important; }
.dog-profile-wrap .dup-3 { border-left: 3px solid #E65100 !important; }

/* Share bar */
.dog-profile-wrap .pedigree-share {
  background: #f1f1f1 !important; border: 1px solid #000 !important;
  padding: 8px !important; text-align: center !important; margin: 6px 0 !important;
}
.dog-profile-wrap .pedigree-share-label { color: #666 !important; font-weight: bold !important; font-size: 11px !important; }
.dog-profile-wrap .share-btn {
  background: #666 !important; color: #fff !important;
  border-radius: 0 !important; padding: 4px 12px !important;
  font-size: 10px !important; font-weight: bold !important;
  border: 1px solid #333 !important; text-decoration: none !important;
  display: inline-block !important; margin: 3px !important;
}
.dog-profile-wrap .share-btn:hover { background: #555 !important; color: #fff !important; }

/* ═══════════════════════════════════════════════
   PEDIGREE STATISTICS DASHBOARD
   ═══════════════════════════════════════════════ */
.dog-profile-wrap #pedigree-stats-section {
  background: #f1f1f1 !important;
  border: 1px solid #000 !important;
  margin: 6px 0 !important;
  padding: 0 !important;
}
.dog-profile-wrap #pedigree-stats-section * {
  color: #1A6742 !important;
  background-color: transparent !important;
}
.dog-profile-wrap #pedigree-stats-section h2,
.dog-profile-wrap #pedigree-stats-section h3,
.dog-profile-wrap #pedigree-stats-section .section-tag {
  background: #666 !important;
  color: #fff !important;
  padding: 5px 10px !important;
  font-size: 12px !important;
  font-weight: bold !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  border: none !important;
  -webkit-text-fill-color: #fff !important;
}
.dog-profile-wrap #pedigree-stats-section p,
.dog-profile-wrap #pedigree-stats-section span,
.dog-profile-wrap #pedigree-stats-section td,
.dog-profile-wrap #pedigree-stats-section th,
.dog-profile-wrap #pedigree-stats-section li,
.dog-profile-wrap #pedigree-stats-section div {
  color: #1A6742 !important;
  -webkit-text-fill-color: #1A6742 !important;
}
.dog-profile-wrap #pedigree-stats-section table {
  background: #000 !important;
  border-collapse: separate !important;
  border-spacing: 1px !important;
}
.dog-profile-wrap #pedigree-stats-section th {
  background: #666 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.dog-profile-wrap #pedigree-stats-section td {
  background: #f1f1f1 !important;
}
.dog-profile-wrap #pedigree-stats-section td:hover {
  background: #e8e8e8 !important;
}
/* COI gauge overrides */
.dog-profile-wrap .coi-gauge-wrap,
.dog-profile-wrap .coi-section,
.dog-profile-wrap .coi-card,
.dog-profile-wrap .breeding-stats {
  background: #f1f1f1 !important;
  border: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
}
.dog-profile-wrap .coi-value,
.dog-profile-wrap .coi-label,
.dog-profile-wrap .coi-percent {
  color: #1A6742 !important;
  -webkit-text-fill-color: #1A6742 !important;
}
/* Scale reference rows */
.dog-profile-wrap .scale-row,
.dog-profile-wrap .coi-scale-item {
  color: #333 !important;
  -webkit-text-fill-color: #333 !important;
}

/* ═══════════════════════════════════════════════
   DESCENDANTS TREE
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .desc-tree { list-style: none !important; }
.dog-profile-wrap .desc-tree ul { list-style: none !important; padding-left: 20px !important; }
.dog-profile-wrap .desc-node { padding: 3px 0 !important; }
.dog-profile-wrap .desc-toggle {
  background: #e0e0e0 !important; border: 1px solid #ccc !important;
  border-radius: 0 !important; color: #1A6742 !important; font-size: 10px !important;
}
.dog-profile-wrap .desc-toggle:hover { background: #d5d5d5 !important; }
.dog-profile-wrap .desc-name { font-size: 11px !important; font-weight: bold !important; }
.dog-profile-wrap .desc-name.male,
.dog-profile-wrap .desc-name.male a { color: #0000CC !important; }
.dog-profile-wrap .desc-name.female,
.dog-profile-wrap .desc-name.female a { color: #CC0066 !important; }
.dog-profile-wrap .desc-name a { text-decoration: none !important; }
.dog-profile-wrap .desc-name a:hover { text-decoration: underline !important; }
.dog-profile-wrap .desc-year { color: #666 !important; font-size: 10px !important; }
.dog-profile-wrap .desc-children { display: none !important; }
.dog-profile-wrap .desc-children.open { display: block !important; }

/* ═══════════════════════════════════════════════
   LITTERS / DOG GRID / PUP GRID
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .dog-grid,
.dog-profile-wrap .pup-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
  gap: 1px !important;
  background: #000 !important;
  padding: 1px !important;
}
/* Card overrides for litter-card / pup-card template parts */
.dog-profile-wrap .dog-card,
.dog-profile-wrap .pup-card,
.dog-profile-wrap .litter-card {
  background: #f1f1f1 !important;
  border: none !important;
  border-radius: 0 !important;
  backdrop-filter: none !important;
  color: #1A6742 !important;
}
.dog-profile-wrap .dog-card:hover,
.dog-profile-wrap .pup-card:hover,
.dog-profile-wrap .litter-card:hover {
  background: #e8e8e8 !important;
  transform: none !important;
  box-shadow: none !important;
}
.dog-profile-wrap .dog-card a,
.dog-profile-wrap .pup-card a,
.dog-profile-wrap .litter-card a { color: #1A6742 !important; }
.dog-profile-wrap .dog-card h3,
.dog-profile-wrap .pup-card h3,
.dog-profile-wrap .litter-card h3,
.dog-profile-wrap .dog-card .card-title,
.dog-profile-wrap .pup-card .card-title,
.dog-profile-wrap .litter-card .card-title {
  color: #1A6742 !important;
  font-size: 12px !important;
  letter-spacing: 0 !important;
  -webkit-text-fill-color: #1A6742 !important;
}

/* ═══════════════════════════════════════════════
   RELATED PUPS SECTION
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .tk-related-pups-section {
  background: #f1f1f1 !important;
  border: 1px solid #000 !important;
}
.dog-profile-wrap .tk-related-pups-title {
  color: #1A6742 !important;
  -webkit-text-fill-color: #1A6742 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
}
.dog-profile-wrap .section-tag {
  background: #666 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* ═══════════════════════════════════════════════
   CATCH-ALL LINK + TEXT OVERRIDES
   ═══════════════════════════════════════════════ */
.dog-profile-wrap a { color: #1A6742 !important; }
.dog-profile-wrap a:hover { color: #000 !important; }
.dog-profile-wrap strong,
.dog-profile-wrap b { color: inherit !important; }
.dog-profile-wrap em { color: #666 !important; }

/* Kill any inline var() references from old dark theme */
.dog-profile-wrap [style*="--gold"],
.dog-profile-wrap [style*="--text-muted"],
.dog-profile-wrap [style*="--text-secondary"],
.dog-profile-wrap [style*="--font-body"] {
  font-family: Verdana, Arial, Helvetica, sans-serif !important;
  color: #666 !important;
}

/* ═══════════════════════════════════════════════
   BFKC REGISTRATION BUTTON
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .bfkc-register-row {
  text-align: center !important;
  padding: 12px 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}
.dog-profile-wrap .bfkc-register-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 10px 24px !important;
  background: #1565C0 !important;
  color: #fff !important;
  font-family: Verdana, Arial, Helvetica, sans-serif !important;
  font-size: 12px !important;
  font-weight: bold !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border: 2px solid #0D47A1 !important;
  letter-spacing: 0.5px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.dog-profile-wrap .bfkc-register-btn:hover {
  background: #0D47A1 !important;
  color: #fff !important;
}
.dog-profile-wrap .bfkc-register-btn:disabled {
  background: #90CAF9 !important;
  border-color: #90CAF9 !important;
  cursor: wait !important;
}
.dog-profile-wrap .bfkc-pdf-btn {
  background: #2E7D32 !important;
  border-color: #1B5E20 !important;
}
.dog-profile-wrap .bfkc-pdf-btn:hover {
  background: #1B5E20 !important;
}
.dog-profile-wrap .bfkc-pdf-btn:disabled {
  background: #A5D6A7 !important;
  border-color: #A5D6A7 !important;
}
.dog-profile-wrap .bfkc-register-icon {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  fill: #fff !important;
}
.dog-profile-wrap .bfkc-pdf-icon {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  fill: #fff !important;
}


/* ═══════════════════════════════════════════════
   PEDIGREE TABLE — 4-GEN MOBILE FIT
   Forces 4-gen pedigree to fit viewport width
   without horizontal scroll by using percentage
   widths, word-wrap, and compressed sizing.
   ═══════════════════════════════════════════════ */
.dog-profile-wrap .pedigree-panel[data-gen="4"] {
  overflow-x: visible !important;
}
.dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table {
  width: 100% !important;
  table-layout: fixed !important;
  min-width: 0 !important;
}
.dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table td {
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
}


/* ═══════════════════════════════════════════════
   RESPONSIVE — TABLET (≤800px)
   ═══════════════════════════════════════════════ */
@media (max-width: 800px) {

  .dog-profile-wrap {
    padding: 6px !important;
    max-width: 100% !important;
  }

  /* Hero stacks vertically */
  .dog-profile-wrap .dog-hero {
    flex-direction: column !important;
  }
  .dog-profile-wrap .photo-gallery {
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid #000 !important;
  }
  .dog-profile-wrap .photo-main {
    aspect-ratio: 16/10 !important;
    max-height: 300px !important;
  }

  /* Content grid → single column */
  .dog-profile-wrap .content-grid {
    grid-template-columns: 1fr !important;
  }
  .dog-profile-wrap .full-width {
    grid-column: span 1 !important;
  }

  /* Action bar wraps */
  .dog-profile-wrap .action-bar {
    flex-wrap: wrap !important;
    gap: 2px !important;
  }
  .dog-profile-wrap .action-btn {
    flex: 1 1 auto !important;
    min-width: 100px !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 6px 8px !important;
    font-size: 9px !important;
  }

  /* Pedigree table scroll container — 5+ gen only */
  .dog-profile-wrap .pedigree-panel {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  /* 4-gen stays fitted — no scroll */
  .dog-profile-wrap .pedigree-panel[data-gen="4"] {
    overflow-x: visible !important;
  }
  .dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table {
    font-size: 9px !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }
  .dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table td {
    padding: 4px 4px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    line-height: 1.3 !important;
  }

  /* Pedigree stats grid → 2 columns */
  .dog-profile-wrap .ped-stats-row-hero {
    grid-template-columns: 1fr !important;
  }
  .dog-profile-wrap .ped-stats-row-metrics {
    grid-template-columns: 1fr 1fr !important;
  }
  .dog-profile-wrap .ped-stats-row-charts {
    grid-template-columns: 1fr !important;
  }

  /* Share bar wraps */
  .dog-profile-wrap .pedigree-share {
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  .dog-profile-wrap .share-btn {
    flex: 1 1 auto !important;
    min-width: 80px !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* Dog/pup grids → 3 columns */
  .dog-profile-wrap .dog-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .dog-profile-wrap .pup-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Inbreeding card stacks */
  .dog-profile-wrap .inbreeding-card {
    flex-direction: column !important;
  }
  .dog-profile-wrap .inbreeding-stat:first-child {
    border-right: none !important;
    border-bottom: 1px solid #ccc !important;
  }
}


/* ═══════════════════════════════════════════════
   RESPONSIVE — MOBILE (≤560px)
   ═══════════════════════════════════════════════ */
@media (max-width: 560px) {

  .dog-profile-wrap {
    padding: 4px !important;
    font-size: 10px !important;
  }

  /* Photo takes full width, taller aspect */
  .dog-profile-wrap .photo-main {
    aspect-ratio: 4/3 !important;
    max-height: 260px !important;
  }
  .dog-profile-wrap .photo-thumbs img {
    width: 44px !important;
    height: 34px !important;
  }

  /* Dog name smaller */
  .dog-profile-wrap .dog-name-block {
    flex-wrap: wrap !important;
  }
  .dog-profile-wrap .dog-name-block h1 {
    font-size: 14px !important;
    word-break: break-word !important;
  }

  /* Parentage stacks */
  .dog-profile-wrap .parentage {
    flex-direction: column !important;
  }

  /* Details grid tighter */
  .dog-profile-wrap .detail-row {
    flex-direction: column !important;
    gap: 2px !important;
    padding: 4px 8px !important;
  }
  .dog-profile-wrap .detail-label {
    width: auto !important;
    font-size: 9px !important;
  }
  .dog-profile-wrap .detail-value {
    font-size: 11px !important;
  }

  /* Action bar → 2 per row */
  .dog-profile-wrap .action-btn {
    min-width: 46% !important;
    font-size: 9px !important;
    padding: 6px 6px !important;
  }

  /* Tab buttons smaller */
  .dog-profile-wrap .tab-btn {
    font-size: 9px !important;
    padding: 5px 6px !important;
  }

  /* Generation pills → bigger tap targets */
  .dog-profile-wrap .pedigree-controls {
    flex-direction: column !important;
    gap: 6px !important;
  }
  .dog-profile-wrap .gen-selector {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
  }
  .dog-profile-wrap .gen-pill {
    padding: 6px 14px !important;
    font-size: 12px !important;
  }

  /* Pedigree table font scaling */
  .dog-profile-wrap .pedigree-table {
    font-size: 9px !important;
    min-width: 700px !important;
  }
  /* 4-gen override — fit viewport, no scroll */
  .dog-profile-wrap .pedigree-panel[data-gen="4"] {
    overflow-x: visible !important;
  }
  .dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table {
    font-size: 8px !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-spacing: 1px !important;
  }
  .dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table td {
    padding: 3px 3px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    line-height: 1.2 !important;
    font-size: 8px !important;
  }
  .dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table td a {
    font-size: 8px !important;
    word-break: break-word !important;
  }
  .dog-profile-wrap .pedigree-table td {
    padding: 3px 5px !important;
    font-size: 9px !important;
  }
  .dog-profile-wrap .pedigree-table th {
    padding: 4px 6px !important;
    font-size: 9px !important;
  }

  /* Stats dashboard → single column */
  .dog-profile-wrap .ped-stats-row-metrics {
    grid-template-columns: 1fr !important;
  }

  /* Inbreeding values smaller */
  .dog-profile-wrap .stat-value {
    font-size: 24px !important;
  }
  .dog-profile-wrap .stat-value span {
    font-size: 12px !important;
  }

  /* COI gauge smaller */
  .dog-profile-wrap .coi-gauge-wrap {
    width: 200px !important;
    height: 130px !important;
  }
  .dog-profile-wrap .coi-number {
    font-size: 24px !important;
  }

  /* Share bar stacks */
  .dog-profile-wrap .pedigree-share {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .dog-profile-wrap .share-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Dog/pup grids → 2 columns */
  .dog-profile-wrap .dog-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .dog-profile-wrap .pup-grid {
    grid-template-columns: 1fr !important;
  }

  /* Descendants tree indent smaller */
  .dog-profile-wrap .desc-tree ul {
    padding-left: 12px !important;
  }
  .dog-profile-wrap .desc-name {
    font-size: 10px !important;
  }

  /* Sibling/offspring lists */
  .dog-profile-wrap .sibling-list {
    max-height: 160px !important;
  }

  /* Blink button full width */
  .dog-profile-wrap .tk-blink-btn {
    display: block !important;
    text-align: center !important;
    font-size: 10px !important;
    padding: 10px 12px !important;
  }

  /* Points values smaller */
  .dog-profile-wrap .points-value {
    font-size: 16px !important;
  }

  /* Glass card headers */
  .dog-profile-wrap .glass-card-header {
    font-size: 10px !important;
    padding: 4px 8px !important;
  }

  /* Ancestor table horizontal scroll */
  .dog-profile-wrap .ped-ancestor-table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
}


/* ═══════════════════════════════════════════════
   RESPONSIVE — SMALL PHONE (≤380px)
   ═══════════════════════════════════════════════ */
@media (max-width: 380px) {

  .dog-profile-wrap .dog-name-block h1 {
    font-size: 12px !important;
  }

  .dog-profile-wrap .action-btn {
    min-width: 100% !important;
    font-size: 9px !important;
  }

  .dog-profile-wrap .dog-grid {
    grid-template-columns: 1fr !important;
  }

  .dog-profile-wrap .photo-thumbs {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
  }

  .dog-profile-wrap .gen-pill {
    padding: 8px 12px !important;
  }

  .dog-profile-wrap .pedigree-table {
    min-width: 600px !important;
    font-size: 8px !important;
  }
  /* 4-gen still fits viewport */
  .dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table {
    font-size: 7px !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }
  .dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table td {
    padding: 2px 2px !important;
    line-height: 1.15 !important;
    font-size: 7px !important;
  }
  .dog-profile-wrap .pedigree-panel[data-gen="4"] .pedigree-table td a {
    font-size: 7px !important;
  }
}
