/* ===== TIEMPODELSER - PALETA Y FUENTES ===== */
@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@300;400;500;600;700;800;900&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');

:root {
  --navy: #1A2E4A;
  --gold: #C8A96E;
  --gold-dark: #9A7B4F;
  --cream: #F5F0E8;
  --text: #5A6478;
  --bg: #EDEAE4;
}

body {
  background-color: var(--bg) !important;
  font-family: 'DM Sans', sans-serif !important;
}

/* Solo headings con fondo CLARO -> navy */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: 'League Spartan', sans-serif !important;
}

/* ===== CORRECCIÓN DE CONTRASTE: FONDOS OSCUROS -> TEXTO CLARO ===== */
/* Secciones del tema con fondos casi negros */
section.problem,
section.story,
section.forwho,
section.services,
section.cta-section {
  color: #F5F0E8 !important;
}

section.problem h1, section.problem h2, section.problem h3, section.problem h4,
section.problem h5, section.problem h6, section.problem .elementor-heading-title,
section.story h1, section.story h2, section.story h3, section.story h4,
section.story h5, section.story h6, section.story .elementor-heading-title,
section.forwho h1, section.forwho h2, section.forwho h3, section.forwho h4,
section.forwho h5, section.forwho h6, section.forwho .elementor-heading-title,
section.services h1, section.services h2, section.services h3, section.services h4,
section.services h5, section.services h6, section.services .elementor-heading-title,
section.cta-section h1, section.cta-section h2, section.cta-section h3, section.cta-section h4,
section.cta-section h5, section.cta-section h6, section.cta-section .elementor-heading-title {
  color: #F5F0E8 !important;
}

section.problem p, section.problem span, section.problem li, section.problem a:not(.elementor-button),
section.story p, section.story span, section.story li,
section.forwho p, section.forwho span, section.forwho li,
section.services p, section.services span, section.services li,
section.cta-section p, section.cta-section span, section.cta-section li {
  color: rgba(245, 240, 232, 0.85) !important;
}

/* Gold labels mantienen su color */
section.problem .label, section.story .label, section.forwho .label,
section.services .label, section.cta-section .label,
section.problem [class*="label"], section.story [class*="label"] {
  color: var(--gold) !important;
}

/* ===== SECCIÓN CARRUSEL DE INSTAGRAM (fondo navy) ===== */
#carrusel h1, #carrusel h2, #carrusel h3, #carrusel h4,
#carrusel h5, #carrusel h6, #carrusel .elementor-heading-title {
  color: #F5F0E8 !important;
}

#carrusel p, #carrusel li, #carrusel span:not([style]) {
  color: rgba(245, 240, 232, 0.8) !important;
}

/* ===== HEADING HERO - mantener blanco/crema ===== */
.hero-title, .hero-subtitle {
  color: #F5F0E8 !important;
}

/* ===== HEADINGS EN SECCIONES CLARAS -> NAVY ===== */
/* Solo aplicar navy donde el fondo es claro */
.elementor-section:not(.problem):not(.story):not(.forwho):not(.services):not(.cta-section) .elementor-heading-title,
.e-con:not([id="carrusel"]) > .elementor-widget-heading .elementor-heading-title {
  /* Dejar que cada sección gestione su propio color */
  font-family: 'League Spartan', sans-serif !important;
}

/* ===== SECCIÓN NAV CATEGORÍAS ===== */
.esqn-sticky-nav {
  background: rgba(245, 240, 232, 0.97);
  backdrop-filter: blur(10px);
}

/* ===== NAVBAR ===== */
.site-header,
header.site-header,
.elementor-location-header {
  background-color: var(--cream) !important;
  border-bottom: 1px solid rgba(200,169,110,0.2) !important;
}

/* ===== BOTONES ===== */
.elementor-button,
a.elementor-button {
  font-family: 'League Spartan', sans-serif !important;
  letter-spacing: 0.05em !important;
}

/* ===== SEPARADORES DECORATIVOS ===== */
.esqn-gold-divider {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold), var(--gold-dark));
  border-radius: 2px;
  margin: 24px auto;
}

/* ===== BADGES DE CATEGORÍA ===== */
.esqn-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(200,169,110,0.12);
  border: 1px solid var(--gold);
  color: var(--gold-dark);
  font-family: 'League Spartan', sans-serif;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 5px 14px;
  border-radius: 50px;
}

/* ===== FOOTER ===== */
.site-footer,
.elementor-location-footer {
  background: var(--navy) !important;
}

.site-footer *,
.elementor-location-footer * {
  color: var(--cream) !important;
}

/* ===== SCROLL SUAVE ===== */
html {
  scroll-behavior: smooth;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .esqn-carousel-card {
    flex: 0 0 260px;
  }
  .esqn-nav-categories ul {
    gap: 6px;
    padding: 0 16px;
  }
}