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

:root {
    --sg-navy: #0A1628;
    --sg-deep: #0A1628;
    --sg-midnight: #071020;
    --sg-gold: #0A1628;
    --sg-gold-light: #D4BC7A;
    --sg-gold-dark: #0A1628;
    --sg-cool-gray: #ffffff;
    --sg-warm-gray: #E8E4DF;
    --sg-text-dark: #1B2A4A;
    --sg-text-muted: #8A9AB5;
    --sg-white: #FFFFFF;
}

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

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

/* Dark sections use deep navy, not #1B1B1E */
.fd-counters,
.page-header,
.sp-header { background: #0A1628 !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(--sg-gold) !important;
    border: none !important;
}

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

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

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

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

/* ---- COUNTERS ---- */
.fd-counters {
    background: linear-gradient(135deg, var(--sg-deep) 0%, var(--sg-navy) 100%) !important;
}
.fd-counters .big-letter-spacing {
    color: var(--sg-gold) !important;
}
.fd-counters .cb-counter__number,
.fd-counters .fd-fluid-counter {
    color: var(--sg-white) !important;
}

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

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

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

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

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

/* ---- LISTING CATEGORY PAGES ---- */
.lc-hero {
    background: linear-gradient(135deg, var(--sg-deep) 0%, var(--sg-navy) 100%) !important;
}
.lc-hero__eyebrow {
    color: var(--sg-gold) !important;
}
.lc-filters__tab.active,
.lc-filters__tab:hover {
    background: var(--sg-navy) !important;
    border-color: var(--sg-navy) !important;
}
.lc-card__status--sale {
    background: var(--sg-navy) !important;
}
.lc-card__status--lease {
    background: var(--sg-gold) !important;
}
.lc-cta {
    background: linear-gradient(135deg, var(--sg-navy) 0%, var(--sg-deep) 100%) !important;
}
.lc-cta__btn {
    background: var(--sg-gold) !important;
}
.lc-cta__btn:hover {
    background: var(--sg-gold-dark) !important;
}

/* ---- TEAM PAGES ---- */
.team-hero,
.join-hero {
    background: linear-gradient(135deg, var(--sg-deep) 0%, var(--sg-navy) 100%) !important;
}
.team-hero__eyebrow,
.join-hero__eyebrow,
.founder-content__eyebrow,
.team-card__title {
    color: var(--sg-gold) !important;
}
.founder-content__title {
    color: var(--sg-navy) !important;
}
.team-cta,
.join-cta {
    background: linear-gradient(135deg, var(--sg-navy) 0%, var(--sg-deep) 100%) !important;
}
.team-cta__btn,
.join-cta__btn {
    background: var(--sg-gold) !important;
}
.team-cta__btn:hover,
.join-cta__btn:hover {
    background: var(--sg-gold-dark) !important;
}
.join-why__card-icon {
    color: var(--sg-navy);
}

/* ---- NEIGHBORHOODS / MAP ---- */
.nbh-hero {
    background: linear-gradient(135deg, var(--sg-deep) 0%, var(--sg-navy) 100%) !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(--sg-deep) !important;
}
.nbh-map__cta {
    background: var(--sg-gold) !important;
}
.nbh-map__cta:hover {
    background: var(--sg-gold-dark) !important;
}

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

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

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

/* ---- STATS/COUNTERS SECTION (homepage) ---- */
.fd-stats {
    background: linear-gradient(135deg, var(--sg-deep) 0%, var(--sg-navy) 100%) !important;
}
.fd-stats .big-letter-spacing,
.fd-stats .fd-text__color-2 {
    color: var(--sg-gold) !important;
}
.fd-stats .fd-stats__title {
    color: var(--sg-white) !important;
}
.fd-stats .cb-counter__number,
.fd-stats .fd-fluid-counter {
    color: var(--sg-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(--sg-gold) !important;
}

/* ---- ABOUT EYEBROW ---- */
.fd-bio .fd-fluid-text-xs,
section .fd-fluid-text-xs.big-letter-spacing {
    color: var(--sg-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(--sg-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: linear-gradient(135deg, #0A1628 0%, #012169 100%) !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: linear-gradient(135deg, #0A1628 0%, #012169 100%) !important;
}
.fd-header__nav li .sub-menu:before {
    border-bottom-color: #0A1628 !important;
}

/* ---- MEGA MENU BLUE ---- */
.fd-aside__wrapper,
.fd-aside .fd-aside__wrapper,
.spark-mega-menu .fd-aside__wrapper {
    background: linear-gradient(135deg, #0A1628 0%, #012169 100%) !important;
}
.fd-aside__overlay {
    background: linear-gradient(135deg, #0A1628 0%, #012169 100%) !important;
    background: linear-gradient(135deg, #0A1628 0%, #012169 100%) !important;
}

/* ---- REMOVE WHITE BAR ABOVE NAV ---- */
body {
    background: linear-gradient(135deg, #0A1628 0%, #012169 100%) !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: linear-gradient(135deg, #0A1628 0%, #012169 100%) !important;
}

/* Blog CTA section: old dark #1B1B1E → blue */
.bg__primary {
    background: linear-gradient(135deg, #0A1628 0%, #012169 100%) !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 #012169 (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) { .sg-mega-logo { display: none !important; } }




/* Sansone Gold Accent */
:root { --sg-gold: #B5985A; --sg-navy: #0A1628; }

/* ========== LUXURY ANIMATIONS ========== */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInRight {
  from { opacity: 0; transform: translateX(40px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes lineGrow {
  from { width: 0; }
  to { width: 60px; }
}
.reveal { opacity: 1; transform: none; }
.js-reveal .reveal { opacity: 0; transform: translateY(40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-left { opacity: 1; transform: none; }
.js-reveal .reveal-left { opacity: 0; transform: translateX(-40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-left.visible { opacity: 1; transform: translateX(0); }
.reveal-right { opacity: 1; transform: none; }
.js-reveal .reveal-right { opacity: 0; transform: translateX(40px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-right.visible { opacity: 1; transform: translateX(0); }
.reveal-scale { opacity: 1; transform: none; }
.js-reveal .reveal-scale { opacity: 0; transform: scale(0.95); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-scale.visible { opacity: 1; transform: scale(1); }
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }

/* Luxury image hover */
.lux-img-wrap { overflow: hidden; }
.lux-img-wrap img { transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.lux-img-wrap:hover img { transform: scale(1.05); }

/* Gold line accent */
.gold-line { width: 60px; height: 1px; background: #B5985A; margin: 20px 0; }
.gold-line--center { margin: 20px auto; }

/* Luxury button styles */
.lux-btn { display: inline-block; padding: 18px 48px; font-size: 12px; letter-spacing: 3px; text-transform: uppercase; text-decoration: none; transition: all 0.4s; font-weight: 500; }
.lux-btn--gold { background: #B5985A; color: #fff; border: 2px solid #B5985A; }
.lux-btn--gold:hover { background: transparent; color: #B5985A; }
.lux-btn--outline { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,0.4); }
.lux-btn--outline:hover { border-color: #B5985A; color: #B5985A; }
.lux-btn--dark { background: #0A1628; color: #fff; border: 2px solid #0A1628; }
.lux-btn--dark:hover { background: #B5985A; border-color: #B5985A; }