
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background: #f4f4f4;
}
.superior{
    background-color: rgba(129, 6, 6, 0.979);
    height: auto;
}
.redes{
    display: flex;
    justify-content: center;
    @media screen and (max-width:414px){
        height:50px;
     }
}
.redes img{
    width: 20px;
    height: 20px;
    margin: 4px;
    object-fit: contain;
}
.registro{
    display: flex;
    margin-top: 18%;
    color: antiquewhite;
    justify-content: center;
    margin-left: -60%;
    @media screen and (max-width:414px){
        margin-top: 0px;
        margin-left:0px;
     }
     @media screen and (max-width:810px){

      } 
       @media screen and (max-width:980px){
     
  } 
     
     
}
.registro a{
    text-decoration: none;
    color: blanchedalmond;
    font-size: 12px;
    font-weight: 600;
    margin-right: 5px;
    @media screen and (max-width:414px){
        margin-right:0px;
     }
}
.registro a:first-child{
    color: black;
    font-size: 15px;
}
.registro a:hover{
    color: blanchedalmond;
}
.registro img{
    width: 25px;
    height: 25px;
    object-fit: contain;
    margin: 4px;
    @media screen and (max-width:414px){
        margin: 0px;
        width: 100%;
        height: 50px;
     }
}
#subir{
    margin-top: -8px;
    border: none;
}
.titulos{
    display: flex;
    margin: auto;
    @media screen and (max-width:414px){
        display: grid;
     }
}
.titulos .col-sm-8 img{
    width: 80%;
    height: 200px;
    margin: auto;
    @media screen and (max-width:414px){
        width: 80%;
        height: 100px;
        object-fit: contain;
     }
}
.titulos .col-sm-8 p{
    font-size: 35px;
    font-weight: 600;
    color: antiquewhite;
    margin-top: 5%;
}
.titulos .col-sm-2 img{
    @media screen and (max-width:414px){
        width:20%;
     }
}
.hora{
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    color: blanchedalmond;
}
.hora img{
    width: 50%;
}

#estilo{
    color: antiquewhite;
    border: 0px;
}
#mover{
    @media screen and (max-width:414px){
        margin-top:5px;
     }
}
#mover li{
    font-weight: 600;
    font-size: 17px;
    margin: 10px;
}
#mover li a{
    color: 
  rgba(0, 0, 0, 0.89);
}
#mover li .dropdown-item{
    @media screen and (max-width:414px){
        font-size: 13px;
     }
}
.menu{
    margin: auto;
    display: flex;
}
.menu nav{
   margin-top: -10px;
   margin-left: 3%;
}
.footer{
    background-image: url(../img/fondo.png);
    height: auto;
    width: max-content;
    color: azure;
    font-size: 15px;
    text-decoration: none;
}
.contenido_footer{
    display: flex;
    margin: auto;
    @media screen and (max-width:414px){
        display: grid;
    }
}
.contenido_footer .col-sm-3{
    margin-right: 15px;
}
.contenido_footer a{
    text-decoration: none;
    color:antiquewhite;
}
.marca_cuba img{
    @media screen and (max-width:818px){
        width: 80px;
    }
     @media screen and (max-width:980px){
       width: 80px;
    } 
}
.separador{
    height: 40px;   
}
.separador2{
    height: 20px;   
}
#staticos{
    width: 24px;
    height: 20px;
    object-fit: contain;
}
.lineas{
    height: 4px;
    width: 200px;
    background-color: brown;
    @media screen and (max-width:818px){
        width: 150px;
    }
     @media screen and (max-width:980px){
        width: 150px;
    } 
}
.formulario input{
    border-radius: 0;
    width: 90%;
}
.formulario textarea{
    border-radius: 0;
    width: 90%;
}
.formulario button{
    color: white;
    background-image: url(../img/Untitled.jpg);
    border-radius: 0px;
}
.estilo{
    position: relative;
    height: 80px;
    @media screen and (max-width:414px){
        height:auto
     }

}
.estilo::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 10px; /* Ajusta la altura del efecto */
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), transparent);
    pointer-events: none; /* Para que no bloquee clics */
    @media screen and (max-width:414px){
        height: 2px;
     }
  }

.cuerpo{
    display: flex;
    @media screen and (max-width:414px){
         display: grid;
         .primero{
             order: 3;
         }
         .posicion{
             order :2;
         }
         .segundo{
             order:1;
         }
      }
}
.posicion{
    margin-left: -5%;
    @media screen and (max-width:414px){
      margin-left:0px;   
    }
}
.posicion1{
    margin-left: -2%;
}
.posicion .col-sm-12 img, video{
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.posicion form img{
    width: 25px;
    height: 25px;
}
.posicion form button{
    border: 0px;
}
.posicion form input{
    border: 0px;
    border-bottom: darkgray solid 1px;
    border-right: darkgray solid 1px;
    border-radius: 0px;
}
.img_p{
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.posicion .col-sm-12 a{
    color: white;
    background: url(../img/Untitled.jpg);
    border-radius: 0px;
}
.lateral .col-sm-12 img, video{
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.lateral .col-sm-12 a{
    color: white;
    background: url(../img/Untitled.jpg);
    border-radius: 0px;
}
.lateral .era{
    align-items: center;
    justify-content: center;
    align-self: center;
    display: flex;
    @media screen and (max-width:414px){
        align-items:left;
        justify-content:left;  
        align-self:left;
  }
}
.lateral .era img, video{
    width: 100%;
    height: 100px;
    object-fit: cover;
    @media screen and (max-width:414px){
        width: 150px;
        height:120px; 
  }
    
}
.lateral .era .col-sm-12{
    @media screen and (max-width:414px){
        width: 150px;
  }
}
.lateral img{
    width: 25px;
    height: 25px;
}
.lateral form button{
    border: 0px;
}
.lateral form input{
    border: 0px;
    border-bottom: darkgray solid 1px;
    border-right: darkgray solid 1px;
    border-radius: 0px;
}
.archivos .col-sm-4 img{
    width: 100%;
    height: 300px;
}
.archivos a{
    color: white;
    background: url(../img/Untitled.jpg);
    border-radius: 0px;
}
#rojo li a:hover{
    color: white;
    background: brown;
}
.archivos label{
    font-size: 15px;
    text-align: justify;
}
.linea_roja{
    padding: 5px;
    border-bottom: solid 4px brown;
    width: fit-content;
}
.linea_roja2{
    padding: 5px;
    border-bottom: solid 4px brown;
    width: fit-content;
    @media screen and (max-width:414px){
        margin-top:70px;   
  }
}
.publicaciones .col-sm-3 img{
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.publicaciones .col-sm-3{
     @media screen and (max-width:414px){
        border-bottom: solid darkgray 1px;
        margin-bottom: 10px;
        
    }
}
.publicaciones .col-sm-4 img{
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.publicaciones a{
    color: white;
    background: url(../img/Untitled.jpg);
    border-radius: 0px;
}
.por{
    color: white;
    background: url(../img/Untitled.jpg);
    border-radius: 0px;
}
#gal{
    width: 100%;
    height: 450px;
}
#gal img{
    height: 450px;
    width: 100%;
    object-fit: contain;
}
.publicaciones label{
    font-size: 15px;
    text-align: justify;
}
.publicaciones h6{
    font-size: 18px;
    text-align: justify;
    font-weight: 600;
}
.slider{
    max-width: 100%;
    height: 500px;
}

#imagenes img{
    width: 100%;
    height: 490px;
    object-fit: cover;
}
#imagen_portada {
    height: 500px;
    object-fit: cover;
}
#imagen_portada_pequenna {
    height: 200px;
    object-fit: cover;
}
#imagen_arch {
    width: 100%;
    height: 300px;
}
#imagen_arch2 {
    width: 100%;
    height: 270px;
    object-fit: contain;
}
#prov {
    height: 300px;
    object-fit: contain;
}
#prov p{
    font-size: 15px;
}
.pub {
    align-items: center;
}
.pub img{
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.boton img, i{
   width: 25px;
   height: 25px;
   object-fit: contain;
}
.conv img{
    width: 100%;
    height: 80px;
    object-fit: fill;    
}
#login{
    width: 400px;
    border-radius: 0px;
}
#bordes{
    border-radius: 0px;
}
#bordes2{
    color: brown;
    text-decoration: none;
}
.provincias img{
    width: 100%;
    height: 200px;
    object-fit: fill;
}
.provincias a{
    color: white;
    background: url(../img/Untitled.jpg);
    border-radius: 0px;
}
.provincias h6{
    font-weight: 600;
}
#pleca{
  width: 18px;
  height: auto;   
  margin-right: 5px;
}
#pluma{
    width: 20px;
    height: 20px;
    margin: 3px;
}
.leer{
    color: white;
    background: url(../img/Untitled.jpg);
    border-radius: 0px;
}
.color{
    color: antiquewhite;
    border-radius: 0px;
}
.color_texto{
    text-decoration: none;
    color: black;
}
.color_texto:hover{
    color: brown;
}
.img_pub img{
    width: 100%;
    height: auto;
    object-fit: contain;
}
.solo_flex{
    display: flex;
}

/* ===========================
   GALERÍA
=========================== */
.galeria-portadas{
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(400px,1fr));
    gap: 8px;
}
.card-portada{
    position:relative;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.card-portada img{
    width:100%;
    height:100%;
    display: block;
    object-fit:cover;
}
.overlay{
    position: absolute;
    inset: 0;
    z-index: 2;

    display: flex;
    align-items: flex-end;

    padding: 20px;

    background: linear-gradient(
        to top,
        rgba(0,0,0,.85) 0%,
        rgba(0,0,0,.4) 40%,
        rgba(0,0,0,0) 100%
    );
}

.overlay h6{
    color: white;
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.3;
}

/*Calendario*/
.cabecera{
    @media screen and (max-width:414px){
        font-size:10px;
    }
}
.calendario{
    width:100%;
}

.cabecera,
.grid-calendario{
    display:grid;
    grid-template-columns:repeat(7,1fr);
}

.cabecera div{
    font-weight:bold;
    text-align:center;
    padding:10px;
    background:#f1f1f1;
}
.dia{
    min-height:90px;
    border:1px solid #ddd;
    padding:8px;
    text-decoration:none;
    color:black;
    position:relative;
}

.dia:hover{
    background:#f5f5f5;
}

.tiene-publicacion{
    background:#d9ecff;
    font-weight:bold;
}

.fuera-mes{
    opacity:0.3;
}

.dot{
    width:6px;
    height:6px;
    background:red;
    border-radius:50%;
    position:absolute;
    bottom:6px;
    left:50%;
    transform:translateX(-50%);
}

.card-publicacion{
    border:1px solid #ddd;
    padding:15px;
    margin-bottom:15px;
    border-radius:10px;
}
.menu_lateral{
    margin-left: 35%;
    margin-top: 15px;
}


.descripcion-wrapper {
    position: relative;
    max-width: 100%;
}
.descripcion-wrapper p img{
    width: 100%;
    object-fit: contain;
}
.descripcion-content {
    overflow: hidden;
    transition: max-height 0.4s ease;
}

/* Estado colapsado */
.descripcion-content.collapsed {
    max-height: 300px; /* ajusta según lo que quieras mostrar */
}

/* efecto degradado inferior */
.fade-overlay {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), white);
    pointer-events: none;
}

/* ocultar overlay cuando está expandido */
.descripcion-wrapper.expanded .fade-overlay {
    display: none;
}
#grande{
    width: 100%;
    height: auto;
}

.contenedores label img{
    @media screen and (max-width:414px){
        width: 100%;
        height:auto;
    }
}
