/*Animations*/

/*Fuentes*/
/************************************************************************************
RESET
*************************************************************************************/
html,
body,
address,
blockquote,
div,
dl,
form,
h1,
h2,
h3,
h4,
h5,
h6,
ol,
p,
pre,
table,
ul,
dd,
dt,
li,
tbody,
td,
tfoot,
th,
thead,
tr,
button,
del,
ins,
map,
object,
a,
abbr,
acronym,
b,
bdo,
big,
br,
cite,
code,
dfn,
em,
i,
img,
kbd,
q,
samp,
small,
span,
strong,
sub,
sup,
tt,
var,
legend,
fieldset {
  margin: 0;
  padding: 0;
}

img,
fieldset {
  border: 0;
}

/* set image max width to 100% */
img {
  max-width: 100%;
  height: auto;
  
  /* ie8 */
}

/* set html5 elements to block */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  font-family: 'Lato', sans-serif;
  text-rendering: optimizeLegibility;
}

a {
  color: #47454a;
}



p {
  font-size: 14px;
  line-height: 22px;
  text-align: justify;
  margin-bottom: 10px;
  text-rendering: optimizeLegibility;
}

.center {
  text-align: center;
}

.firma {
  display: block;
  width: 100%;
  text-align: right !important;
  font-size: 90%;
  font-weight: 600;
}

ul li {
  list-style: none;
}

.ficha-datos ol.breadcrumb-2 li a {
  color: #fff !important;
}

.ficha-datos ol.breadcrumb-2 li {
  color: #fff !important;
}

.breadcrumb-2 li:before {
  color: #fff;
}

.ficha-datos ol {
  margin-bottom: 20px;
}

.breadcrumb-2>li+li:before {
  padding: 0 5px;
  color: #fff;
  content: "/\00a0";
}

ul.lista {
  padding-left: 20px;
}

ul.lista li {
  margin-bottom: 10px;
}
.datos {
  font-size: 0.9em !important;
  line-height: 1.5em;
  text-align: justify;
  font-weight: 400;
  text-rendering: optimizeLegibility;
  color: #a6a6a6 !important;
  letter-spacing: 0.025em;
}

.datos strong {
  color: #fff !important;
}

/***************  HEADER  ***************/

.logo {
  border-bottom: none;
  width: auto;
  height: 128px;
  margin-top: 0px;
}

.logos-cam-1 span img {
  border-bottom: none;
  /*width: 264px;*/
  height: auto;
  float: right;
  margin-top: 10px;
}

.logos-cam-2,
.logos-cam-3 {
  display: none;
}



.lenguage {
  background: #e20814;
  height: 20px;
}

.lenguage p {
  color: #fff;
  font-family: 'helvetica', sans-serif;
  font-weight: bold;
  font-size: 9px;
  line-height: 20px;
}

.lenguage a {
  color: #fff;
}

.lenguage a:hover {
  color: #fff;
  text-decoration: underline;
}

/***************  social  ***************/

.social {
  position: fixed;
  /* Hacemos que la posición en pantalla sea fija para que siempre se muestre en pantalla*/
  left: 0;
  /* Establecemos la barra en la izquierda */
  top: 350px;
  /* Bajamos la barra 200px de arriba a abajo */
  z-index: 1000;
  /* Utilizamos la propiedad z-index para que no se superponga algún otro elemento como sliders, galerías, etc */
}

.social ul {
  list-style: none;
}

.social ul li a {
  display: inline-block;
  color: #fff;
  background: #e20814;
  padding: 8px 8px 8px 10px;
  width: 30px; height: 30px;
  margin: 2px;
  text-decoration: none;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  /* Establecemos una transición a todas las propiedades */
}

.social ul li .icon-facebook {
  background: #3b5998;
}

/* Establecemos los colores de cada red social, aprovechando su class */
.social ul li .icon-twitter {
  background: #00abf0;
}

.social ul li .icon-googleplus {
  background: #d95232;
}

.social ul li .icon-pinterest {
  background: #ae181f;
}

.social ul li .icon-mail {
  background: #666666;
}

.social ul li a:hover {
  background: #dbdbdb;
  /* Cambiamos el fondo cuando el usuario pase el mouse */
  padding: 5px 8px 5px 8px;
  /* Hacemos mas grande el espacio cuando el usuario pase el mouse */
  color: #fff;
}


/***************  SECTION  ***************/



h1 {
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  font-size: 45px;
  margin-bottom: 10px;
  border-bottom: 1px solid #d5d5d5;
  letter-spacing: 1px;
  text-align: center;
  font-weight: 500;
  color: #47454a;
}
.p2 {
  font-size: 1.3em !important;
  line-height: 30px;
  text-align: justify;
  font-weight:400;
  text-rendering: optimizeLegibility;
  color: #a6a6a6 !important; letter-spacing:0.025em;
}

.p3 {
  font-size: 1.0em !important;
  line-height: 30px;
  font-weight:400;
  text-rendering: optimizeLegibility;
  color: #a6a6a6 !important; letter-spacing:0.025em; padding-top: 25px;
}
.prensa { padding: 10px 15px 10px 15px; background-color: #cdd3d3;
  
}
.prensa .firma {
  display: block;
  width: 100%;
  text-align: right !important;
  font-size: 90%;
  font-weight: 600;
}

.flechas {
  top: 50%;
  position: absolute;
}

.carousel-caption h2 {
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  font-size: 65px;
  border-bottom: none;
  letter-spacing: 1px;
  text-transform: none;
  line-height: 38px;
  margin-bottom: 12px;
}

.carousel-caption p {
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
}

.bloque-texto {
  padding-left: 20px !important;
}

.bloque-1 {
  margin-bottom: 14px;
  height: 230px;
  /* [disabled]border: 2px solid #6f6d6d; */
}

.ateneo-bloque {
  padding: 10px;
  border: 1px solid #ffffff;
  margin-bottom: 15px;
  background-color: #dfdfdf !important;
}

/* Estilos para el contenedor cuando se hace clic */
.ateneo-bloque.clicked {
  background-color: #dfdfdf !important;
}

.ateneo-bloque:hover {
  background-color: #ffffff !important;
  border: 1px solid #cccccc;
}

.ateneo2 {
  border-bottom: 2px solid #ffffff;
  padding: 0 10px 10px 10px;
  /*max-width: 75%;*/
}

.imagen-ateneo {
  min-width: 150px;
  max-width: 22%;
  height: auto;
  float: right;
  padding: 10px;
}

.imagen-ateneo:hover {
  filter: opacity(.9) grayscale(90%);
}

video {
  width: 100%;
}

.vid-home {
  height: 230px;
  background: #000;
}

.video {
  background: #d0d0d0;
}

.video iframe {
  margin-bottom: 20px;
}

.bloque-1 hr {
  text-align: center;
  margin: 0 10px;
  color: #6f6d6d;
  font-size: 18px;
  font-weight: normal;
}

.bloque-1 p {
  text-align: center;
  font-family: 'Lato', sans-serif;
  color: #6f6d6d;
  font-weight: normal;
  padding: 10px 0;
}

.programa {
  /*background: url("../img/bg-home-programa.png") center no-repeat;  background-size: 100%  100%;*/
}

.programa a {
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
  padding: 40px 20px 0 20px;
}

.programa h3 {
  margin: 20px 0 0 0;
  border-bottom: 1px solid #6f6d6d;
}

.bloque-1 h3 {
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  color: #e20814;
  font-size: 25px;
}

.fl-abajo {
  width: 70px;
  height: 70px;
}

.fl-entradas {
  width: 70px;
  height: 70px;
}

.magazine {
  background: url("../img/bg-home-mag.html") center;
  background-size: 328px;
  padding-top: 35px;
}

.magazine a {
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
  padding: 40px;
}

.bloque-1 a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  /* For IE8 and earlier */
}

.bloque-2 a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  /* For IE8 and earlier */
}

.bloque-2 a:hover i {
  opacity: 0.7;
  filter: alpha(opacity=70);
  /* For IE8 and earlier */
}

.bloque-2 {
  margin-bottom: 14px;
  height: 150px;
  border: 4px solid #c0c0be;
  text-align: center;
}

.estrenos {
  background: url("../img/bg-home-estrenos.html") center;
}

.fl-der {
  width: 20px;
  height: 20px;
}

.bloque-2 h3 {
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  color: #fff;
  font-size: 24px;
}

.bloque-2 hr,
.bloque-2 p {
  text-align: center;
  margin: 0 10px;
  color: #fff;
  font-size: 14px;
}

.descuentos {
  background: url("../img/bg-home-descuentos.html") center;
}

.calendario {
  /*background: url("../img/bg-home-calendario.png"), no-repeat;  background-size: cover;*/
}

.calendario.cine {
  /*background: url("../img/bg-home-entradas.png"), no-repeat;*/
  background-size: 100% 100%;
  /* [disabled]border: 2px solid #6f6d6d; */
}

.calendario h3 {
  margin: 30px 0 0 0;
  border-bottom: 1px solid #6f6d6d;
}

.calendario h3,
.calendario p {
  color: #e20814;
}

.calendario a:hover h3,
.calendario a:hover p {
  color: #ffffff;
}

.estrenos a,
.descuentos a {
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
  padding: 40px;
}

.calendario a {
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
  padding: 40px 0;
}

.sub-tit-estreno {
  font-size: 12px;
}


.calendario a .bg-tx-calendario {
  color: #343434 !important;
  display: block;
  width: 100%
}

.calendario .bg-tx-calendario {
  color: #fff !important;
  width: 100%;
}

.calendario a .bg-tx-calendario p {
  background: rgba(6, 8, 11, 0.3);
  display: block;
  width: 100%;
  color: #6f6d6d;
}


.pasadas {
  padding: 10px;
  text-align: center;
  height: 40px;
  margin-bottom: 20px;
}

img.fl_edic_pasadas {
  margin-bottom: 5px;
  margin-right: 10px;
}

.pasadas ul li {
  display: inline-block;
  color: #6f6d6d;
  margin-right: 20px;
}

.pasadas ul li a {
  color: #6f6d6d;
}

.pasadas ul li a:hover {
  text-decoration: underline;
}

.programa p,
.magazine p,
.descuentos p,
.video p,
.estrenos p {
  padding: 5px 0;
}

.sub-tit {
  font-size: 18px;
  text-transform: uppercase;
  font-weight: lighter;
  letter-spacing: 0.2em;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
}

.btn-programacion {
  font-size: 16px;
  background-color: #e20814;
  color: #e2e0e0;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 10px 15px 10px 15px;
}

.btn-programacion:hover {
  background-color: #e20814;
  color: #ffffff;
  font-weight: 700;
}

/* secciones comun */

/* .comun 				{margin-top: 0px;}*/
.comun h2 {
  color: #e20814 !important;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  margin: 10px 0 1px 0;
}

.comun h3 {
  color: #e20814 !important;
  font-family: 'Lato', sans-serif;
  font-weight: 400;
  font-size: 1.5em;
}

.comun p {
  line-height: 22px;
}

.comun h5 {
  margin-bottom: 0;
}

.linea {
  margin-bottom: 20px !important;
  border-bottom: 1px solid #d5d5d5;
}



.premios {
  margin: 20px 0 10px 0;
}

.foto {
  color: #e7e5e5 !important;
  font-weight: 600;
  bottom: 7px;
  font-size: 11px;
  text-align: right;
  margin-top: -25px;
  margin-right: 10px;
  text-shadow: 0.1em 0.1em 0.05em #333 !important;
}

hr.style1 {
  border: 1px dotted #aa9f9d;
}


/* programacion */
.cabecera {
  background: url("../img/cabecera.jpg") no-repeat center;
  width: 100%;
  height: inherit;
  overflow: hidden;
  margin-bottom: 25px;
}

.cabecera h2 {
  color: #fff;
  border-bottom: none;
  margin-top: 10px;
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  font-size: 1.4em;
  margin-bottom: 10px;
  letter-spacing: 2px;
  text-align: center;
}

.programacion .caja-espectaculo {
  font-size: 1.1rem;
  background-color: #e7e5e5 !important;
  color: #fff;
  padding: 5px;
  margin-bottom: 5px;
}
.programacion .caja-espectaculo  a:hover {

  background-color: #fff !important;

}

.espacio {
  font-size: 0.9rem;
  background-color: #e20814 !important;
  color: #fff;
  padding: 5px;
  margin-bottom: 5px;
}

.programacion h1 {
  font-family: 'Lato', sans-serif;
  font-weight: 100;
  font-size: 40px;
  color: #e20814;
  margin-bottom: 20px;
  letter-spacing: 2px;
  text-align: center;
}

.programa-autor {
  padding: 25px 0px 0px 0px;
  text-align: left;
  font-size: 2.1em;
  font-weight: 500;
  color: #e20814;
  margin-bottom: 5px;
  letter-spacing: 0.05em;
  line-height: 1.2em;
}

.estreno {
  padding: 20px 0px 10px 0px;
  text-align: left;
  font-size: 1.0em;
  font-weight: 600;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.programa-sala {
  border-bottom: 1px solid #e20814;
  background: #e20814;
  color: #fff !important;
  padding-left: 5px;
}

.programa-fechas {
  border-bottom: 1px solid #e20814;
  color: #000 !important;
}


.programa-venta i,
.programa-venta span {
  color: #e20814;
}

.programacion .col-sm-4 a .programa-fechas {
  color: #e20814;
  padding: 5px 0;
}

.programacion p {
  margin: 0;
}

.programacion .col-sm-4 a {
  margin-bottom: 20px;
  display: block;
  opacity: 1;
  filter: grayscale(100%);

  -webkit-filter: grayscale(100%);

  transition: filter 0.4s;

  -webkit-transition: -webkit-filter 1s;

}

.fecha {
  line-height: 1.4em;
  font-weight: bold;
  border-bottom: 1px dotted #aa9f9d;
  padding-bottom: 5px;
}

.programacion .caja-obra {
  margin-top: 20px;
}

.programacion .col-sm-4 a:hover {
  opacity: 0.9;
  filter: grayscale(0);

  -webkit-filter: grayscale(0);
  /* For IE8 and earlier */
}

.programacion h3 {
  line-height: 19px;
  margin-top: 5px !important;
  font-size: 1.4rem;
  margin-bottom: 15px;
  font-style: italic;
}

.programacion .col-sm-4 a.pro-obra {
  margin-bottom: 5px; padding: 5px;
}


.programacion .col-sm-4 a.pro-obra :hover { background-color: #d2d2d0;   
}
.programacion .caja-espectaculo {
  margin: 10px 0 5px 0;
}

.programacion .cajas-programacion {
  display: flex;
  flex-wrap: wrap;
}

.programacion .cajas-programacion .creditos {
  position: absolute;
  color: #fff !important;
  z-index: 100000;
  top: 230px;
  right: 10px;
  font-size: 11px;
  text-align: right;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .9);
}

.cancelada {
  background-color: #e20814;
  padding: 5px;
  color: #fff;
  margin-bottom: 10px;
  display: inline-block;
}

.cancelado {
  background-color: #e20814;
  color: #fff;
  padding: 5px 10px;
  border-radius: 3px;
  font-size: 15px;
  font-weight: bold;
  text-transform: uppercase;
  max-width: 230px;
  min-width: 230px;
  text-align: center;
  border: 2px rgba(255, 255, 255, 0.4) solid;
  margin: 5px 0 15px 0;
}

.cancelado-programa {
  background-color: #e20814;
  color: #fff;
  padding: 5px 10px;
  border-radius: 3px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  margin: 5px 5px 15px 20px;
}

.programacion .lugar {
  background-color: #e20814;
  color: #fff;
  padding: 10px 10px;
  font-size: 1.1em;
  margin-bottom: 20px;
}

hr.style8 {
  border-top: 1px solid #8c8b8b;
  border-bottom: 1px solid #fff;
}

hr.style8:after {
  content: '';
  display: block;
  margin-top: 2px;
  border-top: 1px solid #c0c0be;
  border-bottom: 1px solid #c0c0be;
}


/* ficha */
.ficha .creditos {
  position: absolute;
  color: #fff;
  z-index: 100000;
  right: 16px;
  bottom: 7px;
  font-size: 11px;
  text-align: right;
}


.datos {
  color: #fff;
}

.ficha-datos {
  background: #282b2b;
  color: #fff;
  padding: 15px;
  margin-bottom: 20px;
}


.ficha-datos h2 {
  font-family: 'Lato', sans-serif;
  font-weight: normal;
}

.ficha-datos h2.t1 {
  font-size: 4.5rem;
}

.ficha-datos h2.t2 {
  font-size: 2.0rem;
  margin-top: 15px; text-transform:uppercase;
}
.ficha-datos h4 {
  color: #777777; text-transform:uppercase;
}
.ficha-datos h2.t3 {
  font-size: 2.5rem;
}

.ficha-datos h2.t4 {
  font-size: 2rem;
}
.ficha-datos-subtitulo {
  margin: 20px 0  20px 0;
}
.ficha-datos-subtitulo h4.{
  color: #a6a6a6;
}
.ficha-datos-subtitulo h5.{
  color: #fff;
}
.ficha-tipo {
  text-transform: uppercase;
}

h4 {
  color: #171717;
  font-weight: 600;
}

.ficha-artistica {
  margin-top: 20px;
}

.ficha-artistica .estreno {
  display: inline-block;
  background-color: rgba(197, 54, 29, 0.8);
  color: #e7e5e5;
  padding: 5px 10px 8px 10px;
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 20px;
}

.ficha-artistica .t1 {
  font-size: 1.5rem;
}

.ficha-artistica h4 {
  color: #fff;
}

.bt-sidebar {
  display: block;
  color: #6f6d6d;
  background: #e20814 none repeat scroll 0 0;
  font-size: 14px;
  font-weight: normal;
  padding: 20px 7px;
  text-align: center;
  text-transform: uppercase;
  margin: 20px 0 20px 40px;
  color: #fff;
}

.btn_entradas {
  min-width: 140px;
  background-color: #e20814;
  color: #fff;
  display: inline-block;
  padding: 5px 10px 5px 10px;
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 12px;
  text-align: center;
}

.btn_entradas:hover {
  background-color: #9d9d9d !important;
  color: #fff;
}

.btn_entradas_acordeon {
  background-color: #ffffff;
  border: 1px solid #d0d0d2;
  color: #231f20;
  padding: 3px 5px 3px 5px;
  font-size: 10px;
  float: right !important;
  margin-bottom: 15px;
}

.btn_entradas_acordeon:hover {
  background: #C30F1B;
  color: #ffffff !important;
}

.image-acordeon {
  width: 300px !important;
  height: auto;
}

.aforo-completo {
  display: inline-block;
  background-color: #e20814;
  color: #fff;
  padding: 5px;
  margin-top: 10px;
}

.ficha-artistica .interpretes p {
  line-height: 2.6rem;
}

.ficha-artistica .interpretes strong {
  font-size: 1.7rem;
}

.ficha-artistica .interpretes strong.t1 {
  font-size: 2.5rem;
}

.ficha-artistica .interpretes strong.t2 {
  font-size: 2rem;
}


.bt-sidebar:hover {
  background: #000;
  color: #fff;
}

.bt-sidebar i {
  font-size: 18px;
  margin-right: 3px;
}

.info-sidebar {
  margin-left: 40px;
  margin-top: 10px;
  font-size: 0.9rem;

}

.noentradas {
  color: #e20814;
  font-weight: 700;
  margin-top: 20px;
  font-size: 120%;
}

.critica {
  font-family: 'Lato', sans-serif;
  font-style: italic;
  text-align: center;
}

.critica li {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #d5d5d5;
}

.ficha-datos-2 {
  background: #c9bd93;
  color: #4e4a3a;
  padding: 15px;
  margin-bottom: 20px;
}

.ficha-datos-2 h2 {
  text-transform: uppercase;
  font-family: 'Lato', sans-serif;
  font-weight: normal;
}

.info-sidebar iframe {}

.info-sidebar .ciclo {
  font-weight: bold;
  background-color: #e20814;
  color: #fff;
  text-align: center;
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 0.9em;
  padding: 5px;
}

.ficha-artistica .table-responsive {
  border: 0;
}

.ficha-artistica .table-responsive table {
  width: auto;
}

.ficha-artistica .table-responsive table td {
  padding: 3px 0 3px 0;
}

.tabla-programa td {
  padding: 20px !important;
  white-space: normal !important;

}

.tabla-programa td.autor_programa {
  text-align: right;

}

.tabla-programa td ul {

  margin-left: 20px;

}

.tabla-programa td ul li {
  list-style-type: square;
  padding-top: 7px;
  margin-left: 20px;

}

.ficha ol {
  /*margin-left: 40px;*/
}

.ficha ol.breadcrumb-2 {
  margin-left: 0 !important;
}

.ficha .texto_programa ul li {
  list-style: disc;
  margin-left: 20px;
  padding-top: 8px;
}

hr.style6 {
  border: 1px dashed #ad120d;
}



/* elfestival */
.cabecera-sur {
  background: url("../img/cabecera.gif") no-repeat left;
  width: 100%;
  height: 200px;
  overflow: hidden;
  margin-bottom: 25px;
}

.cabecera-sur h1 {
  color: #fff;
  border-bottom: none;
  margin-top: 55px;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 30px;
  margin-bottom: 25px;
  letter-spacing: 2px;
  text-align: center;
}

.cabecera-joven {
  background: url("../img/cabecera.jpg") no-repeat center;
  width: 100%;
  height: inherit;
  overflow: hidden;
  margin-bottom: 25px;
}

.cabecera-joven h1 {
  color: #fff;
  border-bottom: none;
  margin-top: 30px;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 30px;
  margin-bottom: 25px;
  letter-spacing: 2px;
  text-align: center;
}

.cabecera-festival {
  background: url("../img/cabecera.gif") no-repeat left;
  width: 100%;
  height: 200px;
  overflow: hidden;
  margin-bottom: 25px;
}

.cabecera-festival h1 {
  color: #fff;
  border-bottom: none;
  margin-top: 70px;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 40px;
  margin-bottom: 25px;
  letter-spacing: 2px;
  text-align: center;
}

.festival a:hover {
  color: #666;
}

.festival h4 {
  margin-left: 0;
}

.festival ul {
  margin-left: 20px;
  list-style: disc;
}

.festival ul li {
  list-style: square;
}

.festival ul li ul li {
  list-style: disc;
}

/* Espacios */

.cabecera-espacios {
  background: url("../img/cabecera.gif") no-repeat left;
  width: 100%;
  height: 200px;
  overflow: hidden;
  margin-bottom: 40px;
}

.cabecera-espacios h1 {
  color: #fff;
  border-bottom: none;
  margin-top: 70px;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 40px;
  margin-bottom: 20px;
  letter-spacing: 2px;
  text-align: center;
}

.espacios-info {
  color: #2b2b2b;
  margin-top: 20px;
}

.espacios-bloque {
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.espacios-bloque h3 {
  margin-bottom: 20px;
}

.espacios-info h3 {
  margin-bottom: 10px;
}

.espacios-info-lista {
  margin-top: 25px;
}

.espacios-info-lista ul li {
  margin-bottom: 2px;
  border-bottom: 1px solid #cfc9c9;
}

.espacios-info-lista ul li a ul .first-child {
  margin-left: 0;
  color: #bc0505;
  font-size: 140%;
}

.espacios-info-lista ul li a {
  padding: 0 5px 0 5px;
  display: block;
  overflow: hidden;
}

.espacios-info-lista ul li a:hover {
  color: #e0e0dd;
}

.espacios-info-lista ul li a:hover ul li {
  color: #c0c0be;
}

.espacios-info-lista ul li ul li {
  border-bottom: none;
  color: #222222;
}

.fa-bullhorn {
  margin-bottom: 20px;
}

.espacios-info .col-sm-4 a:hover {
  color: #666;
}

.espacios-cel-left {
  width: 62%;
  float: left;
}

.espacios-cel-right {
  width: 37%;
  float: right;
  margin-top: 30px;
}

.entradas-button {
  color: #6f6d6d;
  background: #e0e0dd;
  border: 1px solid #c0c0be;
  font-size: 14px;
  padding: 4px 7px;
  font-weight: normal;
  margin: 6px 0;
  margin-right: 12px;
  display: inline-block;
  text-decoration: none;
  font-family: 'Open Sans', sans-serif;
  width: 160px;
}

.entradas-button:hover,
.ghost-button:active {
  color: #c0c0be;
  background: #ffffff;
}

/* prensa */
.boton_prensa a {
  min-width: 250px;
  max-width: 250px;
  background-color: #e20814;
  color: #e7e5e5;
  padding: 5px 10px 5px 10px;
  display: block;
  margin-left: auto;
  border-bottom: 2px solid #fff;
  text-transform: uppercase;
  margin-right: auto;
  font-size: 12px;
  text-align: center;
}

.boton_prensa a:hover {
  color: #fff !important;
  background-color: #e20814;
}

.cabecera-prensa {
  background: url("../img/cabecera.jpg") no-repeat left;
  width: 100%;
  height: 200px;
  overflow: hidden;
  margin-bottom: 40px;
}

.cabecera-prensa h1 {
  color: #fff;
  border-bottom: none;
  margin-top: 70px;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-size: 40px;
  margin-bottom: 20px;
  letter-spacing: 2px;
  text-align: center;
}

.prensa .info-sidebar {
  margin-bottom: 20px;
}

.prensa h4 {
  margin-top: 60px;
}

.material-prensa {
  margin-top: 30px;
  border-top: 1px solid #ddd;
}

.material-prensa>li {
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
}

.material-prensa li ul li {
  display: inline-block;
}

.material-prensa li ul .first-child {
  width: 59%;
}

.material-prensa li ul .first-child a {
  color: #e20814;
  font-size: 1.1em;
}

.material-prensa li ul .first-child a:hover {
  color: #171717; font-weight:600;
}

.material-prensa li ul .second-child {
  width: 40%;
  text-align: right;
}

.material-prensa li ul .second-child a {
  color: #4e4547;
  font-size: 0.7em;
}

.second-child a:hover,
.info-sidebar a:hover {
  color: #666;
}

.prensa-tex2 {
  font-size: 13px;
}

/* calendario */

#calendario .nav-tabs>li.no-active {

  padding: 10px 10px;
  width: auto;
}

#calendario .nav-tabs>li>a {
  padding: 10px 10px;
  width: auto;
}

.nav-tabs>li.active>a,
.nav-tabs>li.active>a:hover,
.nav-tabs>li.active>a:focus {

  background-color: #e20814;
  border: 1px solid #e20814;

}

#mes_diciembre {
  margin-right: 4px;
}

p.h-tabs {
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  color: #e20814;
  font-size: 20px;
}

.borde-top {
  border-top: 1px solid #343434;
  margin-top: 15px;
  width: 1157px;
  margin-left: 11px;
}

.dia-borde-right {
  border-right: 1px solid #343434;
  padding: 15px;
  height: 165px;
}

.dia-borde {
  padding: 15px;
  height: 165px;
}

.dia-borde ul li {
  margin-bottom: 10px;
}

.dia p {
  font-family: 'Lato', sans-serif;
  font-weight: 100;
}

.dia span {
  font-family: 'Lato', sans-serif;
  font-weight: 500;
  font-size: 1.1em;
}

.dia span a {
  color: #e20814;
}

.dia span a:hover {
  color: #767676;
}

.dia ul {
  margin-left: 15px;
}

.dia .dia-nombre-obra li {
  display: inline-block;
  margin-right: 10px;
}

.dia-semana p {
  text-align: center;
  margin-bottom: 16px;
  font-weight: 500;
}

.dia-mes p {
  font-family: 'Lato', sans-serif;
  font-size: 90px;
  text-align: center;
  padding-top: 6px;
  color: #b7b7b7;
  font-weight: 500;
}

.dia a {
  overflow: hidden;
  display: block;
}

.dia a:hover {
  background: #f9f8f7;
}

.medio .sub-tit {
  font-size: 17px;
}

.dia .largo {
  position: absolute;
  top: 40px;
}

.dia .largo-tx {
  font-size: 1.2em;
  text-transform: uppercase;
  font-style: italic;
}

.dia-datos-obra {
  text-align: left;
  font-size: 16px;
  color: #767676;
  margin-top: 20px;
}

.mes p {
  font-size: 17px;
  text-align: center;
  padding-top: 36px;
}

/* creditos */
.cabecera-creditos {
  background: url("../fotos/creditos/cabecera.html") no-repeat center;
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.cabecera-creditos h1 {
  color: #fff;
  border-bottom: none;
  margin-top: 70px;
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  font-size: 45px;
  margin-bottom: 20px;
  letter-spacing: 2px;
  text-align: center;
}



/* Noticias */
.cabecera-noticias {
  background: url("../fotos/noticias/cabecera.html") no-repeat center;
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.cabecera-noticias h1 {
  color: #fff;
  border-bottom: none;
  margin-top: 70px;
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  font-size: 45px;
  margin-bottom: 20px;
  letter-spacing: 2px;
  text-align: center;
}


/* Entradas y Descuentos */
.compra_entradas a {
  background-color: #fff;
  border: 1px solid #939392;
  color: #616161 !important;
  margin: 10px 0 10px 10px;
  padding: 3px 7px;
  text-align: center;
  font-size: 12px !important;
  display: inline-block !important;
  font-weight: bold;
}

.compra_entradas a:hover {
  background-color: #e20814;
  color: #fff !important;
  border: 1px solid #cdcbcb;
}

.cabecera-entradas-descuentos {
  background: url("../fotos/entradas-descuentos/cabecera.html") no-repeat center;
  width: 100%;
  height: 200px;
  overflow: hidden;
}

.cabecera-entradas-descuentos h1 {
  color: #fff;
  border-bottom: none;
  margin-top: 70px;
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  font-size: 45px;
  margin-bottom: 20px;
  letter-spacing: 2px;
  text-align: center;
}

.entradas-descuentos a {
  color: #fff;
  text-decoration: none;
  background: #000;
  padding: 26px 10px;
  margin-top: 20px;
  display: block;
  width: 222px;
  text-align: center;
}

.entradas-descuentos a:hover {
  background: #999;
  color: #fff !important;
}

.teatros h5 {
  border-bottom: 1px solid #d5d5d5;
  padding-bottom: 3px;
  margin-bottom: 3px;
}

.teatros .col-sm-4 {
  padding-right: 40px;
  margin-bottom: 20px;
}

#teatros li {
  margin-bottom: 5px;
}

.asterisco {
  font-size: 10px;
}

.teatros-precios {
  padding: 7px 20px;
  background: #f8f8f8;
  margin: 20px 0;
}

.teatros a:hover {
  color: #666;
}



/***************  FOOTER  ***************/
footer {
  background-color: #171717;
  border-top: 2px solid #ca020d;
  padding-bottom: 20px;
  margin-top: 30px;
}

.footer {
  color: #c0c0be;
  padding-top: 20px;
  font-size: 12px;
}

.footer ul {
  float: right;
}

.footer ul li {
  display: inline-block;
  padding-left: 10px;
  margin-left: 10px;
  border-left: 1px solid #999;
}

.footer ul li a {
  color: #c0c0be;
}

.footer ul li a:hover {
  text-decoration: underline;
}

.footer .first-child {
  border-left: none;
  padding-left: 0;
  margin-left: 0;
}

.copy img {
  margin-right: 10px;
}



.go-top {
  position: fixed;
  bottom: 1em;
  right: 1em;
  text-decoration: none;
  color: #fff;
  background-color: rgba(218, 29, 0, 1);
  font-size: 12px;
  padding: 1em;
  display: none;
}

.go-top:hover {
  background-color: rgba(119, 127, 128, 1);
}

/***************  MEDIAQUERIES  ***************/
/************ Escritorio ***************/

@media (min-width: 1224px) {}

/************ Escritorio porqueño y tablet ***************/

@media (min-width: 768px) and (max-width: 1200px) {


  .logo {
    border-bottom: none;
  }

  .video-home iframe {
    width: 309px;
  }

  .vid-home {
    height: 232px;
  }

  .diciembre {
    margin-right: 8px;
  }

  .borde-top {
    width: 955px;
  }

  .espacios-cel-left {
    width: 46%;
    float: left;
  }

  .espacios-cel-right {
    width: 46%;
    float: right;
  }

  .info-sidebar iframe {
    width: 269px;
  }

  .social {

    top: 550px;

  }
}



/************ tablet - smartphone horizontal ***************/

@media (max-width: 991px) {

  h1 {
    font-size: 35px !important;
    margin-bottom: 20px;
  }

  .ateneo2 {
    max-width: 100%;
  }

  .imagen-ateneo {
    min-width: 150px;
    max-width: 50%;
    height: auto;
    float: right;
  }

  .video-home iframe {
    width: 236px;
    height: 187px;
  }

  .logo {
    height: 110px;
  }

  .logos-cam-2 {
    display: block;
  }

  .logos-cam-2 span img {
    border-bottom: none;
    width: 260px;
    margin-top: 30px;
    float: right;
  }

  .logos-cam-1,
  .logos-cam-3 {
    display: none;
  }

  .carousel-caption {
    bottom: 20% !important;
  }

  .bloque-1 {
    height: 150px;
  }

  .bloque-1 h3 {
    font-size: 22px;
  }

  .bloque-1 hr,
  .bloque-1 p {
    font-size: 14px;
    line-height: 22px;
  }

  .programa {
  }

  .programa a {
    padding: 15px 20px 0 20px;
  }

  .creditos {
    display: none;
    top: 60% !important;
  }

  .flechas {
    top: 60%;
  }

  .estrenos a,
  .calendario a,
  .descuentos a {
    padding: 5px;
  }

  .vid-home {
    height: 177px;
  }

  .programacion h3 {
    font-size: 16px;
    margin-bottom: 1px;
  }

  .programa h3 {
    margin-top: 10% !important;
  }

  .borde-top {
    width: 94%;
    border-top: none;
  }

  .info-sidebar iframe {
    width: 198px;
  }

  .diciembre {
    margin-right: 0;
  }

  .h-tabs {
    display: none;
  }

  .dia-borde-right {
    border-right: none;
    padding: 15px;
  }

  .dia-borde-top {
    border-top: 1px solid #e20814;
  }

  .dia {
    border-bottom: 1px solid #e20814;
  }

  .borde-top {
    width: 97%;
    margin-top: 0;
  }

  .dia span {
    font-size: 20px;
  }

  .dia-mes p {
    font-size: 35px;
    padding-top: 0;
  }

  .img-circle {
    width: 85px !important;
    height: 85px !important;
  }

  .dia-borde ul li {
    margin-bottom: 3px;
  }

  .dia-datos-obra {
    margin-left: 87px !important;
  }

  .dia-borde {
    height: 100%;
  }

  .dia-borde-right {

    height: auto;
  }

  .dia-semana p {

    margin-bottom: 4px;
  }

  .material-prensa li ul .first-child,
  .material-prensa li ul .second-child {
    width: 100%;
    margin: 0 35px 0 35px;
    text-align: left;
  }

  .medio .sub-tit {
    font-size: 12px;
  }

  .espacios-cel-left {
    width: 100%;
    float: left;
  }

  .espacios-cel-right {
    width: 100%;
    float: left;
  }

  .programa-sala {
    font-size: 11px;
  }

  .programa-autor {
    font-size: 20px;
  }

  .programa-info {
    font-size: 16px;
  }

  .programa-fechas {
    font-size: 10px;
  }

  .social {

    top: 550px;

  }
}

/************ smartphone horizontal ***************/

@media (max-width: 767px) {

  .imagen-ateneo {
    min-width: 150px;
    max-width: 100%;
    height: auto;
    float: right;
  }

  .video-home iframe {
    width: 100%;
    height: 327px;
  }

  .programacion h1,
  .cabecera-joven h1,
  .cabecera-espacios h1,
  .cabecera-prensa h1,
  .cabecera-festival h1,
  .cabecera-ademas h1,
  .cabecera-noticias h1,
  .cabecera-entradas-descuentos h1,
  .cabecera-espacios h1 {
    font-size: 18px !important;
    letter-spacing: 1px;
    padding: 0px 15px 0px 15px;
  }

  .logo {
    display: none;
  }

  .logos-cam-3 {
    display: block;
  }

  .logos-cam-3 span img {
    border-bottom: none;
    width: 143px;
    height: 30px;
    margin-top: 10px;
    float: right;
  }

  .logos-cam-1,
  .logos-cam-2 {
    display: none;
  }

  .carousel-caption h2 {
    font-size: 40px;
    margin-bottom: 10px;
    letter-spacing: 0;
    line-height: 33px;
  }

  .carousel-caption {
    bottom: 25% !important;
  }

  .video {
    height: 400px !important;
  }

  .bloque-1 {
    height: 300px;
    margin-bottom: 10px;
    max-height: 90%;
}

  .bloque-2 {
    margin-bottom: 10px;
  }

  .programa h3 {
    margin-top: 10% !important;
  }

  .flechas {
    top: 57%;
  }

  .creditos {
    display: inherit;
  }

  .ficha .creditos {
    display: inherit;
    top: 90% !important;
  }

  .vid-home {
    height: 331px;
  }

  .copy {
    text-align: center;
  }

  .footer ul {
    margin-top: 30px;
    float: none;
    text-align: center;
  }

  .estrenos a,
  .calendario a,
  .descuentos a {
    padding: 30px;
    padding-top: 55px;
  }

  .programacion h3 {
    font-size: 16px;
    height: 100%;
  }

  .espacios-info-lista ul li ul li {
    display: block;
    margin-left: 0;
  }

  .espacios-info-lista ul li ul .first-child a {
    margin-bottom: 7px;
  }

  .material-prensa li ul li {
    display: block;
  }

  .programa a {
    padding-top: 70px;
  }

  .magazine a {
    padding: 0;
  }

  .info-sidebar iframe {
    width: 100%;
    height: 300px;
  }

  .bt-sidebar,
  .info-sidebar,
  h4 {
    margin-left: 0 !important;
  }

  .prensa h4 {
    margin-top: 30px;
  }

  .dia span {
    font-size: 16px;
  }

  .dia ul {
    text-align: center;
    margin-left: 0 !important;
  }

  .dia-nombre-obra img {
    display: none;
  }

  .dia-datos-obra li {
    display: inline-block;
    margin-right: 10px;
  }

  .dia-mes p {
    font-size: 38px;
    line-height: 1em;
  }

  .dia-mes {
    margin-bottom: 20px;
  }

  .medio {
    border-bottom: 1px solid #ddd;
    padding-bottom: 13px;
    width: 100%;
  }

  .dia .largo {
    position: relative;
    top: 0;
  }

  .largo-tx {
    display: none;
  }

  .dia {
    border-bottom: 2px solid #c0c0be;
  }

  .dia-borde {
    padding: 0;
  }

  .entradas-descuentos a {
    width: 100%;
  }

  .teatros .col-sm-4 {
    padding-right: 5px;
  }

  .medio .sub-tit {
    font-size: 16px;
  }

  .programa-sala {
    font-size: 14px;
  }

  .programa-autor {
    font-size: 24px;
    height: 100%;
  }

  .programa-fechas {
    font-size: 14px;
  }

  .sub-tit {
    font-size: 22px;
  }

  .espacios-info-lista {
    margin-top: 20px;
  }

  .programacion .col-sm-4 {
    min-height: 325px;
  }

}

/************ smartphone ***************/

@media (max-width: 420px) {

  header {
    position: fixed;
    top: 0px;
    z-index: 300;
    background: #ffffff;
    width: 100%;
  }

  section {
    margin-top: 40px;
  }

  .breadcrumb {
    display: none !important;
  }

  .cabecera h2 {

    margin-top: 10% !important;
    font-size: 20px;
    margin-bottom: 30px;
    letter-spacing: 2px;

  }

  .programacion h1 {
    margin-top: 40px !important;
    font-size: 20px;
    margin-bottom: 30px;
    letter-spacing: 2px;
  }

  .cabecera-prensa h1 {
    margin-top: 40px !important;
    font-size: 20px;
    margin-bottom: 30px;
    letter-spacing: 2px;
  }

  .cabecera-festival h1 {
    margin-top: 40px !important;
    font-size: 20px;
    margin-bottom: 30px;
    letter-spacing: 2px;
  }

  .carousel-caption h2 {
    font-size: 30px;
    letter-spacing: 0;
    line-height: 30px;
    margin-bottom: 10px;
  }

  .carousel-caption p {
    font-size: 12px;
    letter-spacing: 0;
  }

  .carousel-caption {
    bottom: 27% !important;
  }

  .video {
    height: 250px !important;
  }

  .vid-home {
    height: 179px;
  }

  .footer ul li {
    text-align: left;
    font-size: 14px;
    border-top: 1px solid #e5e5e5;
    display: block;
    border-left: none;
    padding-left: 0;
    margin-left: 0;
    margin-top: 5px;
    padding-top: 5px;
  }

  .secciones {
    margin-top: 140px;
  }

  .ficha .carousel {
    /*display: none;*/
    height: 200px;
  }

  .ficha {
    /*margin-top: 15px;*/
  }

  .comun {
    margin-top: 15px;
  }

  .video-home iframe {
    width: 100%;
    height: 179px;
  }

  .bloque-1 {
    height: 200px;
    margin-bottom: 20px;
  }

  .programa h3 {
    margin-top: -3% !important;
  }

  .calendario a .bg-tx-calendario {
    margin-top: -3% !important;

  }

  .programacion h1,
  .cabecera-espacios h1,
  .cabecera-prensa h1,
  .cabecera-festival h1,
  .cabecera-ademas h1,
  .cabecera-noticias h1,
  .cabecera-entradas-descuentos h1,
  .cabecera-espacios h1 {
    margin-top: 28px;
  }

  .programacion,
  .cabecera-espacios,
  .cabecera-prensa,
  .cabecera-festival,
  .cabecera-ademas,
  .cabecera-noticias,
  .cabecera-entradas-descuentos,
  .cabecera-espacios {
    height: 100px;
  }

  .dia-datos-obra li {
    display: block;
    margin-right: 0;
  }

  .medio .sub-tit {
    display: none;
  }

  .programacion {
    height: 100%;
  }

}

.dia ul {
  margin-left: 0;
}

.carousel-control {
  width: 8% !important;
}

.image-acordeon {
  width: 100% !important;
  height: auto;
}

.pasadas {
  text-align: center;
}

/* ============================================================
   SUMA FLAMENCA 2026 · CAPA RESPONSIVE / ESTABILIDAD
   ============================================================ */
html { overflow-x: hidden; }
body { min-width: 0; overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img, video, iframe { max-width: 100%; }
iframe { border: 0; }
.container, .row, [class*="col-"] { min-width: 0; }

/* Evita que textos, URLs y títulos largos rompan la retícula. */
p, li, td, th, a, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; word-wrap: break-word; }

/* Rejilla de programación: imágenes consistentes y sin desbordamiento. */
.programacion .caja-espectaculo { overflow: hidden; }
.programacion .caja-espectaculo img { display: block; width: 100%; height: auto; }
.programacion .caja-espectaculo a { max-width: 100%; }

/* Fichas y carruseles. */
.ficha .carousel-inner > .item > img,
.carousel-inner > .item > img { width: 100%; height: auto; min-width: 0; }
.table-responsive { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Calendario: si hay muchos días, se desplaza horizontalmente sin ensanchar la página. */
#calendario .nav-tabs.responsive { display: flex; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
#calendario .nav-tabs.responsive > li { flex: 0 0 auto; }

/* Espacios y entradas. */
.espacios-info ul, .material-prensa { max-width: 100%; }
.espacios-cel-left, .espacios-cel-right { min-width: 0; }

@media (max-width: 767px) {
  body { padding-bottom: 0; }
  .logo { width: auto; max-width: 100%; height: auto; }
  .logos { margin-left: 0; margin-right: 0; }
  .social { position: static; margin: 10px 0; text-align: center; }
  .social ul { display: flex; justify-content: center; gap: 4px; margin: 0; }
  .social ul li { display: inline-block; }
  .social ul li a { margin: 0; }
  .cabecera { background-size: cover; }
  .cabecera h2 { padding-left: 12px; padding-right: 12px; }
  .programacion .caja-espectaculo { float: none; width: 100%; }
  .ficha .col-sm-8, .ficha .col-sm-4 { width: 100%; }
  .sidebar { margin-top: 25px; }
  .espacios-bloque > [class*="col-sm-"] { padding-left: 0; padding-right: 0; }
  .espacios-cel-left, .espacios-cel-right { float: none !important; width: 100% !important; }
  .pasadas { height: auto; }
  .pasadas ul li { margin: 3px 7px; }
  footer .copy, footer .mapa { text-align: center; }
  footer .mapa ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 12px; }
}

@media (max-width: 420px) {
  p { text-align: left; }
  .cabecera h2 { font-size: 1.15em; letter-spacing: 1px; }
  .programa-autor { font-size: 1.65em; }
  .video-index { margin-left: auto; margin-right: auto; }
}

/* =========================================================
   SUMA FLAMENCA 2026 · AJUSTE CROMÁTICO
   Cartel XXI edición: rojo + negro + blanco + grises neutros
   ========================================================= */
:root {
  --sf26-red: #e20814;
  --sf26-black: #343434;
  --sf26-charcoal: #222222;
  --sf26-midgray: #777777;
  --sf26-lightgray: #e6e6e6;
  --sf26-softgray: #f3f3f3;
  --sf26-white: #ffffff;
}

/* Neutralización de colores heredados de ediciones anteriores */
.comun h2,
.comun h3,
.programa-autor,
.btn-programacion,
.compra_entradas a,
.acordeon-titulo,
.material-prensa a:hover,
.programacion .caja-espectaculo h4 {
  color: var(--sf26-red);
}

.btn-programacion,
.espacio,
.social ul li a {
  background-color: var(--sf26-red);
	color: var(--sf26-white);
}
.compra_entradas {
  background-color: #fff;
	color: var(--sf26-white);
}


.compra_entradas:hover {
  background-color: #e4e4e4;
  color: var(--sf26-white);
}

.btn-programacion:hover,
.social ul li a:hover {
  background-color: var(--sf26-black);
  color: var(--sf26-white);
}

.cabecera {
  background-color: var(--sf26-black);
}

.cabecera h2,
.cabecera h2 span {
  color: var(--sf26-white) !important;
}

.programacion .caja-espectaculo {
  background-color: var(--sf26-softgray) !important;
  color: var(--sf26-black);
}

.programacion .caja-espectaculo h3,
.programacion .caja-espectaculo h4,
.programacion .caja-espectaculo .fecha {
  color: var(--sf26-black) !important;
}

.programacion .caja-espectaculo:hover {
  background-color: var(--sf26-white) !important;
}

hr.style1,
.fecha,
.linea {
  border-color: #b7b7b7;
}

/* Mejor contraste de textos secundarios */
.acordeon-subtitulo,
.creditos,
.foto,
.pasadas,
.pasadas a {
  color: #555555 !important;
}

/************************************************************************************
SUMA FLAMENCA 2026 · ESTRUCTURA GENERAL DE PÁGINA
Fondo exterior gris + contenedores blancos, según la maqueta de referencia.
*************************************************************************************/
html {
  background: #d2d2d2;
}

body.suma-2026 {
  margin: 0;
  background: #d2d2d2;
  color: #222;
  overflow-x: hidden;
}

body.suma-2026 .site-header,
body.suma-2026 .site-footer {
  width: 100%;
  background: #fff;
}

body.suma-2026 .container {
  /*background-color: #fff;*/
}

body.suma-2026 section[role="main"] {
  width: 100%;
  background: transparent;
}

/* Franja de título: negro neutro, en consonancia con el cartel 2026. */
body.suma-2026 .cabecera {
  background: #343434 !important;
}

body.suma-2026 .cabecera h2,
body.suma-2026 .cabecera h2 span {
  color: #fff !important;
}

/* El contenido central mantiene una superficie blanca continua. */
body.suma-2026 .festival,
body.suma-2026 #calendario,
body.suma-2026 .ficha > .container,
body.suma-2026 .programacion > .container,
body.suma-2026 .prensa > .container,
body.suma-2026 .comun > .container {
  background: #FFF;
}

/* Evita que imágenes, tablas o contenidos largos rompan el contenedor. */
body.suma-2026 img,
body.suma-2026 iframe,
body.suma-2026 video,
body.suma-2026 table {
  max-width: 100%;
}

body.suma-2026 .table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

body.suma-2026 p,
body.suma-2026 li,
body.suma-2026 a,
body.suma-2026 h1,
body.suma-2026 h2,
body.suma-2026 h3,
body.suma-2026 h4,
body.suma-2026 h5 {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

@media (max-width: 767px) {
  html,
  body.suma-2026 {
    background: #fff;
  }

  body.suma-2026 .container {
    width: 100%;
  }
}


/* ============================================================
   INDEX 2026 · FIX RESPONSIVE VIDEO + ACCESIBILIDAD PIE
   ============================================================ */

/* El vídeo nunca puede superar el ancho útil de la ventana. */
.video-index {
  width: min(100%, 700px);
  max-width: 700px;
  margin: 50px auto;
  overflow: hidden;
  background: #000;
}

.video-index .cont-iframe {
  position: relative;
  width: 100%;
  max-width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
}

.video-index .cont-iframe iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  border: 0;
}

/* Contraste AA/AAA práctico del pie sobre fondo oscuro. */
footer,
body.suma-2026 .site-footer {
  background: #171717;
  color: #ffffff;
}

.footer {
  color: #ffffff;
}

.footer ul li a,
.footer .copy,
.footer .mapa,
.footer .mapa a {
  color: #ffffff !important;
}

.footer ul li {
  border-color: #9a9a9a;
}

.footer a:hover,
.footer a:focus {
  color: #ffffff !important;
  text-decoration: underline;
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

.go-top:focus,
.btn-programacion:focus,
.social a:focus,
#cssmenu a:focus {
  outline: 3px solid #343434;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .video-index {
    width: calc(100% - 24px);
    max-width: none;
    margin: 35px 12px;
  }

  .footer {
    padding-left: 15px;
    padding-right: 15px;
  }

  .footer ul {
    margin-top: 20px;
  }

  .footer ul li {
    border-top: 1px solid #595959;
  }
}

@media (max-width: 420px) {
  .video-index {
    width: 100%;
    margin: 25px 0;
    box-shadow: none;
  }

  .footer ul li,
  .footer ul li a {
    font-size: 15px;
    line-height: 1.45;
  }
}


/* ============================================================
   PROGRAMACIÓN 2026 · MIGAS + DESCARGA
   Franja gris, alineación vertical y sin fondo blanco.
   ============================================================ */
body.suma-2026 .programacion-utilidades {
  background: #d2d2d2;
}

.programacion-utilidades-inner {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.programacion-migas,
.programacion-descarga {
  margin: 0 !important;
}

.programacion-migas {
  padding: 0;
  background: transparent;
  border-radius: 0;
}

.programacion-migas > li,
.programacion-migas > li > a,
.programacion-descarga {
  color: #3f3f3f;
}

.programacion-migas > .active {
  color: #666;
}

.programacion-descarga {
  display: inline-block;
  text-align: right;
  white-space: nowrap; font-size:14px;
}

.programacion-descarga:hover,
.programacion-descarga:focus,
.programacion-migas a:hover,
.programacion-migas a:focus {
  color: #111;
}

@media (max-width: 767px) {
  body.suma-2026 .programacion-utilidades {
    background: #d2d2d2;
  }

  .programacion-utilidades-inner {
    min-height: 0;
    padding: 12px 0;
    flex-wrap: wrap;
  }

  .programacion-descarga {
    margin-left: auto !important;
  }
}

@media (max-width: 420px) {
  .programacion-migas {
    display: none !important;
  }

  .programacion-utilidades-inner {
    justify-content: flex-end;
  }
}


/* ============================================================
   PRENSA 2026 · SIDEBAR
   Maquetación ajustada a la referencia visual.
   ============================================================ */

.prensa .prensa-sidebar {
  padding-top: 48px;
  padding-left: 22px;
  color: #343434;
}

.prensa .prensa-sidebar-bloque {
  margin: 0 0 30px;
}

.prensa .prensa-sidebar-titulo {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px !important;
  color: #343434;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.prensa .prensa-sidebar-icono {
  display: inline-flex;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  align-items: center;
  justify-content: center;
  border: 2px solid #b8b8b8;
  border-radius: 50%;
  color: #9c9c9c;
  font-size: 12px;
}

.prensa .prensa-sidebar-lista,
.prensa .prensa-contacto-lista {
  margin: 0;
  padding: 0;
}

.prensa .prensa-sidebar-lista > li,
.prensa .prensa-contacto-lista > li {
  margin: 0;
  padding: 0;
}

.prensa .prensa-sidebar-material {
  padding-left: 33px;
}

.prensa .prensa-sidebar-material > li + li {
  margin-top: 5px;
}

.prensa .prensa-sidebar-boton {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 154px;
  min-height: 30px;
  padding: 7px 10px;
  background: #e20814;
  color: #fff !important;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  text-align: left;
}

.prensa .prensa-sidebar-boton i {
  flex: 0 0 12px;
  width: 12px;
  color: #fff;
  text-align: center;
}

.prensa .prensa-sidebar-boton:hover,
.prensa .prensa-sidebar-boton:focus {
  background: #343434;
  color: #fff !important;
  text-decoration: none;
}

.prensa .prensa-sidebar-contacto {
  margin-top: 26px;
}

.prensa .prensa-contacto-grupo {
  margin-left: 33px;
}

.prensa .prensa-contacto-grupo h5 {
  margin: 0 0 10px !important;
  padding: 0 0 7px;
  border-bottom: 1px solid #c6c6c6;
  color: #e20814;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 700;
  text-transform: uppercase;
}

.prensa .prensa-contacto-nombre {
  margin: 0 0 8px;
  color: #343434;
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
}

.prensa .prensa-contacto-lista > li {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin-bottom: 7px;
  color: #343434;
  font-size: 14px;
  line-height: 1.35;
}

.prensa .prensa-contacto-lista > li > i,
.prensa .prensa-contacto-lista a > i {
  flex: 0 0 13px;
  width: 13px;
  margin-top: 2px;
  color: #e20814;
  text-align: center;
}

.prensa .prensa-contacto-lista a {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  max-width: 100%;
  color: #343434;
  text-decoration: none;
}

.prensa .prensa-contacto-lista a span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.prensa .prensa-contacto-lista a:hover,
.prensa .prensa-contacto-lista a:focus {
  color: #e20814;
  text-decoration: underline;
}

.prensa .prensa-contacto-cm {
  margin-top: 25px;
}

/* Tablet */
@media (max-width: 991px) {
  .prensa .prensa-sidebar {
    padding-left: 12px;
  }

  .prensa .prensa-sidebar-material,
  .prensa .prensa-contacto-grupo {
    padding-left: 0;
    margin-left: 0;
  }

  .prensa .prensa-sidebar-boton {
    width: 100%;
    max-width: 190px;
  }
}

/* Móvil: el sidebar pasa debajo del listado y aprovecha todo el ancho. */
@media (max-width: 767px) {
  .prensa .prensa-sidebar {
    margin-top: 25px;
    padding: 22px 0 0;
    border-top: 1px solid #bdbdbd;
  }

  .prensa .prensa-sidebar-bloque {
    margin-bottom: 26px;
  }

  .prensa .prensa-sidebar-titulo {
    margin-bottom: 14px !important;
  }

  .prensa .prensa-sidebar-material,
  .prensa .prensa-contacto-grupo {
    margin-left: 33px;
  }

  .prensa .prensa-sidebar-boton {
    width: 100%;
    max-width: 260px;
    min-height: 34px;
    font-size: 11px;
  }

  .prensa .prensa-contacto-lista > li {
    font-size: 12px;
  }
}

@media (max-width: 420px) {
  .prensa .prensa-sidebar-material,
  .prensa .prensa-contacto-grupo {
    margin-left: 0;
  }

  .prensa .prensa-sidebar-boton {
    max-width: none;
  }
}


/* ============================================================
   FICHA DE FUNCIÓN 2026 · SIDEBAR INFORMACIÓN PRÁCTICA
   ============================================================ */

.ficha .ficha-sidebar {
  padding-top: 20px;
  padding-left: 22px;
  color: #343434;
}

.ficha .ficha-sidebar-bloque {
  margin: 0;
}

.ficha .ficha-sidebar-titulo {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px !important;
  color: #343434;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.ficha .ficha-sidebar-icono {
  display: inline-flex;
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  align-items: center;
  justify-content: center;
  border: 2px solid #b8b8b8;
  border-radius: 50%;
  color: #9c9c9c;
  font-size: 12px;
}

.ficha .ficha-sidebar-contenido {
  margin-left: 33px;
  border-top: 1px solid #c6c6c6;
}

.ficha .ficha-sidebar-dato {
  padding: 12px 0;
  border-bottom: 1px solid #c6c6c6;
}

.ficha .ficha-sidebar-etiqueta {
  display: block;
  margin-bottom: 4px;
  color: #e20814;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: .03em;
}

.ficha .ficha-sidebar-etiqueta i {
  width: 15px;
  margin-right: 3px;
  text-align: center;
}

.ficha .ficha-sidebar-dato strong {
  display: block;
  color: #343434;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  overflow-wrap: anywhere;
}

.ficha .ficha-sidebar-lugar strong {
  font-size: 14px;
  /*text-transform: uppercase;*/
}

.ficha .ficha-sidebar-acciones {
  padding-top: 16px;
}

.ficha .ficha-sidebar-entrada {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 155px;
  min-height: 34px;
  padding: 8px 12px;
  background: #e20814;
  color: #fff !important;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.ficha .ficha-sidebar-entrada:hover,
.ficha .ficha-sidebar-entrada:focus {
  background: #343434;
  color: #fff !important;
  text-decoration: none;
}

/* Tablet */
@media (max-width: 991px) {
  .ficha .ficha-sidebar {
    padding-left: 12px;
  }

  .ficha .ficha-sidebar-contenido {
    margin-left: 0;
  }
}

/* Móvil */
@media (max-width: 767px) {
  .ficha .ficha-sidebar {
    margin-top: 28px;
    padding: 22px 0 0;
    border-top: 1px solid #bdbdbd;
  }

  .ficha .ficha-sidebar-titulo {
    margin-bottom: 14px !important;
  }

  .ficha .ficha-sidebar-contenido {
    margin-left: 33px;
  }

  .ficha .ficha-sidebar-dato {
    padding: 10px 0;
  }

  .ficha .ficha-sidebar-dato strong {
    font-size: 14px;
  }

  .ficha .ficha-sidebar-entrada {
    width: 100%;
    max-width: 260px;
  }
}

@media (max-width: 420px) {
  .ficha .ficha-sidebar-contenido {
    margin-left: 0;
  }

  .ficha .ficha-sidebar-entrada {
    max-width: none;
  }
}

/* ============================================================
   SUMA FLAMENCA 2026 · REVISIÓN FINAL
   Legibilidad, contraste, foco y limpieza de estilos repetidos.
   ============================================================ */

:root {
  --sf26-red: #e20814;
  --sf26-red-accessible: #b8000c;
  --sf26-black: #171717;
  --sf26-charcoal: #343434;
  --sf26-text: #343434;
  --sf26-text-secondary: #777777;
  --sf26-page-gray: #d2d2d2;
  --sf26-line: #b8b8b8;
  --sf26-white: #ffffff;
}

html { scroll-behavior: smooth; }

body.suma-2026 {
  font-family: 'Lato', Arial, sans-serif;
  color: var(--sf26-text);
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Contraste para texto normal sobre el gris de página.
   El rojo puro del cartel se mantiene para fondos y titulares grandes. */
body.suma-2026 .prensa-sidebar-etiqueta,
body.suma-2026 .ficha-sidebar-etiqueta,
body.suma-2026 .prensa-contacto-grupo h5,
body.suma-2026 .noentradas {
  color: var(--sf26-red-accessible);
}

body.suma-2026 .acordeon-subtitulo,
body.suma-2026 .pasadas,
body.suma-2026 .pasadas a,
body.suma-2026 .dia-datos-obra {
  color: var(--sf26-text-secondary) !important;
}

/* Foco visible: navegación por teclado. */
body.suma-2026 a:focus-visible,
body.suma-2026 button:focus-visible,
body.suma-2026 [tabindex]:focus-visible {
  outline: 3px solid #111;
  outline-offset: 3px;
}

body.suma-2026 #cssmenu a:focus-visible,
body.suma-2026 .social a:focus-visible,
body.suma-2026 .btn-programacion:focus-visible,
body.suma-2026 .prensa-sidebar-boton:focus-visible,
body.suma-2026 .ficha-sidebar-entrada:focus-visible {
  outline-color: #fff;
  box-shadow: 0 0 0 2px #111;
}

/* Links: no depender solo del color en bloques de texto. */
body.suma-2026 p a:hover,
body.suma-2026 p a:focus,
body.suma-2026 .footer a:hover,
body.suma-2026 .footer a:focus,
body.suma-2026 .programacion-descarga:hover,
body.suma-2026 .programacion-descarga:focus {
  text-decoration: underline;
}

/* Plantillas de Programación y Prensa: estilos repetidos trasladados desde HTML. */
.programacion .programa-artista {
  margin-top: 15px;
  color: var(--sf26-charcoal) !important;
  font-size: 1.1em;
  font-weight: 400;
}

.programacion .programa-obra {
  text-transform: uppercase;
}

.prensa .prensa-artista {
  color: #2f2f2d !important;
  letter-spacing: .05em;
  font-size: .9em;
}

.prensa .prensa-obra {
  font-size: 1em;
  font-style: italic;
  text-transform: uppercase;
}

.material-prensa li ul .second-child a {
  font-size: 12px;
}

/* Texto auxiliar legible. */
.footer { font-size: 13px; }
.prensa .prensa-contacto-lista > li { font-size: 13px; }
.prensa .prensa-contacto-nombre { font-size: 13px; }
.ficha .ficha-sidebar-etiqueta { font-size: 12px; }
.ficha .ficha-sidebar-dato strong { font-size: 14px; }

/* Reduce motion cuando el usuario lo solicita. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 767px) {
  body.suma-2026 p { line-height: 1.55; }
  .footer { font-size: 14px; }
}



/* HTML repetido trasladado a clases */
.cabecera-subtitulo {
  color: #fff;
  text-align: center;
  font-size: 105%;
}
.espacios-localidad {
  margin: 15px 0;
  padding: 7px 7px 1px;
  background: #343434;
  text-align: center;
}
.espacios-localidad h3 { color: #fff !important; }
.espacio-sala {
  margin-top: 25px !important;
  color: #343434 !important;border-bottom: 1px #868585 solid;
}
.espacio-sala-primera { margin-top: 0 !important; border-bottom: 1px #868585 solid;}
.espacio-artista {
  font-size: .7em;
  font-weight: 600;
  letter-spacing: .1em;
}
.espacio-obra {
  text-transform: uppercase;
  font-style: italic;
}
.festival-equipo-item {
  text-align: center;
}
.festival-equipo-separador {
  margin-top: 40px;
}
.festival-equipo-heading {
  text-align: center;  
}
.festival-equipo-titulo {
  color: #e20814;
  text-align: center;
}
.festival-equipo-titulo-separador {
  margin-top: 20px;
}

/* ============================================================
   SUMA FLAMENCA 2026 · ESPACIOS Y ENTRADAS
   ============================================================ */

.entradas-2026 .espacios-info {
  margin-top: 22px;
}

.entradas-2026 .espacios-bloque {
  margin-bottom: 30px;
  padding-top: 6px;
  padding-bottom: 30px;
  border-bottom: 1px solid #bcbcbc;
}

.entradas-2026 .espacios-bloque > .espacios-ficha {
  padding: 12px 24px 10px 15px;
}

.entradas-2026 .espacios-ficha h3 {
  margin: 0 0 14px !important;
  color: #171717 !important;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  text-transform: uppercase;
}

.entradas-2026 .espacios-ficha ul {
  margin: 0;
}

.entradas-2026 .espacios-ficha ul li {
  margin-bottom: 7px;
  color: #454545;
  font-size: 13px;
  line-height: 1.45;
}

.entradas-2026 .espacios-ficha ul li i {
  width: 16px;
  color: #b8000c;
  text-align: center;
}

.entradas-2026 .espacios-ficha a {
  color: #343434;
}

.entradas-2026 .espacios-ficha a:hover,
.entradas-2026 .espacios-ficha a:focus {
  color: #171717;
  text-decoration: none;
}

.entradas-2026 .nombre-espacio {
  margin-bottom: 9px !important;
  color: #171717 !important;
}

.entradas-2026 .espacios-info-lista {
  margin-top: 0;
  padding-top: 7px;
}

.entradas-2026 .espacios-info-lista > ul {
  margin: 0;
}

/* Sala: mismo lugar en la composición, mejor jerarquía visual. */
.entradas-2026 .espacios-info-lista .sala-titulo {
  margin: 0;
  padding: 0;
  border: 0;
}

.entradas-2026 .espacio-sala {
  margin: 27px 0 10px !important;
  padding: 0 0 7px;
  border-bottom: 2px solid #9a9a9a;
  color: #e20814 !important;
  font-size: 17px !important;
  line-height: 1.3;
  font-weight: 700 !important;
}

.entradas-2026 .espacio-sala-primera {
  margin-top: 0 !important;
}

/* Función: conserva las dos columnas internas originales,
   pero con más aire entre una actuación y la siguiente. */
.entradas-2026 .espacios-info-lista > ul > .funcion-item {
  margin: 0 0 1px;
  padding: 0 0 11px;
  border: 0;
  border-bottom: 1px solid #d2d2d2;
}

.entradas-2026 .funcion-enlace {
  display: block;
  min-height: 67px;
  /*padding: 10px 10px 8px !important;*/
  overflow: hidden;
  border-left: 3px solid transparent;
  background: #fff;
  color: #343434;
  transition: background-color .15s ease, border-color .15s ease;
}

.entradas-2026 .funcion-enlace:hover,
.entradas-2026 .funcion-enlace:focus {
  border-left-color: #e20814;
  background: #d2d2d1;
  color: #171717;
  text-decoration: none;
}

.entradas-2026 .espacios-cel-left {
  width: 61%;
  float: left;
}

.entradas-2026 .espacios-cel-right {
  width: 38%;
  float: right;
  margin-top: 14px;
}

.entradas-2026 .espacios-cel-left li,
.entradas-2026 .espacios-cel-right li {
  margin: 0 !important;
  border: 0 !important;
}

.entradas-2026 .espacio-artista {
  display: block;
  margin-bottom: 5px;
  color: #171717;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: .03em;
}

.entradas-2026 .espacio-obra {
  display: inline;
  color: #343434 !important;
  font-size: 14px !important;
  line-height: 1.35;
  font-style: italic;
  text-transform: uppercase;
}

.entradas-2026 .espacios-cel-right li {
  color: #454545 !important;
  font-size: 13px;
  line-height: 1.4;
  text-align: right;
}

.entradas-2026 .entrada-estreno-linea {
  margin-top: 5px !important;
  text-align: right;
}

.entradas-2026 .entrada-estreno {
  display: inline-block;
  margin: 0;
  padding: 2px 5px;
  background: #c0c0c0;
  color: #780008;
  font-size: 9px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

/* Botón en la misma posición que la web 2025. */
.entradas-2026 .compra_entradas {
  margin: 0;
  padding: 0 10px 0 5px;
  background: transparent;
}

.entradas-2026 .compra_entradas a {
  margin: 0;
  padding: 4px 8px;
  border: 1px solid #767676;
  background: #fff;
  color: #4b4b4b !important;
  font-size: 11px !important;
  line-height: 1.3;
  font-weight: 700;
}

.entradas-2026 .compra_entradas a:hover,
.entradas-2026 .compra_entradas a:focus {
  border-color: #171717;
  background: #171717;
  color: #fff !important;
}

.entradas-2026 .compra_entradas a[aria-disabled="true"] {
  cursor: default;
  opacity: .72;
}

.entradas-2026 .compra_entradas a[aria-disabled="true"]:hover {
  border-color: #767676;
  background: #fff;
  color: #4b4b4b !important;
}

/* Cabeceras de localidad, misma composición original. */
.entradas-2026 .espacios-localidad {
  margin: 10px 0 4px;
  padding: 8px 10px 5px;
  background: #343434;
  text-align: center;
}

.entradas-2026 .espacios-localidad h3 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
  letter-spacing: .06em;
}

/* Tablet: se conservan las columnas 4/8 de Bootstrap. */
@media (min-width: 768px) and (max-width: 991px) {
  .entradas-2026 .espacios-bloque > .espacios-ficha {
    padding-right: 16px;
  }

  .entradas-2026 .espacios-cel-left {
    width: 55%;
  }

  .entradas-2026 .espacios-cel-right {
    width: 44%;
  }

  .entradas-2026 .espacio-artista,
  .entradas-2026 .espacio-obra {
    font-size: 13px !important;
  }
}

/* Móvil: reproduce el comportamiento responsive de la plantilla:
   la columna de información se apila sobre las funciones. */
@media (max-width: 767px) {
  .entradas-2026 .espacios-bloque {
    margin-bottom: 24px;
    padding-bottom: 24px;
  }

  .entradas-2026 .espacios-bloque > .espacios-ficha,
  .entradas-2026 .espacios-info-lista {
    padding-left: 15px;
    padding-right: 15px;
  }

  .entradas-2026 .espacios-info-lista {
    margin-top: 14px;
  }

  .entradas-2026 .espacio-sala {
    margin-top: 23px !important;
  }

  .entradas-2026 .espacio-sala-primera {
    margin-top: 0 !important;
  }

  .entradas-2026 .funcion-enlace {
    min-height: 0;
    padding: 11px 9px !important;
  }

  .entradas-2026 .espacios-cel-left,
  .entradas-2026 .espacios-cel-right {
    width: 100%;
    float: none;
  }

  .entradas-2026 .espacios-cel-right {
    margin-top: 8px;
  }

  .entradas-2026 .espacios-cel-right li {
    text-align: left;
  }

  .entradas-2026 .entrada-estreno-linea {
    text-align: right !important;
  }

  .entradas-2026 .compra_entradas {
    padding-left: 9px;
  }
}

@media (max-width: 420px) {
  .entradas-2026 .espacios-localidad h3 {
    font-size: 15px !important;
  }

  .entradas-2026 .espacios-ficha h3 {
    font-size: 17px !important;
  }

  .entradas-2026 .espacio-artista {
    font-size: 14px !important;
  }

  .entradas-2026 .espacio-obra {
    font-size: 13px !important;
  }
}

/* ============================================================
   SUMA FLAMENCA 2026 · PRENSA
   Conserva composición 2025: listado 8/12 + sidebar 4/12.
   ============================================================ */

.prensa-2026 .prensa-contenido {
  padding-top: 0;
}

.prensa-2026 .prensa-titulo-listado {
  margin: 48px 0 18px !important;
  padding-bottom: 10px;
  border-bottom: 2px solid #343434;
  color: #b8000c !important;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .04em;
}

.prensa-2026 .material-prensa {
  margin: 0;
  padding: 0;
  border-top: 0;
}

.prensa-2026 .material-prensa > .prensa-item {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #d2d2d2;
}
.prensa-2026 .material-prensa > .prensa-item > ul {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 66px;
  padding: 10px 6px;
  border-left: 3px solid transparent;
  background: #fff;
  transition: background-color .15s ease, border-color .15s ease;
}

.prensa-2026 .material-prensa > .prensa-item:hover > ul,
.prensa-2026 .material-prensa > .prensa-item:focus-within > ul {
  border-left-color: #e20814;
  background: #d2d2d1;
}

.prensa-2026 .material-prensa .first-child {
  width: 68%;
  padding-right: 18px;
}

.prensa-2026 .material-prensa .second-child {
  width: 32%;
  text-align: right;
}

.prensa-2026 .material-prensa .first-child a {
  display: block;
  color: #343434;
  text-decoration: none;
}

.prensa-2026 .material-prensa .first-child a:hover,
.prensa-2026 .material-prensa .first-child a:focus {
  color: #171717;
  text-decoration: none;
}

.prensa-2026 .prensa-artista {
  margin: 0 0 4px !important;
  color: #171717 !important;
  font-size: 15px !important;
  line-height: 1.3;
  font-weight: 700 !important;
  letter-spacing: .03em !important;
}

.prensa-2026 .prensa-obra {
  display: block;
  color: #454545;
  font-size: 13px;
  line-height: 1.35;
  font-style: italic;
  text-transform: uppercase;
}

.prensa-2026 .prensa-fotos {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  min-height: 32px;
  padding: 5px 8px;
  border: 1px solid transparent;
  color: #555 !important;
  font-size: 12px !important;
  line-height: 1.2;
  font-weight: 700;
  text-decoration: none;
}

.prensa-2026 .prensa-fotos i {
  color: #b8000c;
  font-size: 14px;
}

.prensa-2026 .prensa-fotos:hover,
.prensa-2026 .prensa-fotos:focus {
  border-color: #9d9d9d;
  background: #fff;
  color: #171717 !important;
  text-decoration: none;
}

/* Sidebar: misma posición y estructura que 2025, más equilibrado. */
.prensa-2026 .prensa-sidebar {
  padding-top: 48px;
  padding-left: 28px;
}

.prensa-2026 .prensa-sidebar-bloque {
  margin-bottom: 30px;
}

.prensa-2026 .prensa-sidebar-titulo {
  margin-bottom: 16px !important;
}

.prensa-2026 .prensa-sidebar-material {
  padding-left: 33px;
}

.prensa-2026 .prensa-sidebar-boton {
  width: 100%;
  max-width: 190px;
  min-height: 34px;
  font-size: 11px;
}

.prensa-2026 .prensa-contacto-grupo {
  margin-left: 33px;
}

.prensa-2026 .prensa-contacto-grupo h5 {
  color: #b8000c;
  font-size: 13px;
}

.prensa-2026 .prensa-contacto-lista > li,
.prensa-2026 .prensa-contacto-nombre {
  font-size: 13px;
}

/* Foco accesible */
.prensa-2026 .material-prensa a:focus-visible,
.prensa-2026 .prensa-sidebar a:focus-visible {
  outline: 3px solid #111;
  outline-offset: 3px;
}

/* Tablet: sigue siendo 8/4 de Bootstrap, solo compactamos. */
@media (min-width: 768px) and (max-width: 991px) {
  .prensa-2026 .material-prensa .first-child {
    width: 64%;
  }

  .prensa-2026 .material-prensa .second-child {
    width: 36%;
  }

  .prensa-2026 .prensa-sidebar {
    padding-left: 12px;
  }

  .prensa-2026 .prensa-sidebar-material,
  .prensa-2026 .prensa-contacto-grupo {
    margin-left: 0;
    padding-left: 0;
  }

  .prensa-2026 .prensa-sidebar-boton {
    max-width: 100%;
  }
}

/* Móvil: igual que la estructura histórica, sidebar debajo. */
@media (max-width: 767px) {
  .prensa-2026 .prensa-titulo-listado {
    margin-top: 28px !important;
    font-size: 18px;
  }

  .prensa-2026 .material-prensa > .prensa-item > ul {
    display: block;
    min-height: 0;
    padding: 12px 4px;
  }

  .prensa-2026 .material-prensa .first-child,
  .prensa-2026 .material-prensa .second-child {
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: left;
  }

  .prensa-2026 .material-prensa .second-child {
    margin-top: 7px;
  }

  .prensa-2026 .prensa-fotos {
    justify-content: flex-start;
    padding-left: 0;
  }

  .prensa-2026 .prensa-sidebar {
    margin-top: 28px;
    padding: 24px 0 0;
    border-top: 1px solid #bdbdbd;
  }

  .prensa-2026 .prensa-sidebar-material,
  .prensa-2026 .prensa-contacto-grupo {
    margin-left: 33px;
  }
}

@media (max-width: 420px) {
  .prensa-2026 .prensa-sidebar-material,
  .prensa-2026 .prensa-contacto-grupo {
    margin-left: 0;
  }

  .prensa-2026 .prensa-artista {
    font-size: 14px !important;
  }

  .prensa-2026 .prensa-obra {
    font-size: 12px;
  }
}

/* ============================================================
   SUMA FLAMENCA 2026 · PROGRAMACIÓN
   Conserva la composición histórica: rejilla Bootstrap de 3 columnas.
   ============================================================ */

.programacion-2026 .cajas-programacion {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  padding-top: 12px;
  padding-bottom: 26px;
}

.programacion-2026 .caja-espectaculo {
  display: flex;
  margin: 0 0 18px;
  padding: 0 8px 8px;
  background: transparent !important;
  color: #343434;
  overflow: visible;
}

.programacion-2026 .caja-espectaculo > .pro-obra {
  display: flex !important;
  flex-direction: column;
  width: 100%;
  margin: 0 !important;
  padding: 6px !important;
  border: 1px solid #d2d2d2;
  background: #f3f3f3;
  color: #343434;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}

.programacion-2026 .caja-espectaculo > .pro-obra:hover,
.programacion-2026 .caja-espectaculo > .pro-obra:focus {
  border-color: #9c9c9c;
  background: #fff !important;
  color: #171717;
  text-decoration: none;
}

.programacion-2026 .programacion-imagen {
  position: relative;
  width: 100%;
  aspect-ratio: 700 / 467;
  overflow: hidden;
  background: #e6e6e6;
}

.programacion-2026 .programacion-imagen img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.programacion-2026 .programacion-copy {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  padding: 0 4px 4px;
}

.programacion-2026 .programa-artista {
  margin: 14px 0 4px !important;
  color: #171717 !important;
  font-size: 16px !important;
  line-height: 1.3;
  font-weight: 700 !important;
  letter-spacing: .035em;
}

.programacion-2026 .programa-obra {
  min-height: 38px;
  margin: 0 0 9px !important;
  color: #343434 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500;
  font-style: italic;
  text-transform: uppercase;
}

.programacion-2026 .programacion-estreno {
  align-self: flex-start;
  margin: 0 0 9px;
  padding: 3px 6px;
  background: #ededed;
  color: #780008;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.programacion-2026 .espacio {
  margin-top: auto;
  margin-bottom: 5px;
  padding: 6px 7px;
  background: #e20814 !important;
  color: #fff;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}

.programacion-2026 .fecha {
  min-height: 28px;
  padding: 5px 2px 3px;
  border-bottom: 1px dotted #9a9a9a;
  color: #343434 !important;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}

/* Se eliminan posiciones absolutas de créditos heredadas en esta página.
   Cuando lleguen los fotógrafos se puede reactivar con una clase específica. */
.programacion-2026 .creditos {
  position: static;
}

/* Foco de teclado claro. */
.programacion-2026 .pro-obra:focus-visible {
  outline: 3px solid #111;
  outline-offset: 3px;
}

/* Tablet: se mantienen las tres columnas de Bootstrap cuando caben,
   pero se compacta tipografía para títulos largos. */
@media (min-width: 768px) and (max-width: 991px) {
  .programacion-2026 .caja-espectaculo {
    padding-left: 6px;
    padding-right: 6px;
  }

  .programacion-2026 .programa-artista {
    font-size: 14px !important;
  }

  .programacion-2026 .programa-obra {
    min-height: 44px;
    font-size: 12px !important;
  }

  .programacion-2026 .espacio,
  .programacion-2026 .fecha {
    font-size: 11px;
  }
}

/* Móvil: una ficha por línea, composición histórica apilada. */
@media (max-width: 767px) {
  .programacion-2026 .cajas-programacion {
    display: block;
    padding-top: 8px;
  }

  .programacion-2026 .caja-espectaculo {
    width: 100% !important;
    min-height: 0 !important;
    margin-bottom: 16px;
    padding: 0 15px;
  }

  .programacion-2026 .caja-espectaculo > .pro-obra {
    max-width: 520px;
    margin: 0 auto !important;
  }

  .programacion-2026 .programa-obra {
    min-height: 0;
  }

  .programacion-2026 .espacio {
    margin-top: 3px;
  }
}

@media (max-width: 420px) {
  .programacion-2026 .caja-espectaculo {
    padding-left: 0;
    padding-right: 0;
  }

  .programacion-2026 .programa-artista {
    font-size: 15px !important;
  }

  .programacion-2026 .programa-obra {
    font-size: 13px !important;
  }

  .programacion-2026 .espacio,
  .programacion-2026 .fecha {
    font-size: 12px;
  }
}


/* ============================================================
   SUMA FLAMENCA 2026 · CALENDARIO
   ============================================================ */
.calendario-2026 #calendario,
body.suma-2026 .calendario-2026 #calendario{background:#fff!important}
.calendario-2026 .calendario-contenedor{padding-top:22px;padding-bottom:34px}
.calendario-2026 .calendario-mes{margin-bottom:8px}
.calendario-2026 .calendario-mes-noviembre{margin-top:12px}
.calendario-2026 .cabecera-programacion h2{margin:0!important;padding:10px 0 8px!important;color:#b8000c!important;font-size:20px;line-height:1.25;font-weight:500;letter-spacing:0}
.calendario-2026 .calendario-scroll-wrap{width:100%;max-width:100%;overflow:hidden;padding-bottom:2px}
.calendario-2026 .calendario-fechas{display:flex!important;flex-wrap:nowrap!important;width:100%;max-width:100%;min-height:52px;margin:0;padding:0 0 14px;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#858585 #e6e6e6;border-bottom:0;scroll-behavior:smooth}
.calendario-2026 .calendario-fechas>li{flex:0 0 42px!important;width:42px!important;min-width:42px!important;height:34px;margin:0!important;padding:0!important;float:none!important;text-align:center}
.calendario-2026 .calendario-fechas>li>a,.calendario-2026 .calendario-fechas>li.no-active>span{display:flex;align-items:center;justify-content:center;width:100%;height:34px;margin:0!important;padding:0!important;border:1px solid #fff;border-radius:0;line-height:1;text-decoration:none}
.calendario-2026 .calendario-fechas>li>a{background:#8f8f8f;color:#fff;font-weight:700}
.calendario-2026 .calendario-fechas>li.no-active>span{background:#f2f2f2;color:#757575}
.calendario-2026 .calendario-fechas>li.active>a,.calendario-2026 .calendario-fechas>li.active>a:hover,.calendario-2026 .calendario-fechas>li.active>a:focus,.calendario-2026 .calendario-fechas>li>a:hover,.calendario-2026 .calendario-fechas>li>a:focus{background:#e20814;border-color:#e20814;color:#fff}
.calendario-2026 .calendario-fechas::-webkit-scrollbar{height:8px}.calendario-2026 .calendario-fechas::-webkit-scrollbar-track{background:#e6e6e6}.calendario-2026 .calendario-fechas::-webkit-scrollbar-thumb{background:#858585;border-radius:4px}
.calendario-2026 .calendario-resultados{margin-top:20px}
.calendario-2026 .calendario-dia{width:auto;margin:0 4px;border-top:1px solid #343434;overflow:hidden}
.calendario-2026 .calendario-funcion{display:flex;width:100%;min-height:104px;border-bottom:1px solid #d2d2d2;background:#fff}
.calendario-2026 .calendario-funcion:last-child{border-bottom:1px solid #343434}
.calendario-2026 .calendario-fecha-col,.calendario-2026 .calendario-artista-col,.calendario-2026 .calendario-datos-col{min-height:104px;padding:10px 14px}
.calendario-2026 .calendario-fecha-col{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #b8b8b8}
.calendario-2026 .dia-semana{color:#343434;font-size:14px;line-height:1.2;font-weight:700}
.calendario-2026 .dia-mes{margin-top:2px;color:#9d9d9d;font-size:48px;line-height:.95;font-weight:500}
.calendario-2026 .calendario-artista-col{display:flex;align-items:center;border-right:1px solid #b8b8b8}
.calendario-2026 .calendario-ficha-link{display:flex!important;align-items:center;gap:14px;width:100%;min-height:82px;padding:4px 0!important;color:#343434;text-decoration:none}
.calendario-2026 .calendario-ficha-link:hover,.calendario-2026 .calendario-ficha-link:focus{background:#f3f3f3;color:#171717;text-decoration:none}
.calendario-2026 .calendario-thumb{flex:0 0 72px;width:72px!important;height:72px!important;object-fit:cover}
.calendario-2026 .calendario-nombre{display:block;min-width:0}
.calendario-2026 .calendario-nombre strong{display:block;color:#e20815;font-size:16px;line-height:1.3;font-weight:700}
.calendario-2026 .calendario-nombre em{display:block;margin-top:3px;color:#343434;font-size:13px;line-height:1.35;font-style:italic;text-transform:uppercase}
.calendario-2026 .calendario-estreno{display:inline-block;margin-top:6px;padding:2px 5px;background:#ededed;color:#780008;font-size:9px;line-height:1.2;font-weight:700;text-transform:uppercase}
.calendario-2026 .calendario-datos-col{display:flex;align-items:center}
.calendario-2026 .dia-datos-obra{width:100%;margin:0!important;color:#555!important;font-size:13px;line-height:1.4;text-align:left}
.calendario-2026 .dia-datos-obra li{display:flex;align-items:flex-start;gap:7px;margin:0 0 7px}
.calendario-2026 .dia-datos-obra li:last-child{margin-bottom:0}
.calendario-2026 .dia-datos-obra i{flex:0 0 13px;width:13px;margin-top:2px;color:#b8000c;text-align:center}
@media (min-width:768px) and (max-width:991px){
  .calendario-2026 .calendario-funcion,.calendario-2026 .calendario-fecha-col,.calendario-2026 .calendario-artista-col,.calendario-2026 .calendario-datos-col{min-height:96px}
  .calendario-2026 .dia-mes{font-size:40px}
  .calendario-2026 .calendario-thumb{flex-basis:62px;width:62px!important;height:62px!important}
  .calendario-2026 .calendario-nombre strong{font-size:14px}
  .calendario-2026 .calendario-nombre em,.calendario-2026 .dia-datos-obra{font-size:12px}
}
@media (max-width:767px){
  .calendario-2026 .calendario-contenedor{padding-left:12px;padding-right:12px;padding-top:16px}
  .calendario-2026 .cabecera-programacion h2{padding:8px 0 7px!important;font-size:18px!important;text-align:left}
  .calendario-2026 .calendario-fechas{min-height:54px;padding-bottom:16px}
  .calendario-2026 .calendario-fechas>li{flex-basis:40px!important;width:40px!important;min-width:40px!important}
  .calendario-2026 .calendario-resultados{margin-top:16px}
  .calendario-2026 .calendario-dia{margin:0}
  .calendario-2026 .calendario-funcion{display:grid;grid-template-columns:74px minmax(0,1fr);min-height:0}
  .calendario-2026 .calendario-fecha-col{grid-column:1;grid-row:1 / span 2;width:auto!important;min-height:0;padding:12px 8px;border-right:1px solid #d2d2d2}
  .calendario-2026 .calendario-artista-col,.calendario-2026 .calendario-datos-col{grid-column:2;width:auto!important;min-height:0;padding:10px 12px;border-right:0}
  .calendario-2026 .calendario-artista-col{border-bottom:1px solid #e0e0e0}
  .calendario-2026 .calendario-ficha-link{min-height:0;gap:10px}
  .calendario-2026 .calendario-thumb{flex-basis:54px;width:54px!important;height:54px!important}
  .calendario-2026 .dia-semana{font-size:12px}.calendario-2026 .dia-mes{font-size:32px}
  .calendario-2026 .dia-datos-obra{font-size:12px}
}
@media (max-width:420px){
  .calendario-2026 .calendario-contenedor{padding-left:8px;padding-right:8px}
  .calendario-2026 .calendario-fechas>li{flex-basis:38px!important;width:38px!important;min-width:38px!important}
  .calendario-2026 .calendario-funcion{grid-template-columns:62px minmax(0,1fr)}
  .calendario-2026 .calendario-fecha-col{padding-left:5px;padding-right:5px}
  .calendario-2026 .calendario-artista-col,.calendario-2026 .calendario-datos-col{padding-left:9px;padding-right:9px}
  .calendario-2026 .calendario-thumb{display:none}
  .calendario-2026 .calendario-nombre strong{font-size:14px}
  .calendario-2026 .calendario-nombre em{font-size:12px}
}


/* ============================================================
   SUMA FLAMENCA 2026 · EL FESTIVAL
   Presentación, jornadas del Ateneo y equipo.
   ============================================================ */

.festival-2026 #op1-nav a {
  color: #fff !important;
  background-color: #e20814 !important;
}

.festival-2026 p strong {
  color: #343434;
  font-weight: 600;
}

.festival-2026 .festival-social-lista {
  margin-left: 0 !important;
}

.festival-2026 .festival-separador {
  margin-bottom: 35px;
  text-align: center !important;
}

.festival-2026 .festival-presentacion {
  max-width: 900px;
  margin: 0 auto 34px;
  text-align: center;
}

.festival-2026 .festival-presentacion-titulo {
  margin: 0 0 8px;
  color: #343434;
  font-size: 2.2em;
  line-height: 1.15;
}

.festival-2026 .festival-presentacion-lema {
  margin: 30px 0 22px;
  color: #e20814;
  font-size: 2.6em;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .14em;
  text-align: center;
}

.festival-2026 .festival-presentacion-entradilla {
  max-width: 860px;
  margin: 0 auto;
  color: #343434;
  font-size: 18px;
  line-height: 1.65;
  text-align: center;
}

.festival-2026 .festival-texto {
  max-width: 980px;
  margin: 0 auto;
}

.festival-2026 .festival-texto > p {
  font-size: 16px;
  line-height: 1.65;
}

.festival-2026 .festival-destacado {
  margin: 34px 0;
  padding: 26px 28px;
  border-left: 5px solid #e20814;
  background: #f2f2f2;
}

.festival-2026 .festival-agenda h4,
.festival-2026 .festival-jornada h4 {
  margin: 0 0 12px;
  color: #e20814;
  font-size: 1.05em;
}

.festival-2026 .festival-jornadas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0 36px;
}

.festival-2026 .festival-jornada {
  padding: 20px 22px;
  border-top: 3px solid #343434;
  background: #fafafa;
}

.festival-2026 .festival-jornada p {
  font-size: 14px;
  line-height: 1.55;
  text-align: left;
}

.festival-2026 .festival-cifras {
  margin: 36px 0;
  padding: 28px;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
}

.festival-2026 .festival-programacion-resumen {
  margin: 36px 0 36px; background:#d2d2d2; padding: 15px;
}

.festival-2026 .festival-lista {
  margin: 12px 0 18px 24px;
}

.festival-2026 .festival-lista li {
  margin-bottom: 6px;
  font-size: 15px;
  line-height: 1.5;
  list-style: disc;
}

.festival-2026 .festival-firma {
  margin-top: 28px !important;
  text-align: right !important;
}

@media (max-width: 767px) {
  .festival-2026 .festival-presentacion-lema {
    font-size: 2em;
  }

  .festival-2026 .festival-presentacion-entradilla {
    font-size: 16px;
    text-align: left;
  }

  .festival-2026 .festival-jornadas {
    grid-template-columns: 1fr;
  }

  .festival-2026 .festival-destacado,
  .festival-2026 .festival-jornada,
  .festival-2026 .festival-cifras {
    padding: 18px;
  }
}

@media (max-width: 420px) {
  .festival-2026 .carousel {
    margin-bottom: 0;
  }
}


/* ============================================================
   SUMA FLAMENCA 2026 · FIX CABECERA MÓVIL
   La cabecera permanece visible sin superponerse al contenido.
   ============================================================ */
@media (max-width: 420px) {
  header,
  body.suma-2026 .site-header {
    position: sticky !important;
    top: 0;
    z-index: 300;
    width: 100%;
    background: #fff;
  }

  /* Al estar la cabecera dentro del flujo ya no hace falta
     compensar artificialmente su altura en el contenido. */
  section,
  body.suma-2026 section[role="main"] {
    margin-top: 0 !important;
  }

  .secciones {
    margin-top: 0 !important;
  }

  /* Las franjas de título empiezan justo después de la cabecera. */
  .cabecera,
  .programacion,
  .cabecera-prensa,
  .cabecera-espacios,
  .cabecera-festival,
  .cabecera-ademas,
  .cabecera-noticias,
  .cabecera-entradas-descuentos {
    clear: both;
  }
}

/* ============================================================
   SUMA FLAMENCA 2026 · EXPOSICIÓN METRO DE MADRID
   Carrusel + ajustes específicos de la ficha.
   El sidebar reutiliza la estructura general de las fichas 2026.
   ============================================================ */
.metro-2026 .metro-carousel{
  position:relative;
  width:100%;
  margin:0;
  overflow:hidden;
  background:#171717;
}
.metro-2026 .metro-carousel .carousel-inner,
.metro-2026 .metro-carousel .item{width:100%;}
.metro-2026 .metro-carousel .item img{
  display:block;
  width:100%;
  height:auto;
}
.metro-2026 .metro-carousel-credit{
  position:absolute;
  right:9px;
  bottom:7px;
  z-index:12;
  max-width:70%;
  color:#fff;
  font-size:9px;
  line-height:1.2;
  font-weight:500;
  text-align:right;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
}
.metro-2026 .metro-subtitulo{
  margin:8px 0 0;
  color:#fff;
  font-size:12px;
  line-height:1.4;
  text-align:left;
}

/* Sidebar: mismos componentes de las funciones, con una jerarquía
   ligeramente más clara para fechas y horarios múltiples. */
.metro-2026 .metro-ficha-sidebar{padding-top:20px;}
.metro-2026 .metro-sidebar-detalle{
  display:block;
  margin-top:2px;
  color:#555;
  font-size:13px;
  line-height:1.4;
}
.metro-2026 .metro-fecha-linea{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.metro-2026 .metro-fecha-linea strong{margin:0;}
.metro-2026 .metro-fecha-hasta{margin-top:9px;}
.metro-2026 .metro-sidebar-clave{
  color:#666;
  font-size:12px;
  line-height:1.4;
  font-weight:600;
}
.metro-2026 .metro-fecha-pendiente{
  display:block;
  margin:4px 0 0 60px;
  color:#777;
  font-size:11px;
  line-height:1.35;
  font-style:italic;
}
.metro-2026 .metro-horario{
  margin:0;
  padding:0;
}
.metro-2026 .metro-horario li{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  gap:8px;
  margin:0;
  padding:7px 0;
  border-bottom:1px dotted #d6d6d6;
  color:#343434;
  font-size:13px;
  line-height:1.4;
}
.metro-2026 .metro-horario li:first-child{padding-top:1px;}
.metro-2026 .metro-horario li:last-child{
  padding-bottom:0;
  border-bottom:0;
}
.metro-2026 .metro-horario li strong{
  display:block;
  font-size:12px;
  font-weight:700;
}
.metro-2026 .metro-horario li span{display:block;}

@media (max-width:991px){
  .metro-2026 .metro-fecha-linea,
  .metro-2026 .metro-horario li{grid-template-columns:1fr;}
  .metro-2026 .metro-fecha-pendiente{margin-left:0;}
}
@media (max-width:767px){
  .metro-2026 .metro-ficha-sidebar{padding-top:22px;}
  .metro-2026 .metro-carousel-credit{right:7px;bottom:6px;font-size:8px;}
  .metro-2026 .metro-sidebar-detalle{font-size:12px;}
  .metro-2026 .metro-fecha-linea{grid-template-columns:52px minmax(0,1fr);}
  .metro-2026 .metro-fecha-pendiente{margin-left:60px;}
  .metro-2026 .metro-horario li{grid-template-columns:68px minmax(0,1fr);}
}
@media (max-width:420px){
  .metro-2026 .metro-fecha-linea,
  .metro-2026 .metro-horario li{grid-template-columns:1fr;}
  .metro-2026 .metro-fecha-pendiente{margin-left:0;}
}
/* ============================================================
   SUMA FLAMENCA 2026 · AJUSTES DEFINITIVOS 01-09-2026
   Programación + Entradas + El Festival
   Pegar al FINAL de estilos.css
   ============================================================ */


/* ============================================================
   1. PROGRAMACIÓN
   Nombres de artistas más grandes + rollover estilo 2025
   Foto B/N en reposo → color al pasar el ratón
   ============================================================ */

.programacion-2026 .programa-artista {
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: .025em;
}

/* La caja mantiene el aspecto general actual */
.programacion-2026 .caja-espectaculo > .pro-obra {
  background: #f3f3f3 !important;
  border: 1px solid #d2d2d2;
  color: #343434;
  opacity: 1 !important;

  transition:
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    transform .22s ease;
}

/* Imagen en blanco y negro en reposo */
.programacion-2026 .programacion-imagen img {
  filter: grayscale(100%) !important;
  -webkit-filter: grayscale(100%) !important;
  opacity: .94;
  transform: scale(1);

  transition:
    filter .28s ease,
    -webkit-filter .28s ease,
    opacity .28s ease,
    transform .28s ease;
}

/* Caja seleccionada visualmente */
.programacion-2026 .caja-espectaculo > .pro-obra:hover,
.programacion-2026 .caja-espectaculo > .pro-obra:focus,
.programacion-2026 .caja-espectaculo > .pro-obra:focus-visible {
  background: #ffffff !important;
  border-color: #8d8d8d;
  color: #171717;
  box-shadow: 0 5px 14px rgba(0, 0, 0, .12);
  transform: translateY(-2px);
}

/* Imagen a color al seleccionar */
.programacion-2026 .caja-espectaculo > .pro-obra:hover .programacion-imagen img,
.programacion-2026 .caja-espectaculo > .pro-obra:focus .programacion-imagen img,
.programacion-2026 .caja-espectaculo > .pro-obra:focus-visible .programacion-imagen img {
  filter: grayscale(0) !important;
  -webkit-filter: grayscale(0) !important;
  opacity: 1;
  transform: scale(1.012);
}


/* ============================================================
   2. ENTRADAS
   Nombres de artistas ligeramente mayores
   ============================================================ */

.entradas-2026 .espacio-artista {
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 700;
}


/* ============================================================
   3. EL FESTIVAL
   Maquetación continua tipo 2025
   Elimina cajas, fondos y rejilla de las jornadas
   ============================================================ */

.festival-2026 .festival-presentacion,
.festival-2026 .festival-texto {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.festival-2026 .festival-presentacion {
  margin-bottom: 12px;
  text-align: left;
}

.festival-2026 .festival-presentacion-entradilla {
  max-width: none;
  margin: 0;
  color: #343434;
  font-size: 15px;
  line-height: 1.62;
  text-align: justify;
}

.festival-2026 .festival-texto > p,
.festival-2026 .festival-jornada p,
.festival-2026 .festival-destacado p,
.festival-2026 .festival-cifras p,
.festival-2026 .festival-programacion-resumen p {
  color: #343434;
  font-size: 15px;
  line-height: 1.62;
  text-align: justify;
}

/* Eliminación de cajas visuales */
.festival-2026 .festival-cifras,
.festival-2026 .festival-jornada,
.festival-2026,
.festival-2026 .festival-programacion-resumen {
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
 .festival-destacado {
  margin: 25px 0 12px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
/* Se elimina la rejilla 2 columnas */
.festival-2026 .festival-jornadas {
  display: block !important;
  margin: 0 !important;
}

.festival-2026 .festival-jornada {
  margin-bottom: 28px !important;
}

/* Títulos del Ateneo */
.festival-2026 .festival-destacado h3 {
  margin: 28px 0 14px;
  color: #e20814;
  font-size: 21px;
  line-height: 1.3;
  font-weight: 700;
}

.festival-2026 .festival-agenda h4,
.festival-2026 .festival-jornada h4 {
  margin: 18px 0 8px;
  color: #343434;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 700;
}

/* Listados */
.festival-2026 .festival-lista {
  margin: 8px 0 18px 24px;
}

.festival-2026 .festival-lista li {
  margin-bottom: 5px;
  color: #343434;
  font-size: 15px;
  line-height: 1.55;
  list-style: disc;
}

/* Separador */
.festival-2026 .festival-separador {
  margin: 20px 0 30px;
}


/* ============================================================
   4. FLAMENCAS
   Copperplate Gothic Bold
   Letras alternas rojo / negro
   ============================================================ */

.festival-2026 .festival-presentacion-lema {
  margin: 30px 0 24px;

  font-family:
    "Copperplate Gothic Bold",
    "Copperplate",
    "Copperplate Gothic",
    Georgia,
    "Times New Roman",
    serif;

  font-size: 3em;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .10em;
  text-align: center;
  text-transform: uppercase;

  /* Anula el rojo general de la regla anterior */
  color: inherit;
}

.festival-2026 .festival-presentacion-lema .letra-roja {
  color: #e20814;
}

.festival-2026 .festival-presentacion-lema .letra-negra {
  color: #171717;
}


/* ============================================================
   5. RESPONSIVE · TABLET
   ============================================================ */

@media (min-width: 768px) and (max-width: 991px) {

  .programacion-2026 .programa-artista {
    font-size: 17px !important;
  }

  .entradas-2026 .espacio-artista {
    font-size: 16px !important;
  }

  .festival-2026 .festival-presentacion-lema {
    font-size: 2.25em;
  }
}


/* ============================================================
   6. RESPONSIVE · MÓVIL
   ============================================================ */

@media (max-width: 767px) {

  .programacion-2026 .programa-artista {
    font-size: 16px !important;
  }

  .entradas-2026 .espacio-artista {
    font-size: 16px !important;
  }

  .festival-2026 .festival-presentacion-entradilla,
  .festival-2026 .festival-texto > p,
  .festival-2026 .festival-jornada p,
  .festival-2026 .festival-destacado p,
  .festival-2026 .festival-cifras p,
  .festival-2026 .festival-programacion-resumen p {
    font-size: 14px;
    line-height: 1.58;
    text-align: left;
  }

  .festival-2026 .festival-presentacion-lema {
    font-size: 1.9em;
    letter-spacing: .075em;
  }

  .festival-2026 .festival-destacado h3 {
    font-size: 19px;
  }
}


/* ============================================================
   7. SMARTPHONE PEQUEÑO
   ============================================================ */

@media (max-width: 420px) {

  .programacion-2026 .programa-artista {
    font-size: 15px !important;
  }

  .entradas-2026 .espacio-artista {
    font-size: 15px !important;
  }

  .festival-2026 .festival-presentacion-lema {
    font-size: 1.65em;
    letter-spacing: .055em;
  }
}


/* ============================================================
   8. DISPOSITIVOS TÁCTILES
   En móvil/tablet táctil se muestran las fotos directamente
   en color, ya que no existe un hover real.
   ============================================================ */

@media (hover: none), (pointer: coarse) {

  .programacion-2026 .programacion-imagen img {
    filter: grayscale(0) !important;
    -webkit-filter: grayscale(0) !important;
    opacity: 1;
    transform: none;
  }

  .programacion-2026 .caja-espectaculo > .pro-obra:hover,
  .programacion-2026 .caja-espectaculo > .pro-obra:focus {
    transform: none;
    box-shadow: none;
  }
}


/* ============================================================
   SUMA FLAMENCA 2026 · FIX ICONOS SIDEBAR PRENSA
   Solución CSS-only: no depende de Font Awesome para estos iconos.
   Evita caracteres corruptos por codificación o carga de la fuente.
   ============================================================ */

/* Ocultamos el glifo original de Font Awesome únicamente
   dentro de los componentes problemáticos del sidebar. */
.prensa .prensa-sidebar-icono > i,
.prensa .prensa-sidebar-boton > i,
.prensa-2026 .prensa-sidebar-icono > i,
.prensa-2026 .prensa-sidebar-boton > i {
  display: none !important;
}

/* Icono circular de "Material del Festival":
   documento dibujado con CSS, sin fuente de iconos. */
.prensa .prensa-sidebar-bloque:not(.prensa-sidebar-contacto) .prensa-sidebar-icono,
.prensa-2026 .prensa-sidebar-bloque:not(.prensa-sidebar-contacto) .prensa-sidebar-icono {
  position: relative;
}

.prensa .prensa-sidebar-bloque:not(.prensa-sidebar-contacto) .prensa-sidebar-icono::before,
.prensa-2026 .prensa-sidebar-bloque:not(.prensa-sidebar-contacto) .prensa-sidebar-icono::before {
  content: "";
  display: block;
  width: 9px;
  height: 11px;
  border: 1.5px solid currentColor;
  border-radius: 1px;
  box-sizing: border-box;
}

.prensa .prensa-sidebar-bloque:not(.prensa-sidebar-contacto) .prensa-sidebar-icono::after,
.prensa-2026 .prensa-sidebar-bloque:not(.prensa-sidebar-contacto) .prensa-sidebar-icono::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 1.5px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -1px);
  background: currentColor;
  box-shadow: 0 3px 0 currentColor;
}

/* Icono circular de "Información de Contacto":
   una "i" ASCII, inmune a problemas de codificación. */
.prensa .prensa-sidebar-contacto .prensa-sidebar-icono::before,
.prensa-2026 .prensa-sidebar-contacto .prensa-sidebar-icono::before {
  content: "i";
  display: block;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  font-style: normal;
  color: currentColor;
}

/* Icono de documento en los botones rojos.
   También se dibuja con CSS para no depender del webfont. */
.prensa .prensa-sidebar-boton::before,
.prensa-2026 .prensa-sidebar-boton::before {
  content: "";
  flex: 0 0 10px;
  width: 10px;
  height: 12px;
  border: 1.5px solid #fff;
  border-radius: 1px;
  box-sizing: border-box;
}

.prensa .prensa-sidebar-boton::after,
.prensa-2026 .prensa-sidebar-boton::after {
  content: none;
}

/* Mantiene la separación que antes aportaba el <i>. */
.prensa .prensa-sidebar-boton,
.prensa-2026 .prensa-sidebar-boton {
  gap: 7px;
}

/* En caso de que algún navegador conserve un glifo roto
   en el pseudo-elemento del <i>, lo anulamos expresamente. */
.prensa .prensa-sidebar-icono > i::before,
.prensa .prensa-sidebar-boton > i::before,
.prensa-2026 .prensa-sidebar-icono > i::before,
.prensa-2026 .prensa-sidebar-boton > i::before {
  content: none !important;
}
