.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-size:24px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.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-6{--e-global-typography-text-font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ======================== */
/* 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 */
.horario-desplegable {
  font-family: var(--fuente-principal);
  color: var(--color-texto);
  max-width: 900px;
  margin: 40px auto;
  padding: 0 16px;
}

.horario-desplegable h2 {
  font-family: var(--fuente-titulo);
  color: var(--color-principal);
  text-align: center;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.2;
}

.horario-desplegable p {
  text-align: center;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  margin-bottom: 30px;
}

/* ======================== */
/* Acordeón */
.horario-desplegable .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;
}

.horario-desplegable .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;
}

.horario-desplegable .acordeon-header:hover {
  background: #a00f24;
}

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

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

/* ======================== */
/* Contenido del acordeón */
.horario-desplegable .acordeon-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 16px;
  transition: max-height 0.5s ease, padding 0.4s ease;
}

.horario-desplegable .acordeon-item.active .acordeon-content {
  max-height: 1000px;
  padding: 12px 16px;
}

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

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

.horario-desplegable .nombre {
  font-weight: 700;
  font-size: clamp(0.875rem, 1.5vw, 1.125rem);
}

.horario-desplegable .sub {
  font-size: clamp(0.75rem, 1.2vw, 1rem);
}

.horario-desplegable .hora {
  font-weight: 700;
  font-size: clamp(0.875rem, 1.5vw, 1.125rem);
}

.horario-desplegable .sala {
  white-space: nowrap;
  font-size: clamp(0.75rem, 1.2vw, 1rem);
}

/* ======================== */
/* Tarjetas activas */
.horario-desplegable .acordeon-item.active .tarjeta {
  background: #f0f0f0;
}

.horario-desplegable .acordeon-item.active .tarjeta:hover {
  background: #e0e0e0;
  cursor: pointer;
}

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

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

/* ======================== */
/* Responsive */
@media (max-width: 768px) {
  .horario-desplegable h2 {
    font-size: 2rem;
  }
  .horario-desplegable p {
    font-size: 1rem;
  }
  .horario-desplegable .tarjeta {
    padding: 10px 12px;
  }
  .horario-desplegable .nombre {
    font-size: 0.875rem;
  }
  .horario-desplegable .sub,
  .horario-desplegable .hora,
  .horario-desplegable .sala {
    font-size: 0.75rem;
  }
  .horario-desplegable .fila {
    gap: 8px;
  }
}
/* ======================== */
/* CIERRE DE HORARIO DESPLEGABLE */
/* ======================== */

/* ======================== */
/* Bloque cerrado: Preguntas FAQ */
/* ======================== */
.preguntas-faq {
  font-family: 'Montserrat', sans-serif;
  color: #111;
  max-width: 900px;
  margin: 40px auto;
  padding: 0 16px;
}

.preguntas-faq h2 {
  font-family: 'Playfair Display', serif;
  color: #C8102E;
  font-size: clamp(2rem, 5vw, 3rem);/* tamaño original */
  margin-bottom: 20px;
  border-bottom: 2px solid #C8102E;
  padding-bottom: 10px;
}

.preguntas-faq details {
  border:3px solid #c0c0c0;
  border-radius: 8px;
  margin-bottom: 12px;
  background: #f9f9f9;
  transition: box-shadow 0.3s ease;
}

.preguntas-faq details[open] {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.preguntas-faq summary {
  font-weight: 600;
  font-size: 1.125rem;
  cursor: pointer;
  padding: 14px 18px;
  list-style: none;
  position: relative;
  color: #222;
  transition: color 0.3s ease;
}

.preguntas-faq summary:hover {
  color: #C8102E; /* se pone rojo al pasar el mouse */
}

.preguntas-faq summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  font-weight: bold;
  transition: transform 0.3s ease;
}

.preguntas-faq details[open] summary::after {
  content: "-";
  transform: rotate(180deg);
}

.preguntas-faq details p {
  padding: 10px 18px 18px 18px;
  margin: 0;
  line-height: 1.6;
  font-size: 1rem;
  color: #333;
}

/* ======================== */
/* Responsive para móviles */
@media (max-width: 768px) {
  .preguntas-faq h2 {
    font-size: 2rem; /* tamaño móvil */
  }
  .preguntas-faq summary {
    font-size: 1rem;
    padding: 12px 14px;
  }
  .preguntas-faq details p {
    font-size: 0.95rem;
    padding: 8px 14px 14px 14px;
  }
}
/* ======================== */
/* FIN Bloque Preguntas FAQ */

/* ======================== */
/* Variables de colores genéricos FP */
:root {
  --color-principal-fp: #C8102E;
  --color-fondo-fp: #f5f5f5;
  --color-texto-fp: #111;
  --fuente-principal-fp: 'Montserrat', sans-serif;
  --fuente-titulo-fp: 'Playfair Display', serif;
}

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

.horario-desplegable-fp h2 {
  font-family: var(--fuente-titulo-fp);
  color: var(--color-principal-fp);
  text-align: center;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.2;
}

.horario-desplegable-fp p {
  text-align: center;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  margin-bottom: 30px;
}

/* ======================== */
/* Acordeón FP */
.horario-desplegable-fp .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;
}

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

.horario-desplegable-fp .acordeon-header:hover {
  background: #a00f24;
}

.horario-desplegable-fp .acordeon-header::after {
  content: "+";
  font-weight: bold;
}

.horario-desplegable-fp .acordeon-item.active .acordeon-header::after {
  content: "-";
}

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

.horario-desplegable-fp h2 {
  font-family: var(--fuente-titulo-fp);
  color: var(--color-principal-fp);
  text-align: center;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.2;
}

.horario-desplegable-fp p {
  text-align: center;
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  margin-bottom: 30px;
}

/* ======================== */
/* Acordeón FP */
.horario-desplegable-fp .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;
}

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

.horario-desplegable-fp .acordeon-header:hover {
  background: #a00f24;
}

.horario-desplegable-fp .acordeon-header::after {
  content: "+";
  font-weight: bold;
}

.horario-desplegable-fp .acordeon-item.active .acordeon-header::after {
  content: "-";
}

/* ======================== */
/* Contenido del acordeón FP */
.horario-desplegable-fp .acordeon-content {
  max-height: 0;
  overflow: hidden;
  padding: 0 16px;
  transition: max-height 0.5s ease, padding 0.4s ease;
}

.horario-desplegable-fp .acordeon-item.active .acordeon-content {
  max-height: 1000px;
  padding: 12px 16px;
}

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

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

.horario-desplegable-fp .nombre {
  font-weight: 700;
  font-size: clamp(0.875rem, 1.5vw, 1.125rem);
}

.horario-desplegable-fp .sub {
  font-size: clamp(0.75rem, 1.2vw, 1rem);
}

.horario-desplegable-fp .hora {
  font-weight: 700;
  font-size: 1.1rem; /* ahora igual que antes los días */
}

.horario-desplegable-fp .sala {
  white-space: nowrap;
  font-size: clamp(0.75rem, 1.2vw, 1rem);
}

/* ======================== */
/* Tarjetas activas FP */
.horario-desplegable-fp .acordeon-item.active .tarjeta {
  background: #f0f0f0;
}

.horario-desplegable-fp .acordeon-item.active .tarjeta:hover {
  background: #e0e0e0;
  cursor: pointer;
}

/* ======================== */
/* Efecto blink FP */
.horario-desplegable-fp .blink {
  animation: blink 2.5s infinite ease-in-out;
}

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

/* ======================== */
/* Turnos FP */
.turno-titulo {
  font-weight: bold;
  margin: 10px 0 5px;
  color: var(--color-principal-fp);
  border-bottom: 1px dashed #ccc;
  padding-bottom: 3px;
  font-size: 1.1rem; /* ahora igual que antes los días */
}

/* ======================== */
/* Bloques de días */
.tarjeta-dias {
  border: 2px solid #000;
  border-radius: 12px;
  margin: 12px 0;
  padding: 12px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  transition: background 0.3s ease;
}

.tarjeta-dias:hover {
  background: #f9f9f9;
}

.dias-titulo {
  font-weight: 700;
  font-size: 1.8rem; /* ahora igual que antes los turnos */
  margin-bottom: 6px;
  color: var(--color-principal-fp);
}

/* ======================== */
/* Responsive FP */
@media (max-width: 768px) {
  .horario-desplegable-fp h2 {
    font-size: 2rem;
  }
  .horario-desplegable-fp p {
    font-size: 1rem;
  }
  .horario-desplegable-fp .tarjeta {
    padding: 10px 12px;
  }
  .horario-desplegable-fp .nombre {
    font-size: 0.875rem;
  }
  .horario-desplegable-fp .sub,
  .horario-desplegable-fp .sala {
    font-size: 0.75rem;
  }
  .horario-desplegable-fp .fila {
    gap: 8px;
  }

  .tarjeta-dias {
    padding: 8px;
    margin: 8px 0;
  }
  .dias-titulo {
    font-size: 1rem;
  }

  .turno-titulo {
    font-size: 1.2rem;
  }

  .tarjeta .fila {
    flex-direction: column;
    align-items: flex-start;
  }

  .tarjeta .hora {
    margin-top: 4px;
  }
}

/* ======================== */
/* FIN CSS FP */

.home [class*="breadcrumb"] {
    display: none !important;
}/* End custom CSS */