/* Balanced typography, Round 1. Only explicitly marked pages opt in.
   This layer changes font-weight only; shared styles and tool scripts stay intact. */
body[data-euai-typography="balanced-round1"] {
  font-weight: 400;
}

/* Semantic emphasis and inherited bold utilities, including generated results. */
body[data-euai-typography="balanced-round1"] :is(.font-semibold, .font-bold, .font-extrabold, .font-black, .euai-brand, .euai-footer-label, .footer-title, .eu-deadline-days) {
  font-weight: 600;
}
body[data-euai-typography="balanced-round1"] :is(strong, b, th, caption) {
  font-weight: 600 !important;
}

/* Existing page-specific heading rules include !important declarations. */
body[data-euai-typography="balanced-round1"] :is(h1, h2, h3, h4, h5, h6) {
  font-weight: 600 !important;
}
body[data-euai-typography="balanced-round1"] :is(h1, h2, h3, h4, h5, h6) :is(span, strong, b, a, em) {
  font-weight: 600 !important;
}

/* Section labels, category badges and step labels are secondary to headings. */
body[data-euai-typography="balanced-round1"] :is(.eyebrow, .m78-eyebrow, .m78-section-kicker, .m78-section-label, .m78-topic-cloud-title, .m78-topic-cloud-label, .m78-card-tag, .m78-step-chip, .home-step-num, .home-route-pill, .mini-label, .pill, .tag, .step, .m78-faq-route-kicker, .m78-faq-status-kicker, .m78-faq-route-card > span, span.uppercase, p.uppercase, #qn) {
  font-weight: 500;
}
body[data-euai-typography="balanced-round1"] :is(.m78-home-badge, .m78-time-badge, .m78-index-badge, .m78-faq-kicker, .m78-guide-roomy-card .tag) {
  font-weight: 500 !important;
}

/* Navigation and explicit actions; card titles retain their semantic emphasis. */
body[data-euai-typography="balanced-round1"] :is(nav a, nav button, .nav-links, .nav-dropdown a, .mobile-menu a, .brand span, .breadcrumb a, .eu-deadline-bar a, .cat-nav a, .tool-callout a, button, label, summary, .btn, .btn-primary, .btn-secondary, .m78-btn-primary, .m78-btn-secondary, a.font-semibold, a.font-bold, .implementation-link, .m78-card-link, .m78-card .link, .m78-path-card .link, .m78-link-row em, .m78-faq-route-card em, .m78-topic-chip, .htag, .asset-card > span.font-bold, #results a > span.font-semibold) {
  font-weight: 500;
}
body[data-euai-typography="balanced-round1"] :is(nav a, nav button, .brand) :is(span, strong, b) {
  font-weight: 500;
}
body[data-euai-typography="balanced-round1"] .m78-guide-roomy-card .link {
  font-weight: 500 !important;
}

/* Explicit nested FAQ/accordion weights otherwise defeat parent controls. */
body[data-euai-typography="balanced-round1"] :is(summary, .home-faq-question-text, .m78-faq-question-text, .m78-clean-faq-question, .faq-q, .faq-question-text, .faq-summary-text, .euaic-faq-q, .faq-question-wrap, .faq-summary-main, .m78-tool-acc-text strong, .m78-guide-acc-text strong) {
  font-weight: 500 !important;
}
body[data-euai-typography="balanced-round1"] :is(button, summary) :is(span, strong, b) {
  font-weight: 500 !important;
}
/* Checker choices have a separate title and ordinary explanatory text. */
body[data-euai-typography="balanced-round1"] #qa button.opt .font-semibold {
  font-weight: 500;
}
body[data-euai-typography="balanced-round1"] #qa button.opt .text-xs {
  font-weight: 400;
}
