/*
Theme Name: Astra Child
Template: astra
Version: 1.0
*/
/* ===== FIX ESPACIO SUPERIOR FICHA ===== */

/* ===== DIRECTORIO BANDAS ===== */

.cdr-grid-bandas{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
margin-top:40px;
}

.cdr-archive-title{
margin-top:40px;
font-size:28px;
}

.cdr-directorio-hero{
text-align:center;
margin-bottom:50px;
}

.cdr-hero-title{
font-size:42px;
margin-bottom:10px;
}

.cdr-hero-subtitle{
font-size:18px;
opacity:0.8;
}

.cdr-hero-cta{
margin-top:20px;
display:flex;
gap:15px;
justify-content:center;
}

.cdr-btn-primary{
background:#c00;
color:#fff;
padding:12px 20px;
text-decoration:none;
border-radius:4px;
}

.cdr-btn-outline{
border:1px solid #fff;
color:#fff;
padding:12px 20px;
text-decoration:none;
border-radius:4px;
}
/* ===== BOTONES HERO ===== */

.cdr-hero-cta{
margin-top:25px;
display:flex;
gap:20px;
justify-content:center;
flex-wrap:wrap;
}

.cdr-btn-primary{
background:#e00000;
color:white !important;
padding:16px 34px;
border-radius:8px;
font-weight:700;
text-decoration:none;
display:inline-block;
transition:0.25s;
}

.cdr-btn-primary:hover{
background:#ff1a1a;
}

.cdr-btn-outline{
border:2px solid white !important;
color:white !important;
padding:16px 34px;
border-radius:8px;
font-weight:700;
text-decoration:none;
display:inline-block;
transition:0.25s;
}

.cdr-btn-outline:hover{
background:white;
color:black !important;
}
/* ===== FILTROS ===== */

.cdr-filtros{
margin-top:30px;
margin-bottom:40px;
}

.cdr-filtros select{
width:100%;
margin-bottom:12px;
}

.cdr-filtros button{
background:#e00000;
color:white;
border:none;
padding:14px 30px;
border-radius:8px;
font-weight:700;
cursor:pointer;
margin-top:15px;
}

.cdr-filtros button:hover{
background:#ff1a1a;
}
.cdr-btn-outline{
border:2px solid white !important;
color:white !important;
padding:16px 34px;
border-radius:8px;
font-weight:700;
text-decoration:none;
display:inline-block;
background:transparent;
transition:0.25s;
}

.cdr-btn-outline:hover{
background:white;
color:black !important;
}
/* ===== FICHA BANDA ===== */


.cdr-single-nav{
display:flex;
justify-content:space-between;
margin-top:40px;
}

/* ===== FICHA BANDA NUEVA ===== */

.cdr-grid-bandas{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
margin-top:40px;
}

/* CONTENEDOR DIRECTORIO */

.directorio-bandas{
clear:both;
margin-top:60px;
}

/* GRID DE BANDAS */

.grid-bandas{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:50px;
margin-top:40px;
}

/* TARJETA DE BANDA */

.banda-card{
text-align:center;
text-decoration:none;
color:white;
display:block;
}

/* LOGO */

.banda-card-logo img{
width:100%;
height:auto;
transition:transform .25s ease;
}

/* HOVER */

.banda-card:hover .banda-card-logo img{
transform:scale(1.05);
}

/* NOMBRE */

.banda-card-nombre{
margin-top:15px;
font-size:20px;
font-weight:600;
letter-spacing:0.5px;
}

.banda-card-logo{
height:140px;
display:flex;
align-items:center;
justify-content:center;
padding:10px;
}

.banda-card-logo img{
max-height:160px;
width:auto;
}

/* BARRA DE FILTROS */

.cdr-filtros{
display:flex;
align-items:center;
gap:15px;
margin:30px 0;
flex-wrap:wrap;
}

.cdr-filtros select{
background:#111;
color:white;
border:1px solid #333;
padding:8px 12px;
border-radius:6px;
}

/* BOTON FILTRAR */

.cdr-filtros button{
background:#1e73be;
color:white;
border:0;
padding:8px 18px;
border-radius:6px;
cursor:pointer;
height:38px;
}

.cdr-filtros button:hover{
background:#135e9e;
}

.directorio-bandas{
clear:both;
margin-top:30px;
}

.grid-bandas{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:50px;
margin-top:40px;
width:100%;
}

/* BOTON FILTRAR */

.cdr-btn-filtrar{
background:#1e73be;
color:white;
border:none;
padding:8px 16px;
border-radius:6px;
cursor:pointer;
height:38px;
}

.cdr-btn-filtrar:hover{
background:#135e9e;
}

.cdr-filtros{
display:flex;
gap:12px;
align-items:center;
margin-bottom:30px;
flex-wrap:wrap;
}

.cdr-filtros select{
background:#111;
color:white;
border:1px solid #333;
padding:8px 12px;
border-radius:6px;
}

/* CONTENEDOR DEL FILTRO */

.cdr-filtros{
display:flex;
gap:12px;
align-items:center;
margin:30px 0;
width:100%;
flex-wrap:wrap;
}

/* SELECTORES */

.cdr-filtros select{
background:#111;
color:white;
border:1px solid #333;
padding:8px 12px;
border-radius:6px;
}

/* BOTON FILTRAR */

.cdr-btn-filtrar{
background:#1e73be;
color:white;
border:none;
padding:8px 16px;
border-radius:6px;
cursor:pointer;
height:38px;
}

/* GRID BANDAS */

.grid-bandas{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:50px;
margin-top:40px;
width:100%;
clear:both;
}

.titulo-directorio{
width:100%;
}

.cdr-filtros{
width:100%;
}

.cdr-directorio-wrap{
display:block;
width:100%;
}

/* HOVER TARJETA BANDA */

.banda-card{
transition:all .25s ease;
}

.banda-card:hover{
transform:translateY(-5px);
}

.banda-card-logo img{
transition:transform .25s ease;
}

.banda-card:hover .banda-card-logo img{
transform:scale(1.08);
}

.banda-ficha{
max-width:900px;
margin:auto;
text-align:center;
}

.banda-logo img{
max-height:140px;
margin-bottom:20px;
}

.banda-nombre{
font-size:42px;
margin-bottom:10px;
}

.banda-meta{
margin-bottom:30px;
font-size:18px;
}

.banda-foto img{
width:100%;
max-width:900px;
margin:40px auto;
display:block;
border-radius:6px;
}

.banda-bio{
line-height:1.7;
font-size:18px;
}

.banda-redes{
margin-top:30px;
display:flex;
gap:12px;
justify-content:center;
flex-wrap:wrap;
}

.banda-redes a{
background:#1e73be;
color:white;
padding:10px 16px;
border-radius:6px;
text-decoration:none;
}

.banda-contacto{
margin-top:20px;
}

.banda-contacto a{
color:#3ea6ff;
font-weight:600;
}

/* BOTONES REDES */

.banda-redes{
margin-top:35px;
display:flex;
gap:12px;
justify-content:center;
flex-wrap:wrap;
}

.banda-redes a{
background:#1e73be;
color:white !important;
padding:10px 18px;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:.2s;
}

.banda-redes a:hover{
background:#135e9e;
transform:translateY(-2px);
}

.banda-contacto{
margin-top:25px;
}

.banda-contacto a{
background:#e00000;
color:white !important;
padding:12px 22px;
border-radius:6px;
text-decoration:none;
font-weight:700;
}

.banda-contacto a:hover{
background:#ff1a1a;
}

/* FOTO BANDA */

.banda-foto img{
max-width:900px !important;
width:100% !important;
height:auto !important;
display:block !important;
margin:40px auto !important;
border-radius:8px;
}

/* BOTONES REDES */

.banda-redes{
margin-top:35px !important;
display:flex !important;
gap:12px !important;
justify-content:center !important;
flex-wrap:wrap !important;
}

.banda-redes a{
background:#1e73be !important;
color:white !important;
padding:10px 18px !important;
border-radius:6px !important;
text-decoration:none !important;
font-weight:600 !important;
display:inline-block !important;
}

.banda-redes a:hover{
background:#135e9e !important;
}

/* BOTON CONTACTAR */

.banda-contacto{
margin-top:25px !important;
}

.banda-contacto a{
background:#e00000 !important;
color:white !important;
padding:12px 22px !important;
border-radius:6px !important;
text-decoration:none !important;
font-weight:700 !important;
display:inline-block;
}

.banda-contacto a:hover{
background:#ff1a1a !important;
}

/* ===== FICHA BANDA ===== */

.cdr-banda-container{
max-width:1000px;
margin:0 auto;
padding:40px 20px;
text-align:center;
}

/* LOGO */

.cdr-banda-logo img{
max-height:140px;
width:auto;
margin-bottom:20px;
}

/* TITULO */

.cdr-banda-nombre{
font-size:42px;
margin-bottom:10px;
}

/* META */

.cdr-banda-meta{
font-size:18px;
margin-bottom:30px;
opacity:.9;
}

/* FOTO BANDA */

.cdr-banda-foto img{
max-width:900px;
width:100%;
height:auto;
display:block;
margin:40px auto;
border-radius:8px;
}

/* BIO */

.cdr-banda-bio{
font-size:18px;
line-height:1.7;
margin-top:20px;
}

/* REDES */

.cdr-banda-redes{
margin-top:30px;
display:flex;
gap:12px;
justify-content:center;
flex-wrap:wrap;
}

.cdr-red-btn{
background:#1e73be;
color:white !important;
padding:10px 18px;
border-radius:6px;
text-decoration:none;
font-weight:600;
}

.cdr-red-btn:hover{
background:#135e9e;
}

/* CONTACTO */

.cdr-banda-contacto{
margin-top:25px;
}

.cdr-contact-btn{
background:#e00000;
color:white !important;
padding:12px 22px;
border-radius:6px;
text-decoration:none;
font-weight:700;
}

.cdr-contact-btn:hover{
background:#ff1a1a;
}

/* ===== COSTA DEL ROCK - FICHA BANDA ===== */

/* CONTENEDOR */

.cdr-banda-container{
max-width:900px;
margin:0 auto;
padding:40px 20px;
}

/* LOGO */

.cdr-banda-logo img{
max-height:150px !important;
width:auto !important;
display:block;
margin:0 auto 20px auto;
}

/* FOTO BANDA */

.cdr-banda-foto img{
max-width:900px !important;
width:100% !important;
height:auto !important;
display:block;
margin:40px auto;
border-radius:8px;
}

/* META */

.cdr-banda-meta{
margin-bottom:20px;
color:#bbb;
}

/* REDES */

.cdr-banda-redes{
margin-top:25px;
display:flex;
gap:12px;
flex-wrap:wrap;
}

.cdr-red-btn{
background:#1e73be;
color:white !important;
padding:8px 16px;
border-radius:6px;
text-decoration:none;
font-weight:600;
}

.cdr-red-btn:hover{
background:#135e9e;
}

/* BOTON CONTACTAR */

.cdr-banda-contacto{
margin-top:20px;
}

.cdr-contact-btn{
background:#e00000;
color:white !important;
padding:10px 18px;
border-radius:6px;
text-decoration:none;
font-weight:700;
display:inline-block;
}

.cdr-contact-btn:hover{
background:#ff1a1a;
}

.cdr-banda-logo img{
width:auto !important;
max-width:100% !important;
max-height:150px !important;
}

.cdr-banda-nombre{
text-align:center;
margin-bottom:10px;
}

.cdr-banda-meta{
text-align:center;
}

.cdr-banda-bio{
margin-top:30px;
line-height:1.6;
}

/* CONTENEDOR BANDA */

.cdr-banda-container{
max-width:900px;
margin:auto;
padding:40px 20px;
}

/* LOGO */

.cdr-banda-logo img{
max-height:150px;
width:auto !important;
display:block;
margin:auto;
}

/* FOTO */

.cdr-banda-foto img{
max-width:900px;
width:100%;
height:auto;
margin:40px auto;
display:block;
border-radius:8px;
}

/* BOTONES */

.cdr-red-btn{
background:#1e73be;
color:white;
padding:8px 14px;
border-radius:6px;
text-decoration:none;
font-weight:600;
}

.cdr-contact-btn{
background:#e00000;
color:white;
padding:10px 16px;
border-radius:6px;
text-decoration:none;
font-weight:700;
}

/* ===== FIX ASTRA SINGLE BANDA ===== */

.entry-content .cdr-banda-logo img{
width:auto !important;
max-height:150px !important;
display:block;
margin:0 auto 20px auto;
}

.entry-content .cdr-banda-foto img{
width:100% !important;
max-width:900px !important;
height:auto !important;
display:block;
margin:40px auto;
border-radius:8px;
}

.cdr-banda-nombre{
text-align:center;
margin-bottom:10px;
}

.cdr-banda-meta{
text-align:center;
color:#aaa;
margin-bottom:20px;
}

.cdr-banda-redes{
display:flex;
gap:10px;
flex-wrap:wrap;
margin-top:25px;
}

.cdr-red-btn{
background:#1e73be;
color:white !important;
padding:8px 14px;
border-radius:6px;
text-decoration:none;
font-weight:600;
}

.cdr-contact-btn{
background:#e00000;
color:white !important;
padding:10px 16px;
border-radius:6px;
text-decoration:none;
font-weight:700;
}

/* OCULTAR HEADER ASTRA */

.ast-primary-header-bar,
.ast-header-break-point .main-header-bar{
display:none;
}

/* ocultar header de astra */

.ast-header-break-point .main-header-bar,
.main-header-bar,
.ast-primary-header-bar{
display:none !important;
}

/* =========================================
CARGAR CSS DEL TEMA HIJO
========================================= */

/* VERSION MOVIL */

@media (max-width:900px){

.cdr-menu{
display:none;
flex-direction:column;
background:#000;
position:absolute;
top:70px;
right:0;
width:220px;
padding:20px;
}

.cdr-menu a{
margin:10px 0;
}

.cdr-header-inner{
position:relative;
}

.cdr-menu.active{
display:flex;
}

}

.cdr-menu{
z-index:9999;
}

.cdr-header{
position:relative;
z-index:9999;
}

.cdr-menu{
box-shadow:0 10px 40px rgba(0,0,0,0.6);
}

/* TARJETA DE CONCIERTO */

.cdr-agenda-item{
display:flex;
gap:20px;
align-items:flex-start;
background:#111;
padding:20px;
border-radius:8px;
margin-bottom:20px;
text-decoration:none;
color:white;
}

/* IMAGEN */

.cdr-agenda-cartel{
flex:0 0 120px;
}

.cdr-agenda-cartel img{
width:120px;
height:auto;
border-radius:6px;
}

/* INFO */

.cdr-agenda-info{
flex:1;
}

/* TITULO */

.cdr-agenda-evento{
margin-bottom:10px;
}

/* BANDAS */

.cdr-agenda-bandas{
margin-bottom:10px;
opacity:0.9;
}

/* META */

.cdr-agenda-meta span{
display:inline-block;
margin-right:15px;
opacity:0.8;
}

@media (max-width:700px){

.cdr-agenda-item{
flex-direction:column;
}

.cdr-agenda-cartel img{
width:100%;
}

}

/* =========================
TARJETAS AGENDA CONCIERTOS
========================= */

.cdr-agenda-item{
display:flex !important;
flex-direction:row !important;
gap:20px;
align-items:flex-start;
background:#111;
padding:20px;
border-radius:10px;
margin-bottom:20px;
text-decoration:none;
color:#fff;
}

.cdr-agenda-cartel{
flex:0 0 120px !important;
}

.cdr-agenda-cartel img{
width:120px !important;
height:auto !important;
border-radius:6px;
}

.cdr-agenda-info{
flex:1 !important;
}

.cdr-agenda-bandas{
margin-top:8px;
margin-bottom:10px;
}

.cdr-agenda-meta span{
display:inline-block;
margin-right:15px;
opacity:0.85;
}

/* =========================
MÓVIL
========================= */

@media (max-width:700px){

.cdr-agenda-item{
flex-direction:column !important;
}

.cdr-agenda-cartel img{
width:100% !important;
}

}

.cdr-agenda-link{
display:flex;
gap:20px;
align-items:flex-start;
text-decoration:none;
color:white;
}

.cdr-agenda-item{
background:#111;
padding:20px;
border-radius:10px;
margin-bottom:20px;
}

.cdr-agenda-cartel img{
width:120px;
border-radius:6px;
}

.cdr-agenda-info{
flex:1;
}

/* =========================
TARJETA CONCIERTO HORIZONTAL
========================= */

.cdr-agenda-link{
display:flex;
gap:20px;
align-items:center;
text-decoration:none;
color:white;
}

.cdr-agenda-item{
background:#111;
padding:20px;
border-radius:12px;
margin-bottom:20px;
transition:0.25s;
}

.cdr-agenda-item:hover{
transform:translateY(-4px);
}

.cdr-agenda-cartel img{
width:120px;
height:120px;
object-fit:cover;
border-radius:6px;
}

.cdr-agenda-info{
flex:1;
text-align:left;
}

@media (max-width:700px){

.cdr-agenda-link{
flex-direction:column;
text-align:center;
}

.cdr-agenda-cartel img{
width:140px;
height:auto;
margin-bottom:10px;
}

.cdr-agenda-info{
text-align:center;
}

}

/* =========================
AJUSTE CARTEL AGENDA MOVIL
========================= */

@media (max-width:700px){

.cdr-agenda-link{
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
gap:12px;
}

.cdr-agenda-cartel img{
width:110px !important;
height:110px !important;
max-width:110px !important;
object-fit:cover;
border-radius:6px;
}

}
.cdr-agenda-cartel img{
width:90px;
height:90px;
object-fit:cover;
border-radius:6px;
}

.cdr-agenda-info{
width:100%;
text-align:center;
}

}

.cdr-agenda-cartel img{
box-shadow:0 4px 12px rgba(0,0,0,0.6);
}
.cdr-agenda-cartel{
margin-bottom:10px;
}

/* =========================
ESPACIO BOTON ENTRADAS
========================= */

.cdr-btn-entradas{
margin:25px 0;
}

.cdr-concierto-descripcion{
margin-top:25px;
line-height:1.7;
}

/* =========================
BLOQUE BANDAS EN CONCIERTO
========================= */

.cdr-concierto-bandas{
margin-top:30px;
}

.cdr-concierto-bandas a{
display:block;
font-size:20px;
margin-bottom:8px;
}

.cdr-concierto-bandas-extra{
margin-top:15px;
opacity:0.85;
}

/* DESTACAR FESTIVALES */

.cdr-festival:hover{
transform:translateY(-6px);
box-shadow:0 10px 25px rgba(224,0,0,0.5);
}

.cdr-boton-youtube {
display: inline-block;
background: #cc0000;
color: #ffffff !important;
padding: 12px 22px;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
margin-top: 15px;
transition: all 0.3s ease;
}

.cdr-boton-youtube:hover {
background: #ff0000;
color: #ffffff !important;
text-decoration: none;
}

.cdr-banda-video {
margin-top: 25px;
margin-bottom: 20px;
}

.cdr-banda-spotify {
margin-top: 30px;
margin-bottom: 25px;
}

/* Espaciado general entre secciones de la ficha */
.cdr-banda-video,
.cdr-banda-spotify,
.cdr-banda-redes,
.cdr-banda-contacto {
margin-top: 30px;
margin-bottom: 30px;
}

.cdr-banda-redes {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 15px;
}

.cdr-red-btn {
display: inline-block;
background: #222;
color: #fff !important;
padding: 10px 18px;
border-radius: 8px;
text-decoration: none;
font-weight: 600;
transition: all 0.3s ease;
}

.cdr-red-btn:hover {
background: #444;
}

.cdr-contact-btn {
display: inline-block;
background: #e63946;
color: #fff !important;
padding: 12px 22px;
border-radius: 8px;
text-decoration: none;
font-weight: 700;
transition: all 0.3s ease;
}

.cdr-contact-btn:hover {
background: #ff4d5a;
}

.cdr-bandas-relacionadas{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
gap:12px;
margin-top:30px;
}

.cdr-banda-card{
background:#111;
padding:10px;
border-radius:8px;
text-align:center;
}

.cdr-banda-card img{
width:100%;
height:90px;
object-fit:contain;
background:#000;
padding:5px;
margin-bottom:8px;
}

.cdr-banda-card h4{
font-size:14px;
margin:0;
}

.cdr-banda-nav{
display:flex;
justify-content:space-between;
align-items:center;
margin-top:40px;
margin-bottom:20px;
}

.cdr-banda-nav a{
color:#fff;
text-decoration:none;
font-weight:600;
}

.cdr-banda-nav a:hover{
color:#e63946;
}

.cdr-ver-bandas{
text-align:center;
margin-top:20px;
margin-bottom:30px;
}

.cdr-ver-bandas a{
color:#fff;
text-decoration:none;
font-weight:600;
border-bottom:1px solid #e63946;
padding-bottom:3px;
}

.cdr-ver-bandas a:hover{
color:#e63946;
border-color:#e63946;
}
.cdr-banda-redes{
display:flex;
justify-content:center;
gap:20px;
margin-top:25px;
}

.cdr-red-icon{
color:white;
transition:0.3s;
}

.cdr-red-icon.instagram:hover{color:#E1306C;}
.cdr-red-icon.facebook:hover{color:#1877F2;}
.cdr-red-icon.youtube:hover{color:#FF0000;}
.cdr-red-icon.spotify:hover{color:#1DB954;}
.cdr-red-icon.web:hover{color:#aaa;}

.cdr-red-icon{
display:flex;
align-items:center;
justify-content:center;
width:42px;
height:42px;
border-radius:50%;
background:#111;
color:#fff;
transition:0.3s;
}

.cdr-red-icon svg{
width:20px;
height:20px;
}

.cdr-red-icon.instagram:hover{color:#E1306C;}
.cdr-red-icon.facebook:hover{color:#1877F2;}
.cdr-red-icon.youtube:hover{color:#FF0000;}
.cdr-red-icon.spotify:hover{color:#1DB954;}
.cdr-red-icon.web:hover{color:#ccc;}

.cdr-evento-contenido{
margin-top:30px;
max-width:800px;
margin-left:auto;
margin-right:auto;
line-height:1.6;
}

.cdr-evento-bandas{
margin-top:30px;
text-align:center;
}

.cdr-evento-bandas-lista{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;
margin-top:15px;
}

.cdr-evento-bandas-lista span,
.cdr-evento-bandas-lista a{
background:#111;
padding:6px 12px;
border-radius:20px;
font-size:14px;
}

.cdr-conciertos-relacionados{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:20px;
margin-top:40px;
width:100%;
clear:both;
}

.cdr-concierto-mini{
background:#111;
padding:12px;
border-radius:10px;
text-align:center;
}
.cdr-conciertos-relacionados h3{
width:100%;
}
.cdr-concierto-texto{
margin-top:30px;
max-width:800px;
margin-left:auto;
margin-right:auto;
line-height:1.6;
font-size:17px;
}

.cdr-evento-bandas{
margin-top:25px;
text-align:center;
}

.cdr-evento-bandas-lista{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:8px;
margin-top:10px;
max-width:700px;
margin-left:auto;
margin-right:auto;
}

.cdr-evento-bandas-lista span,
.cdr-evento-bandas-lista a{
background:#111;
padding:6px 12px;
border-radius:20px;
font-size:14px;
}

.cdr-conciertos-relacionados{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:20px;
margin-top:40px;
width:100%;
clear:both;
}

.cdr-conciertos-relacionados,
.cdr-conciertos-relacionados *{
float:none !important;
}

.cdr-concierto-mini{
background:#111;
padding:8px 16px;
border-radius:20px;
text-align:center;
display:inline-block;
border:1px solid #e10600;
transition:0.25s ease;
}

.cdr-concierto-mini a{
color:#fff;
text-decoration:none;
font-size:14px;
font-weight:500;
}

.cdr-concierto-mini:hover{
background:#e10600;
transform:translateY(-2px);
box-shadow:0 0 8px rgba(225,6,0,0.5);
}

/* SEPARADOR CONCIERTO */

.cdr-separador{
width:80%;
height:2px;
background:linear-gradient(90deg, transparent, #e10600, #e10600, transparent);
margin:60px auto 40px auto;
}
.cdr-conciertos-relacionados{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:12px;
margin-top:20px;
}
.cdr-concierto-bandas-extra{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:8px;
margin-top:10px;
}

.cdr-concierto-bandas-extra span{
background:#111;
padding:6px 12px;
border-radius:20px;
font-size:14px;
}

.cdr-concierto-mini:hover{
background:#e10600;
transform:translateY(-3px);
box-shadow:0 4px 12px rgba(225,6,0,0.4);
}
.cdr-concierto-bandas{
margin-bottom:10px;
}

/* selector de bandas del formulario */
.choices{
width:100%;
margin-bottom:20px;
}

.choices__inner{
min-height:50px !important;
}
/* texto de ayuda del selector de bandas */
.cdr-band-help{
display:block;
font-size:13px;
color:#999;
margin-top:5px;
margin-bottom:10px;
}
select[name="bandas[]"] option{
padding:6px;
}

/* ======================================
SELECTOR DE BANDAS BUSCADOR
====================================== */

.choices{
width:100%;
background:#0b1a33;
border:1px solid #1f3b6b;
border-radius:8px;
}

.choices__inner{
background:#0b1a33;
border:none;
min-height:50px;
padding:8px;
}

.choices__input{
background:#0b1a33 !important;
color:#fff;
}

.choices__list--dropdown{
background:#0b1a33;
border:1px solid #1f3b6b;
margin-top:5px;
}

.choices__list--dropdown .choices__item{
color:#fff;
padding:10px;
border-radius:6px;
}

.choices__item--selectable:hover{
background:#16284a;
}

.choices__list--multiple .choices__item{
background:#1f3b6b;
border:none;
border-radius:20px;
padding:5px 12px;
margin:3px;
color:#fff;
font-size:14px;
}

.choices__button{
filter:invert(1);
margin-left:6px;
}

.choices__placeholder{
color:#9aa7c0;
opacity:1;
}

/* ======================================
ARREGLAR ESTILO BUSCADOR BANDAS
====================================== */

.choices,
.choices__inner{
background:#0b1a33 !important;
border:1px solid #1f3b6b !important;
color:#fff !important;
}

.choices__input{
background:#0b1a33 !important;
color:#fff !important;
}

.choices__list--dropdown{
background:#0b1a33 !important;
border:1px solid #1f3b6b !important;
}

.choices__list--dropdown .choices__item{
color:#fff !important;
background:transparent !important;
}

.choices__item--selectable.is-highlighted{
background:#16284a !important;
}

.choices__list--multiple .choices__item{
background:#1f3b6b !important;
border:none !important;
border-radius:20px !important;
color:#fff !important;
}

.choices__placeholder{
color:#9aa7c0 !important;
}

.cdr-sala-mapa a{
display:inline-block;
background:#e50914;
color:white;
padding:10px 16px;
border-radius:6px;
text-decoration:none;
font-weight:600;
margin-top:10px;
}

.cdr-sala-mapa a:hover{
background:#b20710;
}

/* MAPA CONCIERTO */

.cdr-concierto-mapa{
max-width:480px;
margin:25px auto 40px auto;
border-radius:10px;
overflow:hidden;
}

.cdr-concierto-mapa iframe{
height:170px;
}

/* MAPA SALA */

.cdr-sala-mapa{
margin:30px 0;
border-radius:12px;
overflow:hidden;
}

/* HEADER SALA */

.cdr-sala-header{

display:grid;
grid-template-columns:1fr 380px;
gap:40px;
align-items:start;
margin-bottom:50px;

}

/* INFO */

.cdr-sala-info p{
margin:15px 0;
}

/* MAPA */

.cdr-sala-mapa iframe{
width:100%;
height:300px;
border-radius:10px;
}

/* TITULOS */

.cdr-sala-container h2{

font-size:28px;
margin-top:40px;
margin-bottom:20px;

}

/* RESPONSIVE */

@media(max-width:900px){

.cdr-sala-header{

grid-template-columns:1fr;

}

.cdr-sala-mapa{
margin-top:20px;
}

}

/* CONCIERTOS EN SALA */

.cdr-sala-concierto a{
font-size:20px;
font-weight:600;
margin-right:12px;
}

.cdr-sala-concierto span{
font-size:15px;
opacity:0.8;
}

/* LINEAS SEPARADORAS */

.cdr-sala-container hr{
margin:35px 0;
opacity:0.3;
}

.cdr-sala-concierto{
margin:18px 0 28px 0;
}

/* EVENTOS EN SALAS */

.cdr-sala-evento{
font-size:20px;
font-weight:600;
display:block;
margin-bottom:6px;
}

.cdr-sala-evento-meta{
font-size:14px;
opacity:0.8;
display:flex;
gap:15px;
}

.cdr-sala-concierto{
margin:22px 0;
padding-bottom:15px;
border-bottom:1px solid rgba(255,255,255,0.1);
}

.cdr-sala-evento:hover{
color:#e50914;
}

/* HOME PROXIMOS CONCIERTOS */

.cdr-proximos-conciertos{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
margin-top:40px;

}

.cdr-proximo-concierto{
display:flex;
gap:15px;
align-items:flex-start;
padding:15px;
text-decoration:none;
color:white;
background:#0b0b0b;
border-radius:10px;
overflow:hidden;
transition:transform .2s ease;
}

.cdr-proximo-concierto:hover{

transform:scale(1.03);

}

.cdr-proximo-concierto img{

width:100%;
height:auto;
display:block;

}

.cdr-proximo-concierto div{
padding:0;
}

.cdr-proximo-concierto strong{

font-size:18px;
display:block;
margin-bottom:5px;

}

.cdr-salas{

max-width:1100px;
margin:auto;
padding:40px;

}

.cdr-sala-item{

border-bottom:1px solid #333;
padding:20px 0;

}

.cdr-sala-item h2{

font-size:22px;

}

/* ===== DIRECTORIO DE SALAS ===== */

.cdr-salas{
  max-width:1200px;
  margin:40px auto;
  padding:0 20px;

  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:25px;
}

.cdr-sala-item{
  background:#0f0f0f;
  border:1px solid #1f1f1f;
  border-radius:10px;
  padding:22px;
  transition:all .25s ease;
  position:relative;
  overflow:hidden;
}

.cdr-sala-item:hover{
  transform:translateY(-5px);
  border-color:#e50914;
  box-shadow:0 10px 25px rgba(0,0,0,.5);
}

.cdr-sala-item a{
  text-decoration:none;
  color:white;
}

.cdr-sala-item h2{
  font-size:20px;
  margin:0;
  font-weight:600;
}

/* línea roja estilo Costa del Rock */

.cdr-sala-item::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  background:#e50914;
  opacity:.6;
}

.cdr-sala-item a{
text-decoration:none !important;
color:white;
}

.cdr-sala-item a:hover{
text-decoration:none !important;
color:#e50914;
}

.cdr-salas-titulo{
font-size:42px;
margin-bottom:25px;
}

.cdr-salas-titulo::after{
content:"";
display:block;
width:120px;
height:3px;
background:#e50914;
margin-top:10px;
}

.cdr-sala-item h2{
margin:0;
font-size:20px;
font-weight:600;
}

.cdr-sala-item h2 a{
text-decoration:none !important;
}

/* Línea roja Costa del Rock en tarjetas de salas */
.cdr-sala-item{
  position:relative;
  overflow:hidden;
}

.cdr-sala-item::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:3px;
  background:#e50914;
  opacity:.8;
}

.cdr-sala-ciudad{
margin-top:8px;
font-size:14px;
opacity:.8;
}

.cdr-sala-conciertos{
margin-top:6px;
font-size:14px;
color:#ffffff;
opacity:.85;
}

.cdr-sala-proximo{
margin-top:6px;
font-size:14px;
opacity:.8;
}

.cdr-sala-proximo{
margin-top:8px;
font-size:14px;
}

.cdr-sala-proximo-fecha{
opacity:.8;
margin-bottom:3px;
}

.cdr-sala-proximo-evento a{
color:white;
text-decoration:none;
font-weight:600;
}

.cdr-sala-proximo-evento a:hover{
color:#e50914;
}

.cdr-salas-ciudad{
margin-top:50px;
margin-bottom:20px;
font-size:30px;
font-weight:700;
color:white;
letter-spacing:1px;
}

.cdr-salas-ciudad{
margin-top:70px;
}

#cdr-mapa-salas{
width:100%;
height:420px;
border-radius:12px;
margin:30px 0 50px 0;
}

#cdr-mapa-salas{
width:100%;
height:420px;
border-radius:12px;
margin:30px 0 50px 0;
box-shadow:0 10px 30px rgba(0,0,0,0.5);
}

/* META CONCIERTO */

.cdr-concierto-meta{
display:flex;
flex-wrap:wrap;
gap:15px;
font-size:16px;
margin-bottom:20px;
}

.cdr-concierto-meta span{
background:#0f213d;
padding:6px 12px;
border-radius:6px;
}

/* QUITAR SUBRAYADO EN TARJETAS */

.cdr-proximo-concierto,
.cdr-proximo-concierto a{
text-decoration:none !important;
}

.cdr-proximo-concierto strong{
text-decoration:none !important;
}

/* TARJETAS CONCIERTOS MÁS COMPACTAS */

.cdr-proximo-concierto div{
padding:15px 18px;
}

.cdr-proximo-concierto strong{
font-size:17px;
line-height:1.3;
margin-bottom:10px;
}

.cdr-proximo-ciudad,
.cdr-proximo-fecha,
.cdr-proximo-hora{
display:block;
font-size:14px;
margin-bottom:4px;
opacity:0.9;
}
/* MOBILE TARJETAS */

@media (max-width:768px){

.cdr-proximos-conciertos{
grid-template-columns:1fr;
gap:20px;
}

.cdr-proximo-concierto strong{
font-size:16px;
}

}

/* TARJETAS CONCIERTOS COMPACTAS */

.cdr-proximo-concierto{
display:flex;
gap:15px;
align-items:flex-start;
padding:15px;
}

.cdr-proximo-concierto img{
width:90px;
height:120px;
object-fit:cover;
border-radius:6px;
flex-shrink:0;
}

.cdr-proximo-concierto div{
padding:0;
}

.cdr-proximo-concierto strong{
font-size:16px;
margin-bottom:6px;
display:block;
}

.cdr-proximo-ciudad,
.cdr-proximo-fecha,
.cdr-proximo-hora{
font-size:14px;
margin-bottom:3px;
}

/* TARJETAS MOVIL */

@media (max-width:768px){

.cdr-proximos-conciertos{
grid-template-columns:1fr;
}

.cdr-proximo-concierto img{
width:80px;
height:110px;
}

}

.cdr-proximo-concierto img{
width:90px;
height:120px;
object-fit:cover;
border-radius:6px;
flex-shrink:0;
max-width:none;
}

/* TARJETAS CONCIERTOS HORIZONTALES */

.cdr-proximo-concierto{
display:flex;
align-items:flex-start;
gap:15px;
padding:15px;
background:#0b1a33;
border-radius:12px;
text-decoration:none;
}

.cdr-proximo-cartel img{
width:90px;
height:120px;
object-fit:cover;
border-radius:6px;
}

.cdr-proximo-info{
flex:1;
}

.cdr-proximo-info strong{
font-size:16px;
display:block;
margin-bottom:6px;
}

.cdr-proximo-ciudad,
.cdr-proximo-fecha,
.cdr-proximo-hora{
font-size:14px;
margin-bottom:3px;
}
/* AJUSTE TARJETAS PROXIMOS CONCIERTOS */

.cdr-proximo-cartel img{
width:110px;
height:150px;
object-fit:cover;
border-radius:8px;
}

.cdr-proximo-info{
padding-top:5px;
}

.cdr-proximo-info strong{
font-size:18px;
line-height:1.2;
margin-bottom:10px;
}

.cdr-proximo-ciudad,
.cdr-proximo-fecha,
.cdr-proximo-hora{
font-size:15px;
opacity:0.9;
margin-bottom:4px;
}

/* EVITAR COLOR AZUL EN HOVER TARJETAS CONCIERTOS */

.cdr-proximo-concierto:hover,
.cdr-proximo-concierto:hover strong,
.cdr-proximo-concierto:hover span{
color:white !important;
}
.cdr-proximo-concierto:hover{
transform:translateY(-4px);
box-shadow:0 10px 25px rgba(0,0,0,0.5);
}
/* ALTURA TARJETAS PROXIMOS CONCIERTOS */

.cdr-proximo-concierto{
align-items:center;
min-height:150px;
}
/* CARTEL PROXIMOS CONCIERTOS FORMATO UNIFICADO */

.cdr-proximo-cartel{
width:110px;
height:150px;
overflow:hidden;
border-radius:8px;
flex-shrink:0;
}

.cdr-proximo-cartel img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.cdr-proximo-cartel{
width:110px;
height:150px;
overflow:hidden;
border-radius:8px;
flex-shrink:0;
}

.cdr-proximo-cartel img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}
.cdr-evento-ciudad{
font-size:16px;
opacity:0.85;
margin-top:4px;
margin-bottom:10px;
}
.cdr-agenda-ciudad{
font-size:16px;
opacity:0.85;
margin-top:4px;
margin-bottom:10px;
}
/* TITULO MES AGENDA */

.cdr-mes{
display:flex;
align-items:center;
gap:20px;
margin:60px 0 35px 0;
font-size:42px;
font-weight:700;
letter-spacing:2px;
}

.cdr-mes::before,
.cdr-mes::after{
content:'';
flex:1;
height:1px;
background:linear-gradient(to right, transparent, #e10600, transparent);
}
/* ETIQUETA FESTIVAL */

.cdr-festival{
position:relative;
}

.cdr-festival .cdr-agenda-evento::before{
content:"FESTIVAL";
display:block;
text-align:center;
font-size:12px;
letter-spacing:3px;
color:#e10600;
margin-bottom:8px;
}

.cdr-festival .cdr-agenda-evento::after{
content:'';
display:block;
height:1px;
background:linear-gradient(to right, transparent, #e10600, transparent);
margin-bottom:15px;
}
/* ETIQUETA PROXIMIDAD */

.cdr-proximidad{
display:inline-block;
background:#e10600;
color:#fff;
font-size:11px;
letter-spacing:1px;
padding:4px 10px;
border-radius:20px;
margin-right:10px;
font-weight:600;
}
/* HOVER TARJETA CONCIERTO */

.cdr-agenda-item{
transition:transform .25s ease, box-shadow .25s ease;
}

.cdr-agenda-item:hover{
transform:translateY(-4px);
box-shadow:0 10px 25px rgba(0,0,0,0.6);
}
/* COLOR LINKS AGENDA */

.cdr-agenda-item a{
color:#ddd;
text-decoration:none;
}

.cdr-agenda-item a:hover{
color:#e10600;
}
/* PAGINACION AGENDA */

.cdr-agenda-paginacion{
margin-top:40px;
text-align:center;
}

.cdr-agenda-paginacion a,
.cdr-agenda-paginacion span{
display:inline-block;
padding:8px 14px;
margin:4px;
border-radius:6px;
background:#111;
color:#ddd;
text-decoration:none;
}

.cdr-agenda-paginacion a:hover{
background:#e10600;
color:#fff;
}

.cdr-agenda-paginacion .current{
background:#e10600;
color:#fff;
}
/* BOTON VER MAS CONCIERTOS */

.cdr-ver-mas-conciertos{
text-align:center;
margin-top:30px;
}

.cdr-ver-mas-conciertos a{
display:inline-block;
background:#111;
color:#ddd;
padding:10px 20px;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:all .2s ease;
}

.cdr-ver-mas-conciertos a:hover{
background:#e10600;
color:#fff;
}
.cdr-ver-mas-conciertos{
text-align:center;
margin:40px 0;
}

.cdr-ver-mas-conciertos a{
display:inline-block;
padding:12px 28px;
border:2px solid #e10600;
color:#fff;
text-decoration:none;
font-weight:700;
letter-spacing:1px;
border-radius:6px;
transition:all .25s ease;
}

.cdr-ver-mas-conciertos a:hover{
background:#e10600;
transform:translateY(-2px);
}
/* CALENDARIO SIN SUBRAYADO */

.cdr-calendario-evento{
text-decoration:none;
}

.cdr-calendario-evento:hover{
text-decoration:none;
}
/* BOTON VER MAS SIN SUBRAYADO */

.cdr-ver-mas-conciertos a{
text-decoration:none;
}

.cdr-ver-mas-conciertos a:hover{
text-decoration:none;
}
.cdr-calendario-evento,
.cdr-ver-mas-conciertos a{
text-decoration:none !important;
}
/* TIMELINE CALENDARIO */

.cdr-calendario-item{
display:flex;
align-items:center;
gap:14px;
margin:8px 0;
}

.cdr-calendario-dia{
font-weight:700;
font-size:20px;
min-width:35px;
color:#fff;
}

.cdr-calendario-evento{
position:relative;
padding-left:14px;
text-decoration:none;
color:#1e73be;
}

.cdr-calendario-evento::before{
content:'';
position:absolute;
left:0;
top:4px;
width:4px;
height:18px;
background:#e10600;
border-radius:2px;
}
.cdr-calendario-item:hover .cdr-calendario-evento::before{
background:#ff2a2a;
}

.cdr-calendario-item:hover .cdr-calendario-evento{
color:#fff;
}
/* META CONCIERTO CENTRADO */

.cdr-concierto-meta{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:12px;
margin-top:15px;
}

.cdr-concierto-meta span{
display:inline-flex;
align-items:center;
justify-content:center;
background:#132742;
padding:6px 12px;
border-radius:6px;
font-size:14px;
}
.cdr-separador{
width:80%;
height:3px;
background:linear-gradient(90deg, transparent, #e10600, #e10600, transparent);
margin:60px auto 40px auto;
}
/* CONTADOR CONCIERTO */

.cdr-contador-concierto{
max-width:420px;
margin:25px auto;
text-align:center;
}

.cdr-contador-texto{
font-size:15px;
margin-bottom:8px;
opacity:0.9;
}

.cdr-barra{
width:100%;
height:8px;
background:#111;
border-radius:10px;
overflow:hidden;
}

.cdr-barra-progreso{
height:100%;
background:linear-gradient(90deg,#e10600,#ff3b3b);
transition:width .5s ease;
}

.cdr-form-sala input,
.cdr-form-sala textarea{

width:100%;
padding:12px;
margin-bottom:15px;
background:#0f1c3f;
border:1px solid #2a3b6b;
color:#fff;
border-radius:4px;

}

.cdr-form-sala button{

background:#e50914;
color:#fff;
padding:12px 20px;
border:none;
border-radius:6px;
font-weight:bold;
cursor:pointer;

}

.cdr-form-sala button:hover{

background:#ff1f2b;

}
.cdr-form-sala{
margin-top:40px;
}

/* TITULOS CON LINEAS COSTA DEL ROCK */

.cdr-titulo-lineas{

display:flex;
align-items:center;
gap:20px;

}

.cdr-titulo-lineas::before,
.cdr-titulo-lineas::after{

content:"";
flex:1;
height:2px;
background:#e50914;

}
/* TITULOS CON LINEAS COSTA DEL ROCK */

.cdr-titulo-lineas{
display:flex;
align-items:center;
justify-content:center;
gap:20px;
margin:50px 0;
}

.cdr-titulo-lineas::before,
.cdr-titulo-lineas::after{
content:"";
width:120px;
height:1px;
background:#e50914;
opacity:0.6;
}
.cdr-seccion-titulo{
display:flex;
align-items:center;
gap:20px;
margin:60px 0 35px 0;
font-size:32px;
font-weight:700;
letter-spacing:1px;
}

.cdr-seccion-titulo::before,
.cdr-seccion-titulo::after{
content:'';
flex:1;
height:1px;
background:linear-gradient(to right, transparent, #e10600, transparent);
}
/* PARTICIPA COSTA DEL ROCK */

.cdr-participa{
text-align:center;
margin:80px auto !important;
max-width:900px;
}

.cdr-participa-grid{
display:grid !important;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;
margin-top:40px;
}

.cdr-participa-btn{
display:block;
padding:22px;
background:#111;
border:1px solid #222;
border-radius:10px;
color:#fff !important;
text-decoration:none !important;
font-weight:600;
font-size:18px;
transition:all .25s ease;
}

.cdr-participa-btn:hover{
transform:translateY(-4px);
border-color:#e10600;
box-shadow:0 10px 25px rgba(0,0,0,0.5);
}
/* FILTRO MESES AGENDA */

.cdr-agenda-filtros-meses{
display:flex;
gap:15px;
justify-content:center;
margin:10px 0 40px 0;
flex-wrap:wrap;
}

.cdr-agenda-filtros-meses a{
color:#aaa;
text-decoration:none;
font-weight:600;
padding:6px 10px;
border-radius:6px;
transition:.2s;
}

.cdr-agenda-filtros-meses a:hover{
color:#fff;
background:#111;
}
/* LAYOUT AGENDA */

.cdr-agenda-layout{
display:grid;
grid-template-columns:1fr 260px;
gap:40px;
align-items:start;
}

html {
scroll-behavior: smooth;
}
/* botón comprar entradas */

.cdr-boton-entradas{

display:inline-block;
margin-top:10px;
padding:8px 14px;
background:#e50914;
color:white;
border-radius:6px;
font-size:14px;
text-decoration:none;
transition:0.2s;

}

.cdr-boton-entradas:hover{

background:#ff2b2b;

}
/* ===== SALAS ===== */

.tax-sala #secondary{
display:none;
}

.tax-sala #primary{
width:100%;
}

/* tarjeta concierto */

.cdr-sala-card{

max-width:720px;
margin-bottom:25px;

}

.cdr-sala-link{

display:flex;
align-items:center;
gap:18px;

background:#1c3553;
padding:18px;

border-radius:10px;

text-decoration:none;
color:white;

}

.cdr-sala-cartel img{

width:90px;
height:auto;
border-radius:6px;

}

.cdr-sala-info{

display:flex;
flex-direction:column;
gap:6px;

}

.cdr-sala-titulo{

font-size:20px;
margin:0;

}

/* GRID conciertos en salas */

.cdr-sala-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:25px;

}

/* tarjeta */

.cdr-sala-card{

max-width:100%;
margin:0;

}

.cdr-sala-link{

display:block;
background:#1c3553;
padding:20px;
border-radius:10px;

}

/* imagen */

.cdr-sala-cartel img{

width:100%;
height:auto;
border-radius:6px;
margin-bottom:10px;

}

/* responsive */

@media(max-width:900px){

.cdr-sala-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:600px){

.cdr-sala-grid{
grid-template-columns:1fr;
}

}
/* contenedor cartel */

.cdr-sala-cartel{
width:100%;
aspect-ratio:2/3;
overflow:hidden;
border-radius:6px;
margin-bottom:12px;
}

/* imagen cartel */

.cdr-sala-cartel img{
width:100%;
height:100%;
object-fit:cover;
}
.cdr-sala-evento-meta{

display:flex;
align-items:center;
gap:12px;

font-size:13px;
line-height:1.2;

white-space:nowrap;

}

.cdr-sala-evento-meta span{

display:flex;
align-items:center;
gap:5px;

}
.cdr-sala-evento-meta{
display:flex;
gap:10px;
font-size:13px;
opacity:0.9;
}
.cdr-sala-titulo{

font-size:18px;
line-height:1.2;

display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;

overflow:hidden;

min-height:42px;

}
.cdr-sala-card{

transition:all .2s ease;

}

.cdr-sala-card:hover{

transform:translateY(-5px);
box-shadow:0 10px 30px rgba(0,0,0,0.3);

}
/* filtros agenda */

.cdr-agenda-filtros{
display:flex;
flex-wrap:wrap;
gap:10px;
margin:20px 0 30px 0;
}

.cdr-agenda-filtros a{

background:#132845;
padding:8px 16px;

border-radius:20px;

text-decoration:none;
color:white;

font-size:14px;

transition:all .2s ease;

}

.cdr-agenda-filtros a:hover{

background:#e50914;
transform:translateY(-2px);

}
/* filtros meses */

.cdr-agenda-filtros-meses{

display:flex;
flex-wrap:wrap;
gap:10px;

margin-bottom:40px;

}

.cdr-agenda-filtros-meses a{

background:#1d3a5c;

padding:8px 14px;

border-radius:20px;

text-decoration:none;
color:white;

font-size:14px;

transition:all .2s ease;

}

.cdr-agenda-filtros-meses a:hover{

background:#e50914;
transform:translateY(-2px);

}

/* HEADER COSTA DEL ROCK */

.cdr-header{
background:#000;
padding:25px 40px;
position:sticky;
top:0;
z-index:9999;
}

.cdr-header-inner{
max-width:1200px;
margin:auto;
display:flex;
align-items:center;
justify-content:flex-start;
min-height:120px;
padding:0 20px;
}

.cdr-logo img{
height:110px;
width:auto;
display:block;
}

/* MENU */

.cdr-menu ul{
display:flex;
gap:40px;
list-style:none;
margin:0;
padding:0;
}

.cdr-menu a{
font-family:'Oswald',sans-serif;
font-size:17px;
letter-spacing:4px;
text-transform:uppercase;
color:white;
text-decoration:none;
font-weight:500;
}

.cdr-menu a:hover{
color:#e10600;
}

/* BOTONES */

.cdr-header-actions{
display:flex;
justify-content:center;
gap:20px;
margin-top:0px;
margin-bottom:10px;
flex-wrap:wrap;
}

.cdr-btn{
background:#1e3a5f;
color:white;
padding:10px 22px;
border-radius:10px;
font-family:'Oswald',sans-serif;
font-size:14px;
text-decoration:none;
}

.cdr-btn:hover{
color:#ff3b3b;
}
.cdr-menu{
margin-left:auto;
margin-right:auto;
}
.cdr-btn{
transition: all 0.2s ease;
}

.cdr-btn:hover{
transform: translateY(-2px);
}
/* ===== HAMBURGUESA ===== */

.cdr-menu-toggle{
display:none;
background:none;
border:none;
cursor:pointer;
}

@media (max-width:900px){

.cdr-menu-toggle{
display:flex;
flex-direction:column;
gap:6px;
margin-left:auto;
}

}

/* LINEAS */

.cdr-menu-toggle span{
display:block;
width:28px;
height:4px;
background:red;
}

/* ===== MENU FULLSCREEN ===== */

@media (max-width:900px){

.cdr-menu{
position:fixed;
top:0;
left:0;
width:100%;
height:100vh;
background:#000;
display:none; /* 👈 CLAVE */
justify-content:center;
align-items:center;
z-index:9999;
}

.cdr-menu.active{
display:flex;
}

.cdr-menu ul{
display:flex;
flex-direction:column;
align-items:center;
gap:25px;
}

.cdr-menu a{
font-size:28px;
letter-spacing:4px;
}

}
@media (max-width:700px){
  
.cdr-barra-tiempo{
height:6px;
opacity:0.7;
}  
  
/* ===== DESTACADO HOME ===== */

.cdr-destacado{
display:flex;
gap:20px;
background:#0b0b0b;
border-radius:12px;
overflow:hidden;
text-decoration:none;
color:white;
transition:0.3s;
}

.cdr-destacado:hover{
transform:scale(1.02);
}

.cdr-destacado-img{
width:160px;
flex-shrink:0;
}

.cdr-destacado-img img{
  width:100%;
  height:auto;
  display:block;
}

.cdr-destacado-info{
padding:15px;
}

.cdr-label{
color:#e10600;
font-size:12px;
letter-spacing:2px;
}

.cdr-destacado h2{
margin:5px 0;
font-size:20px;
}

.cdr-ciudad{
opacity:0.8;
margin-bottom:5px;
}

.cdr-fecha{
font-size:14px;
}

/* MOBILE */

@media (max-width:768px){

.cdr-destacado{
flex-direction:column;
}

.cdr-destacado-img{
width:100%;
height:200px;
}

}

/* ===== BOTONES COLABORACIÓN ===== */
.cdr-header-actions {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 15px;
}

/* ===== MÓVIL OPTIMIZADO ===== */
@media (max-width: 768px) {

  .cdr-header-actions {
    flex-direction: row; /* 🔥 en línea */
    flex-wrap: wrap;     /* permite bajar si no caben */
    gap: 8px;
    padding: 10px;
  }

  .cdr-header-actions a {
    font-size: 13px;
    padding: 8px 10px;
    border-radius: 8px;
    width: auto; /* 🔥 importante */
    flex: 1 1 auto;
    text-align: center;
  }

}
  .cdr-header-actions a {
  background: #1f3b5c;
  font-weight: 500;
}
  .cdr-header-actions a {
  transition: all 0.2s ease;
}

.cdr-header-actions a:hover {
  background: #e50914;
  transform: translateY(-2px);
}
  .cdr-header-actions {
  margin-top: -10px;
}
  
  .wrap {
  height: auto !important;
  overflow: visible !important;
}

body {
  overflow: visible !important;
}
  .cdr-destacado {
  max-height: none !important;
}

.cdr-agenda-item {
  max-height: none !important;
}
  
.cdr-sala-meta{
display:flex;
flex-direction:column;
gap:6px;
margin:10px 0 20px;
}

.cdr-meta-item{
color:#888;
font-size:14px;
line-height:1.4;
}

.cdr-meta-item:first-child{
color:#fff;
font-weight:500;
font-size:15px;
}
  
.cdr-sala-titulo{
font-size:52px;
font-weight:800;
margin-bottom:10px;
color:#fff;
letter-spacing:-1px;
}
 
.cdr-sala-titulo::after{
content:"";
display:block;
width:60px;
height:3px;
background:#ff3b2f;
margin-top:10px;
}
  
.cdr-sala-seo{
color:#aaa;
font-size:15px;
margin:10px 0 20px;
}

.cdr-sala-descripcion{
color:#ccc;
font-size:16px;
line-height:1.6;
margin-bottom:20px;
}
  
.cdr-btn-mapa{
display:inline-block;
margin-top:10px;
padding:10px 16px;
background:#1e90ff;
color:#fff;
border-radius:6px;
text-decoration:none;
font-weight:500;
transition:.2s;
}

.cdr-btn-mapa:hover{
background:#187bcd;
}  
  
.cdr-sala-info{
max-width:700px;
}
  
/* FORZAR ESTILO SIEMPRE */
.cdr-sala-links a{
background:#222 !important;
color:#fff !important;
padding:8px 14px !important;
border-radius:6px !important;
text-decoration:none !important;
display:inline-block !important;
transition:all .2s ease !important;
}

/* hover */
.cdr-sala-links a:hover{
transform:translateY(-3px);
box-shadow:0 6px 14px rgba(0,0,0,0.5);
}

/* colores */
.cdr-sala-links a.web:hover{
border:1px solid #1e90ff;
color:#1e90ff;
}

.cdr-sala-links a.instagram:hover{
border:1px solid #e1306c;
color:#e1306c;
}

.cdr-sala-links a.facebook:hover{
border:1px solid #1877f2;
color:#1877f2;
}
  .linea-roja {
width:80px;
height:2px;
background:#ff3b2f;
border:none;
margin:10px 0 20px;
}
/* ===== FIX LOGOS BANDAS GRID ===== */

.banda-card-logo{
height:180px;
display:flex;
align-items:center;
justify-content:center;
padding:10px;
background:#000;
border-radius:8px;
}

.banda-card-logo img{
max-height:140px;
width:auto;
object-fit:contain;
}
 
.cdr-mapa-wrapper{
display:none !important;
height:0;
overflow:hidden;
transition:all .3s ease;
}

.cdr-mapa-wrapper.activo{
display:block !important;
height:auto;
margin-top:20px;
}

#cdr-mapa-salas{
height:350px;
border-radius:12px;
}
  #cdr-mapa-salas{
display:block;
}
  
/* 🔥 FIX CONTENEDOR ASTRA (ESTO ES LA CLAVE) */

.ast-container{
max-width:100% !important;
width:100% !important;
padding:0 !important;
margin:0 !important;
}

.site-content .ast-container{
max-width:100% !important;
width:100% !important;
}

/* 🔥 CENTRAR TU CONTENIDO */

.cdr-directorio-wrap{
max-width:1400px !important;
margin:0 auto !important;
padding:40px 20px !important;
}  
/* 🔥 RESET TOTAL LAYOUT ASTRA + DIRECTORIO */

#content.site-content{
padding:0 !important;
margin:0 !important;
}

.ast-container{
max-width:100% !important;
width:100% !important;
padding-left:0 !important;
padding-right:0 !important;
margin:0 !important;
}

/* 🔥 TU CONTENEDOR CENTRAL */

.cdr-directorio-wrap{
max-width:1200px !important;
margin:0 auto !important;
padding:40px 20px !important;
width:100% !important;
}

/* 🔥 GRID BIEN CENTRADO */

.grid-bandas{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:40px;
}

/* 🔥 TARJETAS */
  
.cdr-calendario{
margin-top:30px;
text-align:center;
}

.cdr-btn-cal{
display:inline-block;
margin:8px;
padding:10px 18px;
border:1px solid #ff3b2f;
border-radius:30px;
color:white;
text-decoration:none;
transition:.2s ease;
}

.cdr-btn-cal:hover{
background:#ff3b2f;
}  
  
.cdr-separador{
margin:40px auto;
width:80px;
height:2px;
background:#ff3b2f;
opacity:.8;
}

/* CALENDARIO */
.cdr-calendario{
margin:25px 0 20px 0;
text-align:center;
}

.cdr-calendario h3{
margin-bottom:8px;
font-size:22px;
}

/* LINKS CALENDARIO */
.cdr-cal-links{
margin-top:5px;
}

.cdr-cal-links a{
display:inline-block;
margin:4px 8px;
padding:6px 12px;
border:1px solid #ff3b2f;
border-radius:20px;
color:white;
text-decoration:none;
font-size:14px;
transition:.2s ease;
}

.cdr-cal-links a:hover{
background:#ff3b2f;
}

/* COMPARTIR */
.cdr-compartir{
margin-top:20px;
margin-bottom:20px;
}
  
/* FIX TAMAÑO BANDAS */

.banda-card{
width:100%;
max-width:none;
}  
  
  @media (max-width:768px){
.grid-bandas{
grid-template-columns:1fr;
}
}