/*
Theme Name: Davie Luxury
Template: kadence
Version: 4.0.0
Description: Warm luxury theme for livingindavieflorida.com
*/

/* ============================================
   DESIGN SYSTEM v4 — Warm Luxury
   Palette: Gold + Warm Brown + Cream
   Fonts: Cormorant Garamond (headings) + Jost (body)
   ============================================ */

:root {
    /* Primary palette */
    --dl-accent: #7C4E2D;
    --dl-accent-light: #8b7355;
    --dl-accent-hover: #a8926e;
    --dl-accent-dark: #5e3a20;
    --dl-cream: #faf9f7;
    --dl-cream-alt: #f0eeea;
    --dl-cream-warm: #FAF7F4;

    /* Neutrals */
    --dl-black: #0A0A0A;
    --dl-charcoal: #1a1a1a;
    --dl-dark: #111111;
    --dl-warm-white: #FAF7F4;

    /* Text */
    --dl-text: #2d2d2d;
    --dl-text-light: #444444;
    --dl-text-muted: #777777;
    --dl-text-label: #888888;
    --dl-text-note: #999999;
    --dl-heading: #111111;

    /* Borders */
    --dl-border: #e0dcd4;
    --dl-border-warm: #d4b9a6;
    --dl-border-light: #e8ddd6;
    --dl-border-dark: rgba(255,255,255,0.1);

    /* Typography */
    --dl-heading-font: 'Cormorant Garamond', Georgia, serif;
    --dl-body-font: 'Jost', -apple-system, BlinkMacSystemFont, sans-serif;

    /* Spacing */
    --dl-section-pad: clamp(48px, 8vw, 64px);
    --dl-container: 1100px;
    --dl-gutter: clamp(20px, 4.5vw, 64px);
}


/* ============================================
   BASE RESET
   ============================================ */

* { box-sizing: border-box; }

body {
    background: var(--dl-cream) !important;
    font-family: var(--dl-body-font) !important;
    color: var(--dl-text) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 17px !important;
    line-height: 1.8 !important;
}


/* ============================================
   TYPOGRAPHY
   ============================================ */

h1, h2, h3, h4, h5, h6,
.entry-title, .wp-block-heading {
    font-family: var(--dl-heading-font) !important;
    color: var(--dl-heading) !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em;
    line-height: 1.15;
}

h1, .entry-title { font-size: clamp(2rem, 5vw, 3rem) !important; }
h2 { font-size: clamp(1.4rem, 3.5vw, 1.9rem) !important; margin-top: 2.5em !important; padding-bottom: 0.3em !important; border-bottom: 1px solid var(--dl-accent) !important; }
h3 { font-size: clamp(1rem, 2.5vw, 1.2rem) !important; color: var(--dl-accent) !important; margin-top: 1.8em !important; font-weight: 500 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; font-family: var(--dl-body-font) !important; }

p, li, td, th, blockquote {
    font-family: var(--dl-body-font) !important;
    font-weight: 300 !important;
    line-height: 1.75 !important;
    font-size: 17px !important;
    color: var(--dl-text) !important;
}

strong, b { font-weight: 500 !important; color: var(--dl-charcoal) !important; }

a {
    color: var(--dl-charcoal) !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}
a:hover { color: var(--dl-accent) !important; }


/* ============================================
   HEADER / NAVIGATION
   Override Kadence's #masthead inline CSS
   ============================================ */

#masthead,
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start):not(.site-header-row-container):not(.site-main-header-wrap),
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner,
.site-header,
.site-header .site-header-wrap,
.site-header .site-header-inner-wrap,
.site-header .site-main-header-wrap .site-header-row-container-inner,
header.site-header {
    background: var(--dl-charcoal) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: none !important;
    transition: all 0.3s ease;
}

/* Kadence nav letter-spacing override */
.main-navigation .primary-menu-container > ul li.menu-item > a {
    letter-spacing: 0.12em !important;
}

/* Kadence nav hover color */
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover {
    color: var(--dl-accent-light) !important;
}

/* Site title */
.site-header .site-branding .site-title,
.site-header .site-branding .site-title a,
.site-branding a,
.site-title a {
    font-family: var(--dl-heading-font) !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
}

.site-header .site-description { display: none !important; }

/* Nav links */
.site-header .header-navigation nav > ul > li > a,
.site-header #primary-navigation ul li a,
.main-navigation .primary-menu-container > ul > li > a,
.header-menu-container > ul > li > a,
header a:not(.site-branding a):not(.site-title a),
header nav a,
.header-navigation a,
.primary-menu-container a,
.header-menu-container a,
nav[class*="navigation"] a,
ul[class*="menu"] > li > a,
#masthead .header-menu-container > ul > li > a {
    font-family: var(--dl-body-font) !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.75) !important;
    font-weight: 400 !important;
    transition: color 0.3s ease;
    visibility: visible !important;
    opacity: 1 !important;
}

.site-header .header-navigation nav > ul > li > a:hover,
.site-header #primary-navigation ul li a:hover,
.header-menu-container > ul > li > a:hover,
header a:hover,
header nav a:hover,
.header-navigation a:hover,
.primary-menu-container a:hover,
.header-menu-container a:hover {
    color: var(--dl-accent-light) !important;
}

/* Override Kadence CSS custom properties for header */
.site-header {
    --global-palette3: var(--dl-charcoal);
    --global-palette5: rgba(255,255,255,0.75);
    --global-palette9: var(--dl-accent);
    --global-palette-highlight: var(--dl-accent);
}

/* Mobile toggle */
.site-header .menu-toggle-open svg,
.site-header .mobile-toggle-open svg,
.site-header .menu-toggle-open,
.site-header .mobile-toggle-open-container .menu-toggle-open {
    fill: #fff !important;
    color: #fff !important;
}


/* ============================================
   DROPDOWN MENUS
   ============================================ */

li.menu-item-has-children {
    position: relative !important;
}

.site-header .sub-menu,
.site-header .header-menu-container ul ul.sub-menu,
li.menu-item-has-children > ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 9999 !important;
    min-width: 240px !important;
    background: var(--dl-charcoal) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.3) !important;
    padding: 8px 0 !important;
    border-radius: 0 !important;
}

.site-header .sub-menu li a,
.site-header .header-menu-container ul ul li.menu-item > a,
.sub-menu li a {
    color: rgba(255,255,255,0.65) !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    padding: 12px 24px !important;
    display: block !important;
    border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    transition: all 0.2s ease;
}

.site-header .sub-menu li a:hover,
.sub-menu li a:hover {
    color: var(--dl-accent-light) !important;
    background: rgba(255,255,255,0.04) !important;
}

.site-header .sub-menu li:last-child a,
.sub-menu li:last-child a {
    border-bottom: none !important;
}

li.menu-item-has-children > a::after {
    content: " \25BE" !important;
    font-size: 9px;
    opacity: 0.5;
    display: inline !important;
}

/* Mobile drawer */
#mobile-drawer,
#mobile-drawer .drawer-inner {
    background: var(--dl-charcoal) !important;
}

#mobile-drawer .mobile-navigation ul li > a,
#mobile-drawer .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
    color: rgba(255,255,255,0.8) !important;
}


/* ============================================
   HOMEPAGE — Kadence overrides
   ============================================ */

.page-template-page-home .site-main,
.page-template-page-home .content-wrap,
.page-template-page-home .entry-content-wrap,
.page-template-page-home .entry-content,
.page-template-page-home .content-container,
.page-template-page-home #inner-wrap,
.page-template-page-home .content-bg {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.page-template-page-home .entry-hero-container-inner,
.page-template-page-home .wp-block-post-title,
.page-template-page-home .entry-header {
    display: none !important;
}

/* Transparent header on homepage only */
.page-template-page-home .site-header {
    position: absolute !important;
    width: 100% !important;
    z-index: 100 !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}


/* ============================================
   CONTENT AREA (Inner pages)
   ============================================ */

.site-content,
.content-area,
.site-main,
.entry-content,
article.post,
article.page {
    background: var(--dl-cream) !important;
}

.entry-content {
    max-width: 900px !important;
    margin: 0 auto !important;
}

.entry-content-wrap {
    padding-top: 48px !important;
    padding-bottom: 64px !important;
}


/* ============================================
   LINKS — Context-aware colors
   ============================================ */

.entry-content a {
    color: var(--dl-accent) !important;
    font-weight: 400;
}
.entry-content a:hover {
    color: var(--dl-accent-light) !important;
}

/* Dark section links */
.lx-section-dark a,
[style*="background:#1a1a1a"] a,
[style*="background: #1a1a1a"] a,
[style*="background:#111"] a {
    color: var(--dl-cream-warm) !important;
}

.lx-section-dark a:hover {
    color: var(--dl-accent-light) !important;
}


/* ============================================
   BUTTONS — Warm brown, sharp corners
   ============================================ */

.lx-btn,
.wp-block-button__link,
.wp-element-button,
a.button,
input[type="submit"] {
    display: inline-block;
    font-family: var(--dl-body-font) !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding: 0.65em 1.4em !important;
    border-radius: 2px !important;
    transition: all 0.2s ease;
    cursor: pointer;
    border: none !important;
}

.lx-btn-primary,
.wp-block-button__link {
    background: var(--dl-accent) !important;
    color: #fff !important;
}
.lx-btn-primary:hover,
.wp-block-button__link:hover {
    background: var(--dl-accent-dark) !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(124,78,45,0.2) !important;
}

.lx-btn-outline {
    background: transparent !important;
    color: var(--dl-charcoal) !important;
    border: 1px solid var(--dl-charcoal) !important;
}
.lx-btn-outline:hover {
    background: var(--dl-charcoal) !important;
    color: #fff !important;
}

/* CTA buttons on inner pages */
.nb-cta a.lux-cta,
.hub-cta a.lux-cta,
.gl-cta a.lux-cta,
.tc-cta a.lux-cta {
    background: var(--dl-accent) !important;
    color: #fff !important;
    padding: 0.65em 1.4em !important;
    font-family: var(--dl-body-font) !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    border-radius: 2px !important;
}
.nb-cta a.lux-cta:hover,
.hub-cta a.lux-cta:hover,
.gl-cta a.lux-cta:hover,
.tc-cta a.lux-cta:hover {
    background: var(--dl-accent-dark) !important;
}


/* ============================================
   SECTION PATTERNS
   ============================================ */

.lx-section { padding: var(--dl-section-pad) 0; }
.lx-section-dark { background: var(--dl-charcoal) !important; }
.lx-section-cream { background: var(--dl-cream-alt) !important; }

.lx-container {
    max-width: var(--dl-container);
    margin: 0 auto;
    padding: 0 var(--dl-gutter);
}

.lx-eyebrow {
    display: block;
    font-family: var(--dl-body-font) !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase;
    color: var(--dl-accent) !important;
    font-weight: 500;
    text-align: center;
    margin-bottom: 12px;
}

.lx-section-title {
    font-family: var(--dl-heading-font) !important;
    font-size: clamp(1.4rem, 4vw, 1.9rem) !important;
    font-weight: 400 !important;
    color: var(--dl-heading) !important;
    text-align: center;
    margin-bottom: 48px !important;
    letter-spacing: 0.01em;
    border-bottom: none !important;
}

.lx-section-dark .lx-section-title {
    color: #fff !important;
}

.lx-section-sub {
    text-align: center;
    color: var(--dl-text-light) !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    margin-top: -40px;
    margin-bottom: 48px;
}


/* ============================================
   INNER PAGE ELEMENTS
   ============================================ */

/* Eyebrows on neighborhood/guide/town hall pages */
.nb-eyebrow, .gl-eyebrow, .tc-eyebrow, .hub-eyebrow {
    font-family: var(--dl-body-font) !important;
    font-size: 0.7rem !important;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--dl-accent) !important;
    font-weight: 500;
}

/* Stat numbers */
.nb-stat-num, .hub-stat .num {
    font-family: var(--dl-heading-font) !important;
    color: var(--dl-heading) !important;
}
.nb-stat-label, .hub-stat .label {
    font-family: var(--dl-body-font) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase;
    color: var(--dl-text-label) !important;
}

/* Hero sections on inner pages */
.nb-hero, .gl-hero, .tc-hub-hero {
    border-bottom: 1px solid var(--dl-border) !important;
}


/* ============================================
   SPECIALIZATION CARDS
   ============================================ */

.lx-spec-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

.lx-spec-card {
    position: relative;
    padding: 48px 36px 36px;
    border: 1px solid var(--dl-border);
    background: #fff;
    text-decoration: none !important;
    transition: all 0.4s ease;
    display: block;
}
.lx-spec-card:hover {
    border-color: var(--dl-accent);
    transform: translateY(-4px);
    box-shadow: 0 16px 48px rgba(0,0,0,0.06);
}

.lx-spec-num {
    display: block;
    font-family: var(--dl-heading-font) !important;
    font-size: 14px;
    color: var(--dl-accent) !important;
    margin-bottom: 20px;
    opacity: 0.7;
}

.lx-spec-card h3 {
    font-family: var(--dl-heading-font) !important;
    font-size: 26px !important;
    color: var(--dl-heading) !important;
    margin-bottom: 12px;
    line-height: 1.2;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    border-bottom: none !important;
}

.lx-spec-card p {
    font-size: 15px !important;
    font-weight: 300 !important;
    color: var(--dl-text-light) !important;
    line-height: 1.8 !important;
    margin-bottom: 20px;
}

.lx-spec-arrow {
    font-size: 18px;
    color: var(--dl-accent) !important;
    transition: transform 0.4s ease;
    display: inline-block;
}
.lx-spec-card:hover .lx-spec-arrow { transform: translateX(8px); }


/* ============================================
   NEIGHBORHOOD TAGS (dark section)
   ============================================ */

.lx-nbr-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-bottom: 48px;
}

.lx-nbr-tags a {
    font-family: var(--dl-body-font) !important;
    font-size: 11px !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: #fff !important;
    padding: 14px 26px !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    background: rgba(255,255,255,0.04) !important;
    text-decoration: none !important;
    transition: all 0.3s ease;
    font-weight: 400 !important;
}
.lx-nbr-tags a:hover {
    border-color: var(--dl-accent-light) !important;
    color: #fff !important;
    background: rgba(139,115,85,0.15) !important;
}


/* ============================================
   DATA STRIP
   ============================================ */

.lx-data-strip {
    background: #fff !important;
    border-bottom: 1px solid var(--dl-border) !important;
    padding: 40px 0 !important;
}

.lx-data-inner {
    max-width: var(--dl-container);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 36px;
    flex-wrap: wrap;
    justify-content: center;
}

.lx-data-label {
    font-family: var(--dl-body-font) !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase;
    color: var(--dl-accent) !important;
    font-weight: 500;
    white-space: nowrap;
}

.lx-data-items { display: flex; gap: 56px; flex-wrap: wrap; justify-content: center; }

.lx-data-num {
    display: block;
    font-family: var(--dl-heading-font) !important;
    font-size: 30px !important;
    color: var(--dl-heading) !important;
    letter-spacing: -0.02em;
}

.lx-data-tag {
    display: block;
    font-family: var(--dl-body-font) !important;
    font-size: 0.72rem !important;
    text-transform: uppercase;
    letter-spacing: 0.12em !important;
    color: var(--dl-text-muted) !important;
    margin-top: 6px !important;
    font-weight: 400;
}

.lx-data-link {
    font-family: var(--dl-body-font) !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.12em !important;
    color: var(--dl-accent) !important;
    text-decoration: none !important;
    text-transform: uppercase;
    font-weight: 500;
}


/* ============================================
   VALUE GRID
   ============================================ */

.lx-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; text-align: center; }

.lx-value-num {
    display: block;
    font-family: var(--dl-heading-font) !important;
    font-size: 64px !important;
    color: var(--dl-accent) !important;
    line-height: 1;
    margin-bottom: 16px;
}

.lx-value-item h3 {
    font-size: 20px !important;
    margin-bottom: 10px;
    font-weight: 400 !important;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    font-family: var(--dl-heading-font) !important;
}

.lx-value-item p {
    font-size: 15px !important;
    font-weight: 300 !important;
    color: var(--dl-text-light) !important;
}


/* ============================================
   POST CARDS
   ============================================ */

.lx-posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.lx-post-card {
    display: block;
    padding: 32px 28px;
    border: 1px solid var(--dl-border);
    background: #fff;
    text-decoration: none !important;
    transition: all 0.35s ease;
}
.lx-post-card:hover {
    border-color: var(--dl-accent);
    transform: translateY(-3px);
    box-shadow: 0 12px 36px rgba(0,0,0,0.04);
}

.lx-post-card time {
    font-family: var(--dl-body-font) !important;
    font-size: 0.72rem !important;
    text-transform: uppercase;
    letter-spacing: 0.12em !important;
    color: var(--dl-text-muted) !important;
    font-weight: 400;
}

.lx-post-card h3 {
    font-family: var(--dl-heading-font) !important;
    font-size: 18px !important;
    color: var(--dl-heading) !important;
    margin: 10px 0 12px;
    line-height: 1.35;
    border-bottom: none !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
}

.lx-post-arrow { color: var(--dl-accent) !important; font-size: 14px; }

.lx-link {
    font-family: var(--dl-body-font) !important;
    font-size: 11px !important;
    color: var(--dl-accent) !important;
    text-decoration: none !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 500;
}


/* ============================================
   BOTTOM CTA
   ============================================ */

.lx-cta-section {
    padding: var(--dl-section-pad) 0;
    border-top: 1px solid var(--dl-border);
}

.lx-cta-section h2 {
    font-family: var(--dl-heading-font) !important;
    font-size: clamp(1.4rem, 4vw, 1.9rem) !important;
    font-weight: 400 !important;
    margin-bottom: 12px;
    border-bottom: none !important;
}

.lx-cta-section > .lx-container > p {
    color: var(--dl-text-light) !important;
    font-size: 1rem !important;
    font-weight: 300 !important;
    max-width: 520px;
    margin: 0 auto 36px;
}

.lx-cta-contact {
    margin-top: 28px !important;
    font-size: 0.85rem !important;
    color: var(--dl-text-muted) !important;
}
.lx-cta-contact a { color: var(--dl-text-muted) !important; }
.lx-cta-contact a:hover { color: var(--dl-accent) !important; }


/* ============================================
   BLOG LISTING
   ============================================ */

.loop-entry .entry-title {
    font-size: 22px !important;
    font-weight: 400 !important;
    font-family: var(--dl-heading-font) !important;
}
.loop-entry .entry-summary p {
    font-size: 15px !important;
    color: var(--dl-text-light) !important;
    font-weight: 300 !important;
}
.loop-entry {
    border-bottom: 1px solid var(--dl-border) !important;
    padding-bottom: 32px;
    margin-bottom: 32px;
}

.entry-meta, .posted-on, .byline, .cat-links, .tags-links {
    color: var(--dl-text-muted) !important;
    font-size: 12px !important;
}
.entry-meta a { color: var(--dl-text-muted) !important; }
.entry-meta a:hover { color: var(--dl-accent) !important; }

/* Pagination */
.navigation.pagination {
    margin: 48px 0 !important;
    text-align: center !important;
}
.nav-links {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
}
.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 14px !important;
    font-family: var(--dl-body-font) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border: 1px solid var(--dl-border) !important;
    border-radius: 2px !important;
    color: var(--dl-text) !important;
    background: transparent !important;
    transition: all 0.25s ease !important;
}
.page-numbers.current {
    background: var(--dl-charcoal) !important;
    color: var(--dl-warm-white) !important;
    border-color: var(--dl-charcoal) !important;
    font-weight: 500 !important;
}
a.page-numbers:hover {
    background: var(--dl-accent) !important;
    color: var(--dl-warm-white) !important;
    border-color: var(--dl-accent) !important;
}
.page-numbers.dots {
    border: none !important;
    min-width: auto !important;
    padding: 0 4px !important;
    color: var(--dl-text-muted) !important;
}
a.next.page-numbers,
a.prev.page-numbers {
    font-size: 0 !important;
    min-width: 44px !important;
}
a.next.page-numbers .kadence-svg-icon,
a.prev.page-numbers .kadence-svg-icon {
    font-size: 14px !important;
}


/* ============================================
   FOOTER
   ============================================ */

.site-footer,
.site-footer .site-footer-wrap,
#colophon {
    background: var(--dl-black) !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    padding: 48px 0 !important;
    border-radius: 0 !important;
}

.site-footer a {
    color: var(--dl-cream-warm) !important;
}
.site-footer a:hover {
    color: var(--dl-accent-light) !important;
}

.site-footer .site-info,
.site-footer .site-info a,
.site-footer .site-info p,
.site-footer p {
    color: #555 !important;
    font-size: 11px !important;
    font-family: var(--dl-body-font) !important;
    letter-spacing: 0.5px !important;
}

/* Hide Kadence/WordPress branding */
.site-credits,
.footer-html,
.site-footer .powered-by,
.site-info .developer-link,
.developer-link,
.site-footer a[href*="developer"] {
    display: none !important;
}

.site-footer .site-footer-row-container,
.site-footer .site-bottom-footer-wrap { padding: 0 !important; }

.site-footer .site-container { padding: 20px 24px !important; }


/* ============================================
   FORMS
   ============================================ */

input, textarea, select {
    background: #fff !important;
    border: 1px solid var(--dl-border) !important;
    color: var(--dl-text) !important;
    border-radius: 0 !important;
    font-family: var(--dl-body-font) !important;
    padding: 14px 18px !important;
}

input:focus, textarea:focus {
    border-color: var(--dl-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(124,78,45,0.1) !important;
}


/* ============================================
   WP BLOCK OVERRIDES
   ============================================ */

.wp-block-separator, hr {
    border-color: var(--dl-border) !important;
    opacity: 1 !important;
    margin: 2.5rem 0 !important;
}

.wp-block-cover { border-bottom: 1px solid var(--dl-border) !important; }

.wp-block-table th {
    background: var(--dl-cream-alt) !important;
    color: var(--dl-heading) !important;
}
.wp-block-table td {
    border-bottom: 1px solid var(--dl-border) !important;
}

/* Sidebar / Widgets */
.widget, .sidebar, aside {
    background: var(--dl-cream) !important;
    color: var(--dl-text) !important;
}
.widget-title { color: var(--dl-heading) !important; }
.widget a { color: var(--dl-accent) !important; }
.widget a:hover { color: var(--dl-accent-light) !important; }

/* Search */
.search-form input[type="search"] {
    background: #fff !important;
    border: 1px solid var(--dl-border) !important;
}


/* ============================================
   LEGACY COLOR COMPATIBILITY
   Inner pages use hardcoded #1a1a1a, #8b7355
   These now match the theme palette naturally
   ============================================ */

/* Guide hub links */
#guides-hub a { color: var(--dl-heading) !important; }
#guides-hub a:hover { color: var(--dl-accent) !important; }
#guides-hub .hub-hero { background: var(--dl-charcoal) !important; }
#guides-hub .hub-hero a { color: #fff !important; }


/* ============================================
   SCROLL ANIMATIONS
   ============================================ */

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
}

.lx-section { animation: fadeInUp 0.8s ease-out both; }


/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    :root { --dl-section-pad: 48px; }

    .lx-spec-grid,
    .lx-value-grid,
    .lx-posts-grid { grid-template-columns: 1fr !important; }

    .lx-data-items { gap: 28px !important; }
    .lx-data-num { font-size: 24px !important; }
    .lx-value-num { font-size: 48px !important; }

    .lx-section-title { font-size: 28px !important; }
    .lx-spec-card h3 { font-size: 22px !important; }
    .lx-btn { padding: 16px 32px !important; }
    .lx-container { padding: 0 20px; }
    .lx-nbr-tags { gap: 8px; }
    .lx-nbr-tags a { padding: 10px 16px !important; font-size: 10px !important; }

    .entry-content { padding: 40px 16px !important; }
}

@media print {
    .site-header, .site-footer, .lx-cta-section, form { display: none; }
    body { background: #fff !important; }
}


/* ============================================
   SCROLLBAR
   ============================================ */

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--dl-cream); }
::-webkit-scrollbar-thumb { background: var(--dl-border-warm); border-radius: 3px; }

::selection { background: var(--dl-accent); color: #fff; }


/* ============================================
   DARK BAR READABILITY FIXES
   Inner pages have inline background:#1a1a1a bars
   Let them render as-is (they match the palette now)
   ============================================ */

/* Hub hero dark bars (guides, neighborhoods) */
#guides-hub .hub-hero,
#guides-hub .cta-bar {
    background: #111 !important;
}

#guides-hub .hub-hero h1,
#guides-hub .cta-bar h3 {
    color: #fff !important;
    font-family: var(--dl-heading-font) !important;
}

#guides-hub .hub-hero .subtitle,
#guides-hub .hub-hero .eyebrow {
    color: var(--dl-accent-light) !important;
}

#guides-hub .cta-bar p {
    color: rgba(255,255,255,0.7) !important;
}

#guides-hub .cta-bar a {
    background: var(--dl-accent) !important;
    color: #fff !important;
}

#guides-hub .cta-bar a:hover {
    background: var(--dl-accent-dark) !important;
}

/* Guide card hover accents */
#guides-hub .guide-card:hover {
    border-color: var(--dl-accent) !important;
}

#guides-hub .guide-card .card-link,
#guides-hub .section-label,
#guides-hub .related-box a {
    color: var(--dl-accent) !important;
}

#guides-hub .related-box a {
    border-color: var(--dl-accent) !important;
}

/* Town hall hub */
.tc-hub-hero {
    border-bottom-color: var(--dl-border) !important;
}

.tc-eyebrow {
    color: var(--dl-accent) !important;
}

.tc-item:hover {
    background: var(--dl-cream-alt) !important;
}

/* Fix all lux-cta buttons */
a.lux-cta,
.tc-cta a.lux-cta,
.hub-cta a.lux-cta {
    background: var(--dl-accent) !important;
    color: #fff !important;
}

a.lux-cta:hover,
.tc-cta a.lux-cta:hover,
.hub-cta a.lux-cta:hover {
    background: var(--dl-accent-dark) !important;
}

/* About page lux-btn override */
.nb-about .lux-btn {
    background: var(--dl-accent) !important;
    color: #fff !important;
}

.nb-about .lux-btn:hover {
    background: var(--dl-accent-dark) !important;
    color: #fff !important;
}

/* About page eyebrow/accent colors */
.nb-about .nb-eyebrow,
.nb-about .section-head,
.nb-about .spec-links a,
.nb-about .contact-line a {
    color: var(--dl-accent) !important;
}

.nb-about .spec-links a {
    border-color: var(--dl-accent) !important;
}

/* Hub card hover colors */
.hub-card:hover {
    border-color: var(--dl-accent) !important;
}

.hub-eyebrow {
    color: var(--dl-accent) !important;
}

/* Hub resources link colors */
.hub-resources ul li a:hover {
    border-color: var(--dl-accent) !important;
    color: var(--dl-accent) !important;
}


/* ============================================
   DROPDOWN Z-INDEX — NUCLEAR FIX
   ============================================ */

.site-header,
.site-header .site-header-wrap,
.site-header .site-header-inner-wrap,
header.site-header {
    z-index: 100 !important;
    overflow: visible !important;
}

.site-header *:not(.sub-menu) {
    overflow: visible !important;
}

.site-header .header-navigation,
.site-header .header-menu-container,
.site-header .primary-menu-container,
.site-header nav,
.site-header .main-navigation {
    overflow: visible !important;
    position: static !important;
}

li.menu-item-has-children {
    position: relative !important;
    overflow: visible !important;
}

.site-header .sub-menu,
.site-header .header-menu-container ul ul.sub-menu,
li.menu-item-has-children > ul.sub-menu,
ul.sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 99999 !important;
    min-width: 240px !important;
    background: var(--dl-charcoal) !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.4) !important;
    padding: 8px 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
}

li.menu-item-has-children:hover > ul.sub-menu,
li.menu-item-has-children:focus-within > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}


/* ============================================
   CONTACT PAGE FIXES
   ============================================ */

.page-id-336 .entry-content,
.page-id-336 .entry-content-wrap {
    text-align: left;
}

.page-id-336 .wp-block-button__link {
    background: var(--dl-accent) !important;
    color: #fff !important;
}

.page-id-336 h3 {
    color: var(--dl-accent) !important;
}
