/* ==========================================================================
   CIAH - Congreso Internacional de Arbitraje de Honduras
   Hoja de estilos principal
   Paleta: azul institucional oscuro (secundario) + anaranjado del logo oficial
   (color principal de acciones/CTA). El anaranjado (#d66624) fue extraído
   directamente del logo del CIAH para mantener coherencia exacta con la
   identidad visual de la marca.
   ========================================================================== */

:root {
  /* Azul institucional (secundario): encabezados, fondos, nav, textos */
  --ciah-navy: #0b1f3a;
  --ciah-navy-dark: #071527;
  --ciah-navy-light: #16305a;
  --ciah-blue: #0b1f3a;

  /* Anaranjado del logo CIAH (principal): botones, CTA, acentos de marca */
  --ciah-orange: #d66624;
  --ciah-orange-dark: #af531d;
  --ciah-orange-light: #e8935c;

  --ciah-white: #ffffff;
  --ciah-gray: #6c7a8f;
  --ciah-gray-light: #f5f7fa;
  --ciah-font-display: 'Playfair Display', Georgia, serif;
  --ciah-font-body: 'Montserrat', 'Segoe UI', sans-serif;
  --ciah-radius: 14px;
  --ciah-transition: .3s ease;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--ciah-font-body);
  color: #1c2733;
  background-color: var(--ciah-white);
  overflow-x: hidden;
}

a { text-decoration: none; }

img { max-width: 100%; }

/* ---------------- Top bar ---------------- */
.ciah-topbar {
  background: var(--ciah-navy-dark);
  color: #cdd6e3;
  font-size: .85rem;
  padding: 8px 0;
}
.ciah-topbar a { color: #cdd6e3; }
.ciah-topbar a:hover { color: var(--ciah-orange-light); }
.ciah-topbar-social a {
  color: #cdd6e3;
  margin-left: 12px;
  font-size: 1rem;
  transition: color var(--ciah-transition);
}
.ciah-topbar-social a:hover { color: var(--ciah-orange-light); }

/* ---------------- Navbar ---------------- */
.ciah-navbar {
  background: rgba(11, 31, 58, 0.92);
  backdrop-filter: blur(8px);
  padding: 12px 0;
  transition: background var(--ciah-transition), box-shadow var(--ciah-transition), padding var(--ciah-transition);
  top: 0;
}
.ciah-navbar.scrolled {
  background: var(--ciah-navy);
  box-shadow: 0 6px 24px rgba(0,0,0,.25);
  padding: 6px 0;
}
.ciah-navbar .nav-link {
  color: #e9edf3;
  font-weight: 500;
  font-size: .92rem;
  letter-spacing: .03em;
  padding: 8px 14px !important;
  position: relative;
  white-space: nowrap;
}
.ciah-navbar .navbar-nav { flex-wrap: nowrap; }
/* El menú completo solo se expande a partir de 1200px (breakpoint "xl" de
   Bootstrap, ver navbar-expand-xl en el HTML) precisamente para NO tener
   que comprimir el texto a un tamaño casi ilegible como ocurría antes al
   intentar forzar el menú completo también en 992-1199px: por debajo de
   1200px (incluye tablet, móvil, y zoom de navegador alto en 1366px) se
   activa el menú hamburguesa ANTES de que algún elemento se corte o salga
   de pantalla. A partir de 1200px el espaciado y tamaño de fuente se
   ajustan de forma moderada -no extrema- para dejarle espacio también al
   logo grande. SIN límite superior (max-width): un corte duro en un punto
   fijo (p.ej. solo hasta 1440px) provocaba que, justo un píxel más allá,
   el texto/las separaciones volvieran de golpe a su tamaño base y el menú
   se desbordara (bug detectado en 1441px). Manteniendo el mismo tamaño
   moderado de forma continua para cualquier ancho ≥1200px se evita ese
   salto: a 1920/2560px hay de sobra más espacio disponible, así que nunca
   se corta nada, solo se ve un pelín más compacto que el tamaño base (una
   diferencia mínima, imperceptible en pantallas grandes). */
@media (min-width: 1200px) {
  .ciah-navbar .nav-link {
    padding: 6px 7px !important;
    font-size: .78rem;
    letter-spacing: 0;
  }
  .ciah-navbar .navbar-nav.gap-lg-2 { gap: .1rem !important; }
  .ciah-navbar .nav-item.ms-lg-2 { margin-left: .25rem !important; }
  .ciah-navbar .nav-item.ms-lg-2 .btn {
    padding: .4rem .85rem !important;
    font-size: .78rem;
  }
}
/* A partir de 1200px (menú expandido) el conjunto logo+menú se centra
   como un solo bloque dentro del ancho disponible del navbar, en vez de
   quedar el logo pegado al borde izquierdo y el menú al borde derecho del
   contenedor (lo que se percibía como "descentrado" en pantallas anchas).
   Por debajo de 1200px no se toca nada: el layout típico de navbar móvil
   (logo a la izquierda, botón hamburguesa a la derecha) se mantiene igual. */
@media (min-width: 1200px) {
  .ciah-navbar .container {
    justify-content: center;
  }
  .ciah-navbar-brand {
    margin-right: clamp(14px, 2.5vw, 48px);
  }
  .ciah-navbar .navbar-nav.ms-auto {
    margin-left: 0 !important;
  }
}
.ciah-navbar .nav-link:hover,
.ciah-navbar .nav-link:focus { color: var(--ciah-orange-light); }
.navbar-toggler { border-color: rgba(255,255,255,.4); }
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Logo del navbar: más grande y responsive. Se ajusta con clamp() según el
   ancho de pantalla, sin deformarse (mantiene proporciones con height:auto)
   y sin salirse del encabezado en ningún dispositivo. */
.ciah-navbar-brand {
  display: flex;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
}
.ciah-navbar-logo {
  height: clamp(60px, 7vw + 24px, 100px);
  width: auto;
  /* IMPORTANTE: max-width debe ser "none" (no un porcentaje). El contenedor
     .ciah-navbar-brand es un flex container de ancho automático (shrink-to-fit)
     cuyo único hijo es este logo; si max-width queda en un porcentaje, el
     navegador intenta resolverlo contra el ancho del propio contenedor, que a
     su vez depende del tamaño del logo (dependencia circular). En Chromium/
     Blink esto colapsa el ancho calculado de la imagen a 0px, dejando el logo
     completamente invisible (no solo pequeño) pese a que height/object-fit
     estén correctos. max-width:none rompe el ciclo y el logo se dimensiona
     correctamente a partir de su proporción intrínseca (height + width:auto). */
  max-width: none;
  object-fit: contain;
  transition: height var(--ciah-transition);
}
.ciah-navbar.scrolled .ciah-navbar-logo {
  height: clamp(48px, 6vw + 18px, 76px);
}
/* A partir de 1200px (incluye 1366x768) el logo se refuerza frente al
   tamaño base (que ya alcanza su tope en ese rango), pero de forma
   MODERADA y continua con vw: un refuerzo demasiado grande (visto en una
   revisión anterior) hacía que el logo ocupara casi la mitad del
   contenedor y el menú se cortara. Escala junto con el menú compacto de
   arriba para que ambos quepan en una sola línea en todo el rango. Por
   debajo de 1200px el menú ya está colapsado (hamburguesa), así que el
   logo puede usar su tamaño base normal sin restricción adicional. SIN
   límite superior: igual que en la regla del menú de arriba, un corte
   duro en un ancho fijo (antes 1440px) provocaba un salto brusco justo un
   píxel más allá que desbordaba el menú (bug detectado en 1441px); el
   clamp() ya satura naturalmente en 96px/78px en pantallas grandes, así
   que no hace falta un max-width para eso. */
@media (min-width: 1200px) {
  .ciah-navbar-logo {
    height: clamp(64px, 6vw, 96px);
  }
  .ciah-navbar.scrolled .ciah-navbar-logo {
    height: clamp(52px, 5vw, 78px);
  }
}

/* ---------------- Botones ---------------- */
/* Botón principal: usado en todas las llamadas a la acción (CTA) del sitio:
   "Quiero ser notificado", "Save the Date", "Enviar", "Registrarme"... */
.ciah-btn-primary {
  background: var(--ciah-orange);
  color: var(--ciah-white) !important;
  font-weight: 700;
  border: none;
  border-radius: 50px;
  padding: .75rem 1.75rem;
  letter-spacing: .03em;
  box-shadow: 0 8px 24px rgba(214,102,36,.35);
  transition: background var(--ciah-transition), transform var(--ciah-transition), box-shadow var(--ciah-transition);
}
.ciah-btn-primary:hover,
.ciah-btn-primary:focus {
  background: var(--ciah-orange-dark);
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(175,83,29,.45);
  color: var(--ciah-white) !important;
}
/* Alias retrocompatible (el mismo estilo que .ciah-btn-primary) */
.ciah-btn-gold { background: var(--ciah-orange); color: var(--ciah-white) !important; font-weight: 700; border: none; border-radius: 50px; padding: .75rem 1.75rem; letter-spacing: .03em; box-shadow: 0 8px 24px rgba(214,102,36,.35); transition: background var(--ciah-transition), transform var(--ciah-transition), box-shadow var(--ciah-transition); }
.ciah-btn-gold:hover { background: var(--ciah-orange-dark); transform: translateY(-3px); box-shadow: 0 12px 30px rgba(175,83,29,.45); color: var(--ciah-white) !important; }

/* Botón secundario: variante con borde anaranjado, se rellena al hover.
   Se usa para acciones destacadas pero de menor jerarquía visual que la
   principal (p. ej. "Comprar entradas" mientras no esté habilitada la venta). */
.ciah-btn-outline-primary {
  background: transparent;
  border: 2px solid var(--ciah-orange);
  color: var(--ciah-orange);
  font-weight: 700;
  border-radius: 50px;
  padding: .7rem 1.6rem;
  transition: all var(--ciah-transition);
}
.ciah-btn-outline-primary:hover {
  background: var(--ciah-orange);
  color: var(--ciah-white);
  border-color: var(--ciah-orange);
  transform: translateY(-3px);
}
.ciah-btn-outline {
  background: transparent;
  border: 2px solid rgba(255,255,255,.6);
  color: #fff;
  font-weight: 600;
  border-radius: 50px;
  padding: .7rem 1.6rem;
  transition: all var(--ciah-transition);
}
.ciah-btn-outline:hover { background: #fff; color: var(--ciah-navy); border-color: #fff; }
.ciah-btn-ghost {
  background: transparent;
  border: 2px solid rgba(255,255,255,.25);
  color: rgba(255,255,255,.75);
  font-weight: 600;
  border-radius: 50px;
  padding: .7rem 1.6rem;
  cursor: pointer;
}
.ciah-btn-ghost:hover { border-color: rgba(255,255,255,.5); color: #fff; }

/* ---------------- Hero ---------------- */
.ciah-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 20% 20%, #16305a 0%, #0b1f3a 45%, #071527 100%);
  overflow: hidden;
}
.ciah-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(11,31,58,.55), rgba(7,21,39,.85)),
    var(--ciah-hero-bg-image, url('../images/gallery/9.JPG'));
  background-size: cover;
  background-position: center;
  opacity: .35;
}
.ciah-hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 30%, rgba(7,21,39,.9) 100%);
}
.ciah-hero-content { position: relative; z-index: 2; padding: 140px 15px 80px; color: #fff; }
.ciah-hero-kicker {
  letter-spacing: .25em;
  text-transform: uppercase;
  font-size: .85rem;
  color: var(--ciah-orange-light);
  font-weight: 600;
  margin-bottom: 1rem;
}
.ciah-hero-title { margin-bottom: .5rem; }
.ciah-hero-logo {
  font-family: var(--ciah-font-display);
  font-size: clamp(4rem, 14vw, 8rem);
  font-weight: 800;
  letter-spacing: .05em;
  background: linear-gradient(135deg, #fff 30%, var(--ciah-orange-light) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  line-height: 1;
}
.ciah-hero-savedate {
  font-size: clamp(1.1rem, 3vw, 1.6rem);
  letter-spacing: .4em;
  font-weight: 700;
  color: #fff;
  margin: 1.25rem 0 1.5rem;
}
.ciah-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: center;
  margin-bottom: 2.25rem;
}
.ciah-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  padding: 10px 20px;
  border-radius: 50px;
  font-size: .95rem;
  font-weight: 500;
  color: #e9edf3;
}
.ciah-chip i { color: var(--ciah-orange-light); }

/* Cuenta regresiva */
.ciah-countdown {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: .75rem;
}
.ciah-countdown-box {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(214,102,36,.4);
  border-radius: var(--ciah-radius);
  min-width: 92px;
  padding: 18px 10px;
  backdrop-filter: blur(6px);
}
.ciah-countdown-number {
  display: block;
  font-family: var(--ciah-font-display);
  font-size: clamp(1.9rem, 5vw, 3rem);
  font-weight: 700;
  color: var(--ciah-orange-light);
  line-height: 1;
}
.ciah-countdown-label {
  display: block;
  font-size: .72rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #b9c3d4;
  margin-top: 6px;
}
.ciah-countdown-message {
  color: var(--ciah-orange-light);
  font-weight: 600;
  min-height: 1.5em;
  margin-bottom: 2rem;
}
.ciah-hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
.ciah-hero-scroll {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.6);
  font-size: 1.4rem;
  animation: ciahBounce 2s infinite;
  z-index: 2;
}
@keyframes ciahBounce {
  0%, 100% { transform: translate(-50%, 0); }
  50% { transform: translate(-50%, 10px); }
}

/* ---------------- Secciones generales ---------------- */
.ciah-section { padding: 64px 0; }
.ciah-section-alt { background: var(--ciah-gray-light); }
.ciah-section-dark {
  background: linear-gradient(135deg, var(--ciah-navy) 0%, var(--ciah-navy-dark) 100%);
  color: #fff;
}
.ciah-eyebrow {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: .78rem;
  font-weight: 700;
  color: var(--ciah-orange);
  margin-bottom: .75rem;
}
.ciah-eyebrow-gold { color: var(--ciah-orange-light); }
.ciah-section-title {
  font-family: var(--ciah-font-display);
  font-weight: 700;
  font-size: clamp(1.9rem, 3.4vw, 2.75rem);
  color: var(--ciah-navy);
  margin-bottom: 1.25rem;
}
.ciah-section-dark .ciah-section-title { color: #fff; }
.ciah-text { color: var(--ciah-gray); line-height: 1.8; font-size: 1.02rem; }
.ciah-text-light { color: #c3ccdb; line-height: 1.8; }

/* Stats */
.ciah-stat { text-align: center; }
.ciah-stat-number {
  display: block;
  font-family: var(--ciah-font-display);
  font-size: 2rem;
  font-weight: 700;
  color: var(--ciah-navy);
  white-space: nowrap;
}
.ciah-stat-number.ciah-stat-text {
  font-size: 1.15rem;
  white-space: normal;
  line-height: 1.2;
}
.ciah-stat-label { font-size: .8rem; color: var(--ciah-gray); text-transform: uppercase; letter-spacing: .05em; }

/* About media */
.ciah-about-media { position: relative; }
.ciah-about-media img { width: 100%; height: 420px; object-fit: cover; }
.ciah-about-badge {
  position: absolute;
  bottom: -24px;
  left: 24px;
  right: 24px;
  background: #fff;
  border-radius: var(--ciah-radius);
  box-shadow: 0 15px 40px rgba(11,31,58,.18);
  padding: 16px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.ciah-about-badge i { font-size: 1.8rem; color: var(--ciah-orange); }
.ciah-about-badge strong { display: block; color: var(--ciah-navy); }
.ciah-about-badge span { font-size: .82rem; color: var(--ciah-gray); }

/* ---------------- Formulario de notificación ---------------- */
.ciah-form-card {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 25px 60px rgba(0,0,0,.35);
  color: #1c2733;
}
.ciah-form-card .form-label { font-weight: 600; color: var(--ciah-navy); font-size: .9rem; }
.ciah-form-card .form-control {
  border-radius: 10px;
  border: 1px solid #dde3ec;
  padding: .7rem 1rem;
}
.ciah-form-card .form-control:focus {
  border-color: var(--ciah-orange);
  box-shadow: 0 0 0 .2rem rgba(214,102,36,.2);
}
.ciah-honeypot { position: absolute; left: -9999px; top: -9999px; opacity: 0; height: 0; overflow: hidden; }
.ciah-form-privacy { font-size: .78rem; color: var(--ciah-gray); }

/* ---------------- Inscripciones CIAH 2027 (tarjetas de tarifas) ---------------- */
.ciah-tickets-soon {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 1rem;
  padding: .5rem 1.1rem;
  border-radius: 50px;
  background: rgba(214,102,36,.1);
  color: var(--ciah-orange-dark);
  font-weight: 600;
  font-size: .85rem;
}

.ciah-ticket-card {
  position: relative;
  height: 100%;
  background: #fff;
  border-radius: 20px;
  border-top: 4px solid var(--ciah-navy);
  padding: 2.25rem 1.75rem 2rem;
  box-shadow: 0 10px 30px rgba(11,31,58,.08);
  display: flex;
  flex-direction: column;
  transition: transform var(--ciah-transition), box-shadow var(--ciah-transition), border-color var(--ciah-transition);
}
.ciah-ticket-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 50px rgba(11,31,58,.16);
  border-top-color: var(--ciah-orange);
}
.ciah-ticket-card--featured {
  border-top-color: var(--ciah-orange);
  box-shadow: 0 20px 45px rgba(214,102,36,.2);
}
.ciah-ticket-badge {
  position: absolute;
  top: -14px;
  right: 24px;
  background: var(--ciah-orange);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 50px;
  box-shadow: 0 8px 20px rgba(214,102,36,.35);
}
.ciah-ticket-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--ciah-gray-light);
  color: var(--ciah-orange);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 1.25rem;
  transition: background var(--ciah-transition), color var(--ciah-transition);
}
.ciah-ticket-card:hover .ciah-ticket-icon { background: var(--ciah-orange); color: #fff; }
.ciah-ticket-name {
  font-family: var(--ciah-font-display);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--ciah-navy);
  margin-bottom: .5rem;
}
.ciah-ticket-desc { color: var(--ciah-gray); font-size: .88rem; margin-bottom: 1rem; }
.ciah-ticket-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 1px solid #ecedf2;
}
.ciah-ticket-price-currency { font-size: .85rem; font-weight: 600; color: var(--ciah-gray); }
.ciah-ticket-price-amount {
  font-family: var(--ciah-font-display);
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--ciah-navy);
}
.ciah-ticket-benefits {
  list-style: none;
  padding: 0;
  margin: 0 0 1.75rem;
  flex-grow: 1;
}
.ciah-ticket-benefits li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .92rem;
  color: var(--ciah-gray);
  margin-bottom: .65rem;
  line-height: 1.4;
}
.ciah-ticket-benefits li i { color: var(--ciah-orange); margin-top: 3px; }
.ciah-ticket-cta { margin-top: auto; font-weight: 700; }

/* ---------------- Speakers ---------------- */
.ciah-speaker-card {
  background: #fff;
  border-radius: var(--ciah-radius);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(11,31,58,.08);
  transition: transform var(--ciah-transition), box-shadow var(--ciah-transition);
  height: 100%;
  cursor: pointer;
}
.ciah-speaker-card:focus-visible {
  outline: 3px solid var(--ciah-orange);
  outline-offset: 2px;
}
.ciah-speaker-flag { font-size: 1.05em; margin-right: 2px; }
.ciah-speaker-photo {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--ciah-gray-light);
}
.ciah-speaker-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform .5s ease;
}
.ciah-speaker-card:hover .ciah-speaker-photo img { transform: scale(1.08); }
.ciah-speaker-info { padding: 16px; text-align: center; }
.ciah-speaker-info h5 { font-size: 1rem; font-weight: 700; color: var(--ciah-navy); margin-bottom: 4px; }
.ciah-speaker-role { font-size: .82rem; color: var(--ciah-orange); font-weight: 600; margin-bottom: 2px; }
.ciah-speaker-meta { font-size: .76rem; color: var(--ciah-gray); margin-bottom: 0; }
.ciah-speaker-desc {
  font-size: .78rem;
  color: #55606f;
  margin: 8px 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---------------- Carruseles (Conferencistas y Galería, vía Splide) ---------------- */
.ciah-carousel-shell { position: relative; padding: 0 46px; }
.ciah-speakers-splide .splide__track,
.ciah-gallery-splide .splide__track,
.ciah-sponsors-splide .splide__track { padding: 14px 4px 8px; overflow: hidden; }
.ciah-speakers-splide .splide__slide,
.ciah-gallery-splide .splide__slide,
.ciah-sponsors-splide .splide__slide { height: auto; padding: 6px; }
.ciah-speakers-splide .splide__list,
.ciah-gallery-splide .splide__list,
.ciah-sponsors-splide .splide__list { align-items: stretch; }
.ciah-speaker-card { will-change: transform; }
.ciah-speaker-card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 20px 40px rgba(11,31,58,.18);
  position: relative;
  z-index: 2;
}
.ciah-gallery-splide .ciah-gallery-item { height: 100%; }

/* Flechas de navegación: anaranjado de marca, sin desplazar el contenido */
.splide__arrow {
  background: var(--ciah-orange);
  opacity: 1;
  width: 42px;
  height: 42px;
  transition: background var(--ciah-transition), transform var(--ciah-transition);
}
.splide__arrow svg { fill: #fff; width: 16px; height: 16px; }
.splide__arrow:hover:not(:disabled) { background: var(--ciah-orange-dark); transform: translateY(-50%) scale(1.08); }
.splide__arrow:disabled { opacity: .3; }
.splide__arrow--prev { left: -4px; }
.splide__arrow--next { right: -4px; }

/* Indicadores/puntos: activo en anaranjado */
.splide__pagination {
  position: static;
  margin-top: 16px;
  padding: 0;
}
.splide__pagination__page {
  background: rgba(11,31,58,.25);
  opacity: 1;
  width: 9px;
  height: 9px;
  margin: 3px;
  transition: background var(--ciah-transition), transform var(--ciah-transition);
}
.splide__pagination__page.is-active {
  background: var(--ciah-orange);
  transform: scale(1.3);
}
.splide__pagination__page:hover { background: var(--ciah-orange-light); }

@media (max-width: 575.98px) {
  .ciah-carousel-shell { padding: 0 8px; }
  .splide__arrow { width: 34px; height: 34px; }
  .splide__arrow--prev { left: -2px; }
  .splide__arrow--next { right: -2px; }
}

/* ---------------- Agenda ---------------- */
.ciah-agenda-soon {
  background: #fff;
  border: 2px dashed #dde3ec;
  border-radius: var(--ciah-radius);
  padding: 60px 30px;
  color: var(--ciah-gray);
}
.ciah-agenda-soon i { font-size: 3rem; color: var(--ciah-orange); margin-bottom: 1rem; display: block; }
.ciah-accordion .accordion-button {
  font-family: var(--ciah-font-display);
  font-weight: 700;
  color: var(--ciah-navy);
  background: #fff;
}
.ciah-accordion .accordion-button:not(.collapsed) {
  background: var(--ciah-navy);
  color: #fff;
}
.ciah-accordion .accordion-button:focus { box-shadow: none; }
.ciah-agenda-list { list-style: none; padding: 0; margin: 0; }
.ciah-agenda-list li {
  display: flex;
  gap: 18px;
  padding: 12px 0;
  border-bottom: 1px solid #eef1f5;
}
.ciah-agenda-list li:last-child { border-bottom: none; }
.ciah-agenda-time {
  min-width: 100px;
  font-weight: 700;
  color: var(--ciah-orange);
  flex-shrink: 0;
}
.ciah-agenda-activity { color: #333; }

/* ---------------- Sponsors (carrusel Splide) ---------------- */
.ciah-sponsors-group { margin-bottom: 40px; }
.ciah-sponsors-group:last-child { margin-bottom: 0; }
.ciah-sponsors-tier-title {
  font-family: var(--ciah-font-display);
  color: var(--ciah-navy);
  text-align: center;
  font-size: 1.25rem;
  margin-bottom: 18px;
}
/* Cuando una categoria tiene exactamente 1 patrocinador activo, no se
   renderiza Splide: se muestra el logo en un contenedor estatico centrado
   para evitar anchos/transformaciones propias del carrusel. */
.ciah-sponsor-single-shell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 138px;
  width: 100%;
}
.ciah-sponsor-logo--single {
  width: min(100%, 360px);
  max-width: 360px;
  margin: 0 auto;
}
.ciah-sponsor-logo {
  background: #fff;
  border: 1px solid #eef1f5;
  border-radius: 12px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110px;
  width: 100%;
  overflow: hidden;
  transition: box-shadow var(--ciah-transition), transform var(--ciah-transition);
}
.ciah-sponsor-logo:hover { box-shadow: 0 12px 30px rgba(11,31,58,.12); transform: translateY(-4px) scale(1.04); }
.ciah-sponsor-logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
/* Cada logo trae su propio --logo-scale (ver index.php) para compensar
   el espacio transparente que algunos archivos tienen alrededor de la
   marca real, de forma que todos los patrocinadores tengan un peso
   visual equilibrado sin deformarse ni recortarse. El contenedor tiene
   overflow:hidden para que, al aumentar la escala, solo se recorte el
   margen transparente sobrante (nunca la marca, que queda centrada). */
.ciah-sponsor-logo img {
  max-height: 60px;
  max-width: 82%;
  width: auto;
  height: auto;
  object-fit: contain;
  transform: scale(var(--logo-scale, 1));
  transition: transform var(--ciah-transition);
}

/* ---------------- Galería ---------------- */
/* Pestañas de categoría (100% administrables desde Dashboard → Galería) */
.ciah-gallery-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 28px 0 8px;
}
.ciah-gallery-tab {
  border: 2px solid var(--ciah-navy);
  background: #fff;
  color: var(--ciah-navy);
  font-weight: 700;
  font-size: .85rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 9px 22px;
  border-radius: 999px;
  cursor: pointer;
  transition: background var(--ciah-transition), color var(--ciah-transition), transform var(--ciah-transition);
}
.ciah-gallery-tab:hover { transform: translateY(-2px); }
.ciah-gallery-tab.active {
  background: var(--ciah-orange);
  border-color: var(--ciah-orange);
  color: #fff;
}
.ciah-gallery-panel.d-none { display: none; }
.ciah-gallery-album { margin-bottom: 56px; }
.ciah-gallery-album:last-child { margin-bottom: 0; }
.ciah-gallery-album-header {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  text-align: center;
  position: relative;
  padding-bottom: 12px;
}
.ciah-gallery-album-header::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 64px; height: 3px;
  background: var(--ciah-orange);
  border-radius: 3px;
}
.ciah-gallery-album-title {
  font-family: var(--ciah-font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ciah-navy);
  margin: 0;
}
.ciah-gallery-album-count { font-size: .85rem; color: var(--ciah-gray); text-transform: uppercase; letter-spacing: .04em; }
.ciah-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (min-width: 768px) { .ciah-gallery-grid { grid-template-columns: repeat(4, 1fr); } }
.ciah-gallery-item {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 12px;
  aspect-ratio: 1/1;
}
.ciah-gallery-item img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .5s ease;
}
.ciah-gallery-item:hover img { transform: scale(1.1); }
.ciah-gallery-zoom {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(11,31,58,.45);
  color: #fff; font-size: 1.6rem;
  opacity: 0;
  transition: opacity var(--ciah-transition);
}
.ciah-gallery-item:hover .ciah-gallery-zoom { opacity: 1; }

/* Lightbox */
.ciah-lightbox {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(7,21,39,.95);
  display: none;
  align-items: center; justify-content: center;
}
.ciah-lightbox.active { display: flex; }
.ciah-lightbox img { max-width: 90vw; max-height: 85vh; border-radius: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.ciah-lightbox-close, .ciah-lightbox-prev, .ciah-lightbox-next {
  position: absolute; background: rgba(255,255,255,.1); border: none; color: #fff;
  width: 48px; height: 48px; border-radius: 50%; font-size: 1.2rem;
  display: flex; align-items: center; justify-content: center;
  transition: background var(--ciah-transition);
}
.ciah-lightbox-close:hover, .ciah-lightbox-prev:hover, .ciah-lightbox-next:hover { background: rgba(255,255,255,.25); }
.ciah-lightbox-close { top: 24px; right: 24px; }
.ciah-lightbox-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.ciah-lightbox-next { right: 24px; top: 50%; transform: translateY(-50%); }

/* ---------------- Modal ---------------- */
.ciah-modal { border-radius: 18px; border: none; }
.ciah-modal-icon { font-size: 3rem; color: var(--ciah-orange); }

/* ---------------- Footer ---------------- */
.ciah-footer { background: var(--ciah-navy-dark); color: #c3ccdb; padding: 80px 0 24px; }
.ciah-footer-heading { color: #fff; font-weight: 700; margin-bottom: 1.25rem; text-transform: uppercase; letter-spacing: .05em; font-size: .9rem; }
.ciah-footer-list { list-style: none; padding: 0; margin: 0; }
.ciah-footer-list li { margin-bottom: .9rem; font-size: .92rem; }
.ciah-footer-list a { color: #c3ccdb; transition: color var(--ciah-transition); }
.ciah-footer-list a:hover { color: var(--ciah-orange-light); }
.ciah-footer-list i { color: var(--ciah-orange-light); margin-right: 8px; }
.ciah-footer-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 50%;
  background: rgba(255,255,255,.06); color: #fff; margin-right: 10px;
  transition: background var(--ciah-transition), color var(--ciah-transition);
}
.ciah-footer-social a:hover { background: var(--ciah-orange); color: var(--ciah-white); }
.ciah-footer-logo {
  height: clamp(44px, 5vw, 64px);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.ciah-footer-divider { border-color: rgba(255,255,255,.08); margin: 40px 0 24px; }
.ciah-footer-copy { font-size: .82rem; color: #7c88a0; text-align: center; margin: 0; }

/* Floating CTA */
.ciah-floating-cta {
  position: fixed; bottom: 24px; right: 24px; z-index: 900;
  width: 58px; height: 58px; border-radius: 50%;
  background: var(--ciah-orange);
  color: var(--ciah-white);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  box-shadow: 0 10px 30px rgba(214,102,36,.45);
  animation: ciahPulse 2.4s infinite;
  transition: background var(--ciah-transition);
}
.ciah-floating-cta:hover { background: var(--ciah-orange-dark); color: var(--ciah-white); }
@keyframes ciahPulse {
  0% { box-shadow: 0 0 0 0 rgba(214,102,36,.5); }
  70% { box-shadow: 0 0 0 16px rgba(214,102,36,0); }
  100% { box-shadow: 0 0 0 0 rgba(214,102,36,0); }
}

/* ---------------- Animaciones de aparición (fade/slide) ---------------- */
[data-aos] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
[data-aos].aos-animate { opacity: 1; transform: translateY(0); }
[data-aos="fade-right"] { transform: translateX(-24px); }
[data-aos="fade-right"].aos-animate { transform: translateX(0); }
[data-aos="fade-left"] { transform: translateX(24px); }
[data-aos="fade-left"].aos-animate { transform: translateX(0); }
[data-aos="zoom-in"] { transform: scale(.92); }
[data-aos="zoom-in"].aos-animate { transform: scale(1); }
[data-aos="fade-down"] { transform: translateY(-16px); }
[data-aos="fade-down"].aos-animate { transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  [data-aos] { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* ---------------- Responsive ---------------- */
@media (max-width: 991.98px) {
  .ciah-section { padding: 52px 0; }
  .ciah-hero-content { padding: 120px 15px 60px; }
  .ciah-about-media img { height: 300px; }
  .ciah-about-badge { position: static; margin-top: -30px; }
}
@media (max-width: 575.98px) {
  .ciah-countdown-box { min-width: 76px; padding: 12px 6px; }
  .ciah-hero-actions .btn { width: 100%; }
  .ciah-form-card { padding: 24px; }
}

/* ---------------- Modal de conferencista (info completa) ---------------- */
.ciah-speaker-modal-content { border-radius: var(--ciah-radius); overflow: hidden; }
.ciah-speaker-modal-photo { width: 100%; max-width: 220px; aspect-ratio: 1/1; object-fit: cover; }
.ciah-speaker-modal-role { color: var(--ciah-orange); font-weight: 700; }
.ciah-speaker-modal-desc { color: #444; white-space: pre-line; }
.ciah-speaker-modal-social { display: flex; gap: 10px; margin-top: 16px; }
.ciah-speaker-modal-social-link {
  width: 38px; height: 38px; border-radius: 50%; background: var(--ciah-navy);
  color: #fff; display: flex; align-items: center; justify-content: center;
  text-decoration: none; transition: background var(--ciah-transition);
}
.ciah-speaker-modal-social-link:hover { background: var(--ciah-orange); color: #fff; }
@media (max-width: 767.98px) {
  .ciah-speaker-modal-photo { max-width: 140px; margin-bottom: 16px; }
}

/* ---------------- Round Trip Roatán ---------------- */
.ciah-roatan-section { background: linear-gradient(135deg, #0b1f3a 0%, #123156 100%); color: #fff; }
.ciah-roatan-banner {
  width: 100%;
  border-radius: var(--ciah-radius);
  overflow: hidden;
  box-shadow: 0 20px 45px rgba(0,0,0,.25);
  object-fit: cover;
  display: block;
  max-height: 380px;
}
.ciah-roatan-banner-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.08);
  border: 1px dashed rgba(255,255,255,.35);
  border-radius: var(--ciah-radius);
  color: rgba(255,255,255,.7);
  font-size: 2.5rem;
}
.ciah-text-lead { font-size: 1.15rem; font-weight: 600; color: inherit; margin-bottom: .5rem; }
.ciah-roatan-info-list { padding: 0; margin: 20px 0; }
.ciah-roatan-info-item { display: flex; align-items: flex-start; gap: 10px; padding: 6px 0; color: rgba(255,255,255,.9); }
.ciah-roatan-info-item i { color: var(--ciah-orange); margin-top: 3px; flex-shrink: 0; }
.ciah-roatan-subheading { color: #fff; font-weight: 700; font-size: 1rem; text-transform: uppercase; letter-spacing: .03em; }
.ciah-roatan-form-card {
  background: #fff;
  border-radius: var(--ciah-radius);
  padding: 32px;
  color: #1c2733;
  box-shadow: 0 20px 45px rgba(0,0,0,.2);
}
