/*
 * Agente de Impacto — capa de marca y utilidades
 * Colores alineados con manual-de-marca-agente-de-impacto.html
 */
:root {
  /* Paleta asesoría de marca — profesionalismo y sobriedad */
  --adi-noche: #0d2340;
  --adi-corporativo: #1a4a7a;
  --adi-dinamico: #3a8bc4;
  --adi-claro: #7ab8e0;
  --adi-hielo: #f4f7f8;
  --adi-acero: #d8dce8;
  --adi-pizarra: #687f8f;
  --adi-grafito: #1c2b38;
  --adi-dorado: #c8a95a;
  --adi-blanco: #fafafa;

  /* Alias compatibles con estilos existentes */
  --ai-navy: var(--adi-noche);
  --ai-navy-dark: #0a1a30;
  --ai-navy-light: var(--adi-corporativo);
  --ai-cyan: var(--adi-dinamico);
  --ai-cyan-dark: var(--adi-corporativo);
  --ai-hero-cyan: var(--adi-corporativo);
  --ai-hero-cyan-hover: var(--adi-noche);
  --ai-sky: var(--adi-dinamico);
  --ai-sky-light: var(--adi-claro);
  --ai-gray-100: var(--adi-hielo);
  --ai-gray-200: var(--adi-acero);
  --ai-gray-400: var(--adi-pizarra);
  --ai-gray-700: var(--adi-grafito);
}

body {
  color: var(--adi-grafito);
}

/* Evitar flash del subtítulo del hero al recargar (F5) */
body.adi-hero-pending .heroslider-animted .heroslider-animatebox h1 span,
body.adi-hero-pending .heroslider-animted .heroslider-animatebox h1 b,
body.adi-hero-pending .heroslider-animted .heroslider-animatebox p,
body.adi-hero-pending .heroslider-animted .heroslider-animatebox .tm-buttongroup {
  opacity: 0 !important;
}

.bg-theme {
  background: var(--adi-corporativo) !important;
}

.header-toparea {
  background: var(--ai-navy) !important;
}

.tm-breadcrumb-area[data-overlay] {
  background-color: var(--ai-navy-dark);
}

.tm-breadcrumb-area[data-bgimage] {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/* Index contadores: zona alta de la foto (un poco por debajo del borde superior) */
.funfact-area.adi-bg-position-top[data-bgimage],
.funfact-area.adi-bg-position-top.tm-parallax {
  background-position: center 28% !important;
}

/* Breadcrumbs en páginas internas: punto medio (entre 42% y 34%) */
.tm-breadcrumb-area.adi-bg-position-top[data-bgimage] {
  background-position: center 42% !important;
}

/* PC: banner interno más alto (más foto visible hacia abajo; arriba sin cambio) */
@media (min-width: 768px) {
  .tm-breadcrumb-area.adi-bg-position-top.tm-padding-section {
    padding-top: 128px !important;
    padding-bottom: 128px !important;
  }
}

.tm-breadcrumb-area.adi-breadcrumb-parallax {
  overflow: hidden;
}

/* Textos del banner interno: legibles sobre la foto */
.tm-breadcrumb-area .tm-breadcrumb-title {
  color: #ffffff !important;
  text-shadow: 0 2px 18px rgba(13, 35, 64, 0.75);
}

.tm-breadcrumb-area .tm-breadcrumb ul li,
.tm-breadcrumb-area .tm-breadcrumb ul li a {
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
}

.tm-breadcrumb-area .tm-breadcrumb ul li a:hover {
  color: var(--adi-dinamico) !important;
}

/* Hero: títulos — azul dinámico + destello blanco muy sutil */
@keyframes adi-hero-title-gleam {
  0%,
  100% {
    text-shadow:
      0 0 3px rgba(255, 255, 255, 0.28),
      0 0 8px rgba(255, 255, 255, 0.14),
      0 0 16px rgba(255, 255, 255, 0.06),
      0 1px 3px rgba(13, 35, 64, 0.42);
  }
  50% {
    text-shadow:
      0 0 5px rgba(255, 255, 255, 0.36),
      0 0 12px rgba(255, 255, 255, 0.18),
      0 0 20px rgba(255, 255, 255, 0.09),
      0 1px 3px rgba(13, 35, 64, 0.42);
  }
}

.heroslider-content h1 b {
  font-size: 118%;
  padding: 0.15rem 0;
  margin-top: 0.55rem;
  margin-bottom: 0.55rem;
  line-height: 1.3;
  display: inline-block;
  color: #3076b0 !important;
  color: color-mix(in srgb, var(--adi-dinamico) 78%, var(--adi-corporativo) 22%) !important;
  font-weight: 700;
  background: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border: none !important;
  border-radius: 0;
  box-shadow: none !important;
  animation: adi-hero-title-gleam 5.5s ease-in-out infinite;
  text-shadow:
    0 0 3px rgba(255, 255, 255, 0.28),
    0 0 8px rgba(255, 255, 255, 0.14),
    0 0 16px rgba(255, 255, 255, 0.06),
    0 1px 3px rgba(13, 35, 64, 0.42);
}

@media (prefers-reduced-motion: reduce) {
  .heroslider-content h1 b {
    animation: none;
  }
}

.heroslider-content h1 span {
  font-size: 0.92em;
  letter-spacing: 0.12em;
  color: var(--adi-blanco);
  text-shadow:
    0 2px 16px rgba(13, 35, 64, 0.75),
    0 1px 4px rgba(0, 0, 0, 0.35);
}

/* Hero: botones y flechas — azul corporativo (sin celeste neón) */
.heroslider .tm-button:not(.tm-button-white),
.heroslider a.tm-button:not(.tm-button-white) {
  background: var(--adi-corporativo) !important;
  border-color: var(--adi-corporativo) !important;
  color: var(--adi-blanco) !important;
}

.heroslider .tm-button:not(.tm-button-white):hover,
.heroslider a.tm-button:not(.tm-button-white):hover {
  background: var(--adi-noche) !important;
  border-color: var(--adi-noche) !important;
}

.heroslider .tm-button.tm-button-white,
.heroslider a.tm-button.tm-button-white {
  color: var(--adi-corporativo) !important;
  border-color: rgba(255, 255, 255, 0.85) !important;
}

.heroslider-slider .tm-slider-arrow-prev,
.heroslider-slider .tm-slider-arrow-next {
  background: var(--adi-corporativo) !important;
  border-color: var(--adi-corporativo) !important;
}

.heroslider-slider .tm-slider-arrow-prev:hover,
.heroslider-slider .tm-slider-arrow-next:hover {
  background: var(--adi-noche) !important;
  border-color: var(--adi-noche) !important;
}

.heroslider-content p {
  font-size: 1.05rem;
  max-width: 36rem;
}

.adi-hero-align--center .heroslider-content p {
  margin-left: auto;
  margin-right: auto;
}

.adi-hero-align--left .heroslider-content p,
.adi-hero-align--left .heroslider-content h1 b {
  margin-left: 0;
  margin-right: auto;
}

.adi-hero-align--right .heroslider-content p,
.adi-hero-align--right .heroslider-content h1 b {
  margin-left: auto;
  margin-right: 0;
}

.adi-hero-align--right .heroslider-content h1 b {
  display: inline-block;
}

/* Logo cabecera 3D — altura intermedia (entre 35px y 42px originales) */
.header-bottominner {
  padding-top: 4px;
  padding-bottom: 4px;
}

.header-logo img {
  max-height: 60px;
  width: auto;
  object-fit: contain;
}

.widget-info-logo img {
  max-height: 72px;
  width: auto;
  object-fit: contain;
}

/* Cabecera: degradado corporativo (blanco → hielo → toque noche) */
#wrapper > .header .header-bottomarea,
#wrapper > .header.sticky-header .header-bottomarea,
.sticky-header .header-bottomarea,
.sticky-header.sticky-active .header-bottomarea {
  background-color: var(--adi-hielo) !important;
  background-image: linear-gradient(
    165deg,
    #ffffff 0%,
    var(--adi-hielo) 42%,
    rgba(216, 220, 232, 0.85) 78%,
    rgba(26, 74, 122, 0.1) 100%
  ) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  border-bottom: 1px solid var(--adi-acero);
  box-shadow: 0 4px 20px rgba(13, 35, 64, 0.07) !important;
}

.sticky-header.sticky-active .header-bottomarea {
  background-image: linear-gradient(
    165deg,
    #ffffff 0%,
    var(--adi-hielo) 50%,
    rgba(26, 74, 122, 0.08) 100%
  ) !important;
}

/* Menú: resplandor en hover (sin animación por letra) */
@media (min-width: 992px) {
  .tm-navigation > ul > li > a {
    position: relative;
    display: inline-block;
    padding: 32px 18px;
    transform-origin: center center;
    transition:
      color 0.25s ease,
      text-shadow 0.25s ease,
      transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .sticky-header.sticky-active .tm-navigation > ul > li > a {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .tm-navigation > ul > li > a::before,
  .tm-navigation > ul > li > a::after {
    display: none !important;
    content: none !important;
  }

  .tm-navigation > ul > li > a:hover,
  .tm-navigation > ul > li > a:focus {
    color: var(--adi-dinamico) !important;
    transform: scale(1.07);
    text-decoration: none !important;
    text-shadow:
      0 0 10px rgba(58, 139, 196, 0.45),
      0 0 20px rgba(58, 139, 196, 0.2);
  }

  .tm-navigation > ul > li > a.adi-nav-current {
    color: var(--adi-corporativo) !important;
    text-shadow: 0 0 8px rgba(26, 74, 122, 0.25);
  }
}

/* Hero GSAP: estado inicial vía body.adi-hero-pending; visibilidad la controla GSAP */
.heroslider-animted.adi-hero-gsap .heroslider-animatebox h1 span {
  opacity: 1;
}

.heroslider-animted.adi-hero-gsap .heroslider-animatebox > * {
  transform: none !important;
  transition: none !important;
}

.heroslider-animted .slick-current .heroslider-content {
  transform: none !important;
}

/* Por defecto ocultas; GSAP las muestra solo en el slide activo */
.heroslider-animted.adi-hero-gsap .adi-char {
  opacity: 0;
}

.heroslider-content .adi-char {
  display: inline-block;
  transform-origin: 50% 100%;
  will-change: transform, opacity;
}

/* Slides inactivos: nunca mostrar texto del hero (evita flash en clones) */
.heroslider-animted.adi-hero-gsap .slick-slide:not(.slick-current) .adi-char,
.heroslider-animted.adi-hero-gsap .slick-slide:not(.slick-current) .heroslider-animatebox h1 b,
.heroslider-animted.adi-hero-gsap .slick-slide:not(.slick-current) .heroslider-animatebox p,
.heroslider-animted.adi-hero-gsap .slick-slide:not(.slick-current) .heroslider-animatebox .tm-buttongroup {
  opacity: 0 !important;
}

.heroslider-content h1 {
  perspective: 520px;
}

@media (prefers-reduced-motion: reduce) {
  body.adi-hero-pending .heroslider-animted .heroslider-animatebox h1 span,
  body.adi-hero-pending .heroslider-animted .heroslider-animatebox h1 b,
  body.adi-hero-pending .heroslider-animted .heroslider-animatebox p,
  body.adi-hero-pending .heroslider-animted .heroslider-animatebox .tm-buttongroup,
  .heroslider-animted.adi-hero-gsap .heroslider-animatebox h1 span .adi-char,
  .heroslider-animted.adi-hero-gsap .heroslider-animatebox h1 b,
  .heroslider-animted.adi-hero-gsap .heroslider-animatebox p,
  .heroslider-animted.adi-hero-gsap .heroslider-animatebox .tm-buttongroup {
    opacity: 1 !important;
  }
}

.adi-coach-portrait {
  max-height: 280px;
  width: 100%;
  object-fit: cover;
  object-position: top center;
}

/* Retratos con fondo blanco transparente: sin recuadro, sombra ni recorte */
.adi-photo-cutout {
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  object-fit: contain;
  object-position: center center;
}

.adi-coaching-photos .adi-coach-portrait.adi-photo-cutout {
  width: auto;
  max-width: 100%;
  max-height: 300px;
  margin-left: auto;
  margin-right: auto;
  display: block;
  object-fit: contain;
  object-position: center bottom;
}

.adi-nosotros-comunidad-photo {
  width: 100%;
  height: auto;
  max-width: 100%;
  display: block;
  object-fit: contain;
  object-position: center center;
}

.adi-contact-embed iframe {
  display: block;
  min-height: 585px;
}

.adi-ghl-frame iframe {
  display: block;
  width: 100%;
}

/* Dejar visible el mapa del footer (data-bgimage + overlay suave en cada HTML) */
.footer-toparea[data-bgimage] {
  background-color: transparent !important;
}

.bg-grey {
  background: var(--ai-gray-100) !important;
}

.tm-section-title h2,
.tm-section-title h3 {
  color: var(--adi-corporativo) !important;
}

.tm-section-title .divider {
  color: var(--adi-corporativo) !important;
}

.tm-section-title .divider i {
  color: var(--adi-corporativo) !important;
}

.tm-section-title .divider::before,
.tm-section-title .divider::after {
  background: var(--adi-dinamico) !important;
}

/* Títulos sobre fondo oscuro (testimonial, parallax) */
.tm-section-title.tm-section-title-white h2,
.tm-section-title.tm-section-title-white h3,
.tm-section-title.tm-section-title-white p {
  color: var(--adi-blanco) !important;
}

.tm-section-title.tm-section-title-white .divider,
.tm-section-title.tm-section-title-white .divider i {
  color: var(--adi-blanco) !important;
}

.tm-section-title.tm-section-title-white .divider::before,
.tm-section-title.tm-section-title-white .divider::after {
  background: var(--adi-blanco) !important;
}

/* Columna centrada: línea izquierda + derecha del divider */
.text-center .tm-section-title .divider::before {
  display: block !important;
  width: 120px;
}

.text-center .tm-section-title .divider::after {
  width: 120px;
}

.tm-about-content h2 {
  color: var(--adi-corporativo) !important;
}

.tm-about-content span.divider {
  color: var(--adi-corporativo) !important;
}

.tm-about-content span.divider::after {
  background: var(--adi-dinamico) !important;
}

/* Preloader opcional: ocultar para carga más limpia en producción */
.tm-preloader {
  display: none !important;
}

/* Hero: fondo único por slide */
.heroslider-single[data-bgimage]:not(.adi-heroslide-collage) {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.heroslider-single.adi-heroslide-kb:not(.adi-heroslide-collage):not(.adi-hero-bg--exp14) {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 104% auto;
  animation: adi-hero-kenburns-zoom 13s ease-in-out infinite alternate;
}

@keyframes adi-hero-kenburns-zoom {
  0% {
    background-size: 104% auto;
  }
  100% {
    background-size: 118% auto;
  }
}

/* Slide 1: encuadre EXP-14 (fijo en keyframes para que el zoom no lo sobrescriba) */
.heroslider-single.adi-heroslide-kb.adi-hero-bg--exp14 {
  background-repeat: no-repeat;
  background-position: center 42%;
  background-size: 104% auto;
  animation: adi-hero-kenburns-exp14 13s ease-in-out infinite alternate;
}

@keyframes adi-hero-kenburns-exp14 {
  0% {
    background-size: 104% auto;
    background-position: center 42%;
  }
  100% {
    background-size: 118% auto;
    background-position: center 42%;
  }
}

@media (max-width: 767px) {
  .heroslider-single.adi-heroslide-kb:not(.adi-heroslide-collage) {
    animation-duration: 16s;
  }

  .heroslider-single.adi-heroslide-kb.adi-hero-bg--exp14 {
    animation-duration: 16s;
  }
}

/* Hero: collage de fotos del equipo (3 composiciones, una por slide) */
.heroslider-wrapper {
  width: 100%;
  position: relative;
}

.heroslider-single.adi-heroslide-collage {
  position: relative !important;
  width: 100% !important;
  max-width: 100%;
  background-image: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  isolation: isolate;
}

.heroslider-single.adi-heroslide-collage > .container {
  position: relative !important;
  z-index: 3 !important;
  width: 100%;
  flex: 1 1 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Capa de color sobre el collage (misma lógica que data-black-overlay="8") */
.heroslider-single.adi-heroslide-collage[data-black-overlay]::before {
  background-color: var(--adi-noche) !important;
  z-index: 1;
  pointer-events: none;
}

/* !important: la plantilla pone [data-black-overlay] > div { position:relative; z-index:2 } */
.heroslider-single.adi-heroslide-collage > .adi-hero-collage {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  display: grid;
  gap: 0;
  overflow: hidden;
  background: var(--adi-noche);
  pointer-events: none;
}

.adi-hero-collage__cell {
  position: relative;
  overflow: hidden;
  min-height: 0;
}

.adi-hero-collage__cell::after {
  display: none;
}

.adi-hero-collage__cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
  display: block;
  transform: scale(1.02);
  animation: adi-hero-collage-zoom 16s ease-in-out infinite alternate;
}

.adi-hero-collage--1 .adi-hero-collage__cell--2 img {
  animation-delay: -4s;
}

.adi-hero-collage--1 .adi-hero-collage__cell--3 img {
  animation-delay: -8s;
}

.adi-hero-collage--1 .adi-hero-collage__cell--4 img {
  animation-delay: -11s;
  object-position: center 22%;
}

.adi-hero-collage--2 .adi-hero-collage__cell--2 img {
  animation-delay: -5s;
}

.adi-hero-collage--2 .adi-hero-collage__cell--3 img {
  animation-delay: -9s;
}

.adi-hero-collage--2 .adi-hero-collage__cell--4 img {
  animation-delay: -12s;
}

.adi-hero-collage--3 .adi-hero-collage__cell--2 img {
  animation-delay: -3s;
}

.adi-hero-collage--3 .adi-hero-collage__cell--3 img {
  animation-delay: -7s;
}

.adi-hero-collage--3 .adi-hero-collage__cell--4 img {
  animation-delay: -10s;
}

@keyframes adi-hero-collage-zoom {
  0% {
    transform: scale(1.02);
  }
  100% {
    transform: scale(1.1);
  }
}

/* Collage simétrico: 4 franjas verticales iguales, una fila (sin apilar) */
.adi-hero-collage--1,
.adi-hero-collage--2,
.adi-hero-collage--3 {
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: 1fr;
}

.adi-hero-collage--1 .adi-hero-collage__cell,
.adi-hero-collage--2 .adi-hero-collage__cell,
.adi-hero-collage--3 .adi-hero-collage__cell {
  grid-column: auto;
  grid-row: auto;
  min-width: 0;
}

@media (max-width: 767px) {
  .adi-hero-collage--1,
  .adi-hero-collage--2,
  .adi-hero-collage--3 {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .adi-hero-collage__cell img {
    animation: none;
    transform: none;
  }
}

.tm-buttongroup.justify-content-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.tm-radius-0 {
  border-radius: 0;
}

.adi-contact-embed {
  border: 1px solid var(--ai-gray-200);
  padding: 1rem;
}

.adi-ghl-frame {
  min-height: 720px;
  border: 1px solid var(--ai-gray-200);
  border-radius: 8px;
  overflow: hidden;
  background: var(--ai-gray-100);
}

.adi-ghl-placeholder {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  color: var(--ai-gray-400);
}

.adi-product-card {
  border: 1px solid var(--ai-gray-200);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  height: 100%;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.adi-product-card:hover {
  box-shadow: 0 18px 40px rgba(13, 27, 75, 0.12);
  transform: translateY(-4px);
}

.adi-product-card > a:first-of-type {
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--ai-gray-100);
}

.adi-product-card > a:first-of-type img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.adi-product-pdf-row {
  flex-shrink: 0;
  background: var(--ai-gray-100);
  border-top: 1px solid var(--ai-gray-200);
}

/* Tienda: portadas aparecen de izquierda a derecha, una tras otra */
.adi-tienda-cover-col .adi-product-card > a:first-of-type {
  opacity: 0;
  transform: translate3d(-40px, 0, 0);
  animation: adi-tienda-cover-in 0.75s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  will-change: transform, opacity;
}

.adi-tienda-cover-col--1 .adi-product-card > a:first-of-type {
  animation-delay: 0.12s;
}

.adi-tienda-cover-col--2 .adi-product-card > a:first-of-type {
  animation-delay: 0.42s;
}

.adi-tienda-cover-col--3 .adi-product-card > a:first-of-type {
  animation-delay: 0.72s;
}

@keyframes adi-tienda-cover-in {
  from {
    opacity: 0;
    transform: translate3d(-40px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .adi-tienda-cover-col .adi-product-card > a:first-of-type {
    animation: none;
    opacity: 1;
    transform: none;
    will-change: auto;
  }
}

.adi-product-body {
  padding: 1.5rem;
}

.adi-purchase-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
}

/* WebP con transparencia: coach y sellos 10X / CRS */
.adi-cert-badge {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 130px;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
}

.adi-walter-coach-photo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 300px;
  margin-left: auto;
  margin-right: auto;
  object-fit: contain;
}

.adi-certs-row .adi-walter-coach-photo {
  max-height: 280px;
}

.adi-certs-row .adi-cert-badge {
  max-height: 120px;
}

.adi-coaching-hero-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
}

.adi-coaching-hero-visual .adi-cert-badge {
  max-height: 105px;
}

.adi-coaching-hero-visual .adi-walter-coach-photo {
  max-height: 340px;
}

@media (max-width: 767.98px) {
  .adi-coaching-hero-visual .adi-walter-coach-photo {
    max-height: 280px;
  }

  .adi-certs-row .adi-walter-coach-photo {
    max-height: 240px;
  }
}

/* Navegación más compacta sin carrito */
.header-icons .header-loginformtrigger,
.header-icons a[href*="cart"] {
  display: none !important;
}

.tm-member-top img {
  object-fit: cover;
  object-position: top center;
}

.tm-radius {
  border-radius: 10px;
  overflow: hidden;
}

/* Tarjetas de servicio misma altura */
.adi-service-equal .tm-service {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.adi-service-equal .tm-service-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.adi-service-equal .tm-readmore {
  margin-top: auto;
}

/* Fundadores: mismas alturas de tarjeta */
.adi-member-equal .tm-member {
  height: 100%;
}

.adi-member-equal .tm-member-bottom {
  flex-grow: 1;
}

/* Fundadores / Nosotros: mismo tamaño exacto del retrato (caja fija + cover) */
.adi-member-equal .tm-member-top {
  aspect-ratio: 3 / 4;
  width: 100%;
  flex-shrink: 0;
}

.adi-member-equal .tm-member-top img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

/* Blog inicio: miniaturas cuadradas y cards alineadas */
.adi-blog-equal .tm-blog-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  flex-shrink: 0;
}

.adi-blog-equal .tm-blog-image a {
  display: block;
  width: 100%;
  height: 100%;
}

.adi-blog-equal .tm-blog-image img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Barra superior: una sola línea */
.header-toparea .adi-topbar-one-line {
  padding: 10px 0;
}

.adi-topbar-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0 8px;
  font-size: 13px;
  line-height: 1.35;
  white-space: nowrap;
}

.adi-topbar-list > li {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
}

.adi-topbar-list > li.adi-topbar-sep {
  color: rgba(255, 255, 255, 0.45);
  user-select: none;
  flex-shrink: 0;
}

.adi-topbar-list > li.adi-topbar-youtube {
  margin-left: auto;
}

.adi-topbar-list a {
  color: #fff;
}

/* ——— Solo móvil ——— */
@media (max-width: 767px) {
  /* Barra superior: 4 ítems en 2 filas, sin scroll horizontal */
  .header-toparea {
    overflow-x: hidden;
  }

  .header-toparea .adi-topbar-one-line {
    padding: 8px 10px;
  }

  .adi-topbar-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px 10px;
    justify-content: center;
    align-items: center;
    overflow: visible;
    white-space: normal;
    font-size: 10px;
    line-height: 1.3;
  }

  .adi-topbar-list > li {
    justify-content: center;
    text-align: center;
    min-width: 0;
    white-space: normal;
    word-break: break-word;
  }

  .adi-topbar-list > li.adi-topbar-sep {
    display: none;
  }

  .adi-topbar-list > li.adi-topbar-youtube {
    margin-left: 0;
  }

  .adi-topbar-list a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-wrap: wrap;
  }

  /* Banner interno: más alto y rostro más abajo en el encuadre */
  .tm-breadcrumb-area.adi-bg-position-top.tm-padding-section {
    padding-top: 108px !important;
    padding-bottom: 108px !important;
    min-height: 220px;
  }

  .tm-breadcrumb-area.adi-bg-position-top[data-bgimage] {
    background-position: center 58% !important;
  }

  .tm-breadcrumb-area.adi-breadcrumb-parallax .jarallax-img {
    object-position: center 58% !important;
  }

  /* Cabecera: logo centrado; búsqueda derecha; menú hamburguesa izquierda */
  .header-bottomarea > .container {
    position: relative;
  }

  .header-bottominner {
    justify-content: center;
    padding-left: 50px;
    padding-right: 50px;
  }

  .header-bottominner .tm-navigation {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }

  .header-logo {
    margin-left: auto;
    margin-right: auto;
    padding: 12px 0;
    max-width: 170px;
    text-align: center;
  }

  .header-logo img {
    max-height: 52px;
    margin: 0 auto;
    display: block;
  }

  .header-icons {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    padding-right: 0;
    z-index: 101;
  }

  .header-mobilemenu {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 102;
    overflow: visible;
  }

  /* Solo la franja del botón hamburguesa ignora clics; el panel del menú sí los recibe */
  .header-mobilemenu .mean-container .mean-bar {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 56px;
    background: transparent !important;
    pointer-events: none;
    z-index: 1;
  }

  .header-mobilemenu .mean-container a.meanmenu-reveal {
    left: 10px !important;
    right: auto !important;
    top: 50% !important;
    margin-top: 0 !important;
    transform: translateY(-50%);
    pointer-events: auto;
    color: var(--ai-gray-700) !important;
    z-index: 2;
  }

  .header-mobilemenu .mean-container .mean-nav {
    pointer-events: auto;
    z-index: 200;
  }

  .header-mobilemenu .mean-container .mean-nav a {
    pointer-events: auto;
  }

  .sticky-header.sticky-active .header-bottominner {
    padding-left: 50px;
    padding-right: 50px;
  }

  .sticky-header.sticky-active .header-logo {
    margin-left: auto;
    margin-right: auto;
  }
}

/* Vídeo intro: ancho pantalla, altura acotada (evita “zoom” excesivo al reproducir) */
.adi-video-fullwidth {
  width: 100%;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #0d0d0d;
  overflow: hidden;
}

.adi-intro-video {
  display: block;
  width: 100% !important;
  max-width: 100vw !important;
  height: auto !important;
  max-height: min(56.25vw, 85vh) !important;
  margin: 0 auto;
  object-fit: contain;
  vertical-align: top;
}

video.adi-intro-video:-webkit-full-screen,
video.adi-intro-video:fullscreen {
  width: 100% !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  height: auto !important;
  object-fit: contain;
}

/* TikTok alineado con los íconos Font Awesome (misma caja 34×34) */
.tm-member-social ul li a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

.tm-member-social ul li a i {
  line-height: 34px !important;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tm-member-social ul li a .adi-tiktok-inline {
  display: block;
  flex-shrink: 0;
  color: inherit;
}

.tm-member-social ul li a:hover .adi-tiktok-inline {
  color: var(--adi-dinamico);
}

.adi-tiktok-inline-text {
  vertical-align: -0.15em;
  margin-right: 5px;
}

/* Galería tipo brandlogo: miniaturas uniformes */
.brandlogo-slider .brandlogo img {
  max-height: 72px;
  width: auto;
  object-fit: cover;
  border-radius: 6px;
}

/* Página actual en el menú (mismo tono que el hover; gana a cabecera fija) */
.tm-navigation > ul > li > a.adi-nav-current,
.tm-navigation ul li a.adi-nav-current,
.mean-nav ul li a.adi-nav-current,
.sticky-header .tm-navigation > ul > li > a.adi-nav-current,
.sticky-header.sticky-active .tm-navigation > ul > li > a.adi-nav-current {
  color: var(--adi-corporativo) !important;
}


/* Transición / preloader: vídeo WebM a pantalla completa, sin controles */
.adi-page-transition {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: #ffffff;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  opacity: 1;
  visibility: visible;
}

.adi-page-transition--hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.adi-page-transition-inner {
  position: absolute;
  inset: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.adi-page-transition-video {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100vw;
  height: 100vh;
  max-width: none;
  max-height: none;
  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  pointer-events: none;
  background: #fff;
  -webkit-tap-highlight-color: transparent;
}

@supports (height: 100dvh) {
  .adi-page-transition-video {
    height: 100dvh;
    min-height: 100dvh;
  }
}

/* Móvil: vídeo completo (sin recorte lateral), ancho a pantalla, franjas blancas arriba/abajo */
@media (max-width: 767.98px) {
  .adi-page-transition-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
  }

  .adi-page-transition-video {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: 100vw;
    max-width: 100vw;
    height: auto;
    max-height: 100vh;
    min-height: 0;
    object-fit: contain;
    object-position: center center;
  }

  @supports (height: 100dvh) {
    .adi-page-transition-video {
      max-height: 100dvh;
    }
  }
}

/* Evitar que aparezca barra de controles en algunos WebKit */
.adi-page-transition-video::-webkit-media-controls {
  display: none !important;
}

.adi-page-transition-video::-webkit-media-controls-enclosure {
  display: none !important;
}

/* =============================================================================
   ADI — Overrides globales (sustituye celeste #00B5D8 de la plantilla)
   ============================================================================= */

.color-theme {
  color: var(--adi-corporativo) !important;
}

.main-content a:not(.tm-button):not(.adi-product-card > a):hover,
.widget-quicklinks ul li a:hover,
.footer-widgets .single-widget a:not(.tm-button):hover,
.tm-member-social ul li a:hover {
  color: var(--adi-dinamico) !important;
}

/* Botones primarios (todo el sitio) */
.tm-button:not(.tm-button-dark):not(.tm-button-white),
a.tm-button:not(.tm-button-dark):not(.tm-button-white),
button.tm-button:not(.tm-button-dark):not(.tm-button-white) {
  background: var(--adi-corporativo) !important;
  border-color: var(--adi-corporativo) !important;
  color: var(--adi-blanco) !important;
}

.tm-button:not(.tm-button-dark):not(.tm-button-white):hover,
a.tm-button:not(.tm-button-dark):not(.tm-button-white):hover,
button.tm-button:not(.tm-button-dark):not(.tm-button-white):hover {
  background: var(--adi-noche) !important;
  border-color: var(--adi-noche) !important;
}

.tm-button.tm-button-white,
a.tm-button.tm-button-white,
button.tm-button.tm-button-white {
  color: var(--adi-corporativo) !important;
}

.tm-readmore,
a.tm-readmore {
  color: var(--adi-corporativo) !important;
}

.tm-readmore:hover,
a.tm-readmore:hover {
  color: var(--adi-dinamico) !important;
}

/* Overlays de sección: tinte azul noche (no celeste) */
[data-overlay]:before,
[data-secondary-overlay]:before,
[data-black-overlay]:before {
  background-color: var(--adi-noche) !important;
}

.footer-toparea[data-overlay]:before {
  background-color: var(--adi-noche) !important;
}

/* Footer */
.footer-copyrightarea {
  background: var(--adi-noche) !important;
}

.footer-widgets .widget-title:after {
  background: var(--adi-corporativo) !important;
}

.footer-widgets .widget-recentpost-content h6 a:hover,
.footer-copyrightsocial ul li a:hover {
  color: var(--adi-blanco) !important;
}

.footer-copyrightsocial ul li a:hover {
  background: var(--adi-corporativo) !important;
}

.footer-widgets .widget-quicklinks ul li a:hover {
  color: var(--adi-dinamico) !important;
  opacity: 1;
}

/* Menú móvil */
.header-mobilemenu .mean-container .mean-nav {
  background: var(--adi-corporativo) !important;
}

.header-mobilemenu .mean-container a.meanmenu-reveal {
  color: var(--adi-grafito) !important;
}

/* Cabecera: iconos y búsqueda */
.header-icons ul li a:hover,
.header-icons ul li button:hover {
  color: var(--adi-dinamico) !important;
}

.header-searchbox button:hover,
.header-searchbox input[type="submit"]:hover {
  background: var(--adi-corporativo) !important;
  border-color: var(--adi-corporativo) !important;
}

.header-logo a h2,
.header-logo a h3 {
  color: var(--adi-corporativo) !important;
}

/* Sliders (fuera del hero) */
.tm-slider-arrow-prev,
.tm-slider-arrow-next {
  background: var(--adi-corporativo) !important;
  border-color: var(--adi-corporativo) !important;
}

.tm-slider-arrow-prev:hover,
.tm-slider-arrow-next:hover {
  background: var(--adi-noche) !important;
  border-color: var(--adi-noche) !important;
}

/* Servicios, features, iconos de sección */
.tm-service-icon,
.tm-service-icon i,
.tm-service-icon [class^="flaticon-"]::before,
.tm-service-icon [class*=" flaticon-"]::before,
.tm-feature i,
.funfact-numbericon i {
  color: var(--adi-corporativo) !important;
}

.tm-service:hover {
  background: var(--adi-corporativo) !important;
}

.tm-service:hover .tm-service-icon,
.tm-service:hover .tm-service-icon i,
.tm-service:hover .tm-service-icon [class^="flaticon-"]::before,
.tm-service:hover .tm-service-icon [class*=" flaticon-"]::before,
.tm-feature:hover i {
  color: var(--adi-blanco) !important;
}

.tm-service:hover h5,
.tm-service:hover p,
.tm-service:hover .tm-service-content h5,
.tm-service:hover .tm-service-content p,
.tm-service:hover .tm-service-content h5 a,
.tm-service:hover .tm-service-content p a,
.tm-service:hover .tm-readmore {
  color: var(--adi-blanco) !important;
}

/* Títulos y enlaces en tarjetas */
.tm-service-content h5 a:hover,
.tm-blog-content h5 a:hover,
.tm-blog-content .tm-readmore:hover {
  color: var(--adi-dinamico) !important;
}

/* Paginación, tabs, formularios */
.tm-pagination ul li a:hover,
.tm-pagination ul li.is-active a {
  background: var(--adi-corporativo) !important;
  border-color: var(--adi-corporativo) !important;
}

.tm-tabgroup ul li a:hover,
.tm-tabgroup ul li.active a {
  color: var(--adi-corporativo) !important;
  border-color: var(--adi-corporativo) !important;
}

input:focus,
textarea:focus,
select:focus,
.nice-select.open,
.nice-select:active,
.nice-select:focus {
  border-color: var(--adi-dinamico) !important;
}

/* Contadores / CTA internos */
.funfact-number {
  color: var(--adi-corporativo) !important;
}

blockquote {
  border-left-color: var(--adi-corporativo) !important;
}

blockquote footer a:hover {
  color: var(--adi-dinamico) !important;
}

/* Página activa menú móvil */
.mean-nav ul li a.adi-nav-current {
  color: var(--adi-blanco) !important;
  background: rgba(13, 35, 64, 0.35);
}

/* Expansión eXp: galerías de logros y equipo */
.adi-exp-logros-gallery img,
.adi-exp-equipo-gallery img {
  display: block;
  height: auto;
  object-fit: contain;
}
