/* =============================================================================
   HEARTLANDER — Custom Theme Styles
   Load order: styles.min.css → style.css → heartlander.css (this file, last)
   ============================================================================= */

html { 
width:100%;
overflow-x:hidden; 
}

main { margin-inline:1rem; width:calc(100% - 2rem); }

@media screen and (min-width:1168px) { 
	#canvas main { margin-inline:auto; max-width:80%; }
}

/* =============================================================================
   1. MAIN HEADER
   Grid: 1fr (nav) | auto (logo) | 1fr (actions)
   ============================================================================= */

.site-header.header-03 {
    background: #fff;
    border-bottom: 3px solid #a6885c;
}

.site-header.header-03 .inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: 'left logo right';
    align-items: center;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 1.25rem;
    min-height: 3.75rem;
    gap: 0.75rem;
}

/* Left — hamburger + primary nav */

.header-left {
    grid-area: left;
    display: flex;
    align-items: center;
    min-width: 0;
    overflow: hidden;
}

.header-hamburger {
    background: none;
    border: none;
    box-shadow: none;
    color: #000000;
    font-size: 1.1rem;
    padding: 0.25rem 0.5rem 0.25rem 0;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
    transition: color 0.2s;
}
.header-hamburger:hover { color: #94764a; }

.site-header.header-03 .header-menu,
.header-menu { display: none; }

@media (min-width: 992px) {
    .header-hamburger { display: none; }

    .site-header.header-03 .header-menu,
    .header-menu {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        padding: 0;
    }

    .site-header.header-03 .header-menu ul,
    .header-menu ul {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 0.625rem;
    }

    .site-header.header-03 .header-menu li,
    .header-menu li { padding: 0; }

    /* Needs 3-class specificity to beat theme's .site-header.header-03 .header-menu a */
    .site-header.header-03 .header-menu .nav-main-link {
        display: block;
        padding: 0;
        font-family: 'museo-sans', 'Work Sans', sans-serif;
        font-size: 0.9rem;
        font-weight: 600;
        color: #212123;
        text-decoration: none;
        white-space: nowrap;
        text-transform: uppercase;
        letter-spacing: 0;
        transition: color 0.2s;
    }
    .site-header.header-03 .header-menu .nav-main-link:hover { color: #94764a; }
    .site-header.header-03 .header-menu .fa-angle-down { font-size: 0.65rem; margin-left: 0.125rem; }
}

/* Center — logo */

.site-header.header-03 .inner .logo {
    grid-area: logo;
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
    transform: none;
    left: auto;
    top: auto;
}
.site-header.header-03 .inner .logo img { max-height: 2.25rem; width: auto; }

/* Right — search + subscribe */

.header-right {
    grid-area: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    min-width: 0;
}
.header-right .header-social { display: none !important; }

.header-search-form {
    display: none;
    align-items: center;
    border: 1.5px solid #a6885c;
    border-radius: 0.125rem;
    padding: 0.3rem 0 0.3rem 0.75rem;
    gap: 0.375rem;
    background: #fff;
    flex-shrink: 0;
}
.header-search-form .fa-search { color: #a6885c; font-size: 0.75rem; }
.header-search-form input[type=search] {
    border: none;
    outline: none;
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.82rem;
    width: 7.5rem;
    background: transparent;
    color: #222;
    padding: 0;
    -webkit-appearance: none;
}
.header-search-form input[type=search]::-webkit-search-cancel-button { display: none; }
.header-search-form input[type=search]:focus { box-shadow: none; border: 0; outline: none; }

.header-search-icon {
    background: none;
    border: none;
    box-shadow: none;
    color: #a6885c;
    font-size: 0.95rem;
    cursor: pointer;
    padding: 0.3rem;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    transition: color 0.2s;
}
.header-search-icon:hover { color: #000000; }

.btn-subscribe {
    display: none;
    background: #a6885c;
    color: #fff;
    border: 1.5px solid #a6885c;
    border-radius: 0.125rem;
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    padding: 0.560rem 0.875rem;
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
    text-transform: uppercase;
    align-items: center;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.btn-subscribe:hover { background: #94764a; border-color: #94764a; color: #fff; }

@media (min-width: 768px) { .btn-subscribe { display: inline-flex; } }
@media (min-width: 992px) {
    .header-search-form { display: flex; }
    .header-search-icon { display: none; }
}


/* =============================================================================
   2. SECONDARY NAV
   Mobile: category links scroll; social lives in the hamburger menu.
   Desktop (≥992px): category links centered, social icons pinned right.
   ============================================================================= */

.secondary-nav {
    background: #000000;
    width: 100%;
	position:relative;
	align-items:flex-start;
}

.secondary-nav-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: 75rem;
    width: 100%;
    margin: 0 auto;
    padding: 0.25rem 1.25rem;
    position: relative;
}

.secondary-nav-social {
    display: none;
    align-items: center;
    flex-shrink: 0;
}

.secondary-nav-social a {
    color: #a6885c;
    padding: 0 1rem 0 0;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.2s;
}
.secondary-nav-social a:hover { color: #fff; }

.secondary-nav-divider { display: none !important; }

.secondary-nav-items {
    display: flex;
    list-style: none;
    margin: 0 0 0 auto !important;
    padding: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    align-items: center;
    gap: 0.625rem;
}
.secondary-nav-items::-webkit-scrollbar { display: none; }

.secondary-nav-items li a {
    display: block;
    padding: 0.45rem 0;
    color: #fff;
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    text-decoration: none;
    transition: color 0.2s;
}
.secondary-nav-items li a:hover { color: #a6885c; }

/* Topics menu — overflow scroll arrow.
   JS toggles .has-overflow on .secondary-nav-inner when the menu overflows
   and there is still room to scroll right; the arrow is hidden otherwise. */
.secondary-nav-arrow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3.5rem;
    display: none;
    align-items: center;
    justify-content: flex-end;
    padding: 0 1.25rem 0 0.5rem;
    border: none;
    cursor: pointer;
    color: #a6885c;
    font-size: 1rem;
    background: linear-gradient(to right, rgba(0, 0, 0, 0), #000000 45%);
    transition: color 0.2s;
}
.secondary-nav-arrow:hover { color: #fff; }

.secondary-nav-inner.has-overflow .secondary-nav-arrow { display: flex; }

@media (min-width: 992px) {
    /* Desktop: categories centered in the bar, social icons pinned right.
       Social is pulled out of flow (absolute) so the topics row centers
       against the full bar width.
       ponytail: absolute social right; if the topic list ever grows wide
       enough to reach the icons, switch this to a 3-column grid. */
    .secondary-nav-social {
        display: flex;
        position: absolute;
        right: 1.25rem;
        top: 0;
        bottom: 0;
    }
    .secondary-nav-social a { padding: 0 0 0 1rem; } /* gap before each icon; last sits flush right */
    .secondary-nav-items { margin: 0 auto !important; } /* center topics */
}


/* =============================================================================
   3. GLOBAL TYPOGRAPHY & COLORS
   Brand: navy #000000 | gold #a6885c | body text #222
   ============================================================================= */

body {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 1rem;
    line-height: 1.65;
    color: #222;
}

p, li, td, th, label,
input, textarea, select, button {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    color: #000000;
    font-weight: 700;
    line-height: 1.25;
}

a { color: #000000; text-decoration: none; }
a:hover { color: #94764a; }

/* Off-canvas / side menu */
.side-menu, .offcanvas { font-family: 'museo-sans', 'Work Sans', sans-serif; }
.side-menu a, .offcanvas a { color: #000000; }
.side-menu a:hover, .offcanvas a:hover { color: #94764a; }
#menu-close { color: #000000 !important; }
#menu-close:hover { color: #94764a !important; }

/* Footer */
footer.footer-03 {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    border-top: 3px solid #000000;
    background-color: #f0f0f0;
}
footer.footer-03 a { color: #a6885c; }
footer.footer-03 a:hover { color: #000000; }
footer.footer-03 .wrapper .top-row .footer-top-end .footer-contact .button { line-height: 20px; margin: 0; }
footer.footer-03 .wrapper .top-row .social .social-wrapper a {
    color: #a6885c;
    padding: 0 0.5rem 0;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.2s;
}
footer.footer-03 .wrapper .bottom-row {
    margin-top: 2.125rem;
    margin-bottom: 1.5625rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}
footer.footer-03 .wrapper .bottom-row .disclaimer {
    font-weight: 300;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #7a7a7a;
    margin: 1rem 0 0;
    text-align: center;
}
footer .footer-contact a + a { margin-left: 0.75rem !important; }

/* Single post body */
.single-post article p,
.single-post article li,
.single-post article td { color: #222; font-size: 1.0625rem; line-height: 1.75; }
.single-post article h1,
.single-post article h2,
.single-post article h3,
.single-post article h4 { color: #000000; }
.single-post article h2 { font-size: 1.8rem; line-height: 2.4rem; }
.single-post article h3 { font-size: 1.4rem; line-height: 1.7rem; }
.single-post article h4 { font-size: 1.2rem; }

/* Forms */
input[type=text],
input[type=email],
input[type=search],
input[type=url],
input[type=tel],
textarea {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    color: #222;
    border-color: #ddd;
    border-radius: 0.125rem;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=search]:focus,
textarea:focus {
    border-color: #a6885c;
    outline: none;
    box-shadow: 0 0 0 2px rgba(166,136,92,0.15);
}

/* X (Twitter) logo. The FA kit is on v5.15.4, which predates the fa-x-twitter
   glyph (added in 6.4.2), so the <i> renders empty. Until/unless the kit is
   upgraded to FA6+, draw the official X mark by masking the ::before with the
   real SVG path. currentColor lets it inherit existing color + hover rules, and
   masking the pseudo-element (not the <i>) keeps it centered inside fa-stack. */
.fa-x-twitter::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") no-repeat center / contain;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Brand asset backgrounds */
.author-icon      { background-image: url(/wp-content/themes/engage/assets/img/icon.png?v=3); }
.author-container { background-image: url(/wp-content/themes/engage/assets/img/watermark.png?v=3) !important; }

/* Responsive visibility helpers */
.mobile-only { display: none !important; }
@media (max-width: 900px) {
    .mobile-only { display: block !important; }
    .disable-on-mobile { display: none !important; }
}

/* WP block columns layout (sign-up section) */
@media (min-width: 767px) {
    .wp-block-column {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 43.75rem;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
}

/* Sign-up box border */
.wp-container-core-columns-is-layout-9d6595d7 {
    flex-wrap: nowrap;
    max-width: 60rem;
    margin: 0 auto 2rem;
    border: 6px solid #a6885c;
    text-align: center;
}


/* =============================================================================
   4. BUTTONS
   Primary: gold (#a6885c) filled | Outlined: gold border
   `body` prefix raises specificity to 0,1,1 — beats base-styles `.button` (0,1,0).
   `!important` on font-size and padding only, where base CSS uses vmin values
   that survive the specificity battle via compound selectors.
   ============================================================================= */

body .button,
.wp-block-buttons .wp-block-button .wp-block-button__link,
body input[type='submit'],
body button[type='submit'] {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.8125rem !important;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    word-spacing: 0;
    text-transform: uppercase;
    padding: 0.5rem 1.1rem !important;
    border-radius: 0.125rem;
    border-width: 1.5px;
    border-style: solid;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    background: #a6885c;
    border-color: #a6885c;
    color: #fff;
}

body .button:hover,
.wp-block-buttons .wp-block-button .wp-block-button__link:hover,
body input[type='submit']:hover,
body button[type='submit']:hover {
    background: #000000;
    border-color: #000000;
    color: #fff;
}

/* Gold variant (explicit, same as default) */
body .button.btn-blue,
.side-menu-button.btn-blue {
    background: #a6885c;
    border-color: #a6885c;
    color: #fff;
}
body .button.btn-blue:hover { background: #000000; border-color: #000000; }

/* Outlined variant */
body .button.btn-white,
.wp-block-buttons .wp-block-button .btn-white.wp-block-button__link {
    background: transparent;
    border-color: #a6885c;
    color: #a6885c;
}
body .button.btn-white:hover,
.wp-block-buttons .wp-block-button .btn-white.wp-block-button__link:hover {
    background: #a6885c;
    border-color: #a6885c;
    color: #fff;
}

/* Kill old green hover in sign-up block */
.block-signup .block-container .block-right .button:hover,
.block-signup .block-container .block-right .button:focus {
    background-color: #000000;
    border-color: #000000;
}

/* Off-canvas subscribe link */
.offcanvas-primary-container .button { width: 100%; justify-content: center; margin-top: 0.75rem; }


/* =============================================================================
   5. CONTENT WIDTH — 75rem (1200px)
   ============================================================================= */

.page-template-default main,
.error404 main {
    max-width: 75rem;
    margin: 0 auto 2rem;
}

.block-featured,
.block-latest,
.block-latest-2,
.block-latest-3,
.block-ourwork .block-container,
.about-ourmission .about-container,
.archive-posts {
    max-width: 75rem;
}

.archive-posts { padding: 0 1.25rem; }


/* =============================================================================
   6. CARD SYSTEM
   Unified typography: block-article, block-post, post-card, single-feature-archive.
   .block-article uses 3-class selectors to beat base CSS's conflicting 2-class rules.
   ============================================================================= */

/* Category label */
.block-post h6,
.post-right h5,
.article-meta,
.block-article .block-details .block-categories {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-weight: 500;
    font-size: 0.72rem;
    line-height: 1.2;
    color: #7a7a7a;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: 0;
    display: block;
    text-decoration: none;
    max-width: none;
}
.block-post h6 a,
.post-right h5 a,
.article-meta a,
.block-article .block-details .block-categories a { color: #7a7a7a; font-weight: 500; text-decoration: none; }
.block-post h6 a:hover,
.post-right h5 a:hover,
.article-meta a:hover,
.block-article .block-details .block-categories a:hover { color: #a6885c; }


/* Title */
.block-post h3,
.block-post h3 a,
.post-right .post-title,
.article-title,
.block-article .block-details .block-headline {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.4;
    color: #000000;
    text-decoration: none;
    display: block;
    margin: 0 0 0.5rem;
    max-width: none;
    transition: color 0.2s;
}
.block-post h3 a:hover,
.post-right .post-title:hover,
.article-title:hover,
.block-article .block-details .block-headline:hover { color: #a6885c; }

@media screen and (max-width:768px) { 
.block-article .block-details * { margin-inline-start:unset !important; }
	
	.block-article { margin-block-end: unset !important; }
.block-latest .block-container .block-article .block-image { 
	max-width:unset !important; 
	width:100% !important; 
	max-height:unset !important; 
	aspect-ratio: 5 / 2.25;
}
	
.block-latest .block-container .block-article .block-headline, 
.block-latest .block-container .block-article .block-categories, 
.block-latest .block-container .block-article .block-author { max-width:400px; }
	
} /* 768 */

.block-latest .block-container .block-article .block-image { 
	min-width:unset !important; 
	margin-inline-end: unset; 
	height:auto !important;
}

/* Author line */
.block-author,
.byline {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 17px;
    color: #7a7a7a;
    margin-top: 0;
}
.block-author a,
.byline a { color: #7a7a7a; font-weight: 400; text-decoration: none; }
.block-author a:hover,
.byline a:hover { color: #a6885c; }

/* Date */
.block-date,
.article-date {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    color: #7a7a7a;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
    margin-left: auto;
}
.block-date i { color: #a6885c; font-size: 0.75rem; }

/* Author icon */
.author-icon {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

/* Meta row — icon + byline + date (date auto-pushed right via margin-left: auto) */
.block-details,
.block-authordate {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
    flex-wrap: wrap;
}

/* post-card layout */
.post-card { display: flex; gap: 1rem; }
.post-left { flex-shrink: 0; }
.post-left img { display: block; width: 100%; height: auto; border-radius: 0.5rem; }
.post-right { display: flex; flex-direction: column; justify-content: flex-start; }
.post-right p { color: #222; font-size: 0.9rem; line-height: 1.55; margin: 0.25rem 0 0.5rem; }

/* block-article card */
.block-article { display: flex; flex-direction: column; }
.block-article .block-image {
    display: block;
    background-size: cover;
    background-position: center;
    aspect-ratio: 16 / 9;
    border-radius: 0.5rem;
}
.block-article .block-details { margin-top: 0.5rem; flex-direction: column; align-items: flex-start; gap: 0.25rem; }


/* =============================================================================
   7. BLOCK-SPECIFIC STYLES
   ============================================================================= */

/* block-latest-2 layout */
.block-latest-2 { 
margin-block-start:40px; 
}

.block-latest-2 .block-container .block-left { 
		width: 100% !important;
}

.block-latest-2 .block-left .block-post * { 
padding-inline:unset;
}
@media (max-width: 767px) {
	.block-latest-2 { margin-block-end: unset; }
	.block-latest-2 .block-right { display: none !important; }
}

@media (min-width: 768px) {
    .block-latest-2 .block-container { 
		display:grid; 
		grid-template:1fr 1fr 1fr; 
		grid-gap:40px; 
		align-items:stretch; 
	}
    .block-latest-2 .block-container .block-left { 
		min-width: 0;  
		height: auto; 
		grid-column:1 / span 2;
	}
    .block-latest-2 .block-container .block-left .block-img {
        display: block;
        width: 100%;
        height: 380px;
        background-image: url(/wp-content/themes/engage/assets/img/latest-thumb.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        border-radius: 0.5rem;
    }
	
	
    .block-latest-2 .block-container .block-right { 
		grid-column:3; 
		min-width: 0; 
		min-height:100%;
		height:0;
		margin-block-start:unset; 
		width:100%; 
		padding:unset; 
		overflow-y:scroll;
	}
}

@media (min-width: 1024px) {
	.block-latest-2 .block-container .block-right { 
	background:#f7f5f0; 
	padding:1rem; 
	padding-block-start:2rem; 
			overflow-y:scroll;
	}
}


/* block-latest-2 left: featured card — gold title */
.block-latest-2 .block-container .block-left .block-post h3,
.block-latest-2 .block-container .block-left .block-post h3 a,
.block-latest-2 .block-container .block-right h3,
.block-latest-2 .block-container .block-right h3 a { color: #a6885c; }
.block-latest-2 .block-container .block-left .block-post .block-details .byline a { color: #a6885c; font-weight: 500; }
.block-latest-2 .block-container .block-left .block-post .block-details .byline a:hover { color: #000000; }
.block-latest-2 .block-container .block-left .block-post h6 {
    font-weight: 600;
    margin: 16px 0 .5rem 0;
}

/* block-latest-2 right sidebar — override styles.min.css gold h6 */
.block-latest-2 .block-container .block-right h6 {
    font-weight: 500;
    font-size: 0.72rem;
    line-height: 1.2;
    color: #7a7a7a;
    text-transform: uppercase;
    margin: 0;
}
.block-latest-2 .block-container .block-right h2 {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.875rem;
    color: #222;
    margin-top: 0;
    font-style: normal;
    text-transform: uppercase;
}
.block-latest-2 .block-container .block-right p {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 17px;
    color: #7a7a7a;
    margin-top: 0;
}
.block-latest-2 .block-container .block-right p a { color: #a6885c; font-weight: 500; }
.block-latest-2 .block-container .block-right hr {
    border: none;
    border-top: 1px solid #e8e2d9;
    margin: 0.75rem 0;
}

/* block-latest-3 — gold titles, gold byline links */
.block-latest-3 { 
	margin-block:unset;
}
.block-latest-3 .block-container { margin-inline:unset;  }
.block-latest-3 .block-container .block-post h3,
.block-latest-3 .block-container .block-post h3 a { color: #a6885c; text-decoration: none; }
.block-latest-3 .block-container .block-post h3 a:hover { color: #000000; }
.block-latest-3 .block-container .block-post .block-authordate .byline a { color: #a6885c; font-weight: 500; }

/* block-latest-3 thumbnail */
.block-latest-3 .block-container .block-post .block-img {
    display: block;
    width: 100%;
    height: 100vh;
    max-height: 300px;
    background-image: url(/wp-content/themes/engage/assets/img/latest-thumb.jpg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center;
    border-radius: 0.5rem;
}

@media screen and (min-width:900px) { 
	.block-latest-3 { margin-block:1rem; 
	}
}

/* block-latest footer link colors */
.block-latest .block-footer a { color: #000000; }
.block-latest .block-footer a:hover { color: #a6885c; }

/* block-latest articles grid */
.block-latest .block-container.latest-articles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 1.5rem;
    padding: 0;
}
.block-latest .block-image {
    display: block;
    background-size: cover;
    background-position: center;
    aspect-ratio: 16 / 9;
    border-radius: 0.5rem;
    margin-bottom: 0.5rem;
}
.block-latest .block-container .block-article {
    width: 100%;
    margin-bottom: 50px;
}
.block-latest .block-footer {
    text-align: center;
    padding: 2rem 0 1rem;
}

/* Podcast block */
.block-podcast { background: #f6f3ee; }
.block-podcast .block-container {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 2rem 1.25rem;
    max-width: 75rem;
    margin: 0 auto;
}
.block-podcast .block-left { flex-shrink: 0; }
.block-podcast .block-left img { width: 8rem; height: auto; display: block; }
.block-podcast .block-middle { flex: 1; }
.block-podcast .block-middle h3 a { font-weight: 700; font-size: 1.25rem; color: #000000; text-decoration: none; }
.block-podcast .block-middle p { color: #222; font-size: 0.9375rem; line-height: 1.6; margin: 0.5rem 0 0; }
.block-podcast .block-right { flex-shrink: 0; }


/* =============================================================================
   8. PAGE-SPECIFIC FIXES
   ============================================================================= */

/* Homepage hero — navy brand overlay on background image */
.header-hero {
    background-image: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url(/wp-content/themes/engage/assets/img/hero-bg-2.jpg);
    background-size: cover;
    background-position: center;
}

/* Category header — navy brand overlay on background image */
.header-cat {
    background-image: linear-gradient(rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)), url(/wp-content/themes/engage/assets/img/hero-bg-1.jpg);
    background-size: cover;
    background-position: center;
}

/* Homepage hero — hide when no content */
.header-hero:not([class*='large']):not([class*='medium']) .header-hero-container:empty,
.header-hero.ad { display: none; }

/* block-latest category filter — wrapping tag cloud */
.block-latest .block-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    padding: 0.75rem 0;
    border-bottom: 1.5px solid #e8e2d9;
    margin-bottom: 1.5rem;
}
.block-latest .block-menu .block-menu-item {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    color: #7a7a7a;
    text-decoration: none;
    white-space: nowrap;
    padding: 0.25rem 0.625rem;
    border: 1px solid #ddd5c8;
    border-radius: 2rem;
    background: #faf8f5;
    line-height: 1.4;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.block-latest .block-menu .block-menu-item:hover,
.block-latest .block-menu .block-menu-item.selected {
    color: #a6885c;
    border-color: #a6885c;
    background: #fff;
}
.block-latest .block-menu .block-menu-item.selected { font-weight: 600; }

.block-latest .block-container.latest-articles { 
	margin-inline:unset; 
	max-width:unset;
	width:100%;
}

/* Sign-up section colors (WP block columns) */
.wp-block-columns .wp-block-heading[style*='color'] { color: #a6885c !important; }
.wp-block-columns p.has-text-color[style*='color'] { color: #222 !important; }

.archive-posts .post-filters {
    margin-top: 3rem !important;
}

/* =============================================================================
   9. AUTHOR PAGE — font & color overrides
   ============================================================================= */

.author-container .author-inner .author-right h1,
.author-container .author-inner .author-right h2,
.author-container .author-inner .author-right h3,
.author-container .author-inner .author-right h4,
.author-container .author-inner .author-right h5,
.author-container .author-inner .author-right p {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
}

.author-container .author-inner .author-right h1 {
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.15;
    color: #000000;
}

.author-container .author-inner .author-right h5 {
    font-weight: 600;
    font-size: 1rem;
    color: #a6885c;
}

.author-container .author-inner .author-right p {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.65;
    color: #222;
}

/* =============================================================================
   10. BLOCK-LATEST-2 — remove watermark from right sidebar
   ============================================================================= */

.block-latest-2 .block-container .block-right {
    background-image: none !important;
}

/* =============================================================================
   11. HEADER DROPDOWN MENU
   ============================================================================= */

.site-header.header-03 .header-menu .dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1.5px solid #e8e2d9;
    border-top: 2px solid #a6885c;
    border-radius: 0 0 0.25rem 0.25rem;
    min-width: 12rem;
    padding: 0.5rem 0;
    list-style: none;
    margin: 0;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.site-header.header-03 .header-menu li {
    position: relative;
}

.site-header.header-03 .header-menu li:hover > .dropdown,
.site-header.header-03 .header-menu li:focus-within > .dropdown {
    display: block;
}

.site-header.header-03 .header-menu .dropdown li a {
    display: block;
    padding: 0.45rem 1rem;
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    color: #000000;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
    text-transform: none;
    letter-spacing: 0;
}

.site-header.header-03 .header-menu .dropdown li a:hover {
    background: #f7f5f0;
    color: #a6885c;
}

/* =============================================================================
   12. SINGLE ARTICLE — kill leftover watermark pseudo-element
   ============================================================================= */

.single-post .main-article:before,
.single-members .main-article:before,
.single-tribe_events .main-article:before {
    content: none !important;
    display: none !important;
    background-image: none !important;
}

/* =============================================================================
   13. ARTICLE BODY — normalize legacy inline styles from Google Docs imports
   ============================================================================= */

/* Strip inline font-weight overrides from pasted-from-Google-Docs spans */
.single-post .main-article span[style*="font-weight"],
.single-post .main-article span[style*="font-family"] {
    font-weight: inherit !important;
    font-family: inherit !important;
}

/* Restore paragraph spacing for imported articles with broken Gutenberg blocks
   (each fragment of body content sits in its own block; make them flow). */
.single-post .main-article > a {
    display: inline;
}


/* =============================================================================
   14. X (TWITTER) INLINE SVG LOGO — FA5 kit lacks fa-x-twitter, use SVG
   ============================================================================= */
.x-logo-icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.125em;
    fill: currentColor;
}
/* centered within a fa-stack circle */
.fa-stack .x-logo-stack {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.9em;
    height: 0.9em;
    line-height: normal;
}

/* =============================================================================
   15. ARTICLE BODY LINKS — brand color + underline (a11y: not color alone)
   ============================================================================= */
.main-article p a,
.main-article ul li a,
.main-article ol li a,
.main-article blockquote a {
    color: #94764a;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
    transition: color 0.2s;
}
.main-article p a:hover,
.main-article ul li a:hover,
.main-article ol li a:hover,
.main-article blockquote a:hover {
    color: #000000;
}
/* keep share + author icon links free of body-link styling */
.main-article .share a,
.main-article .share a:hover { text-decoration: none; }

/* =============================================================================
   16. FEATURED STORIES (block-latest-3) — mobile width fix
   The flex container shrink-wrapped (~510px) instead of filling its parent,
   leaving the cards narrower and misaligned on the right vs. the rest of the
   page. Force the container to full width so cards align with all other rows.
   ============================================================================= */
.block-latest-3 .block-container { width: 100%; }

/* =============================================================================
   Unified image corner radius (0.5rem)
   Homepage cards, post-cards and .post-left img are already normalized above.
   These selectors cover the images that previously had NO radius: the
   featured/top-story block (square on mobile) and single post/page images.
   ============================================================================= */
.block-img,
.featured-image img,
.single-post article .featured-image img {
    border-radius: 0.5rem;
}
