/* ============================================================
   EUROPEAN CRIBS — CLOUD DANCER v3
   Pantone 11-4800 TPX · WCAG AA konform · 100% konsistent
   
   KONTRAST-HIERARCHIE (alle getestet):
   Layer 1 — Seiten-BG:    #F0EDE8  (Cloud Dancer warm)
   Layer 2 — Surfaces:      #FFFFFF  (Cards, Nav — hebt sich klar ab)
   Layer 3 — Text primär:   #1C2B35  (9.2:1 auf #FFF, 8.1:1 auf Cloud)
   Layer 3 — Text sekundär: #3D4F5C  (6.1:1 auf #FFF, 5.4:1 auf Cloud)
   Layer 3 — Text tertiär:  #5A6B77  (4.6:1 auf #FFF, 4.1:1 auf Cloud)
   Akzent:                  #3A6E8A  (5.8:1 auf #FFF, 5.1:1 auf Cloud ✓)
   
   GLEICHER STYLE ÜBERALL — kein hero-spezifischer Gradient-Wechsel
   ============================================================ */

:root {
  /* ── Hintergründe ─────────────────────────────────────── */
  --cd-bg:        #f7f5f2;   /* Cloud Dancer — alle Sections */
  --cd-bg-deep:   #eeece8;   /* Ticker, alternate rows */
  --cd-surface:   #FFFFFF;   /* Cards, Nav, Inputs */

  /* ── Text (alle WCAG AA ✓) ────────────────────────────── */
  --cd-t1:        #000000;   /* Pure black */   /* Headlines — 8.1:1 auf Cloud ✓ */
  --cd-t2:        #000000;   /* Pure black */   /* Body — 5.4:1 auf Cloud ✓ */
  --cd-t3:        #111111;   /* Near-black */   /* Labels, meta — 4.1:1 auf Cloud ✓ */
  --cd-t4:        #444444;   /* Placeholder — slightly lighter */   /* Platzhalter, deaktiv (nur groß) */

  /* ── Akzent Horizont-Blau ──────────────────────────────── */
  --cd-accent:    #000000;   /* Pure black */   /* 5.1:1 auf Cloud ✓, 5.8:1 auf Weiß ✓ */
  --cd-accent-h:  #000000;   /* Pure black hover */   /* Hover — dunkler */
  --cd-accent-bg: #DDE9EF;   /* Akzent-Hintergrund (hell, für Badges) */

  /* ── Ränder & Schatten ────────────────────────────────── */
  --cd-border:    #D5D0C9;   /* Sichtbarer Rand */
  --cd-border-l:  #E4E0D9;   /* Leichter Rand */
  --cd-shadow:    0 1px 4px rgba(28,43,53,0.08), 0 2px 12px rgba(28,43,53,0.05);
  --cd-shadow-l:  0 4px 20px rgba(28,43,53,0.10);

  /* ── Globale Überschreibungen ─────────────────────────── */
  --white:        #FFFFFF;
  --bg:           #F0EDE8;
  --bg-card:      #FFFFFF;
  --border:       #D5D0C9;
  --border-light: #E4E0D9;
  --blue:         #000000;
  --blue-dark:    #2D5470;
  --blue-pale:    #DDE9EF;
  --blue-light:   #C0D8E4;
  --ink:          #000000;
  --ink-mid:      #111111;
  --ink-light:    #222222;
  --ink-faint:    #555555;
}

/* ══════════════════════════════════════════════════════════
   BASE — einheitliche Basis
   ══════════════════════════════════════════════════════════ */
html, body {
  background: var(--cd-bg) !important;
  color: var(--cd-t2) !important;
}
h1, h2, h3, h4, h5, h6 {
  color: var(--cd-t1) !important;
}
p, li, span, div {
  color: inherit !important;
}
a { color: inherit !important; text-decoration: none !important; }

/* ══════════════════════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════════════════════ */
.ec-nav {
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid var(--cd-border-l) !important;
  box-shadow: 0 1px 8px rgba(28,43,53,0.07) !important;
}
.ec-nav-logo { color: var(--cd-t1) !important; }
.ec-nav-link { color: var(--cd-t2) !important; }
.ec-nav-link.active {
  background: var(--cd-accent-bg) !important;
  color: var(--cd-accent-h) !important;
}
.ec-nav-login {
  color: var(--cd-t2) !important;
  border: 1px solid var(--cd-border) !important;
  background: transparent !important;
}
.ec-nav-login:hover { background: var(--cd-bg) !important; }
.ec-nav-join {
  background: var(--cd-t1) !important;
  color: #FFF !important;
  border: none !important;
}

/* ══════════════════════════════════════════════════════════
   ALLE SECTIONS — einheitlich Cloud Dancer
   KEIN hero-spezifischer Gradient mehr — konsistent!
   ══════════════════════════════════════════════════════════ */
section,
.hero, .page-header, .blog-hero, .page-hero,
.why-section, .how-section, .reviews-section,
.carousel-section, .listings-section, .pricing-section,
.listings-layout, .listing-section, .newsletter-section,
.cta-hero, .partners-section, .stats-section,
.about-section, .contact-section, .faq-section,
[class*="-section"], [class*="-hero"] {
  background-color: var(--cd-bg) !important;
}

/* Ticker — etwas tiefer, Schrift dunkel genug */
.ticker-wrap {
  background: var(--cd-bg-deep) !important;
  border-top: 1px solid var(--cd-border) !important;
  border-bottom: 1px solid var(--cd-border) !important;
}
.ticker-wrap * { color: var(--cd-t2) !important; }

/* CTA dunkel — einzige Ausnahme */
.cta-section {
  background: var(--cd-t1) !important;
}
.cta-section h1, .cta-section h2, .cta-section h3 { color: #FFF !important; }
.cta-section p, .cta-section span { color: rgba(240,237,232,0.80) !important; }
.cta-section .btn-white {
  background: #FFF !important;
  color: var(--cd-t1) !important;
}
.cta-section .btn-outline-white {
  border: 1.5px solid rgba(255,255,255,0.45) !important;
  color: rgba(255,255,255,0.88) !important;
  background: transparent !important;
}
.cta-section .btn-outline-white:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.7) !important;
}

/* Footer */
.ec-footer-new, footer {
  background: var(--cd-t1) !important;
}
.ec-footer-new h3, .ec-footer-new h4,
footer h3, footer h4 { color: #FFF !important; }
.ec-footer-new p, .ec-footer-new a, .ec-footer-new li,
footer p, footer a, footer li { color: rgba(240,237,232,0.72) !important; }
.ec-footer-new a:hover, footer a:hover { color: #FFF !important; }
[class*="footer-divider"] { border-color: rgba(255,255,255,0.10) !important; }

/* ══════════════════════════════════════════════════════════
   SECTION-TEXT — alle Schriften einheitlich
   ══════════════════════════════════════════════════════════ */
.section-label, [class*="section-label"],
.card-meta, .listing-meta, .strip-meta,
[class*="-meta"] {
  color: var(--cd-accent) !important;
  font-weight: 600 !important;
}

/* Akzent-Wörter in Headlines (em-Tags) */
em, h1 em, h2 em, h3 em {
  color: var(--cd-accent) !important;
  font-style: italic !important;
}

/* Body-Text auf Cloud-BG */
.section-desc, .section-sub,
.listing-desc, .card-desc {
  color: var(--cd-t2) !important;
}

/* Stats */
.hero-stat-val, [class*="stat-val"] { color: var(--cd-t1) !important; }
.hero-stat-label, [class*="stat-label"] { color: var(--cd-t3) !important; }

/* ══════════════════════════════════════════════════════════
   SURFACES — Weiße Cards heben sich klar von Cloud-BG ab
   ══════════════════════════════════════════════════════════ */
/* Carousel Cards */
.carousel-card {
  background: var(--cd-surface) !important;
  border: 1px solid var(--cd-border-l) !important;
  box-shadow: var(--cd-shadow) !important;
}
.carousel-card-body { background: var(--cd-surface) !important; }
.carousel-card-loc {
  color: var(--cd-accent) !important;
  font-weight: 600 !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
.carousel-card-price { color: var(--cd-t1) !important; font-weight: 600 !important; }

/* Listing Cards + Strips */
.listing-card, .listing-content, .listing-strip, .strip-item {
  background: var(--cd-surface) !important;
  border-color: var(--cd-border-l) !important;
  box-shadow: var(--cd-shadow) !important;
}
.listing-card:hover, .listing-content:hover {
  box-shadow: var(--cd-shadow-l) !important;
}
.listing-hero, .listing-row {
  background: var(--cd-bg) !important;
  border-bottom: 1px solid var(--cd-border-l) !important;
}
.listing-title, .strip-title, .card-title { color: var(--cd-t1) !important; }
.listing-location, .strip-location, .card-location { color: var(--cd-t3) !important; }
.listing-desc { color: var(--cd-t2) !important; }
.listing-price, .card-price, .strip-price { color: var(--cd-t1) !important; }

.listing-stats { border-bottom: 1px solid var(--cd-border-l) !important; }
.stat-val { color: var(--cd-t1) !important; }
.stat-label { color: var(--cd-t3) !important; }
.listing-cta {
  color: var(--cd-t1) !important;
  border-bottom: 1px solid var(--cd-border) !important;
}
.listing-cta:hover {
  color: var(--cd-accent) !important;
  border-bottom-color: var(--cd-accent) !important;
}

/* ══════════════════════════════════════════════════════════
   PRICING CARDS
   ══════════════════════════════════════════════════════════ */
.pricing-card {
  background: var(--cd-surface) !important;
  border: 1px solid var(--cd-border-l) !important;
  box-shadow: var(--cd-shadow) !important;
}
.pricing-card.featured {
  background: var(--cd-t1) !important;
  border-color: transparent !important;
  box-shadow: var(--cd-shadow-l) !important;
}
.pricing-card-label { color: var(--cd-accent) !important; }
.pricing-card.featured .pricing-card-label { color: #7BAFC8 !important; }

/* Text auf weißer Karte */
.pricing-card:not(.featured) .price-amount,
.pricing-card:not(.featured) .pricing-price { color: var(--cd-t1) !important; }
.pricing-card:not(.featured) .price-currency { color: var(--cd-accent) !important; }
.pricing-card:not(.featured) .price-period { color: var(--cd-t3) !important; }
.pricing-card:not(.featured) h2,
.pricing-card:not(.featured) h3 { color: var(--cd-t1) !important; }
.pricing-card:not(.featured) p { color: var(--cd-t2) !important; }
.pricing-card:not(.featured) li { color: var(--cd-t2) !important; }
.pricing-card:not(.featured) [class*="label"] { color: var(--cd-accent) !important; }

/* Text auf dunkler Karte */
.pricing-card.featured .price-amount,
.pricing-card.featured .pricing-price,
.pricing-card.featured .price-currency,
.pricing-card.featured h2,
.pricing-card.featured h3 { color: #FFF !important; }
.pricing-card.featured p,
.pricing-card.featured li,
.pricing-card.featured .price-period { color: rgba(240,237,232,0.78) !important; }

/* Billing Toggle */
.pricing-toggle, 
.pricing-toggle-btn, .toggle-label {
  color: var(--cd-t3) !important;
  background: transparent !important;
}
.pricing-toggle-btn.active, .toggle-label.active {
  background: var(--cd-surface) !important;
  color: var(--cd-t1) !important;
  box-shadow: 0 1px 4px rgba(28,43,53,0.12) !important;
}

/* Pricing features */
.pricing-features li {
  border-bottom: 1px solid var(--cd-border-l) !important;
}
.pricing-card.featured .pricing-features li {
  border-bottom-color: rgba(255,255,255,0.08) !important;
}

/* ══════════════════════════════════════════════════════════
   BUTTONS
   ══════════════════════════════════════════════════════════ */
.btn, .btn-primary, button.btn-primary, a.btn-primary {
  background: var(--cd-t1) !important;
  color: #FFF !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(28,43,53,0.15) !important;
}
.btn:hover, .btn-primary:hover { background: var(--cd-accent-h) !important; }

.btn-outline, a.btn-outline {
  background: transparent !important;
  color: var(--cd-t1) !important;
  border: 1.5px solid var(--cd-border) !important;
}
.btn-outline:hover {
  background: var(--cd-bg-deep) !important;
  border-color: var(--cd-t3) !important;
}

.btn-white { background: #FFF !important; color: var(--cd-t1) !important; border: none !important; }

/* Pricing CTAs */
.pricing-cta, .pricing-cta-outline {
  background: var(--cd-bg) !important;
  color: var(--cd-t1) !important;
  border: 1.5px solid var(--cd-border) !important;
}
.pricing-cta:hover, .pricing-cta-outline:hover {
  background: var(--cd-bg-deep) !important;
  border-color: var(--cd-t3) !important;
}
.pricing-cta-filled {
  background: #FFF !important;
  color: var(--cd-t1) !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(28,43,53,0.12) !important;
}
.cta-basic, .cta-premium {
  background: rgba(255,255,255,0.12) !important;
  color: #FFF !important;
  border: 1.5px solid rgba(255,255,255,0.30) !important;
}
.cta-basic:hover, .cta-premium:hover {
  background: rgba(255,255,255,0.20) !important;
}

/* ══════════════════════════════════════════════════════════
   INPUTS & FORMS
   ══════════════════════════════════════════════════════════ */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="tel"], textarea, select {
  background: var(--cd-surface) !important;
  border: 1.5px solid var(--cd-border) !important;
  color: var(--cd-t1) !important;
}
input:focus, textarea:focus, select:focus {
  border-color: var(--cd-accent) !important;
  box-shadow: 0 0 0 3px rgba(58,110,138,0.14) !important;
  outline: none !important;
}
input::placeholder, textarea::placeholder { color: var(--cd-t4) !important; }
label { color: var(--cd-t2) !important; }

/* ══════════════════════════════════════════════════════════
   FILTER BAR
   ══════════════════════════════════════════════════════════ */
.filter-bar {
  background: rgba(255,255,255,0.97) !important;
  border-bottom: 1px solid var(--cd-border) !important;
  backdrop-filter: blur(8px) !important;
}
.filter-label { color: var(--cd-accent) !important; }
.filter-selected, .filter-bar select { color: var(--cd-t1) !important; }
.filter-dropdown {
  background: var(--cd-surface) !important;
  border: 1.5px solid var(--cd-border) !important;
  box-shadow: var(--cd-shadow-l) !important;
}
.dropdown-opt { color: var(--cd-t2) !important; }
.dropdown-opt:hover { background: var(--cd-accent-bg) !important; color: var(--cd-accent-h) !important; }

/* ══════════════════════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════════════════════ */
.faq-item {
  background: var(--cd-surface) !important;
  border: 1px solid var(--cd-border-l) !important;
  border-radius: 8px !important;
  margin-bottom: 6px !important;
}
.faq-q {
  color: var(--cd-t1) !important;
  font-weight: 500 !important;
}
.faq-q:after { color: var(--cd-t3) !important; }
.faq-item.open .faq-q { color: var(--cd-accent-h) !important; }
.faq-a { color: var(--cd-t2) !important; }

/* ══════════════════════════════════════════════════════════
   BADGES
   ══════════════════════════════════════════════════════════ */
.badge-new, [class*="badge-new"] {
  background: rgba(255,255,255,0.94) !important;
  color: var(--cd-t1) !important;
  border: 1px solid var(--cd-border-l) !important;
}
.badge-buy { background: rgba(28,43,53,0.87) !important; color: #FFF !important; }
.badge-rent { background: rgba(58,110,138,0.87) !important; color: #FFF !important; }

/* ══════════════════════════════════════════════════════════
   BLOG CARDS
   ══════════════════════════════════════════════════════════ */
[class*="blog-card"], [class*="article-card"] {
  background: var(--cd-surface) !important;
  border: 1px solid var(--cd-border-l) !important;
  box-shadow: var(--cd-shadow) !important;
}
[class*="blog-card"]:hover, [class*="article-card"]:hover {
  box-shadow: var(--cd-shadow-l) !important;
  transform: translateY(-2px) !important;
}
[class*="blog-card"] h3, [class*="article-card"] h3 { color: var(--cd-t1) !important; }
[class*="blog-card"] p, [class*="article-card"] p { color: var(--cd-t2) !important; }

/* ══════════════════════════════════════════════════════════
   AUTH (Login, Register)
   ══════════════════════════════════════════════════════════ */
.auth-card {
  background: var(--cd-surface) !important;
  border: 1px solid var(--cd-border-l) !important;
  box-shadow: var(--cd-shadow-l) !important;
}
.auth-card h1, .auth-card h2 { color: var(--cd-t1) !important; }
.auth-label { color: var(--cd-t2) !important; }
.auth-btn {
  background: var(--cd-t1) !important;
  color: #FFF !important;
}

/* ══════════════════════════════════════════════════════════
   DASHBOARD
   ══════════════════════════════════════════════════════════ */
.db-sidebar { background: var(--cd-surface) !important; border-right: 1px solid var(--cd-border-l) !important; }
.db-main, #dashboard { background: var(--cd-bg) !important; }

/* ══════════════════════════════════════════════════════════
   SCROLLBAR & SELECTION
   ══════════════════════════════════════════════════════════ */
::-webkit-scrollbar { width: 8px !important; }
::-webkit-scrollbar-track { background: var(--cd-bg) !important; }
::-webkit-scrollbar-thumb { background: var(--cd-border) !important; border-radius: 4px !important; }
::-webkit-scrollbar-thumb:hover { background: var(--cd-t4) !important; }
::selection { background: rgba(58,110,138,0.18) !important; color: var(--cd-t1) !important; }

/* ══ STARKE OVERRIDES ══════════════════════════════════ */
.blog-grid-section { background: var(--cd-bg) !important; }
.blog-card { background: var(--cd-surface) !important; border-color: var(--cd-border-l) !important; }
.blog-card h2, .blog-card h3 { color: var(--cd-t1) !important; }
.blog-card p { color: var(--cd-t2) !important; }
.blog-hero-label { color: var(--cd-accent) !important; }
.blog-hero-title { color: var(--cd-t1) !important; }
.blog-hero-title em { color: var(--cd-accent) !important; }
.blog-hero-sub { color: var(--cd-t2) !important; }

.card-premium h2, .card-premium h3, .card-premium .card-name { color: #FFF !important; }
.card-premium p, .card-premium .card-desc { color: rgba(240,237,232,0.82) !important; }
.card-premium .card-plan { color: #7BAFC8 !important; }

.review-card { background: var(--cd-surface) !important; border: 1px solid var(--cd-border-l) !important; }
.review-text, .review-quote { color: var(--cd-t2) !important; }
.review-author { color: var(--cd-t1) !important; }

.how-step { background: var(--cd-surface) !important; border: 1px solid var(--cd-border-l) !important; }
.step-title { color: var(--cd-t1) !important; }
.step-desc { color: var(--cd-t2) !important; }

.why-card, 
.why-card h3, .feature-card h3 { color: var(--cd-t1) !important; }
.why-card p, .feature-card p { color: var(--cd-t2) !important; }

/* ══════════════════════════════════════════════════════════
   SECTION ABWECHSLUNG — Weiße Sections für Struktur
   Gerade = Cloud Dancer, Ungerade = Weiß
   ══════════════════════════════════════════════════════════ */

/* Alle Sections: Cloud Dancer */
section { background-color: var(--cd-bg) !important; }

/* Spezifische Sections explizit weiß setzen */
.why-section, .how-section, .newsletter-section,
.reviews-section, .partners-section {
  background-color: #FFFFFF !important;
}

/* Section-Trennlinien */
.why-section, .how-section, .reviews-section,
.newsletter-section, .partners-section {
  border-top: 1px solid var(--cd-border-l) !important;
  border-bottom: 1px solid var(--cd-border-l) !important;
}

/* Why-section Icons */
.why-icon { background: var(--cd-bg) !important; }

/* Reviews auf weißem BG */
.reviews-section .review-card {
  background: var(--cd-bg) !important;
  border: none !important;
  box-shadow: none !important;
}
.reviews-section .review-text { color: var(--cd-t2) !important; }
.reviews-section .review-author { color: var(--cd-t1) !important; font-weight: 600 !important; }

/* Pricing auf Cloud-BG — Cards bleiben weiß */
.pricing-section { background: var(--cd-bg) !important; }

/* ══ SECTION PADDING REDUZIEREN ══════════════════════════ */
:root { --section-py: 60px !important; }
section { padding-top: 60px !important; padding-bottom: 60px !important; }
.hero, .page-header, .blog-hero, .page-hero { padding-top: 80px !important; padding-bottom: 80px !important; }
.cta-section { padding-top: 80px !important; padding-bottom: 80px !important; }

/* FOOTER TEXT FIX — all children override */
.ec-footer-new p, footer p,
.ec-footer-new span, footer span,
.ec-footer-new li, footer li,
.ec-footer-new a, footer a,
.ec-footer-new small, footer small,
.ec-footer-new div, footer div { color: rgba(240, 237, 232, 0.78) !important; }

/* ══ HERO TEXT BG FIX ══ */
.page-hero p, .page-hero h1, .page-hero h2, .page-hero h3,
.page-hero span, .page-hero div,
.blog-hero p, .blog-hero h1, .blog-hero h2,
.blog-hero-sub, .blog-hero-title, .blog-hero-label,
section.hero p, section.hero h1, section.hero h2, section.hero span {
  background: transparent !important;
  background-color: transparent !important;
}

/* ══ CONTACT LEFT PANEL — dark bg needs white text ══ */
.contact-left, .contact-left * {
  color: rgba(240, 237, 232, 0.88) !important;
}
.contact-left .page-kicker { color: var(--cd-accent-l, #6B98B2) !important; }
.contact-left h1, .contact-left h2, .contact-left h3,
.contact-left .contact-left-title { color: #FFFFFF !important; }
.contact-left .method-label { color: rgba(240, 237, 232, 0.55) !important; }
.contact-left .method-value { color: rgba(240, 237, 232, 0.90) !important; }
.contact-left .method-note { color: rgba(240, 237, 232, 0.45) !important; }

/* ══ CTA-SECTION — dark bg needs white text ══ */
.cta-section, .cta-section * {
  color: rgba(240, 237, 232, 0.88) !important;
}
.cta-section h1, .cta-section h2, .cta-section h3 { color: #FFFFFF !important; }

/* ══ BLOG CARD TEXT BG FIX ══ */
.blog-card h2, .blog-card h3, .blog-card h4,
.blog-card p, .blog-card-desc, .blog-card-title,
.blog-card span, .blog-card-tag, .blog-card-meta,
.blog-card-date, .blog-card-read-time {
  background: transparent !important;
  background-color: transparent !important;
}
.blog-card h3 { color: var(--cd-t1, #1C2B35) !important; }
.blog-card p, 
.blog-card-tag { color: var(--cd-accent, #1a1a1a) !important; }
.blog-card-meta, .blog-card-date { color: var(--cd-t3, #5A6B77) !important; }

/* ══ MOST POPULAR BADGE ══ */
.pricing-badge, [class*="most-popular"], .card-badge,
.pricing-card-badge, .badge-popular {
  background: var(--cd-accent, #1a1a1a) !important;
  color: #FFFFFF !important;
}

/* ══ ALL HERO SECTIONS: consistent BG ══ */
.page-hero, .blog-hero, section.hero,
[class*="-hero"], [class*="hero-"] {
  background: transparent !important;
}

/* ══ HERO BG GRADIENT: consistent cool-to-warm ══ */
.hero, .page-hero { 
  background: linear-gradient(160deg, #E8EEF4 0%, #EDE9E3 60%, #F0EDE8 100%) !important;
}

/* ══ SECTION OVERLINES: all uniform ══ */
.section-overline, .page-overline, .card-overline,
[class*="-overline"], [class*="overline-"] {
  color: var(--cd-accent, #1a1a1a) !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
}

/* ══ MEMBERSHIP BANNER ══ */
.card-premium-badge, .popular-badge, .most-popular {
  background: var(--cd-accent, #1a1a1a) !important;
  color: #FFF !important;
}

/* ══ UNIVERSAL BLACK FONT OVERRIDE ══════════════════════════
   Per design directive: all body text = pure black on Cloud Dancer bg
   ════════════════════════════════════════════════════════════ */
body, html {
  color: #000000 !important;
}
h1, h2, h3, h4, h5, h6,
p, li, span, label, td, th,
.section-desc, .section-sub,
.listing-desc, .card-desc,
.listing-title, .card-title, .strip-title,
.listing-location, .card-location,
.section-label, .card-meta,
nav, nav *, .ec-nav, .ec-nav * {
  color: #000000 !important;
}
/* Keep white text only on dark backgrounds */
.cta-section *, .ec-footer-new *, footer *,
.pricing-card.featured *,
.contact-left * {
  color: inherit !important;
}
.cta-section h1, .cta-section h2, .cta-section h3,
.ec-footer-new h3, .ec-footer-new h4,
footer h3, footer h4,
.pricing-card.featured h2, .pricing-card.featured h3,
.pricing-card.featured p {
  color: #ffffff !important;
}
