/* =============================================================================
   The Eagles — GLOBAL LIGHT MODE
   -----------------------------------------------------------------------------
   Everything here is gated under `html.te-light` (set on <html> before paint by
   the no-FOUC inline script). With the class absent this file is INERT, so the
   default dark theme is untouched (zero-regression by construction).

   The ONLY ungated rules are the `.te-theme-toggle` button styles — that class
   does not exist anywhere else, so it cannot affect the existing dark look.

   Palette reuses the validated blog/kredyt light treatment:
     paper #fbf8f2 · ink #17130f · body #61584d · gold-dark #8a6a32
     card  #fffaf1 · hairline rgba(138,106,50,.20)
   Decisions: heroes/bands go LIGHT; only photographic/video surfaces stay dark.
             Landing (te-lp) pages and blog/article/kredyt pages are excluded.
   ============================================================================= */

/* ============================================================================
   LAYER A — token flip (broad, cheap). Re-declares all three token systems.
   Flipping the *-rgb variants recolors the whole compiled Tailwind utility
   layer (.text-ink/.text-muted/.text-gold/.bg-gold/.border-gold) for free.
   ============================================================================ */
html.te-light{
  /* estate-lions-prototype.css set */
  --bg:#fbf8f2;
  --bg-2:#fffaf1;
  --bg-3:#fbf3e6;
  --ink:#17130f;
  --ink-rgb:23 19 15;
  --muted:#61584d;
  --muted-rgb:97 88 77;
  --gold:#8a6a32;
  --gold-rgb:138 106 50;
  --gold-hot:#8a6a32;
  --gold-deep:#6f562a;
  --light:#ffffff;

  /* the-eagles-preview.css set */
  --te-black:#fbf8f2;
  --te-charcoal:#f3ece0;
  --te-graphite:#ece2d3;
  --te-cream:#17130f;
  --te-white:#17130f;
  --te-paper:#fbf8f2;
  --te-muted:#61584d;
  --te-gold:#8a6a32;
  --te-gold-light:#8a6a32;
  --te-gold-dark:#8a6a32;

  /* te-lions set */
  --te-lions-bg:#fbf8f2;
  --te-lions-surface:#fffaf1;
  --te-lions-card:#fffaf1;
  --te-lions-ink:#17130f;
  --te-lions-muted:#61584d;
  --te-lions-gold:#8a6a32;
  --te-lions-gold-hot:#8a6a32;
  --te-lions-line:rgba(138,106,50,.20);

  background:#fbf8f2;
  color:#17130f;
}

/* LAYER A2 — CRITICAL. estate-lions-prototype.css:284-285 redeclare
   --gold/--gold-hot/--ink at body[class*="elementor-kit-"] and
   --te-global-text-color at body, which out-rank a bare html.te-light{}.
   Re-assert them at body level or ~half the text + the footer stay wrong. */
html.te-light body,
html.te-light body[class*="elementor-kit-"]{
  --ink:#17130f;
  --gold:#8a6a32;
  --gold-hot:#8a6a32;
  --te-global-text-color:#17130f;
  /* Elementor kit globals (widgets read these directly). NOTE: do NOT flip
     --e-global-color-the_eagles_bg — gold-button TEXT reads it and must stay
     dark. Accent/primary stay gold (gold headings → dark gold via --gold flip). */
  --e-global-color-text:#17130f;
  --e-global-color-the_eagles_ink:#17130f;
  --e-global-color-the_eagles_muted:#61584d;
  --e-global-color-the_eagles_surface:#fffaf1;
  background:#fbf8f2;
  color:#17130f;
}
/* The dark theme pins the page background with `body,.te-site,.elementor-page,
   .te-page{background:#0d0906!important}`. Without !important here, that dark
   bg shows through the gaps between sections as black bars. Force it light. */
html.te-light body,
html.te-light .te-site,
html.te-light .elementor-page,
html.te-light .te-page{ background:#fbf8f2!important; }

/* LAYER A3 — DARK ISLANDS. Photographic / video surfaces stay dark for text
   legibility. Re-assert the DARK token set on their roots so any token-driven
   descendant (labels, prices, kickers) keeps its light-on-dark colors. Custom
   properties resolve from the closest ancestor, so this wins for the subtree
   regardless of selector specificity. Literal dark colors inside these zones
   are already correct and need no rule. */
html.te-light :where(
  #hero,
  .te-lions-hero, .te-lions-hero-bg, .te-lions-hero-inner, .te-lions-veil,
  .te-hero,
  .te-home-search-form,
  .te-lions-floating-search,
  .te-search,
  .te-lions-search, .te-lions-search-hero,
  .te-offmarket,
  .te-lions-category-grid
){
  --bg:#0a0806; --bg-2:#14100c; --bg-3:#1d1812;
  --ink:#f5efe3; --ink-rgb:245 239 227;
  --muted:#9d9184; --muted-rgb:157 145 132;
  --gold:#c9a86b; --gold-rgb:201 168 107; --gold-hot:#e4c48a; --gold-deep:#8a6d3f;
  --te-black:#050505; --te-white:#fff; --te-muted:#b8b2a8;
  --te-gold:#b9975b; --te-gold-light:#d7b878; --te-gold-dark:#8a6a32;
  --te-lions-bg:#0a0806; --te-lions-surface:#14100c; --te-lions-card:#1d1812;
  --te-lions-ink:#f5efe3; --te-lions-muted:#9d9184;
  --te-lions-gold:#c9a86b; --te-lions-gold-hot:#e4c48a; --te-lions-line:rgba(201,168,107,.18);
  --te-global-text-color:#f5efe3;
  --e-global-color-text:#f5efe3;
  --e-global-color-the_eagles_ink:#f5efe3;
  --e-global-color-the_eagles_muted:#b8a995;
  --e-global-color-the_eagles_surface:#14100c;
  color:#f5efe3;
}

/* Gold BUTTONS keep their rich champagne gradient (the global flip would make
   them flat dark gold). Re-assert vibrant gold tokens locally; the existing
   button gradient/shadow rules read these and restore themselves. Button text
   stays dark via the dark-bg color contract already in the base CSS. */
html.te-light :where(
  .btn-solid-gold,
  .te-submit,
  .te-btn-gold, .te-lions-btn-gold,
  .te-global-property-search button,
  .te-search button,
  .te-property-filters button,
  .te-search-actions button,
  .te-global-search-submit, .te-search-submit-icon,
  .elementor-widget-button:not(.te-nav-button):not(.te-footer-link) .elementor-button
){
  --gold:#c9a86b; --gold-rgb:201 168 107; --gold-hot:#e4c48a; --gold-deep:#8a6d3f;
  --te-gold:#b9975b; --te-gold-light:#d7b878;
  --te-lions-gold:#c9a86b; --te-lions-gold-hot:#e4c48a;
}

/* ============================================================================
   LAYER B — component overrides for hardcoded (literal) dark colors.
   ============================================================================ */

/* ---- Pass 0: global chrome (PHP fallback header / footer) ------------------ */

/* Fallback site header (.te-site-header). The Elementor Pro header is handled
   by the Elementor sweep + per-symptom rules added during QA. */
html.te-light .te-site-header{
  background:linear-gradient(180deg,rgba(255,250,241,.92),rgba(251,248,242,.82))!important;
  border-bottom:1px solid rgba(138,106,50,.22)!important;
  backdrop-filter:blur(14px);
}
html.te-light .te-site-header a,
html.te-light .te-site-header a:visited,
html.te-light .te-nav,
html.te-light .te-header-actions{ color:#17130f; }
html.te-light .te-nav a:after{ background:#8a6a32; }
html.te-light .te-logo small{ color:#61584d; }
/* mobile nav drawer */
html.te-light .te-nav.is-open,
html.te-light .te-site-header.is-menu-open .te-nav{
  background:#fffaf1;
  border:1px solid rgba(138,106,50,.4);
  box-shadow:0 24px 70px rgba(28,20,12,.22);
}
html.te-light .te-nav a{ color:#17130f; border-bottom-color:rgba(138,106,50,.18); }

/* Language switcher: intentionally NOT recolored. PL/EN/RU must always match the
   main menu (.elementor-item, color:var(--e-global-color-text)) and stay the same
   in both modes — so we leave the switcher's inherited color untouched. */

/* Footer — base + lions override are literal/!important */
html.te-light .te-footer{
  background:#f3ece0!important;
  border-top:1px solid rgba(138,106,50,.22)!important;
  color:#17130f!important;
}
html.te-light .te-footer a,
html.te-light .te-footer span,
html.te-light .te-footer p,
html.te-light .te-footer-legal-link{ color:#61584d!important; }
html.te-light .te-footer h4{ color:#8a6a32!important; }
html.te-light .te-footer-legal-link:hover{ color:#8a6a32!important; }

/* ---- Subpage hero (decision #2: heroes light, photos stay dark) ----------- */
html.te-light .te-page-hero{
  background-color:#fbf8f2!important;
  color:#17130f!important;
}
html.te-light .te-page-hero h1,
html.te-light .te-page-hero h1.elementor-heading-title{ color:#17130f!important; }
html.te-light .te-page-hero p:not(.te-eyebrow),
html.te-light .te-page-hero .te-lead{ color:#61584d!important; }
html.te-light .te-page-hero .te-eyebrow{ color:#8a6a32!important; }

/* ---- Sections: dark → paper ----------------------------------------------- */
html.te-light .te-section.te-dark{ background:#fbf8f2!important; color:#17130f!important; }
html.te-light .te-dark .te-page-content,
html.te-light .te-dark .te-page-content p,
html.te-light .te-dark .te-content,
html.te-light .te-dark .te-content p,
html.te-light .te-dark .te-check-list li,
html.te-light .te-dark .te-check-list.native-check-list .te-check-item,
html.te-light .te-dark .te-services-page-grid article p{ color:#61584d!important; }
html.te-light .te-dark .te-page-content strong,
html.te-light .te-dark .te-story-grid strong,
html.te-light .te-dark .te-content strong{ color:#17130f!important; }
html.te-light .te-dark .te-eyebrow,
html.te-light .te-dark .te-content a,
html.te-light .te-dark .te-check-list li:before,
html.te-light .te-dark .te-check-list.native-check-list .te-check-item:before,
html.te-light .te-dark .te-results-count{ color:#8a6a32!important; }

/* ---- Listing: search, results, premium cards ------------------------------ */
/* Global property search (token bg flips to paper; inputs use literal darks). */
html.te-light .te-global-property-search{
  background:#fffaf1;
  border:1px solid rgba(138,106,50,.28);
  color:#17130f;
}
html.te-light .te-global-property-search span{ color:#8a6a32; }
html.te-light .te-global-property-search input,
html.te-light .te-global-property-search select,
html.te-light .te-global-search-advanced-grid input,
html.te-light .te-global-search-advanced-grid select{
  background:#ffffff;
  border:1px solid rgba(138,106,50,.24);
  color:#17130f;
}
html.te-light .te-global-property-search input::placeholder{ color:#9b9183; }
html.te-light .te-global-search-advanced-panel summary{ color:#61584d; }

/* Legacy search / property filters */
html.te-light .te-property-filters{
  background:#fffaf1;
  border:1px solid rgba(138,106,50,.32);
  box-shadow:0 24px 70px rgba(28,20,12,.14);
}
html.te-light .te-property-filters span,
html.te-light .te-property-filters legend{ color:#8a6a32; }
html.te-light .te-property-filters input,
html.te-light .te-property-filters select{ color:#17130f; }
html.te-light .te-property-filters option,
html.te-light .te-global-property-search option{ background:#fff; color:#17130f; }
html.te-light .te-property-filters label,
html.te-light .te-property-filters fieldset{ border-color:rgba(138,106,50,.22); }
html.te-light .te-property-search-shell.te-property-filters input,
html.te-light .te-property-search-shell.te-property-filters select{
  background:#ffffff; border:1px solid rgba(138,106,50,.22); color:#17130f;
}

/* Premium property cards (.te-property-card--premium) */
html.te-light .te-property-card--premium{
  background:#fffaf1;
  border:1px solid rgba(138,106,50,.18);
  box-shadow:0 24px 60px -42px rgba(28,20,12,.40);
}
html.te-light .te-property-card--premium:hover{
  border-color:rgba(138,106,50,.34);
  box-shadow:0 34px 70px -34px rgba(28,20,12,.40);
}
html.te-light .te-property-card--premium .te-property-image{ background:#ece2d3; }
html.te-light .te-property-card--premium h3 a,
html.te-light .te-property-card--premium .te-property-spec-copy strong,
html.te-light .te-property-card--premium .te-property-spec-copy .te-property-spec-extra{ color:#17130f!important; }
html.te-light .te-property-card--premium .te-property-spec-label{ color:#61584d!important; }
html.te-light .te-property-card--premium .te-property-specs .te-property-spec{
  border:1px solid rgba(138,106,50,.22)!important;
  background:rgba(138,106,50,.05)!important;
  color:#17130f!important;
}
html.te-light .te-property-card--premium .te-property-spec-icon{
  border:1px solid rgba(138,106,50,.28);
  color:#8a6a32;
  background:rgba(138,106,50,.06);
}
/* "new/featured" badges stay gold; the gallery/count chip becomes light */
html.te-light .te-property-card--premium .te-property-badges b{ background:#c9a86b!important; color:#0a0806!important; }
html.te-light .te-property-card--premium .te-property-badges span{
  background:rgba(255,250,241,.92)!important;
  border:1px solid rgba(138,106,50,.28);
  color:#17130f!important;
}

/* Plain (non-premium) carousel card on subpages */
html.te-light .prop-card{ border:1px solid rgba(138,106,50,.16); }
html.te-light .prop-card:hover{
  border-color:rgba(138,106,50,.32);
  box-shadow:0 30px 60px -34px rgba(28,20,12,.34);
}

/* Empty state (dark variant) */
html.te-light .te-property-results-section .te-empty-state,
html.te-light .te-empty-state-dark{
  background:#fffaf1;
  border:1px solid rgba(138,106,50,.22);
  color:#17130f;
  box-shadow:0 24px 70px rgba(28,20,12,.12);
}
html.te-light .te-property-results-section .te-empty-state h2,
html.te-light .te-empty-state-dark h2{ color:#17130f; }
html.te-light .te-property-results-section .te-empty-state p{ color:#61584d; }

/* ---- Services cards ------------------------------------------------------- */
html.te-light .te-services article{
  background:#fffaf1;
  border:1px solid rgba(138,106,50,.20);
}
html.te-light .te-services p{ color:#61584d; }
html.te-light .te-services .te-service-icon,
html.te-light .te-services article div{ color:#8a6a32; }

/* ---- Tactile "liquid glass" panels: dark glass → light glass -------------- */
html.te-light :where(.value-card,.testimonial,.prog-card,.te-brief-card,.te-highlight-card-dark){
  background:rgba(255,255,255,.66)!important;
  border:1px solid rgba(138,106,50,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 44px -30px rgba(28,20,12,.30)!important;
  color:#17130f;
}
html.te-light :where(.value-card,.testimonial,.prog-card,.te-brief-card):hover{
  background:rgba(255,255,255,.82)!important;
  border-color:rgba(138,106,50,.34)!important;
}
html.te-light .te-highlight-card-dark h3{ color:#17130f; }

/* ---- Forms (contact / off-market / zglos) -------------------------------- */
html.te-light .te-form{
  background:#fffaf1;
  border:1px solid rgba(138,106,50,.30);
  box-shadow:0 28px 80px -50px rgba(28,20,12,.30);
  color:#17130f;
}
html.te-light .te-form-head h2{ color:#17130f; }
html.te-light .te-form-head p,
html.te-light .te-form label,
html.te-light .te-form label span{ color:#61584d!important; }
html.te-light .te-form input,
html.te-light .te-form textarea,
html.te-light .te-form select{
  background:#ffffff!important;
  border:1px solid rgba(138,106,50,.24)!important;
  color:#17130f!important;
}
html.te-light .te-form input:focus,
html.te-light .te-form textarea:focus,
html.te-light .te-form select:focus{
  border-color:rgba(138,106,50,.6)!important;
  background:#fffdf8!important;
}
html.te-light .te-form input::placeholder,
html.te-light .te-form textarea::placeholder{ color:#9b9183; }
html.te-light .te-form select option{ background:#fff; color:#17130f; }
html.te-light .te-form a,
html.te-light .te-form a:visited,
html.te-light .te-form .te-form-consent a,
html.te-light .te-form-consent a{ color:#8a6a32; }
/* RODO consent block */
html.te-light .te-form-consent,
html.te-light .te-form .te-form-consent{ color:#61584d!important; }
html.te-light .te-form-microcopy{ color:#61584d; }
/* status messages */
html.te-light .te-form-status-error{ background:#fbeee9; border-color:#b9975b; color:#7a2e16!important; }

/* Bare [the_eagles_contact_form] dark wrapper used outside form-card */
html.te-light .te-contact-form-shortcode,
html.te-light .te-form:not(.te-form-card .te-form){ color:#17130f; }

/* ---- Homepage non-photo bands (gradients → light) ------------------------- */
html.te-light .te-lions-offmarket{ background:#f3ece0!important; }
html.te-light .te-lions-offmarket-box{
  background:linear-gradient(145deg,#fffaf1,#fbf8f2)!important;
  border:1px solid rgba(138,106,50,.22)!important;
}
html.te-light .te-lions-offmarket p{ color:#61584d!important; }
html.te-light .te-lions-contact{ background:linear-gradient(135deg,#f3ece0,#fbf8f2)!important; }
html.te-light .te-lions-story p{ color:#61584d!important; }
html.te-light .te-lions-story aside{
  background:#fffaf1!important;
  border:1px solid rgba(138,106,50,.20)!important;
}
html.te-light .te-final-cta{
  background:linear-gradient(135deg,#f3ece0,#fbf8f2)!important;
  border-top:1px solid rgba(138,106,50,.22)!important;
}

/* ---- Legal / privacy ------------------------------------------------------ */
html.te-light .te-lions-page-hero{ background:linear-gradient(135deg,#f3ece0,#fbf8f2)!important; color:#17130f; }
html.te-light .te-lions-page-hero p,
html.te-light .te-lions-legal-content p{ color:#61584d!important; }

/* ---- Pass 3: single property — Elementor property widgets (dark panels) ---- */
html.te-light .te-elementor-property-agent,
html.te-light .te-single-agent.te-elementor-property-agent{
  background:#fffaf1!important;
  color:#17130f!important;
  border:1px solid rgba(138,106,50,.22)!important;
  box-shadow:0 24px 60px -42px rgba(28,20,12,.40)!important;
}
html.te-light .te-elementor-property-agent h2,
html.te-light .te-single-agent h2{ color:#17130f!important; }
html.te-light .te-elementor-property-agent .te-eyebrow,
html.te-light .te-elementor-property-agent a,
html.te-light .te-single-agent a{ color:#8a6a32!important; }
html.te-light .te-property-agent-photo{ background:#ece2d3; border-color:rgba(138,106,50,.35); }
html.te-light .te-elementor-property-parameters{
  background:#fffaf1!important;
  border:1px solid rgba(138,106,50,.20)!important;
}
html.te-light .te-elementor-property-parameters th{
  background:rgba(138,106,50,.06)!important;
  border-bottom:1px solid rgba(138,106,50,.14)!important;
  color:#8a6a32!important;
}
html.te-light .te-elementor-property-parameters td{
  border-bottom:1px solid rgba(138,106,50,.14)!important;
  color:#17130f!important;
}
html.te-light .te-property-parameter-table-wrap{
  border:1px solid rgba(138,106,50,.18);
  background:rgba(138,106,50,.03);
}
html.te-light .te-property-parameter-table th{ color:#8a6a32; }
html.te-light .te-property-parameter-table td{ color:#17130f; }
html.te-light .te-property-parameter-table th,
html.te-light .te-property-parameter-table td{ border-bottom-color:rgba(138,106,50,.14); }

/* ---- Pass 4: single agent — dark specialty tiles + quote ------------------ */
html.te-light .te-agent-detail-grid article{
  background:#fffaf1;
  border:1px solid rgba(138,106,50,.22);
}
html.te-light .te-agent-detail-grid span{ color:#8a6a32; }
html.te-light .te-agent-detail-grid strong{ color:#17130f; }
html.te-light .te-agent-quote{
  background:rgba(138,106,50,.05);
  border-left:2px solid #8a6a32;
  color:#17130f;
}

/* ---- Pass 7: contact — location/map boxes + map tint --------------------- */
html.te-light .te-contact-location-copy,
html.te-light .te-contact-map-card{
  background:#fffaf1!important;
  border:1px solid rgba(138,106,50,.22)!important;
  box-shadow:0 24px 60px -42px rgba(28,20,12,.40)!important;
}
html.te-light .te-contact-location-copy h2{ color:#17130f!important; }
html.te-light .te-contact-location-copy p{ color:#61584d!important; }
html.te-light .te-contact-location-copy a:not(.te-btn){ color:#8a6a32!important; }
html.te-light .te-contact-address-box{
  background:rgba(138,106,50,.06)!important;
  border-color:rgba(138,106,50,.22)!important;
}
html.te-light .te-contact-card-grid .te-brief-card:hover{ background:#ffffff!important; }
html.te-light .te-contact-card-grid .te-brief-card h3 a{ color:#8a6a32!important; }
html.te-light .te-contact-map-embed iframe{ filter:none!important; }

/* ---- Pass 6: about — founder profile band (Elementor container) ----------- */
html.te-light .te-founder-profile-section{ background:#f3ece0!important; color:#17130f; }
html.te-light .te-founder-profile-section :where(p,li,.elementor-widget-text-editor,.elementor-widget-text-editor p){ color:#17130f; }
html.te-light .te-founder-profile-section :where(h1,h2,h3,h4,.elementor-heading-title){ color:#17130f; }

/* Founder/agent profile CARD (.te-team-profile-card) is itself a dark glass
   gradient — so dark section text fell on a dark card (unreadable). Make the
   card light with readable copy. */
html.te-light .te-team-profile-card{
  background:#fffaf1!important;
  border:1px solid rgba(138,106,50,.22)!important;
  box-shadow:0 24px 60px -42px rgba(28,20,12,.42)!important;
}
html.te-light .te-team-profile-card__photo{ background:#ece2d3!important; }
html.te-light .te-team-profile-card h3,
html.te-light .te-team-profile-card :where(h1,h2,h4,strong,.elementor-heading-title){ color:#17130f!important; }
html.te-light .te-team-profile-card p{ color:#4a4239!important; }
html.te-light .te-team-profile-card__role,
html.te-light .te-team-profile-card__email{ color:#8a6a32!important; }
/* outline buttons render white text → unreadable on light surfaces (kept light
   only inside the photo hero) */
html.te-light .te-btn-outline{ color:#17130f!important; border-color:rgba(138,106,50,.5)!important; }
html.te-light #hero .te-btn-outline,
html.te-light .te-lions-hero .te-btn-outline{ color:#f5efe3!important; border-color:rgba(245,239,227,.5)!important; }

/* ---- Cards: tile copy + chips + flip-card reverse face -------------------- */
/* brief-card paragraphs are literal light (#bdb5a8) → darken on the now-light card */
html.te-light .te-brief-card p{ color:#61584d!important; }
/* team meta chips use literal light gold (#d7b878) → dark gold + soft fill */
html.te-light .te-team-meta-chip{
  color:#8a6a32!important;
  border-color:rgba(138,106,50,.3)!important;
  background:rgba(138,106,50,.06)!important;
}
html.te-light .te-team-card{ border-color:rgba(138,106,50,.18)!important; }
/* "Co nas wyróżnia" flip cards: the reverse face is a literal dark gradient —
   make it light glass with dark copy so the description reads on flip. */
html.te-light .te-reveal-cards .te-flip__back{
  background:linear-gradient(155deg,rgba(255,255,255,.93),rgba(251,248,242,.95))!important;
  border:1px solid rgba(138,106,50,.20)!important;
}
html.te-light .te-reveal-cards .te-flip__back,
html.te-light .te-reveal-cards .te-flip__back p,
html.te-light .te-reveal-cards .te-flip__back li,
html.te-light .te-reveal-cards .te-flip__back .elementor-widget-text-editor{ color:#3f372e!important; }
html.te-light .te-reveal-cards .te-flip__back :where(h1,h2,h3,h4,.elementor-heading-title,strong){ color:#17130f!important; }

/* ============================================================================
   LAYER C — targeted Elementor widget text sweep. Per-post Elementor CSS may
   layer literal/kit colors on .elementor-element-XXXX. Keep this targeted —
   never a blanket `* {color}`. Excludes dark islands (their tokens are restored
   above; this only sets text colors on editorial widgets).
   ============================================================================ */
html.te-light .te-section .elementor-widget-text-editor,
html.te-light .te-section .elementor-widget-text-editor p,
html.te-light .te-section .elementor-widget-icon-list .elementor-icon-list-text,
html.te-light .te-section .elementor-widget-heading .elementor-heading-title{
  color:#17130f;
}

/* ---- Authored INLINE light colors (dark-theme accents) → readable ---------
   Content was authored for dark mode with inline styles like
   <span style="color:#f5efe3"> on two-tone heading accents. Inline styles beat
   token flips, so they vanish on paper. Remap: heading accents → dark gold,
   body copy → ink. The homepage media hero (#hero/.te-lions-hero) keeps its
   light accents (ID specificity makes the hero rule win). */
html.te-light :is(h1,h2,h3,h4,.elementor-heading-title) [style*="#f5efe3"],
html.te-light :is(h1,h2,h3,h4,.elementor-heading-title) [style*="#f6f2ea"],
html.te-light :is(h1,h2,h3,h4,.elementor-heading-title) [style*="#fff"],
html.te-light :is(h1,h2,h3,h4,.elementor-heading-title) [style*="#e4c48a"],
html.te-light :is(h1,h2,h3,h4,.elementor-heading-title) [style*="#d7b878"]{ color:#8a6a32 !important; }
html.te-light :where(.elementor-widget-text-editor,p,li,blockquote,.te-lead) [style*="#f5efe3"],
html.te-light :where(.elementor-widget-text-editor,p,li,blockquote,.te-lead) [style*="#f6f2ea"]{ color:#17130f !important; }
html.te-light #hero [style*="#f5efe3"], html.te-light .te-lions-hero [style*="#f5efe3"],
html.te-light #hero [style*="#fff"],    html.te-light .te-lions-hero [style*="#fff"]{ color:#f5efe3 !important; }

/* ---- Pass 0b: floating overlays, rails & banners -------------------------- */
/* Cookie consent banner (inline CSS from the google-ads mu-plugin). Our
   html.te-light prefix out-specifies its single-class rules regardless of
   source order. */
html.te-light .te-cookie-consent{
  background:rgba(255,250,241,.97);
  color:#17130f;
  border:1px solid rgba(138,106,50,.32);
  box-shadow:0 18px 52px rgba(28,20,12,.22);
}
html.te-light .te-cookie-consent__title{ color:#17130f; }
html.te-light .te-cookie-consent__copy{ color:#61584d; }
html.te-light .te-cookie-consent__copy a{ color:#8a6a32; }
html.te-light .te-cookie-consent__accept{ background:#c9a86b; color:#14110a; }
html.te-light .te-cookie-consent__reject{
  background:rgba(28,20,12,.06);
  color:#17130f;
  border:1px solid rgba(138,106,50,.28);
}

/* Floating quick-action rail (desktop) */
html.te-light .te-floating-rail .te-floating-rail-item{
  background:rgba(255,250,241,.92);
  color:#8a6a32;
  border-color:rgba(138,106,50,.34);
  box-shadow:0 14px 34px rgba(28,20,12,.16);
}
html.te-light .te-floating-rail a.te-floating-rail-item:hover,
html.te-light .te-floating-rail a.te-floating-rail-item:focus-visible{
  background:#c9a86b; color:#0a0806; border-color:#c9a86b;
}
html.te-light .te-floating-rail .te-floating-rail-label{
  background:#fffaf1; color:#17130f; border-color:rgba(138,106,50,.28);
}

/* Mobile sticky CTA bar */
html.te-light .te-mobile-sticky-cta{
  background:#fffaf1;
  border-top:1px solid rgba(138,106,50,.30);
  box-shadow:0 -12px 40px rgba(28,20,12,.14);
}
html.te-light .te-mobile-sticky-cta a{ color:#17130f; border-right-color:rgba(138,106,50,.16); }
html.te-light .te-mobile-sticky-cta a:last-child{ background:linear-gradient(135deg,#e4c48a,#c9a86b); color:#120f0a; }

/* ============================================================================
   THEME-TOGGLE BUTTON — UNGATED base styles (new class, no regression risk).
   Icon swap + floating colors switch on html.te-light.
   ============================================================================ */
/* All box-model/icon props use !important because the button is injected INSIDE
   an Elementor shortcode widget whose svg/button rules (e_font_icon_svg sizing,
   1em icons, button resets) otherwise win and collapse the icon to nothing. */
.te-theme-toggle{
  display:inline-flex!important; align-items:center; justify-content:center;
  width:34px!important; height:34px!important; min-width:34px!important; max-width:34px!important;
  padding:0!important; margin:0 0 0 8px!important; flex:0 0 auto!important;
  border:1px solid rgba(201,168,107,.5)!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#d7b878; /* gold icon (dark mode) */
  cursor:pointer;
  vertical-align:middle;
  -webkit-appearance:none; appearance:none;
  transition:background .2s ease, border-color .2s ease, color .2s ease, transform .15s ease;
}
html.te-light .te-theme-toggle{ color:#8a6a32; border-color:rgba(138,106,50,.5)!important; }
.te-theme-toggle:hover{ border-color:rgba(201,168,107,.9)!important; background:rgba(201,168,107,.12)!important; }
html.te-light .te-theme-toggle:hover{ border-color:rgba(138,106,50,.85)!important; background:rgba(138,106,50,.08)!important; }
.te-theme-toggle:active{ transform:scale(.94); }
.te-theme-toggle:focus-visible{ outline:2px solid rgba(201,168,107,.9); outline-offset:2px; }
.te-theme-toggle svg{ width:18px!important; height:18px!important; stroke:currentColor!important; fill:none!important; }
/* Icon reflects the CURRENT mode: dark → moon, light → sun. */
.te-theme-toggle .te-theme-ico-sun{ display:none!important; }
.te-theme-toggle .te-theme-ico-moon{ display:block!important; }
html.te-light .te-theme-toggle .te-theme-ico-moon{ display:none!important; }
html.te-light .te-theme-toggle .te-theme-ico-sun{ display:block!important; }

/* Floating fallback (used when no header actions slot is found) */
.te-theme-toggle--floating{
  position:fixed; right:16px; bottom:16px; z-index:200; margin:0;
  width:46px; height:46px; min-width:46px;
  background:rgba(20,16,12,.86);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid rgba(201,168,107,.45);
  color:#f5efe3;
  box-shadow:0 12px 30px rgba(0,0,0,.42);
}
html.te-light .te-theme-toggle--floating{
  background:rgba(255,250,241,.94);
  border-color:rgba(138,106,50,.42);
  color:#17130f;
  box-shadow:0 12px 30px rgba(28,20,12,.22);
}
.te-theme-toggle--floating svg{ width:18px; height:18px; }
@media (max-width:600px){
  .te-theme-toggle--floating{ right:12px; bottom:calc(12px + env(safe-area-inset-bottom,0)); }
}

/* Light mode header: keep the global nav dark immediately, before scroll. */
html.te-light #nav.te-elementor-global-nav,
html.te-light .te-site-header{
  background:rgba(10,8,6,.92)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.2)!important;
  backdrop-filter:blur(14px) saturate(1.2)!important;
  border-bottom:1px solid rgba(201,168,107,.18)!important;
  color:#f5efe3!important;
  box-shadow:0 14px 40px rgba(0,0,0,.22)!important;
}
html.te-light #nav.te-elementor-global-nav :where(
  .nav-link,
  .nav-item,
  .te-nav-button,
  .te-nav-button .elementor-button,
  .te-header-nav,
  .te-header-actions,
  .te-language-switcher,
  .elementor-nav-menu a.elementor-item
),
html.te-light .te-site-header :where(
  .te-nav,
  .te-header-actions,
  .te-language-switcher,
  a:not(.te-submit),
  a:not(.te-submit):visited
){
  color:#f4ecdd!important;
  fill:#f4ecdd!important;
}
html.te-light #nav.te-elementor-global-nav :where(
  .te-language-switcher .is-active,
  .elementor-nav-menu a.elementor-item:hover,
  .elementor-nav-menu a.elementor-item:focus-visible
),
html.te-light .te-site-header :where(.te-language-switcher .is-active, .te-nav a:hover){
  color:#d7b878!important;
  fill:#d7b878!important;
}
html.te-light #nav.te-elementor-global-nav :where(.te-header-cta .elementor-button, .btn-solid-gold),
html.te-light .te-site-header :where(.te-submit, .te-submit:visited){
  background:linear-gradient(180deg,#e7c98f,#c9a86b)!important;
  border-color:rgba(215,184,120,.58)!important;
  color:#0a0806!important;
}
html.te-light #nav.te-elementor-global-nav .te-theme-toggle,
html.te-light .te-site-header .te-theme-toggle{
  background:rgba(245,239,227,.04)!important;
  border-color:rgba(215,184,120,.58)!important;
  color:#d7b878!important;
}
html.te-light #nav.te-elementor-global-nav :where(.te-elementor-menu-toggle, .te-elementor-menu-toggle .elementor-button),
html.te-light .te-site-header .te-mobile-menu-toggle{
  color:#f5efe3!important;
  border-color:rgba(215,184,120,.42)!important;
}
html.te-light .te-site-header .te-mobile-menu-toggle span{
  background:#f5efe3!important;
}

/* Keep offer prices readable on light cards: dark strip, white type. */
html.te-light .te-property-card-media-summary,
html.te-light .te-property-card-media-summary:visited{
  background:linear-gradient(135deg,rgba(18,14,10,.94),rgba(8,6,4,.82)) !important;
  border-color:rgba(201,168,107,.38) !important;
  color:#f5efe3 !important;
}
html.te-light .te-property-card-media-summary span,
html.te-light .te-property-card-media-summary strong{
  color:#f5efe3 !important;
}
html.te-light .te-property-card-media-summary span:nth-child(2){
  color:rgba(245,239,227,.72) !important;
}
html.te-light .te-property-card--premium .te-price{
  display:inline-grid;
  gap:4px;
  width:max-content;
  max-width:100%;
  padding:10px 12px;
  border:1px solid rgba(201,168,107,.34);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(18,14,10,.94),rgba(8,6,4,.82));
  color:#f5efe3 !important;
}
html.te-light .te-property-card--premium .te-price .te-property-price-meter{
  color:rgba(245,239,227,.72) !important;
}
html.te-light .te-archive .te-page-hero--image .te-eyebrow,
html.te-light .te-archive .te-page-hero--image h1{
  color:#d7b878 !important;
}
html.te-light .te-archive .te-page-hero--image p:not(.te-eyebrow){
  color:#f5efe3 !important;
}
