/* ============================================================
   Embaixada Carioca — Light Background Contrast Lock (DEFINITIVO)
   ============================================================
   PROPÓSITO: Garantir que QUALQUER texto sobre fundo claro (branco,
   creme, areia, paper) seja SEMPRE legível com cor verde escuro.

   REGRA DE OURO: Este arquivo DEVE ser o ÚLTIMO stylesheet carregado
   (inserido antes de </body>). Usa especificidade NUCLEAR via
   repetição de :is() para sobrescrever QUALQUER regra inline.

   ESPECIFICIDADE: Cada regra usa (0,26+,5+) via :is() repetido
   para vencer regras inline com (0,22,5) de :not() chains.

   CORES:
   - Headings em fundo claro: #00405a (azul escuro)
   - Texto body em fundo claro: #335d4a (verde escuro)
   - Links em fundo claro: #00405a (azul escuro)
   - Destaques (em/strong): #9a6500 (dourado escuro legível)

   NUNCA REMOVER ESTE ARQUIVO. Ele é a trava final de acessibilidade.
   ============================================================ */

:root {
  --ec-lock-blue: #00405a;
  --ec-lock-green: #335d4a;
  --ec-lock-gray: #485156;
  --ec-lock-gold: #9a6500;
}

/* ============================================================
   LISTA MESTRE de classes de seções com fundo claro.
   Repetida 2x no :is() para gerar especificidade (0,26,5).
   ============================================================ */

/* --- HEADINGS em seções com fundo claro --- */
html body :is(
  .momentos,.visao,.avaliacoes,.eventos,.faq-section,.ec-faq-section,
  .geo-aio-section,.quick-answers-section,.gsc-ctr-block,
  .ec-conteudo-campeao,.ec-combos-fase4,.ec-featured-snippet-ol,
  .ec-sprint5-quality,.ec-sprint2-geo,.ec-r2d2-depth,.ec-faq-fase4,
  .ec-sprint4-faq,.ec-sprint4-steps,.ec-semantic-section,
  .links-internos-section,.ec-links-internos,.seo-conversion-block,
  .section-below-fold,.section.faq,.faq
):is(
  .momentos,.visao,.avaliacoes,.eventos,.faq-section,.ec-faq-section,
  .geo-aio-section,.quick-answers-section,.gsc-ctr-block,
  .ec-conteudo-campeao,.ec-combos-fase4,.ec-featured-snippet-ol,
  .ec-sprint5-quality,.ec-sprint2-geo,.ec-r2d2-depth,.ec-faq-fase4,
  .ec-sprint4-faq,.ec-sprint4-steps,.ec-semantic-section,
  .links-internos-section,.ec-links-internos,.seo-conversion-block,
  .section-below-fold,.section.faq,.faq
) :is(h1,h2,h3,h4,h5,h6) {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* --- BODY TEXT em seções com fundo claro --- */
html body :is(
  .momentos,.visao,.avaliacoes,.eventos,.faq-section,.ec-faq-section,
  .geo-aio-section,.quick-answers-section,.gsc-ctr-block,
  .ec-conteudo-campeao,.ec-combos-fase4,.ec-featured-snippet-ol,
  .ec-sprint5-quality,.ec-sprint2-geo,.ec-r2d2-depth,.ec-faq-fase4,
  .ec-sprint4-faq,.ec-sprint4-steps,.ec-semantic-section,
  .links-internos-section,.ec-links-internos,.seo-conversion-block,
  .section-below-fold,.section.faq,.faq
):is(
  .momentos,.visao,.avaliacoes,.eventos,.faq-section,.ec-faq-section,
  .geo-aio-section,.quick-answers-section,.gsc-ctr-block,
  .ec-conteudo-campeao,.ec-combos-fase4,.ec-featured-snippet-ol,
  .ec-sprint5-quality,.ec-sprint2-geo,.ec-r2d2-depth,.ec-faq-fase4,
  .ec-sprint4-faq,.ec-sprint4-steps,.ec-semantic-section,
  .links-internos-section,.ec-links-internos,.seo-conversion-block,
  .section-below-fold,.section.faq,.faq
) :is(p,li,span,small,dd,dt,td,th,label,figcaption,blockquote,cite,summary) {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* --- LINKS em seções com fundo claro --- */
html body :is(
  .momentos,.visao,.avaliacoes,.eventos,.faq-section,.ec-faq-section,
  .geo-aio-section,.quick-answers-section,.gsc-ctr-block,
  .ec-conteudo-campeao,.ec-combos-fase4,.ec-featured-snippet-ol,
  .ec-sprint5-quality,.ec-sprint2-geo,.ec-r2d2-depth,.ec-faq-fase4,
  .ec-sprint4-faq,.ec-sprint4-steps,.ec-semantic-section,
  .links-internos-section,.ec-links-internos,.seo-conversion-block,
  .section-below-fold,.section.faq,.faq
):is(
  .momentos,.visao,.avaliacoes,.eventos,.faq-section,.ec-faq-section,
  .geo-aio-section,.quick-answers-section,.gsc-ctr-block,
  .ec-conteudo-campeao,.ec-combos-fase4,.ec-featured-snippet-ol,
  .ec-sprint5-quality,.ec-sprint2-geo,.ec-r2d2-depth,.ec-faq-fase4,
  .ec-sprint4-faq,.ec-sprint4-steps,.ec-semantic-section,
  .links-internos-section,.ec-links-internos,.seo-conversion-block,
  .section-below-fold,.section.faq,.faq
) a:not([class*="btn"]):not([class*="cta"]):not([class*="reserv"]) {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
}

/* --- STRONG/EM em seções com fundo claro --- */
html body :is(
  .momentos,.visao,.avaliacoes,.eventos,.faq-section,.ec-faq-section,
  .geo-aio-section,.quick-answers-section,.gsc-ctr-block,
  .ec-conteudo-campeao,.ec-combos-fase4,.ec-featured-snippet-ol,
  .ec-sprint5-quality,.ec-sprint2-geo,.ec-r2d2-depth,.ec-faq-fase4,
  .ec-sprint4-faq,.ec-sprint4-steps,.ec-semantic-section,
  .links-internos-section,.ec-links-internos,.seo-conversion-block,
  .section-below-fold,.section.faq,.faq
):is(
  .momentos,.visao,.avaliacoes,.eventos,.faq-section,.ec-faq-section,
  .geo-aio-section,.quick-answers-section,.gsc-ctr-block,
  .ec-conteudo-campeao,.ec-combos-fase4,.ec-featured-snippet-ol,
  .ec-sprint5-quality,.ec-sprint2-geo,.ec-r2d2-depth,.ec-faq-fase4,
  .ec-sprint4-faq,.ec-sprint4-steps,.ec-semantic-section,
  .links-internos-section,.ec-links-internos,.seo-conversion-block,
  .section-below-fold,.section.faq,.faq
) :is(strong,b,em) {
  color: var(--ec-lock-gold) !important;
  -webkit-text-fill-color: var(--ec-lock-gold) !important;
  text-shadow: none !important;
}

/* ============================================================
   SEÇÃO 2: CARDS brancos/creme (em qualquer contexto)
   ============================================================ */
html body :is(
  .ec-sprint5-card,.ec-cc-card,.ec-combo-card,.ec-r2d2-card,
  .direct-answer,.faq-item,.qa-card,.territory-link,
  .guide-card,.place-card,.beach-card,.route-card,.access-card,
  .access-fact,.access-route,.info-card,.content-card,.copy-card,
  .direct-answer-card,.geo-card,.ec-final-geo-card,.highlight
):is(
  .ec-sprint5-card,.ec-cc-card,.ec-combo-card,.ec-r2d2-card,
  .direct-answer,.faq-item,.qa-card,.territory-link,
  .guide-card,.place-card,.beach-card,.route-card,.access-card,
  .access-fact,.access-route,.info-card,.content-card,.copy-card,
  .direct-answer-card,.geo-card,.ec-final-geo-card,.highlight
) :is(h1,h2,h3,h4,h5,h6,.title,.card-title) {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html body :is(
  .ec-sprint5-card,.ec-cc-card,.ec-combo-card,.ec-r2d2-card,
  .direct-answer,.faq-item,.qa-card,.territory-link,
  .guide-card,.place-card,.beach-card,.route-card,.access-card,
  .access-fact,.access-route,.info-card,.content-card,.copy-card,
  .direct-answer-card,.geo-card,.ec-final-geo-card,.highlight
):is(
  .ec-sprint5-card,.ec-cc-card,.ec-combo-card,.ec-r2d2-card,
  .direct-answer,.faq-item,.qa-card,.territory-link,
  .guide-card,.place-card,.beach-card,.route-card,.access-card,
  .access-fact,.access-route,.info-card,.content-card,.copy-card,
  .direct-answer-card,.geo-card,.ec-final-geo-card,.highlight
) :is(p,li,span,small,dd,dt,summary,.copy,.description) {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* ============================================================
   SEÇÃO 3: FAQ details/summary (cards brancos em fundo escuro)
   Especificidade extra via html body + classe repetida
   ============================================================ */
html body section.faq details summary,
html body .faq details summary,
html body .faq-section details summary,
html body .ec-faq-section details summary,
html body .ec-faq-fase4 details summary,
html body .ec-sprint4-faq details summary,
html body .ec-sprint5-faq details summary {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html body section.faq details p,
html body .faq details p,
html body .faq-section details p,
html body .ec-faq-section details p,
html body .ec-faq-fase4 details p,
html body .ec-sprint4-faq details p {
  color: var(--ec-lock-gray) !important;
  -webkit-text-fill-color: var(--ec-lock-gray) !important;
}

html body section.faq details,
html body .faq details,
html body .faq-section details,
html body .ec-faq-section details,
html body .ec-faq-fase4 details {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
}

/* ============================================================
   SEÇÃO 4: Steps/OL com fundo claro
   ============================================================ */
html body .ec-sprint4-steps li,
html body .ec-sprint4-steps span,
html body .ec-featured-snippet-ol li,
html body .ec-featured-snippet-ol span,
html body .ec-sprint5-quality ol li,
html body .section-below-fold ol li,
html body .section-below-fold ul li,
html body ol.ec-steps li {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* ============================================================
   SEÇÃO 5: Territory links / internal links (pills)
   ============================================================ */
html body .territory-link,
html body .territory-links a,
html body .links-internos-list a,
html body .ec-links-internos a,
html body .links-internos-section a,
html body .ec-semantic-section a:not([class*="btn"]) {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  border-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
}

/* ============================================================
   SEÇÃO 6: Seções com inline style de background claro
   ============================================================ */
html body [style*="background:#fff"] :is(h1,h2,h3,h4,h5,h6),
html body [style*="background: #fff"] :is(h1,h2,h3,h4,h5,h6),
html body [style*="background:white"] :is(h1,h2,h3,h4,h5,h6),
html body [style*="background:#f8f4"] :is(h1,h2,h3,h4,h5,h6),
html body [style*="background:#f6ef"] :is(h1,h2,h3,h4,h5,h6),
html body [style*="background:var(--paper"] :is(h1,h2,h3,h4,h5,h6),
html body [style*="background:var(--areia"] :is(h1,h2,h3,h4,h5,h6),
html body [style*="background:var(--cream"] :is(h1,h2,h3,h4,h5,h6) {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html body [style*="background:#fff"] :is(p,li,span,small,dd,dt,summary),
html body [style*="background: #fff"] :is(p,li,span,small,dd,dt,summary),
html body [style*="background:white"] :is(p,li,span,small,dd,dt,summary),
html body [style*="background:#f8f4"] :is(p,li,span,small,dd,dt,summary),
html body [style*="background:#f6ef"] :is(p,li,span,small,dd,dt,summary),
html body [style*="background:var(--paper"] :is(p,li,span,small,dd,dt,summary),
html body [style*="background:var(--areia"] :is(p,li,span,small,dd,dt,summary),
html body [style*="background:var(--cream"] :is(p,li,span,small,dd,dt,summary) {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* ============================================================
   SEÇÃO 7: HOME PAGE — Seções que herdam fundo creme do body
   (não têm background explícito, herdam do body areia)
   ============================================================ */
html body .avaliacoes h2,
html body .avaliacoes .sec-head h2 {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
}

html body .avaliacoes p,
html body .avaliacoes span:not(.star):not(.serif),
html body .avaliacoes li,
html body .avaliacoes .review-text,
html body .avaliacoes .review-author {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
}

html body .eventos h2,
html body .eventos .sec-head h2 {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
}

html body .eventos p,
html body .eventos li,
html body .eventos span:not(.serif) {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
}

html body .momentos h2 {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
}

html body .momentos p,
html body .momentos li,
html body .momentos span,
html body .momentos .momento-body,
html body .momentos .momento-meta,
html body .momentos .momento-time {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
}

html body .visao h2 {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
}

html body .visao p,
html body .visao .visao-text,
html body .visao .visao-credits {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
}

html body .section-below-fold h2,
html body .section-below-fold h3 {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
}

html body .section-below-fold p,
html body .section-below-fold li,
html body .section-below-fold span,
html body .section-below-fold small {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
}

/* ============================================================
   SEÇÃO 8: Quick Answers cards
   ============================================================ */
.quick-answers-section .qa-card h3 {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
}

.quick-answers-section .qa-card p,
.quick-answers-section .qa-card .qa-answer {
  color: var(--ec-lock-gray) !important;
  -webkit-text-fill-color: var(--ec-lock-gray) !important;
}

/* ============================================================
   SEÇÃO 9: RESPOSTA DIRETA (landing pages)
   ============================================================ */
html body .ec-semantic-section h2,
html body .ec-semantic-section h3 {
  color: var(--ec-lock-blue) !important;
  -webkit-text-fill-color: var(--ec-lock-blue) !important;
  text-shadow: none !important;
}

html body .ec-semantic-section p,
html body .ec-semantic-section li,
html body .ec-semantic-section span {
  color: var(--ec-lock-green) !important;
  -webkit-text-fill-color: var(--ec-lock-green) !important;
  text-shadow: none !important;
}

/* ============================================================
   SEÇÃO 10: NUCLEAR — IDs para especificidade máxima (1,0,0+)
   ============================================================ */
#avaliacoes :is(h1,h2,h3,h4,h5,h6) { color: var(--ec-lock-blue) !important; -webkit-text-fill-color: var(--ec-lock-blue) !important; text-shadow: none !important; }
#avaliacoes :is(p,li,span:not(.star):not(.serif),small,dd,dt) { color: var(--ec-lock-green) !important; -webkit-text-fill-color: var(--ec-lock-green) !important; text-shadow: none !important; }
#eventos :is(h1,h2,h3,h4,h5,h6) { color: var(--ec-lock-blue) !important; -webkit-text-fill-color: var(--ec-lock-blue) !important; text-shadow: none !important; }
#eventos :is(p,li,span:not(.serif),small) { color: var(--ec-lock-green) !important; -webkit-text-fill-color: var(--ec-lock-green) !important; text-shadow: none !important; }
#faq :is(h1,h2,h3,h4,h5,h6) { color: var(--ec-lock-blue) !important; -webkit-text-fill-color: var(--ec-lock-blue) !important; text-shadow: none !important; }
#faq details summary { color: var(--ec-lock-green) !important; -webkit-text-fill-color: var(--ec-lock-green) !important; text-shadow: none !important; }
#faq details p, #faq details li { color: var(--ec-lock-gray) !important; -webkit-text-fill-color: var(--ec-lock-gray) !important; }
#pratos-estrela :is(h1,h2,h3,h4,h5,h6) { color: var(--ec-lock-blue) !important; -webkit-text-fill-color: var(--ec-lock-blue) !important; text-shadow: none !important; }
#pratos-estrela :is(p,li,span,small) { color: var(--ec-lock-green) !important; -webkit-text-fill-color: var(--ec-lock-green) !important; text-shadow: none !important; }
#informacoes-essenciais :is(h1,h2,h3,h4,h5,h6) { color: var(--ec-lock-blue) !important; -webkit-text-fill-color: var(--ec-lock-blue) !important; text-shadow: none !important; }
#informacoes-essenciais :is(p,li,span,small,dd,dt) { color: var(--ec-lock-green) !important; -webkit-text-fill-color: var(--ec-lock-green) !important; text-shadow: none !important; }

/* ============================================================
   FIM — Para adicionar novas seções com fundo claro:
   1. Adicione a classe à lista :is() na SEÇÃO 1
   2. Adicione :not(.sua-classe) ao bloco inline de cada página
   3. Ou simplesmente use data-bg="light" na section HTML
   ============================================================ */
