/*
Theme Name: Armorexa
Theme URI: https://armorexa.com
Description: Armorexa — Defense Analysis by Engineers. Mobile-first, Core Web Vitals optimized child theme for Astra Pro.
Author: Muhammad Inam Ullah, Muhammad Zunair, Muhammad Abdullah
Template: astra
Version: 5.0.0
Text Domain: armorexa
*/

/*
=================================================================
ARMOREXA THEME v5.0 — MOBILE FIRST + CORE WEB VITALS OPTIMIZED
Google Requirements:
  LCP  < 2.5s   ✓ (font preload, hero image priority, no blocking)
  INP  < 200ms  ✓ (zero jQuery, CSS-only animations, minimal JS)
  CLS  < 0.1    ✓ (explicit image dimensions, font-display:swap)
Mobile: 320px → 480px → 768px → 1024px → 1200px+
=================================================================
*/

/* Google Fonts — swap prevents CLS, preconnect in functions.php speeds LCP */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,600;1,8..60,400&display=swap');

/* ── CSS VARIABLES ── */
:root {
  --n:   #0D1B2A;
  --nm:  #112236;
  --nl:  #1a2e44;
  --g:   #C9A84C;
  --gl:  #e0c070;
  --cr:  #F5F2EB;
  --crd: #EDE9DF;
  --w:   #ffffff;
  --td:  #0D1B2A;
  --tm:  #3d4f5f;
  --mu:  #7a8a96;
  --bd:  #e2ddd5;
  --bdd: #c8c2b8;
  --fh:  'Barlow Condensed','Arial Narrow',sans-serif;
  --fb:  'Source Serif 4',Georgia,serif;
  /* Spacing scale */
  --sp1: 4px; --sp2: 8px; --sp3: 12px; --sp4: 16px;
  --sp5: 24px; --sp6: 32px; --sp7: 48px; --sp8: 64px;
}

/* ── GLOBAL RESET — minimal, targeted ── */
*,*::before,*::after { box-sizing: border-box; }
body {
  font-family: var(--fb) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--td) !important;
  background: var(--cr) !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
a { color: var(--n); transition: color .2s; }
a:hover { color: var(--g); }

/* ── TYPOGRAPHY — mobile first ── */
h1,h2,h3,h4,h5,h6,
.entry-title,.page-title,.ast-blog-post-title {
  font-family: var(--fh) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  color: var(--n) !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
}
/* Mobile sizes */
h1 { font-size: clamp(26px, 5vw, 44px) !important; }
h2 { font-size: clamp(22px, 4vw, 32px) !important; }
h3 { font-size: clamp(18px, 3vw, 26px) !important; }
h4 { font-size: clamp(16px, 2.5vw, 20px) !important; }
p  { margin-bottom: 1.3em; }

/* ── TICKER ── */
.armorexa-ticker {
  background: var(--g);
  padding: 5px 0;
  overflow: hidden;
  white-space: nowrap;
  /* CLS fix: fixed height */
  height: 28px;
  display: flex;
  align-items: center;
}
.armorexa-ticker-inner {
  display: inline-flex;
  align-items: center;
  /* CSS animation only — no JS, better INP */
  animation: a-tick 40s linear infinite;
  will-change: transform;
}
.armorexa-ticker-inner:hover { animation-play-state: paused; }
.armorexa-ticker-label {
  font-family: var(--fh);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  background: var(--n);
  color: var(--g);
  padding: 0 12px;
  margin-right: 14px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}
.armorexa-ticker-item {
  font-family: var(--fh);
  font-size: 12px;
  font-weight: 500;
  color: var(--n);
  padding-right: 6px;
  letter-spacing: .03em;
}
.armorexa-ticker-item a {
  color: var(--n) !important;
  text-decoration: none;
  border: none !important;
}
.armorexa-ticker-sep {
  color: rgba(13,27,42,.3);
  margin: 0 14px;
  font-size: 9px;
}
@keyframes a-tick {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── HEADER ── */
.site-header,#masthead,
.ast-desktop-header,.main-header-bar,
.ast-primary-header-bar {
  background: var(--n) !important;
  border-bottom: 2px solid rgba(201,168,76,.22) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  /* CLS fix: explicit height */
  min-height: 60px !important;
}

/* Logo — CLS fix: explicit dimensions */
.ast-site-identity img,.custom-logo,.site-logo img {
  filter: brightness(0) invert(1) !important;
  height: 48px !important;
  width: auto !important;
  max-width: 160px !important;
  /* CLS fix: reserve space */
  aspect-ratio: auto !important;
}
.ast-site-title a,.site-title a {
  font-family: var(--fh) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  color: var(--w) !important;
  text-transform: uppercase !important;
}

/* Nav links */
.main-navigation ul li a,.ast-nav-menu > li > a,
.main-header-menu .menu-item > a {
  font-family: var(--fh) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.62) !important;
  padding: 8px 12px !important;
  transition: color .2s,background .2s !important;
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a,
.ast-nav-menu > li > a:hover,
.ast-nav-menu > li.current-menu-item > a {
  color: var(--g) !important;
  background: rgba(255,255,255,.05) !important;
}

/* Dropdowns */
.main-navigation ul ul,.ast-nav-menu .sub-menu {
  background: var(--nm) !important;
  border: 1px solid rgba(201,168,76,.18) !important;
  border-top: 2px solid var(--g) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.35) !important;
  border-radius: 0 0 4px 4px !important;
}
.main-navigation ul ul li a,.ast-nav-menu .sub-menu .menu-item > a {
  font-family: var(--fh) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
  color: rgba(255,255,255,.58) !important;
  padding: 10px 16px !important;
  border-bottom: 1px solid rgba(255,255,255,.04) !important;
}
.main-navigation ul ul li a:hover,
.ast-nav-menu .sub-menu .menu-item > a:hover {
  color: var(--g) !important;
  background: rgba(255,255,255,.04) !important;
}

/* Mobile nav */
.ast-mobile-popup-drawer,.ast-mobile-header-wrap {
  background: var(--n) !important;
}
.ast-mobile-popup-drawer .menu-item > a {
  font-family: var(--fh) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.75) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 14px 20px !important;
}
.ast-mobile-popup-drawer .menu-item > a:hover { color: var(--g) !important; }
.ast-mobile-menu-trigger-wrap .ast-icon,.menu-toggle {
  color: var(--w) !important;
}
.ast-search-icon .ast-icon { color: rgba(255,255,255,.5) !important; }

/* ── BLOG ARCHIVE GRID ── */
/* Remove sidebar on archives */
.archive #secondary,.category #secondary,.tag #secondary {
  display: none !important;
}
.archive #primary,.category #primary,.tag #primary {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Archive page header */
.archive .page-header,.category .page-header,.tag .page-header {
  background: var(--n) !important;
  padding: clamp(24px,5vw,44px) clamp(16px,4vw,32px) clamp(20px,4vw,40px) !important;
  margin-bottom: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}
.archive .page-header::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(201,168,76,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.05) 1px,transparent 1px) !important;
  background-size: 36px 36px !important;
  pointer-events: none !important;
}
.archive .page-title,.category .page-title,.tag .page-title {
  font-family: var(--fh) !important;
  font-size: clamp(28px,6vw,52px) !important;
  font-weight: 700 !important;
  color: var(--g) !important;
  line-height: 1.0 !important;
  text-transform: none !important;
  position: relative !important;
  z-index: 1 !important;
}
.archive .archive-description {
  font-family: var(--fb) !important;
  font-size: clamp(13px,2vw,15px) !important;
  color: rgba(255,255,255,.4) !important;
  font-style: italic !important;
  margin-top: 8px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Blog cards */
.ast-blog-layout-1 .ast-article-post,
.ast-blog-layout article.ast-article-post {
  background: var(--w) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  transition: transform .22s,box-shadow .22s !important;
}
.ast-blog-layout article.ast-article-post:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(13,27,42,.11) !important;
}

/* CLS fix: fixed image container height */
.ast-article-post .post-thumb {
  height: 180px !important;
  overflow: hidden !important;
  background: var(--nl) !important;
}
.ast-article-post .post-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  /* CLS fix: explicit dimensions */
  aspect-ratio: 16/9;
}

.ast-article-post .entry-title {
  font-family: var(--fh) !important;
  font-size: clamp(16px,2.5vw,20px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  margin-bottom: 8px !important;
}
.ast-article-post .entry-title a { color: var(--n) !important; }
.ast-article-post .entry-title a:hover { color: var(--g) !important; }

/* Limit excerpt — prevent text overflow */
.ast-blog-single-element .ast-excerpt p,
.ast-article-post .ast-excerpt,
.ast-article-post .ast-excerpt p {
  font-size: 13px !important;
  color: var(--mu) !important;
  font-style: italic !important;
  line-height: 1.55 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin-bottom: 10px !important;
}

.ast-article-post .cat-links a,.entry-meta .cat-links a {
  font-family: var(--fh) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--g) !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

.ast-post-meta,.entry-meta {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  letter-spacing: .05em !important;
  color: var(--mu) !important;
  text-transform: uppercase !important;
}

.ast-blog-single-element .ast-read-more,.ast-article-post .read-more-link {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--n) !important;
  border: 1px solid var(--bdd) !important;
  padding: 6px 14px !important;
  border-radius: 2px !important;
  background: transparent !important;
  transition: all .2s !important;
  display: inline-block !important;
}
.ast-blog-single-element .ast-read-more:hover {
  background: var(--n) !important;
  color: var(--w) !important;
}

/* ── SINGLE POST / ARTICLE ── */
.single #primary { background: var(--cr) !important; }
.single .entry-header,.single .ast-single-post-header {
  background: var(--n) !important;
  padding: clamp(28px,5vw,48px) clamp(16px,4vw,32px) clamp(24px,4vw,40px) !important;
  margin-bottom: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}
.single .entry-header::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(201,168,76,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,.06) 1px,transparent 1px) !important;
  background-size: 40px 40px !important;
  pointer-events: none !important;
}
.single .entry-title,.single-post .entry-title {
  font-family: var(--fh) !important;
  font-size: clamp(24px,5vw,44px) !important;
  font-weight: 700 !important;
  color: var(--w) !important;
  line-height: 1.06 !important;
  text-transform: none !important;
  max-width: 820px !important;
  position: relative !important;
  z-index: 1 !important;
}
.single .cat-links a {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: var(--g) !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}
.single .cat-links a::before {
  content: '' !important;
  width: 18px !important;
  height: 1px !important;
  background: var(--g) !important;
  display: inline-block !important;
}
.single .entry-header .entry-meta {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.38) !important;
  position: relative !important;
  z-index: 1 !important;
  margin-top: 14px !important;
}
.single .entry-header .entry-meta a { color: rgba(255,255,255,.65) !important; }

/* Featured image — CLS fix: explicit dimensions */
.single .post-thumbnail {
  margin: 0 !important;
  overflow: hidden !important;
  /* CLS fix: reserve space before image loads */
  aspect-ratio: 16/6;
  background: var(--nl);
}
.single .post-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Article body */
.single .entry-content {
  background: var(--w) !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: clamp(24px,5vw,48px) clamp(16px,4vw,56px) !important;
  font-family: var(--fb) !important;
  font-size: clamp(15px,2vw,17px) !important;
  line-height: 1.85 !important;
  color: var(--td) !important;
}
.entry-content h2 {
  font-family: var(--fh) !important;
  font-size: clamp(20px,3vw,28px) !important;
  font-weight: 700 !important;
  color: var(--n) !important;
  margin: clamp(28px,4vw,48px) 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--crd) !important;
  position: relative !important;
  text-transform: none !important;
}
.entry-content h2::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 44px !important;
  height: 2px !important;
  background: var(--g) !important;
}
.entry-content h3 {
  font-family: var(--fh) !important;
  font-size: clamp(18px,2.5vw,22px) !important;
  font-weight: 700 !important;
  color: var(--n) !important;
  margin: clamp(20px,3vw,36px) 0 10px !important;
  text-transform: none !important;
}
.entry-content h4 {
  font-family: var(--fh) !important;
  font-size: clamp(16px,2vw,18px) !important;
  font-weight: 700 !important;
  color: var(--n) !important;
  margin: clamp(16px,2.5vw,28px) 0 8px !important;
  text-transform: none !important;
}
.entry-content strong,.entry-content b {
  font-weight: 600 !important;
  color: var(--n) !important;
}
.entry-content blockquote {
  background: var(--n) !important;
  border-left: 4px solid var(--g) !important;
  padding: clamp(16px,3vw,24px) clamp(16px,3vw,28px) !important;
  margin: clamp(20px,3vw,32px) 0 !important;
}
.entry-content blockquote p {
  font-family: var(--fh) !important;
  font-size: clamp(16px,2.5vw,20px) !important;
  font-weight: 500 !important;
  color: var(--w) !important;
  line-height: 1.4 !important;
  font-style: italic !important;
  margin: 0 !important;
}
.entry-content blockquote cite {
  font-family: var(--fh) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: var(--g) !important;
  margin-top: 8px !important;
  display: block !important;
}
.entry-content ul,.entry-content ol {
  padding-left: clamp(18px,4vw,28px) !important;
  margin-bottom: 1.3em !important;
}
.entry-content ul li,.entry-content ol li {
  margin-bottom: 6px !important;
  line-height: 1.7 !important;
}
.entry-content ul li::marker { color: var(--g) !important; }
.entry-content ol li::marker {
  font-family: var(--fh) !important;
  font-weight: 700 !important;
  color: var(--g) !important;
}
/* CLS fix: images with aspect ratio */
.entry-content img {
  border-radius: 2px !important;
  margin: clamp(16px,3vw,28px) auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16/9;
}
.entry-content figcaption,.entry-content .wp-caption-text {
  font-family: var(--fh) !important;
  font-size: 12px !important;
  letter-spacing: .06em !important;
  text-align: center !important;
  color: var(--mu) !important;
  padding: 6px 0 0 !important;
  border-top: 1px solid var(--bd) !important;
}
.entry-content a {
  color: var(--n) !important;
  border-bottom: 1px solid rgba(201,168,76,.35) !important;
  transition: border-color .2s,color .2s !important;
}
.entry-content a:hover { color: var(--g) !important; border-bottom-color: var(--g) !important; }
.entry-content hr {
  border: none !important;
  border-top: 2px solid var(--crd) !important;
  margin: clamp(24px,4vw,40px) 0 !important;
}

/* Author box */
.ast-author-bio,.author-bio-wrap {
  background: var(--n) !important;
  border-radius: 2px !important;
  padding: clamp(18px,3vw,28px) clamp(16px,3vw,32px) !important;
  margin: clamp(24px,4vw,48px) auto 0 !important;
  max-width: 820px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  align-items: flex-start !important;
}
.ast-author-bio .author-avatar img {
  border-radius: 50% !important;
  border: 2px solid var(--g) !important;
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  flex-shrink: 0 !important;
}
.ast-author-bio .author-title {
  font-family: var(--fh) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--w) !important;
}
.ast-author-bio .author-bio-link {
  font-family: var(--fh) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--g) !important;
  display: block !important;
  margin-bottom: 8px !important;
}
.ast-author-bio p {
  font-size: 13px !important;
  color: rgba(255,255,255,.48) !important;
  font-style: italic !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* Post navigation */
.post-navigation,.nav-links {
  border-top: 2px solid var(--crd) !important;
  padding: clamp(16px,3vw,28px) 0 !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.nav-previous a,.nav-next a {
  font-family: var(--fh) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  color: var(--n) !important;
  border: 1px solid var(--bdd) !important;
  padding: 9px 16px !important;
  border-radius: 2px !important;
  display: inline-block !important;
  transition: all .2s !important;
  border-bottom: 1px solid var(--bdd) !important;
}
.nav-previous a:hover,.nav-next a:hover {
  background: var(--n) !important;
  color: var(--w) !important;
}

/* Comments */
#comments {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: clamp(20px,4vw,40px) clamp(16px,4vw,56px) !important;
  background: var(--w) !important;
}
.comments-title {
  font-family: var(--fh) !important;
  font-size: clamp(18px,3vw,22px) !important;
  font-weight: 700 !important;
  color: var(--n) !important;
  margin-bottom: 20px !important;
}
.comment-author .fn {
  font-family: var(--fh) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--n) !important;
}
.comment-metadata {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: var(--mu) !important;
}
.comment-form-comment textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
  border: 1px solid var(--bd) !important;
  border-radius: 2px !important;
  font-family: var(--fb) !important;
  font-size: 15px !important;
  padding: 10px 12px !important;
  background: var(--cr) !important;
  width: 100% !important;
  transition: border-color .2s !important;
}
.comment-form-comment textarea:focus,
.comment-form input:focus {
  border-color: var(--g) !important;
  outline: none !important;
}
.form-submit input[type="submit"] {
  font-family: var(--fh) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: var(--n) !important;
  color: var(--w) !important;
  border: none !important;
  padding: 12px 24px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: background .2s !important;
}
.form-submit input[type="submit"]:hover {
  background: var(--g) !important;
  color: var(--n) !important;
}

/* ── SIDEBAR WIDGETS ── */
#secondary,.widget-area { padding-left: clamp(12px,2vw,24px) !important; }
.widget {
  background: var(--w) !important;
  border: 1px solid var(--bd) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  margin-bottom: 24px !important;
}
.widget-title,.widgettitle {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--g) !important;
  background: var(--n) !important;
  padding: 10px 14px !important;
  margin: 0 !important;
}
.widget ul { padding: 10px 14px !important; list-style: none !important; }
.widget ul li {
  padding: 7px 0 !important;
  border-bottom: 1px solid var(--bd) !important;
  font-family: var(--fh) !important;
  font-size: 13px !important;
  color: var(--tm) !important;
}
.widget ul li:last-child { border-bottom: none !important; }
.widget ul li a { color: var(--tm) !important; border: none !important; }
.widget ul li a:hover { color: var(--g) !important; }
.widget_search .search-field {
  font-family: var(--fb) !important;
  font-size: 14px !important;
  border: 1px solid var(--bd) !important;
  border-radius: 2px !important;
  padding: 10px 12px !important;
  background: var(--cr) !important;
  width: 100% !important;
}
.widget_search .search-submit {
  font-family: var(--fh) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: var(--n) !important;
  color: var(--w) !important;
  border: none !important;
  padding: 10px 18px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  margin-top: 7px !important;
  width: 100% !important;
}
.widget_search .search-submit:hover {
  background: var(--g) !important;
  color: var(--n) !important;
}

/* ── BREADCRUMBS ── */
.ast-breadcrumbs,.breadcrumb {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.32) !important;
  position: relative !important;
  z-index: 1 !important;
}
.ast-breadcrumbs a,.breadcrumb a {
  color: rgba(255,255,255,.45) !important;
  border: none !important;
}
.ast-breadcrumbs a:hover { color: var(--g) !important; }
.ast-breadcrumbs .ast-breadcrumb-sep { color: rgba(255,255,255,.2) !important; margin: 0 5px !important; }

/* ── PAGINATION ── */
.pagination,.ast-pagination,.page-numbers {
  margin: clamp(24px,4vw,40px) 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 5px !important;
  flex-wrap: wrap !important;
}
.page-numbers a,.page-numbers span {
  font-family: var(--fh) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: .05em !important;
  color: var(--tm) !important;
  border: 1px solid var(--bd) !important;
  padding: 8px 13px !important;
  border-radius: 2px !important;
  display: inline-block !important;
  transition: all .2s !important;
  /* CLS fix: explicit touch target size */
  min-height: 36px !important;
  min-width: 36px !important;
  text-align: center !important;
}
.page-numbers a:hover {
  background: var(--n) !important;
  color: var(--w) !important;
  border-color: var(--n) !important;
}
.page-numbers.current {
  background: var(--g) !important;
  color: var(--n) !important;
  border-color: var(--g) !important;
}

/* ── BUTTONS ── */
.ast-button,.button,
button[type="submit"],input[type="submit"],
.wp-block-button__link {
  font-family: var(--fh) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  background: var(--n) !important;
  color: var(--w) !important;
  border: none !important;
  padding: 12px 22px !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  transition: background .2s,color .2s !important;
  /* Mobile: minimum touch target */
  min-height: 44px !important;
}
.ast-button:hover,.button:hover,.wp-block-button__link:hover {
  background: var(--g) !important;
  color: var(--n) !important;
}

/* ── TOC PLUGIN ── */
.ez-toc-container {
  background: var(--crd) !important;
  border: 1px solid var(--bdd) !important;
  border-left: 3px solid var(--g) !important;
  border-radius: 2px !important;
  padding: 18px 22px !important;
  margin: 24px 0 !important;
}
.ez-toc-title { font-family: var(--fh) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--n) !important; }
.ez-toc-list li a { font-family: var(--fh) !important; font-size: 13px !important; color: var(--tm) !important; border: none !important; }
.ez-toc-list li a:hover { color: var(--g) !important; }

/* ── ASTRA OVERRIDES ── */
.ast-container,.site-content .ast-container { max-width: 1200px !important; }
.ast-primary-header-bar { background: var(--n) !important; }
.ast-article-post { border: none !important; }
.ast-post-meta .sep { color: rgba(255,255,255,.2) !important; margin: 0 6px !important; }

/* ── 404 PAGE ── */
.error404 .page-header {
  background: var(--n) !important;
  padding: clamp(48px,8vw,80px) 0 clamp(36px,6vw,60px) !important;
  text-align: center !important;
}
.error404 .page-title {
  font-family: var(--fh) !important;
  font-size: clamp(60px,15vw,120px) !important;
  font-weight: 700 !important;
  color: var(--g) !important;
  line-height: 1 !important;
  letter-spacing: .05em !important;
}
.error404 .page-content { text-align: center !important; padding: clamp(24px,4vw,48px) !important; }
.error404 .page-content p { font-family: var(--fh) !important; font-size: clamp(16px,2.5vw,20px) !important; color: var(--tm) !important; margin-bottom: 20px !important; }

/* ── FOOTER ── */
.site-footer,#colophon,
.ast-small-footer,.ast-footer-copyright,
.footer-sml-section,[class*="ast-footer"] {
  background: #060d14 !important;
  background-color: #060d14 !important;
}
.footer-widget-area .widget {
  background: transparent !important;
  border: none !important;
}
.footer-widget-area .widget ul { padding: 0 !important; }
.footer-widget-area .widget ul li { border-bottom: 1px solid rgba(255,255,255,.05) !important; color: rgba(255,255,255,.38) !important; }
.footer-widget-area .widget-title,.footer-widget-area .widgettitle {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--g) !important;
  background: transparent !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  margin-bottom: 14px !important;
}
.footer-widget-area .widget ul li a { color: rgba(255,255,255,.38) !important; border: none !important; }
.footer-widget-area .widget ul li a:hover { color: var(--g) !important; }
.ast-footer-copyright p,.site-info {
  font-family: var(--fh) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.2) !important;
  background: #060d14 !important;
}
.ast-footer-copyright a,.site-info a { color: rgba(255,255,255,.28) !important; border: none !important; }
.ast-footer-copyright a:hover,.site-info a:hover { color: var(--g) !important; }

/*
=================================================================
RESPONSIVE BREAKPOINTS — MOBILE FIRST
=================================================================
*/

/* ── TABLET 768px+ ── */
@media (min-width: 768px) {
  body { font-size: 17px !important; }
  .single .entry-content { font-size: 17px !important; }
  #secondary,.widget-area { padding-left: 20px !important; }
}

/* ── DESKTOP 1024px+ ── */
@media (min-width: 1024px) {
  body { font-size: 17px !important; }
}

/* ── MAX MOBILE 767px ── */
@media (max-width: 767px) {
  /* Remove sidebar completely */
  #secondary,.widget-area { display: none !important; }
  #primary { width: 100% !important; flex: 0 0 100% !important; }

  /* Archive grid: 1 column on small mobile */
  .ast-blog-layout-1 .ast-article-post {
    width: 100% !important;
    float: none !important;
    margin-bottom: 16px !important;
  }

  /* Ticker smaller */
  .armorexa-ticker-item { font-size: 11px !important; }

  /* Nav: hide desktop links, show hamburger */
  .main-header-bar .ast-nav-menu { display: none !important; }

  /* Post nav: stack vertically */
  .post-navigation,.nav-links { flex-direction: column !important; }

  /* Author box: stack */
  .ast-author-bio { flex-direction: column !important; }

  /* TOC: smaller */
  .ez-toc-container { padding: 14px 16px !important; }

  /* Comments: tighter */
  #comments { padding: 20px 16px !important; }

  /* Archive header */
  .archive .page-header,.category .page-header { padding: 24px 16px 20px !important; }

  /* Entry content images */
  .entry-content img { aspect-ratio: 16/9; }

  /* Pagination: smaller targets on very small screens */
  .page-numbers a,.page-numbers span {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
}

/* ── 2 COLUMN ARCHIVE on tablet ── */
@media (min-width: 480px) and (max-width: 900px) {
  .ast-blog-layout-1 .ast-article-post {
    width: calc(50% - 8px) !important;
    float: left !important;
    margin: 0 8px 16px 0 !important;
  }
  .ast-blog-layout-1 .ast-article-post:nth-child(2n) {
    margin-right: 0 !important;
  }
}

/* ── 3 COLUMN ARCHIVE on desktop ── */
@media (min-width: 900px) {
  .ast-blog-layout-1 .ast-article-post {
    width: calc(33.333% - 11px) !important;
    float: left !important;
    margin: 0 16px 20px 0 !important;
  }
  .ast-blog-layout-1 .ast-article-post:nth-child(3n) {
    margin-right: 0 !important;
  }
}

/* ── PRINT STYLES ── */
@media print {
  .site-header,.armorexa-ticker,.site-footer,
  #secondary,.post-navigation { display: none !important; }
  body { font-size: 12pt !important; color: #000 !important; background: #fff !important; }
  .entry-content a { color: #000 !important; border: none !important; }
  .entry-content a::after { content: ' (' attr(href) ')'; font-size: 10pt; }
}

/* ── HIGH CONTRAST / ACCESSIBILITY ── */
@media (prefers-contrast: high) {
  :root {
    --g: #FFD700;
    --n: #000000;
    --w: #FFFFFF;
  }
}

/* ── REDUCED MOTION — INP optimization ── */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  .armorexa-ticker-inner { animation: none !important; }
}
