/* Shared component colors. No URL, content, visibility, or layout changes. */

/* C1: both related-news placements use pale cards. Dates must remain opaque. */
body .hunter-geo-related-news {
    color: #17305d;
}
body .hunter-geo-related-news li,
body .hunter-geo-related-news li::marker,
body .hunter-geo-related-news time {
    color: #17305d;
}
body .hunter-geo-related-news time {
    opacity: 1;
}
body .hunter-platform-review-after .hunter-geo-related-news a,
body .hunter-platform-review-after .hunter-geo-related-news a:visited {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body .hunter-platform-review-after .hunter-geo-related-news a:is(:hover, :focus, :focus-visible) {
    color: #163fae;
}
body .hunter-platform-review-after .hunter-geo-related-news a:focus-visible {
    outline: 2px solid #1d4ed8;
    outline-offset: 3px;
}
/* Preserve the already-readable blue activity CTA, including visited/hover. */
body .hunter-platform-review-activity .hunter-platform-review-activity__hub,
body .hunter-platform-review-activity .hunter-platform-review-activity__hub:visited,
body .hunter-platform-review-activity .hunter-platform-review-activity__hub:is(:hover, :focus, :focus-visible) {
    color: #ffffff;
}
body .hunter-platform-review-activity .hunter-platform-review-activity__hub:focus-visible {
    outline: 2px solid #17305d;
    outline-offset: 3px;
}

/* C2: pair text and surface; the site-wide blue gradient is not a white page. */
body .hunter-site-footer-shortcuts {
    background: #f4f8ff;
    color: #17305d;
}
body .hunter-site-footer-shortcuts .hunter-site-footer-shortcuts__title,
body .hunter-site-footer-shortcuts .hunter-site-footer-shortcuts__desc {
    color: #17305d;
    opacity: 1;
}
body .hunter-site-footer-shortcuts .hunter-site-footer-shortcuts__link,
body .hunter-site-footer-shortcuts .hunter-site-footer-shortcuts__link:visited,
body .entry-meta .posted-by > a,
body .entry-meta .posted-by > a:visited {
    color: #1d4ed8;
}
body .entry-meta .posted-by {
    background: #f4f8ff;
    color: #17305d;
}
body .entry-meta .posted-by > a {
    background: #f4f8ff;
}
body .entry-meta .posted-by > a * {
    color: inherit;
}
body .entry-meta .posted-by > a .author-name,
body .entry-meta .posted-by > a:is(:hover, :focus, :focus-visible) .author-name {
    color: inherit;
}
body .hunter-site-footer-shortcuts .hunter-site-footer-shortcuts__link:is(:hover, :focus, :focus-visible),
body .entry-meta .posted-by > a:is(:hover, :focus, :focus-visible) {
    color: #163fae;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body .hunter-site-footer-shortcuts .hunter-site-footer-shortcuts__link:focus-visible,
body .entry-meta .posted-by > a:focus-visible {
    outline: 2px solid #1d4ed8;
    outline-offset: 3px;
}

/* C3: badge text is not a link; retain medal identity without white-on-gold. */
body .hrb-page .hrb-rank-badge--top-1,
body .hrb-page .hrb-rank-badge--top-2,
body .hrb-page .hrb-rank-badge--top-3 {
    color: #17243a;
}
body .hrb-page .hrb-rank-badge--top-3 {
    background: linear-gradient(135deg, #f2c69b 0%, #d9a16b 100%);
}
body .hrb-page .hrb-shortcut__button:not(.is-active),
body .hrb-page .hrb-shortcut__button:not(.is-active):visited {
    background: #ffffff;
    color: #1d4ed8;
}
body .hrb-page .hrb-shortcut__button:not(.is-active):is(:hover, :focus, :focus-visible) {
    background: #edf3ff;
    color: #163fae;
}
body .hrb-page .hrb-shortcut__button.is-active,
body .hrb-page .hrb-shortcut__button.is-active:visited {
    background: linear-gradient(135deg, #2559c7 0%, #153d96 100%);
    color: #ffffff;
}
body .hrb-page .hrb-shortcut__button.is-active:is(:hover, :focus, :focus-visible) {
    background: linear-gradient(135deg, #1b49ad 0%, #11337e 100%);
    color: #ffffff;
}
body .hrb-page .hrb-shortcut__button:focus-visible {
    outline: 3px solid #17305d;
    outline-offset: 3px;
}

/* C4: preserve the news tab's gold selected state, with dark text. */
body:is(.hunter-news-index-page, .page-id-793) .elementor-793 .elementor-element.elementor-element-307b2f3.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title:not([aria-selected="true"]) {
    background: linear-gradient(180deg, #2457bd, #153f98);
    color: #ffffff;
}
body:is(.hunter-news-index-page, .page-id-793) .elementor-793 .elementor-element.elementor-element-307b2f3.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title:not([aria-selected="true"]):is(:hover, :focus, :focus-visible) {
    background: linear-gradient(180deg, #1c479f, #103179);
    color: #ffffff;
}
body:is(.hunter-news-index-page, .page-id-793) .elementor-793 .elementor-element.elementor-element-307b2f3.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title[aria-selected="true"],
body:is(.hunter-news-index-page, .page-id-793) .elementor-793 .elementor-element.elementor-element-307b2f3.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title[aria-selected="true"]:is(:hover, :focus, :focus-visible) {
    color: #17243a;
}
body:is(.hunter-news-index-page, .page-id-793) .elementor-793 .elementor-element.elementor-element-307b2f3.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title .e-n-tab-title-text,
body:is(.hunter-news-index-page, .page-id-793) .elementor-793 .elementor-element.elementor-element-307b2f3.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title .e-n-tab-title-text * {
    color: inherit;
}
body:is(.hunter-news-index-page, .page-id-793) .elementor-793 .elementor-element.elementor-element-307b2f3.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title:focus-visible {
    outline: 3px solid #17305d;
    outline-offset: 3px;
}
body .hunter-teaching-article-body a:not(.wp-element-button):not(.wp-block-button__link):not([role="button"]),
body .hunter-teaching-article-body a:not(.wp-element-button):not(.wp-block-button__link):not([role="button"]):visited {
    color: #0b1733;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body .hunter-teaching-article-body a:not(.wp-element-button):not(.wp-block-button__link):not([role="button"]):is(:hover, :focus, :focus-visible) {
    color: #030b18;
}
body .hunter-teaching-article-body a:not(.wp-element-button):not(.wp-block-button__link):not([role="button"]):focus-visible {
    outline: 2px solid #0b1733;
    outline-offset: 3px;
}
body .hunter-en-teaching-foundations {
    background: #f4f8ff;
    color: #17305d;
}
body .hunter-en-teaching-foundations :is(h2, h3, p, li) {
    color: #17305d;
}
body .hunter-en-teaching-foundations a,
body .hunter-en-teaching-foundations a:visited {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body .hunter-en-teaching-foundations a:is(:hover, :focus, :focus-visible) {
    color: #163fae;
}
body .hunter-en-teaching-foundations a:focus-visible {
    outline: 2px solid #1d4ed8;
    outline-offset: 3px;
}

/* C5: keep existing navigation geometry, display/disabled behavior and targets. */
body .navigation.post-navigation {
    background: #f4f8ff;
    color: #17305d;
}
body .navigation.post-navigation a,
body .navigation.post-navigation a:visited {
    color: #1d4ed8;
}
body .navigation.post-navigation a :is(.ast-post-nav, .ast-left-arrow, .ast-right-arrow) {
    color: inherit;
}
body .navigation.post-navigation a:is(:hover, :focus, :focus-visible) {
    color: #163fae;
}
body .navigation.post-navigation a:focus-visible {
    outline: 2px solid #1d4ed8;
    outline-offset: 3px;
}
body.page-id-552 .hunter-video-pager .hunter-video-pager__nav,
body.page-id-552 .hunter-video-pager a.hunter-video-pager__nav:visited,
body.page-id-552 .hunter-video-pager .hunter-video-pager__status {
    background: #f4f8ff;
    border-color: #325f9f;
    color: #17305d;
    text-shadow: none;
}
body.page-id-552 .hunter-video-pager .hunter-video-pager__nav:is(:hover, :focus, :focus-visible, :active) {
    background: #dbe8fc;
    border-color: #17305d;
    color: #102448;
}
body.page-id-552 .hunter-video-pager .hunter-video-pager__nav:focus-visible {
    outline: 3px solid #17305d;
    outline-offset: 3px;
}
body.page-id-552 .hunter-video-pager .hunter-video-pager__nav-icon,
body.page-id-552 .hunter-video-pager .hunter-video-pager__status > span {
    color: inherit;
}

/* C2 follow-up: Premium's list author is not Astra's .posted-by element. */
body .premium-blog-entry-meta .premium-blog-post-author,
body .premium-blog-entry-meta .premium-blog-post-author > a,
body .premium-blog-entry-meta .premium-blog-post-author > a:visited {
    color: #1d4ed8;
}
body .premium-blog-entry-meta .premium-blog-post-author > a:is(:hover, :focus, :focus-visible) {
    color: #163fae;
    text-decoration: underline;
    text-underline-offset: 3px;
}
body .premium-blog-entry-meta .premium-blog-post-author > a:focus-visible {
    outline: 2px solid #1d4ed8;
    outline-offset: 3px;
}

/* C4 follow-up: the existing teaching widget has no hub-shell class.
   Its component rules use !important, so mirror that only for this widget. */
body.page-id-427 .elementor-427 .elementor-element.elementor-element-db83f9d.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title:not([aria-selected="true"]) {
    background: linear-gradient(180deg, #2457bd, #153f98) !important;
    color: #ffffff !important;
}
body.page-id-427 .elementor-427 .elementor-element.elementor-element-db83f9d.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title:not([aria-selected="true"]):is(:hover, :focus, :focus-visible) {
    background: linear-gradient(180deg, #1c479f, #103179) !important;
    color: #ffffff !important;
}
body.page-id-427 .elementor-427 .elementor-element.elementor-element-db83f9d.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title[aria-selected="true"],
body.page-id-427 .elementor-427 .elementor-element.elementor-element-db83f9d.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title[aria-selected="true"]:is(:hover, :focus, :focus-visible) {
    color: #17243a !important;
}
body.page-id-427 .elementor-427 .elementor-element.elementor-element-db83f9d.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title .e-n-tab-title-text,
body.page-id-427 .elementor-427 .elementor-element.elementor-element-db83f9d.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title .e-n-tab-title-text * {
    color: inherit !important;
}
body.page-id-427 .elementor-427 .elementor-element.elementor-element-db83f9d.elementor-widget-n-tabs .e-n-tabs .e-n-tabs-heading button.e-n-tab-title:focus-visible {
    outline: 3px solid #17305d;
    outline-offset: 3px;
}

/* C4 follow-up: expanded mobile menu uses ordinary 17px text. Scope to its
   dedicated ID, leaving the desktop header and menu open/closed logic intact. */
body #ast-hf-mobile-menu,
body #ast-hf-mobile-menu .sub-menu,
body #ast-hf-mobile-menu li > a,
body #ast-hf-mobile-menu li > a:visited {
    background-color: #f4f8ff;
    background-image: none;
    color: #1d4ed8;
}
body #ast-hf-mobile-menu li > a:is(:hover, :focus, :focus-visible) {
    background-color: #dbe8fc;
    color: #163fae;
}
body #ast-hf-mobile-menu li > a :is(.menu-text, .ast-icon),
body #ast-hf-mobile-menu .ast-menu-toggle {
    color: inherit;
}
body #ast-hf-mobile-menu li > a:focus-visible,
body #ast-hf-mobile-menu .ast-menu-toggle:focus-visible {
    outline: 2px solid #1d4ed8;
    outline-offset: -3px;
}
