/* ============================================================
   FHCA Blog Hub — Stylesheet
   Colors: #123b62 (navy), #fbc42d (gold), #f3f4f4 (light gray)
   ============================================================ */

/* ── Body reset (blog pages only — this CSS only loads on our pages) ─── */
body {
    margin: 0 !important;
    padding-top: 0 !important;
}

/* ── Reset / Base ─────────────────────────────────────────── */
.fhca-page-wrap *,
.fhca-page-wrap *::before,
.fhca-page-wrap *::after {
    box-sizing: border-box;
}

.fhca-page-wrap {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #222;
    background: #fff;
}

/* ── Container ────────────────────────────────────────────── */
.fhca-container {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px;
}

/* ── Hero ─────────────────────────────────────────────────── */
.fhca-hero {
    background: #123b62;
    color: #fff;
    padding: 64px 0 56px;
    text-align: center;
}

.fhca-hero-logo {
    display: block;
    margin: 0 auto 32px;
    height: 48px;
    width: auto;
}

.fhca-hero-eyebrow {
    font-size: 13px;
    font-weight: 600;
    color: #fbc42d;
    margin: 0 0 14px;
}

.fhca-hero-title {
    font-size: clamp(28px, 5vw, 48px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 16px;
    color: #fff;
}

.fhca-hero-sub {
    font-size: 17px;
    color: rgba(255,255,255,.82);
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.6;
}


/* Author hero - image on top, name below, bio below (desktop + mobile) */
.fhca-author-identity {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
}

.fhca-author-identity .fhca-hero-title {
    margin: 0;
}

.fhca-author-hero-avatar {
    display: block !important;
    border-radius: 50% !important;
    width: 112px !important;
    height: 112px !important;
    object-fit: cover !important;
    border: 3px solid rgba(255,255,255,.3);
    flex-shrink: 0;
    aspect-ratio: 1 / 1;
}

.fhca-author-hero-bio {
    font-size: 16px;
    color: rgba(255,255,255,.85);
    max-width: 640px;
    margin: 0;
    line-height: 1.6;
}

.fhca-hero-archive {
    text-align: center;
}

.fhca-hero-archive .fhca-breadcrumb {
    margin-top: 16px;
    margin-bottom: 0;
}

.fhca-post-count {
    margin: 10px 0 0;
    font-size: 13px;
    color: rgba(255,255,255,.6);
}

/* ── Breadcrumb ───────────────────────────────────────────── */
.fhca-breadcrumb {
    font-size: 13px;
    color: rgba(255,255,255,.7);
    margin-bottom: 16px;
}

.fhca-breadcrumb a {
    color: #fbc42d;
    text-decoration: none;
}

.fhca-breadcrumb a:hover {
    text-decoration: underline;
}

/* ── Two-column layout ────────────────────────────────────── */
.fhca-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 48px;
    padding-top: 48px;
    padding-bottom: 64px;
    align-items: start;
}

@media (max-width: 900px) {
    .fhca-layout {
        grid-template-columns: 1fr;
        gap: 32px !important; /* consistent vertical rhythm between main + sidebar on mobile */
    }
    /* Kill any bottom space below main so article-to-CTA gap = only the .fhca-layout 32px */
    .fhca-layout .fhca-main,
    .fhca-layout .fhca-grid {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .fhca-layout .fhca-pagination {
        margin-top: 0 !important; /* layout gap provides spacing on mobile; no extra pagination margin */
        margin-bottom: 0 !important;
    }
    /* Sidebar stacks after posts on mobile; JS moves .fhca-widget-cats + search before main */
    .fhca-sidebar {
        order: 1;
        gap: 32px !important; /* consistent widget-to-widget spacing on mobile */
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    .fhca-widget-cats {
        order: -1; /* when moved out of sidebar by JS, renders before main */
        margin-top: 32px; /* breathing room below hero - matches the rest of the mobile rhythm */
    }
    .fhca-widget-contact {
        margin-bottom: 32px !important; /* breathing room above footer - matches the rest of the mobile rhythm */
    }
}

/* ── Post Grid ────────────────────────────────────────────── */
.fhca-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

@media (max-width: 1000px) {
    .fhca-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .fhca-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Post Card ────────────────────────────────────────────── */
.fhca-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.07);
    transition: transform .2s ease, box-shadow .2s ease;
    display: flex;
    flex-direction: column;
}

.fhca-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0,0,0,.12);
}

.fhca-card-thumb {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #e8ecef;
}

.fhca-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

.fhca-card:hover .fhca-card-thumb img {
    transform: scale(1.04);
}

.fhca-card-body {
    padding: 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fhca-card-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    color: #123b62;
}

.fhca-card-title a {
    color: inherit;
    text-decoration: none;
}

.fhca-card-title a:hover {
    color: inherit;
    text-decoration: underline;
}

.fhca-card-excerpt {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin: 0;
    flex: 1;
}

.fhca-card-meta {
    font-size: 12px;
    color: #888;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: auto;
}

/* ── Tags ─────────────────────────────────────────────────── */
.fhca-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    background: #fbc42d;
    color: #123b62;
    padding: 3px 10px;
    border-radius: 4px;
    text-decoration: none;
}

.fhca-tag:hover {
    background: #e8b020;
}

.fhca-tag-lg {
    font-size: 12px;
    padding: 5px 14px;
    margin-bottom: 16px;
}

.fhca-tag-sm {
    display: inline-block;
    font-size: 12px;
    border: 1px solid #ddd;
    color: #555;
    padding: 3px 10px;
    border-radius: 20px;
    text-decoration: none;
    margin: 0 4px 4px 0;
}

.fhca-tag-sm:hover {
    border-color: #123b62;
    color: #123b62;
}

/* ── Dots ─────────────────────────────────────────────────── */
.fhca-dot {
    font-size: 18px;
    line-height: 1;
    color: #ccc;
}

/* ── No Posts ─────────────────────────────────────────────── */
.fhca-no-posts {
    text-align: center;
    padding: 64px 24px;
    color: #555;
}

.fhca-no-posts h2 {
    color: #123b62;
    margin-bottom: 12px;
}

/* ── Pagination ───────────────────────────────────────────── */
.fhca-pagination {
    margin-top: 48px;
    display: flex;
    justify-content: center;
}

/* Hide the pagination nav entirely when WordPress renders it empty (single page of posts) */
.fhca-pagination:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.fhca-pagination ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 6px;
}

.fhca-pagination ul li a,
.fhca-pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid #ddd;
    color: #123b62;
    transition: all .15s ease;
}

.fhca-pagination ul li a:hover {
    background: #123b62;
    color: #fff;
    border-color: #123b62;
}

.fhca-pagination ul li .current {
    background: #123b62;
    color: #fff;
    border-color: #123b62;
}

/* ── Sidebar ──────────────────────────────────────────────── */
.fhca-sidebar {
    position: sticky;
    top: 90px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

@media (max-width: 900px) {
    .fhca-sidebar {
        position: static;
    }
}

.fhca-widget {
    background: #f3f4f4;
    border-radius: 10px;
    padding: 24px;
}

.fhca-widget-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
    color: #123b62;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #123b62;
}

/* Search widget */
.fhca-widget-search {
    display: flex;
    padding: 0;
    background: transparent;
}

.fhca-widget-search form {
    display: flex;
    width: 100%;
    gap: 0;
}

.fhca-search-input {
    flex: 1;
    padding: 11px 14px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-right: none;
    border-radius: 6px 0 0 6px;
    outline: none;
}

.fhca-search-input:focus {
    border-color: #123b62;
}

.fhca-search-btn {
    padding: 0 14px;
    background: #123b62;
    color: #fff;
    border: none;
    border-radius: 0 6px 6px 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease;
}

.fhca-search-btn:hover {
    background: #0d2d4e;
}

/* Category list */
.fhca-cat-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fhca-cat-list li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 14px;
    color: #333;
    transition: background .15s ease, color .15s ease;
    font-weight: 500;
}

.fhca-cat-list li a:hover,
.fhca-cat-list li.fhca-cat-active a {
    background: #123b62;
    color: #fff;
}

.fhca-cat-count {
    font-size: 12px;
    background: rgba(0,0,0,.08);
    padding: 2px 7px;
    border-radius: 20px;
    font-weight: 600;
}

.fhca-cat-list li.fhca-cat-active a .fhca-cat-count,
.fhca-cat-list li a:hover .fhca-cat-count {
    background: rgba(255,255,255,.2);
}

/* CTA Widget */
.fhca-widget-cta {
    background: #123b62;
    color: #fff;
    text-align: center;
}

.fhca-widget-cta h3 {
    font-size: 18px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 10px;
}

.fhca-widget-cta p {
    font-size: 14px;
    color: rgba(255,255,255,.82);
    margin: 0 0 18px;
    line-height: 1.6;
}

/* Contact Widget */
.fhca-widget-contact .fhca-contact-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

.fhca-widget-contact .fhca-contact-list li {
    list-style: none !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 13px !important;
    color: #444 !important;
    line-height: 1.5 !important;
    padding: 0 !important;
    margin: 0 !important;
}

.fhca-widget-contact .fhca-contact-list li::before,
.fhca-widget-contact .fhca-contact-list li::marker {
    display: none !important;
    content: none !important;
}

.fhca-widget-contact .fhca-contact-list li svg {
    flex-shrink: 0 !important;
    margin-top: 1px !important;
    color: #123b62 !important;
}

.fhca-widget-contact .fhca-contact-list li a {
    color: #333 !important;
    text-decoration: none !important;
}

.fhca-widget-contact .fhca-contact-list li a:hover {
    color: #123b62 !important;
    text-decoration: none !important;
}

/* ── Buttons ──────────────────────────────────────────────── */
.fhca-btn-gold {
    display: inline-block;
    background: #fbc42d;
    color: #123b62;
    font-weight: 700;
    font-size: 14px;
    padding: 11px 24px;
    border-radius: 6px;
    text-decoration: none;
    transition: background .15s ease;
}

.fhca-btn-gold:hover {
    background: #e8b020;
    color: #123b62;
}

.fhca-btn-blue {
    display: inline-block;
    background: #123b62;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 11px 24px;
    border-radius: 6px;
    text-decoration: none;
    transition: background .15s ease;
}

.fhca-btn-blue:hover {
    background: #0d2d4e;
    color: #fff;
}

.fhca-btn-outline {
    display: inline-block;
    border: 2px solid #123b62;
    color: #123b62;
    font-weight: 700;
    font-size: 14px;
    padding: 10px 24px;
    border-radius: 6px;
    text-decoration: none;
    transition: all .15s ease;
}

.fhca-btn-outline:hover {
    background: #123b62;
    color: #fff;
}

/* ═══════════════════════════════════════════════════════════
   SINGLE POST
   ═══════════════════════════════════════════════════════════ */

/* Post Header */
.fhca-post-header {
    background: #123b62;
    color: #fff;
    padding: 52px 0 48px;
    text-align: center;
}

.fhca-post-header-inner {
    max-width: 860px;
    margin: 0 auto;
}

.fhca-post-header .fhca-post-meta {
    justify-content: center;
}

.fhca-post-header .fhca-breadcrumb {
    margin-top: 20px;
    margin-bottom: 0;
}

.fhca-post-title {
    font-size: clamp(26px, 4.5vw, 42px);
    font-weight: 800;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 20px;
}

.fhca-post-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(255,255,255,.75);
    flex-wrap: wrap;
}

.fhca-meta-author {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-weight: 600;
}

.fhca-meta-author .fhca-author-link {
    color: #fff;
    text-decoration: none;
    border-bottom: none;
}

.fhca-meta-author .fhca-author-link:hover {
    text-decoration: none;
}

.fhca-avatar {
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    object-fit: cover !important;
    display: inline-block !important;
    aspect-ratio: 1 / 1;
}

.fhca-post-hero-img {
    margin-top: 32px;
    border-radius: 10px;
    overflow: hidden;
    max-height: 460px;
}

.fhca-post-hero-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Post layout */
.fhca-post-layout {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 48px;
    padding-top: 48px;
    padding-bottom: 64px;
    align-items: start;
}

@media (max-width: 900px) {
    .fhca-post-layout {
        grid-template-columns: 1fr;
        gap: 0;
        padding-top: 32px !important; /* blue header to TOC breathing room on mobile, matches rest of 32px rhythm */
        padding-bottom: 48px;
    }
    /* Article always renders first — explicit order prevents theme CSS interference */
    .fhca-post-layout .fhca-post-content {
        order: 0 !important;
    }
    /* Sidebar stacks after article */
    .fhca-post-layout .fhca-post-sidebar {
        order: 1 !important;
        position: static !important;
        margin-top: 32px !important; /* consistent 32px rhythm below Written-by box */
        display: flex;
        flex-direction: column;
        gap: 32px !important; /* consistent widget-to-widget spacing on mobile */
    }
    /* TOC repositioned before article via JS — give it breathing room below the blue header */
    .fhca-post-layout .fhca-widget-toc {
        margin-top: 0 !important;
        margin-bottom: 32px !important;
    }
    /* CTA button: full width on mobile */
    .fhca-widget-cta .fhca-btn-gold {
        display: block;
        text-align: center;
    }
    /* Compress post header vertically */
    .fhca-post-header {
        padding: 32px 0 28px;
    }
    /* Tighter featured image margin */
    .fhca-post-hero-img {
        margin-top: 20px;
        border-radius: 6px;
    }
}

@media (max-width: 600px) {
    /* Tighter horizontal padding on very small screens */
    .fhca-container {
        padding: 0 16px;
    }
    /* Compact post header */
    .fhca-post-header {
        padding: 22px 0 20px;
    }
    .fhca-post-header .fhca-hero-logo {
        height: 38px;
        margin-bottom: 18px;
    }
    /* Meta row: smaller text, tighter gaps */
    .fhca-post-meta {
        font-size: 13px;
        gap: 6px;
    }
    /* Slightly smaller body text for readability on tiny screens */
    .fhca-post-content {
        font-size: 16px;
    }
    .fhca-post-content h2 {
        font-size: 22px;
        margin: 32px 0 12px;
    }
    .fhca-post-content h3 {
        font-size: 18px;
        margin: 24px 0 8px;
    }
    /* Author box: stack vertically on small screens */
    .fhca-author-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 14px;
    }
    .fhca-author-avatar {
        display: block;
        margin: 0 auto;
    }
    /* Category grid in sidebar: 2 columns on small screens */
    .fhca-cat-list li a {
        font-size: 13px;
        padding: 10px 10px;
    }
}

/* Post content typography */
.fhca-post-content {
    max-width: 100%;
    font-size: 17px;
    line-height: 1.8;
    color: #2c2c2c;
}

.fhca-post-content h2 {
    font-size: 26px;
    font-weight: 800;
    color: #123b62;
    margin: 40px 0 14px;
    line-height: 1.25;
}

.fhca-post-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: #123b62;
    margin: 32px 0 10px;
}

.fhca-post-content h4 {
    font-size: 17px;
    font-weight: 700;
    color: #333;
    margin: 24px 0 8px;
}

.fhca-post-content p {
    margin: 0 0 20px;
}

.fhca-post-content ul,
.fhca-post-content ol {
    margin: 0 0 20px 24px;
    padding: 0;
}

.fhca-post-content li {
    margin-bottom: 8px;
}

.fhca-post-content a {
    color: #123b62;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: #fbc42d;
}

.fhca-post-content a:hover {
    color: #fbc42d;
}

.fhca-post-content blockquote {
    border-left: 4px solid #fbc42d;
    background: #f3f4f4;
    margin: 28px 0;
    padding: 18px 24px;
    border-radius: 0 8px 8px 0;
    font-style: italic;
    color: #444;
}

.fhca-post-content img {
    max-width: 100%;
    border-radius: 8px;
    margin: 8px 0 20px;
}

.fhca-post-content table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
    font-size: 15px;
}

.fhca-post-content th {
    background: #123b62;
    color: #fff;
    padding: 10px 14px;
    text-align: left;
}

.fhca-post-content td {
    padding: 10px 14px;
    border-bottom: 1px solid #e8e8e8;
}

.fhca-post-content tr:nth-child(even) td {
    background: #f9f9f9;
}

/* Post footer tags */
.fhca-post-footer-tags {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}

/* Author Box */
.fhca-author-box {
    display: flex;
    gap: 18px;
    align-items: center;
    background: #f3f4f4;
    border-radius: 10px;
    padding: 24px;
    margin-top: 40px;
}

.fhca-author-avatar {
    border-radius: 50% !important;
    flex-shrink: 0;
    width: 72px !important;
    height: 72px !important;
    object-fit: cover !important;
    display: block !important;
    aspect-ratio: 1 / 1;
}

.fhca-author-name {
    font-weight: 700;
    font-size: 15px;
    color: #123b62;
    margin: 0 0 6px;
}

.fhca-author-name .fhca-author-link {
    color: #123b62;
    text-decoration: none;
}

.fhca-author-name .fhca-author-link:hover {
    text-decoration: none;
}

.fhca-author-bio {
    font-size: 14px;
    color: #555;
    margin: 0;
    line-height: 1.6;
}

/* Post sidebar - sticky */
.fhca-post-sidebar {
    position: sticky;
    top: 90px;
}

/* TOC widget */
.fhca-widget-toc #fhca-toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.fhca-widget-toc #fhca-toc-list a {
    font-size: 13px;
    color: #333;
    text-decoration: none;
    display: block;
    padding: 4px 0;
    border-bottom: 1px solid #e4e4e4;
    transition: color .15s;
}

.fhca-widget-toc #fhca-toc-list a:hover {
    color: #123b62;
}

.fhca-widget-toc #fhca-toc-list a.fhca-toc-active {
    color: #123b62;
    font-weight: 700;
}

/* ── Related Posts ────────────────────────────────────────── */
.fhca-related {
    background: #f3f4f4;
    padding: 56px 0;
}

.fhca-related-title {
    font-size: 24px;
    font-weight: 800;
    color: #123b62;
    margin: 0 0 32px;
}

.fhca-related-grid {
    grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 900px) {
    .fhca-related-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .fhca-related-grid {
        grid-template-columns: 1fr;
    }
}

.fhca-related-more {
    margin-top: 32px;
    text-align: center;
}

/* ===== FHCA SITE FOOTER ===== */
.fhca-site-footer{background:#123b62;color:#f3f4f4;font-family:'Poppins',sans-serif;}
.fhca-site-footer a{color:#f3f4f4;text-decoration:none;}
.fhca-site-footer__container{max-width:1200px;margin:0 auto;padding:0 1.25rem;}
.fhca-site-footer__cols{padding:3rem 0 2rem;}
.fhca-site-footer__cols .fhca-site-footer__container{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;}
.fhca-site-footer__col-title{font-size:.9rem;font-weight:700;color:#fbc42d;margin:0 0 1rem;}
.fhca-site-footer__menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem;}
.fhca-site-footer__menu li a{font-size:.9rem;line-height:1.4;color:#dbe0e5;}
.fhca-site-footer__menu li a:hover{color:#fbc42d;}
.fhca-site-footer__bottom{border-top:1px solid rgba(255,255,255,.15);padding:1.5rem 0;text-align:center;}
.fhca-site-footer__bottom p{margin:.35rem 0;font-size:.85rem;color:#dbe0e5;line-height:1.6;}
.fhca-site-footer__bottom a{color:#dbe0e5;font-weight:600;}
.fhca-site-footer__bottom a:hover{color:#fbc42d;}
@media(max-width:768px){
    .fhca-site-footer__cols .fhca-site-footer__container{grid-template-columns:1fr;gap:1.75rem;}
    .fhca-site-footer__cols{padding:2rem 0 1.5rem;}
}
