/* ============================================================
   The AMerican — Main Stylesheet
   Common Ground Press USA
   ============================================================ */

:root {
    --am-navy:    #002147;
    --am-red:     #B22234;
    --am-gold:    #c9a84c;
    --am-white:   #ffffff;
    --am-offwhite:#f7f5f0;
    --am-ink:     #111111;
    --am-muted:   #666666;
    --am-border:  #dddddd;
    --am-light:   #f0ece4;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; }
body { background: var(--am-white) !important; color: var(--am-ink); font-family: 'Lora', Georgia, serif; }
img { max-width: 100%; height: auto; }
a { color: var(--am-red); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--am-navy); }

/* ============================================================
   OVERRIDE DIVI DEFAULTS
   ============================================================ */
#page-container { background: var(--am-white) !important; }
.et_pb_section { background-color: transparent; }
.et-l, .et_builder_inner_content { max-width: none !important; }

/* ============================================================
   TOP BAR
   ============================================================ */
.am-topbar {
    background: var(--am-navy);
    padding: 8px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.am-topbar .left {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.6);
}
.am-topbar .right {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--am-gold);
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.am-nav {
    background: var(--am-white);
    border-bottom: 3px solid var(--am-navy);
    padding: 0 40px;
}
.am-nav-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
    max-width: 1200px;
    margin: 0 auto;
}
.am-logo-wrap { text-align: center; }
.am-logo-main {
    font-family: 'Playfair Display', serif;
    font-size: 38px;
    font-weight: 900;
    color: var(--am-navy) !important;
    line-height: 1;
    display: block;
}
.am-logo-main span { color: var(--am-red); }
.am-logo-sub {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--am-muted);
    margin-top: 4px;
    display: block;
}
.am-nav-menu {
    display: flex;
    gap: 28px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.am-nav-menu li a {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-ink) !important;
    text-decoration: none;
    transition: color 0.2s;
}
.am-nav-menu li a:hover,
.am-nav-menu li.current-menu-item > a,
.am-nav-menu li.current-cat > a { color: var(--am-red) !important; }
.am-nav-cta-bar {
    border-top: 1px solid #eee;
    padding: 10px 0;
    display: flex;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto;
}
.am-nav-cta {
    background: var(--am-red);
    color: var(--am-white) !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    transition: background 0.2s;
}
.am-nav-cta:hover { background: #9a1e2d; color: var(--am-white) !important; }

/* ============================================================
   FLAG STRIPE
   ============================================================ */
.am-flag {
    height: 6px;
    background: linear-gradient(to right, var(--am-red) 33.33%, var(--am-white) 33.33%, var(--am-white) 66.66%, var(--am-navy) 66.66%);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.am-btn-red {
    background: var(--am-red);
    color: var(--am-white) !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 14px 28px;
    border: none;
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    transition: background 0.2s;
}
.am-btn-red:hover { background: #9a1e2d; }
.am-btn-navy {
    background: transparent;
    color: var(--am-navy) !important;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 13px 28px;
    border: 2px solid var(--am-navy);
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
    transition: all 0.2s;
}
.am-btn-navy:hover { background: var(--am-navy); color: var(--am-white) !important; }

/* ============================================================
   HOMEPAGE HERO
   ============================================================ */
.am-hero {
    background: var(--am-offwhite);
    padding: 80px 40px 64px;
    border-bottom: 1px solid var(--am-border);
}
.am-hero-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 56px;
    align-items: start;
}
.am-hero-kicker {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--am-red);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.am-hero-kicker::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 2px;
    background: var(--am-red);
}
.am-hero h1 {
    font-family: 'Playfair Display', serif !important;
    font-size: 54px !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    color: var(--am-ink) !important;
    margin-bottom: 18px;
}
.am-hero h1 em { color: var(--am-navy); font-style: italic; }
.am-hero-deck {
    font-size: 18px;
    color: var(--am-muted);
    line-height: 1.7;
    margin-bottom: 28px;
}
.am-hero-deck strong { color: var(--am-ink); }
.am-hero-btns { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 0; }
.am-stat-panel {
    background: var(--am-navy);
    padding: 32px 26px;
}
.am-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    background: rgba(255,255,255,0.12);
    margin-bottom: 20px;
}
.am-stat-box { background: var(--am-navy); padding: 20px 12px; text-align: center; }
.am-stat-num {
    font-family: 'Playfair Display', serif;
    font-size: 38px;
    font-weight: 900;
    color: var(--am-gold);
    line-height: 1;
    display: block;
}
.am-stat-lbl {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.45);
    margin-top: 5px;
    display: block;
}
.am-stat-quote {
    font-family: 'Lora', serif;
    font-size: 14px;
    font-style: italic;
    color: rgba(255,255,255,0.7);
    line-height: 1.6;
    border-top: 1px solid rgba(255,255,255,0.15);
    padding-top: 16px;
}
.am-stat-attr {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--am-gold);
    margin-top: 10px;
    display: block;
}

/* ============================================================
   STATEMENT BARS
   ============================================================ */
.am-statement {
    background: var(--am-navy);
    padding: 36px 40px;
    text-align: center;
}
.am-statement p {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-style: italic;
    color: var(--am-white);
    max-width: 760px;
    margin: 0 auto;
    line-height: 1.6;
}
.am-statement span { color: var(--am-gold); }

/* ============================================================
   SECTION LABELS & HEADERS
   ============================================================ */
.am-section { padding: 64px 40px; }
.am-section-inner { max-width: 1100px; margin: 0 auto; }
.am-section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    border-bottom: 3px solid var(--am-navy);
    padding-bottom: 12px;
    margin-bottom: 32px;
}
.am-section-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--am-navy);
}
.am-section-sub {
    font-family: 'Lora', serif;
    font-size: 13px;
    font-style: italic;
    color: var(--am-muted);
}

/* ============================================================
   ARTICLE CARDS
   ============================================================ */
.am-card {
    background: var(--am-white);
    border: 1px solid var(--am-border);
    transition: border-color 0.2s, transform 0.2s;
    display: flex;
    flex-direction: column;
}
.am-card:hover { border-color: var(--am-navy); transform: translateY(-2px); }
.am-card-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
    background: var(--am-offwhite);
}
.am-card-img-placeholder {
    width: 100%;
    height: 200px;
    background: var(--am-offwhite);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: var(--am-navy);
}
.am-card-body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.am-card-cat {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--am-red);
    margin-bottom: 8px;
    display: block;
}
.am-card-title {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--am-ink);
    line-height: 1.3;
    margin-bottom: 10px;
    flex: 1;
}
.am-card-title a { color: inherit !important; text-decoration: none; }
.am-card-title a:hover { color: var(--am-navy) !important; }
.am-card-excerpt { font-size: 14px; color: var(--am-muted); line-height: 1.6; margin-bottom: 14px; }
.am-card-meta {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--am-muted);
    margin-bottom: 12px;
}
.am-card-read {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--am-red) !important;
    text-decoration: none;
    display: inline-block;
}
.am-card-read:hover { color: var(--am-navy) !important; }

/* Article grid layouts */
.am-articles-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.am-articles-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* Featured article */
.am-featured-article { margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--am-border); }
.am-featured-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--am-red);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.am-featured-label::before { content: ''; display: inline-block; width: 20px; height: 2px; background: var(--am-red); }
.am-featured-img { width: 100%; height: 380px; object-fit: cover; display: block; background: var(--am-offwhite); margin-bottom: 20px; }
.am-featured-title {
    font-family: 'Playfair Display', serif;
    font-size: 34px;
    font-weight: 900;
    color: var(--am-ink);
    line-height: 1.15;
    margin-bottom: 12px;
}
.am-featured-title a { color: inherit !important; text-decoration: none; }
.am-featured-title a:hover { color: var(--am-navy) !important; }
.am-featured-excerpt { font-size: 17px; color: var(--am-muted); line-height: 1.7; margin-bottom: 16px; }

/* ============================================================
   CATEGORY PAGE HERO
   ============================================================ */
.am-cat-hero {
    background: var(--am-offwhite);
    padding: 56px 40px 0;
    border-bottom: 3px solid var(--am-navy);
}
.am-cat-hero-inner { max-width: 1100px; margin: 0 auto; }
.am-cat-hero-top {
    display: flex;
    align-items: flex-start;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--am-border);
}
.am-cat-icon { font-size: 64px; color: var(--am-navy); flex-shrink: 0; line-height: 1; }
.am-cat-breadcrumb {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--am-muted);
    margin-bottom: 10px;
}
.am-cat-breadcrumb a { color: var(--am-red) !important; }
.am-cat-h1 {
    font-family: 'Playfair Display', serif !important;
    font-size: 48px !important;
    font-weight: 900 !important;
    color: var(--am-ink) !important;
    line-height: 1.05 !important;
    margin-bottom: 12px;
}
.am-cat-h1 em { color: var(--am-red); font-style: italic; }
.am-cat-desc { font-size: 16px; color: var(--am-muted); line-height: 1.7; max-width: 600px; }
.am-cat-subnav { display: flex; gap: 0; margin-top: 24px; }
.am-cat-subnav a {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--am-muted);
    text-decoration: none;
    padding: 10px 18px;
    border-bottom: 3px solid transparent;
    transition: all 0.2s;
}
.am-cat-subnav a:hover, .am-cat-subnav a.active { color: var(--am-red); border-bottom-color: var(--am-red); }

/* ============================================================
   CATEGORY LAYOUT
   ============================================================ */
.am-cat-layout {
    padding: 48px 40px;
    background: var(--am-white);
}
.am-cat-layout-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 48px;
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.am-sidebar {}
.am-sidebar-widget { margin-bottom: 32px; }
.am-sidebar-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--am-navy);
    border-bottom: 2px solid var(--am-navy);
    padding-bottom: 8px;
    margin-bottom: 16px;
}
.am-widget-title {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.15em !important;
    text-transform: uppercase !important;
    color: var(--am-navy) !important;
    border-bottom: 2px solid var(--am-navy) !important;
    padding-bottom: 8px !important;
    margin-bottom: 16px !important;
}
.am-sidebar-item { padding: 12px 0; border-bottom: 1px solid var(--am-border); }
.am-sidebar-item a {
    font-family: 'Playfair Display', serif;
    font-size: 15px;
    color: var(--am-ink) !important;
    text-decoration: none;
    line-height: 1.4;
    display: block;
}
.am-sidebar-item a:hover { color: var(--am-red) !important; }
.am-sidebar-item-meta {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--am-muted);
    margin-top: 4px;
}
.am-sidebar-optin {
    background: var(--am-navy);
    padding: 24px;
}
.am-sidebar-optin h3 {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--am-white);
    margin-bottom: 8px;
    line-height: 1.3;
}
.am-sidebar-optin p { font-size: 13px; color: rgba(255,255,255,0.65); margin-bottom: 14px; line-height: 1.6; }
.am-sidebar-optin input[type="email"] {
    width: 100%;
    background: var(--am-white);
    border: none;
    color: var(--am-ink);
    font-size: 14px;
    padding: 12px 14px;
    margin-bottom: 8px;
    font-family: 'Lora', serif;
    outline: none;
    display: block;
}
.am-sidebar-optin button {
    width: 100%;
    background: var(--am-red);
    color: var(--am-white);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 12px;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
}
.am-sidebar-optin button:hover { background: #9a1e2d; }
.am-cat-links-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.am-cat-link {
    background: var(--am-offwhite);
    border: 1px solid var(--am-border);
    padding: 14px 10px;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.2s;
    display: block;
}
.am-cat-link:hover { background: var(--am-navy); border-color: var(--am-navy); }
.am-cat-link-icon { font-size: 20px; color: var(--am-navy); display: block; margin-bottom: 5px; }
.am-cat-link:hover .am-cat-link-icon { color: var(--am-gold); }
.am-cat-link-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--am-navy);
    display: block;
}
.am-cat-link:hover .am-cat-link-name { color: var(--am-white); }

/* ============================================================
   SINGLE POST
   ============================================================ */
.am-single-hero {
    background: var(--am-offwhite);
    padding: 56px 40px;
    border-bottom: 1px solid var(--am-border);
}
.am-single-hero-inner { max-width: 1100px; margin: 0 auto; }
.am-single-cat {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--am-red);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.am-single-cat::before { content: ''; display: inline-block; width: 20px; height: 2px; background: var(--am-red); }
.am-single-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 48px !important;
    font-weight: 900 !important;
    color: var(--am-ink) !important;
    line-height: 1.1 !important;
    margin-bottom: 16px;
    max-width: 820px;
}
.am-single-meta {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--am-muted);
    display: flex;
    align-items: center;
    gap: 16px;
}
.am-single-meta span { display: flex; align-items: center; gap: 6px; }
.am-single-layout { padding: 56px 40px; }
.am-single-layout-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 56px;
}
.am-single-featured-img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    display: block;
    margin-bottom: 40px;
}
.am-prose { font-size: 18px; line-height: 1.85; color: #333; }
.am-prose h2 { font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 700; color: var(--am-navy); margin: 40px 0 16px; }
.am-prose h3 { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--am-red); margin: 32px 0 12px; }
.am-prose p { margin-bottom: 22px; }
.am-prose strong { color: var(--am-ink); font-weight: 700; }
.am-prose em { font-style: italic; color: var(--am-navy); }
.am-prose ul, .am-prose ol { margin: 0 0 22px 28px; }
.am-prose li { margin-bottom: 10px; }
.am-prose blockquote {
    border-left: 4px solid var(--am-red);
    padding: 20px 28px;
    margin: 32px 0;
    background: var(--am-offwhite);
    font-style: italic;
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    color: var(--am-navy);
    line-height: 1.6;
}
.am-prose a { color: var(--am-red); }
.am-prose a:hover { color: var(--am-navy); }

/* BOL CTA in posts */
.bol-cta {
    background: var(--am-navy);
    padding: 28px 32px;
    margin: 40px 0;
    border-left: 4px solid var(--am-gold);
}
.bol-cta h3 {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--am-white);
    margin-bottom: 10px;
}
.bol-cta p { font-size: 16px; color: rgba(255,255,255,0.75); line-height: 1.65; margin-bottom: 0; }
.bol-cta a { color: var(--am-gold) !important; font-weight: 700; }

/* Post tags */
.am-post-tags { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--am-border); }
.am-post-tags-label { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--am-muted); margin-bottom: 10px; display: block; }
.am-tag { display: inline-block; background: var(--am-offwhite); border: 1px solid var(--am-border); padding: 5px 12px; margin: 0 4px 6px 0; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--am-muted) !important; text-decoration: none; transition: all 0.2s; }
.am-tag:hover { background: var(--am-navy); border-color: var(--am-navy); color: var(--am-white) !important; }

/* Author bio */
.am-author-bio { background: var(--am-offwhite); border: 1px solid var(--am-border); padding: 28px; margin-top: 40px; display: flex; gap: 20px; }
.am-author-avatar { width: 72px; height: 72px; background: var(--am-navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'Playfair Display', serif; font-size: 28px; color: var(--am-gold); flex-shrink: 0; }
.am-author-name { font-family: 'Barlow Condensed', sans-serif; font-size: 16px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: var(--am-navy); margin-bottom: 6px; }
.am-author-desc { font-size: 14px; color: var(--am-muted); line-height: 1.65; }

/* ============================================================
   OPT-IN SECTION
   ============================================================ */
.am-optin {
    background: var(--am-navy);
    padding: 64px 40px;
    text-align: center;
}
.am-optin-eyebrow {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--am-gold);
    margin-bottom: 12px;
    display: block;
}
.am-optin h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 38px !important;
    font-weight: 900 !important;
    color: var(--am-white) !important;
    margin-bottom: 12px;
    line-height: 1.1 !important;
}
.am-optin h2 em { color: var(--am-gold); font-style: italic; }
.am-optin-sub {
    font-size: 16px;
    color: rgba(255,255,255,0.65);
    max-width: 440px;
    margin: 0 auto 28px auto;
    line-height: 1.7;
}
.am-optin-form { display: flex; max-width: 420px; margin: 0 auto 12px auto; }
.am-optin-form input[type="email"] {
    flex: 1;
    background: var(--am-white);
    border: none;
    color: var(--am-ink);
    font-size: 15px;
    padding: 15px 16px;
    font-family: 'Lora', serif;
    outline: none;
}
.am-optin-form button {
    background: var(--am-red);
    color: var(--am-white);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 15px 22px;
    border: none;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
}
.am-optin-form button:hover { background: #9a1e2d; }
.am-optin-fine {
    font-size: 11px;
    color: rgba(255,255,255,0.35);
    font-family: 'Barlow Condensed', sans-serif;
    letter-spacing: 0.08em;
}

/* ============================================================
   FOOTER
   ============================================================ */
.am-footer {
    background: var(--am-offwhite);
    border-top: 3px solid var(--am-navy);
    padding: 48px 40px 32px;
}
.am-footer-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: 48px;
    margin-bottom: 32px;
}
.am-footer-brand-name {
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    font-weight: 900;
    color: var(--am-navy);
    margin-bottom: 6px;
    display: block;
}
.am-footer-brand-name span { color: var(--am-red); }
.am-footer-tagline { font-size: 13px; color: var(--am-muted); font-style: italic; line-height: 1.5; }
.am-footer-col-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--am-navy);
    margin-bottom: 14px;
    display: block;
}
.am-footer-col a {
    display: block;
    font-size: 14px;
    color: var(--am-muted) !important;
    text-decoration: none;
    margin-bottom: 8px;
    font-family: 'Lora', serif;
    transition: color 0.2s;
}
.am-footer-col a:hover { color: var(--am-red) !important; }
.am-footer-bottom {
    max-width: 1100px;
    margin: 0 auto;
    border-top: 1px solid var(--am-border);
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.am-footer-copy { font-size: 12px; color: var(--am-muted); font-family: 'Barlow Condensed', sans-serif; letter-spacing: 0.06em; }
.am-footer-legal a { font-size: 12px; color: var(--am-muted) !important; text-decoration: none; margin-left: 16px; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 0.06em; }
.am-footer-legal a:hover { color: var(--am-red) !important; }

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.am-about-hero {
    background: var(--am-offwhite);
    padding: 64px 40px;
    border-bottom: 3px solid var(--am-navy);
}
.am-about-hero-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 56px;
    align-items: center;
}
.am-values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 32px; }
.am-value { border-top: 3px solid var(--am-navy); padding-top: 16px; }
.am-value-title { font-family: 'Barlow Condensed', sans-serif; font-size: 15px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.06em; color: var(--am-navy); margin-bottom: 8px; }
.am-value p { font-size: 14px; color: var(--am-muted); line-height: 1.65; }

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.am-legal-content { padding: 64px 40px; }
.am-legal-inner { max-width: 800px; margin: 0 auto; }
.am-legal-meta {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--am-muted);
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--am-border);
}
.am-legal-notice {
    background: var(--am-offwhite);
    border-left: 4px solid var(--am-red);
    padding: 20px 24px;
    margin-bottom: 32px;
}
.am-legal-notice p { font-size: 15px; color: var(--am-ink); line-height: 1.6; font-weight: 600; }

/* ============================================================
   PAGE HEADER (generic)
   ============================================================ */
.am-page-header {
    background: var(--am-offwhite);
    padding: 48px 40px;
    border-bottom: 3px solid var(--am-navy);
}
.am-page-header-inner { max-width: 1100px; margin: 0 auto; }
.am-breadcrumb { font-family: 'Barlow Condensed', sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--am-muted); margin-bottom: 10px; }
.am-breadcrumb a { color: var(--am-red) !important; }
.am-page-h1 { font-family: 'Playfair Display', serif !important; font-size: 44px !important; font-weight: 900 !important; color: var(--am-ink) !important; line-height: 1.1 !important; margin-bottom: 10px; }
.am-page-h1 em { color: var(--am-navy); font-style: italic; }
.am-page-desc { font-size: 17px; color: var(--am-muted); line-height: 1.65; max-width: 640px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    .am-articles-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .am-topbar { flex-direction: column; gap: 4px; padding: 10px 20px; text-align: center; }
    .am-nav { padding: 0 20px; }
    .am-nav-inner { flex-direction: column; gap: 14px; padding: 14px 0; }
    .am-nav-menu { flex-wrap: wrap; justify-content: center; gap: 14px; }
    .am-logo-main { font-size: 28px !important; }
    .am-hero { padding: 48px 20px; }
    .am-hero-inner, .am-about-hero-inner { grid-template-columns: 1fr; }
    .am-hero h1 { font-size: 36px !important; }
    .am-cat-layout-inner, .am-single-layout-inner { grid-template-columns: 1fr; }
    .am-cat-hero-top { flex-direction: column; gap: 16px; }
    .am-cat-icon { font-size: 40px; }
    .am-cat-h1 { font-size: 32px !important; }
    .am-articles-grid, .am-articles-grid-2 { grid-template-columns: 1fr; }
    .am-single-title { font-size: 32px !important; }
    .am-footer-inner { grid-template-columns: 1fr; gap: 28px; }
    .am-footer-bottom { flex-direction: column; gap: 10px; text-align: center; }
    .am-values-grid { grid-template-columns: 1fr; }
    .am-legal-content, .am-about-hero, .am-page-header { padding: 40px 20px; }
    .am-section { padding: 40px 20px; }
    .am-cat-hero { padding: 36px 20px 0; }
    .am-cat-layout { padding: 32px 20px; }
    .am-single-hero { padding: 36px 20px; }
    .am-single-layout { padding: 36px 20px; }
    .am-optin { padding: 48px 20px; }
    .am-footer { padding: 36px 20px 24px; }
    .am-optin-form { flex-direction: column; }
    .am-optin-form input[type="email"] { border-bottom: 1px solid #ddd; }
}

/* ============================================================
   SINGLE POST FIXES
   ============================================================ */

/* body.single et_pb overrides removed — Divi owns its layout engine */

/* Single layout inner — constrain content */
.am-single-layout-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 56px;
    align-items: start;
}

/* Prose content max width for readability */
.am-prose {
    max-width: 100%;
    font-size: 18px;
    line-height: 1.85;
    color: #333;
}

/* Images inside prose */
.am-prose img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 28px 0;
}

/* Tables inside prose */
.am-prose table {
    width: 100%;
    border-collapse: collapse;
    margin: 28px 0;
    font-size: 15px;
    font-family: 'Lora', serif;
}
.am-prose table th {
    background: var(--am-navy);
    color: var(--am-white);
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 12px 16px;
    text-align: left;
}
.am-prose table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--am-border);
    color: var(--am-ink);
    vertical-align: top;
}
.am-prose table tr:nth-child(even) td {
    background: var(--am-offwhite);
}
.am-prose table tr:hover td {
    background: #eee;
}

/* BOL CTA styling inside content */
.am-prose .bol-cta,
.bol-cta {
    background: var(--am-navy) !important;
    padding: 28px 32px !important;
    margin: 40px 0 !important;
    border-left: 4px solid var(--am-gold) !important;
    border-radius: 0 !important;
}
.bol-cta h3 {
    font-family: 'Playfair Display', serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--am-white) !important;
    margin-bottom: 10px !important;
}
.bol-cta p {
    font-size: 16px !important;
    color: rgba(255,255,255,0.75) !important;
    line-height: 1.65 !important;
    margin-bottom: 0 !important;
}
.bol-cta a {
    color: var(--am-gold) !important;
    font-weight: 700 !important;
}

/* Single hero inner width */
.am-single-hero-inner {
    max-width: 1100px;
    margin: 0 auto;
}

/* Featured image on single */
.am-single-featured-img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
    display: block;
    margin-bottom: 40px;
}

/* Sidebar sticky on scroll */
.am-single-layout aside.am-sidebar {
    position: sticky;
    top: 24px;
}

/* Heading styles inside prose — override Divi */
.am-prose h2 {
    font-family: 'Playfair Display', serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--am-navy) !important;
    margin: 40px 0 16px !important;
    line-height: 1.25 !important;
}
.am-prose h3 {
    font-family: 'Barlow Condensed', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: var(--am-red) !important;
    margin: 32px 0 12px !important;
}
.am-prose p {
    margin-bottom: 22px !important;
    font-size: 18px !important;
    line-height: 1.85 !important;
    color: #333 !important;
}
.am-prose ul, .am-prose ol {
    margin: 0 0 22px 28px !important;
}
.am-prose li {
    margin-bottom: 10px !important;
    font-size: 17px !important;
    line-height: 1.7 !important;
    color: #333 !important;
}
.am-prose blockquote {
    border-left: 4px solid var(--am-red) !important;
    padding: 20px 28px !important;
    margin: 32px 0 !important;
    background: var(--am-offwhite) !important;
    font-style: italic !important;
    font-family: 'Playfair Display', serif !important;
    font-size: 22px !important;
    color: var(--am-navy) !important;
    line-height: 1.6 !important;
}

/* Author bio */
.am-author-bio {
    background: var(--am-offwhite);
    border: 1px solid var(--am-border);
    padding: 28px;
    margin-top: 40px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

/* Related articles grid in single */
.am-single-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 20px;
}

/* Responsive single */
@media (max-width: 900px) {
    .am-single-layout-inner {
        grid-template-columns: 1fr;
    }
    .am-single-layout aside.am-sidebar {
        position: static;
    }
    .am-single-related-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================================
   DIVI CONTAINER OVERRIDES — FULL WIDTH FIX
   ============================================================ */

/* Nuclear et_pb width overrides removed — Divi manages its own widths */

/* single-post/archive/page et_pb overrides removed */

/* am-* layout sections no longer need forced widths — they inherit naturally */

/* et_pb_row width override removed */

/* et_pb_section > et_pb_row override removed */

/* ============================================================
   SINGLE POST LAYOUT — FINAL FIX
   ============================================================ */
.am-single-layout {
    padding: 48px 40px;
    background: var(--am-white);
    width: 100%;
}
.am-single-article {
    min-width: 0;
}
.am-related-wrap {
    margin-top: 48px;
}
.am-related-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--am-navy);
    border-bottom: 2px solid var(--am-navy);
    padding-bottom: 8px;
    margin-bottom: 24px;
}
.am-single-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media (max-width: 900px) {
    .am-single-layout { padding: 32px 20px; }
    .am-single-related-grid { grid-template-columns: 1fr; }
    .am-single-layout-inner { grid-template-columns: 1fr; }
}
