/**
 * CONFUT — readability floor for UI copy.
 * Light +1–2px bumps only; display/hero typography untouched.
 */
:root {
  --confut-type-ui-min: 0.8125rem;
  --confut-type-caption-min: 0.875rem;
}

/* Menus — macro header */
body.confut-macro-site header #mainmenu li a.menu-item {
  line-height: 1.35 !important;
}

body.confut-macro-site .header-macrosite-sistema-btn__line {
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  line-height: 1.35 !important;
}

body.confut-macro-site .header-macrosite-sistema-btn__line--soft {
  font-size: 0.75rem !important;
  letter-spacing: 0.1em !important;
  line-height: 1.35 !important;
  opacity: 0.88 !important;
}

body.confut-macro-site header .menu_side_area > a.header-macrosite-cta-desktop,
body.confut-macro-site .confut-prefooter-cta .header-macrosite-cta-desktop {
  font-size: clamp(var(--confut-type-ui-min), 0.36vw + 0.74rem, 0.875rem) !important;
  line-height: 1.35 !important;
}

@media (max-width: 991.98px) {
  #wrapper > header #mainmenu .header-macrosite-cta-mobile .header-macrosite-cta-link {
    font-size: clamp(var(--confut-type-ui-min), 2.8vw, 0.875rem) !important;
    line-height: 1.35 !important;
  }
}

/* Event dropdown switcher */
.event-menu-switcher__option {
  line-height: 1.35 !important;
}

/* Footer + prefooter */
.confut-footer__title {
  line-height: 1.35 !important;
  letter-spacing: 0.06em !important;
}

footer.confut-footer .confut-footer__link,
footer.confut-footer .confut-footer__copyright,
body.confut-macro-site footer span[data-i18n="footer.copyright"] {
  font-size: clamp(var(--confut-type-caption-min), 0.7vw + 0.78rem, 0.9375rem);
  line-height: 1.5;
}

@media (max-width: 767.98px) {
  body.confut-macro-site .confut-prefooter-cta__headline {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 480px) {
  body.confut-macro-site .confut-prefooter-cta__headline {
    font-size: 13px !important;
  }

  footer.confut-footer .confut-footer__back-to-top {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
}

/* Sponsor tier labels (events) */
body.confut-sudamericana-refactor .usa-macro-sponsors__tier-title,
body.confut-nordeste-refactor .usa-macro-sponsors__tier-title {
  font-size: var(--confut-type-ui-min) !important;
  letter-spacing: 0.12em !important;
  line-height: 1.35 !important;
}

body.confut-sudamericana-refactor .usa-macro-sponsors__tier-title,
body.confut-nordeste-refactor .usa-macro-sponsors__tier-title {
  color: rgba(10, 22, 51, 0.78) !important;
}

body.confut-nordeste-refactor .usa-macro-sponsors__tier-title {
  color: rgba(36, 8, 8, 0.78) !important;
}

body.confut-usa-refactor .usa-macro-sponsors__tier-title {
  letter-spacing: 0.12em !important;
  line-height: 1.35 !important;
  color: rgba(2, 32, 70, 0.78) !important;
}

body.confut-usa-refactor .usa-macro-sponsors__micro-badge {
  font-size: var(--confut-type-ui-min) !important;
  letter-spacing: 0.1em !important;
  line-height: 1.35 !important;
  color: rgba(2, 32, 70, 0.78) !important;
}

/* Patrocinio — naming cards + badges */
body.macro-patrocinio-page .cnr-badge span {
  font-size: 0.8125rem !important;
  letter-spacing: 0.08em !important;
  line-height: 1.35 !important;
  color: rgba(255, 255, 255, 0.78) !important;
}

body.macro-patrocinio-page .cnr-panel__label {
  font-size: 0.8125rem !important;
  letter-spacing: 0.06em !important;
  line-height: 1.35 !important;
  color: rgba(10, 38, 71, 0.72) !important;
}

body.confut-macro-site.macro-patrocinio-page .macro-p-a03__badge {
  font-size: clamp(var(--confut-type-ui-min), 0.78vw, 0.875rem) !important;
  letter-spacing: 0.1em !important;
  line-height: 1.3 !important;
}

body.confut-macro-site.macro-patrocinio-page .macro-p-a03__stands-label {
  font-size: clamp(var(--confut-type-ui-min), 0.86vw, 0.9375rem) !important;
  letter-spacing: 0.1em !important;
  line-height: 1.35 !important;
}

/* Speakers carousel */
#section-speakers .event-speaker-role {
  font-size: var(--confut-type-caption-min) !important;
  line-height: 1.45 !important;
}

#section-speakers .event-speaker-role-back {
  font-size: var(--confut-type-ui-min) !important;
  letter-spacing: 0.06em !important;
  line-height: 1.4 !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

/* Macro home — expert bios + event cards */
body.confut-macro-site.macro-home-page #section-experts .macro-home-expert-flip__bio-text {
  font-size: clamp(var(--confut-type-ui-min), 0.65vw, 0.9375rem) !important;
  line-height: 1.45 !important;
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  body.confut-macro-site.macro-home-page .macro-home-upcoming__when,
  body.confut-macro-site.macro-home-page .macro-home-upcoming__loc {
    font-size: clamp(var(--confut-type-caption-min), 1.45vw, 1rem) !important;
  }
}

@media (max-width: 767.98px) {
  body.confut-macro-site.macro-home-page .macro-home-upcoming__btn {
    font-size: clamp(13px, 3.2vw, 15px) !important;
    line-height: 1.3 !important;
  }
}

body.confut-macro-site .usa-metrics-band .usa-metrics__label {
  font-size: clamp(var(--confut-type-ui-min), 1vw, 0.9375rem) !important;
  line-height: 1.4 !important;
}

/* USA — nav squeeze + header CTAs */
@media (min-width: 992px) and (max-width: 1199.98px) {
  body.confut-usa-refactor .usa-header__menu .usa-header__menu-link.menu-item {
    font-size: var(--confut-type-caption-min) !important;
  }
}

body.confut-usa-refactor header.usa-site-header .usa-header__actions a.usa-cta-cred {
  font-size: clamp(var(--confut-type-ui-min), 1vw, 0.875rem) !important;
  line-height: 1.35 !important;
}

body.confut-usa-refactor #section-credentials .usa-cred-pass__cta {
  font-size: var(--confut-type-ui-min) !important;
  letter-spacing: 0.06em !important;
  line-height: 1.35 !important;
}

body.confut-usa-refactor .usa-speaker-card__org--muted {
  font-size: var(--confut-type-ui-min) !important;
  color: rgba(2, 32, 70, 0.72) !important;
  line-height: 1.4 !important;
}

/* Accessibility widget */
.a11y-section-title {
  font-size: var(--confut-type-ui-min) !important;
  letter-spacing: 0.06em !important;
  line-height: 1.35 !important;
}

.a11y-card-label,
.a11y-card-badge {
  font-size: var(--confut-type-ui-min) !important;
  line-height: 1.4 !important;
}
