.elementor-3493 .elementor-element.elementor-element-68d3846{--display:flex;}.elementor-3493 .elementor-element.elementor-element-68d3846.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-global .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-3493 .elementor-element.elementor-global-638 img{border-style:solid;box-shadow:16px 15px 10px 0px rgba(0,0,0,0.5);}.elementor-3493 .elementor-element.elementor-element-77c33b84{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-3493 .elementor-element.elementor-element-b1026d1{--display:flex;}.elementor-3493 .elementor-element.elementor-element-2d8c3b3{width:100%;max-width:100%;}.elementor-3493 .elementor-element.elementor-element-2d8c3b3.elementor-element{--align-self:flex-end;}.elementor-3493 .elementor-element.elementor-element-d46abba{--display:flex;--justify-content:center;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-3493 .elementor-element.elementor-element-d46abba.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3493 .elementor-element.elementor-element-fbb497b{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-3493 .elementor-element.elementor-element-fbb497b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-3493 .elementor-element.elementor-element-afc0e3f{--display:flex;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-3493 .elementor-element.elementor-element-6b1b3d4{width:var( --container-widget-width, 100% );max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-3493 .elementor-element.elementor-element-6b1b3d4.elementor-element{--flex-grow:1;--flex-shrink:1;}.elementor-3493 .elementor-element.elementor-element-291b3d2{--display:flex;}.elementor-3493 .elementor-element.elementor-element-27cf3f56{--display:flex;}@media(max-width:1024px){.elementor-3493 .elementor-element.elementor-element-77c33b84{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-3493 .elementor-element.elementor-element-68d3846{--width:127.22%;}}@media(max-width:767px){.elementor-3493 .elementor-element.elementor-element-77c33b84{--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-fddb6c7 *//* ======================== */
/* Variables de colores genéricos */
/* ======================== */
:root {
  --color-principal: #C8102E;
  --color-fondo: #f5f5f5;
  --color-texto: #111;
  --fuente-principal: 'Montserrat', sans-serif;
  --fuente-titulo: 'Playfair Display', serif;
}

/* ======================== */
/* Contenedor general */
/* ======================== */
.acordeon-widget {
  font-family: var(--fuente-principal);
  color: var(--color-texto);
  max-width: 900px;
  margin: 40px auto;
  padding: 0 16px;
}

.acordeon-widget h2 {
  font-family: var(--fuente-titulo);
  color: var(--color-principal);
  text-align: center;
  font-size: clamp(2rem, 5vw, 3rem); /* 34px a 48px */
  line-height: 1.2;
}

.acordeon-widget p {
  text-align: center;
  font-size: clamp(1rem, 2.5vw, 1.25rem); /* 18px a 24px */
  margin-bottom: 30px;
}

/* ======================== */
/* Acordeón */
/* ======================== */
.acordeon-widget .acordeon-item {
  border: 1px solid #ddd;
  border-radius: 10px;
  margin-bottom: 14px;
  overflow: hidden;
  transition: border 0.3s ease, border-radius 0.3s ease, margin 0.3s ease;
}

.acordeon-widget .acordeon-header {
  margin: 0;
  padding: 14px 18px;
  background: var(--color-principal);
  color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  transition: background 0.3s ease;
}

.acordeon-widget .acordeon-header:hover {
  background: #a00f24; /* ligero efecto hover */
}

.acordeon-widget .acordeon-header::after {
  content: "+";
  font-weight: bold;
}

.acordeon-widget .acordeon-item.active .acordeon-header::after {
  content: "-";
}

/* ======================== */
/* Contenido del acordeón con efecto “slide” */
/* ======================== */
.acordeon-widget .acordeon-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 16px;
  transition: max-height 0.5s ease, padding 0.4s ease;
}

/* Cuando está activo, permite que se deslice */
.acordeon-widget .acordeon-item.active .acordeon-content {
  max-height: 1000px; /* suficientemente grande para todo el contenido */
  padding: 12px 16px;
}

/* ======================== */
/* Tarjetas dentro del acordeón */
/* ======================== */
.acordeon-widget .tarjeta {
  background: var(--color-fondo);
  margin: 12px 0;
  padding: clamp(12px, 2vw, 16px);
  border-radius: 10px;
  transition: background 0.4s ease; /* solo cambia fondo */
}

.acordeon-widget .fila {
  display: flex;
  justify-content: space-between;
  gap: clamp(8px, 2vw, 12px);
  flex-wrap: wrap;
}

.acordeon-widget .nombre {
  font-weight: 700;
  font-size: clamp(0.875rem, 1.5vw, 1.125rem); /* 14px a 18px */
}

.acordeon-widget .sub {
  font-size: clamp(0.75rem, 1.2vw, 1rem); /* 12px a 16px */
}

.acordeon-widget .hora,
.acordeon-widget .sala {
  white-space: nowrap;
  font-size: clamp(0.75rem, 1.2vw, 1rem); /* 12px a 16px */
}

/* ======================== */
/* Tarjetas del día activo con transición suave solo de fondo */
.acordeon-widget .acordeon-item.active .tarjeta {
  background: #f0f0f0; /* fondo más claro al estar activo */
}

.acordeon-widget .acordeon-item.active .tarjeta:hover {
  background: #e0e0e0; /* más oscuro al pasar el cursor */
  cursor: pointer;
}

/* ======================== */
/* Efecto blink */
.acordeon-widget .blink {
  animation: blink 2.5s infinite ease-in-out;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* ======================== */
/* Ajustes responsive para móviles */
@media (max-width: 768px) {
  .acordeon-widget h2 {
    font-size: 2rem; /* 32px */
  }
  .acordeon-widget p {
    font-size: 1rem; /* 16px */
  }
  .acordeon-widget .tarjeta {
    padding: 10px 12px;
  }
  .acordeon-widget .nombre {
    font-size: 0.875rem; /* 14px */
  }
  .acordeon-widget .sub,
  .acordeon-widget .hora,
  .acordeon-widget .sala {
    font-size: 0.75rem; /* 12px */
  }
  .acordeon-widget .fila {
    gap: 8px;
  }
}/* End custom CSS */