/*
Theme Name: Aviafix Blog
Theme URI: https://www.aviafix.com/
Author: Aviafix
Description: Aviafix-branded theme for the PMA Insights blog, matching the aviafix.com/stage2 redesign (Montserrat/Source Sans 3, evergreen palette, shared header and footer).
Version: 1.0.0
*/

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --midnight:#05362B; --deep:#063F32; --evergreen:#125C49; --sea:#2D6C5B;
  --sage:#80A79C; --charcoal:#211E24; --offwhite:#F3F2F0; --steel:#566B6A; --white:#fff;
  --font-head:'Montserrat',sans-serif; --font-body:'Source Sans 3',sans-serif;
  --radius:8px; --radius-lg:12px;
}
html { scroll-behavior:smooth; }
body { font-family:var(--font-body); font-size:16px; line-height:1.6; color:var(--charcoal); background:var(--offwhite); }
h1,h2,h3,h4 { font-family:var(--font-head); line-height:1.15; }
h1 { font-size:clamp(2rem,4vw,3.25rem); font-weight:700; }
h2 { font-size:clamp(1.6rem,3vw,2.25rem); font-weight:700; }
h3 { font-size:1.2rem; font-weight:700; }
p { line-height:1.7; }
.label { font-family:var(--font-body); font-size:0.7rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:1rem; display:block; }
.container { max-width:1120px; margin:0 auto; padding:0 2rem; }
.btn { display:inline-block; font-family:var(--font-body); font-size:0.9rem; font-weight:600; text-decoration:none; padding:0.75rem 1.5rem; border-radius:var(--radius); transition:background .15s,color .15s,border-color .15s; cursor:pointer; border:2px solid transparent; }
.btn-outline { background:transparent; color:var(--evergreen); border-color:var(--evergreen); }
.btn-outline:hover { background:var(--evergreen); color:var(--offwhite); }

/* NAV (shared with /stage2) */
nav { position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(33,30,36,0.95); backdrop-filter:blur(8px); border-bottom:1px solid rgba(243,242,240,0.08); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:64px; padding:0 2rem; max-width:1120px; margin:0 auto; }
.nav-inner > a img { display:block; }
.nav-links { display:flex; align-items:center; gap:0.25rem; list-style:none; }
.nav-links a { font-size:0.875rem; font-weight:500; color:rgba(243,242,240,0.75); text-decoration:none; padding:0.4rem 0.7rem; border-radius:var(--radius); transition:color .15s,background .15s; white-space:nowrap; }
.nav-links a:hover { color:var(--offwhite); background:rgba(243,242,240,0.07); }
.nav-links a.active { color:var(--offwhite); }
.nav-cta { font-size:0.875rem; font-weight:600; color:var(--offwhite); background:var(--evergreen); text-decoration:none; padding:0.5rem 1.1rem; border-radius:var(--radius); transition:background .15s; white-space:nowrap; }
.nav-cta:hover { background:var(--deep); }
.nav-mobile-toggle { display:none; background:none; border:none; cursor:pointer; padding:0.5rem; color:var(--offwhite); }
.nav-mobile-toggle span { display:block; width:22px; height:2px; background:currentColor; margin:4px 0; }

.site-main { min-height:60vh; }

/* POST / ARCHIVE HERO band (clears the 64px fixed nav) */
.page-hero { background:var(--charcoal); color:var(--offwhite); padding:7rem 0 2.75rem; }
.page-hero .label { color:var(--sage); }
.page-hero h1 { color:var(--offwhite); max-width:860px; }
.page-hero .lead { color:rgba(243,242,240,0.82); font-size:1.05rem; max-width:660px; margin-top:0.85rem; }
.post-meta { color:rgba(243,242,240,0.6); font-size:0.85rem; margin-top:0.9rem; letter-spacing:0.02em; }

/* ARTICLE body */
.article-body { background:var(--offwhite); }
.article-inner { max-width:760px; margin:0 auto; padding:3.25rem 2rem 4rem; }
.article-inner > p { margin-bottom:1.15rem; color:var(--charcoal); font-size:1.05rem; }
.article-inner h2, .article-inner .wp-block-heading { font-family:var(--font-head); color:var(--charcoal); font-size:clamp(1.4rem,2.5vw,1.9rem); margin:2.4rem 0 1rem; scroll-margin-top:84px; }
.article-inner h3 { font-family:var(--font-head); color:var(--charcoal); font-size:1.2rem; margin:1.9rem 0 0.75rem; }
.article-inner ul, .article-inner ol { margin:0 0 1.2rem 1.3rem; }
.article-inner li { margin-bottom:0.55rem; color:var(--charcoal); }
.article-inner a { color:var(--evergreen); text-decoration:underline; text-underline-offset:2px; }
.article-inner a:hover { color:var(--deep); }
.article-inner strong { color:var(--charcoal); font-weight:700; }
.article-inner em { font-style:italic; }
.article-back { margin-top:2.75rem; }

/* ARCHIVE / listing */
.post-list { background:var(--offwhite); padding:3.25rem 0 4rem; }
.post-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.post-card { background:var(--white); border:1px solid rgba(86,107,106,0.2); border-radius:var(--radius-lg); padding:1.75rem 2rem; display:flex; flex-direction:column; }
.post-card .post-date { font-size:0.7rem; font-weight:700; letter-spacing:0.09em; text-transform:uppercase; color:var(--evergreen); margin-bottom:0.55rem; }
.post-card h2 { font-size:1.2rem; margin-bottom:0.6rem; }
.post-card h2 a { color:var(--charcoal); text-decoration:none; }
.post-card h2 a:hover { color:var(--evergreen); }
.post-card p { color:var(--steel); font-size:0.95rem; line-height:1.6; margin-bottom:1.1rem; }
.post-card .read-more { margin-top:auto; font-weight:600; font-size:0.85rem; color:var(--evergreen); text-decoration:none; }
.post-card .read-more:hover { color:var(--deep); }
.post-card .part-badge { align-self:flex-start; font-family:var(--font-head); font-size:0.66rem; font-weight:700; letter-spacing:0.09em; text-transform:uppercase; color:var(--white); background:var(--evergreen); padding:0.28rem 0.65rem; border-radius:100px; margin-bottom:0.8rem; }

/* Series (prev/next) navigation on single articles */
.series-nav { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:2.5rem 0 1.5rem; }
.series-link { display:flex; flex-direction:column; gap:0.35rem; padding:1.1rem 1.3rem; border:1px solid rgba(86,107,106,0.25); border-radius:var(--radius-lg); text-decoration:none; background:var(--white); transition:border-color 0.15s ease, box-shadow 0.15s ease; }
.series-link:hover { border-color:var(--evergreen); box-shadow:0 4px 14px rgba(18,92,73,0.08); }
.series-next { text-align:right; }
.series-dir { font-family:var(--font-head); font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--evergreen); }
.series-link strong { font-family:var(--font-head); font-size:0.98rem; font-weight:600; color:var(--charcoal); line-height:1.3; }
@media (max-width:640px){ .series-nav { grid-template-columns:1fr; } .series-next { text-align:left; } }
.pagination { margin-top:2.5rem; display:flex; gap:0.5rem; flex-wrap:wrap; }
.pagination .page-numbers { padding:0.4rem 0.8rem; border:1px solid rgba(86,107,106,0.3); border-radius:var(--radius); color:var(--evergreen); text-decoration:none; font-size:0.85rem; }
.pagination .page-numbers.current { background:var(--evergreen); color:var(--offwhite); border-color:var(--evergreen); }

/* FOOTER (shared with /stage2) */
footer { background:var(--midnight); color:rgba(243,242,240,0.6); padding:3rem 0 2rem; font-size:0.875rem; }
.footer-inner { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; margin-bottom:2.5rem; }
.footer-brand img { display:block; margin-bottom:0.875rem; }
.footer-brand p { font-size:0.875rem; color:rgba(243,242,240,0.5); line-height:1.6; max-width:280px; }
.footer-col h4 { font-family:var(--font-head); font-size:0.7rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--sage); margin-bottom:1rem; }
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:0.5rem; }
.footer-col ul li a { color:rgba(243,242,240,0.6); text-decoration:none; font-size:0.875rem; transition:color .15s; }
.footer-col ul li a:hover { color:var(--offwhite); }
.footer-contact p, .footer-contact a { color:rgba(243,242,240,0.6); text-decoration:none; font-size:0.875rem; line-height:1.8; display:block; }
.footer-contact a:hover { color:var(--offwhite); }
.footer-bottom { border-top:1px solid rgba(243,242,240,0.08); padding-top:1.5rem; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.footer-bottom p { font-size:0.8rem; color:rgba(243,242,240,0.35); }
.footer-legal { display:flex; gap:1.5rem; }
.footer-legal a { font-size:0.8rem; color:rgba(243,242,240,0.35); text-decoration:none; }
.footer-legal a:hover { color:rgba(243,242,240,0.6); }

@media (max-width:768px){
  .nav-links, .nav-cta { display:none; }
  .nav-mobile-toggle { display:block; }
  .nav-links.open { display:flex; position:absolute; top:64px; left:0; right:0; flex-direction:column; align-items:flex-start; gap:0.25rem; background:rgba(33,30,36,0.98); padding:1rem 2rem 1.25rem; border-bottom:1px solid rgba(243,242,240,0.08); }
  .post-grid { grid-template-columns:1fr; }
  .footer-inner { grid-template-columns:1fr; gap:2rem; }
}

/* 2026-09-30 audit fixes */
nav.series-nav { position:static; z-index:auto; background:none; backdrop-filter:none; border-bottom:0; }
.nav-mobile-only { display:none; }
@media (max-width:768px){ .nav-links.open .nav-mobile-only { display:block; } }