.elementor-kit-5{--e-global-color-primary:#B76780;--e-global-color-secondary:#E0A5B8;--e-global-color-text:#000000;--e-global-color-accent:#FFFFFF;--e-global-color-de0088a:#9F6F8A;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 h2{font-weight:500;text-transform:uppercase;}.elementor-kit-5 h5{color:var( --e-global-color-de0088a );font-weight:600;}.elementor-kit-5 h6{font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5 h2{font-size:15px;}.elementor-kit-5 h3{font-size:14px;}.elementor-kit-5 h5{font-size:15px;}.elementor-kit-5 h6{font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== PANEL ROSA: recorta todo lo de dentro ===== */
.panel-rosa{
  position: relative;
  overflow: hidden;
  border-radius: 5px; /* ajusta si usas otro radio */
}
/* ===== CARRIL HORIZONTAL (scroll) ===== */
.carril-audiovisual,
.carril-audiovisual > .e-con-inner{
  display: flex;
  flex-direction: row;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  padding: 0 16px 8px;
  scrollbar-width: none;
}
.carril-audiovisual::-webkit-scrollbar,
.carril-audiovisual > .e-con-inner::-webkit-scrollbar{ display:none; }

/* ===== TARJETAS ===== */
/* Móvil: ~2,5 tarjetas (cambia /2.2 por /2 si quieres 2 exactas) */
.carril-audiovisual .card{
  position: relative;
  flex: 0 0 calc((100% - 32px - 24px) / 2.2);
  aspect-ratio: 1080 / 1350;
  border-radius: 18px;
  overflow: hidden;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  background: none;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
  padding: 0 !important;
  line-height: 0;
}
.carril-audiovisual .card > .e-con-inner{ padding: 0 !important; }

/* Tablet/desktop: 3 tarjetas completas */
@media (min-width: 768px){
  .carril-audiovisual .card{
    flex-basis: calc((100% - 32px - 24px*2) / 3);
  }
}
@media (min-width: 1024px){
  .carril-audiovisual .card{
    flex-basis: calc((100% - 32px - 24px*2) / 3);
  }
}

/* ===== GALERÍA DENTRO DE LA TARJETA (mostrar solo la 1ª) ===== */
.carril-audiovisual .card .elementor-widget-gallery{
  position: absolute; inset: 0;
  margin: 0 !important;
  z-index: 1;
}
.carril-audiovisual .card .elementor-widget-gallery .e-gallery,
.carril-audiovisual .card .elementor-widget-gallery .elementor-gallery__container{
  width: 100% !important;
  height: 100% !important;
}

/* Ocultar del 2º ítem en adelante */
.carril-audiovisual .card .elementor-widget-gallery .e-gallery-item:nth-child(n+2),
.carril-audiovisual .card .elementor-widget-gallery .elementor-gallery-item:nth-child(n+2){
  display: none !important;
}

/* La miniatura visible debe rellenar 100% la tarjeta */
.carril-audiovisual .card .elementor-widget-gallery .e-gallery-item,
.carril-audiovisual .card .elementor-widget-gallery .elementor-gallery-item{
  width: 100% !important;
  height: 100% !important;
}
.carril-audiovisual .card .elementor-widget-gallery .e-gallery-item a,
.carril-audiovisual .card .elementor-widget-gallery .elementor-gallery-item a{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.carril-audiovisual .card .elementor-widget-gallery img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Por si usas alguna galería auxiliar en la página */
.hidden-gallery{ display:none !important; }
/* Carril totalmente transparente y sin bordes/sombra */
.carril-audiovisual,
.carril-audiovisual > .e-con-inner{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-bottom: 0; /* elimina la banda inferior */
}
/* ================= ICONOS EN TARJETAS (.card) =================
   Clases en cada widget dentro de .card:
   - Enlace IG:  .corner      (arriba derecha)
   - Contador:   .badge       (abajo izquierda)  → puede ser Icono o Imagen + nº
   - Play vídeo: .play        (abajo derecha)
   No uses "Posición: Absoluto" en Elementor; este CSS ya lo hace.
================================================================ */

.carril-audiovisual .card{
  position: relative;                           /* referencia para absolutos */

  /* Distancia a las esquinas (auto-escala entre móviles y pantallas grandes) */
  --pad: clamp(8px, 1.8vw, 16px);

  /* Tamaños individuales de iconos */
  --icon-corner: clamp(24px, 2.6vw, 26px);      /* IG (arriba-dcha) */
  --icon-play:   clamp(18px, 2.2vw, 18px);      /* Play (abajo-dcha) */
  --icon-badge:  clamp(34px, 2.6vw, 35px);      /* Contador (abajo-izda) */

  /* Texto y padding del badge */
  --badgeText:  clamp(10px, 1.6vw, 12px);
  --badgePadV:  clamp(4px, 0.6vw, 6px);
  --badgePadH:  clamp(8px, 1vw, 12px);

  /* Offsets específicos del badge (más pegado a la esquina) */
  --badge-left:   clamp(px, 1.2vw, 12px);
  --badge-bottom: clamp(1px, 1.2vw, 1px);

  /* Si tu SVG del badge tiene “aire”, súbelo un poco: 1.0 → normal, 1.2 → +20% */
  --badgeScale: 1;
}
/* Absolutos respecto a la tarjeta */
.carril-audiovisual .card .corner,
.carril-audiovisual .card .play,
.carril-audiovisual .card .badge{
  position: absolute !important;
  z-index: 10;
  margin: 0 !important;
}
/* Esquinas consistentes en todas las pantallas */
.carril-audiovisual .card .corner{
  top: var(--pad) !important; right: var(--pad) !important;
  left:auto !important; bottom:auto !important;
}
.carril-audiovisual .card .play{
  bottom: var(--pad) !important; right: var(--pad) !important;
  left:auto !important; top:auto !important;
}
.carril-audiovisual .card .badge{
  bottom: var(--badge-bottom) !important; left: var(--badge-left) !important;
  right:auto !important; top:auto !important;
  display: inline-flex; align-items: center; gap: 6px;
  padding: var(--badgePadV) var(--badgePadH);
  /* Si quieres “pill” oscuro, descomenta:
  background: rgba(0,0,0,.55); border-radius: 8px;
  */
}
/* Tamaños de cada icono (widgets de Icono) */
.carril-audiovisual .card .corner .elementor-icon i,
.carril-audiovisual .card .corner .elementor-icon svg{
  width: var(--icon-corner); height: var(--icon-corner); font-size: var(--icon-corner);
}
.carril-audiovisual .card .play .elementor-icon i,
.carril-audiovisual .card .play .elementor-icon svg{
  width: var(--icon-play); height: var(--icon-play); font-size: var(--icon-play);
}
/* BADGE robusto: funciona si usas Icono o Imagen para el pictograma */
.carril-audiovisual .card .badge .elementor-icon,
.carril-audiovisual .card .badge .elementor-icon-wrapper,
.carril-audiovisual .card .badge .elementor-image,
.carril-audiovisual .card .badge .elementor-widget-image{
  width: var(--icon-badge) !important;
  height: var(--icon-badge) !important;
  min-width: var(--icon-badge) !important;
  min-height: var(--icon-badge) !important;
  display: inline-flex !important; align-items: center; justify-content: center;
  margin: 0 !important; padding: 0 !important;
}
.carril-audiovisual .card .badge .elementor-icon i,
.carril-audiovisual .card .badge .elementor-icon svg,
.carril-audiovisual .card .badge .elementor-widget-image img,
.carril-audiovisual .card .badge img{
  width: 100% !important; height: 100% !important;
  object-fit: contain !important; display: block !important;
  transform: scale(var(--badgeScale)); transform-origin: center;
}
/* Limpieza: sin fondo circular/bordes del widget Icono */
.carril-audiovisual .card .corner .elementor-icon,
.carril-audiovisual .card .play   .elementor-icon,
.carril-audiovisual .card .badge  .elementor-icon{
  background: none !important; border: none !important; box-shadow: none !important;
}
.carril-audiovisual .card .corner .elementor-icon i,
.carril-audiovisual .card .corner .elementor-icon svg,
.carril-audiovisual .card .play   .elementor-icon i,
.carril-audiovisual .card .play   .elementor-icon svg{
  color:#fff; fill:#fff;
}
/* Tipografía del número del badge */
.carril-audiovisual .card .badge .elementor-heading-title,
.carril-audiovisual .card .badge .elementor-text-editor{
  font-size: var(--badgeText); line-height:1; margin:0 !important; color:#fff;
}
/* Asegura que la galería quede debajo de los iconos */
.carril-audiovisual .card .elementor-widget-gallery{ z-index: 1; }
/* Más espacio del play a la esquina (global) */
.carril-audiovisual .card{
  --play-right: 8px;   /* antes eran ~12px; súbelo a tu gusto */
  --play-bottom: 12px;
}
.carril-audiovisual .card .play{
  right:  var(--play-right)  !important;
  bottom: var(--play-bottom) !important;
}
/* ===== Visibilidad por dispositivo ===== */
.solo-movil{ display:block; }
.solo-desktop{ display:none; }

@media (min-width:1024px){
  .solo-movil{ display:none !important; }
  .solo-desktop{ display:block !important; }
}
/* ===== Desktop: 4,5 tarjetas visibles en el carrusel duplicado ===== */
@media (min-width:1024px){
  /* Mantén el mismo gap/padding del carril (ajústalo si quieres) */
  .solo-desktop .carril-audiovisual,
  .solo-desktop .carril-audiovisual > .e-con-inner{
    gap: 35px;
    padding: 0 24px 12px;
  }
  /* 4 y “media” tarjeta visibles en desktop */
  .solo-desktop .carril-audiovisual .card{
    /* 4.5 columnas: divide el ancho del carril entre 4.5 y descuenta ~4 gaps */
    flex: 0 0 calc((100% - (35px * 4)) / 4.5);
    aspect-ratio: 1080 / 1350; /* mantiene tu formato 4:5 */
  }
  /* (Opcional) Iconos un pelín mayores y separación a esquinas */
  .solo-desktop .carril-audiovisual .card{
    --icon-corner: 26px;
    --icon-play:   20px;
    --icon-badge:  36px;
    --pad:         14px;  /* distancia a las esquinas */
  }
  /* Si prefieres 5 tarjetas completas (sin asomar media), usa esto en lugar del de arriba:
  .solo-desktop .carril-audiovisual .card{
    flex: 0 0 calc((100% - (24px * 4)) / 5);
  }
  */
}
/* ===== Desktop: que la GALERÍA rellene la tarjeta al 100% (sin bordes) ===== */
@media (min-width:1024px){

  /* 0 de gutter/espaciado en la galería */
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery .e-gallery{
    --gutter-size: 0px !important;  /* Elementor moderno */
    gap: 0 !important;               /* por si usa gap */
  }

  /* El widget ocupa toda la tarjeta */
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery{
    position: absolute; inset: 0;
    margin: 0 !important;
    z-index: 1;
  }
  /* Contenedores internos a 100% */
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery .e-gallery,
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery .elementor-gallery__container,
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery .e-gallery-items{
    width: 100% !important;
    height: 100% !important;
  }
  /* El único item visible, sin márgenes ni padding y ocupando todo */
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery .e-gallery-item,
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery .elementor-gallery-item{
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  /* El <a> y la imagen rellenan 100% */
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery .e-gallery-item a,
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery .elementor-gallery-item a{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }
  .solo-desktop .carril-audiovisual .card .elementor-widget-gallery img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }
  /* (Opcional) Por si alguna tarjeta lleva Carrusel de medios: que también llene */
  .solo-desktop .carril-audiovisual .card .elementor-widget-media-carousel .swiper,
  .solo-desktop .carril-audiovisual .card .elementor-widget-media-carousel .elementor-swiper,
  .solo-desktop .carril-audiovisual .card .elementor-widget-media-carousel .swiper-wrapper,
  .solo-desktop .carril-audiovisual .card .elementor-widget-media-carousel .swiper-slide{
    height: 100% !important;
  }
  .solo-desktop .carril-audiovisual .card .elementor-widget-media-carousel img,
  .solo-desktop .carril-audiovisual .card .elementor-widget-media-carousel video{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}
/* =====================  EVENTOS  ===================== */
/* Panel rosa: puedes reutilizar .panel-rosa tal cual. Si prefieres otro radio: */
/* .panel-rosa{ border-radius: 5px; } */

/* Carril horizontal de EVENTOS (idéntico al audiovisual, fondo transparente) */
.carril-eventos,
.carril-eventos > .e-con-inner{
  display: flex;
  flex-direction: row;
  gap: 24px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  padding: 0 16px 8px;
  scrollbar-width: none;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.carril-eventos::-webkit-scrollbar,
.carril-eventos > .e-con-inner::-webkit-scrollbar{ display:none; }

/* TARJETA de EVENTOS (sin radios, sin sombra) */
.carril-eventos .card-evento{
  position: relative;
  flex: 0 0 calc((100% - 32px - 24px) / 2.2); /* ~2,5 visibles en móvil */
  /* La tarjeta ya no tiene ratio fijo porque debajo lleva textos */
  border-radius: 0;
  overflow: visible;
  background: none;
  box-shadow: none;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  padding: 0 !important;
}
.carril-eventos .card-evento > .e-con-inner{
  display: flex;
  flex-direction: column;
  gap: 6px;              /* separación imagen ↔ textos */
  padding: 0 !important;
}
/* Imagen con formato 4:5 (estilo Instagram vertical) */
.carril-eventos .img-45{            /* clase en el widget Imagen */
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 0;                 /* sin esquinas redondeadas */
}
.carril-eventos .img-45 img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
/* Tipografías */
.carril-eventos .titulo-evento{
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12px;      /* lo que pediste */
  line-height: 1.2;
  text-align: center;
  margin: 2px 0 0 !important;
  color: #212121;       /* ajusta si quieres */
}
.carril-eventos .desc-evento{
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 10px;      /* lo que pediste */
  line-height: 1.35;
  text-align: center;
  margin: 0 !important;
  color: #444;          /* ajusta si quieres */
}
/* Tablet/desktop: 3 tarjetas completas (puedes pasar a 4 si quieres) */
@media (min-width: 768px){
  .carril-eventos .card-evento{
    flex-basis: calc((100% - 32px - 24px*2) / 3);
  }
}
@media (min-width: 1024px){
  .carril-eventos .card-evento{
    flex-basis: calc((100% - 32px - 24px*2) / 3);
  }
}
/* ===================================================== */
/* ====== EVENTOS: carril con padding simétrico ====== */
.carril-eventos,
.carril-eventos > .e-con-inner{
  padding: 12px 16px;              /* antes tenías 0 arriba y 8 abajo */
}
/* ====== Tarjeta eventos ====== */
.carril-eventos .card-evento{
  position: relative;
  display: flex;                    /* columna forzada */
  flex-direction: column;
  gap: 6px;                         /* separa imagen y textos */
  border-radius: 0;                 /* sin radios */
  box-shadow: none;
  overflow: visible;
  /* ~2,5 tarjetas en móvil (ajusta a /2 si quieres 2 exactas) */
  flex: 0 0 calc((100% - 32px - 24px) / 2.2);
}
/* Imagen SIEMPRE misma altura: 4:5 */
.carril-eventos .img-45{
  width: 100%;
  aspect-ratio: 4 / 5;              /* fija el alto por el ancho */
  overflow: hidden;
}
.carril-eventos .img-45 img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
/* Título: reserva 1 línea y recorta si se pasa */
.carril-eventos .titulo-evento{
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.2;
  text-align: center;
  margin: 2px 0 0 !important;

  /* mismo alto en todas: 1 línea */
  min-height: 1.2em;
  max-height: 1.2em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
/* Descripción: reserva 2 líneas y recorta si se pasa */
.carril-eventos .desc-evento{
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 10px;
  line-height: 1.35;
  text-align: center;
  margin: 0 !important;
  color: #444;

  /* mismo alto en todas: 2 líneas */
  min-height: calc(2 * 1.35em);
  max-height: calc(2 * 1.35em);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
/* Tablet / Desktop: 3 tarjetas completas (ajusta si quieres 4 en desktop) */
@media (min-width: 768px){
  .carril-eventos .card-evento{
    flex-basis: calc((100% - 32px - 24px*2) / 3);
  }
}
@media (min-width: 1024px){
  .carril-eventos .card-evento{
    flex-basis: calc((100% - 32px - 24px*2) / 3);
  }
}
.carril-audiovisual .card{
  flex: 0 0 calc((100% - 32px - 16px) / 1.9);
  aspect-ratio: 4 / 5;
}
.carril-audiovisual, .carril-audiovisual > .e-con-inner{ gap:16px; } /* opcional: menos hueco *//* End custom CSS */