/* ==========================================================================
   Correcciones de contraste  ·  se carga en ultimo lugar

   main.css fija  h1..h6 { color: var(--header) }  = #000e12 (casi negro) y en CSS
   una regla directa gana siempre a la herencia: en las secciones de fondo oscuro
   los titulos salian negro sobre negro y no se leian.

   Se corrige con una variable heredada (--eb-h) en lugar de imponer colores:
   asi cualquier regla del tema que ya fije el color de un titulo sigue mandando,
   y solo cambia el caso que no estaba resuelto.

     1. cada seccion de fondo oscuro declara su --eb-h claro
     2. una caja de fondo claro dentro de ella lo devuelve al color del tema
     3. los titulos usan esa variable, con el color del tema por defecto

   Generado con  python tests/gen-contraste.py
   ========================================================================== */

/* 1. secciones de fondo oscuro que ya fijan un texto claro (68) */
#nep-header,
.arf-cta,
.arg,
.arh,
.arh-btn.red,
.arq,
.ax-bo-final-hero,
.ax-bo-hero,
.ax-ca-final,
.ax-ca-hero,
.ax-ca-region-map,
.ax-cl-final-cta,
.ax-cl-hero,
.ax-cn-final,
.ax-ctait-btns .green,
.ax-fra-btn2.blue,
.ax-its-acts .green,
.ax-jp-final,
.ax-jp-hero,
.ax-raz-main,
.bg-cta,
.bh,
.bh-btn.red,
.bp-btn.red,
.br-hero,
.bt-btn.red,
.cac2,
.cah,
.cah-btn.red,
.cap,
.cap-btn.red,
.cargo-card.featured,
.cf-box,
.cq-side,
.ct-cta,
.cuba-final__card,
.cuba-hero,
.cuba-html-copy--dark,
.cx-box,
.cz-sec,
.cz-steps span.on,
.eq-cta .red,
.fc-sec,
.final-cta,
.gr-sec,
.lb-head,
.lr-hero,
.md-cta-l,
.mx-btn.green,
.mx-hero,
.ns-obj,
.op-sec,
.pg-btn.green,
.pg-hero,
.qf-btn.green,
.qf-hero,
.qz-quote,
.rp-sec,
.rx-sec,
.sp-sec,
.usa-act.navy,
.usa-act.red,
.ush,
.ush-btn.red,
.uy-btn.green,
.uy-btn.red,
.uy-hero,
body{--eb-h:currentColor}

/* 2. secciones de fondo oscuro que no fijan ningun color (96) */
.arg-card,
.arr-tile,
.ax-adu,
.ax-adu-card,
.ax-aduit-line .dot.g,
.ax-aeuk,
.ax-aeuk-acts a.blue,
.ax-aeuk-feat,
.ax-aeuk-route .bar .dot.r,
.ax-asia-cn,
.ax-av,
.ax-bcta,
.ax-bo-mode-cards .air>header,
.ax-bo-mode-cards .land>header,
.ax-bo-steps-line .line.green,
.ax-ca-final-panel,
.ax-ca-guarantees,
.ax-ca-map-card,
.ax-ca-more-grid .current,
.ax-carg,
.ax-carg-big,
.ax-carg-sm,
.ax-cl-stats,
.ax-cn-air-map,
.ax-cn-air-summary,
.ax-cn-final-panel,
.ax-cn-star,
.ax-cnas-banner,
.ax-cotf-side,
.ax-cotfr,
.ax-cotit-form,
.ax-cta2,
.ax-cta3,
.ax-cta4,
.ax-ctaas,
.ax-ctait-card,
.ax-ctapv,
.ax-dest4,
.ax-doc2-panel .hd,
.ax-dpanel,
.ax-fra,
.ax-fra-btn2.red,
.ax-fra-item,
.ax-fra-route .dot.r,
.ax-frf-banner,
.ax-frs,
.ax-frs-card,
.ax-frs-feat,
.ax-frs-proc,
.ax-gar,
.ax-gar-card,
.ax-gar3,
.ax-gar7-big,
.ax-garfr,
.ax-garfr-big,
.ax-garfr-card,
.ax-globe-bene,
.ax-hero,
.ax-heroas,
.ax-herocn,
.ax-heroesp,
.ax-heroeu,
.ax-herofr,
.ax-heroit,
.ax-herorutas,
.ax-herouk,
.ax-listo,
.ax-pas4,
.ax-pas4-card,
.ax-ph,
.ax-pkg2-panel,
.ax-quo,
.ax-quo-form,
.ax-rev-av.c2,
.ax-ruta,
.ax-ruta-card,
.ax-seoit-card,
.ax-ths,
.ax-ths-btn.red,
.ax-vs-col.aer .hd,
.br-mode.air,
.btn.red,
.cap-card,
.cg-promo,
.cuba-hero__priority,
.cuba-html-copy--dark .cuba-html-copy__card,
.fb-box,
.hero,
.md-card.air .md-card-top,
.md-card.air .md-cta,
.md-card.land .md-card-top,
.md-card.land .md-cta,
.op-card,
.qz-panel,
.service-card,
.udx-dots span.on{--eb-h:#fff}

/* 3. cajas de fondo claro: dentro de una seccion oscura recuperan el titulo oscuro (429) */
#nep-panel,
.arc,
.arc-city.on,
.arc-item,
.arc.alt,
.ard,
.ard-cur,
.ard-item,
.ard-track,
.arf,
.arf-seo,
.arp,
.arp-card,
.arq-form,
.arr,
.arr-panel,
.ax-aduit,
.ax-aduit-grid,
.ax-agepv,
.ax-agepv-tag.r,
.ax-bcard,
.ax-benef,
.ax-bio,
.ax-bo-coverage,
.ax-bo-destinations,
.ax-bo-final,
.ax-bo-final-info,
.ax-bo-modalities,
.ax-bo-process,
.ax-bo-quote,
.ax-bo-quote-form,
.ax-bo-route-detail,
.ax-bxuk,
.ax-bxuk-big,
.ax-bxuk-grid2 .card,
.ax-bxuk-grid3 .card,
.ax-ca-destinations,
.ax-ca-more,
.ax-ca-process,
.ax-ca-quote,
.ax-ca-quote-form,
.ax-ca-region,
.ax-ca-region-card,
.ax-ca-seo-summary,
.ax-ca-seo-summary>.container,
.ax-ca-times,
.ax-card,
.ax-cl-cargo,
.ax-cl-cargo-grid article.featured,
.ax-cl-cities,
.ax-cl-cities-banner,
.ax-cl-city-grid>span.featured,
.ax-cl-coverage-card,
.ax-cl-guarantees,
.ax-cl-mode-card,
.ax-cl-modes,
.ax-cl-process,
.ax-cl-quote,
.ax-cl-quote-form,
.ax-cl-trust,
.ax-cl-trust-card,
.ax-cn-air,
.ax-cn-air-visual,
.ax-cn-dest-card,
.ax-cn-dest-card.current,
.ax-cn-dest-tools,
.ax-cn-destinations,
.ax-cn-four-steps,
.ax-cn-journey,
.ax-cn-quote,
.ax-cn-quote-panel,
.ax-cn-seo,
.ax-cn-seo-card,
.ax-cn-service-card,
.ax-cn-service-card.featured,
.ax-cn-services,
.ax-cn-showcase,
.ax-cnas,
.ax-cnas-adv,
.ax-cnas-cities,
.ax-cnas-proc,
.ax-cnas-side,
.ax-cnas-tipo,
.ax-cob,
.ax-cob-box,
.ax-cont2,
.ax-cont2-form,
.ax-cotas,
.ax-cotas-form,
.ax-cotf,
.ax-cotf-panel,
.ax-cotfr-form,
.ax-cotit,
.ax-cotit-ci.on,
.ax-cotit-side,
.ax-cotpv,
.ax-cotpv-form,
.ax-cotuk,
.ax-cotuk-panel,
.ax-cov,
.ax-cov-chip.on,
.ax-cov2,
.ax-cov2-chip.on,
.ax-covfr,
.ax-covit,
.ax-covuk,
.ax-ctait,
.ax-ctait-btns .navy,
.ax-ctait-btns .red,
.ax-cvas,
.ax-dc,
.ax-dc-head,
.ax-dcard,
.ax-deppv,
.ax-dest2,
.ax-dest3,
.ax-dest3-all,
.ax-destfr,
.ax-destit,
.ax-destit-card,
.ax-doc2,
.ax-doc2-card,
.ax-docs,
.ax-docs-card,
.ax-dsas,
.ax-dsas-lk .ic.blue,
.ax-dstpv,
.ax-ejpv,
.ax-ejpv-card,
.ax-ejpv-item,
.ax-ejpv-item.done .ax-ejpv-card,
.ax-ejpv-panel,
.ax-eu,
.ax-euc,
.ax-faq-side,
.ax-faq2,
.ax-faq3,
.ax-faqs,
.ax-flujo2,
.ax-frf,
.ax-frfas,
.ax-gar6,
.ax-gar6-card,
.ax-gar6b,
.ax-gar6b-card,
.ax-gar6b-card.hl,
.ax-gar7,
.ax-gar7-card,
.ax-garas,
.ax-garas-card,
.ax-gcard,
.ax-globe-card,
.ax-globe-mid,
.ax-globe-top,
.ax-gstat .ax-gbx,
.ax-help,
.ax-hero-card,
.ax-how,
.ax-hstep,
.ax-intl-cards,
.ax-intl-cta,
.ax-intro2,
.ax-its,
.ax-its-big,
.ax-its-c5,
.ax-its-card,
.ax-jp-air,
.ax-jp-air-shell,
.ax-jp-city-grid>span.featured,
.ax-jp-coverage,
.ax-jp-destination-card,
.ax-jp-destination-card.current,
.ax-jp-destinations,
.ax-jp-guarantee-grid article.featured,
.ax-jp-guarantees,
.ax-jp-intro,
.ax-jp-intro-top,
.ax-jp-process,
.ax-jp-process-grid,
.ax-jp-quote,
.ax-jp-quote-form,
.ax-jp-seo,
.ax-jp-seo-card,
.ax-jp-service-card,
.ax-jp-services,
.ax-lkpv,
.ax-loc,
.ax-loc-card,
.ax-otros,
.ax-otros-card,
.ax-otros-card.wide,
.ax-pais,
.ax-pasas,
.ax-pasas-panel,
.ax-pasfr,
.ax-pasfr-card,
.ax-paso:not(:last-child),
.ax-pasos,
.ax-paspv,
.ax-paspv-card,
.ax-paspv-card.hl,
.ax-paspv-panel,
.ax-pe,
.ax-pe-card,
.ax-pkg2,
.ax-pkg2-item,
.ax-proc,
.ax-proc-step,
.ax-quote,
.ax-quote-form,
.ax-raz,
.ax-raz-card,
.ax-reg,
.ax-reg-card,
.ax-reg-card.actual,
.ax-reg-wide,
.ax-rev-sec,
.ax-rev-side,
.ax-ru,
.ax-rutas,
.ax-sec.section-bg,
.ax-seo,
.ax-seo-box,
.ax-seo2,
.ax-seo2-box,
.ax-seo3,
.ax-seo3-box,
.ax-seo4,
.ax-seo4-box,
.ax-seo5,
.ax-seo5 .ic.red,
.ax-seo5-box,
.ax-seoas,
.ax-seoas-box,
.ax-seoit,
.ax-seopv,
.ax-seopv-box,
.ax-step,
.ax-svas,
.ax-svas-card,
.ax-svcuk,
.ax-svcuk-acts a.green,
.ax-svcuk-acts a.navy,
.ax-svcuk-card,
.ax-svcuk-card .badge.blue,
.ax-svcuk-card .badge.green,
.ax-svcuk-card .badge.red,
.ax-tc,
.ax-tc-card,
.ax-tip,
.ax-tip-card,
.ax-tip2,
.ax-tip2-card,
.ax-tipit,
.ax-tipit-big,
.ax-tipit-card,
.ax-tipo,
.ax-tipos,
.ax-trk,
.ax-trk-block,
.ax-trk-feats,
.ax-trk-info,
.ax-trk-order,
.ax-trk-search,
.ax-vs,
.ax-wapv,
.ax-wapv-big,
.ax-wapv-card,
.ax-whyuk,
.ax-whyuk-big,
.ax-whyuk-grid2 .card,
.ax-whyuk-grid3 .card,
.bc,
.benefit-card,
.bf,
.bk,
.bn,
.bp,
.br,
.br-card,
.br-card.hl,
.bs,
.bt,
.buyers-section,
.bw,
.bx,
.bx-c.hl,
.cac,
.cac-panel,
.cad,
.cad-card,
.cad-tip,
.caf,
.caf-panel,
.cao,
.cao-card,
.caq,
.caq-form,
.caq-step,
.car,
.car-item,
.car-main,
.cargo-card,
.cargo-section,
.cas,
.cat,
.cat-card,
.cb-col li.sp,
.cb-col li.sp .tags .air,
.cb-col li.sp .tags .land,
.cb-sec,
.cf-sec,
.cg-cargo,
.cm-grid,
.cm-sec,
.cm-top a.c2,
.cn-sec,
.co-reach,
.contact-card,
.cp-sec,
.cq-box,
.cq-sec,
.cu-sec,
.cuba-destinations__globe,
.cuba-final,
.cuba-html-copy--light,
.cuba-html-copy__card,
.cuba-quote,
.cuba-quote__form,
.cuba-quote__shell,
.cuba-services-wrap,
.cuba-trust,
.cuba-trust__benefit,
.cuba-trust__feature,
.cuba-trust__feature--green,
.custom-card,
.customs-advice,
.customs-section,
.cv-cities span.top,
.cv-cover,
.cx-sec,
.cz-form,
.dc-card.hl,
.dc-left,
.dc-sec,
.destination-card,
.destinations-section,
.direction-card,
.dm-dest,
.dp-sec,
.ds-sec,
.dx-sec,
.ed-sec,
.eq,
.eq-form,
.eq-sec,
.faq-section,
.fb-sec,
.fb-seo,
.fp-box,
.fp-sec,
.fq-box,
.fq-sec,
.fx-box,
.fx-left,
.fx-sec,
.g6-sec,
.gu-sec,
.hd,
.lb,
.lb-card,
.lb-info,
.lr-obs,
.lr-obs-sec,
.machinery-section,
.md,
.md-c,
.md-card,
.md-modes,
.md-seo,
.ns,
.ns-card,
.ns-hero,
.p4-sec,
.p4x-sec,
.p4x-step.hl,
.pf,
.pf-cat.on,
.pf-empty,
.ps-steps,
.qe-sec,
.qu-sec,
.quote-form-card,
.quote-section,
.r6-sec,
.rg,
.route-card,
.routes-section,
.rt-sec,
.se-card,
.se-seo,
.seo-section,
.sf-in,
.sf-sec,
.sp4-sec,
.sq-sec,
.st-sec,
.sx-in,
.sx-sec,
.tc-sec,
.tp-left,
.tp-sec,
.tx-intro,
.tx-sec,
.uc5,
.udx,
.udx-card,
.udx-card.on,
.up4,
.up4-card,
.up4-guar,
.us5,
.usa,
.usa-panel,
.uss,
.uss-row.blue,
.uss-row.red,
.why-section,
.wy-why{--eb-h:var(--header)}

/* 4. los titulos siguen la variable; si nadie la define, el color de siempre */
h1,h2,h3,h4,h5,h6{color:var(--eb-h,var(--header))}

/* 5. el texto de un mapa o grafico dentro de un bloque oscuro sigue al contenedor */
#nep-header svg text,
.arf-cta svg text,
.arg svg text,
.arh svg text,
.arh-btn.red svg text,
.arq svg text,
.ax-bo-final-hero svg text,
.ax-bo-hero svg text,
.ax-ca-final svg text,
.ax-ca-hero svg text,
.ax-ca-region-map svg text,
.ax-cl-final-cta svg text,
.ax-cl-hero svg text,
.ax-cn-final svg text,
.ax-ctait-btns .green svg text,
.ax-fra-btn2.blue svg text,
.ax-its-acts .green svg text,
.ax-jp-final svg text,
.ax-jp-hero svg text,
.ax-raz-main svg text,
.bg-cta svg text,
.bh svg text,
.bh-btn.red svg text,
.bp-btn.red svg text,
.br-hero svg text,
.bt-btn.red svg text,
.cac2 svg text,
.cah svg text,
.cah-btn.red svg text,
.cap svg text,
.cap-btn.red svg text,
.cargo-card.featured svg text,
.cf-box svg text,
.cq-side svg text,
.ct-cta svg text,
.cuba-final__card svg text,
.cuba-hero svg text,
.cuba-html-copy--dark svg text,
.cx-box svg text,
.cz-sec svg text,
.cz-steps span.on svg text,
.eq-cta .red svg text,
.fc-sec svg text,
.final-cta svg text,
.gr-sec svg text,
.lb-head svg text,
.lr-hero svg text,
.md-cta-l svg text,
.mx-btn.green svg text,
.mx-hero svg text,
.ns-obj svg text,
.op-sec svg text,
.pg-btn.green svg text,
.pg-hero svg text,
.qf-btn.green svg text,
.qf-hero svg text,
.qz-quote svg text,
.rp-sec svg text,
.rx-sec svg text,
.sp-sec svg text,
.usa-act.navy svg text,
.usa-act.red svg text,
.ush svg text,
.ush-btn.red svg text,
.uy-btn.green svg text,
.uy-btn.red svg text,
.uy-hero svg text,
body svg text,
.arg-card svg text,
.arr-tile svg text,
.ax-adu svg text,
.ax-adu-card svg text,
.ax-aduit-line .dot.g svg text,
.ax-aeuk svg text,
.ax-aeuk-acts a.blue svg text,
.ax-aeuk-feat svg text,
.ax-aeuk-route .bar .dot.r svg text,
.ax-asia-cn svg text,
.ax-av svg text,
.ax-bcta svg text,
.ax-bo-mode-cards .air>header svg text,
.ax-bo-mode-cards .land>header svg text,
.ax-bo-steps-line .line.green svg text,
.ax-ca-final-panel svg text,
.ax-ca-guarantees svg text,
.ax-ca-map-card svg text,
.ax-ca-more-grid .current svg text,
.ax-carg svg text,
.ax-carg-big svg text,
.ax-carg-sm svg text,
.ax-cl-stats svg text,
.ax-cn-air-map svg text,
.ax-cn-air-summary svg text,
.ax-cn-final-panel svg text,
.ax-cn-star svg text,
.ax-cnas-banner svg text,
.ax-cotf-side svg text,
.ax-cotfr svg text,
.ax-cotit-form svg text,
.ax-cta2 svg text,
.ax-cta3 svg text,
.ax-cta4 svg text,
.ax-ctaas svg text,
.ax-ctait-card svg text,
.ax-ctapv svg text,
.ax-dest4 svg text,
.ax-doc2-panel .hd svg text,
.ax-dpanel svg text,
.ax-fra svg text,
.ax-fra-btn2.red svg text,
.ax-fra-item svg text,
.ax-fra-route .dot.r svg text,
.ax-frf-banner svg text,
.ax-frs svg text,
.ax-frs-card svg text,
.ax-frs-feat svg text,
.ax-frs-proc svg text,
.ax-gar svg text,
.ax-gar-card svg text,
.ax-gar3 svg text,
.ax-gar7-big svg text,
.ax-garfr svg text,
.ax-garfr-big svg text,
.ax-garfr-card svg text,
.ax-globe-bene svg text,
.ax-hero svg text,
.ax-heroas svg text,
.ax-herocn svg text,
.ax-heroesp svg text,
.ax-heroeu svg text,
.ax-herofr svg text,
.ax-heroit svg text,
.ax-herorutas svg text,
.ax-herouk svg text,
.ax-listo svg text,
.ax-pas4 svg text,
.ax-pas4-card svg text,
.ax-ph svg text,
.ax-pkg2-panel svg text,
.ax-quo svg text,
.ax-quo-form svg text,
.ax-rev-av.c2 svg text,
.ax-ruta svg text,
.ax-ruta-card svg text,
.ax-seoit-card svg text,
.ax-ths svg text,
.ax-ths-btn.red svg text,
.ax-vs-col.aer .hd svg text,
.br-mode.air svg text,
.btn.red svg text,
.cap-card svg text,
.cg-promo svg text,
.cuba-hero__priority svg text,
.cuba-html-copy--dark .cuba-html-copy__card svg text,
.fb-box svg text,
.hero svg text,
.md-card.air .md-card-top svg text,
.md-card.air .md-cta svg text,
.md-card.land .md-card-top svg text,
.md-card.land .md-cta svg text,
.op-card svg text,
.qz-panel svg text,
.service-card svg text,
.udx-dots span.on svg text{fill:currentColor}

/* 6. ajustes de tono puntuales (medidos uno a uno) */
.cad-card.amber .cad-tag{color:#a4650a}          /* ambar sobre blanco */
.arh-btn.wa,.btn.green{background:#12a150}       /* verde de WhatsApp mas oscuro */
.ax-rev-av.c5{background:#b46a10}                /* inicial de avatar */
