/* BraveMeet V1.1 typography precision r02.
   Product-level readability pass for the main system only. This file is an
   additive override after r01 so rollback is a single link/version change.
   City Guide is intentionally out of scope. */

/* Shared readable scale: keep the V1.1 family and color language intact. */
body.visitor-mode:has(#visitor-experience),
body.member-mode {
  --bm-type-meta: 12px;
  --bm-type-secondary: 13px;
  --bm-type-body: 15px;
  --bm-type-control: 14px;
}

body.visitor-mode:has(#visitor-experience) .public-policy-links a,
body.visitor-mode:has(#visitor-experience) .public-policy-links .legal-operator,
body.member-mode .public-policy-links a,
body.member-mode .public-policy-links .legal-operator { font-size: 12px !important; }

/* Visitor surfaces */
#visitor-experience .visitor-home-plan-note span,
#visitor-experience .visitor-home-city-card span,
#visitor-experience .visitor-home-circle-card span,
#visitor-experience .visitor-home-private-chip,
#visitor-experience .visitor-home-storyline,
#visitor-experience .visitor-home-steps small strong,
#visitor-experience .visitor-date-block small,
#visitor-experience .visitor-conversation span,
#visitor-experience .visitor-conversation time,
#visitor-experience .visitor-conversation-type,
#visitor-experience .visitor-chat-day,
#visitor-experience .visitor-expiry-options button { font-size: 12px !important; }

#visitor-experience .visitor-home-city-card small,
#visitor-experience .visitor-home-circle-card small,
#visitor-experience .visitor-home-city-types,
#visitor-experience .visitor-home-journey header p,
#visitor-experience .visitor-interest-row span,
#visitor-experience .visitor-plan-entry p,
#visitor-experience .visitor-plan-fact,
#visitor-experience .visitor-circle-card p,
#visitor-experience .visitor-entry-rule,
#visitor-experience .visitor-privacy-control button { font-size: 13px !important; line-height: 1.45 !important; }

#visitor-experience .visitor-card-actions button,
#visitor-experience .visitor-privacy-banner,
#visitor-experience .visitor-expiry-row { font-size: 13px !important; }

/* Meet */
body.member-mode #discover .member-meet-profile-controls > *:not(.member-meet-profile-link),
body.member-mode #discover .member-meet-profile-link { font-size: 14px !important; }
body.member-mode #discover .member-meet-starter > span,
body.member-mode #discover .member-meet-interest-heading b,
body.member-mode #discover .member-meet-availability b { font-size: 14px !important; }
body.member-mode #discover .member-meet-interest-tile small { font-size: 13px !important; line-height: 1.45 !important; }
body.member-mode #discover .member-meet-reference-layout .member-meet-person-navigation button,
body.member-mode #discover .member-meet-reference-layout .member-meet-profile-link,
body.member-mode #discover .member-meet-reference-layout .member-meet-starter > span,
body.member-mode #discover .member-meet-reference-layout .member-meet-interest-tile > span > small { font-size: 14px !important; line-height: 1.45 !important; }

/* Plans */
body.member-mode #plans .member-plan-studio-copy > small,
body.member-mode #plans .member-plan-studio-copy > p { font-size: 14px !important; line-height: 1.5 !important; }
body.member-mode #plans .member-plan-studio-action,
body.member-mode #plans .member-plan-create,
body.member-mode #plans .member-plan-selected-action,
body.member-mode #plans .member-plan-studio-action.outline { font-size: 14px !important; }
body.member-mode #plans .member-plan-mine-row b { font-size: 14px !important; }
body.member-mode #plans .member-plan-mine-row small,
body.member-mode #plans .member-plan-mine-row em,
body.member-mode #plans .member-plan-selected > *,
body.member-mode #plans .member-plan-studio-attendance small,
body.member-mode #plans .member-plan-selected-rsvp small { font-size: 13px !important; line-height: 1.45 !important; }
body.member-mode #plans .member-plan-selected p,
body.member-mode #plans .member-plan-selected span { font-size: 14px !important; line-height: 1.5 !important; }
body.member-mode #plans .member-plan-filter-summary button,
body.member-mode #plans .member-plan-mine-row h3 span,
body.member-mode #plans .member-plan-selected-rsvp b,
body.member-mode #plans .member-plan-selected-rsvp small,
body.member-mode #plans .member-plan-selected-chat b,
body.member-mode #plans .member-plan-selected-chat span { font-size: 13px !important; line-height: 1.45 !important; }
body.member-mode #plans .member-plan-mine-row h3,
body.member-mode #plans .member-plan-selected .member-plan-selected-rsvp > b,
body.member-mode #plans .member-plan-selected .member-plan-selected-chat > b { font-size: 14px !important; }
body.member-mode #plans .member-plan-mine-group h3 span,
body.member-mode #plans .member-plan-needs-reply span { font-size: 13px !important; }

/* Circles */
body.member-mode #tools.member-circle-reference-layout .member-circle-room-card small,
body.member-mode #tools.member-circle-reference-layout .member-circle-room-card em,
body.member-mode #tools.member-circle-reference-layout .member-circle-my-rail small,
body.member-mode #tools.member-circle-reference-layout .member-circle-my-rail p,
body.member-mode #tools.member-circle-reference-layout .member-circle-rail-live,
body.member-mode #tools.member-circle-reference-layout .member-circle-rail-muted,
body.member-mode #tools.member-circle-reference-layout .member-circle-rail-link,
body.member-mode #tools.member-circle-reference-layout .member-circle-rail-action { font-size: 13px !important; line-height: 1.45 !important; }
body.member-mode #tools.member-circle-reference-layout .join-circle { font-size: 14px !important; }
body.member-mode #tools.member-circle-reference-layout #circle-list > header h2 { font-size: 16px !important; }
body.member-mode #tools.member-circle-reference-layout #circle-list > header span { font-size: 13px !important; }
body.member-mode #tools.member-circle-reference-layout .member-circle-my-rail h3 { font-size: 15px !important; }
body.member-mode #tools.member-circle-reference-layout .member-circle-room-media b { font-size: 13px !important; }
body.member-mode #tools.member-circle-reference-layout .circle-card-actions .join-circle,
body.member-mode #tools.member-circle-reference-layout .circle-card-actions .text-button,
body.member-mode #tools.member-circle-reference-layout [data-circle-rail-new],
body.member-mode #tools.member-circle-reference-layout .member-circle-chat-preview b,
body.member-mode #tools.member-circle-reference-layout .member-circle-chat-preview span { font: 600 14px/1.3 "DM Sans", sans-serif !important; }
body.member-mode #tools.member-circle-v9 .member-circle-room-card > .circle-card-actions .join-circle,
body.member-mode #tools.member-circle-v9 .member-circle-room-card > .circle-card-actions .text-button { font: 600 14px/1.3 "DM Sans", sans-serif !important; }
body.member-mode #tools.member-circle-reference-layout .member-circle-my-rail > header button,
body.member-mode #tools.member-circle-reference-layout .member-circle-my-rail .member-circle-rail-card b,
body.member-mode #tools.member-circle-reference-layout .member-circle-my-rail .member-circle-rail-card span,
body.member-mode #tools.member-circle-reference-layout .member-circle-my-rail .member-circle-rail-card footer { font-size: 13px !important; line-height: 1.45 !important; }

/* Inbox / Contacts */
body.member-mode #inbox .view-subtitle,
body.member-mode #inbox .inbox-space-toggle,
body.member-mode #inbox .inbox-lane,
body.member-mode #inbox .text-button,
body.member-mode #inbox .thread b { font-size: 14px !important; }
body.member-mode #inbox .thread-source-chip,
body.member-mode #inbox .conversation-scope-label { font-size: 12px !important; line-height: 1.3 !important; }
body.member-mode #inbox .thread time,
body.member-mode #inbox .message-timestamp,
body.member-mode #inbox .member-retention-icon + *,
body.member-mode #inbox .member-conversation-retention small { font-size: 12px !important; }
body.member-mode #inbox .safety-link,
body.member-mode #inbox .composer-tool { font-size: 13px !important; }
body.member-mode #inbox .member-inbox-privacy-note b { font-size: 14px !important; }
body.member-mode #inbox .member-inbox-privacy-note span,
body.member-mode #inbox .conversation-context > span { font-size: 13px !important; line-height: 1.5 !important; }
body.member-mode #inbox .conversation-list small,
body.member-mode #inbox .member-conversation-retention span,
body.member-mode #inbox .conversation-context b { font-size: 13px !important; line-height: 1.45 !important; }
body.member-mode #inbox .conversation > header span small,
body.member-mode #inbox .conversation > header span b,
body.member-mode #inbox .member-conversation-retention b { font-size: 13px !important; line-height: 1.45 !important; }

/* You / account center */
body.member-mode #profile .member-profile-page-header > div > p:last-child,
body.member-mode #profile .member-you-account-hub > p,
body.member-mode #profile .member-profile-hero-meta span,
body.member-mode #profile .member-profile-detail-location,
body.member-mode #profile .member-profile-overview small,
body.member-mode #profile .member-you-setting-row small,
body.member-mode #profile .member-you-setting-row span,
body.member-mode #profile .member-you-setting-row em { font-size: 14px !important; line-height: 1.5 !important; }
body.member-mode #profile .member-you-account-hub .eyebrow,
body.member-mode #profile .member-profile-visibility-snapshot dt { font-size: 12px !important; }
body.member-mode #profile .member-profile-overview b { font-size: 16px !important; }
body.member-mode #profile .member-profile-page-header .eyebrow,
body.member-mode #profile .member-profile-visibility-snapshot .eyebrow,
body.member-mode #profile .member-profile-visibility-snapshot small,
body.member-mode #profile .member-profile-visibility-snapshot dt { font-size: 12px !important; line-height: 1.45 !important; }
body.member-mode #profile .profile-hero-web .profile-hero-meta span,
body.member-mode #profile .profile-hero-web > div > p:not(.eyebrow) { font-size: 14px !important; line-height: 1.45 !important; }
body.member-mode #profile .profile-hero-web > div > .eyebrow { font-size: 12px !important; line-height: 1.45 !important; }

@media (max-width: 820px) {
  #visitor-experience .visitor-person-meta,
  #visitor-experience .visitor-interest-row span,
  #visitor-experience .visitor-availability,
  #visitor-experience .visitor-plan-entry p,
  #visitor-experience .visitor-plan-fact,
  #visitor-experience .visitor-circle-card p { font-size: 13px !important; }
  body.member-mode #plans .member-plan-studio-copy > p,
  body.member-mode #tools.member-circle-reference-layout .member-circle-room-card em,
  body.member-mode #inbox .member-inbox-privacy-note span,
  body.member-mode #profile .member-you-setting-row small,
  body.member-mode #profile .member-you-setting-row span { font-size: 13px !important; }
}

/* You profile editor / interest picker precision */
body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body .interest-fieldset legend,
body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body .interest-fieldset legend small,
body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body .interest-group > small {
  font-size: 13px !important;
  line-height: 1.45 !important;
}
body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body .interest-group > div {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px !important;
}
body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body .interest-group > div > label {
  min-height: 44px !important;
  box-sizing: border-box;
  display: flex !important;
  align-items: center;
  gap: 9px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--bm-color-line, #dfe5f2) !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--bm-ink, #14244b) !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}
body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body .interest-group > div > label:has(input:checked) {
  border-color: var(--bm-color-action, #1f45e8) !important;
  background: #f4f7ff !important;
  box-shadow: 0 0 0 2px rgba(31, 69, 232, .08) !important;
}
body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body .interest-group > div > label input {
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px;
  margin: 0 !important;
  accent-color: var(--bm-color-action, #1f45e8) !important;
}
body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body {
  padding-bottom: 28px !important;
}
body.member-mode .member-you-v11-modal--profile-editor .profile-save {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 2;
  box-shadow: 0 -10px 18px rgba(10, 31, 76, .08) !important;
}

@media (max-width: 640px) {
  body.member-mode .member-you-v11-modal--profile-editor .profile-editor-body .interest-group > div {
    grid-template-columns: 1fr;
  }
}
