/**
 * Accessibility — Color Contrast Fixes (WCAG 2.1 AA)
 *
 * Reported by: axe DevTools 4.11.1 on 2026-04-16
 * Standard:    WCAG 2.1 AA (4.5:1 minimum contrast ratio for normal text)
 *
 * NOTE: The Facebook "Share" button contrast issue (issue 5 in the report)
 * is rendered inside a third-party iframe and cannot be fixed from the theme.
 *
 * NOTE: Bold-text section headings (<b>The Context</b>, <b>The Threat
 * Landscape</b>, <b>Potential Solutions</b>) flagged under the
 * advanced/heading-markup rule must be corrected by editing the individual
 * post in the WordPress block/classic editor and replacing each <b> wrapper
 * with a proper <h2>–<h4> heading element.
 *
 * Known posts with <b>-as-heading issues (fix in WP admin → Classic Editor):
 *  - /2026/04/03/strait-of-hormuz-under-threat-of-mines-are-littoral-combat-ships-the-solution/
 *    → "The Context"          → <h2>
 *    → "The Threat Landscape" → <h2>
 *    → "Potential Solutions"  → <h2>
 *  - /2026/04/13/manufacturing-capacity-not-manpower-south-koreas-quiet-defense-pivot/
 *    → "A Strategic Ask Framed as Manufacturing" → <h2>
 *    → "Demographics as a Strategic Constraint"  → <h2>
 *    → "Analysis"                                → <h2>
 * (Fixing these also resolves the heading-order violation in the Molongui
 *  author box on those posts: h1→h2→h3 becomes a valid sequence.)
 */

/* ============================================================
   1. LAYOUT & SUBSCRIPTION FORM
   ============================================================ */
body .site {
	padding: 0;
	margin: 0 auto;
	box-shadow: none;
}

.container,
.wrapper,
.site-content,
#content,
.page-template-full-width .content-area {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	border: 0;
	padding: 0;
}

#wp-subscribe {
	text-align: center;
	padding: 20px;
	background-color: #0b55a1;
	color: #FFFFFF;
}

#wp-subscribe h4,
#wp-subscribe .footer-text,
#wp-subscribe .hs-error-msg {
	color: #FFFFFF;
}

#wp-subscribe h4 {
	margin-bottom: 15px;
}

#wp-subscribe .hs-email {
	padding: 0 10px;
	margin-bottom: 18px;
}

#wp-subscribe .hs-email .hs-input {
	background: #FFFFFF;
	color: #000000;
	width: 100%;
	border: 2px solid #000;
}

#wp-subscribe .hs-email label {
	text-align: left;
	width: 100%;
	display: block;
	margin: 5px auto;
}

#wp-subscribe .footer-text {
	font-size: 14px;
}

#wp-subscribe .hs-button.primary {
	background: #002e5a;
	color: #FFFFFF;
	padding: 12px 24px;
	border: 2px solid #FFFFFF;
	margin: 15px auto;
	font-size: 18px;
	cursor: pointer;
	font-weight: bold;
}

#wp-subscribe .hs-error-msg {
	padding-top: 5px;
}

#wp-subscribe .hs-input.invalid.error {
	border: 3px solid #FF3B30 !important;
}

#wp-subscribe ul.hs-error-msgs {
	background: #FFFFFF;
	color: #B00020;
	padding: 10px;
	margin-top: 5px;
	border-radius: 4px;
	list-style: none;
}

.hustle-layout-form {
	display: none;
	visibility: hidden;
}

/* ============================================================
   2. ACCESSIBILITY CONTRAST: LINKS (Target: 4.5:1 Ratio)
   ============================================================ */
/* Change standard light blue (#3498DB) to dark blue (#1b6392) */
.hitmag-wrapper a,
.hitmag-wrapper .hmb-entry-title a:hover,
.hitmag-wrapper .hms-title a:hover,
.hitmag-wrapper .hitmag-post .entry-title a:hover,
.hitmag-wrapper .entry-content a span[style],
.hitmag-wrapper .jp-relatedposts-post-a {
	color: #1b6392 !important;
}

/* Force underlines on inside-article links only for visibility */
.hitmag-wrapper .entry-content a {
	text-decoration: underline !important;
}

/* ============================================================
   3. ACCESSIBILITY CONTRAST: DATES & META (Target: 4.5:1 Ratio)
   ============================================================ */
/* Darken HitMag's default #888 gray to an accessible #555 gray */
.hitmag-wrapper .hmb-entry-meta,
.hitmag-wrapper .hmb-entry-meta a,
.hitmag-wrapper .hms-meta,
.hitmag-wrapper .hms-meta a,
.hitmag-wrapper .hitmag-post .entry-meta,
.hitmag-wrapper .hitmag-post .entry-meta a,
.hitmag-wrapper .hitmag-single .entry-meta,
.hitmag-wrapper .hitmag-single .entry-meta a,
.hitmag-wrapper .widget_recent_entries span.post-date,
.hitmag-wrapper .post-navigation .meta-nav,
.hitmag-wrapper .byline,
.hitmag-wrapper .byline a,
.hitmag-wrapper time.entry-date,
.hitmag-wrapper time.updated,
.hitmag-wrapper .jp-relatedposts-post-date,
.hitmag-wrapper .jp-relatedposts-post-context {
	color: #555555 !important;
}

/* ============================================================
   4. PROTECT DARK BACKGROUNDS (Force White/Brand Colors)
   ============================================================ */
/* Restore "View All" Button White Text */
.hitmag-wrapper a.hm-viewall,
.hitmag-wrapper a.hm-viewall span {
	color: #ffffff !important;
	background-color: #005096 !important;
	text-decoration: none !important;
}

/* "Read More" button — dark blue bg (#0b55a1); force white text to pass contrast.
   Our global link rule (#1b6392) would otherwise give a 1.14:1 ratio on this bg. */
.hitmag-wrapper a.th-readmore {
	color: #ffffff !important;
	text-decoration: none !important;
}

.hitmag-wrapper a.th-readmore:hover,
.hitmag-wrapper a.th-readmore:focus {
	color: #ffffff !important;
	text-decoration: underline !important;
}

/* Restore Slider Details */
.hitmag-wrapper .hm-slider-details a,
.hitmag-wrapper .slide-entry-meta,
.hitmag-wrapper .slide-entry-meta a,
.hitmag-wrapper .slide-entry-meta .byline,
.hitmag-wrapper .slide-entry-meta time.entry-date,
.hitmag-wrapper .slide-entry-meta time.updated,
.hitmag-wrapper .hm-slider-details .cat-links a {
	color: #ffffff !important;
	text-decoration: none !important;
}

/* Restore Footer Widget Text */
.footer-widget-area .widget a,
.site-info a,
.site-info-owner a,
.site-info-designer a {
	color: #ffffff !important;
}

.site-info-owner a,
.site-info-designer a {
	text-decoration: underline !important;
}

/* Restore Tag Links */
.hitmag-wrapper #hitmag-tags a,
.hitmag-wrapper .widget_tag_cloud .tagcloud a,
.hitmag-wrapper .hm-tags-links a {
	color: #ffffff !important;
	background-color: #005096 !important;
}

/* Main Navigation */
.main-navigation a {
	color: #dddddd !important;
}

.main-navigation a:hover,
.main-navigation .current_page_item>a {
	color: #ffffff !important;
	background-color: #005096 !important;
}

/* Mobile nav toggle — #main-nav-button is an <a> outside .main-navigation,
   so the global .hitmag-wrapper a rule sets #1b6392 on it, yielding only
   2.45:1 contrast against the #222 nav bar (WCAG AA requires 4.5:1).
   Restore the theme-default #ddd (11.46:1 ✓) and keep hover/focus white. */
#main-nav-button,
#main-nav-button .main-nav-btn-lbl {
	color: #dddddd !important;
}

#main-nav-button:hover {
	color: #ffffff !important;
}

/* Visible focus indicator — WCAG 2.4.7 / 2.4.11 (Focus Visible).
   The theme's global a:hover rule sets outline:0, hiding keyboard focus.
   A 3px solid ring at 3px offset is clearly visible against #222. */
#main-nav-button:focus,
#main-nav-button:focus-visible {
	color: #ffffff !important;
	outline: 3px solid #ffffff !important;
	outline-offset: 3px !important;
}

/* Mobile expanded menu — .responsive-mainnav has a #333 background.
   The global .hitmag-wrapper a rule sets #1b6392, giving only ~1.95:1.
   Restore the theme-default #eee (11.96:1 ✓). */
.responsive-mainnav li a,
.responsive-topnav li a {
	color: #eeeeee !important;
}

.responsive-mainnav li a:hover,
.responsive-topnav li a:hover {
	color: #ffffff !important;
}

/* ============================================================
   5. MOLONGUI AUTHOR BOX & HEADING FIXES
   ============================================================
   NOTE: Selectors intentionally omit the .hitmag-wrapper parent
   because Molongui renders the author box OUTSIDE that wrapper div.
   ============================================================ */

/* Author Name & '+ posts' & 'Website' -> Brand Blue (#005096 on #f7f8f9 = ~7:1) */
.m-a-box-name-url,
.m-a-box-container span[itemprop="name"],
.m-a-box-container span[itemprop="worksFor"] a,
.m-a-box-string-more-posts,
.m-a-box-string-web {
	color: #005096 !important;
	text-decoration: underline !important;
}

/* Job Title & 'at' -> Dark Gray (#555555 on #f7f8f9 = ~6.4:1) */
/* Also reset Molongui's opacity:.7 on .m-a-box-meta — that blends every child
   color against the background, defeating our !important color overrides. */
.m-a-box-data .m-a-box-meta {
	opacity: 1 !important;
}

.m-a-box-container span[itemprop="jobTitle"],
.m-a-box-container .m-a-box-string-at {
	color: #555555 !important;
}

/* Keyboard Focus Indicator */
.m-a-box-container a:focus-visible {
	outline: 3px solid #005096 !important;
	outline-offset: 3px !important;
}

/* Heading Visuals */
h3.by-the-numbers-custom {
	font-size: 1.1rem;
	text-transform: uppercase;
	font-weight: bold;
}

.m-a-box-name h4.author-name,
.m-a-box-name h3.author-name,
.m-a-box-name h2.author-name {
	font-size: 1.2rem;
	font-weight: bold;
	color: #1a1a1a;
}

/* Author name is now h2 (VPAT heading-order fix: h1 article → h2 author name).
   Reset browser UA h2 margin/size so the box layout is unchanged. */
.m-a-box-name h2 {
	font-size: 1.2rem;
	font-weight: bold;
	margin: 0;
	padding: 0;
	line-height: 1.3;
}

/* Related-post links inside the author box: override Molongui's
   .molongui-remove-underline so links are not distinguished by color alone
   (WCAG 1.4.1 — Use of Color) */
.m-a-box-related-entry-title a.molongui-remove-underline {
	text-decoration: underline !important;
}

/* ============================================================
   6. JETPACK RELATED POSTS — Full VPAT/WCAG 2.1 AA Fixes
   ============================================================ */
/* "Related" section headline — ensure dark text on white bg */
#jp-relatedposts .jp-relatedposts-headline,
#jp-relatedposts .jp-relatedposts-headline em {
	color: #1a1a1a !important;
}

/* Post title links — #1b6392 on #ffffff = 6.4:1 ✓ */
#jp-relatedposts .jp-relatedposts-post-a {
	color: #1b6392 !important;
	text-decoration: underline !important;
}

#jp-relatedposts .jp-relatedposts-post-a:hover,
#jp-relatedposts .jp-relatedposts-post-a:focus {
	color: #003366 !important;
	text-decoration: underline !important;
}

/* Keyboard focus ring */
#jp-relatedposts .jp-relatedposts-post-a:focus-visible {
	outline: 3px solid #005096 !important;
	outline-offset: 2px !important;
}

/* Post date — #555555 on #ffffff = 7.4:1 ✓ */
#jp-relatedposts .jp-relatedposts-post-date {
	color: #555555 !important;
}

/* Category context ("In 'Featured'") — #555555 on #ffffff = 7.4:1 ✓ */
#jp-relatedposts .jp-relatedposts-post-context {
	color: #555555 !important;
}

/* ============================================================
   7. ARCHIVE PAGE CONTRAST FIXES
   ============================================================ */

/* .cat-links container text (#bbb on #fff = 1.91:1 — fails 4.5:1).
   Darken to #767676 (4.54:1 on white ✓). The red link children
   are separately handled below. */
.hitmag-wrapper .cat-links {
	color: #767676 !important;
}

/* ============================================================
   8. ADDTOANY SHARE BUTTONS — LABEL CONTRAST
   ============================================================ */
/* Our global .hitmag-wrapper a rule sets color:#1b6392 on all
   anchor descendants, including .a2a_label spans. Those labels
   render on the coloured button backgrounds (Facebook #005096,
   Twitter #005096, LinkedIn #007bb5) giving only ~1.25:1 contrast
   — well below the WCAG AA 3:1 threshold for large text.
   Force white (≥7:1 on all brand backgrounds). */
.a2a_kit .a2a_label {
	color: #ffffff !important;
}

/* Email button has a white/near-white background (#ffffee / #ffffff),
   so the blanket white label rule above makes it invisible (1:1 contrast).
   Override with dark text — #1a1a1a on #ffffff = 18.1:1 ✓ */
.a2a_button_email .a2a_label {
	color: #1a1a1a !important;
}

/* ============================================================
   9. PAGINATION
   ============================================================ */
/* Pagination — .page-numbers <a> elements inherit our global
   .hitmag-wrapper a rule (#1b6392), giving only 1.95:1 on the
   #333 button background. Restore theme-default white (19.6:1 ✓). */
.hitmag-wrapper .page-numbers,
.hitmag-wrapper a.page-numbers,
.hitmag-wrapper .nav-links .page-numbers {
	color: #ffffff !important;
}

.hitmag-wrapper a.page-numbers:hover,
.hitmag-wrapper .nav-links .page-numbers:hover {
	color: #ffffff !important;
}
