/* ==========================================================================
   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; }
/* Entre 992px y 1199px (breakpoint "lg" recién activado) el menú completo
   (8 enlaces + botón "Inscribirme") es más ajustado. Se reduce el
   espaciado horizontal entre elementos -manteniendo el mismo tamaño de
   fuente en todos- para que "Sobre CIAH" y el resto del menú quepan
   siempre en una sola línea, sin saltos de línea ni scroll horizontal. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .ciah-navbar .nav-link { padding: 8px 9px !important; letter-spacing: .01em; }
  .ciah-navbar .navbar-nav.gap-lg-2 { gap: .25rem !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(48px, 6vw + 20px, 84px);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  transition: height var(--ciah-transition);
}
.ciah-navbar.scrolled .ciah-navbar-logo {
  height: clamp(40px, 5vw + 16px, 64px);
}

/* ---------------- 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)),
    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: 100px 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%;
}
.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;
}
.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 ---------------- */
.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: 70px 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; }
}
