/* Private/public profile text parity.
   These tokens mirror the read-only profile palette.  They intentionally
   affect text only; surfaces, layout, controls, and the dark journey panel
   keep their existing contracts. */
:root {
  --profile-public-heading: #163547;
  --profile-public-body: #355b6a;
  --profile-public-muted: #55707d;
  --profile-public-meta: #71848b;
  --profile-public-link: #2b6e8f;
}

/* Identity and About have the same semantic roles on both profile routes. */
body.profile-page .profile-identity-card .profile-identity-copy :is(h1,h2,h3,h4,strong,b,label),
body.profile-page .profile-identity-card .profile-details-box :is(h1,h2,h3,h4,strong,b,label) {
  color: var(--profile-public-heading) !important;
}
body.profile-page .profile-identity-card .profile-identity-copy :is(p,small,span),
body.profile-page .profile-identity-card .profile-details-box :is(p,small,.profile-email,.profile-card-help) {
  color: var(--profile-public-body) !important;
}
body.profile-page .profile-identity-card .profile-details-box :is(.profile-field-summary-label,.profile-email-label) {
  color: var(--profile-public-muted) !important;
}

/* The private overview metrics use the same heading/value and muted-label
   colors as public-profile-overview-card. */
body.profile-page #profileContent > #profileStats,
body.profile-page #profileContent > .profile-stats-card {
  color: var(--profile-public-heading) !important;
}
body.profile-page #profileContent > :is(#profileStats,.profile-stats-card) :is(h2,h3,h4,strong,b) {
  color: var(--profile-public-heading) !important;
}
body.profile-page #profileContent > :is(#profileStats,.profile-stats-card) :is(span,p,small,label) {
  color: var(--profile-public-muted) !important;
}

/* Saved coffee settings, equipment, and beans share the public list-row
   vocabulary.  Keep date/creator metadata quieter than the row title. */
body.profile-page #profileContent > :is(#profilePresets,#profileEquipment,#profileBeans) :is(h2,h3,h4,.profile-preset-title,.profile-equipment-title,.profile-bean-title,strong,b) {
  color: var(--profile-public-heading) !important;
}
body.profile-page #profileContent > :is(#profilePresets,#profileEquipment,#profileBeans) :is(.profile-preset-summary,.profile-equipment-summary,.profile-bean-summary,p) {
  color: var(--profile-public-body) !important;
}
body.profile-page #profileContent > :is(#profilePresets,#profileEquipment,#profileBeans) :is(.profile-preset-summary span,.profile-equipment-summary span,.profile-bean-details span,.profile-equipment-detail-line) {
  color: var(--profile-public-body) !important;
}
body.profile-page #profileContent > #profileEquipment .profile-equipment-detail-key,
body.profile-page #profileContent > #profileBeans .profile-bean-details {
  color: var(--profile-public-muted) !important;
}
body.profile-page #profileContent > #profileEquipment .profile-equipment-detail-value,
body.profile-page #profileContent > :is(#profilePresets,#profileBeans) .profile-preset-details dd {
  color: var(--profile-public-heading) !important;
}
body.profile-page #profileContent > :is(#profilePresets,#profileEquipment,#profileBeans) :is(.profile-preset-date,.profile-preset-origin,.profile-preset-meta,.profile-equipment-meta,.profile-bean-meta,small) {
  color: var(--profile-public-meta) !important;
}
body.profile-page #profileContent > :is(#profilePresets,#profileEquipment,#profileBeans) :is(.profile-preset-origin-link,a) {
  color: var(--profile-public-link) !important;
}

/* Do not recolor the profile journey or analytics charts: they have no
   public list equivalent and require their own dark/light contrast rules. */
