/* =====================================================================
   WHITE-DOMINANT THEME OVERRIDE — Oceance V Towers
   Fondo blanco dominante. Texto negro sobre blanco. Secciones dark
   (hero, avance de obra, contacto) se conservan como acentos.
   ===================================================================== */

:root {
  --ov-bg:         #FFFFFF;
  --ov-bg-soft:    #F7F7F5;  /* gris perla muy suave */
  --ov-text:       #0F1115;  /* negro casi puro */
  --ov-text-soft:  #4A4F58;  /* gris medio para copy */
  --ov-text-dim:   #6B7280;  /* gris para notas, captions */
  --ov-border:     rgba(15,17,21,0.12);
  --ov-border-2:   rgba(15,17,21,0.22);
  --ov-accent:     #0B2B4B;  /* navy como acento principal */
  --ov-accent-2:   #4A9FD1;  /* cyan */
}

/* ---- BODY + base ---- */
html, body, body.bg-white {
  background: var(--ov-bg) !important;
  color: var(--ov-text) !important;
}
body { font-size: 17px; line-height: 1.7; }

/* ---- Secciones que DEBEN quedar dark (acentos): hero, avance, contacto ---- */
section#top,                                 /* hero */
section.bg-\[color\:var\(--navy\)\] {        /* avance obra + contacto */
  background: var(--ov-accent) !important;
  color: #fff !important;
}
section#top *, section.bg-\[color\:var\(--navy\)\] *:not(.lead-form-solid):not(.lead-form-solid *) {
  /* preservar colores blancos dentro de secciones dark */
}

/* ---- Secciones claras: forzar fondo blanco ---- */
section.bg-\[color\:var\(--sand\)\],
section#proyecto,
main > section:not(#top):not(.bg-\[color\:var\(--navy\)\]) {
  background: var(--ov-bg) !important;
  color: var(--ov-text) !important;
}
/* Alternar: secciones que estaban con sand ahora usan gris perla muy suave */
section.bg-\[color\:var\(--sand\)\] {
  background: var(--ov-bg-soft) !important;
}

/* ---- Headings ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) h1,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) h2,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) h3,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) h4 {
  color: var(--ov-text) !important;
}

/* Eyebrow sobre blanco → navy para buen contraste */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .eyebrow {
  color: var(--ov-accent) !important;
}

/* Tagline (ice azul claro) en secciones claras → navy suave */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .tagline {
  color: var(--ov-accent) !important;
}

/* Subtítulos / párrafos sobre blanco */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) p,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) li,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) span:not(.badge-rect):not(.pill):not(.accent-gold):not(.accent-cyan):not(.accent-ice):not(.accent-cream) {
  color: var(--ov-text) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .text-\[color\:var\(--cream-soft\)\],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .text-\[color\:var\(--cream-dim\)\],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) [style*="color:var(--cream-soft)"],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) [style*="color:var(--cream-dim)"],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) [style*="color: var(--cream-soft)"],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) [style*="color: var(--cream-dim)"],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) [style*="color:var(--cream)"],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) [style*="color: var(--cream)"] {
  color: var(--ov-text-soft) !important;
}

/* Texto de detalle (accent-gold, accent-cyan) sobre blanco → navy, no cyan pálido */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .accent-gold,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .accent-cyan {
  color: var(--ov-accent) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .accent-ice,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .accent-cream {
  color: var(--ov-accent) !important;
}

/* ---- Cards GLASS sobre blanco → fondo blanco sólido con sombra suave ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .glass,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .glass-strong,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) article.bg-\[color\:var\(--sand\)\],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) article.bg-white,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .profile-card,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) details.bg-\[color\:var\(--sand\)\],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) details {
  background: #fff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid var(--ov-border) !important;
  color: var(--ov-text) !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .glass *:not(.accent-gold):not(.accent-cyan):not(.badge-rect):not(.pill):not(button):not(.btn):not(.btn-primary):not(a.btn),
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .glass-strong *:not(.accent-gold):not(.accent-cyan):not(.badge-rect):not(.pill):not(button):not(.btn):not(.btn-primary):not(a.btn),
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .profile-card *:not(.accent-gold):not(.accent-cyan),
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) details * {
  color: var(--ov-text) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .profile-card.active {
  background: #fff !important;
  border-color: var(--ov-accent) !important;
  box-shadow: 0 8px 24px rgba(11,43,75,0.12) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .profile-card .pc-desc {
  color: var(--ov-text-soft) !important;
}

/* Iconboxes en value props */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) article .w-12.h-12 {
  background: rgba(11,43,75,0.06) !important;
  border: 1px solid var(--ov-border) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) article .w-12.h-12 svg {
  stroke: var(--ov-accent) !important;
}

/* ---- Badges rectangulares ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .badge-rect {
  background: var(--ov-accent) !important;
  color: #fff !important;
  border-color: var(--ov-accent) !important;
}

/* ---- Pills ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .pill-preventa {
  color: var(--ov-accent) !important;
  border-color: var(--ov-accent) !important;
  background: rgba(11,43,75,0.05) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .pill-construct {
  color: var(--ov-text) !important;
  border-color: var(--ov-border-2) !important;
  background: transparent !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .pill-urgent {
  color: #b91c1c !important;
  background: rgba(230,57,70,0.08) !important;
  border-color: rgba(230,57,70,0.35) !important;
}

/* ---- Counters ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .counter-val {
  color: var(--ov-accent) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 300 !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .counter-label {
  color: var(--ov-text-soft) !important;
}

/* ---- Chips (filtros galería, torres) ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .chip {
  background: #fff !important;
  color: var(--ov-text) !important;
  border-color: var(--ov-border-2) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .chip:hover {
  background: rgba(11,43,75,0.05) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .chip.active {
  background: var(--ov-accent) !important;
  color: #fff !important;
  border-color: var(--ov-accent) !important;
}

/* ---- Botones ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .btn-primary {
  background: var(--ov-accent) !important;
  color: #fff !important;
  border: 1px solid var(--ov-accent) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .btn-primary:hover {
  background: #15375e !important;
  color: #fff !important;
  border-color: #15375e !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .btn-outline,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .btn-ghost {
  background: transparent !important;
  color: var(--ov-accent) !important;
  border: 1px solid var(--ov-border-2) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .btn-outline:hover,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .btn-ghost:hover {
  background: rgba(11,43,75,0.05) !important;
  border-color: var(--ov-accent) !important;
}
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .btn-navy {
  background: var(--ov-accent) !important;
  color: #fff !important;
  border-color: var(--ov-accent) !important;
}

/* ---- Location cards ---- */
#ubicacion .bg-\[color\:var\(--sand\)\] {
  background: #fff !important;
  border: 1px solid var(--ov-border) !important;
}
#ubicacion .bg-\[color\:var\(--sand\)\] * {
  color: var(--ov-text) !important;
}
#ubicacion iframe { filter: none !important; }

/* ---- Tipologias: todos los metadatos legibles ---- */
#tipologias dd, #tipologias dt { color: var(--ov-text) !important; }
#tipologias .accent-gold { color: var(--ov-accent) !important; }

/* ---- Forma de pago: números grandes en navy ---- */
#tipologias .accent-gold {
  color: var(--ov-accent) !important;
}

/* ---- FAQ (details) ---- */
#objeciones details {
  background: #fff !important;
  border: 1px solid var(--ov-border) !important;
  color: var(--ov-text) !important;
}
#objeciones details summary h3,
#objeciones details p { color: var(--ov-text) !important; }
#objeciones details .acc-chev { color: var(--ov-accent) !important; }

/* ---- Testimonios ---- */
#testimonios .t-card { background: #fff !important; border-color: var(--ov-border) !important; }
#testimonios .t-card * { color: var(--ov-text) !important; }
#testimonios .t-card p.italic { color: var(--ov-text-soft) !important; }

/* ---- Disponibilidad: panel principal blanco ---- */
#disponibilidad .glass-strong { background: #fff !important; border: 1px solid var(--ov-border) !important; }
#disponibilidad .glass-strong * { color: var(--ov-text) !important; }
#disponibilidad .glass-strong .accent-gold { color: var(--ov-accent) !important; }
/* Unidades disponibles verde claro / vendidas rojo claro se mantienen */

/* ---- Calculadora ROI: panel blanco, labels navy ---- */
#roi .glass-strong { background: #fff !important; border: 1px solid var(--ov-border) !important; }
#roi .glass-strong > div { background: #F7F7F5 !important; border: 1px solid var(--ov-border) !important; color: var(--ov-text) !important; }
#roi .roi-field label { color: var(--ov-accent) !important; }
#roi .roi-field input[type="number"],
#roi .roi-field select {
  background: #fff !important;
  color: var(--ov-text) !important;
  border-color: var(--ov-border-2) !important;
}
#roi .roi-field input[type="number"]::placeholder { color: var(--ov-text-dim) !important; }
#roi .roi-field input:focus, #roi .roi-field select:focus {
  border-color: var(--ov-accent) !important;
  box-shadow: 0 0 0 3px rgba(11,43,75,0.15) !important;
}
#roi .accent-gold { color: var(--ov-accent) !important; }
#roi [style*="var(--navy-2)"] { background: #F7F7F5 !important; border: 1px solid var(--ov-border) !important; }
#roi [style*="var(--navy-2)"] * { color: var(--ov-text) !important; }
#roi [style*="var(--navy-2)"] .accent-gold { color: var(--ov-accent) !important; }

/* ---- Iconos emoji en ubicación / banners ---- */
#ubicacion .accent-gold { color: var(--ov-accent) !important; }

/* ---- Section-rule / divider ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .section-rule {
  background: linear-gradient(to right, transparent, rgba(11,43,75,0.4), transparent) !important;
}

/* ---- Galeria: background blanco ---- */
#galeria { background: var(--ov-bg-soft) !important; }
#galeria .gallery-item { border-radius: 8px; }

/* ---- Brochure CTA section ---- */
#brochure { background: var(--ov-bg-soft) !important; }
#brochure * { color: var(--ov-text) !important; }
#brochure .accent-gold, #brochure .eyebrow { color: var(--ov-accent) !important; }

/* ---- Mantener secciones DARK intactas (hero, avance, contacto) ---- */
section#top, section#top *, section.bg-\[color\:var\(--navy\)\], section.bg-\[color\:var\(--navy\)\] *:not(.lead-form-solid):not(.lead-form-solid *) {
  /* no-op, manteniendo herencia original */
}
section#top h1, section#top h2, section#top h3, section#top p, section#top span:not(.badge-rect) {
  color: inherit;
}

/* Contacto: card izquierda (WhatsApp) sobre navy — mantener blanco */
#contacto .bg-white\/5 { background: rgba(255,255,255,0.08) !important; }

/* Avance de obra: texto blanco se mantiene */

/* ---- Cleanup: asegurar legibilidad de elementos Tailwind dinámicos ---- */
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) .text-white,
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) [style*="color:#fff"],
main section:not(#top):not(.bg-\[color\:var\(--navy\)\]) [style*="color: #fff"] {
  color: var(--ov-text) !important;
}

/* Excepción: amenidades cards tienen imagen de fondo con overlay dark y texto blanco encima — conservar */
#amenidades article .text-white, #amenidades article [style*="color:#fff"] { color: #fff !important; }
#amenidades article h3[style*="color:#fff"] { color: #fff !important; }

/* Ajuste: overlay gradient de amenidades se conserva (ya es dark) */

/* ---- Ubicación banner highlighted ---- */
#ubicacion .glass-strong { background: #fff !important; border: 1px solid var(--ov-border) !important; border-left: 3px solid var(--ov-accent) !important; }
#ubicacion .glass-strong * { color: var(--ov-text) !important; }
#ubicacion .glass-strong .eyebrow { color: var(--ov-accent) !important; }

/* ---- Announce: ya removido ---- */
/* ---- Header: ya removido ---- */
/* ---- Footer: ya removido ---- */

/* ---- Ajuste global: texto "accent-gold" ahora navy por consistencia ---- */
.accent-gold { color: var(--ov-accent) !important; }

/* Dentro de secciones dark mantener cyan para acentos */
section#top .accent-gold,
section#top .accent-cyan,
section#top .accent-ice,
section.bg-\[color\:var\(--navy\)\] .accent-gold,
section.bg-\[color\:var\(--navy\)\] .accent-cyan,
section.bg-\[color\:var\(--navy\)\] .accent-ice { color: var(--cyan) !important; }

/* Lead-form-solid ya es clara — solo asegurar texto negro sobre su fondo off-white */
.lead-form-solid, .lead-form-solid * { color: var(--ov-text); }
.lead-form-solid .lf-title, .lead-form-solid .lf-field label { color: var(--ov-accent) !important; }
.lead-form-solid .badge-rect { background: var(--ov-accent) !important; color: #fff !important; border-color: var(--ov-accent) !important; }
