.sp-dia{
    margin-bottom:60px;
}

.sp-dia-titulo{
    margin-bottom:30px;
}

/*.sp-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:25px;
}*/

.sp-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(320px,360px));
    gap:30px;
	justify-content:flex-start;
}

.sp-card{
    overflow:hidden;
    border-radius:5px;
    background:#181818;
}

.sp-card a{
    text-decoration:none;
    color:inherit;
}

.sp-card-imagen{
    position:relative;
}

.sp-card-imagen img{
    width:100%;
    display:block;
}

.sp-hora{
    position:absolute;
    top:15px;
    right:15px;
    background:#E5006D;
    color:#fff;
    padding:8px 14px;
    border-radius:2px;
    font-weight:bold;
}

.sp-card-contenido{
    padding:20px;
}

.sp-card-contenido h3{
    margin:0 0 20px;
	color:#FFFFFF;
}

.sp-boton{
    display:inline-block;
    border:1px solid currentColor;
    padding:10px 18px;
    border-radius:2px;
	color: #FFFFFF;
}

.sp-home-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.sp-home-card{

    overflow:hidden;

    border-radius:5px;

    background:#151515;

}

.sp-home-card a{

    display:block;

    color:inherit;

    text-decoration:none;

}

.sp-home-image{

    position:relative;

}

.sp-home-image img{

    width:100%;

    display:block;

    object-fit:cover;

}

.sp-home-badge{

 position:absolute;
    top:15px;
    right:15px;
    background:#E5006D;
    color:#fff;
    padding:8px 14px;
    border-radius:2px;
    font-weight:bold;

}

.sp-home-content{

    padding:18px;

}

.sp-home-content small{

    display:block;

    opacity:.7;

    margin-bottom:8px;
	color: #FFFFFF;

}

.sp-home-content h3{

    margin:0 0 18px;

    font-size:1.2rem;
	color: #FFFFFF;

}

.sp-home-link{

    font-weight:bold;

}

@media(max-width:1024px){

    .sp-home-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:640px){

    .sp-home-grid{

        grid-template-columns:1fr;

    }

}
.sp-proximas-funciones{
    margin-top:60px;
}

.sp-proximas-funciones h2{
    margin-bottom:25px;
}

.sp-funcion-card{
    display:flex;
    align-items:center;
    gap:30px;
    padding:5px 28px;
    margin-bottom:15px;

    background:#151515;
    border-radius:5px;

    text-decoration:none;
    color:#fff;

    transition:.25s;
}

.sp-funcion-card:hover{
    background:#202020;
    transform:translateY(-2px);
	color:#CC001D;
}

.sp-funcion-fecha{
    flex:1;
    font-weight:700;
    font-size:18px;
}

.sp-funcion-hora{
    font-size:28px;
    font-weight:700;
    min-width:90px;
    text-align:center;
}

.sp-funcion-link{
    white-space:nowrap;
    font-weight:700;
    transition:.25s;
}

.sp-funcion-card:hover .sp-funcion-link{
    transform:translateX(6px);
}

@media(max-width:768px){

    .sp-funcion-card{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
    }

    .sp-funcion-hora{
        font-size:22px;
        min-width:auto;
    }

}

/* =========================================
   BILLIE CLUB
========================================= */

.sp-billieclub-list{
	display:flex;
	flex-direction:column;
	gap:40px;
}


.sp-billieclub-card{
	display:grid;
	grid-template-columns:320px 1fr;
	gap:40px;

	padding:30px;

	background:#151515;
	border-radius:5px;
	overflow:hidden;
	
	color:#FFFFFF;
}


.sp-billieclub-imagen img{
	width:100%;
	display:block;
	border-radius:14px;
}


.sp-billieclub-contenido{
	display:flex;
	flex-direction:column;
	justify-content:center;
}


.sp-billieclub-titulo{
	margin:0 0 20px;
}


.sp-billieclub-sinopsis{
	margin-bottom:30px;
	line-height:1.6;
}


.sp-billieclub-funciones{
	margin-bottom:25px;
}


.sp-billieclub-funciones h3{
	margin-bottom:15px;
}


.sp-billieclub-funcion{
	display:flex;
	gap:30px;
	padding:12px 0;

	border-bottom:1px solid rgba(255,255,255,.12);
}


.sp-billieclub-fecha{
	font-weight:700;
}


.sp-billieclub-hora{
	font-weight:700;
	opacity:.75;
}


.sp-billieclub-entradas{
	display:inline-block;
	align-self:flex-start;

	padding:12px 22px;

	border-radius:999px;

	background:#D40055;
	color:#fff;

	text-decoration:none;
	font-weight:700;

	transition:.25s;
}


.sp-billieclub-entradas:hover{
	transform:translateX(2px);
}

@media(max-width:768px){

	.sp-billieclub-card{
		grid-template-columns:1fr;
		padding:20px;
	}

	.sp-billieclub-imagen{
		max-width:400px;
	}

	.sp-billieclub-funcion{
		justify-content:space-between;
	}

}
/* =========================================================
   PROGRAMACIÓN
   ========================================================= */

.sp-programacion {
    width: 100%;
}


/* =========================================================
   FILTROS
   ========================================================= */

.sp-programacion-filtros {
    margin-bottom: 45px;
}

.sp-programacion-filtros-principales {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.sp-programacion-filtro-principal,
.sp-programacion-dia-boton {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all .2s ease;
}

.sp-programacion-filtro-principal {
    padding: 12px 24px;
    border: 1px solid currentColor;
}

.sp-programacion-filtro-principal.activo {
    background: #000;
    color: #fff;
}

.sp-programacion-separador {
    height: 1px;
    max-width: 700px;
    margin: 25px auto;
    background: rgba(0, 0, 0, .15);
}

.sp-programacion-dias {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sp-programacion-dia-boton {
    min-width: 58px;
    padding: 10px 14px;
    border: 1px solid rgba(0, 0, 0, .25);
}

.sp-programacion-dia-boton:hover,
.sp-programacion-dia-boton.activo {
    background: #000;
    color: #fff;
    border-color: #000;
}


/* =========================================================
   TITULO DE LA VISTA
   ========================================================= */

.sp-programacion-titulo {
    margin: 0 0 45px;
    text-align: center;
}


/* =========================================================
   GRUPOS POR FECHA
   ========================================================= */

.sp-programacion-dia-grupo {
    margin-bottom: 55px;
}

.sp-programacion-dia-titulo {
    margin: 0 0 25px;
    font-size: 32px;
    line-height: 1.1;
    font-weight: 700;
}

.sp-programacion-dia-titulo span {
    margin-left: 8px;
    font-weight: 400;
}


/* =========================================================
   GRILLA
   ========================================================= */

.sp-programacion-dia-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 340px));
    gap: 28px;
    justify-content: start;
}


/* =========================================================
   TARJETA
   =========================================================
*/

.sp-programacion .sp-card {
    width: 100%;
    max-width: 340px;
    margin: 0;
    overflow: hidden;
    background: #171717;
}

.sp-programacion .sp-card a {
    display: block;
    color: inherit;
    text-decoration: none;
}


/* Imagen */

.sp-programacion .sp-card-imagen {
    position: relative;
    overflow: hidden;
}

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




/* Contenido */

.sp-programacion .sp-card-contenido {
    padding: 20px;
    background: #171717;
    color: #fff;
}

.sp-programacion .sp-card-contenido h3 {
    margin: 0 0 16px;
    color: #fff;
    font-size: 20px;
    line-height: 1.15;
}


/* Botón */

.sp-programacion .sp-boton {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    line-height: 1;
}


/* =========================================================
   VISTA ESTE MES
   ========================================================= */

.sp-programacion-vista-mes .sp-programacion-dia-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.sp-programacion-vista-mes .sp-card {
    max-width: none;
}



.sp-programacion-vista-mes .sp-card-contenido {
    padding: 15px;
}

.sp-programacion-vista-mes .sp-card-contenido h3 {
    margin-bottom: 10px;
    font-size: 17px;
}


/* =========================================================
   SIN RESULTADOS
   ========================================================= */

.sp-programacion-sin-resultados {
    text-align: center;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1100px) {

    .sp-programacion-dia-grid {
        grid-template-columns: repeat(2, minmax(0, 340px));
    }

    .sp-programacion-vista-mes .sp-programacion-dia-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .sp-programacion-titulo {
        margin-bottom: 30px;
    }

    .sp-programacion-dia-titulo {
        font-size: 26px;
    }

    .sp-programacion-dia-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 15px;
    }

    .sp-programacion .sp-card-contenido {
        padding: 14px;
    }

    .sp-programacion .sp-card-contenido h3 {
        font-size: 17px;
    }

    .sp-programacion .sp-hora {
        top: 10px;
        left: 10px;
        padding: 6px 9px;
        font-size: 13px;
    }

    .sp-programacion-vista-mes .sp-programacion-dia-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .sp-programacion-vista-mes .sp-card-contenido {
        padding: 12px;
    }

    .sp-programacion-vista-mes .sp-card-contenido h3 {
        font-size: 15px;
    }

}


/* =========================================================
   MOBILE MUY CHICO
   ========================================================= */

@media (max-width: 480px) {

    .sp-programacion-dia-grid,
    .sp-programacion-vista-mes .sp-programacion-dia-grid {
        grid-template-columns: 1fr;
    }

    .sp-programacion .sp-card {
        max-width: 380px;
        margin: 0 auto;
    }

}