/* ═══════════════════════════════════════════════════════════════════
   CORRECCIONES GLOBALES DE MODO OSCURO  ·  se carga al final
   Texto, títulos, subtítulos, iconos y fotos visibles en oscuro.
   Sin tocar scrapers, disponibilidad, checkout ni pagos.
   ═══════════════════════════════════════════════════════════════════ */

/* ---- 1) GLOBAL: títulos, subtítulos, textos e iconos a color claro ---- */
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] [class*="title"],
html[data-theme="dark"] [class*="Title"],
html[data-theme="dark"] [class*="subtitle"],
html[data-theme="dark"] [class*="heading"],
html[data-theme="dark"] [class*="__num"],
html[data-theme="dark"] [class*="__name"],
html[data-theme="dark"] [class*="__val"],
html[data-theme="dark"] [class*="__value"],
html[data-theme="dark"] [class*="__label"],
html[data-theme="dark"] [class*="__lead"],
html[data-theme="dark"] [class*="__desc"],
html[data-theme="dark"] [class*="__text"],
html[data-theme="dark"] [class*="__excerpt"],
html[data-theme="dark"] [class*="__summary"],
html[data-theme="dark"] [class*="__overview"],
html[data-theme="dark"] [class*="__intro"],
html[data-theme="dark"] [class*="__copy"],
html[data-theme="dark"] [class*="__blurb"],
html[data-theme="dark"] [class*="__eyebrow"],
html[data-theme="dark"] [class*="__kicker"]{ color:var(--ink); }

/* iconos que siguen currentColor: al aclarar el contenedor, se ven */
html[data-theme="dark"] .icon-btn,
html[data-theme="dark"] [class*="__icon"],
html[data-theme="dark"] [class*="__arrow"],
html[data-theme="dark"] [class*="chevron"],
html[data-theme="dark"] .back-to-top{ color:var(--ink); }

/* ---- 2) EXCEPCIONES: texto/icono sobre botones o píldoras doradas ---- */
html[data-theme="dark"] .btn-cta--gold,
html[data-theme="dark"] .btn-cta--gold *,
html[data-theme="dark"] [class*="cta--gold"],
html[data-theme="dark"] [class*="cta--gold"] *,
html[data-theme="dark"] .btn--gold,
html[data-theme="dark"] .btn--gold *,
html[data-theme="dark"] .filter-pill.is-active,
html[data-theme="dark"] .cat-filter__pill.is-active,
html[data-theme="dark"] .lang__btn.is-active{ color:var(--navy-900); }

/* ---- 3) MENÚ / NAV ---- */
html[data-theme="dark"] .header__center a,
html[data-theme="dark"] .header__center button,
html[data-theme="dark"] .mega a,
html[data-theme="dark"] .mega__col a,
html[data-theme="dark"] .nav a{ color:var(--ink); }
html[data-theme="dark"] .mega{ background:var(--surface); border-color:var(--line-2); }
html[data-theme="dark"] .site-header{ background:var(--paper); border-color:var(--line); }

/* ---- 4) FOTOS: contenedores/figuras/placeholders adaptados ---- */
html[data-theme="dark"] figure,
html[data-theme="dark"] [class*="__img"],
html[data-theme="dark"] [class*="__photo"],
html[data-theme="dark"] [class*="-media"],
html[data-theme="dark"] [class*="__media"]{ background-color:var(--bone); }
html[data-theme="dark"] [class*="placeholder"]{ background-color:var(--surface-2); color:var(--ink-soft); border-color:var(--line-2); }
/* tarjetas y superficies claras -> superficie oscura */
html[data-theme="dark"] [class*="-card"],
html[data-theme="dark"] [class*="__card"]{ background-color:var(--surface); border-color:var(--line); }

/* ---- 5) LOGO ---- */
/* Header (solo dentro del header): claro=original · oscuro=transparente */
.header__main .site-logo__img--dark{ display:none; }
html[data-theme="dark"] .header__main .site-logo__img:not(.site-logo__img--dark){ display:none; }
html[data-theme="dark"] .header__main .site-logo__img--dark{ display:block; }
/* Menú móvil: claro=logo oscuro (visible sobre fondo claro) · oscuro=transparente */
.site-logo__img--mobile-dk{ display:none; }
html[data-theme="dark"] .site-logo__img--mobile:not(.site-logo__img--mobile-dk){ display:none; }
html[data-theme="dark"] .site-logo__img--mobile-dk{ display:block; }

/* ---- 6) BOTÓN INTERRUPTOR (switch) ---- */
.theme-toggle{
  position:relative; display:inline-flex; align-items:center; vertical-align:middle;
  align-self:center; width:58px; height:30px; border-radius:999px;
  background:var(--navy-100); border:1px solid var(--line-2);
  padding:0; margin:0; cursor:pointer; overflow:hidden; flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
  transition:background .25s ease, border-color .25s ease;
}
.theme-toggle:hover{ border-color:var(--gold-500); }
.theme-toggle:focus-visible{ outline:2px solid var(--gold-500); outline-offset:2px; }
.theme-toggle::before{
  content:''; position:absolute; top:3px; left:3px; z-index:1;
  width:22px; height:22px; border-radius:50%;
  background:var(--gold-500); box-shadow:0 2px 6px rgba(0,0,0,.28);
  transition:transform .38s cubic-bezier(.5,1.65,.4,1), background .25s ease;
}
html[data-theme="dark"] .theme-toggle::before{ transform:translateX(28px); background:var(--gold-400); }
.theme-toggle svg{
  position:absolute; top:50%; width:15px; height:15px; z-index:2;
  transform:translateY(-50%); transition:opacity .3s ease;
}
.theme-ico--moon{ right:8px; color:var(--ink-soft); opacity:1; }
.theme-ico--sun { left:8px;  color:var(--gold-500); opacity:0; }
html[data-theme="dark"] .theme-ico--moon{ opacity:0; }
html[data-theme="dark"] .theme-ico--sun { opacity:1; color:var(--gold-400); }
@media (prefers-reduced-motion: reduce){ .theme-toggle::before,.theme-toggle svg{ transition:none; } }

/* ---- 7) selectores específicos detectados en el CSS ---- */
html[data-theme="dark"] .art-table .yes{ color:var(--ink); }
html[data-theme="dark"] .cat-filter__count strong{ color:var(--ink); }
html[data-theme="dark"] .cat-section__title{ color:var(--ink); }
html[data-theme="dark"] .cert-placeholder:hover{ color:var(--ink); }
html[data-theme="dark"] .contact-form__title{ color:var(--ink); }
html[data-theme="dark"] .contact-info__item__val{ color:var(--ink); }
html[data-theme="dark"] .contact-info__title{ color:var(--ink); }
html[data-theme="dark"] .contact-item__value{ color:var(--ink); }
html[data-theme="dark"] .faq-item__body__inner a{ color:var(--ink); }
html[data-theme="dark"] .faq-item__icon{ color:var(--ink); }
html[data-theme="dark"] .faq__aside__title{ color:var(--ink); }
html[data-theme="dark"] .faq__contact-card__title{ color:var(--ink); }
html[data-theme="dark"] .intro__body p strong{ color:var(--ink); }
html[data-theme="dark"] .intro__stat__num{ color:var(--ink); }
html[data-theme="dark"] .intro__title{ color:var(--ink); }
html[data-theme="dark"] .logo-placeholder:hover{ color:var(--ink); }
html[data-theme="dark"] .m-acc__head{ color:var(--ink); }
html[data-theme="dark"] .m-acc__link:hover, .m-acc__link:active{ color:var(--ink); }
html[data-theme="dark"] .m-lang{ color:var(--ink); }
html[data-theme="dark"] .menu-toggle{ color:var(--ink); }
html[data-theme="dark"] .post-card__more{ color:var(--ink); }
html[data-theme="dark"] .post-card__title{ color:var(--ink); }
html[data-theme="dark"] .pre-footer__title{ color:var(--ink); }
html[data-theme="dark"] .sec-head__title{ color:var(--ink); }
html[data-theme="dark"] .story__sig__name{ color:var(--ink); }
html[data-theme="dark"] .topbar__badge{ color:var(--ink); }
html[data-theme="dark"] .topbar__links a:hover{ color:var(--ink); }
html[data-theme="dark"] .topbar__rating strong{ color:var(--ink); }
html[data-theme="dark"] .topbar__secure{ color:var(--ink); }
html[data-theme="dark"] .topbar__secure svg{ color:var(--ink); }
html[data-theme="dark"] .tour-before__card__title{ color:var(--ink); }
html[data-theme="dark"] .tour-before__card__txt strong{ color:var(--ink); }
html[data-theme="dark"] .tour-book__addcart{ color:var(--ink); }
html[data-theme="dark"] .tour-book__addcart--disabled:hover{ color:var(--ink); }
html[data-theme="dark"] .tour-book__enquiry{ color:var(--ink); }
html[data-theme="dark"] .tour-book__pax__count{ color:var(--ink); }
html[data-theme="dark"] .tour-book__pax__name{ color:var(--ink); }
html[data-theme="dark"] .tour-book__totals__row--main .tour-book__totals__lbl{ color:var(--ink); }
html[data-theme="dark"] .tour-book__totals__row--main .tour-book__totals__val{ color:var(--ink); }
html[data-theme="dark"] .tour-cal__day--range{ color:var(--ink); }
html[data-theme="dark"] .tour-cal__day:hover{ color:var(--ink); }
html[data-theme="dark"] .tour-cal__month{ color:var(--ink); }
html[data-theme="dark"] .tour-cal__nav button{ color:var(--ink); }
html[data-theme="dark"] .tour-cal__spaces{ color:var(--ink); }
html[data-theme="dark"] .tour-card__price__num{ color:var(--ink); }
html[data-theme="dark"] .tour-card__title{ color:var(--ink); }
html[data-theme="dark"] .tour-card__wish{ color:var(--ink); }
html[data-theme="dark"] .tour-day__stat dd{ color:var(--ink); }
html[data-theme="dark"] .tour-day__title{ color:var(--ink); }
html[data-theme="dark"] .tour-day__txt strong{ color:var(--ink); }
html[data-theme="dark"] .tour-gallery__title{ color:var(--ink); }
html[data-theme="dark"] .tour-highlight__title{ color:var(--ink); }
html[data-theme="dark"] .tour-includes__item strong{ color:var(--ink); }
html[data-theme="dark"] .tour-infobar__enquiry{ color:var(--ink); }
html[data-theme="dark"] .tour-infobar__val{ color:var(--ink); }
html[data-theme="dark"] .tour-map-sec__points strong{ color:var(--ink); }
html[data-theme="dark"] .tour-map-sec__title{ color:var(--ink); }
html[data-theme="dark"] .tour-map-sec__txt strong{ color:var(--ink); }
html[data-theme="dark"] .tour-mobile-bar{ color:var(--ink); }
html[data-theme="dark"] .tour-mobile-bar__price__num{ color:var(--ink); }
html[data-theme="dark"] .tour-packing__col__title{ color:var(--ink); }
html[data-theme="dark"] .tour-packing__item strong{ color:var(--ink); }
html[data-theme="dark"] .tour-panel__intro strong{ color:var(--ink); }
html[data-theme="dark"] .tour-panel__title{ color:var(--ink); }
html[data-theme="dark"] .tour-pricing-table .price-cell{ color:var(--ink); }
html[data-theme="dark"] .tour-private__time{ color:var(--ink); }
html[data-theme="dark"] .tour-private__times__lbl{ color:var(--ink); }
html[data-theme="dark"] .tour-private__title{ color:var(--ink); }
html[data-theme="dark"] .tour-sub{ color:var(--ink); }
html[data-theme="dark"] .trust__icon{ color:var(--ink); }
html[data-theme="dark"] .trust__num{ color:var(--ink); }
html[data-theme="dark"] .why-cell__stat{ color:var(--ink); }
html[data-theme="dark"] .why-cell__title{ color:var(--ink); }
