/* ============================================
   COLDWELL BANKER COMMERCIAL — Brand Theme
   Pesola Advisors Group, Cincinnati
   
   Color Palette:
   - CB Navy:     #1b1b1e (primary brand)
   - Deep Navy:   #1b1b1e (dark backgrounds)
   - Midnight:    #1b1b1e (darkest)
   - Gold Accent: #B48E5D (warm gold, CTAs)
   - Gold Light:  #B48E5D (hover state)
   - Cool Gray:   #ffffff (light bg sections)
   - Warm Gray:   #E8E4DF (subtle dividers)
   - Text Dark:   #1b1b1e (navy text on light)
   - Text Light:  #B48E5D (muted text on dark)
   ============================================ */

:root {
    --cbc-navy: #1b1b1e;
    --cbc-deep: #1b1b1e;
    --cbc-midnight: #1b1b1e;
    --cbc-gold: #B48E5D;
    --cbc-gold-light: #B48E5D;
    --cbc-gold-dark: #B48E5D;
    --cbc-cool-gray: #ffffff;
    --cbc-warm-gray: #E8E4DF;
    --cbc-text-dark: #1b1b1e;
    --cbc-text-muted: #B48E5D;
    --cbc-white: #FFFFFF;
}

/* ---- GLOBAL OVERRIDES ---- */

/* Replace gold accent #B48E5D → #1b1b1e everywhere */
.btn-spark,
.btn.btn-spark,
a.btn-spark {
    background: var(--cbc-gold) !important;
    border-color: var(--cbc-gold) !important;
    color: var(--cbc-white) !important;
}
.btn-spark:hover,
.btn.btn-spark:hover,
a.btn-spark:hover {
    background: var(--cbc-gold-dark) !important;
    border-color: var(--cbc-gold-dark) !important;
}

/* Dark sections use deep navy, not #1B1B1E */
.fd-counters,
.page-header,
.sp-header { background: #1b1b1e !important;
}

/* ---- HEADER ---- */
.sp-header .cb-image {
    filter: none !important; /* Remove the invert filter — using proper white PNG now */
    width: 200px !important;
    max-width: none !important;
}
@media (max-width: 991px) {
    .sp-header .widget_logo_mobile .cb-image {
        width: 150px !important;
    }
}

.fd-header__cta.btn-spark {
    background: var(--cbc-gold) !important;
    border: none !important;
}

/* Header phone color */
.fd-header__cta[aria-label] {
    color: var(--cbc-white) !important;
}

/* Get In Touch button style */
.fd-header__col a[href="/contact/"] {
    color: var(--cbc-gold) !important;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 12px;
}

/* ---- HERO ---- */
.homepage-regalia .fd-hero {
    background-color: var(--cbc-deep) !important;
}
.fd-hero__content .cbl__text p {
    color: var(--cbc-gold) !important;
}
.fd-hero .btn-spark {
    background: var(--cbc-white) !important;
    color: var(--cbc-deep) !important;
    border: 2px solid var(--cbc-white) !important;
    font-weight: 700;
}
.fd-hero .btn-spark:hover {
    background: transparent !important;
    color: var(--cbc-white) !important;
}

/* ---- ABOUT / BIO SECTION ---- */
.fd-about .cbl__text p,
.fd-bio .cbl__text p {
    color: var(--cbc-text-dark);
}
.fd-about .big-letter-spacing,
.fd-bio .big-letter-spacing {
    color: var(--cbc-gold) !important;
}

/* ---- COUNTERS ---- */
.fd-counters {
    background: #1b1b1e !important;
}
.fd-counters .big-letter-spacing {
    color: var(--cbc-gold) !important;
}
.fd-counters .cb-counter__number,
.fd-counters .fd-fluid-counter {
    color: var(--cbc-white) !important;
}

/* ---- SERVICES CARDS ---- */
.fd-services {
    background: var(--cbc-cool-gray) !important;
}
.fd-services .big-letter-spacing {
    color: var(--cbc-gold) !important;
}
.fd-service-card__inner {
    border-radius: 8px;
    overflow: hidden;
}
.fd-service-card__label {
    background: #1b1b1e !important;
    backdrop-filter: blur(4px);
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    padding: 12px 20px !important;
}

/* ---- LISTINGS CAROUSEL ---- */
.fd-listings-carousel {
    background: var(--cbc-white) !important;
}
.listings-carousel-eyebrow .cbl__text p {
    color: var(--cbc-gold) !important;
}
.fd-listing-card__price {
    background: #1b1b1e !important;
}
.fd-listings-carousel .btn-spark,
.fd-listings-carousel a.btn-spark {
    background: var(--cbc-gold) !important;
}
.cbw-slider__arrow--prev button,
.cbw-slider__arrow--next button {
    border-color: var(--cbc-navy) !important;
}
.cbw-slider__arrow--prev button:hover,
.cbw-slider__arrow--next button:hover {
    background: var(--cbc-navy) !important;
}
.cbw-slider__arrow--prev button:hover svg,
.cbw-slider__arrow--next button:hover svg {
    fill: var(--cbc-white) !important;
}

/* ---- CTA SECTION ---- */
.fd-cta-bottom {
    background-color: #1b1b1e !important;
}
.fd-cta-bottom .btn-spark {
    background: transparent !important;
    border: 2px solid var(--cbc-white) !important;
    color: var(--cbc-white) !important;
}
.fd-cta-bottom .btn-spark:hover {
    background: var(--cbc-gold) !important;
    border-color: var(--cbc-gold) !important;
}

/* ---- FOOTER ---- */
.site-footer {
    background: var(--cbc-midnight) !important;
}
.footer-top {
    border-bottom-color: rgba(255,255,255,0.08) !important;
}
.footer-bottom a:hover {
    color: var(--cbc-gold) !important;
}

/* Footer brand name */
.footer-top .italiana-text {
    color: var(--cbc-white) !important;
}

/* ---- LISTING CATEGORY PAGES ---- */
.lc-hero {
    background: #1b1b1e !important;
}
.lc-hero__eyebrow {
    color: var(--cbc-gold) !important;
}
.lc-filters__tab.active,
.lc-filters__tab:hover {
    background: var(--cbc-navy) !important;
    border-color: var(--cbc-navy) !important;
}
.lc-card__status--sale {
    background: var(--cbc-navy) !important;
}
.lc-card__status--lease {
    background: var(--cbc-gold) !important;
}
.lc-cta {
    background: #1b1b1e !important;
}
.lc-cta__btn {
    background: var(--cbc-gold) !important;
}
.lc-cta__btn:hover {
    background: var(--cbc-gold-dark) !important;
}

/* ---- TEAM PAGES ---- */
.team-hero,
.join-hero {
    background: #1b1b1e !important;
}
.team-hero__eyebrow,
.join-hero__eyebrow,
.founder-content__eyebrow,
.team-card__title {
    color: var(--cbc-gold) !important;
}
.founder-content__title {
    color: var(--cbc-navy) !important;
}
.team-cta,
.join-cta {
    background: #1b1b1e !important;
}
.team-cta__btn,
.join-cta__btn {
    background: var(--cbc-gold) !important;
}
.team-cta__btn:hover,
.join-cta__btn:hover {
    background: var(--cbc-gold-dark) !important;
}
.join-why__card-icon {
    color: var(--cbc-navy);
}

/* ---- NEIGHBORHOODS / MAP ---- */
.nbh-hero {
    background: #1b1b1e !important;
}
.nbh-hero__eyebrow,
.nbh-map__content-eyebrow {
    color: #fff !important;
}
.nbh-area-card__desc {
    color: rgba(255,255,255,0.85) !important;
}
.nbh-map {
    background: var(--cbc-deep) !important;
}
.nbh-map__cta {
    background: var(--cbc-gold) !important;
}
.nbh-map__cta:hover {
    background: var(--cbc-gold-dark) !important;
}

/* ---- GENERAL LINK COLORS ---- */
a {
    color: var(--cbc-navy);
}
a:hover {
    color: var(--cbc-gold);
}

/* ---- SCROLLBAR (subtle) ---- */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--cbc-cool-gray);
}
::-webkit-scrollbar-thumb {
    background: var(--cbc-navy);
    border-radius: 4px;
}

/* ---- SELECTION COLOR ---- */
::selection {
    background: var(--cbc-navy);
    color: var(--cbc-white);
}

/* ---- STATS/COUNTERS SECTION (homepage) ---- */
.fd-stats {
    background: #1b1b1e !important;
}
.fd-stats .big-letter-spacing,
.fd-stats .fd-text__color-2 {
    color: var(--cbc-gold) !important;
}
.fd-stats .fd-stats__title {
    color: var(--cbc-white) !important;
}
.fd-stats .cb-counter__number,
.fd-stats .fd-fluid-counter {
    color: var(--cbc-white) !important;
}
.fd-stats .fd-fluid-text-xs {
    color: rgba(255,255,255,0.7) !important;
}

/* ---- HERO EYEBROW COLOR ---- */
.fd-hero .big-letter-spacing .cbl__text p,
.fd-hero .cbl__text p {
    color: var(--cbc-gold) !important;
}

/* ---- ABOUT EYEBROW ---- */
.fd-bio .fd-fluid-text-xs,
section .fd-fluid-text-xs.big-letter-spacing {
    color: var(--cbc-gold) !important;
}
.fd-stats .fd-fluid-text-xs.big-letter-spacing {
    color: #fff !important;
}

/* ---- SERVICES SECTION EYEBROW ---- */
.fd-services .fd-fluid-text-xs.big-letter-spacing {
    color: var(--cbc-gold) !important;
}

/* Force animate elements visible (AgentFire unveil JS may not trigger) */
.fd-stats.animate,
.fd-stats .animate {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Force all animated elements visible — AgentFire Unveil JS not running */
.animate {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}


/* Fix header logo aspect ratio */
.sp-header .cb-image img, .sp-header .widget_logo_desktop .cb-image img { width: auto !important; max-width: none !important; object-fit: contain !important; }


/* Remove white bar on internal pages */
.page-header, .sp-header__bottom, .sp-header .sp-header__separator { background: transparent !important; border: none !important; box-shadow: none !important; }
#page-header { background: transparent !important; }

/* Logo container - no stretch */
.sp-header .cb-image { width: auto !important; max-width: none !important; height: auto !important; }
.sp-header .widget_logo_desktop .cb-image { width: auto !important; }
.sp-header .widget_logo_desktop { flex: 0 0 auto !important; width: auto !important; }

/* Logo fix - correct selector */
.sp-header img.cb-image { width: auto !important; max-width: none !important; object-fit: contain !important; }


.fd-stats, .fd-stats *, .fd-stats .fd-fluid-text-xs, .fd-stats .fd-fluid-counter, .fd-stats .big-letter-spacing { color: #fff !important; }
.fd-stats { background: #1b1b1e !important; }

/* ---- NAV BAR CENTERING ---- */
.sp-header .cbl__row.row_header {
    min-height: 120px !important;
}
.sp-header .cbl__row.row_header .cbl__row-box {
    align-items: center !important;
    min-height: 120px !important;
}
.sp-header .cbl__column {
    display: flex !important;
    align-items: center !important;
}
.sp-header .fd-header__col {
    align-items: center !important;
    height: 100% !important;
}
.sp-header img.cb-image {
    height: 120px !important;
}
@media (max-width: 991px) {
    .sp-header .cbl__row.row_header,
    .sp-header .cbl__row.row_header .cbl__row-box {
        min-height: 80px !important;
    }
    .sp-header img.cb-image {
        height: 60px !important;
    }
}

/* ---- NAV COLUMN BALANCE ---- */
.sp-header .cbl__column--3.column_left {
    flex: 0 0 35% !important;
}
.sp-header .cbl__column--3.column_center {
    flex: 0 0 30% !important;
    justify-content: center !important;
    display: flex !important;
    align-items: center !important;
}
.sp-header .column_center .cbl__column-box {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}
.sp-header .column_center .widget_logo_desktop {
    display: flex !important;
    justify-content: center !important;
}
.sp-header .cbl__column--3.column_right {
    flex: 0 0 35% !important;
    justify-content: flex-end !important;
}


/* ---- CONTACT LINK WHITE ---- */
.fd-header__idx .aiw-account__guest a,
.aiw-account__guest a {
    color: #fff !important;
}

/* ---- DROPDOWN MENU BLUE ---- */
.fd-header__nav li .sub-menu {
    background: #1b1b1e !important;
}
.fd-header__nav li .sub-menu:before {
    border-bottom-color: #1b1b1e !important;
}

/* ---- MEGA MENU BLUE ---- */
.fd-aside__wrapper,
.fd-aside .fd-aside__wrapper,
.spark-mega-menu .fd-aside__wrapper {
    background: #1b1b1e !important;
}
.fd-aside__overlay {
    background: #1b1b1e !important;
    background: #1b1b1e !important;
}

/* ---- REMOVE WHITE BAR ABOVE NAV ---- */
body {
    background: #1b1b1e !important;
}
#page-container, .sp-content, main {
    background-color: #fff;
}

/* ---- TRANSPARENT HEADER ON INTERNAL PAGES ---- */
body:not(.home) .sp-header,
body:not(.home) .page-header,
body:not(.home) #page-header {
    background-color: transparent !important;
    background: transparent !important;
}
body:not(.home) .sp-header .cbl__row.row_header {
    background: transparent !important;
}


/* ---- HERO FILLS TO TOP ON INTERNAL PAGES ---- */
body:not(.home) main.site-main,
body:not(.home) main#page-container,
body:not(.home) #page-header ~ main,
body:not(.home) #page-header ~ section,
body:not(.home) header.page-header ~ main,
body:not(.home) header.page-header ~ section {
    position: relative;
    top: -29px;
    margin-bottom: -29px;
}

/* ---- GLOBAL COLOR FIXES ---- */
/* Eyebrow text white on dark/hero sections */
[class*="hero"] .fd-fluid-text-xs.big-letter-spacing,
[class*="hero"] .fd-fluid-text-xs,
[class*="hero"] h1, [class*="hero"] h2, [class*="hero"] p,
.nbh-hero .fd-fluid-text-xs.big-letter-spacing,
.team-hero .fd-fluid-text-xs.big-letter-spacing,
.join-hero .fd-fluid-text-xs.big-letter-spacing,
.nbh-hero h1, .nbh-hero h2, .nbh-hero p,
.team-hero h1, .team-hero h2, .team-hero p,
.join-hero h1, .join-hero h2, .join-hero p {
    color: #fff !important;
}

/* Mobile menu bg blue */
.sp-menu-mobile, .sp-menu-mobile__wrapper {
    background: #1b1b1e !important;
}

/* Blog CTA section: old dark #1B1B1E → blue */
.bg__primary {
    background: #1b1b1e !important;
}

/* Blog gold text fix */
.fd-outline-cta .big-letter-spacing,
.fd-outline-cta .fd-text__color-2,
.fd-outline-cta .fd-fluid-text-xs {
    color: #fff !important;
}

/* Fix skip-to-content link */
a.skip-to-content-link {
    color: #fff !important;
}

/* Listings page stats/counters on blue bg */
.fd-counter .fd-text__color-2,
.fd-counter .big-letter-spacing {
    color: #fff !important;
}


/* ===== SECTION BACKGROUND FIX =====
 * body bg is #1b1b1e (to prevent white bar between header/hero).
 * Instead of blanket white on all sections (which breaks intentionally dark sections),
 * we set the main content wrapper to white and let dark sections override.
 */
body:not(.home) main.site-main,
body:not(.home) main#page-container,
body:not(.home) .sp-content {
    background-color: #fff;
}


/* ===== MOBILE FIXES (375px-991px) ===== */
@media (max-width: 991px) {
    /* Stats section: 2x2 grid */
    .fd-stats .row { flex-wrap: wrap; }
    .fd-stats .row .col-lg-3 { flex: 0 0 50%; max-width: 50%; margin-bottom: 20px; }
    .fd-stats .cbl__widget-counter-number { font-size: 32px !important; }
    
    /* Homepage services cards stack */
    .hp-services__grid { grid-template-columns: 1fr !important; }
    .hp-svc { padding: 35px 25px; }
    .hp-services__title { font-size: 32px; }
    
    /* Feature banner: 2 columns */
    .hp-features__grid { grid-template-columns: repeat(2, 1fr) !important; gap: 25px; }
    
    /* Map section stack */
    .hp-map__wrapper { flex-direction: column; }
    .hp-map__svg-container { min-width: 100%; }
    
    /* Footer adjustments */
    footer .row .col-lg-2,
    footer .row .col-lg-3,
    footer .row .col-lg-4 { flex: 0 0 50%; max-width: 50%; margin-bottom: 20px; }
    
    /* Hero text sizing */
    .cbw-hero__title, .fd-fluid-h1 { font-size: 32px !important; }
    .cbw-hero__subtitle { font-size: 15px !important; }
    
    /* Investors page */
    .inv-cards__grid { grid-template-columns: 1fr !important; }
    .inv-asset__grid { grid-template-columns: repeat(2, 1fr) !important; }
    .inv-stat { padding: 20px 15px; }
    
    /* Sellers page */
    .sll-steps__grid { grid-template-columns: 1fr !important; }
    .sll-cards__grid { grid-template-columns: 1fr !important; }
    
    /* About page */
    .abt-diff__grid { grid-template-columns: 1fr !important; }
    .abt-values__grid { grid-template-columns: 1fr !important; }
    
    /* Contact page */
    .ctc-form__row { grid-template-columns: 1fr !important; }
    .ctc-info__grid { grid-template-columns: 1fr !important; gap: 15px; }
    
    /* Neighborhoods page */
    .nbh-map__layout { grid-template-columns: 1fr !important; }
    .nbh-areas__grid { grid-template-columns: 1fr !important; }
    .nbh-area-card { height: 200px; }
    
    /* Community pages */
    .cm-overview__grid { grid-template-columns: 1fr !important; }
    .cm-lifestyle__grid { grid-template-columns: repeat(2, 1fr) !important; }
    .cm-schools__grid { grid-template-columns: 1fr !important; }
    .cm-business__grid { grid-template-columns: repeat(2, 1fr) !important; }
    
    /* Listings page */
    .ex-listings__grid { grid-template-columns: 1fr !important; }
    
    /* Blog */
    .blog-grid { grid-template-columns: 1fr !important; }
    
    /* General: ensure no horizontal overflow */
    body { overflow-x: hidden; }
    .container { padding-left: 15px; padding-right: 15px; }
}

@media (max-width: 575px) {
    /* Feature banner: single column on phones */
    .hp-features__grid { grid-template-columns: 1fr !important; }
    
    /* Stats: single column */
    .fd-stats .row .col-lg-3 { flex: 0 0 100%; max-width: 100%; }
    
    /* Investors asset grid */
    .inv-asset__grid { grid-template-columns: 1fr !important; }
    
    /* Community lifestyle/business */
    .cm-lifestyle__grid { grid-template-columns: 1fr !important; }
    .cm-business__grid { grid-template-columns: 1fr !important; }
    
    /* Footer: single column */
    footer .row .col-lg-2,
    footer .row .col-lg-3,
    footer .row .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
    
    /* Larger touch targets */
    .fd-footer__link, footer a { padding: 4px 0; min-height: 44px; display: inline-flex; align-items: center; }
}

/* Mega menu CBC logo - hide on mobile */
@media (max-width: 991px) { .cbc-mega-logo { display: none !important; } }




/* NICK HEADER LOGO FINAL OVERRIDE */
.sp-header .widget_logo_desktop .cb-image,
.sp-header .widget_logo_desktop img.cb-image,
.sp-header .widget_logo_desktop .cb-image img {
    width: auto !important;
    max-width: none !important;
    height: 80px !important;
    max-height: 80px !important;
    object-fit: contain !important;
}

.sp-header .widget_logo_mobile .cb-image,
.sp-header .widget_logo_mobile img.cb-image,
.sp-header .widget_logo_mobile .cb-image img {
    width: auto !important;
    max-width: none !important;
    height: 52px !important;
    max-height: 52px !important;
    object-fit: contain !important;
}

.sp-header .cbc-mega-logo img {
    width: auto !important;
    max-width: none !important;
    height: 80px !important;
    max-height: 80px !important;
    object-fit: contain !important;
}
/* ---- TEXT RESET: BODY COPY + STANDARD HEADINGS BACK TO BLACK ---- */
:root {
    --cbc-text-dark: #121619;
    --cbc-text-muted: #121619;
}

body,
body p,
body li,
body .cbl__text,
body .cbl__text p,
body .cbl__text li,
body .fd-about .cbl__text p,
body .fd-bio .cbl__text p,
body .hp-map__content,
body .hp-map__content p,
body .hp-map__market,
body .hp-map__market p {
    color: #121619 !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body .cb-title,
body .fd-fluid-h1,
body .fd-fluid-h2,
body .fd-fluid-h3,
body .hp-map__title,
body .listings-carousel-title,
body .footer-site-title {
    color: #121619;
}

/* keep dark-section headings/copy white where intended */
.fd-hero h1,
.fd-hero h2,
.fd-hero h3,
.fd-hero p,
.fd-stats h1,
.fd-stats h2,
.fd-stats h3,
.fd-stats p,
.fd-stats .fd-fluid-counter,
.fd-stats .cb-counter__number,
.fd-service-card__title,
.fd-cta-bottom h1,
.fd-cta-bottom h2,
.fd-cta-bottom h3,
.fd-cta-bottom p,
.sp-footer,
.sp-footer h1,
.sp-footer h2,
.sp-footer h3,
.sp-footer h4,
.sp-footer p,
.sp-footer a {
    color: #fff !important;
}

/* keep branded accents only */
.big-letter-spacing,
.fd-about .big-letter-spacing,
.fd-bio .big-letter-spacing,
.listings-carousel-eyebrow .cbl__text p,
.fd-counters .big-letter-spacing,
.fd-stats .big-letter-spacing,
.hp-map__eyebrow,
.hp-map__market-label {
    color: #B48E5D !important;
}
/* ---- BUTTON + RED-SECTION TEXT FIX ---- */
.btn-spark,
.btn.btn-spark,
a.btn-spark,
button.btn-spark,
.hp-map__btn,
.cm-cta__btn,
.ctc-form__submit,
.abt-cta__btn--primary,
.community-cta .btn-spark,
.listings-cta__buttons .btn-spark,
.aft2-featured-listings .btn,
.fd-featured-listings__header .btn,
a.btn[style*='background'] {
    background: #B48E5D !important;
    border-color: #B48E5D !important;
    color: #fff !important;
}

.btn-spark:hover,
.btn.btn-spark:hover,
a.btn-spark:hover,
button.btn-spark:hover,
.hp-map__btn:hover,
.cm-cta__btn:hover,
.ctc-form__submit:hover,
.abt-cta__btn--primary:hover,
.community-cta .btn-spark:hover,
.listings-cta__buttons .btn-spark:hover,
.aft2-featured-listings .btn:hover,
.fd-featured-listings__header .btn:hover,
a.btn[style*='background']:hover {
    background: #B48E5D !important;
    border-color: #B48E5D !important;
    color: #fff !important;
}

/* CTA buttons that were left transparent/white */
.white-btn,
.block_3wx05jgelupj .white-btn.btn,
.fd-cta-bottom .btn-spark {
    background: #B48E5D !important;
    border-color: #B48E5D !important;
    color: #fff !important;
}

.white-btn:hover,
.block_3wx05jgelupj .white-btn.btn:hover,
.fd-cta-bottom .btn-spark:hover {
    background: #B48E5D !important;
    border-color: #B48E5D !important;
    color: #fff !important;
}

/* Any text on branded red surfaces should be white */
.sp-header,
.sp-header *,
.fd-stats,
.fd-stats *,
.fd-counters,
.fd-counters *,
.fd-cta-bottom,
.fd-cta-bottom *,
.fd-outline-cta,
.fd-outline-cta *,
.sp-footer,
.sp-footer *,
.page-header,
.page-header * {
    color: #fff;
}

/* Keep gold accents inside red sections */
.sp-header .big-letter-spacing,
.fd-stats .big-letter-spacing,
.fd-counters .big-letter-spacing,
.fd-cta-bottom .big-letter-spacing,
.fd-outline-cta .big-letter-spacing,
.page-header .big-letter-spacing {
    color: #B48E5D !important;
}
/* ---- FORCE WHITE COPY INSIDE RED CTA/BRANDED PANELS ---- */
.fd-outline-cta .cbl__text,
.fd-outline-cta .cbl__text p,
.fd-outline-cta .cb-title,
.fd-cta-bottom .cbl__text,
.fd-cta-bottom .cbl__text p,
.fd-cta-bottom .cb-title {
    color: #fff !important;
}

.fd-outline-cta .big-letter-spacing,
.fd-outline-cta .big-letter-spacing p,
.fd-cta-bottom .big-letter-spacing,
.fd-cta-bottom .big-letter-spacing p {
    color: #B48E5D !important;
}
/* Header/mega menu global black override - match footer */
body.mega-menu-open,
body.mega-menu-open .spark-mega-menu,
body.mega-menu-open .spark-mega-menu .fd-aside,
body.mega-menu-open .spark-mega-menu .fd-aside__wrapper,
body.mega-menu-open .spark-mega-menu .fd-aside__overlay,
body.mega-menu-open .spark-mega-menu .fd-aside__content,
body.mega-menu-open .fd-aside__wrapper,
body.mega-menu-open .fd-aside__overlay {
    background: #1b1b1e !important;
    background-color: #1b1b1e !important;
    background-image: none !important;
}

/* Desktop dropdown menus: force footer black globally */
.page-header .spark-menu .sub-menu,
.page-header .spark-menu .sub-menu li,
.page-header .spark-menu .sub-menu .menu-item,
.page-header .fd-header__nav .sub-menu,
.page-header .fd-header__nav .sub-menu li,
.page-header .fd-header__nav .sub-menu .menu-item,
.sp-header .spark-menu .sub-menu,
.sp-header .spark-menu .sub-menu li,
.sp-header .spark-menu .sub-menu .menu-item {
    background: #1b1b1e !important;
    background-color: #1b1b1e !important;
    background-image: none !important;
}

.page-header .spark-menu .sub-menu a,
.page-header .fd-header__nav .sub-menu a,
.sp-header .spark-menu .sub-menu a {
    color: #fff !important;
    background: transparent !important;
    background-color: transparent !important;
}

.page-header .spark-menu .sub-menu a:hover,
.page-header .fd-header__nav .sub-menu a:hover,
.sp-header .spark-menu .sub-menu a:hover {
    background: #2a2a2e !important;
    background-color: #2a2a2e !important;
    color: #fff !important;
}

/* Brand palette reset: black shell + prominent terracotta + gold accent */
:root {
    --cbc-black: #1b1b1e;
    --cbc-red: #9F4932;
    --cbc-terracotta: #9F4932;
    --cbc-gold: #B48E5D;
    --cbc-gold-light: #C4A16C;
    --cbc-gold-dark: #8F7044;
    --cbc-navy: #9F4932;
    --cbc-deep: #1b1b1e;
    --cbc-midnight: #1b1b1e;
    --cbc-text-dark: #1b1b1e;
    --cbc-text-muted: #7c5f4c;
}

/* Black is the site shell */
body,
body #page-header,
body .page-header,
body header.page-header,
header#page-header.page-header,
.page-header .sp-header,
.page-header .cbl__row.row_header,
.sp-menu-mobile,
.sp-menu-mobile__wrapper,
.spark-mega-menu,
.spark-mega-menu .fd-aside,
.spark-mega-menu .fd-aside__wrapper,
.spark-mega-menu .fd-aside__overlay,
.fd-aside__wrapper,
.fd-aside__overlay,
.site-footer,
footer,
#cbc-preloader {
    background-color: var(--cbc-black) !important;
    background-image: none !important;
}

/* Desktop dropdowns stay black */
.page-header .spark-menu .sub-menu,
.page-header .fd-header__nav .sub-menu,
.page-header .spark-menu .sub-menu li,
.page-header .fd-header__nav .sub-menu li {
    background: var(--cbc-black) !important;
    background-color: var(--cbc-black) !important;
}
.page-header .spark-menu .sub-menu:before,
.page-header .fd-header__nav li .sub-menu:before {
    border-bottom-color: var(--cbc-black) !important;
}

/* Terracotta owns the primary brand moments */
.btn-spark,
.btn.btn-spark,
a.btn-spark,
.button,
.et_pb_button,
.x-btn,
.fd-counters,
.fd-stats,
.bg__primary,
.fd-cta-bottom,
.lc-hero,
.lc-cta,
.team-hero,
.join-hero,
.team-cta,
.join-cta,
.nbh-hero {
    background-color: var(--cbc-red) !important;
    border-color: var(--cbc-red) !important;
}

.btn-spark:hover,
.btn.btn-spark:hover,
a.btn-spark:hover,
.button:hover,
.et_pb_button:hover,
.x-btn:hover {
    background-color: var(--cbc-gold) !important;
    border-color: var(--cbc-gold) !important;
    color: #fff !important;
}

/* Gold remains the premium accent */
.fd-header__col a[href="/contact/"],
.big-letter-spacing,
.fd-fluid-text-xs.big-letter-spacing,
[class*="eyebrow"],
[class*="__eyebrow"],
.fd-counters .big-letter-spacing,
.fd-stats .big-letter-spacing,
.fd-about .big-letter-spacing,
.fd-bio .big-letter-spacing {
    color: var(--cbc-gold) !important;
}

/* Terracotta detail accents on light surfaces */
section:not([class*="hero"]) h1,
section:not([class*="hero"]) h2,
section:not([class*="hero"]) h3,
.entry-content h1,
.entry-content h2,
.entry-content h3 {
    color: var(--cbc-red);
}

/* Keep hero and dark section text readable */
[class*="hero"] h1,
[class*="hero"] h2,
[class*="hero"] p,
.fd-counters h1,
.fd-counters h2,
.fd-counters p,
.fd-stats h1,
.fd-stats h2,
.fd-stats p,
.bg__primary h1,
.bg__primary h2,
.bg__primary p,
.fd-cta-bottom h1,
.fd-cta-bottom h2,
.fd-cta-bottom p {
    color: #fff !important;
}

/* Internal header phone CTA should sit on the black header, not terracotta */
body:not(.home) .page-header .widget_phone .fd-header__cta,
body:not(.home) .page-header .fd-header__cta.btn-spark,
body:not(.home) header.page-header .widget_phone .fd-header__cta,
body:not(.home) header.page-header .fd-header__cta.btn-spark {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
}

body:not(.home) .page-header .widget_phone .fd-header__cta:hover,
body:not(.home) .page-header .fd-header__cta.btn-spark:hover,
body:not(.home) header.page-header .widget_phone .fd-header__cta:hover,
body:not(.home) header.page-header .fd-header__cta.btn-spark:hover {
    background: transparent !important;
    background-color: transparent !important;
    border-color: transparent !important;
    color: var(--cbc-gold) !important;
}

/* Requested text contrast fixes */
.nbh-areas .nbh-area-card,
.nbh-areas .nbh-area-card:hover,
.nbh-areas .nbh-area-card .nbh-area-card__name,
.nbh-areas .nbh-area-card .nbh-area-card__desc,
.nbh-areas .nbh-area-card h3,
.nbh-areas .nbh-area-card p {
    color: #fff !important;
}

.team-cta .team-cta__title,
.team-cta h2.team-cta__title {
    color: #fff !important;
}

/* Nick profile crop adjustment - show full head */
.team-profile--nick .team-profile__media img {
    object-position: center 18% !important;
    transform: scale(1) !important;
}

/* Team profile page: white text on terracotta sections */
.page-template-page-team-profile .tp-hero,
.page-template-page-team-profile .tp-specialties,
.page-template-page-team-profile section[style*="background:#9F4932"],
.page-template-page-team-profile section[style*="background: #9F4932"] {
    color: #fff !important;
}
.page-template-page-team-profile .tp-hero *,
.page-template-page-team-profile .tp-specialties *,
.page-template-page-team-profile section[style*="background:#9F4932"] *,
.page-template-page-team-profile section[style*="background: #9F4932"] * {
    color: #fff !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__content p {
    color: #121619 !important;
}

/* Nick profile map layout fix */
.page-template-page-team-profile .tp-homepage-map {
    padding: 88px 0 !important;
    background: #fff !important;
    overflow: hidden;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__header {
    text-align: center !important;
    margin-bottom: 38px !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__title {
    color: #9F4932 !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__wrapper {
    width: min(1120px, calc(100vw - 48px)) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr) !important;
    gap: 48px !important;
    align-items: center !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__svg-container {
    min-width: 0 !important;
    max-width: 720px !important;
    margin: 0 auto !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__svg-container svg {
    display: block !important;
    width: 100% !important;
    max-width: 720px !important;
    height: auto !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__content {
    width: auto !important;
    max-width: 360px !important;
    color: #121619 !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__content h3 {
    color: #9F4932 !important;
    font-family: 'Italiana', serif !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    line-height: 1.15 !important;
    margin-bottom: 18px !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__content p {
    color: #121619 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    margin-bottom: 26px !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__btn,
.page-template-page-team-profile .tp-homepage-map a.hp-map__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 48px !important;
    padding: 15px 30px !important;
    background: #B48E5D !important;
    border: 1px solid #B48E5D !important;
    color: #fff !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__btn:hover,
.page-template-page-team-profile .tp-homepage-map a.hp-map__btn:hover {
    background: #9F4932 !important;
    border-color: #9F4932 !important;
    color: #fff !important;
    text-decoration: none !important;
}
@media (max-width: 991px) {
    .page-template-page-team-profile .tp-homepage-map .hp-map__wrapper {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        text-align: center !important;
    }
    .page-template-page-team-profile .tp-homepage-map .hp-map__content {
        max-width: 620px !important;
        margin: 0 auto !important;
    }
}

/* Expand Nick profile homepage map inside its grid column */
.page-template-page-team-profile .tp-homepage-map .hp-map__svg-container {
    width: 100% !important;
}
.page-template-page-team-profile .tp-homepage-map .hp-map__svg-container > svg {
    min-width: 100% !important;
}

/* Nick profile hero CTA: white button needs terracotta text */
.page-template-page-team-profile .tp-hero .tp-hero__btn,
.page-template-page-team-profile .tp-hero a.tp-hero__btn,
.page-template-page-team-profile .tp-hero .tp-hero__btn:visited {
    background: #fff !important;
    background-color: #fff !important;
    border: 1px solid #fff !important;
    color: #9F4932 !important;
    opacity: 1 !important;
}
.page-template-page-team-profile .tp-hero .tp-hero__btn:hover,
.page-template-page-team-profile .tp-hero a.tp-hero__btn:hover {
    background: #B48E5D !important;
    background-color: #B48E5D !important;
    border-color: #B48E5D !important;
    color: #fff !important;
    opacity: 1 !important;
}
