/* =============================================================================
   EVENTOS – HOJA MAESTRA (v3.2)
   
   Índice de secciones:
   0) Tokens y utilidades
   1) Carrusel (Swiper): estructura, tarjeta y controles
   2) Carrusel – responsive (móvil)
   3) Calendario (EM)
   4) Variante Perenne (Anual) – desktop
   5) Single Event (páginas individuales) + compartir
   6) Grillas (ecv-grid) y tarjetas en listados
   7) Listado EM (event list): imagen, meta y botón “Más información”
   8) CTA “Oficina virtual” (ajustes)
   9) Overrides de costo (Gratuito/Arancelado)
   10) Barra de Búsqueda (Events Manager) - Personalización Compacta
   ========================================================================== */


/* ============================================================================
   0) TOKENS Y UTILIDADES (variables, resets suaves)
   ========================================================================== */
:root { 
  --card-lh: 1.35; /* altura de línea para títulos/meta en cards */
}

/* Reset suave de tipografías internas en tarjetas del carrusel */
body .event-card *,
body .event-card .event-date,
body .event-card .event-time,
body .event-card .event-location {
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: 1.2 !important;
}

/* Ocultar sidebar ajeno de EM en algunos listados */
.em-item-meta-column { 
  display: none !important;
}


/* ============================================================================
   1) CARRUSEL (Swiper): contenedor, slides, tarjeta e iconografía
   ========================================================================== */

/* Evitar FOUC hasta que Swiper inicializa */
body .eventos-swiper {
  padding: 40px 0;
  visibility: hidden;           /* se muestra al tener .swiper-initialized */
  overflow: hidden;             /* evita que asome media tarjeta */
  backface-visibility: hidden;  /* reduce jitter */
  -webkit-font-smoothing: antialiased;
  --meta-lh: 1.35;              /* línea unificada fecha/hora/lugar/categorías */
}
body .eventos-swiper.swiper-initialized { visibility: visible; }

/* Slides desktop (ancho fijo de cada slide) */
body .swiper-slide {
  width: 280px !important;
  max-width: 280px !important;
  margin-left: 15px;
  margin-right: 15px;
}

/* Tarjeta base dentro del carrusel (altura SOLO aquí) */
body .eventos-swiper .event-card{
  height: 540px; /* ← altura exclusiva del carrusel */
  display: block;
  background: var(--ec-bg, #fff);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 6px rgba(0,0,0,.10) !important;
  transition: transform .3s ease;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: 1.2 !important;
  color: inherit !important;
}
body .eventos-swiper .event-card:hover { transform: scale(1.05); }

/* Bloques internos de tarjeta en carrusel */
body .event-image {
  height: 300px; /* área de imagen del carrusel */
  background-size: cover;
  background-position: center;
  will-change: transform;
}
body .event-title {
  margin: 12px 0 10px !important;
  font-size: 18px !important;
  font-weight: bold !important;
  color: var(--ec-text, black) !important;
  text-align: center !important;
  height: 48px;                  /* 2 líneas de 24px */
  line-height: 24px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
body .event-info {
  padding: 0 20px 10px !important;
  font-size: 14px !important;
  color: var(--ec-text, #000) !important;
}
body .event-info div {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px; /* separación unificada */
}
body .event-info div:last-child { margin-bottom: 0 !important; }
body .event-info i {
  padding: 0;
  color: var(--ec-accent, #00aa55) !important;
  font-size: 18px !important;
  font-weight: bold !important;
  vertical-align: middle;
}

/* Metas con misma altura de línea */
body .event-date,
body .event-time,
body .event-location,
body .event-category { line-height: var(--meta-lh) !important; }

/* Línea de categoría/organizador dentro del carrusel */
body .event-category,
body .event-organizer {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  font-size: 14px !important;
  color: var(--ec-text, #000) !important;
}
body .event-category i,
body .event-organizer i {
  color: var(--ec-accent, #00aa55) !important;
  font-size: 18px !important;
  font-weight: bold !important;
  vertical-align: middle;
}
body .event-category.is-empty { opacity: .85; font-style: italic; }

/* Controles del carrusel */
body .swiper-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 30px;
  position: relative;
}
body .swiper-pagination {
  position: static !important;
  width: auto !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  order: 2; /* paginación al medio */
  margin: 0 !important;
}
body .swiper-button-prev,
body .swiper-button-next {
  position: relative;
  z-index: 10;
  color: var(--ec-accent, #00aa55);
  width: 28px; height: 28px;
  transform: scale(0.5);
  display: flex; justify-content: center; align-items: center;
  background: none; border: none;
  padding: 0; margin: 0; cursor: pointer;
}
body .swiper-button-prev { order: 1; }
body .swiper-button-next { order: 3; }

body .swiper-pagination-bullet {
  background: var(--ec-accent, #00aa55);
  opacity: 0.5;
  width: 10px; height: 10px;
  margin: 0 4px !important;
  transition: transform .15s ease, opacity .15s ease;
}
body .swiper-pagination-bullet-active {
  background: var(--ec-accent, #00aa55);
  opacity: 1; transform: scale(1.1);
}

/* Centrado perfecto en desktop compensando márgenes de los slides */
@media (min-width: 769px) {
  body .eventos-swiper .swiper-wrapper {
    margin-left: -15px;
    margin-right: -15px;
  }
}


/* ============================================================================
   2) CARRUSEL – RESPONSIVE (móvil)
   ========================================================================== */
@media (max-width: 768px) {
  .carrusel-contenedor,
  .swiper-contenedor,
  .eventos-swiper {
    padding: 0 !important;
    margin: 0 auto;
    width: 100%;
    overflow: hidden !important;
  }
  .swiper-wrapper { display: flex; }

  .swiper-slide {
    width: 100vw !important;
    min-width: 100vw !important;
    flex-shrink: 0;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  .event-card {
    width: 90%;
    max-width: 90%;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box;
  }
  .swiper-button-prev,
  .swiper-button-next { display: none !important; }
  .swiper-pagination { margin-top: 12px; }
}


/* ============================================================================
   3) CALENDARIO (Events Manager mensual)
   ========================================================================== */
body div.em-view-container.em[data-view="calendar"].em-view-container {
  border: 1px solid #ccc;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  padding: 20px;
  background-color: #fff;
  margin: 20px 0;
  transition: box-shadow 0.3s ease;
}

body .em-calendar .em-cal-event {
  --event-background-color: #00b65b !important;
  --event-border-color: #00aa55 !important;
  --event-color: #ffffff !important;
  text-align: center !important;
  font-size: 10px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* Meta-lista de item EM (borde lateral + color de íconos) */
body .em-item .em-item-info {
  border-left: 4px solid #00aa55 !important;
  padding-left: 15px;
  margin-left: 10px;
}
body .em-item-meta i {
  padding: 0;
  font-size: 18px;
  font-weight: bold;
  vertical-align: middle;
  margin-right: 6px;
}

/* Botón "más" → "+" blanco con fondo negro en calendario */
.em-calendar a.button.em-cal-more,
.em-calendar a.button.em-cal-more:link,
.em-calendar a.button.em-cal-more:visited,
.em-calendar-fullcalendar a.button.em-cal-more,
.em-calendar-fullcalendar a.button.em-cal-more:link,
.em-calendar-fullcalendar a.button.em-cal-more:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #000000 !important;
  color: #ffffff !important;
  border-radius: 999px;
  padding: 2px 6px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  text-decoration: none !important;
}

/* Hover / foco del botón + */
.em-calendar a.button.em-cal-more:hover,
.em-calendar a.button.em-cal-more:focus,
.em-calendar-fullcalendar a.button.em-cal-more:hover,
.em-calendar-fullcalendar a.button.em-cal-more:focus {
  background-color: #00aa55;
  color: #fff !important;
  text-decoration: none;
}


/* ============================================================================
   4) VARIANTE PERENNE (Anual) – DESKTOP
   ========================================================================== */
body .eventos-swiper[data-variant="perenne"]{
  --per-card-h: 260px;   /* altura de tarjeta (240–280) */
  --per-img-col: 42%;    /* ancho columna imagen (40–45%) */
  --per-gap: 6px;        /* gap vertical del bloque de texto */
}

@media (min-width: 1024px){
  body .eventos-swiper[data-variant="perenne"] .swiper-wrapper{ alignItems: stretch; }

  body .eventos-swiper[data-variant="perenne"] .swiper-slide{
    width: min(980px, 92vw) !important;
    max-width: min(980px, 92vw) !important;
  }

  body .eventos-swiper[data-variant="perenne"] .event-card{
    display: grid !important;
    grid-template-columns: var(--per-img-col) calc(100% - var(--per-img-col)) !important;
    grid-template-rows: none !important;
    height: var(--per-card-h) !important;
    min-height: var(--per-card-h) !important;
    border-radius: 0 !important;         /* sin borde redondeado en esta variante */
    overflow: hidden;
  }

  body .eventos-swiper[data-variant="perenne"] .event-image{
    height: 100% !important;
    aspect-ratio: auto !important;
    background-position: center center;
    border-radius: 0 !important;
  }

  body .eventos-swiper[data-variant="perenne"] .event-info{
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: var(--per-gap);
    padding: 16px 18px !important;
  }

  body .eventos-swiper[data-variant="perenne"] .event-title{
    font-size: 20px !important;
    margin: 0 0 6px !important;
    text-align: left !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  body .eventos-swiper[data-variant="perenne"] .event-date,
  body .eventos-swiper[data-variant="perenne"] .event-location,
  body .eventos-swiper[data-variant="perenne"] .event-category{
    font-size: 14px !important;
    margin: 0;
  }

  body .eventos-swiper[data-variant="perenne"] .event-category.is-empty{ display: none; }
}


/* ============================================================================
   5) SINGLE EVENT (página individual) + BOTONES COMPARTIR
   ========================================================================== */

/* Maquetado general del single */
body.single-event .evento-detalle {
  max-width: 1000px;
  margin: auto;
  padding: 2rem;
}
body.single-event .evento-titulo {
  text-align: center;
  font-size: 3rem;
  margin-bottom: 2rem;
}
body.single-event .evento-contenido {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
body.single-event .evento-imagen {
  flex: 1 1 40%;
  max-width: 400px;
}
body.single-event .evento-imagen img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
body.single-event .evento-info { flex: 1 1 55%; }

body.single-event .evento-info > div { margin-bottom: 1.5rem; }

body.single-event .evento-info h3 {
  margin-bottom: .5rem;
  color: #333;
  border-bottom: 2px solid #ccc;
  padding-bottom: .2rem;
}
body.single-event .espacio-titulo { height: 30px; }

/* Ocultar cabeceras/meta del theme en single */
body.single-event h1.blog-post_title,
body.single-event .meta-wrapper,
body.single-event .page-header.page-header_align_center,
body.single-event .blog-post_media_part,
.entry-header { display: none !important; }

/* Icono del extracto más discreto + aire extra en carrusel */
body .event-excerpt i{
  font-size:16px !important;
  opacity:.95;
}
body .eventos-swiper .event-info{ padding-bottom: 18px !important; }

/* Botones compartir (círculos con glifos BI en data-URI) */
.evento-compartir{
  margin-top:1rem;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
}
.evento-compartir__title{
  margin-right:.5rem;
  font-weight:600;
}

.evento-compartir .share-btn{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:9999px;
  text-decoration:none;
  overflow:hidden;
  text-indent:-9999px;
  white-space:nowrap;
  background-repeat:no-repeat;
  background-position:center;
  background-size:25px 25px;
  transition:transform .15s ease;
}
.evento-compartir .share-btn:hover{ transform:scale(1.15); }
.evento-compartir .share-btn:focus-visible{
  outline:3px solid rgba(0,0,0,.2);
  outline-offset:2px;
}
@media (prefers-reduced-motion:reduce){
  .evento-compartir .share-btn:hover{ transform:none; }
}

/* WhatsApp */
.evento-compartir .share-btn.share-btn--wa{
  background-color:#25D366;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M13.601 2.326A7.85 7.85 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.9 7.9 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.9 7.9 0 0 0 13.6 2.326zM7.994 14.521a6.6 6.6 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.56 6.56 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592m3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.73.73 0 0 0-.529.247c-.182.198-.691.677-.691 1.654s.71 1.916.81 2.049c.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232'/%3E%3C/svg%3E");
}

/* Facebook */
.evento-compartir .share-btn.share-btn--fb{
  background-color:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%231877F2' d='M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z'/%3E%3C/svg%3E");
  background-size:35px 35px !important;
}

/* X (Twitter) */
.evento-compartir .share-btn.share-btn--x{
  background-color:#111;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M12.6.75h2.454l-5.36 6.142L16 15.25h-4.937l-3.867-5.07-4.425 5.07H.316l5.733-6.57L0 .75h5.063l3.495 4.633L12.601.75Zm-.86 13.028h1.36L4.323 2.145H2.865z'/%3E%3C/svg%3E");
}

/* Email */
.evento-compartir .share-btn.share-btn--mail{
  background-color:#6B7280;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M.05 3.555A2 2 0 0 1 2 2h12a2 2 0 0 1 1.95 1.555L8 8.414.05 3.555Zm0 1.142v7.104l5.803-3.558L.05 4.697ZM6.761 8.83l-6.57 4.027A2 2 0 0 0 2 14h12a2 2 0 0 0 1.808-1.144L9.239 8.83 8 9.586 6.761 8.83Zm9.189-4.133-5.803 3.558L16 11.801V4.697Z'/%3E%3C/svg%3E");
}


/* ============================================================================
   6) GRILLAS (ecv-grid) Y TARJETAS EN LISTADOS (categorías/locaciones)
   ========================================================================== */
.ecv-grid,
body .event-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  align-items:stretch; /* iguala alturas */
}

@media (max-width:1280px){
  .ecv-grid, body .event-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:1024px){
  .ecv-grid, body .event-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .ecv-grid, body .event-grid{ grid-template-columns:1fr; }
}

/* Tarjeta base de grilla */
.event-card{
  position:relative;
  display:flex;
  flex-direction:column;
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
  transition:transform .3s ease, box-shadow .3s ease;
  height:100%;
}
.event-card:hover{ transform:translateY(-4px); }

/* Imagen 16:9 con barra inferior */
.event-card__img{
  position:relative;
  display:block;
}
.event-card__img img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}
.event-card__bar{
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:4px;
  background:#00aa55;
}

/* Cuerpo y tipografía */
.event-card__body{
  padding:.75rem .9rem .75rem;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  min-height:0;
  flex:1 1 auto;
}

/* Título (2 líneas fijas) */
.event-card__title{
  font-size:1.06rem;
  font-weight:600;
  margin:0;
  color:#222;
  line-height:var(--card-lh);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:calc(var(--card-lh)*2em);
}
.event-card__title a{
  color:inherit;
  text-decoration:none;
  position:relative;
  z-index:2;
}
.event-card__title a:hover{ color:#00aa55; }

/* Meta (≈5 renglones) */
.event-card__meta{
  list-style:none;
  margin:0;
  padding:0;
  font-size:.92rem;
  color:#6c757d;
  display:flex;
  flex-direction:column;
  gap:.35rem;
  line-height:var(--card-lh);
  margin-top:auto;
  min-height:calc(var(--card-lh)*5em);
}
.event-card__meta-item{
  display:flex;
  align-items:center;
  gap:.4rem;
}
.event-card__meta i{
  font-size:1rem;
  color:#6c757d;
  min-width:1.1em;
}

/* Overlay: toda la tarjeta clickeable */
.event-card__overlay{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  background:transparent;
  text-indent:-9999px;
}
.event-card__img,
.event-card__meta a{ position:relative; z-index:2; }

/* Variante para listados de CATEGORÍA */
.ecv-grid--cat{ align-items:stretch; }
.ecv-grid--cat .event-card,
.ecv-grid--cat .event-card__img,
.ecv-grid--cat .event-card__body{ border-radius:0 !important; }

.ecv-grid--cat .event-card__body{
  padding:.60rem .80rem .60rem !important;
  line-height:1.50 !important;
  border-top:1px solid #e5e5e5;
}
.ecv-grid--cat .event-card__title{
  font-size:20px;
  line-height:1.3;
  color:#787878;
  padding-bottom:8px;
  margin-bottom:8px;
  border-bottom:1px solid #e5e5e5;
}
.ecv-grid--cat .event-card__meta{ color:#787878; }
.ecv-grid--cat .event-card__meta i{ color:#787878 !important; }
.ecv-grid--cat .event-card__img img{
  aspect-ratio:4/3 !important;
  object-fit:cover !important;
}
.ecv-grid--cat .event-card__meta{ margin:0 !important; }
.ecv-grid--cat .event-card__meta-item{
  margin:.18rem 0 !important;
  gap:.35rem !important;
}
.ecv-grid--cat .event-card{ transition:transform .25s ease, box-shadow .25s ease; }
.ecv-grid--cat .event-card:hover{
  transform:translateY(-6px);
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}


/* ============================================================================
   7) LISTADO EM (event list): imagen, meta y BOTÓN “Más información”
   ========================================================================== */

/* Imagen del item en listado EM: tamaño controlado */
.em-events-list .em-item-image-wrapper {
  width: 100%;
  height: 180px;            /* ajustar 150–220 según diseño */
  overflow: hidden;
  border-bottom: 1px solid #eee;
}

.em-events-list .em-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;        /* recorta manteniendo proporción */
  display: block;
}

/* Meta apilada en columna */
.em-events-list .em-event-meta {
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

/* Área de acciones y botón */
.em-events-list .em-item-actions { margin-top: .75rem; }

/* Botón “Más información” – igual al del modal */
.em-events-list .em-item-read-more.button {
  display: inline-block;
  padding: .55rem 1rem;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font-weight: 400;
  font-size: .8rem;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .5px;
  transition: background .15s ease, border-color .15s ease;
}

.em-events-list .em-item-read-more.button:hover {
  background: #f9f9f9;
  border-color: #bfbfbf;
}
.em-events-list .em-item-read-more.button:active { background: #f0f0f0; }


/* ============================================================================
   8) CTA “OFICINA VIRTUAL” (ajustes layout del bloque Elementor)
   ========================================================================== */
#cta-evento{
  max-width: 1100px;
  margin: 32px auto;
  display: grid;
  grid-template-columns: 1fr auto;  /* texto izq., botón der. */
  align-items: center;
  gap: 24px;
}
#cta-evento .elementor-widget-text-editor{ text-align: left; }
#cta-evento .elementor-widget-button .elementor-button-wrapper{
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 768px){
  #cta-evento{
    grid-template-columns: 1fr;
    text-align: center;
  }
  #cta-evento .elementor-widget-text-editor{ text-align: center; }
  #cta-evento .elementor-widget-button .elementor-button-wrapper{ justify-content: center; }
}

/* Botón con ancho mínimo y sin cortes de línea */
#cta-evento .elementor-button{
  min-width: 180px;
  padding: 12px 28px;
  white-space: nowrap;
  text-align: center;
}


/* ============================================================================
   9) OVERRIDES DE COSTO (Gratuito/Arancelado) – todas las vistas
   ========================================================================== */

/* Reset de “pill” y peso normal por defecto */
.event-card__meta-cost .em-cost__label,
.em-event-cost       .em-cost__label{
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 400 !important; /* base normal */
}

/* SOLO “Gratuito” en negrita cuando el data-cost contiene el texto */
.event-card__meta-cost[data-cost*="Gratuito"] .em-cost__label,
.em-event-cost[data-cost*="Gratuito"]       .em-cost__label,
.ecv-grid--cat .em-event-cost[data-cost*="Gratuito"] .em-cost__label{
  font-weight: 700 !important;
}

/* “Arancel/Arancelado” explícitamente en normal */
.event-card__meta-cost[data-cost*="Arancel"] .em-cost__label,
.em-event-cost[data-cost*="Arancel"]       .em-cost__label,
.ecv-grid--cat .em-event-cost[data-cost*="Arancel"] .em-cost__label{
  font-weight: 400 !important;
}

/* Carrusel: refuerzo de lo anterior por especificidad */
body .eventos-swiper .event-card__meta-cost .em-cost__label,
body .eventos-swiper .em-event-cost       .em-cost__label,
body .eventos-swiper .event-cost__label{
  background: transparent !important;
  color: inherit !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 400 !important;
}

body .eventos-swiper .event-card__meta-cost[data-cost*="Gratuito"] .em-cost__label,
body .eventos-swiper .em-event-cost[data-cost*="Gratuito"]       .em-cost__label,
body .eventos-swiper .event-cost--free                           .event-cost__label{
  font-weight: 700 !important;
}

body .eventos-swiper .event-card__meta-cost[data-cost*="Arancel"] .em-cost__label,
body .eventos-swiper .em-event-cost[data-cost*="Arancel"]       .em-cost__label{
  font-weight: 400 !important;
}


/* ============================================================================
   10) BARRA DE BÚSQUEDA (Events Manager) - Personalización Compacta
   ========================================================================== */

/* A. Contenedor Principal: Flexbox para alinear en una sola línea (nowrap) */
.em-search-main.em-search-main-bar {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Fuerza una sola fila en escritorio */
    align-items: center !important;
    justify-content: flex-start;
    gap: 8px !important;
    padding: 8px 12px !important;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
}

/* B. Campos (Selects y Fechas): Comportamiento flexible */
.em-search-main .em-search-field {
    flex: 0 1 auto !important; /* Permite encogerse si falta espacio */
    min-width: 0 !important;   /* Evita bloqueos por ancho mínimo */
    margin: 0 !important;
}

/* C. Campo de Texto "BUSCAR" (La lupa): Ancho controlado */
.em-search-main .em-search-text.em-search-field {
    flex-basis: 120px !important; /* Ancho base pequeño */
    max-width: 120px !important;  /* No crece más de esto */
    min-width: 80px !important;   /* Tampoco desaparece */
}
/* (Opcional) Placeholder más pequeño para que entre bien */
.em-search-main input.em-search-text::placeholder {
    font-size: 13px !important;
}

/* D. Unificación de Alturas (Inputs, Selects, Botones) */
.em-search-main input,
.em-search-main select,
.em-search-main .button {
    height: 38px !important;       /* Altura compacta estándar */
    line-height: normal !important;
    font-size: 14px !important;
    margin: 0 !important;
}

/* E. Botón de envío: Truco para cambiar texto a "Filtrar" */
.em-search-submit .button-primary {
    font-size: 0 !important;       /* Oculta "Aplicar filtros" */
    padding: 0 16px !important;
    display: inline-flex !important;
    align-items: center;
    min-width: auto !important;
}
.em-search-submit .button-primary::after {
    content: "Filtrar";            /* Inserta el nuevo texto */
    font-size: 14px !important;    /* Tamaño visible */
    font-weight: 600;
    line-height: 38px;
}

/* F. Responsive: En móviles permitimos múltiples líneas */
@media (max-width: 900px) {
    .em-search-main.em-search-main-bar {
        flex-wrap: wrap !important;
    }
    .em-search-main .em-search-field {
        width: 100% !important;     /* Ocupan todo el ancho */
        flex: 1 1 100% !important;
        margin-bottom: 8px !important;
    }
    .em-search-submit .button-primary {
        width: 100% !important;     /* Botón full width */
    }
    /* Restaurar ancho del buscador en móvil */
    .em-search-main .em-search-text.em-search-field {
        max-width: 100% !important;
        flex-basis: 100% !important;
    }
}