/* ==========================================================================
   HALLOWEEN THEME OVERLAY - PREMIUM EXPERIENCE
   @package  Halloween Theme Overlay (Llamitas Travel Agency)
   @author   Bryan Cornelio
   @version  1.2.0
   @summary  Dark Mode inmersivo, contrastes perfectos (WCAG AAA), efectos atmosféricos,
             cero impacto en archivos del tema base y 100% responsivo.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. PALETA DE COLORES Y VARIABLES GLOBALES
   -------------------------------------------------------------------------- */
body.theme-halloween {
  /* Variables Temáticas de Halloween */
  --hallow-bg: #09040f;              /* Negro obsidiana con matiz púrpura profundo */
  --hallow-bg-surface: #11071c;      /* Superficie secundaria / secciones */
  --hallow-bg-card: #1a0c2a;         /* Tarjetas, paneles elevados y modales */
  --hallow-bg-card-hover: #25123d;   /* Hover en tarjetas */
  --hallow-border: #351a52;          /* Bordes góticos violetas */
  --hallow-border-glow: #7e22ce;     /* Borde activo con brillo */
  
  --hallow-orange: #ff7518;          /* Naranja Calabaza Neón (Jack-o'-lantern) */
  --hallow-orange-hover: #fb923c;    /* Naranja claro para interacción */
  --hallow-orange-glow: rgba(255, 117, 24, 0.45);
  
  --hallow-purple: #a855f7;          /* Púrpura místico / Ectoplasma */
  --hallow-purple-lt: #c084fc;       /* Púrpura brillante para textos secundarios */
  --hallow-purple-dark: #581c87;
  --hallow-purple-glow: rgba(168, 85, 247, 0.4);
  
  --hallow-green: #10b981;           /* Verde espectral tóxico */
  --hallow-text: #e2e8f0;            /* Gris plateado de máxima legibilidad */
  --hallow-text-muted: #94a3b8;      /* Texto secundario claro */
  --hallow-white: #ffffff;
  
  /* Mapeo estricto a las variables nativas del tema Llamitas Travel Agency */
  --mint: var(--hallow-purple) !important;
  --mint-lt: var(--hallow-purple-lt) !important;
  --mint-pale: #2a1145 !important;
  --mint-md: #4c1d95 !important;
  --mint-dark: #d8b4fe !important;
  --mint-bg: var(--hallow-bg-surface) !important;
  
  --dark: var(--hallow-bg) !important;
  --dark-2: var(--hallow-bg-card) !important;
  --orange: var(--hallow-orange) !important;
  --text: var(--hallow-text) !important;
  --muted: var(--hallow-text-muted) !important;
  --border: var(--hallow-border) !important;
  --cream: var(--hallow-bg-card) !important;
  
  /* Fuentes especiales de Halloween */
  --font-hallow-spooky: 'Creepster', cursive, sans-serif;
  --font-hallow-accent: 'Cinzel Decorative', Georgia, serif;
}

/* --------------------------------------------------------------------------
   2. BASE, TIPOGRAFÍA Y ACCESIBILIDAD (A11Y)
   -------------------------------------------------------------------------- */
body.theme-halloween {
  background-color: var(--hallow-bg) !important;
  color: var(--hallow-text) !important;
  transition: background-color 0.4s ease, color 0.4s ease;
}

/* Selección de texto en colores de Halloween */
body.theme-halloween ::selection {
  background-color: var(--hallow-orange) !important;
  color: #000000 !important;
}

/* Barra de desplazamiento gótica */
body.theme-halloween::-webkit-scrollbar {
  width: 10px;
}
body.theme-halloween::-webkit-scrollbar-track {
  background: var(--hallow-bg);
}
body.theme-halloween::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, var(--hallow-purple) 0%, var(--hallow-orange) 100%);
  border-radius: 6px;
  border: 2px solid var(--hallow-bg);
}
body.theme-halloween::-webkit-scrollbar-thumb:hover {
  background: var(--hallow-orange);
}

/* Enfoque visible con aura naranja */
body.theme-halloween :focus-visible {
  outline: 2px solid var(--hallow-orange) !important;
  outline-offset: 3px !important;
}

/* Títulos y Encabezados Globales */
body.theme-halloween h1,
body.theme-halloween h2,
body.theme-halloween h3,
body.theme-halloween h4,
body.theme-halloween h5,
body.theme-halloween h6,
body.theme-halloween .hm-section-title,
body.theme-halloween .ab-section-title,
body.theme-halloween .es-section-title,
body.theme-halloween .dp-title,
body.theme-halloween .ct-info__title,
body.theme-halloween .st-hero__title,
body.theme-halloween .at-hero__title,
body.theme-halloween .sp-title {
  color: #ffffff !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.7);
}

/* Énfasis en títulos (ej. "Llamitas", "destinos", "populares") */
body.theme-halloween .hm-section-title em,
body.theme-halloween .ab-section-title em,
body.theme-halloween .es-section-title em,
body.theme-halloween .dp-title em,
body.theme-halloween .st-hero__title em,
body.theme-halloween .at-hero__title em {
  color: var(--hallow-orange) !important;
  font-style: normal;
  text-shadow: 0 0 18px var(--hallow-orange-glow);
}

/* Eyebrows temáticos */
body.theme-halloween .hm-section-eyebrow,
body.theme-halloween .hm-hero__eyebrow,
body.theme-halloween .st-hero__eyebrow,
body.theme-halloween .at-hero__eyebrow,
body.theme-halloween .st-section-eyebrow {
  color: var(--hallow-orange) !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  text-shadow: 0 0 10px rgba(255, 117, 24, 0.4);
}

body.theme-halloween .st-hero__line,
body.theme-halloween .at-hero__line {
  background: var(--hallow-orange) !important;
  box-shadow: 0 0 8px var(--hallow-orange);
}

/* Párrafos y textos descriptivos */
body.theme-halloween p,
body.theme-halloween .hm-section-desc,
body.theme-halloween .hm-hero__desc,
body.theme-halloween .at-hero__subtitle,
body.theme-halloween .hm-value-card__desc,
body.theme-halloween .hm-how__step-desc,
body.theme-halloween .llm-tour-card__excerpt {
  color: var(--hallow-text) !important;
}

/* --------------------------------------------------------------------------
   3. CABECERA, LOGO Y NAVEGACIÓN DESKTOP / MÓVIL
   -------------------------------------------------------------------------- */
body.theme-halloween .header1 {
  background: var(--hallow-bg) !important;
  box-shadow: 0 4px 25px rgba(0, 0, 0, 0.8), 0 1px 0 var(--hallow-border) !important;
}

body.theme-halloween .llm-topbar {
  background: #050208 !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}

body.theme-halloween .llm-mainbar {
  background: var(--hallow-bg) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}

body.theme-halloween .llm-navwrap,
body.theme-halloween .header1.is-scrolled .llm-navwrap {
  background: var(--hallow-bg-surface) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}

/* Nombre de Marca LLAMITAS */
body.theme-halloween .llm-logo__name {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 14px var(--hallow-orange-glow);
  position: relative;
}
/* Detalle decorativo: pequeña llama encantada o murciélago sobre el logo */
body.theme-halloween .llm-logo__name::after {
  content: " 🎃";
  font-size: 0.75em;
  filter: drop-shadow(0 0 6px var(--hallow-orange));
}

body.theme-halloween .llm-logo__sub {
  color: var(--hallow-purple-lt) !important;
}

body.theme-halloween .llm-logo img {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 0 12px rgba(168, 85, 247, 0.2);
}

/* Buscador de la Cabecera */
body.theme-halloween .llm-search-wrapper {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-search-wrapper:focus-within {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 117, 24, 0.25) !important;
  background: #0e0617 !important;
}
body.theme-halloween .llm-search-field {
  color: #ffffff !important;
}
body.theme-halloween .llm-search-field::placeholder {
  color: #64748b !important;
}
body.theme-halloween .llm-search-submit {
  background: linear-gradient(135deg, var(--hallow-orange) 0%, #ea580c 100%) !important;
  color: #000000 !important;
  font-weight: 800 !important;
}
body.theme-halloween .llm-search-submit:hover {
  background: #fb923c !important;
  box-shadow: 0 0 12px var(--hallow-orange-glow);
}

/* Enlaces del Menú Principal */
body.theme-halloween .llm-menu-desktop > .menu-item > a {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-menu-desktop > .menu-item:hover > a,
body.theme-halloween .llm-menu-desktop > .current-menu-item > a {
  background: var(--hallow-bg-card) !important;
  color: var(--hallow-orange) !important;
}

/* Submenús Dropdowns Simples */
body.theme-halloween .llm-menu-desktop > .menu-item > .sub-menu {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  border-top: 3px solid var(--hallow-orange) !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.85) !important;
}
body.theme-halloween .llm-menu-desktop > .menu-item:not(:has(.sub-menu .sub-menu)) .sub-menu .menu-item a {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-menu-desktop > .menu-item:not(:has(.sub-menu .sub-menu)) .sub-menu .menu-item a:hover {
  background: rgba(255, 117, 24, 0.12) !important;
  color: var(--hallow-orange) !important;
}

/* Mega Menú Clásico (Experiencias, Paquetes) */
body.theme-halloween .llm-menu-desktop > .menu-item:has(.sub-menu .sub-menu) > .sub-menu {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  border-top: 3px solid var(--hallow-orange) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9) !important;
}
body.theme-halloween .llm-menu-desktop > .menu-item:has(.sub-menu .sub-menu) > .sub-menu > .menu-item > a {
  color: var(--hallow-orange) !important;
  border-bottom: 2px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-menu-desktop > .menu-item:has(.sub-menu .sub-menu) .sub-menu .sub-menu .menu-item a {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-menu-desktop > .menu-item:has(.sub-menu .sub-menu) .sub-menu .sub-menu .menu-item a:hover {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .llm-menu-desktop > .menu-item:has(.sub-menu .sub-menu) .sub-menu .sub-menu .menu-item a::before {
  color: var(--hallow-orange) !important;
}

/* Mega Menú con Pestañas (Destinos Perú & Bolivia) */
body.theme-halloween .llm-tabbed-mega {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  border-top: 3px solid var(--hallow-orange) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9) !important;
}
body.theme-halloween .llm-tabs-nav {
  background: var(--hallow-bg-surface) !important;
  border-right: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-tab-item {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-tab-item:hover {
  background: rgba(168, 85, 247, 0.15) !important;
  color: var(--hallow-orange) !important;
}
body.theme-halloween .llm-tab-item.active {
  background: linear-gradient(90deg, var(--hallow-orange) 0%, #ea580c 100%) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 15px rgba(255, 117, 24, 0.4) !important;
}
body.theme-halloween .llm-tab-item.active i {
  color: #000000 !important;
}
body.theme-halloween .llm-tabs-content {
  background: var(--hallow-bg-card) !important;
}
body.theme-halloween .llm-tab-title {
  color: var(--hallow-orange) !important;
  border-bottom: 2px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-tab-tours-grid a {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-tab-tours-grid a:hover {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .llm-view-all-tab {
  color: var(--hallow-orange) !important;
  border-top-color: var(--hallow-border) !important;
}

/* Menú Móvil (Off-Canvas Drawer) */
body.theme-halloween .llm-mobilebar {
  background: var(--hallow-bg) !important;
  border-top: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-mobilebar__label {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-hamburger span {
  background: var(--hallow-orange) !important;
}
body.theme-halloween .llm-mob-overlay {
  background: rgba(5, 2, 8, 0.85) !important;
  backdrop-filter: blur(5px) !important;
}
body.theme-halloween .llm-mobilenav {
  background: var(--hallow-bg) !important;
  border-left: 1px solid var(--hallow-border) !important;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.9) !important;
}
body.theme-halloween .llm-mobilenav__head {
  background: var(--hallow-bg-surface) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-mobilenav__title {
  color: var(--hallow-orange) !important;
  font-weight: 800 !important;
}
body.theme-halloween .llm-mobilenav__close {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-mobilenav__close:hover {
  color: var(--hallow-orange) !important;
  background: rgba(255, 117, 24, 0.15) !important;
}
body.theme-halloween .llm-mobilenav__search {
  background: var(--hallow-bg-surface) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-mobilenav__search .llm-search-wrapper {
  background: var(--hallow-bg-card) !important;
  border-color: var(--hallow-border) !important;
}
body.theme-halloween .llm-mobilenav .menu-item {
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-mobilenav .menu-item > a {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-mobilenav .menu-item.is-open > a {
  color: var(--hallow-orange) !important;
  background: rgba(255, 117, 24, 0.08) !important;
}
body.theme-halloween .llm-mob-toggle {
  border-left: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .llm-mobilenav .menu-item.is-open > .llm-mob-toggle {
  background: var(--hallow-bg-card) !important;
  color: var(--hallow-orange) !important;
}
body.theme-halloween .llm-mobilenav .sub-menu {
  background: var(--hallow-bg-surface) !important;
  border-top: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-mobilenav .sub-menu > .menu-item > a {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .llm-mobilenav .sub-menu .sub-menu {
  background: var(--hallow-bg-card) !important;
}
body.theme-halloween .llm-mobilenav .sub-menu .sub-menu > .menu-item > a {
  color: var(--hallow-text) !important;
}
body.theme-halloween .llm-mobilenav .sub-menu .sub-menu > .menu-item > a::before {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .llm-mobilenav__cta-wrap {
  background: var(--hallow-bg-surface) !important;
  border-top: 1px solid var(--hallow-border) !important;
}

/* --------------------------------------------------------------------------
   4. BOTONES Y CALLS TO ACTION (GLOW & NEON JACK-O'-LANTERN)
   -------------------------------------------------------------------------- */
body.theme-halloween .llm-btn--orange {
  background: linear-gradient(135deg, #ff7518 0%, #ea580c 100%) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  border: none !important;
  box-shadow: 0 4px 15px rgba(255, 117, 24, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
  transition: all 0.25s ease !important;
}
body.theme-halloween .llm-btn--orange:hover {
  background: #fb923c !important;
  box-shadow: 0 6px 25px rgba(255, 117, 24, 0.75), 0 0 10px rgba(255, 117, 24, 0.5) !important;
  transform: translateY(-3px) scale(1.02) !important;
}

body.theme-halloween .llm-btn--outline {
  border-color: var(--hallow-purple) !important;
  color: #ffffff !important;
  background: rgba(168, 85, 247, 0.1) !important;
  backdrop-filter: blur(4px);
}
body.theme-halloween .llm-btn--outline:hover {
  border-color: var(--hallow-orange) !important;
  color: var(--hallow-orange) !important;
  background: rgba(255, 117, 24, 0.15) !important;
  box-shadow: 0 0 15px var(--hallow-orange-glow) !important;
  transform: translateY(-2px);
}

body.theme-halloween .llm-btn--mint {
  background: var(--hallow-purple) !important;
  color: #ffffff !important;
}
body.theme-halloween .llm-btn--mint:hover {
  background: var(--hallow-purple-lt) !important;
  box-shadow: 0 0 15px var(--hallow-purple-glow) !important;
}

/* --------------------------------------------------------------------------
   5. SECCIONES DEL HOME Y ESTRUCTURA GLOBAL
   -------------------------------------------------------------------------- */

/* Hero Section */
body.theme-halloween .hm-hero__overlay,
body.theme-halloween .st-hero__overlay,
body.theme-halloween .at-hero__overlay,
body.theme-halloween .ab-hero__overlay,
body.theme-halloween .ct-hero__overlay,
body.theme-halloween .es-hero__overlay {
  background: linear-gradient(
    135deg,
    rgba(9, 4, 15, 0.95) 0%,
    rgba(22, 10, 36, 0.8) 45%,
    rgba(9, 4, 15, 0.65) 100%
  ) !important;
}

/* Barra de Estadísticas y Confianza (.hm-stats) */
body.theme-halloween .hm-stats {
  background: linear-gradient(90deg, #130722 0%, #250f3f 50%, #130722 100%) !important;
  border-top: 1px solid var(--hallow-border) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
  box-shadow: 0 6px 30px rgba(0, 0, 0, 0.7) !important;
}
body.theme-halloween .hm-stat {
  border-right-color: rgba(168, 85, 247, 0.2) !important;
}
body.theme-halloween .hm-stat__icon-wrap {
  background: rgba(255, 117, 24, 0.15) !important;
  color: var(--hallow-orange) !important;
  border: 1px solid rgba(255, 117, 24, 0.3) !important;
}
body.theme-halloween .hm-stat__num {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 15px var(--hallow-orange-glow);
}
body.theme-halloween .hm-stat__label {
  color: var(--hallow-text) !important;
}

/* Tarjetas de Tour (.llm-tour-card) */
body.theme-halloween .llm-tour-card {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}
body.theme-halloween .llm-tour-card:hover {
  transform: translateY(-6px) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85), 0 0 20px rgba(255, 117, 24, 0.25) !important;
}
body.theme-halloween .llm-tour-card__badge-top {
  background: linear-gradient(135deg, var(--hallow-purple) 0%, #7e22ce 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 10px var(--hallow-purple-glow);
}
body.theme-halloween .llm-tour-card__price-badge {
  background: rgba(9, 4, 15, 0.92) !important;
  border: 1px solid var(--hallow-orange) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6);
}
body.theme-halloween .llm-tour-card__price-label {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .llm-tour-card__price-val {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .llm-tour-card__meta-item {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .llm-tour-card__title a {
  color: #ffffff !important;
}
body.theme-halloween .llm-tour-card:hover .llm-tour-card__title a {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .llm-tour-card__cta {
  color: var(--hallow-orange) !important;
  font-weight: 700 !important;
}

/* Grilla Bento de Destinos (.hm-dest-card) */
body.theme-halloween .hm-dest-card {
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
}
body.theme-halloween .hm-dest-card:hover {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.8), 0 0 25px rgba(255, 117, 24, 0.3) !important;
}
body.theme-halloween .hm-dest-card__gradient {
  background: linear-gradient(to top, rgba(9, 4, 15, 0.95) 0%, rgba(9, 4, 15, 0.65) 55%, transparent 90%) !important;
}
body.theme-halloween .hm-dest-card__badge {
  background: var(--hallow-orange) !important;
  color: #000000 !important;
  font-weight: 800 !important;
}
body.theme-halloween .hm-dest-card__title {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9) !important;
}
body.theme-halloween .hm-dest-card__count {
  color: var(--hallow-purple-lt) !important;
}

/* Carrusel de Categorías y Flechas Splide (.hm-tour-types / .hm-tax-carousel) */
body.theme-halloween .hm-tour-types,
body.theme-halloween .hm-tax-carousel {
  background-color: var(--hallow-bg) !important;
}
body.theme-halloween .splide__arrow,
body.theme-halloween .hm-types-slider .splide__arrow {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-orange) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6) !important;
  opacity: 0.9;
}
body.theme-halloween .splide__arrow:hover,
body.theme-halloween .hm-types-slider .splide__arrow:hover {
  background: var(--hallow-orange) !important;
  color: #000000 !important;
  box-shadow: 0 0 15px var(--hallow-orange-glow) !important;
  opacity: 1;
}
body.theme-halloween .splide__arrow svg,
body.theme-halloween .hm-types-slider .splide__arrow svg {
  fill: currentColor !important;
}
body.theme-halloween .splide__pagination__page.is-active {
  background: var(--hallow-orange) !important;
  box-shadow: 0 0 10px var(--hallow-orange-glow);
}

/* Tarjetas de Taxonomía (.card-tax / .llm-tax-card) */
body.theme-halloween .llm-tax-card,
body.theme-halloween .hm-tax-card {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .llm-tax-card:hover,
body.theme-halloween .hm-tax-card:hover {
  border-color: var(--hallow-purple) !important;
  box-shadow: 0 10px 30px rgba(168, 85, 247, 0.25) !important;
}

/* Sección Nuestros Valores (.hm-values) */
body.theme-halloween .hm-value-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5) !important;
  transition: all 0.3s ease !important;
}
body.theme-halloween .hm-value-card:hover {
  border-color: var(--hallow-purple) !important;
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 35px rgba(168, 85, 247, 0.25) !important;
}
body.theme-halloween .hm-value-card__icon {
  background: rgba(168, 85, 247, 0.15) !important;
  color: var(--hallow-orange) !important;
  border: 1px solid rgba(168, 85, 247, 0.3) !important;
}
body.theme-halloween .hm-value-card__title {
  color: #ffffff !important;
}

/* Cómo Funciona (.hm-how) */
body.theme-halloween .hm-how {
  background-color: var(--hallow-bg) !important;
}
body.theme-halloween .hm-how__grid::before {
  background: linear-gradient(90deg, var(--hallow-purple), var(--hallow-orange)) !important;
}
body.theme-halloween .hm-how__num-wrap {
  background-color: var(--hallow-bg-card) !important;
  border: 2px solid var(--hallow-orange) !important;
  box-shadow: 0 0 15px rgba(255, 117, 24, 0.35) !important;
}
body.theme-halloween .hm-how__num {
  color: var(--hallow-orange) !important;
  font-weight: 900 !important;
}
body.theme-halloween .hm-how__step-title {
  color: #ffffff !important;
}
body.theme-halloween .hm-how__step-desc {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .hm-how__step:hover .hm-how__num-wrap {
  background-color: var(--hallow-orange) !important;
  box-shadow: 0 0 25px rgba(255, 117, 24, 0.8) !important;
}
body.theme-halloween .hm-how__step:hover .hm-how__num {
  color: #000000 !important;
}

/* Opiniones Reales & Widgets Trustindex (.hm-reviews) */
body.theme-halloween .hm-reviews {
  background-color: var(--hallow-bg-surface) !important;
}
body.theme-halloween .hm-review-widget-container {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  border-radius: 16px;
  padding: 1.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
}
/* Estilos para widgets de Trustindex (TripAdvisor y Google) en modo Halloween */
body.theme-halloween .ti-widget,
body.theme-halloween .ti-widget * {
  color: var(--hallow-text);
}
body.theme-halloween .ti-widget .ti-review-item > .ti-inner {
  background-color: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
}
body.theme-halloween .ti-widget .ti-review-item:hover > .ti-inner {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 8px 25px rgba(255, 117, 24, 0.2) !important;
}
body.theme-halloween .ti-widget .ti-name,
body.theme-halloween .ti-widget .ti-header .ti-name,
body.theme-halloween .ti-widget .ti-rating-text strong,
body.theme-halloween .ti-widget .ti-rating-large {
  color: #ffffff !important;
}
body.theme-halloween .ti-widget .ti-review-content {
  color: var(--hallow-text) !important;
}
body.theme-halloween .ti-widget .ti-date {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .ti-widget .ti-read-more span {
  color: var(--hallow-orange) !important;
  opacity: 1 !important;
}
body.theme-halloween .ti-widget .ti-controls .ti-next,
body.theme-halloween .ti-widget .ti-controls .ti-prev {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .ti-widget .ti-controls .ti-next:hover,
body.theme-halloween .ti-widget .ti-controls .ti-prev:hover {
  background-color: var(--hallow-orange) !important;
  border-color: var(--hallow-orange) !important;
}
body.theme-halloween .ti-widget .ti-large-logo img {
  filter: brightness(1.2);
}

/* Transparencia y Documentos (.hm-docs) */
body.theme-halloween .hm-docs {
  background-color: var(--hallow-bg) !important;
}
body.theme-halloween .hm-doc-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .hm-doc-card__link {
  background-color: rgba(255, 255, 255, 0.03) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .hm-doc-card__title {
  color: #ffffff !important;
}
body.theme-halloween .hm-doc-card__desc {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .hm-doc-card__overlay {
  background: rgba(9, 4, 15, 0.8) !important;
  color: var(--hallow-orange) !important;
}

/* Asociaciones y Logos de Confianza (.hm-partners) */
body.theme-halloween .hm-partners {
  background-color: var(--hallow-bg-surface) !important;
  border-top: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .hm-partners__item {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--hallow-border) !important;
  border-radius: 12px;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  transition: all 0.3s ease;
}
body.theme-halloween .hm-partners__item:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 15px rgba(255, 117, 24, 0.2);
  transform: translateY(-2px);
}
body.theme-halloween .hm-partners__item img {
  max-width: clamp(100px, 15vw, 140px);
  max-height: 65px;
  object-fit: contain;
  transition: all 0.3s ease;
}
/* Aclarar logos oscuros en modo Halloween para que resalten con elegancia */
body.theme-halloween .hm-partners__item img[src*="dircetur"],
body.theme-halloween .hm-partners__item img[src*="mincetur"] {
  filter: brightness(0) invert(0.88);
}
body.theme-halloween .hm-partners__item:hover img[src*="dircetur"],
body.theme-halloween .hm-partners__item:hover img[src*="mincetur"] {
  filter: brightness(0) invert(1);
}

/* Call to Action Final (.hm-cta) */
body.theme-halloween .hm-cta-section {
  background-color: var(--hallow-bg) !important;
}
body.theme-halloween .hm-cta {
  background: linear-gradient(135deg, #180829 0%, #2f124d 100%) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.8), 0 0 25px rgba(168, 85, 247, 0.25) !important;
}
body.theme-halloween .hm-cta__title {
  color: #ffffff !important;
}
body.theme-halloween .hm-cta__desc {
  color: var(--hallow-text) !important;
}

/* --------------------------------------------------------------------------
   6. PÁGINA SINGLE TOUR (.st-) - COBERTURA TOTAL Y CONTRASTE PERFECTO
   -------------------------------------------------------------------------- */

/* 6.1 Barra Superior de Especificaciones (Overview Card) - Image 1 */
body.theme-halloween .st-overview {
  position: relative;
  z-index: 10;
}
body.theme-halloween .st-overview__card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.8), 0 0 20px rgba(168, 85, 247, 0.15) !important;
}
body.theme-halloween .st-overview__item {
  border-right-color: var(--hallow-border) !important;
}
@media (max-width: 768px) {
  body.theme-halloween .st-overview__item {
    border-color: var(--hallow-border) !important;
  }
}
@media (max-width: 480px) {
  body.theme-halloween .st-overview__item {
    border-bottom-color: var(--hallow-border) !important;
  }
}
body.theme-halloween .st-overview__icon {
  background-color: rgba(168, 85, 247, 0.15) !important;
  color: var(--hallow-orange) !important;
  border: 1px solid rgba(168, 85, 247, 0.3) !important;
  box-shadow: 0 0 10px rgba(168, 85, 247, 0.2);
}
body.theme-halloween .st-overview__item:hover .st-overview__icon {
  background-color: var(--hallow-orange) !important;
  color: #000000 !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 15px var(--hallow-orange-glow) !important;
}
body.theme-halloween .st-overview__label {
  color: var(--hallow-purple-lt) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
body.theme-halloween .st-overview__value {
  color: #ffffff !important;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.25) !important;
}

/* 6.2 Barra de Pestañas de Navegación (.st-tabs-nav & .st-tab-btn) */
body.theme-halloween .st-tabs-nav {
  border-bottom: 2px solid var(--hallow-border) !important;
}
body.theme-halloween .st-tab-btn {
  color: var(--hallow-text-muted) !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
}
body.theme-halloween .st-tab-btn i {
  color: var(--hallow-purple) !important;
  transition: color 0.25s ease;
}
body.theme-halloween .st-tab-btn:hover {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .st-tab-btn:hover i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .st-tab-btn.active {
  color: var(--hallow-orange) !important;
  border-bottom-color: var(--hallow-orange) !important;
  text-shadow: 0 0 12px var(--hallow-orange-glow) !important;
}
body.theme-halloween .st-tab-btn.active i {
  color: var(--hallow-orange) !important;
  filter: drop-shadow(0 0 6px var(--hallow-orange));
}

/* 6.3 Pestaña 3: DETALLES (.st-details-grid-v2 & .st-detail-item) - Image 2 */
body.theme-halloween .st-details-grid-v2 {
  background: transparent !important;
}
body.theme-halloween .st-detail-item {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6) !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}
body.theme-halloween .st-detail-item:hover {
  border-color: var(--hallow-orange) !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.8), 0 0 15px var(--hallow-orange-glow) !important;
}
body.theme-halloween .st-detail-icon {
  background-color: rgba(168, 85, 247, 0.15) !important;
  color: var(--hallow-orange) !important;
  border: 1px solid rgba(168, 85, 247, 0.3) !important;
  box-shadow: 0 0 10px rgba(168, 85, 247, 0.15);
}
body.theme-halloween .st-detail-item:hover .st-detail-icon {
  background-color: var(--hallow-orange) !important;
  color: #000000 !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 15px var(--hallow-orange-glow) !important;
}
body.theme-halloween .st-detail-label {
  color: var(--hallow-purple-lt) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
body.theme-halloween .st-detail-value {
  color: var(--hallow-text) !important;
}
body.theme-halloween .st-detail-value strong {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
}

/* 6.4 Pestaña 4: FAQ (.st-faq-item, .st-faq-question-text) - Image 3 */
body.theme-halloween .st-faq-item {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.5) !important;
  transition: all 0.3s ease !important;
}
body.theme-halloween .st-faq-item::before {
  background-color: var(--hallow-orange) !important;
}
body.theme-halloween .st-faq-item:hover {
  border-color: rgba(255, 117, 24, 0.4) !important;
}
body.theme-halloween .st-faq-item.is-active {
  border-color: var(--hallow-border-glow) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 15px rgba(168, 85, 247, 0.2) !important;
}
body.theme-halloween .st-faq-btn {
  background: transparent !important;
}
body.theme-halloween .st-faq-btn:hover {
  background: rgba(255, 117, 24, 0.04) !important;
}
body.theme-halloween .st-faq-badge {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 10px var(--hallow-orange-glow);
}
body.theme-halloween .st-faq-question-text {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
  transition: color 0.25s ease !important;
}
body.theme-halloween .st-faq-item:hover .st-faq-question-text,
body.theme-halloween .st-faq-item.is-active .st-faq-question-text {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .st-faq-icon {
  background-color: var(--hallow-bg-surface) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-orange) !important;
}
body.theme-halloween .st-faq-item.is-active .st-faq-icon {
  background-color: var(--hallow-orange) !important;
  border-color: var(--hallow-orange) !important;
  color: #000000 !important;
  box-shadow: 0 0 12px var(--hallow-orange-glow) !important;
}
body.theme-halloween .st-faq-answer-text {
  color: var(--hallow-text) !important;
  background: rgba(9, 4, 15, 0.45) !important;
  border-top: 1px solid var(--hallow-border) !important;
  line-height: 1.7 !important;
}
body.theme-halloween .st-faq-answer-text p {
  color: var(--hallow-text) !important;
  line-height: 1.7 !important;
}

/* 6.5 Pestaña 5: TIPS Y RECOMENDACIONES (.st-tips-body) - Image 4 */
body.theme-halloween .st-tips-wrapper {
  background: transparent !important;
}
body.theme-halloween .st-tips-title {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8) !important;
}
body.theme-halloween .st-tips-body,
body.theme-halloween .st-tips-body p {
  color: var(--hallow-text) !important;
}
body.theme-halloween .st-tips-body ul li,
body.theme-halloween .st-tips-body ol li {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6) !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}
body.theme-halloween .st-tips-body ul li:hover,
body.theme-halloween .st-tips-body ol li:hover {
  transform: translateY(-4px) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.8), 0 0 18px var(--hallow-orange-glow) !important;
}
body.theme-halloween .st-tips-body ul li strong,
body.theme-halloween .st-tips-body ol li strong {
  color: var(--hallow-orange) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  text-shadow: 0 0 12px rgba(255, 117, 24, 0.3) !important;
  margin-bottom: 0.6rem !important;
  display: block;
}
body.theme-halloween .st-tips-body ul li p,
body.theme-halloween .st-tips-body ol li p {
  color: var(--hallow-text) !important;
  margin: 0 !important;
}

/* 6.6 Sidebar: Tarjeta de Asesores (.st-advisors-card) - Image 5 */
body.theme-halloween .st-advisors-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.6) !important;
}
body.theme-halloween .st-advisors__header {
  background: linear-gradient(135deg, #1f0b35 0%, #35135a 100%) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
  padding: 1.5rem;
}
body.theme-halloween .st-advisors__icon i {
  color: #25d366 !important;
  filter: drop-shadow(0 0 10px rgba(37, 211, 102, 0.5)) !important;
}
body.theme-halloween .st-advisors__title-wrap h4 {
  color: #ffffff !important;
  font-weight: 700 !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.7) !important;
}
body.theme-halloween .st-advisors__title-wrap span {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .st-advisors__list {
  background-color: var(--hallow-bg-card) !important;
}
body.theme-halloween .st-advisors__list li {
  background-color: transparent !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .st-advisors__list li:last-child {
  border-bottom: none !important;
}
body.theme-halloween .st-advisor-link {
  color: var(--hallow-text) !important;
  transition: background-color 0.2s ease !important;
}
body.theme-halloween .st-advisor-link:hover {
  background-color: rgba(255, 117, 24, 0.08) !important;
}
body.theme-halloween .st-advisor-info span {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .st-advisor-info strong {
  color: #ffffff !important;
  font-weight: 700 !important;
  transition: color 0.2s ease;
}
body.theme-halloween .st-advisor-link:hover .st-advisor-info strong {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .st-advisor-info img {
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 0 8px rgba(168, 85, 247, 0.2);
}
body.theme-halloween .st-advisor-wa {
  color: #25d366 !important;
  filter: drop-shadow(0 0 6px rgba(37, 211, 102, 0.4)) !important;
}

/* 6.7 Sidebar: Tarjeta Flotante de Reserva (.st-booking-card) */
body.theme-halloween .st-booking-card {
  background-color: var(--hallow-bg-card) !important;
  border: 2px solid var(--hallow-orange) !important;
  box-shadow: 0 15px 45px rgba(0, 0, 0, 0.85), 0 0 25px rgba(255, 117, 24, 0.2) !important;
}
body.theme-halloween .st-booking-card__eyebrow {
  color: var(--hallow-purple-lt) !important;
  font-weight: 700 !important;
}
body.theme-halloween .st-booking-card__title {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 18px var(--hallow-orange-glow) !important;
}
body.theme-halloween .st-booking-card__subtitle {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .st-tour-specs li {
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .st-tour-specs span {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .st-tour-specs strong {
  color: #ffffff !important;
}
body.theme-halloween .st-btn-wetravel {
  background: linear-gradient(135deg, var(--hallow-purple) 0%, #7e22ce 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 15px var(--hallow-purple-glow) !important;
}
body.theme-halloween .st-btn-wetravel:hover {
  background: var(--hallow-purple-lt) !important;
  box-shadow: 0 6px 20px var(--hallow-purple-glow) !important;
}

/* 6.8 Pestaña 1: ITINERARIO TIMELINE (.st-timeline) */
body.theme-halloween .st-timeline::before {
  background-image: linear-gradient(
    to bottom,
    var(--hallow-orange) 50%,
    transparent 50%
  ) !important;
}
body.theme-halloween .st-timeline__node {
  background-color: var(--hallow-bg-card) !important;
  border: 2px solid var(--hallow-orange) !important;
  box-shadow: 0 0 15px var(--hallow-orange-glow) !important;
}
body.theme-halloween .st-timeline__node::after {
  background-color: var(--hallow-purple) !important;
  border-color: var(--hallow-bg-card) !important;
}
body.theme-halloween .st-timeline__node span {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .st-timeline__node strong {
  color: #ffffff !important;
}
body.theme-halloween .st-timeline__content {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6) !important;
}
body.theme-halloween .st-timeline__title {
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6) !important;
}
body.theme-halloween .st-timeline__desc {
  color: var(--hallow-text) !important;
}
body.theme-halloween .st-timeline__item:hover .st-timeline__content {
  border-color: var(--hallow-border-glow) !important;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.7), 0 0 15px rgba(168, 85, 247, 0.2) !important;
}

/* 6.9 Pestaña 2: INCLUYE / NO INCLUYE (.st-inc-card) */
body.theme-halloween .st-inc-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.6) !important;
}
body.theme-halloween .st-inc-header h3 {
  color: #ffffff !important;
}
body.theme-halloween .st-inc-card--yes .st-inc-icon {
  background: rgba(16, 185, 129, 0.15) !important;
  color: #10b981 !important;
  border: 1px solid rgba(16, 185, 129, 0.3) !important;
}
body.theme-halloween .st-inc-card--no .st-inc-icon {
  background: rgba(239, 68, 68, 0.15) !important;
  color: #ef4444 !important;
  border: 1px solid rgba(239, 68, 68, 0.3) !important;
}
body.theme-halloween .st-inc-body {
  color: var(--hallow-text) !important;
}
body.theme-halloween .st-inc-body ul li {
  border-bottom: 1px dashed var(--hallow-border) !important;
  color: var(--hallow-text) !important;
}
body.theme-halloween .st-inc-body ul li::before {
  color: var(--hallow-orange) !important;
}

/* 6.10 Caja de Lugares Que Visitarás (.st-places) */
body.theme-halloween .st-places {
  border: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .st-places__header {
  background-color: var(--hallow-bg-surface) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .st-places__icon {
  background-color: rgba(255, 117, 24, 0.15) !important;
  color: var(--hallow-orange) !important;
  border: 1px solid rgba(255, 117, 24, 0.3) !important;
}
body.theme-halloween .st-places__title {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 10px rgba(255, 117, 24, 0.3);
}
body.theme-halloween .st-places__list {
  background-color: var(--hallow-border) !important;
}
body.theme-halloween .st-places__item {
  background-color: var(--hallow-bg-card) !important;
}
body.theme-halloween .st-places__num {
  background-color: var(--hallow-bg-surface) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-orange) !important;
}
body.theme-halloween .st-places__name {
  color: #ffffff !important;
}
body.theme-halloween .st-places__desc {
  color: var(--hallow-text) !important;
}

/* 6.11 Sobre el Tour (.st-summary) */
body.theme-halloween .st-summary__text {
  color: var(--hallow-text) !important;
}
body.theme-halloween .st-summary__text h3 {
  color: #ffffff !important;
}

/* 6.12 Galería (.st-gallery-section) */
body.theme-halloween .st-gallery__item {
  border: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .st-gallery__overlay {
  background: rgba(9, 4, 15, 0.75) !important;
  color: var(--hallow-orange) !important;
}

/* --------------------------------------------------------------------------
   7. CATÁLOGO / ARCHIVO DE TOURS (.at-)
   -------------------------------------------------------------------------- */
body.theme-halloween .archive-tour,
body.theme-halloween .at-layout {
  background-color: var(--hallow-bg) !important;
}
body.theme-halloween .at-sidebar,
body.theme-halloween .at-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .at-sidebar .at-filter-form {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .at-filter-header {
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .at-filter-header h3 {
  color: #ffffff !important;
}
body.theme-halloween .at-filter-clear {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .at-widget__title,
body.theme-halloween .at-filter-group__title {
  color: var(--hallow-purple-lt) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .at-filter-group label,
body.theme-halloween .at-checkbox {
  color: var(--hallow-text) !important;
}
body.theme-halloween .at-filter-group input[type="checkbox"],
body.theme-halloween .at-checkbox input {
  accent-color: var(--hallow-orange) !important;
}
body.theme-halloween .at-sort select,
body.theme-halloween .at-search-input,
body.theme-halloween .at-input-group input {
  background-color: #0d0517 !important;
  border: 1px solid var(--hallow-border) !important;
  color: #ffffff !important;
}
body.theme-halloween .at-input-group i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .at-pagination .page-numbers {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text) !important;
}
body.theme-halloween .at-pagination .page-numbers.current {
  background: var(--hallow-orange) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  box-shadow: 0 0 10px var(--hallow-orange-glow);
}

/* --------------------------------------------------------------------------
   8. PÁGINA CONTACTO (.ct-) Y FORMULARIOS CONTACT FORM 7
   -------------------------------------------------------------------------- */
body.theme-halloween .wpcf7-form input[type="text"],
body.theme-halloween .wpcf7-form input[type="email"],
body.theme-halloween .wpcf7-form input[type="tel"],
body.theme-halloween .wpcf7-form input[type="date"],
body.theme-halloween .wpcf7-form textarea,
body.theme-halloween .wpcf7-form select {
  background-color: #0c0515 !important;
  border: 1px solid var(--hallow-border) !important;
  color: #ffffff !important;
  border-radius: 8px;
  padding: 12px 16px;
  transition: all 0.25s ease;
}
body.theme-halloween .wpcf7-form input:focus,
body.theme-halloween .wpcf7-form textarea:focus,
body.theme-halloween .wpcf7-form select:focus {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 117, 24, 0.25), 0 0 15px var(--hallow-orange-glow) !important;
  background-color: #12081f !important;
  outline: none;
}
body.theme-halloween .wpcf7-form input::placeholder,
body.theme-halloween .wpcf7-form textarea::placeholder {
  color: #64748b !important;
}
body.theme-halloween .ct-hero__title {
  color: #ffffff !important;
}
body.theme-halloween .ct-hero__title em {
  color: var(--hallow-purple-lt) !important;
  font-family: var(--font-hallow-spooky) !important;
  text-shadow: 0 0 15px var(--hallow-purple-glow);
}
body.theme-halloween .ct-info__title {
  color: #ffffff !important;
}
body.theme-halloween .ct-info__desc {
  color: var(--hallow-text) !important;
}
body.theme-halloween .ct-badge {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: #ffffff !important;
}
body.theme-halloween .ct-badge i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .ct-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}
body.theme-halloween .ct-card:hover {
  transform: translateX(6px) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 0 0 15px var(--hallow-orange-glow) !important;
}
body.theme-halloween .ct-card__icon {
  background-color: rgba(168, 85, 247, 0.18) !important;
  color: var(--hallow-orange) !important;
  border: 1px solid rgba(168, 85, 247, 0.3) !important;
}
body.theme-halloween .ct-card:hover .ct-card__icon {
  background-color: rgba(255, 117, 24, 0.22) !important;
  border-color: var(--hallow-orange) !important;
  color: #ffffff !important;
  text-shadow: 0 0 10px var(--hallow-orange);
}
body.theme-halloween .ct-card__data strong {
  color: var(--hallow-purple-lt) !important;
  letter-spacing: 0.1em !important;
  font-weight: 700 !important;
}
body.theme-halloween .ct-card__data a,
body.theme-halloween .ct-card__data span {
  color: #ffffff !important;
  font-weight: 500 !important;
}
body.theme-halloween .ct-card__data a:hover {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 10px var(--hallow-orange-glow);
}
body.theme-halloween .ct-map-wrap {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  filter: invert(90%) hue-rotate(180deg) contrast(1.1) brightness(0.85);
  transition: filter 0.3s ease;
}
body.theme-halloween .ct-map-wrap:hover {
  filter: invert(90%) hue-rotate(180deg) contrast(1.2) brightness(0.95);
}
body.theme-halloween .ct-form-box {
  background-color: #12071d !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7), 0 0 30px rgba(168, 85, 247, 0.15) !important;
}
body.theme-halloween .ct-form-box__title {
  color: #ffffff !important;
}
body.theme-halloween .ct-form-box__title em {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 15px var(--hallow-orange-glow);
}
body.theme-halloween .ct-form-box__desc {
  color: var(--hallow-text-muted) !important;
}

/* --------------------------------------------------------------------------
   9. LIBRO DE RECLAMACIONES VIRTUAL (.rc-)
   -------------------------------------------------------------------------- */
body.theme-halloween .rc-main {
  background-color: var(--hallow-bg) !important;
}
body.theme-halloween .rc-hero__title {
  color: #ffffff !important;
}
body.theme-halloween .rc-hero__subtitle {
  color: var(--hallow-text) !important;
}
body.theme-halloween .rc-hero__icon,
body.theme-halloween .rc-hero__eyebrow {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .rc-alert {
  background-color: rgba(168, 85, 247, 0.12) !important;
  border: 1px solid var(--hallow-border) !important;
  border-left: 4px solid var(--hallow-orange) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4) !important;
}
body.theme-halloween .rc-alert__icon {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .rc-alert__title {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 10px var(--hallow-orange-glow);
}
body.theme-halloween .rc-alert__text {
  color: var(--hallow-text) !important;
}
body.theme-halloween .rc-form-wrapper {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6) !important;
}
body.theme-halloween .rc-step-badge {
  background: linear-gradient(135deg, var(--hallow-orange) 0%, #d95700 100%) !important;
  color: #000000 !important;
  box-shadow: 0 4px 15px var(--hallow-orange-glow) !important;
  font-weight: 800 !important;
}
body.theme-halloween .rc-step-header h3 {
  color: #ffffff !important;
  letter-spacing: 0.05em;
}
body.theme-halloween .rc-divider {
  background: linear-gradient(90deg, transparent 0%, var(--hallow-border) 50%, transparent 100%) !important;
}
body.theme-halloween .rc-form-group label {
  color: var(--hallow-purple-lt) !important;
  font-weight: 700 !important;
}
body.theme-halloween .rc-form-hint {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .rc-form-inner input[type="text"],
body.theme-halloween .rc-form-inner input[type="email"],
body.theme-halloween .rc-form-inner input[type="tel"],
body.theme-halloween .rc-form-inner input[type="date"],
body.theme-halloween .rc-form-inner textarea,
body.theme-halloween .rc-form-wrapper select {
  background-color: #0d0517 !important;
  border: 1px solid var(--hallow-border) !important;
  color: #ffffff !important;
  border-radius: 8px !important;
}
body.theme-halloween .rc-form-inner input:focus,
body.theme-halloween .rc-form-inner select:focus,
body.theme-halloween .rc-form-inner textarea:focus,
body.theme-halloween .rc-form-wrapper select:focus {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 117, 24, 0.25), 0 0 15px var(--hallow-orange-glow) !important;
  background-color: #140824 !important;
  outline: none !important;
}
body.theme-halloween .rc-select-icon {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .rc-form-wrapper select option {
  background-color: #140824 !important;
  color: #ffffff !important;
}
body.theme-halloween .rc-acceptance-box {
  background-color: rgba(168, 85, 247, 0.1) !important;
  border: 1px dashed var(--hallow-border) !important;
}
body.theme-halloween .rc-acceptance-text {
  color: var(--hallow-text) !important;
}
body.theme-halloween .rc-checkbox-group input[type="checkbox"] {
  accent-color: var(--hallow-orange) !important;
}
body.theme-halloween .rc-form-footer {
  background-color: #090312 !important;
  border-top: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .rc-form-footer li {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .rc-form-footer strong {
  color: var(--hallow-orange) !important;
}

/* --------------------------------------------------------------------------
   9.1 PÁGINA ACERCA DE NOSOTROS (.ab-)
   -------------------------------------------------------------------------- */
body.theme-halloween .ab-hero {
  position: relative;
}
body.theme-halloween .ab-hero__overlay {
  background: linear-gradient(180deg, rgba(9, 4, 15, 0.4) 0%, rgba(9, 4, 15, 0.95) 100%) !important;
}
body.theme-halloween .ab-hero__eyebrow {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .ab-hero__line {
  background-color: var(--hallow-purple) !important;
}
body.theme-halloween .ab-hero__title {
  color: #ffffff !important;
}
body.theme-halloween .ab-hero__title em {
  color: var(--hallow-purple-lt) !important;
  font-family: var(--font-hallow-spooky) !important;
  text-shadow: 0 0 15px var(--hallow-purple-glow);
}

/* Estadísticas About */
body.theme-halloween .ab-stats {
  background: linear-gradient(180deg, #160a26 0%, #0d0517 100%) !important;
  border-top: 1px solid var(--hallow-border) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .ab-stat-item__number {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 15px var(--hallow-orange-glow);
}
body.theme-halloween .ab-stat-item__icon {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .ab-stat-item__label {
  color: var(--hallow-text) !important;
}

/* Introducción / Quiénes Somos */
body.theme-halloween .ab-intro__breadcrumbs,
body.theme-halloween .ab-intro__breadcrumbs a {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .ab-intro__breadcrumbs a:hover {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .ab-intro__eyebrow {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .ab-intro__title {
  color: #ffffff !important;
}
body.theme-halloween .ab-intro__title em {
  color: var(--hallow-orange) !important;
  font-style: italic;
}
body.theme-halloween .ab-intro__divider {
  background: linear-gradient(90deg, var(--hallow-orange), transparent) !important;
}
body.theme-halloween .ab-intro__text p {
  color: var(--hallow-text) !important;
}
body.theme-halloween .ab-intro__badge {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-orange) !important;
  color: #ffffff !important;
  box-shadow: 0 0 18px var(--hallow-orange-glow) !important;
}
body.theme-halloween .ab-intro__badge-year {
  color: var(--hallow-orange) !important;
}

/* Misión y Visión */
body.theme-halloween .ab-purpose-card {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .ab-purpose-card:hover {
  border-color: var(--hallow-purple) !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7), 0 0 20px var(--hallow-purple-glow) !important;
  transform: translateY(-6px) !important;
}
body.theme-halloween .ab-purpose-card__icon {
  background-color: rgba(168, 85, 247, 0.18) !important;
  color: var(--hallow-orange) !important;
  border: 1px solid rgba(168, 85, 247, 0.3) !important;
}
body.theme-halloween .ab-purpose-card__eyebrow {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .ab-purpose-card__title {
  color: #ffffff !important;
}
body.theme-halloween .ab-purpose-card__text {
  color: var(--hallow-text) !important;
}

/* Valores (Solución de tarjetas blancas con contraste impecable) */
body.theme-halloween .ab-values {
  background: transparent !important;
}
body.theme-halloween .ab-section-eyebrow {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .ab-section-title {
  color: #ffffff !important;
}
body.theme-halloween .ab-value-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}
body.theme-halloween .ab-value-card:hover {
  transform: translateY(-8px) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7), 0 0 20px var(--hallow-orange-glow) !important;
}
body.theme-halloween .ab-value-card__icon {
  background-color: rgba(168, 85, 247, 0.18) !important;
  border: 1px solid rgba(168, 85, 247, 0.3) !important;
}
body.theme-halloween .ab-value-card__icon i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .ab-value-card:hover .ab-value-card__icon {
  background-color: rgba(255, 117, 24, 0.22) !important;
  border-color: var(--hallow-orange) !important;
  transform: scale(1.1) !important;
}
body.theme-halloween .ab-value-card:hover .ab-value-card__icon i {
  color: #ffffff !important;
  text-shadow: 0 0 10px var(--hallow-orange);
}
body.theme-halloween .ab-value-card__title {
  color: #ffffff !important;
  font-weight: 700 !important;
}
body.theme-halloween .ab-value-card__text {
  color: var(--hallow-text) !important;
  font-weight: 400 !important;
}

/* Nuestro Equipo */
body.theme-halloween .ab-team {
  background-color: transparent !important;
}
body.theme-halloween .ab-team-dept__title {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .ab-team-dept__line {
  background-color: var(--hallow-border) !important;
}
body.theme-halloween .ab-team-dept__line::before {
  background-color: var(--hallow-purple) !important;
  box-shadow: 0 0 10px var(--hallow-purple-glow);
}
body.theme-halloween .ab-team-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .ab-team-card:hover {
  transform: translateY(-6px) !important;
  border-color: var(--hallow-purple) !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7), 0 0 20px var(--hallow-purple-glow) !important;
}
body.theme-halloween .ab-team-card__img-wrap {
  background-color: #12071d !important;
  position: relative;
}
body.theme-halloween .ab-team-card__img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 25px rgba(9, 4, 15, 0.7);
}
body.theme-halloween .ab-team-card__info {
  background-color: var(--hallow-bg-card) !important;
}
body.theme-halloween .ab-team-card__name {
  color: #ffffff !important;
}
body.theme-halloween .ab-team-card__role {
  color: var(--hallow-purple-lt) !important;
}

/* --------------------------------------------------------------------------
   9.2 PÁGINAS LEGALES Y TÉRMINOS (.legal-page, .lg-, .default-page, .dp-, .tur-)
   -------------------------------------------------------------------------- */
body.theme-halloween .legal-page,
body.theme-halloween .default-page,
body.theme-halloween .tur-page {
  background-color: var(--hallow-bg) !important;
  color: var(--hallow-text) !important;
}
/* Onda SVG del Hero - Anulación absoluta del fill blanco */
body.theme-halloween .lg-hero__wave path {
  fill: var(--hallow-bg) !important;
}
body.theme-halloween .lg-hero__title {
  color: #ffffff !important;
}
body.theme-halloween .lg-hero__subtitle {
  color: var(--hallow-text) !important;
}
body.theme-halloween .lg-hero__date {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .lg-hero__date i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .lg-breadcrumbs,
body.theme-halloween .lg-breadcrumbs a {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .lg-breadcrumbs a:hover {
  color: var(--hallow-orange) !important;
}

/* Sidebar Tabla de Contenidos (TOC) */
body.theme-halloween .lg-toc {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .lg-toc__eyebrow {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .lg-toc__link {
  color: var(--hallow-text) !important;
}
body.theme-halloween .lg-toc__link:hover {
  background-color: rgba(255, 117, 24, 0.12) !important;
  color: var(--hallow-orange) !important;
}
body.theme-halloween .lg-toc__link.active {
  background-color: rgba(168, 85, 247, 0.2) !important;
  color: #ffffff !important;
  border-left-color: var(--hallow-orange) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .lg-toc__num {
  color: var(--hallow-orange) !important;
}

/* Tarjeta Introductoria Legal */
body.theme-halloween .lg-intro-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  border-left: 4px solid var(--hallow-orange) !important;
  color: var(--hallow-text) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}
body.theme-halloween .lg-footer-card {
  background-color: #12071d !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
  color: var(--hallow-text) !important;
}
body.theme-halloween .lg-footer-card__eyebrow {
  color: #ffffff !important;
}
body.theme-halloween .lg-footer-card__eyebrow i {
  color: var(--hallow-orange) !important;
}

/* Acordeones Legales */
body.theme-halloween .lg-accordion {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
  transition: all 0.3s ease !important;
}
body.theme-halloween .lg-accordion:hover {
  border-color: var(--hallow-purple) !important;
}
body.theme-halloween .lg-accordion.is-active {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), 0 0 15px var(--hallow-orange-glow) !important;
}
body.theme-halloween .lg-accordion__num {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .lg-accordion.is-active .lg-accordion__num {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .lg-accordion__title {
  color: #ffffff !important;
}
body.theme-halloween .lg-accordion__icon {
  background-color: rgba(168, 85, 247, 0.18) !important;
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .lg-accordion.is-active .lg-accordion__icon {
  background-color: var(--hallow-orange) !important;
  color: #000000 !important;
}
body.theme-halloween .lg-accordion__inner p,
body.theme-halloween .lg-accordion__inner li {
  color: var(--hallow-text) !important;
}
body.theme-halloween .lg-accordion__inner li::before {
  background-color: var(--hallow-orange) !important;
}

/* Tablas Legales y Penalidades */
body.theme-halloween .lg-table-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .lg-table-card__header {
  background-color: #12071d !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .lg-table-card__header i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .lg-table-card__title {
  color: #ffffff !important;
}
body.theme-halloween .lg-table th {
  background-color: #1f0d33 !important;
  color: var(--hallow-orange) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .lg-table td {
  color: var(--hallow-text) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .lg-table td strong {
  color: #ffffff !important;
}
body.theme-halloween .lg-table tr.danger-row td {
  background-color: rgba(239, 68, 68, 0.12) !important;
  color: #fca5a5 !important;
}
body.theme-halloween .lg-table tr.danger-row td strong {
  color: #ef4444 !important;
}
body.theme-halloween .lg-table-card__note {
  background-color: #12071d !important;
  border-top: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .lg-table-card__note i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .lg-table-card__note p {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .lg-cta-card {
  background: linear-gradient(135deg, #1c0a2e 0%, #12061e 100%) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text) !important;
}

/* Plantilla Genérica (page.php - .default-page) */
body.theme-halloween .dp-header {
  background-color: #12071d !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .dp-title {
  color: #ffffff !important;
}
body.theme-halloween .dp-updated-date {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .dp-updated-date i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .dp-content {
  color: var(--hallow-text) !important;
}
body.theme-halloween .dp-content h1,
body.theme-halloween .dp-content h2,
body.theme-halloween .dp-content h3,
body.theme-halloween .dp-content h4 {
  color: #ffffff !important;
}
body.theme-halloween .dp-content h2 {
  border-bottom-color: var(--hallow-border) !important;
}
body.theme-halloween .dp-content a {
  color: var(--hallow-orange) !important;
  text-decoration-color: rgba(255, 117, 24, 0.4) !important;
}
body.theme-halloween .dp-content a:hover {
  color: var(--hallow-orange-hover) !important;
  text-decoration-color: var(--hallow-orange) !important;
}
body.theme-halloween .dp-content table {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .dp-content th {
  background: #1f0d33 !important;
  color: var(--hallow-orange) !important;
  border-bottom: 1px solid var(--hallow-border) !important;
}
body.theme-halloween .dp-content td {
  border-bottom: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text) !important;
}

/* Turismo Responsable (.tur-) */
body.theme-halloween .tur-intro__card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  border-left: 4px solid var(--hallow-orange) !important;
  color: var(--hallow-text) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}
body.theme-halloween .tur-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .tur-card__num {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .tur-card__title {
  color: #ffffff !important;
}
body.theme-halloween .tur-card__subtitle {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .tur-card__subtitle i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .tur-card__text {
  color: var(--hallow-text) !important;
}
body.theme-halloween .tur-contrib-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}
body.theme-halloween .tur-contrib-card__title {
  color: #ffffff !important;
}
body.theme-halloween .tur-contrib-card__list li {
  color: var(--hallow-text) !important;
}
body.theme-halloween .tur-contrib-card__list li i {
  color: var(--hallow-orange) !important;
}

/* Código ESSNA (.es-) */
body.theme-halloween .es-hero__legal-bar {
  background-color: #12071d !important;
  border-bottom: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .es-commitment {
  background-color: var(--hallow-bg) !important;
}
body.theme-halloween .es-commitment__badge {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-orange) !important;
}

/* --------------------------------------------------------------------------
   9.3 BLOG ÍNDICE Y ENTRADAS (.blog-index, .bi-, .cp-card, .sp-, #respond)
   -------------------------------------------------------------------------- */
body.theme-halloween .blog-index,
body.theme-halloween .bi-layout,
body.theme-halloween .single-post-page {
  background-color: var(--hallow-bg) !important;
}
body.theme-halloween .bi-hero__title {
  color: #ffffff !important;
}
body.theme-halloween .bi-hero__subtitle {
  color: var(--hallow-text) !important;
}
body.theme-halloween .bi-breadcrumbs,
body.theme-halloween .bi-breadcrumbs a {
  color: var(--hallow-text-muted) !important;
}
body.theme-halloween .bi-breadcrumbs a:hover {
  color: var(--hallow-orange) !important;
}

/* Tarjetas de Artículo (.cp-card) */
body.theme-halloween .cp-card {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}
body.theme-halloween .cp-card:hover {
  transform: translateY(-6px) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.7), 0 0 20px var(--hallow-orange-glow) !important;
}
body.theme-halloween .cp-card__media {
  background-color: #12071d !important;
}
body.theme-halloween .cp-card__badge {
  background: var(--hallow-orange) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4) !important;
}
body.theme-halloween .cp-card__body {
  background-color: var(--hallow-bg-card) !important;
}
body.theme-halloween .cp-card__meta,
body.theme-halloween .cp-card__date {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .cp-card__meta i {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .cp-card__title a {
  color: #ffffff !important;
  transition: color 0.2s ease !important;
}
body.theme-halloween .cp-card:hover .cp-card__title a {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .cp-card__excerpt,
body.theme-halloween .cp-card__excerpt p {
  color: var(--hallow-text) !important;
}
body.theme-halloween .cp-card__footer {
  background-color: var(--hallow-bg-card) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}
body.theme-halloween .cp-card__readmore {
  color: var(--hallow-orange) !important;
  font-weight: 700 !important;
}
body.theme-halloween .cp-card__readmore i {
  transition: transform 0.3s ease;
}
body.theme-halloween .cp-card:hover .cp-card__readmore i {
  transform: translateX(6px);
}

/* Paginación del Blog */
body.theme-halloween .bi-pagination .page-numbers {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text) !important;
}
body.theme-halloween .bi-pagination .page-numbers.current {
  background: var(--hallow-orange) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  box-shadow: 0 0 15px var(--hallow-orange-glow);
}
body.theme-halloween .bi-no-results {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text) !important;
}

/* Single Post Page (.sp-) */
body.theme-halloween .sp-article {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.5) !important;
  padding: clamp(1.5rem, 4vw, 3rem) !important;
  border-radius: 16px !important;
}
body.theme-halloween .sp-title {
  color: #ffffff !important;
}
body.theme-halloween .sp-badge {
  background: var(--hallow-orange) !important;
  color: #000000 !important;
  font-weight: 800 !important;
}
body.theme-halloween .sp-meta {
  color: var(--hallow-text-muted) !important;
  border-bottom-color: var(--hallow-border) !important;
}
body.theme-halloween .sp-meta .author-name {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .sp-meta i {
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .sp-content {
  color: var(--hallow-text) !important;
}
body.theme-halloween .sp-content h1,
body.theme-halloween .sp-content h2,
body.theme-halloween .sp-content h3,
body.theme-halloween .sp-content h4 {
  color: #ffffff !important;
}
body.theme-halloween .sp-content blockquote {
  background-color: #12071d !important;
  border-left: 4px solid var(--hallow-orange) !important;
  color: var(--hallow-text) !important;
}
body.theme-halloween .sp-content a {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .sp-tags a {
  background-color: rgba(168, 85, 247, 0.18) !important;
  border: 1px solid var(--hallow-border) !important;
  color: var(--hallow-text) !important;
}
body.theme-halloween .sp-tags a:hover {
  background-color: var(--hallow-orange) !important;
  color: #000000 !important;
}
body.theme-halloween .sp-author-box {
  background-color: #12071d !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .sp-author__avatar {
  background-color: var(--hallow-bg-card) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 15px var(--hallow-orange-glow) !important;
}
body.theme-halloween .sp-author__name {
  color: #ffffff !important;
}
body.theme-halloween .sp-author__desc {
  color: var(--hallow-text) !important;
}

/* Sidebar del Post */
body.theme-halloween .sp-sidebar .sp-widget {
  background-color: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween .sp-widget__title {
  color: #ffffff !important;
  border-bottom-color: var(--hallow-border) !important;
}
body.theme-halloween .sp-widget__title::after {
  background-color: var(--hallow-orange) !important;
  box-shadow: 0 0 8px var(--hallow-orange-glow);
}
body.theme-halloween .sp-search-field {
  background-color: #0d0517 !important;
  border: 1px solid var(--hallow-border) !important;
  color: #ffffff !important;
}
body.theme-halloween .sp-search-field:focus {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 117, 24, 0.25) !important;
}
body.theme-halloween .sp-search-submit {
  background-color: var(--hallow-orange) !important;
  color: #000000 !important;
}
body.theme-halloween .sp-card-mini {
  border-bottom: 1px dashed var(--hallow-border) !important;
}
body.theme-halloween .sp-card-mini__info h4 {
  color: #ffffff !important;
}
body.theme-halloween .sp-card-mini:hover .sp-card-mini__info h4 {
  color: var(--hallow-orange) !important;
}
body.theme-halloween .sp-cat-list li {
  border-bottom: 1px dashed var(--hallow-border) !important;
}
body.theme-halloween .sp-cat-list li a {
  color: var(--hallow-text) !important;
}
body.theme-halloween .sp-cat-list li a .cat-count {
  background-color: #12071d !important;
  color: var(--hallow-purple-lt) !important;
}

/* Comentarios y Formulario #respond */
body.theme-halloween .sp-comments-title {
  color: #ffffff !important;
}
body.theme-halloween .sp-comment-body {
  background-color: #12071d !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}
body.theme-halloween .sp-comment-author .fn,
body.theme-halloween .sp-comment-author a {
  color: #ffffff !important;
}
body.theme-halloween .sp-comment-text {
  color: var(--hallow-text) !important;
}
body.theme-halloween .sp-comment-reply a {
  background-color: rgba(168, 85, 247, 0.18) !important;
  color: var(--hallow-orange) !important;
}
body.theme-halloween #respond {
  background-color: #12071d !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}
body.theme-halloween #respond #reply-title {
  color: #ffffff !important;
}
body.theme-halloween #commentform input[type="text"],
body.theme-halloween #commentform input[type="email"],
body.theme-halloween #commentform textarea {
  background-color: #090312 !important;
  border: 1px solid var(--hallow-border) !important;
  color: #ffffff !important;
}
body.theme-halloween #commentform input:focus,
body.theme-halloween #commentform textarea:focus {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 0 0 3px rgba(255, 117, 24, 0.25) !important;
}
body.theme-halloween #commentform .form-submit input[type="submit"] {
  background: linear-gradient(135deg, var(--hallow-orange) 0%, #d95700 100%) !important;
  color: #000000 !important;
  font-weight: 800 !important;
  box-shadow: 0 4px 15px var(--hallow-orange-glow) !important;
}

/* --------------------------------------------------------------------------
   10. PIE DE PÁGINA (.llm-footer)
   -------------------------------------------------------------------------- */
body.theme-halloween .llm-footer {
  background-color: #06020c !important;
  color: var(--hallow-text) !important;
  border-top: 1px solid var(--hallow-border) !important;
  position: relative;
  z-index: 10;
}

/* 10.1 Barra Superior del Footer */
body.theme-halloween .llm-footer__top {
  background-color: #0c0517 !important;
  border-bottom: 1px solid var(--hallow-border) !important;
  padding: 1.1rem 0;
}
body.theme-halloween .llm-footer__top-text {
  color: #cbd5e1 !important;
  font-size: 0.92rem;
}
body.theme-halloween .llm-footer__top-text strong {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 10px var(--hallow-orange-glow);
}
body.theme-halloween .llm-fsocial {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  border: 1px solid var(--hallow-border) !important;
  background: rgba(168, 85, 247, 0.12) !important;
  color: var(--hallow-orange) !important;
  font-size: 1.15rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}
body.theme-halloween .llm-fsocial:hover {
  background: var(--hallow-orange) !important;
  color: #000000 !important;
  border-color: var(--hallow-orange) !important;
  transform: translateY(-3px) scale(1.1);
  box-shadow: 0 0 16px var(--hallow-orange-glow) !important;
}

/* 10.2 Títulos de Columnas */
body.theme-halloween .llm-ftitle {
  color: var(--hallow-orange) !important;
  font-family: var(--font-primary) !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin-bottom: 1.5rem !important;
  text-shadow: 0 0 12px var(--hallow-orange-glow);
}

/* 10.3 Columna 1: Marca y Autoridad */
body.theme-halloween .llm-flogo {
  text-decoration: none;
}
body.theme-halloween .llm-flogo img {
  border: 2px solid var(--hallow-orange) !important;
  box-shadow: 0 0 15px var(--hallow-orange-glow);
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
body.theme-halloween .llm-flogo:hover img {
  transform: rotate(6deg) scale(1.08);
}
body.theme-halloween .llm-flogo__name {
  color: #ffffff !important;
  font-family: var(--font-heading) !important;
  letter-spacing: 1.5px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
}
body.theme-halloween .llm-flogo__sub {
  color: var(--hallow-purple-lt) !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
}
body.theme-halloween .llm-fdesc {
  color: #cbd5e1 !important;
  line-height: 1.75 !important;
  font-size: 0.92rem !important;
}
body.theme-halloween .llm-fbadges img {
  background: #ffffff !important;
  border: 1px solid var(--hallow-border) !important;
  border-radius: 8px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
body.theme-halloween .llm-fbadges img:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.6), 0 0 12px rgba(168, 85, 247, 0.35) !important;
}

/* 10.4 Columna 2: Contacto (Emails, Teléfonos, Dirección y Botón) */
body.theme-halloween .llm-fcontact-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 1.3rem;
}
body.theme-halloween .llm-fcontact-item i {
  color: var(--hallow-orange) !important;
  font-size: 1.25rem !important;
  margin-top: 3px;
  filter: drop-shadow(0 0 6px var(--hallow-orange-glow));
  transition: transform 0.25s ease, color 0.25s ease;
}
body.theme-halloween .llm-fcontact-item:hover i {
  transform: scale(1.2) rotate(-8deg);
  color: var(--hallow-purple-lt) !important;
}
body.theme-halloween .llm-fcontact-label {
  color: var(--hallow-purple-lt) !important;
  font-size: 0.7rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 3px;
  display: block;
}
body.theme-halloween .llm-fcontact-item a {
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: inline-block;
  line-height: 1.6;
  transition: all 0.25s ease !important;
}
body.theme-halloween .llm-fcontact-item a:hover {
  color: var(--hallow-orange) !important;
  transform: translateX(4px);
  text-shadow: 0 0 10px var(--hallow-orange-glow);
}
body.theme-halloween .llm-faddress {
  color: #e2e8f0 !important;
  font-style: normal;
  line-height: 1.6;
  font-size: 0.9rem;
}

/* Botón "Escribir por WhatsApp" en la columna de contacto */
body.theme-halloween .llm-fbtn-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 0.92rem !important;
  border-radius: 50px;
  padding: 12px 24px;
  box-shadow: 0 4px 18px rgba(37, 211, 102, 0.45), 0 0 10px rgba(0, 0, 0, 0.5) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  text-decoration: none;
  margin-top: 0.8rem;
}
body.theme-halloween .llm-fbtn-wa i {
  font-size: 1.25rem;
  filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.6));
}
body.theme-halloween .llm-fbtn-wa:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 8px 25px rgba(37, 211, 102, 0.65), 0 0 20px rgba(37, 211, 102, 0.4) !important;
  color: #ffffff !important;
}

/* 10.5 Columna 3: Navegación (Enlaces con Micro-animación de Murciélago) */
body.theme-halloween .llm-fmenu {
  list-style: none;
  padding: 0;
  margin: 0;
}
body.theme-halloween .llm-fmenu li {
  border-bottom: 1px solid rgba(53, 26, 82, 0.6) !important;
}
body.theme-halloween .llm-fmenu li:last-child {
  border-bottom: none !important;
}
body.theme-halloween .llm-fmenu a {
  color: #e2e8f0 !important;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 0;
  font-size: 0.93rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
  position: relative;
}
body.theme-halloween .llm-fmenu a::before {
  content: '🦇';
  font-size: 0.8rem;
  opacity: 0;
  transform: translateX(-10px) scale(0.6);
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  display: inline-block;
  line-height: 1;
}
body.theme-halloween .llm-fmenu a:hover {
  color: var(--hallow-orange) !important;
  padding-left: 6px;
  text-shadow: 0 0 12px var(--hallow-orange-glow);
}
body.theme-halloween .llm-fmenu a:hover::before {
  opacity: 1;
  transform: translateX(0) scale(1);
}

/* 10.6 Columna 4: Atención al Cliente */
body.theme-halloween .llm-fcard {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}
body.theme-halloween .llm-fcard:hover {
  border-color: var(--hallow-orange) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.7), 0 0 15px var(--hallow-orange-glow) !important;
}
body.theme-halloween .llm-fcard__head {
  color: var(--hallow-purple-lt) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px;
}
body.theme-halloween .llm-fcard__body {
  color: #ffffff !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  font-family: var(--font-primary) !important;
}
body.theme-halloween .llm-fdot {
  width: 9px;
  height: 9px;
  background: #10b981 !important;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.9);
  animation: bcDotPulse 2s infinite;
}
@keyframes bcDotPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.6; }
}

/* 10.7 Barra Inferior Copyright & Enlaces Legales */
body.theme-halloween .llm-footer__bottom {
  border-top: 1px solid var(--hallow-border) !important;
  background-color: #05020a !important;
  padding: 1.4rem 0;
}
body.theme-halloween .llm-footer__bottom-inner {
  color: #94a3b8 !important;
}
body.theme-halloween .llm-fcopy {
  color: #94a3b8 !important;
  font-size: 0.85rem;
}
body.theme-halloween .llm-fcopy strong {
  color: #ffffff !important;
}
body.theme-halloween .llm-flegal {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
body.theme-halloween .llm-flegal a {
  color: #c084fc !important;
  font-size: 0.85rem;
  text-decoration: none;
  transition: all 0.2s ease;
  position: relative;
}
body.theme-halloween .llm-flegal a:hover {
  color: var(--hallow-orange) !important;
  text-shadow: 0 0 10px var(--hallow-orange-glow);
}

/* --------------------------------------------------------------------------
   11. ELEMENTOS ATMOSFÉRICOS (TELARAÑAS, ARAÑA, NIEBLA, BRASAS, CALABAZA)
   -------------------------------------------------------------------------- */

/* Telarañas en las esquinas */
.hallow-cobweb {
  position: fixed;
  top: 0;
  width: 140px;
  height: 140px;
  pointer-events: none;
  z-index: 10001;
  opacity: 0.85;
  transition: opacity 0.3s ease;
}
.hallow-cobweb--top-left {
  left: 0;
}
.hallow-cobweb--top-right {
  right: 0;
}
.hallow-cobweb__svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 2px 8px rgba(168, 85, 247, 0.3));
}

/* Hilo y Arañita interactiva */
.hallow-spider-thread {
  position: absolute;
  top: 35px;
  left: 65px;
  width: 1.5px;
  height: 60px;
  background: rgba(168, 85, 247, 0.4);
  transform-origin: top center;
  animation: bcSpiderSway 4s ease-in-out infinite alternate;
}
.hallow-spider {
  position: absolute;
  bottom: -15px;
  left: -11px;
  width: 24px;
  height: 24px;
  pointer-events: auto;
  cursor: pointer;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.hallow-spider:hover {
  transform: scale(1.3) rotate(15deg);
}
.hallow-spider__svg {
  width: 100%;
  height: 100%;
}

@keyframes bcSpiderSway {
  0%   { transform: rotate(-8deg); }
  100% { transform: rotate(8deg); }
}

/* Niebla Ligera Atmosférica (Fog Layer en la base) */
.hallow-ambient-fog {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 180px;
  background: linear-gradient(to top, rgba(9, 4, 15, 0.75) 0%, rgba(9, 4, 15, 0.2) 60%, transparent 100%);
  pointer-events: none;
  z-index: 999;
}

/* Canvas de Partículas / Brasas */
.hallow-ember-canvas {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 9998;
}

/* Murciélagos Voladores Interactivos */
.hallow-bat-entity {
  position: fixed;
  z-index: 99999;
  cursor: pointer;
  user-select: none;
  will-change: transform, left, top;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.75));
}
.hallow-bat-entity svg {
  width: 48px;
  height: 48px;
  fill: #1e1030;
  stroke: var(--hallow-orange);
  stroke-width: 1;
}
.hallow-bat-entity .bat-wing-left,
.hallow-bat-entity .bat-wing-right {
  transform-origin: 24px 24px;
  animation: bcBatFlap 0.25s ease-in-out infinite alternate;
}
.hallow-bat-entity .bat-wing-right {
  animation-direction: alternate-reverse;
}

@keyframes bcBatFlap {
  0%   { transform: scaleY(1); }
  100% { transform: scaleY(0.4); }
}

/* Widget Interactivo de Calabaza Flotante ("Trick or Treat") */
.hallow-treat-widget {
  position: fixed;
  bottom: 28px;
  left: 28px;
  z-index: 999999;
  display: flex;
  align-items: center;
  gap: 10px;
}
.hallow-treat-btn {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #180926 0%, #35135a 100%);
  border: 2px solid var(--hallow-orange);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.75), 0 0 18px var(--hallow-orange-glow);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
  user-select: none;
}
.hallow-treat-btn:hover {
  transform: scale(1.15) rotate(12deg);
  box-shadow: 0 8px 30px rgba(255, 117, 24, 0.9), 0 0 25px var(--hallow-orange-glow);
}
.hallow-treat-btn.is-wobbling {
  animation: bcPumpkinWobble 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}
@keyframes bcPumpkinWobble {
  10%, 90% { transform: scale(1.1) translate3d(-2px, 0, 0) rotate(-10deg); }
  20%, 80% { transform: scale(1.15) translate3d(3px, 0, 0) rotate(10deg); }
  30%, 50%, 70% { transform: scale(1.2) translate3d(-4px, 0, 0) rotate(-6deg); }
  40%, 60% { transform: scale(1.15) translate3d(4px, 0, 0) rotate(6deg); }
}

.hallow-treat-pulse {
  position: absolute;
  inset: -6px;
  border-radius: 50%;
  border: 2px solid var(--hallow-orange);
  opacity: 0.6;
  animation: bcTreatPulse 2.5s infinite;
  pointer-events: none;
}
@keyframes bcTreatPulse {
  0%   { transform: scale(0.95); opacity: 0.9; }
  50%  { transform: scale(1.25); opacity: 0; }
  100% { transform: scale(0.95); opacity: 0; }
}

/* Pastilla flotante indicadora del botón Halloween */
.hallow-treat-label {
  background: rgba(24, 9, 38, 0.92);
  backdrop-filter: blur(10px);
  border: 1px solid var(--hallow-orange);
  border-radius: 30px;
  color: #ffffff;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.7), 0 0 10px var(--hallow-orange-glow);
  pointer-events: none;
  animation: bcLabelBob 3s ease-in-out infinite;
  transition: opacity 0.3s ease;
}
@keyframes bcLabelBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* Notificación Flotante "Toast" */
.hallow-treat-toast {
  position: absolute;
  bottom: 72px;
  left: 0;
  min-width: 270px;
  max-width: 340px;
  background: rgba(18, 8, 30, 0.97);
  backdrop-filter: blur(12px);
  border: 1px solid var(--hallow-orange);
  border-radius: 14px;
  padding: 14px 18px;
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.45;
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.85), 0 0 25px var(--hallow-orange-glow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(0.95);
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  z-index: 100000;
}
.hallow-treat-toast.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

/* Confeti flotante de Halloween */
.hallow-confetti {
  position: fixed;
  pointer-events: none;
  z-index: 1000000;
  animation: bcConfettiFall linear forwards;
}
@keyframes bcConfettiFall {
  0%   { transform: translateY(0) rotate(0deg) scale(1); opacity: 1; }
  100% { transform: translateY(200px) rotate(360deg) scale(0.5); opacity: 0; }
}

/* --------------------------------------------------------------------------
   11.2 BOTÓN FLOTANTE DE WHATSAPP TEMÁTICO (.llm-wa-float)
   -------------------------------------------------------------------------- */
body.theme-halloween .llm-wa-float {
  position: fixed;
  bottom: 28px !important;
  right: 28px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #25d366 0%, #128c7e 100%) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 30px !important;
  z-index: 999999 !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6), 0 0 20px rgba(37, 211, 102, 0.6), 0 0 30px rgba(168, 85, 247, 0.4) !important;
  text-decoration: none !important;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease !important;
}

body.theme-halloween .llm-wa-float .llm-icon-wa,
body.theme-halloween .llm-wa-float .llm-wa-float__icon {
  width: 30px !important;
  height: 30px !important;
  fill: #ffffff !important;
  display: block !important;
}

body.theme-halloween .llm-fbtn-wa .llm-icon-wa {
  width: 1.2em !important;
  height: 1.2em !important;
  fill: #ffffff !important;
}

/* Sombrerito de Bruja Encantado sobre el botón de WhatsApp */
body.theme-halloween .llm-wa-float::after {
  content: '';
  position: absolute;
  top: -15px;
  left: -8px;
  width: 34px;
  height: 34px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath fill='%23190729' d='M2 32c1-3 7-4 16-4s15 1 16 4-6 4-16 4S1 35 2 32z'/%3E%3Cpath fill='%23280b43' d='M10 30l7-26 4 2 7 24z'/%3E%3Cpath fill='%23a855f7' d='M11 27l2-6 10 1 2 5z'/%3E%3Crect x='16' y='23' width='5' height='4' rx='1' fill='%23ff7518'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  transform: rotate(-16deg);
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.65));
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  z-index: 3;
}

/* Halo místico dual (Esmeralda + Violeta) */
body.theme-halloween .llm-wa-float::before {
  content: "" !important;
  position: absolute !important;
  inset: -6px !important;
  border-radius: 50% !important;
  border: 2px solid #25d366 !important;
  box-shadow: 0 0 15px rgba(168, 85, 247, 0.6) !important;
  opacity: 0.7 !important;
  animation: bcWaHallowPulse 2.4s infinite !important;
  pointer-events: none !important;
}
@keyframes bcWaHallowPulse {
  0%   { transform: scale(0.95); opacity: 0.8; }
  50%  { transform: scale(1.3); opacity: 0; }
  100% { transform: scale(0.95); opacity: 0; }
}

body.theme-halloween .llm-wa-float:hover {
  transform: scale(1.12) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.7), 0 0 25px rgba(37, 211, 102, 0.8), 0 0 40px rgba(168, 85, 247, 0.6) !important;
}
body.theme-halloween .llm-wa-float:hover::after {
  transform: rotate(-6deg) scale(1.18) translateY(-3px);
}

/* Tooltip emergente en WhatsApp */
.llm-wa-tooltip {
  position: absolute;
  right: 70px;
  top: 50%;
  transform: translateY(-50%) translateX(10px);
  background: rgba(18, 8, 30, 0.95);
  backdrop-filter: blur(10px);
  border: 1px solid var(--hallow-orange);
  border-radius: 30px;
  padding: 7px 16px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font-primary, sans-serif);
  white-space: nowrap;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.75), 0 0 15px var(--hallow-orange-glow);
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
  z-index: 10000;
}
body.theme-halloween .llm-wa-float:hover .llm-wa-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0);
}

/* --------------------------------------------------------------------------
   12. OPTIMIZACIÓN RESPONSIVA Y MOVIMIENTO REDUCIDO
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  .hallow-cobweb {
    width: 90px;
    height: 90px;
  }
  .hallow-treat-widget {
    bottom: 20px !important;
    left: 16px !important;
  }
  .hallow-treat-btn {
    width: 48px !important;
    height: 48px !important;
    font-size: 24px !important;
  }
  .hallow-treat-label {
    display: none !important;
  }
  body.theme-halloween .llm-wa-float {
    bottom: 20px !important;
    right: 16px !important;
    width: 48px !important;
    height: 48px !important;
    font-size: 25px !important;
  }
  body.theme-halloween .llm-wa-float::after {
    width: 28px;
    height: 28px;
    top: -12px;
    left: -6px;
  }
  .llm-wa-tooltip {
    display: none !important;
  }
}

/* --------------------------------------------------------------------------
   LOGO TEMÁTICO DE HALLOWEEN (HEADER, FOOTER, BLOG AUTHOR)
   -------------------------------------------------------------------------- */
body.theme-halloween .llm-logo img,
body.theme-halloween .llm-flogo img,
body.theme-halloween .sp-author__avatar img,
body.theme-halloween img[src*="llamitas-tour-operator"] {
  content: url("../img/logo-halloween.webp") !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 10px rgba(255, 117, 24, 0.45));
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.35s ease;
}

body.theme-halloween .llm-logo:hover img,
body.theme-halloween .llm-flogo:hover img {
  filter: drop-shadow(0 4px 18px rgba(255, 117, 24, 0.85)) drop-shadow(0 0 12px rgba(168, 85, 247, 0.55));
  transform: scale(1.08) rotate(-2deg);
}

/* --------------------------------------------------------------------------
   PÁGINA SOBRE NOSOTROS (PAGE-ABOUT) & PLACEHOLDER DE EQUIPO DE HALLOWEEN
   -------------------------------------------------------------------------- */
body.theme-halloween .ab-hero {
  background-color: var(--hallow-bg) !important;
}

body.theme-halloween .ab-intro {
  background-color: var(--hallow-bg-surface) !important;
}

body.theme-halloween .ab-intro__title,
body.theme-halloween .ab-intro__title em {
  color: var(--hallow-white) !important;
}

body.theme-halloween .ab-intro__title em {
  color: var(--hallow-orange) !important;
}

body.theme-halloween .ab-intro__text,
body.theme-halloween .ab-intro__text p {
  color: var(--hallow-text) !important;
}

body.theme-halloween .ab-intro__divider {
  background: linear-gradient(90deg, var(--hallow-orange), var(--hallow-purple)) !important;
}

/* Misión y Visión (Purpose Cards) */
body.theme-halloween .ab-purpose {
  background-color: var(--hallow-bg) !important;
}

body.theme-halloween .ab-purpose-card {
  background: var(--hallow-bg-card) !important;
  border-color: var(--hallow-border) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}

body.theme-halloween .ab-purpose-card::before {
  background: linear-gradient(180deg, var(--hallow-orange), var(--hallow-purple)) !important;
}

body.theme-halloween .ab-purpose-card:hover {
  background: var(--hallow-bg-card-hover) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 12px 35px rgba(255, 117, 24, 0.25) !important;
}

body.theme-halloween .ab-purpose-card__icon {
  background-color: rgba(168, 85, 247, 0.2) !important;
  color: var(--hallow-orange) !important;
}

body.theme-halloween .ab-purpose-card__icon i {
  color: var(--hallow-orange) !important;
}

body.theme-halloween .ab-purpose-card__title {
  color: var(--hallow-white) !important;
}

body.theme-halloween .ab-purpose-card__text {
  color: var(--hallow-text) !important;
}

/* Valores */
body.theme-halloween .ab-values {
  background-color: var(--hallow-bg-surface) !important;
}

body.theme-halloween .ab-value-card {
  background-color: var(--hallow-bg-card) !important;
  border-color: var(--hallow-border) !important;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4) !important;
}

body.theme-halloween .ab-value-card:hover {
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 12px 35px rgba(255, 117, 24, 0.25), 0 0 15px rgba(168, 85, 247, 0.2) !important;
}

body.theme-halloween .ab-value-card__icon {
  background-color: rgba(255, 117, 24, 0.15) !important;
}

body.theme-halloween .ab-value-card__icon i {
  color: var(--hallow-orange) !important;
}

body.theme-halloween .ab-value-card__title {
  color: var(--hallow-white) !important;
}

body.theme-halloween .ab-value-card__text {
  color: var(--hallow-text) !important;
}

/* Equipo: Sección General */
body.theme-halloween .ab-team {
  background-color: var(--hallow-bg) !important;
}

body.theme-halloween .ab-section-title {
  color: var(--hallow-white) !important;
}

body.theme-halloween .ab-section-title em {
  color: var(--hallow-orange) !important;
}

body.theme-halloween .ab-section-eyebrow {
  color: var(--hallow-purple-lt) !important;
}

body.theme-halloween .ab-team-dept__title {
  color: var(--hallow-orange) !important;
  font-family: var(--font-primary) !important;
}

body.theme-halloween .ab-team-dept__line {
  background: linear-gradient(90deg, var(--hallow-orange) 0%, rgba(168, 85, 247, 0.4) 100%) !important;
}

body.theme-halloween .ab-team-dept__line::before {
  background-color: var(--hallow-orange) !important;
}

/* Tarjeta de Miembro del Equipo */
body.theme-halloween .ab-team-card {
  background: var(--hallow-bg-card) !important;
  border: 1px solid var(--hallow-border) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45) !important;
  border-radius: 16px !important;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
}

body.theme-halloween .ab-team-card:hover {
  transform: translateY(-8px) !important;
  border-color: var(--hallow-orange) !important;
  box-shadow: 0 16px 35px rgba(255, 117, 24, 0.25), 0 0 18px rgba(168, 85, 247, 0.2) !important;
}

body.theme-halloween .ab-team-card__img-wrap {
  background-color: #12071f !important;
}

/* SUSTITUCIÓN DE IMAGEN PLACEHOLDER POR LA VERSIÓN DE HALLOWEEN */
body.theme-halloween .ab-team-card__img-wrap img[src*="placeholder"],
body.theme-halloween .ab-team-card__img-wrap img[src*="team-placeholder"],
body.theme-halloween .ab-team-card__img-wrap img.is-halloween-placeholder,
body.theme-halloween .st-advisor-info img[src*="placeholder"],
body.theme-halloween .st-advisor-info img.is-halloween-placeholder {
  content: url("../img/team-placeholder-halloween.webp") !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.theme-halloween .ab-team-card__info {
  background: var(--hallow-bg-card) !important;
  border-top: 1px solid rgba(168, 85, 247, 0.15) !important;
}

body.theme-halloween .ab-team-card:hover .ab-team-card__info {
  background: var(--hallow-bg-card-hover) !important;
}

body.theme-halloween .ab-team-card__name {
  color: var(--hallow-white) !important;
}

body.theme-halloween .ab-team-card__role {
  color: var(--hallow-purple-lt) !important;
}

body.theme-halloween .ab-team-card__role::before {
  background-color: var(--hallow-orange) !important;
}

@media (prefers-reduced-motion: reduce) {
  .hallow-spider-thread,
  .hallow-treat-pulse,
  .hallow-treat-label,
  .hallow-treat-btn.is-wobbling,
  body.theme-halloween .llm-wa-float::before,
  .hallow-bat-entity .bat-wing-left,
  .hallow-bat-entity .bat-wing-right {
    animation: none !important;
  }
  .hallow-ember-canvas {
    display: none !important;
  }
}