/*
 Theme Name:   Kadence Child (BCHO)
 Theme URI:    https://bcho.org
 Description:  Modern Kadence Child Theme for Back Country Horsemen of Oregon
 Author:       Marty DeVall / BCHO
 Author URI:   https://bcho.org
 Template:     kadence
 Version:      1.0.0
 Text Domain:  kadence-child
*/

/* ==========================================================================
   1. BCHO Brand & Theme Icon Fonts (@font-face)
   ========================================================================== */
@font-face {
    font-family: 'BCHO';
    src: url('fonts/BCHO.eot?efjnyt');
    src: url('fonts/BCHO.eot?efjnyt#iefix') format('embedded-opentype'),
         url('fonts/BCHO.woff?efjnyt') format('woff'),
         url('fonts/BCHO.ttf?efjnyt') format('truetype'),
         url('fonts/BCHO.svg?efjnyt#BCHO') format('svg'),
         url('/fonts/BCHO.woff?efjnyt') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
[class^="bch-icon-"], [class*=" bch-icon-"] {
    font-family: 'BCHO' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
}
.bch-icon-trees:before { content: "\e600"; }
.bch-icon-trailrider:before { content: "\e601"; }
.bch-icon-strup:before { content: "\e602"; }
.bch-icon-award:before { content: "\e605"; }
.bch-icon-horsetrailer:before { content: "\e606"; }
.bch-icon-barn:before { content: "\e607"; }
.bch-icon-horseshoe:before { content: "\e608"; }
.bch-icon-bucket:before { content: "\e609"; }
.bch-icon-saddle:before { content: "\e60a"; }
.bch-icon-cowboy:before { content: "\e60b"; }

/* Virtue Theme Icon Font (for icon-file) */
@font-face {
    font-family: 'virtue_icons';
    src: url('fonts/virtue_icons.eot?f9moh4');
    src: url('fonts/virtue_icons.eot?f9moh4#iefix') format('embedded-opentype'),
         url('fonts/virtue_icons.woff2?f9moh4') format('woff2'),
         url('fonts/virtue_icons.woff?f9moh4') format('woff'),
         url('fonts/virtue_icons.ttf?f9moh4') format('truetype'),
         url('fonts/virtue_icons.svg?f9moh4#virtue_icons') format('svg'),
         url('/fonts/virtue_icons.woff?f9moh4') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
[class^="icon-"], [class*=" icon-"] {
    font-family: 'virtue_icons' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
}
.icon-file:before { content: "\e077"; }

/* ==========================================================================
   2. Chapter Calendar Color Badges & Legend (.cal-list, .bch-cal-list, .bch-cal-legend)
   ========================================================================== */
.cal-list,
.bch-cal-legend {
    margin-bottom: 20px;
}

.cal-list ul,
ul.bch-cal-list,
.bch-cal-legend.wp-block-buttons,
.bch-cal-buttons.wp-block-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    list-style: none !important;
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    gap: 8px !important;
}

.cal-list ul li,
ul.bch-cal-list li {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
    cursor: pointer;
}

.cal-list ul li:not(:has(a)),
ul.bch-cal-list li:not(:has(a)) {
    padding: 6px 12px;
}

.cal-list ul li a,
ul.bch-cal-list li a {
    display: inline-block;
    padding: 6px 12px;
    color: #ffffff !important;
    text-decoration: none !important;
    border-radius: 4px;
}

.cal-list ul li:hover,
ul.bch-cal-list li:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22);
    filter: brightness(1.12);
}

/* Specific Google Calendar matched colors */
.cal-list ul li.state,   ul.bch-cal-list li.state   { background-color: #6B3304 !important; } /* BCHO State Calendar */
.cal-list ul li.public,  ul.bch-cal-list li.public  { background-color: #125A12 !important; } /* Public Equestrian Events */
.cal-list ul li.hdtr,    ul.bch-cal-list li.hdtr    { background-color: #AB8B00 !important; } /* High Desert Trail Riders */
.cal-list ul li.trbch,   ul.bch-cal-list li.trbch   { background-color: #060D5E !important; } /* Territorial Riders */
.cal-list ul li.wcbch,   ul.bch-cal-list li.wcbch   { background-color: #B1440E !important; } /* West Cascade */
.cal-list ul li.stbch,   ul.bch-cal-list li.stbch   { background-color: #711616 !important; } /* Steens */
.cal-list ul li.sdbch,   ul.bch-cal-list li.sdbch   { background-color: #1B887A !important; } /* Sourdough */
.cal-list ul li.cgbch,   ul.bch-cal-list li.cgbch   { background-color: #5229A3 !important; } /* Columbia Gorge */
.cal-list ul li.eebch,   ul.bch-cal-list li.eebch   { background-color: #528800 !important; } /* Emerald Empire */
.cal-list ul li.ecbch,   ul.bch-cal-list li.ecbch   { background-color: #6E6E41 !important; } /* East Cascades */
.cal-list ul li.hcwpbch, ul.bch-cal-list li.hcwpbch { background-color: #113F47 !important; } /* High Country Wilderness Packers */
.cal-list ul li.ushday,  ul.bch-cal-list li.ushday  { background-color: #333333 !important; } /* US Holidays */

/* Gutenberg Calendar Buttons styling */
.bch-cal-buttons .wp-block-button__link {
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
    line-height: 1.25 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease !important;
}

.bch-cal-buttons .wp-block-button__link:hover,
.bch-cal-buttons .wp-block-button__link:focus {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.22) !important;
    filter: brightness(1.12);
}

/* Subscription Action Callout Box */
.bch-cal-subscribe-box {
    background-color: #f4f6fa;
    border: 1px solid #dbe2ea;
    border-left: 4px solid var(--global-palette1, #305b9b) !important;
    border-radius: 6px;
    padding: 16px 20px;
    margin-bottom: 24px;
}
.bch-cal-subscribe-box p {
    margin: 0 0 12px 0;
    color: #444444;
    font-size: 15px;
    line-height: 1.5;
}
.bch-cal-subscribe-box .bch-subscribe-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.bch-btn-subscribe-all {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background-color: var(--global-palette1, #305b9b) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 9px 18px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.bch-btn-subscribe-all:hover,
.bch-btn-subscribe-all:focus {
    background-color: #244677 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.bch-btn-instructions {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background-color: #ffffff !important;
    color: var(--global-palette1, #305b9b) !important;
    border: 1px solid var(--global-palette1, #305b9b) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    padding: 8px 16px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.bch-btn-instructions:hover,
.bch-btn-instructions:focus {
    background-color: #f0f4f9 !important;
    color: #244677 !important;
}

/* ==========================================================================
   3. Responsive Embeds (.videowrapper, .calwrapper)
   ========================================================================== */
.videowrapper { float: none; clear: both; width: 100%; position: relative; padding-bottom: 56.25%; padding-top: 25px; height: 0; }
.videowrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.calwrapper { float: none; clear: both; width: 100%; position: relative; padding-bottom: 112.5%; padding-top: 25px; height: 0; }
.calwrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* ==========================================================================
   4. Ads & Sponsors Grid Styling (.testimonialbox)
   ========================================================================== */
.testimonial .staff-img { display: none !important; }
div.testimonialimg { margin-right: 0px; display: none; }
div.testimonialicon { margin-right: 10px; float: left; display: block; margin-bottom: 10px; }
div.testimonialicon a i { color: #81a249 !important; }
div.testimonialicon a i:hover { color: #305b9b !important; }
div.testimonialbox { background: transparent; border: 1px solid #c9c9c9; padding: 15px; margin-bottom: 15px; border-radius: 4px; }
div.testimonialbox i { margin: 0; }

/* ==========================================================================
   5. Membership & Form Styling
   ========================================================================== */
.membersform, table.verifymembers { background-color: #fcfcff; }
div.thankyou { margin-bottom: 10px; background-color: #E5ECF9; border: 2px solid #254A78; padding: 5px 10px 0px 10px; }
.member-bnts input#mem_button.button, .member-bnts button#mem_button.button { width: 100%; font-size: 1.0em; margin-bottom: 8px; }

/* ==========================================================================
   6. WooCommerce Form Floating Labels & Inputs
   ========================================================================== */
.wc-block-components-address-form__country .wc-blocks-components-select__label,
.wc-block-components-address-form__state .wc-blocks-components-select__label {
    top: 4px !important; background-color: #fff; padding: 0 4px; z-index: 10;
}
.wc-block-components-address-form__country .select2-selection__rendered,
.wc-block-components-address-form__state .select2-selection__rendered {
    padding-top: 24px !important; line-height: normal !important;
}
.wc-block-components-address-form__country .select2-selection--single,
.wc-block-components-address-form__state .select2-selection--single {
    height: 48px !important; border: 1px solid #444 !important; border-radius: 4px !important; box-shadow: none !important;
}
.wc-block-components-address-form__country .select2-selection__arrow,
.wc-block-components-address-form__state .select2-selection__arrow {
    height: 48px !important;
}
.wc-block-components-address-form__country .wc-blocks-components-select__expand,
.wc-block-components-address-form__state .wc-blocks-components-select__expand {
    display: none !important;
}

/* ==========================================================================
   7. Page Title & Subtitle Styling (Legacy Virtue Match)
   ========================================================================== */
/* Keep title hidden on Front Page (Home) */
.home .entry-hero,
.home .entry-header {
    display: none !important;
}

/* Page & Shop Title Container (In-Content Layout) */
.page:not(.home) .entry-header.page-title,
.woocommerce-shop .entry-header.product-archive-title,
.post-type-archive-product .entry-header.product-archive-title,
.tax-product_cat .entry-header.product-archive-title {
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    padding-top: 8px;
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 24px;
}

.page:not(.home) .entry-header.page-title .entry-title,
.woocommerce-shop .entry-header.product-archive-title .archive-title,
.post-type-archive-product .entry-header.product-archive-title .archive-title,
.tax-product_cat .entry-header.product-archive-title .archive-title {
    margin: 0;
    padding: 0;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25;
    color: #333333;
}

.page:not(.home) .entry-header.page-title .subtitle {
    margin: 4px 0 0 0;
    padding: 0;
    font-size: 15px;
    color: #666666;
    line-height: 1.4;
    font-style: italic;
}

/* Page & Shop Title Container (Above-Content Hero Layout - remove large gray block) */
.page:not(.home) .page-hero-section .entry-hero-container-inner,
.product-archive-hero-section .entry-hero-container-inner {
    background: transparent !important;
    padding: 0 !important;
}

.page:not(.home) .page-hero-section .entry-hero-container-inner .entry-header,
.product-archive-hero-section .entry-hero-container-inner .entry-header {
    min-height: auto !important;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    padding-top: 8px;
    padding-bottom: 10px;
    margin-bottom: 24px;
    align-items: flex-start;
    text-align: left;
}

.page:not(.home) .page-hero-section .entry-title,
.product-archive-hero-section .archive-title {
    margin: 0;
    padding: 0;
    font-size: 32px;
    font-weight: 500;
    color: #333333;
    text-align: left;
}

.page:not(.home) .page-hero-section .subtitle {
    margin: 4px 0 0 0;
    font-size: 15px;
    color: #666666;
    font-style: italic;
    line-height: 1.4;
}
/* ==========================================================================
   8. Header Tag Line below Logo
   ========================================================================== */
.site-branding a.brand {
    gap: 0 !important;
    row-gap: 0 !important;
}
.site-branding a.brand img.custom-logo {
    margin-bottom: 0 !important;
    display: block;
}
.site-branding .site-title-wrap {
    width: 100%;
	margin: 3px 0 10px 0;
}
.site-branding .site-title-wrap .site-description {
    font-family: "Archivo Narrow", sans-serif;
    line-height: 16px;
    font-weight: 400;
    font-style: normal;
    width: 100%;
    box-sizing: border-box;
    font-size: 16px;
    background-color: rgba(129, 162, 73, 0.9);
    color: #ffffff;
    padding: 6px 8px;
    text-align: center;
}
.site-branding .site-title-wrap .site-description {
    margin: 0 !important;
    color: #ffffff !important;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}
.site-branding .site-title-wrap .site-title {
	display:none;
}

/* ==========================================================================
   9. Header Widget Buttons (.custom-kad-btn)
   ========================================================================== */
.header-widget1 {
    width: 100%;
    max-width: 580px;
}
.header-buttons,
.header-button {
    margin: 0px;
    padding: 0px;
}
.row.header-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 -3px;
    padding: 0;
}
.header-buttons .header-button {
    box-sizing: border-box;
    padding: 3px;
    display: flex;
}
.header-buttons p {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
}
@media (min-width: 992px) {
    .header-buttons .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
    .header-buttons .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}
@media (max-width: 991px) and (min-width: 600px) {
    .header-buttons .col-md-3,
    .header-buttons .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
}
@media (max-width: 599px) {
    .header-buttons .header-button,
    .header-buttons .col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* Normal button state */
div.header-button a.custom-kad-btn {
    background-color: #305b9b;
    color: #ffffff !important;
    padding: 7px 8px;
    margin: 0;
    text-decoration: none !important;
    text-align: center;
    font-size: 0.9em;
    font-weight: 400;
    line-height: 1.2;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    border-radius: 3px;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}
/* Hover button state */
div.header-button a.custom-kad-btn:hover {
    background-color: #81a249;
    color: #ffffff !important;
    text-decoration: none !important;
}


/*footer-bar*/
.footer-widget-area.content-align-left {font-size: 11px;padding:10px; border-top: #cccccc 1px solid;border-bottom: #cccccc 1px solid;margin: 0px;}
.footer-bar .copyright {float: left;}
.footer-bar .footer-bar-links {float: right;}

/* ==========================================================================
   Kadence Footer Multi-Level Navigation
   ========================================================================== */
.footer-navigation,
.footer-navigation .footer-menu-container {
    width: 100%;
}
.footer-navigation ul#footer-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 10px 0;
    margin: 0;
}
.footer-navigation ul#footer-menu > li .menu-item-49522 {
	display:none;
}
.footer-navigation ul#footer-menu > li {
    flex: 1 1 140px;
    max-width: 200px;
    text-align: left;
    margin-bottom: 15px;
}
.footer-navigation ul#footer-menu > li > a {
    padding: 4px 0 8px;
    font-size: 16px;
    color: #333333;
    font-weight: bold;
    border-bottom: 2px solid #81a249;
    margin-bottom: 6px;
    display: block;
}
.footer-navigation ul#footer-menu > li > a:hover {
    color: #305b9b;
}
.footer-navigation ul.sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.footer-navigation ul.sub-menu li a {
    font-weight: normal;
    text-transform: capitalize;
    font-size: 14px;
    line-height: 18px;
    padding: 2px 4px;
    color: #555555;
    display: block;
}
.footer-navigation ul.sub-menu li a:hover {
    color: #ffffff !important;
    background: #305b9b;
    border-radius: 2px;
}
.footer-navigation ul.sub-menu ul.sub-menu {
    padding-left: 10px;
}
@media (max-width: 991px) {
    .footer-navigation ul#footer-menu > li {
        flex: 1 1 45%;
        max-width: none;
    }
}
@media (max-width: 576px) {
    .footer-navigation ul#footer-menu > li {
        flex: 1 1 100%;
    }
}

/* Hide Home menu item in footer navigation */
.footer-navigation ul#footer-menu > li.menu-item-49522,
.footer-navigation ul#footer-menu > li.menu-item-home {
    display: none !important;
}

/* ==========================================================================
   Footer Widgets 1, 2, and 3 - Match Footer Nav Menu
   ========================================================================== */
.site-top-footer-wrap .footer-widget1 .widget-title,
.site-top-footer-wrap .footer-widget2 .widget-title,
.site-top-footer-wrap .footer-widget3 .widget-title {
    padding: 4px 0 8px;
    font-size: 16px;
    color: #333333;
    font-weight: bold;
    border-bottom: 2px solid #81a249;
    margin-bottom: 6px;
    margin-top: 0;
    line-height: normal;
}

.site-top-footer-wrap .footer-widget1 ul,
.site-top-footer-wrap .footer-widget2 ul,
.site-top-footer-wrap .footer-widget3 ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.site-top-footer-wrap .footer-widget1 ul li,
.site-top-footer-wrap .footer-widget2 ul li,
.site-top-footer-wrap .footer-widget3 ul li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.site-top-footer-wrap .footer-widget1 ul li a,
.site-top-footer-wrap .footer-widget2 ul li a,
.site-top-footer-wrap .footer-widget3 ul li a {
    font-weight: normal;
    text-transform: capitalize;
    font-size: 14px;
    line-height: 18px;
    padding: 2px 4px;
    color: #555555;
    display: block;
    text-decoration: none !important;
    border-radius: 2px;
    transition: background 0.15s ease, color 0.15s ease;
}

.site-top-footer-wrap .footer-widget1 ul li a:hover,
.site-top-footer-wrap .footer-widget2 ul li a:hover,
.site-top-footer-wrap .footer-widget3 ul li a:hover {
    color: #ffffff !important;
    background: #305b9b !important;
    text-decoration: none !important;
}

/* ==========================================================================
   bcho-links-list (Links Manager Styling)
   ========================================================================== */
ul.bcho-links-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
ul.bcho-links-list li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 2px 0 !important;
}
ul.bcho-links-list li a {
    font-weight: normal;
    text-transform: capitalize;
    font-size: 14px;
    line-height: 18px;
    padding: 3px 6px;
    color: #555555;
    display: block;
    text-decoration: none !important;
    border-radius: 2px;
    transition: background 0.15s ease, color 0.15s ease;
}
ul.bcho-links-list li a:hover {
    color: #ffffff !important;
    background: #305b9b !important;
    text-decoration: none !important;
}

/* ==========================================================================
   WooCommerce Buy Buttons
   ========================================================================== */
.wc-block-grid__product:not(.woo-archive-btn-button) .wc-block-grid__product-add-to-cart .wp-block-button__link {
    background: #81a249!important;
    padding: 8px!important;
	color: #ffffff;

}
/* ==========================================================================
   15. Legacy Virtue [infobox] Shortcode Support
   ========================================================================== */
a.kadinfolink {
    display: block;
    text-decoration: none;
    color: inherit;
    margin-bottom: 20px;
}
a.kadinfolink:hover,
a.kadinfolink:focus {
    text-decoration: none;
    color: inherit;
}
.kad-info-box {
    padding: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
a.kadinfolink:hover .kad-info-box {
    background-color: rgba(0, 0, 0, 0.03);
}
.kad-info-box::after,
.kad-info-box.clearfix::after {
    content: ;
    display: table;
    clear: both;
}
.kad-info-box i,
.kad-info-box img {
    float: left;
    display: block;
    margin: 5px 20px 10px 0 !important;
    line-height: 1;
    color: var(--global-palette1, #305b9b);
}
.kad-info-box img {
    border: 0;
    max-width: 100%;
    height: auto;
}
.kad-info-box .kad-info-box-content {
    display: flow-root;
    line-height: 1.6;
    color: var(--global-palette4, #555555);
}
.kad-info-box .kad-info-box-content p {
    margin: 0 0 10px 0;
}
.kad-info-box .kad-info-box-content p:last-child {
    margin-bottom: 0;
}
.kad-info-box .kad-info-box-content .title {
    font-weight: 600;
    color: var(--global-palette3, #305b9b);
}

/* ==========================================================================
   16. bchMembership Form Image Alignment Fix
   Ensure form checkbox images remain inline with button text
   ========================================================================== */
.membersform img,
.vmembersform img,
#memform img,
.membersform ul.mtype-group img,
.membersform .mtype-list img {
    display: inline !important;
    vertical-align: middle !important;
}
/* ==========================================================================
   17. Modern Footer Styling
   ========================================================================== */
.site-top-footer-wrap .footer-widget4 .widget-title {
    padding: 4px 0 8px;
    font-size: 16px;
    color: #333333;
    font-weight: bold;
    border-bottom: 2px solid #81a249;
    margin-bottom: 12px;
    margin-top: 0;
    line-height: normal;
}
.site-top-footer-inner-wrap .widget-title {
    margin-bottom: 14px;
    letter-spacing: 0.02em;
}
.bcho-footer-brand p {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin-bottom: 12px;
}
.site-top-footer-wrap .footer-widget-area ul.bcho-footer-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.site-top-footer-wrap .footer-widget-area ul.bcho-footer-links li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 8px 0 !important;
}
.site-top-footer-wrap .footer-widget-area ul.bcho-footer-links li a {
    font-size: 14px;
    line-height: 20px;
    padding: 2px 0;
    color: #475569 !important;
    background: transparent !important;
    display: inline-block;
    text-decoration: none !important;
    border-radius: 0 !important;
    transition: color 0.15s ease, transform 0.15s ease;
}
.site-top-footer-wrap .footer-widget-area ul.bcho-footer-links li a:hover {
    color: #2c5e3b !important;
    background: transparent !important;
    text-decoration: none !important;
    transform: translateX(4px);
}
.site-top-footer-wrap .footer-widget-area ul.bcho-footer-links li.hub-highlight a {
    color: #2c5e3b !important;
    font-weight: 700;
}
.site-top-footer-wrap .footer-widget-area ul.bcho-footer-links li.cta-highlight a {
    color: #d48822 !important;
    font-weight: 700;
}
.modern-footer-bar {
    border-top: 1px solid #e2e8f0;
    padding: 16px 0 !important;
}
.modern-footer-bar .footer-bar-links a {
    transition: color 0.15s ease;
}
.modern-footer-bar .footer-bar-links a:hover {
    color: #2c5e3b !important;
    text-decoration: underline !important;
}

@media (max-width: 767px) {
    .site-top-footer-inner-wrap.site-footer-row-columns-4 {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
    .site-top-footer-inner-wrap.site-footer-row-columns-4 .site-footer-section {
        width: 100% !important;
    }
}

/* Section 18: Highline Newsletter Query Cards - Equal Row Heights & 15-Line Clamp */
.wp-block-kadence-query .kb-query-grid-wrap .kb-query-item:has(.newsletter_grid),
.page-id-47121 .wp-block-kadence-query .kb-query-grid-wrap .kb-query-item {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.newsletter_grid.kb-row-layout-wrap,
.newsletter_grid .kt-row-column-wrap,
.newsletter_grid .wp-block-kadence-column,
.newsletter_grid .kt-inside-inner-col {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    flex: 1 1 auto !important;
}

/* Ensure all newsletter cover images maintain identical 3:4 aspect ratio */
.newsletter_grid .kb-image51272_ae7be4-05 img,
.newsletter_grid .wp-block-kadence-image img {
    aspect-ratio: 3 / 4 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: auto !important;
}

/* Dynamic excerpt 15-line clamp with ellipsis */
.newsletter_grid p.kt-adv-heading51272_438580-5b,
.newsletter_grid .nl-card-excerpt,
.newsletter_grid .wp-block-kadence-column > .kt-inside-inner-col > p.wp-block-kadence-advancedheading {
    display: -webkit-box !important;
    -webkit-line-clamp: 15 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 0.85rem !important;
    line-height: 1.35 !important;
}

/* Align Read Issue button and icons to bottom of cards */
.newsletter_grid .kb-buttons-wrap {
    margin-top: auto !important;
    padding-top: 15px !important;
}

.newsletter_grid .kt-svg-icons {
    margin-top: 10px !important;
}


/* ==========================================================================
   Section 19: BCHO Top Bar (Kadence Native Header Builder + Production Match)
   ========================================================================== */
.site-top-header-wrap,
#topbar.topclass {
    background-color: #305b9b !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
}
.site-top-header-wrap .site-header-row-container-inner,
#topbar .site-container {
    max-width: var(--global-content-width, 1290px);
    margin: 0 auto;
    padding: 0 20px;
}
.site-top-header-wrap .site-top-header-inner-wrap,
#topbar .kad-topbar-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 38px;
    padding: 4px 0;
}
.site-top-header-wrap .site-header-top-section-left,
#topbar .kad-topbar-left {
    display: flex;
    align-items: center;
}
.site-top-header-wrap .topbarmenu ul,
#topbar .topbarmenu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    gap: 2px;
}
.site-top-header-wrap .topbarmenu ul li,
#topbar .topbarmenu ul li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
}
.site-top-header-wrap .topbarmenu ul li a,
#topbar .topbarmenu ul li a {
    color: #ffffff !important;
    font-size: 26px !important;
    padding: 2px 8px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: opacity 0.2s ease;
    line-height: 1;
}
.site-top-header-wrap .topbarmenu ul li a:hover,
#topbar .topbarmenu ul li a:hover {
    color: #ffffff !important;
    opacity: 0.8;
}
.site-top-header-wrap .site-header-top-section-right,
#topbar .kad-topbar-right {
    display: flex;
    align-items: center;
}
.site-top-header-wrap .header-search-bar form,
#topbar-search form.form-search {
    position: relative;
    margin: 0;
    display: flex;
    align-items: center;
}
.site-top-header-wrap .header-search-bar form label {
    margin: 0;
    display: flex;
    align-items: center;
}
.site-top-header-wrap .header-search-bar input.search-field,
#topbar-search input.search-query {
    background: rgba(255, 255, 255, 0.2) !important;
    border: 0 !important;
    color: #ffffff !important;
    height: 25px !important;
    line-height: 25px !important;
    border-radius: 0px !important;
    padding: 2px 8px 2px 30px !important;
    font-size: 13px !important;
    font-family: Lato, sans-serif;
    width: 180px;
    box-shadow: none !important;
    outline: none !important;
    transition: background 0.2s ease, width 0.2s ease;
}
.site-top-header-wrap .header-search-bar input.search-field:focus,
#topbar-search input.search-query:focus {
    background: rgba(255, 255, 255, 0.3) !important;
    width: 220px;
}
.site-top-header-wrap .header-search-bar input.search-field::placeholder,
#topbar-search input.search-query::placeholder {
    color: rgba(255, 255, 255, 0.9) !important;
    opacity: 1;
}
.site-top-header-wrap .header-search-bar input.search-submit {
    display: none !important;
}
.site-top-header-wrap .header-search-bar .kadence-search-icon-wrap {
    position: absolute !important;
    left: 8px !important;
    right: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 16px !important;
    height: 16px !important;
    pointer-events: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
}
.site-top-header-wrap .header-search-bar .kadence-search-icon-wrap svg {
    width: 13px !important;
    height: 13px !important;
    color: #ffffff !important;
    fill: currentColor !important;
}
#topbar-search button.search-icon {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #ffffff !important;
    font-size: 13px;
    cursor: pointer;
    line-height: 1;
    display: flex;
    align-items: center;
}
@media (max-width: 767px) {
    .site-top-header-wrap,
    #topbar {
        display: none !important;
    }
}

/* ==========================================================================
   Section 20: BCHO Mobile Header & Mobile Menu (Exact Match to Production)
   ========================================================================== */

/* 1. Ensure Mobile Toggle / Drawer is NEVER visible on Desktop */
@media (min-width: 992px) {
    .mobile-toggle-open-container,
    #mobile-toggle,
    .bcho-mobile-header,
    #mobile-header,
    .site-mobile-header-wrap {
        display: none !important;
    }
}

/* 2. Mobile Header Styling (< 992px) */
@media (max-width: 991px) {
    #main-header {
        display: none !important;
    }
    #mobile-header.bcho-mobile-header {
        display: block !important;
        background: #ffffff;
        padding-top: 10px;
    }
    .bcho-mobile-branding {
        text-align: center;
    }
    .bcho-mobile-branding a.brand {
        display: block;
        text-align: center;
    }
    .bcho-mobile-branding img.custom-logo {
        max-width: 280px;
        height: auto;
        margin: 0 auto;
        display: block;
    }
    .bcho-mobile-branding .kad_tagline {
        background-color: rgba(129, 162, 73, 0.9) !important;
        color: #ffffff !important;
        padding: 6px 8px !important;
        margin: 10px 0 !important;
        text-align: center !important;
        font-family: "Archivo Narrow", sans-serif;
        font-size: 16px !important;
        line-height: 1.3 !important;
        font-weight: 400 !important;
    }

    /* Stack Header Action Buttons vertically */
    .bcho-mobile-buttons {
        margin: 12px 0 16px 0;
    }
    .bcho-mobile-buttons .header-buttons {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin: 0;
    }
    .bcho-mobile-buttons .header-button {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .bcho-mobile-buttons a.custom-kad-btn {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        padding: 8px 12px !important;
        background: #305b9b !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        border-radius: 2px !important;
        text-decoration: none !important;
        box-sizing: border-box;
    }
    .bcho-mobile-buttons a.custom-kad-btn i,
    .bcho-mobile-buttons a.custom-kad-btn span {
        float: right;
    }

    /* 3. Full-width Menu Bar Trigger */
    .bcho-mobile-nav-bar {
        width: 100%;
        margin-top: 5px;
    }
    .bcho-menu-btn {
        width: 100% !important;
        height: 50px !important;
        background: rgba(77, 108, 155, 0.7) !important;
        border: none !important;
        padding: 0 15px !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        cursor: pointer !important;
        outline: none !important;
        transition: background 0.2s ease;
    }
    .bcho-menu-btn:hover,
    .bcho-menu-btn.active {
        background: #4d6c9b !important;
    }
    .bcho-menu-text {
        font-family: Lato, sans-serif !important;
        font-size: 18px !important;
        color: rgba(0, 0, 0, 0.8) !important;
        font-weight: 400 !important;
    }
    .bcho-menu-btn:hover .bcho-menu-text,
    .bcho-menu-btn.active .bcho-menu-text {
        color: #ffffff !important;
    }
    .bcho-menu-icon {
        color: rgba(0, 0, 0, 0.8) !important;
        font-size: 20px !important;
        display: flex;
        align-items: center;
    }
    .bcho-menu-btn:hover .bcho-menu-icon,
    .bcho-menu-btn.active .bcho-menu-icon {
        color: #ffffff !important;
    }

    /* 4. Collapsible Mobile Navigation Accordion */
    .bcho-mobile-nav-collapse {
        background: rgba(77, 108, 155, 0.7) !important;
        width: 100% !important;
    }
    .bcho-mobile-search-wrap {
        padding: 15px 15px 10px 15px;
    }
    .bcho-mobile-search {
        position: relative;
        margin: 0;
    }
    .bcho-mobile-search input.search-query {
        background: rgba(255, 255, 255, 0.2) !important;
        border: 0 !important;
        color: #ffffff !important;
        height: 32px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 5px 10px 5px 35px !important;
        font-size: 14px !important;
        border-radius: 2px !important;
        outline: none !important;
        box-shadow: none !important;
    }
    .bcho-mobile-search input.search-query::placeholder {
        color: rgba(255, 255, 255, 0.85) !important;
    }
    .bcho-mobile-search button.search-icon {
        position: absolute;
        left: 10px;
        top: 50%;
        transform: translateY(-50%);
        background: transparent !important;
        border: none !important;
        color: #ffffff !important;
        font-size: 15px;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 1;
        cursor: pointer;
    }

    /* Menu List */
    ul.bcho-mnav {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    ul.bcho-mnav li {
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
        position: relative;
    }
    ul.bcho-mnav li a {
        display: block !important;
        padding: 11px 45px 11px 15px !important;
        font-family: Lato, sans-serif !important;
        font-size: 16px !important;
        line-height: 20px !important;
        color: rgba(0, 0, 0, 0.8) !important;
        text-decoration: none !important;
        transition: background 0.15s ease, color 0.15s ease;
    }
    ul.bcho-mnav li a:hover {
        background: rgba(0, 0, 0, 0.06) !important;
        color: rgba(0, 0, 0, 0.9) !important;
    }
    ul.bcho-mnav li.current-menu-item > a,
    ul.bcho-mnav li.current_page_item > a {
        background: #4d6c9b !important;
        color: #f7f2de !important;
    }

    /* Submenu Accordion Toggle Button */
    .bcho-sub-toggle {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        width: 45px !important;
        height: 42px !important;
        background: transparent !important;
        border: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: rgba(0, 0, 0, 0.8) !important;
        font-size: 16px !important;
        cursor: pointer !important;
        padding: 0 !important;
        margin: 0 !important;
        outline: none !important;
    }
    .bcho-sub-toggle:hover {
        color: #000000 !important;
        background: rgba(0, 0, 0, 0.04) !important;
    }

    /* Nested Sub-menus */
    ul.bcho-mnav ul.sub-menu {
        display: none;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: rgba(0, 0, 0, 0.08) !important;
    }
    ul.bcho-mnav ul.sub-menu.bcho-sub-open {
        display: block !important;
    }
    ul.bcho-mnav ul.sub-menu li a {
        padding-left: 28px !important;
        font-size: 14px !important;
    }
    ul.bcho-mnav ul.sub-menu ul.sub-menu li a {
        padding-left: 42px !important;
        font-size: 13px !important;
    }
}
