@import url('https://fonts.googleapis.com/css2?family=Monda&display=swap');

:root{
  /* --color1: #3B3261; */
  --color1: #334866;
  --color2: #FFC40B;
  --color3: #02A302;
  --color4: #EFF1F5;
  --color5: #fe0000;
  --color6: #DBE3E7;
  --color7: #223044;
  --color8: #607D8B;

  --borde-boton: 10px;

  /* ESTILOS PARA MENU DE NAVEGACIÓN */
  --width: 250px;
  --padding: 10px;
  --bgColor: rgb(52, 52, 52); /* opcional */
  --hoverColor: rgb(23, 23, 23);
  --width-collapsed: 50px;

}

body{
  padding: 0;
  margin: 0;
  font-family: "Roboto", sans-serif;
  background-color: var(--color4);
  overflow-x: hidden;
  /* margin-left: var(--width-collapsed); */
}

a{
    text-decoration: none;
    color: #000000;
  }
  a:hover{
    color: #565353;
  }
#header {
  background: var(--color1);
  backdrop-filter: blur(10px);
  height: 60px;
  position: fixed;
  width: 100%;
  z-index: 99;
  color: #FFFFFF;
  padding:  0px 13px 0px 13px;  
}

.contenedor-header{
  height: 60px;
}

.inicio-sesion{
  color: var(--color4);
}
.inicio-sesion:hover{
  color: var(--color6);
}



/* =============================ESTILOS  PARA MENU DE NAVEGACIÓN=========================== */

.body-expandido{
  /* margin-left: var(--width); */
  margin-left: calc(var(--width) - var(--width-collapsed));
}

/* #contenedorPrincipal{
  color: #FFFFFF;
} */

#sideMenu{
  background-color: var(--color1);
  color: #ffffff;
  position: fixed;
  height: 100%;
  left: 0;
  top: 0;
}
#sideMenu a{
  color: #ffffff;
  text-decoration: none;
}

/* Estilo para header */

#sideMenu #cabecera{
  box-sizing: border-box;
  border-bottom: solid 1px var(--color6);
  /* height: 60px;
  align-items:center; */
}

#sideMenu #cabecera #titulo{
  box-sizing: border-box;
  overflow: hidden;
  vertical-align: middle;
}

#sideMenu #cabecera #titulo, #sideMenu #cabecera #menuBtn{
  vertical-align: middle;
}

#sideMenu #cabecera #menuBtn{
  display: inline-block;
}

#sideMenu #cabecera #menuBtn{
  cursor: pointer;
  padding: 10px;
  width: var(--width-collapsed);
  box-sizing: border-box;
}

#sideMenu #cabecera #menuBtn:hover{
  background-color: var(--color7);
}

#sideMenu #cabecera #menuBtn .btn-hamburger{
  background-color: #FFFFFF;
  width: 100%;
  height: 3px;
  margin: 7px 0;
}

/* Estilos para perfil */
#sideMenu #perfil{
  border-bottom: solid 1px var(--color6);
  padding: var(--padding) 0;
  text-align: center;
}
#sideMenu #perfil #foto{
  box-sizing: border-box;
  padding: var(--padding);
  margin: 0 auto;
  
  
}
#sideMenu #perfil #foto img{
  width: 50%;  
  border-radius: 50%;
  border: 2px solid #4dea0f;
}
#sideMenu #perfil #foto, #sideMenu #perfil #nombre{
  font-size: 24;
  padding: var(--padding) 0;
  overflow: hidden;
}

/* Items */
#sideMenu #menuItems{
  overflow: hidden;
}
#sideMenu #menuItems .item{
  width: var(--width);
}
#sideMenu #menuItems .item .icono{
  display: inline-block;
}
#sideMenu #menuItems .item .icono,
#sideMenu #menuItems .item .titulo{
  font-size: 15px;
  vertical-align: middle;
  overflow: hidden;
  display: inline-block;
}
#sideMenu #menuItems .item a{
  display: block;
}
#sideMenu #menuItems .item a:hover{
  background-color: var(--color7);
}
#sideMenu #menuItems .item .icono{
  box-sizing: border-box;
  padding: var(--padding);
  width: var(--width-collapsed);
}
#sideMenu #menuItems .item .icono img{
  width: 100%;
}
#sideMenu #menuItems .item .titulo{
  padding: var(--padding) 0;
  margin-left: 10px;
  margin-right: 30px;
}
#sideMenu #menuItems .item-separator{
  height: 1px;
  border-bottom: solid 1px var(--color6);
  /* margin: 15px 0; */
}

.menu-expandido{
  width: var(--width);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.menu-expandido #cabecera #titulo{
  display: inline-block;
  width: calc(100% - 50px);
  margin-right: -5px;
  padding: var(--padding);
}
.menu-expandido #cabecera #titulo span{
  width: calc(var(--width) - var(--width-collapsed) -5px);
  overflow: hidden;
  display: inline-block;
}

.menu-expandido #perfil #foto{
  width: 200px;
}

.menu-expandido #perfil #nombre{
  width: 100%;
}

.menu-colapsado{
  width: var(--width-collapsed);
}
.menu-colapsado #cabecera #titulo{
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
}

.menu-colapsado #perfil #nombre{
  display: none;
}

.menu-colapsado .item{
  width: 100px;
}
/* ===================================FIN MENU DE NAVEGACION=================================== */

/* ===================================INICIO GLOBAL=================================== */

#inicio{
  padding-top: 80px;
  background: linear-gradient(rgba(5, 7, 12, 0.20),rgba(5, 7, 12, 0.20)),
  url(/img/inicio.jpg) no-repeat center center fixed;
  background-size: cover;
  height: 100vh;
  justify-content: center;
  align-content: center;
}

.overlay-title {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
  color: #EFF1F5;
  /* max-width: 40%; */
}
.enfasis {
  font-weight: bold;
  color: var(--color5)
}

/* Administrador */
#seccionAdmin{
  padding-top: 80px;
}
.btn-salir{
  text-decoration: none;
  background: #FFC40B;
  padding: 5px 10px 5px 10px;
  color: #050713;
  cursor: pointer;
  border-radius: 5px;
}

.over-descripcion{
  width: 100px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.btn-ver-registro{
  text-decoration: none;
  background: #4dea0f;
  padding: 5px 15px 5px 15px;
  color: #050713;
  cursor: pointer;
  border-radius: 15px;
}

.over-global{
    width: 150px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
 /* =====================================ESTILOS LOGIN===================================== */
#login{
/* background: linear-gradient(rgba(5, 7, 12, 0.20),rgba(5, 7, 12, 0.20)),
  url(/img/fondoLogin.jpg) no-repeat center center fixed; */
  background: var(--color1);
}

.btn-header{
  background: var(--color2);
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 30px;
}

#contenedorLogin{
  background-size: cover;
  height: 100vh;
  justify-content: center;
  align-content: center;
}
#formulario_login{
  background: rgba(12, 12, 15, 0.445);
  border-radius: 10px;
}
.inputs{
    border-radius: 30px;
    color: #ffffff;
}
.btn-login{
  background: #FFD000;
  border-radius: 30px;
  color: #000000;
    
}
.btn-login:hover{
  background: #ff9f03;
  color: #000000;
}
.puntero{
  cursor: pointer;
}

.style-input{
  border-radius: 30px;
}

.style-btn-afirmar{
  background: var(--color3);
  border-radius: 30px;
  color: #FFFFFF;
  padding-left: 40px;
  padding-right: 40px;
}
.style-btn-afirmar:hover{
  color: #FFD000;
}

/* =====================================ESTILOS ADMINISTRADOR===================================== */
#bodyModificado{
  margin-left: var(--width-collapsed);
}

.contenedor-reactivo{
  padding-top: 60px;
}

#busqueda{
  background: var(--color8);
  height: 60px;
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 10px 0;
  border-bottom: 1px solid #ddd;
  justify-content: end;
  align-content: center;
}

.btn-buscar{
  background: #223044;
  color: #EFF1F5;
}
.btn-buscar:hover {
  background: #354a68;
  color: #EFF1F5;
}

/* #contenedorUser{
  height: 85vh;        
  overflow: hidden;
} */

#contenedorUsuarios{
  padding-top: 10px;
  height: calc(85vh - 60px); /* ajusta según altura del buscador */
  overflow-y: auto;
  
}

.style-btn-añadir{
  background: #0000F7;
  border-radius: 30px;
  color: #FFFFFF;
  padding-left: 40px;
  padding-right: 40px;
}
.style-btn-añadir:hover{
  color: #FFD000;
}

/* =====================================ESTILOS AMIGO===================================== */

#contenedorAmigos{
  padding-top: 10px;
  height: calc(85vh - 60px); /* ajusta según altura del buscador */
  overflow-y: auto;
}

#contenedorAlbum{
  padding-top: 10px;
  height: calc(85vh - 60px); /* ajusta según altura del buscador */
  overflow-y: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.album{
  /* border: solid 1px rgba(0, 0, 0, 0.3); */
  background: #FFFFFF;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 0px 5px 5px;
  border-radius: 5px;
  /* margin: 0.5em;
  padding: 0.5em; */
  margin: 0;
  padding: 0;
  width: 200px;
  /* height: 330px; */
  height: 270px;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.over-album{
  width: 150px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  justify-content: center;
}
.img-album{
  height: 170px;
  width: 170px;
  background-size: cover;
  width: 100%;
  height: 200px;
  object-fit: cover;
}

/* .detalles{
  margin: 0.5em;
} */

.contador{
  position: absolute;
  top: 0;
  left: 0;
  background: #CC0000;
  color: #FFFFFF;
  padding-left: 8px;
  padding-right: 8px;
  border-radius: 5px;
}

.mas-detalles{
  position: absolute;
  top: 0;
  right: 0;
  height: 82%;
  width: 100%;
}
.mas-detalles:hover{
    cursor: pointer;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 0px 5px 5px;
}

.mini-btn{
  width: 30px;
  height: 30px;
  border-radius: 5px;
  justify-content: center;
  align-content: center;
  color: #FFFFFF;
  cursor: pointer;
}

.mini-btn:hover{
  box-shadow: rgba(149, 157, 165, 0.2) 0px 0px 5px 5px;
}

/* graleria */

.galeria{
  border: solid 1px rgba(123, 122, 122, 0.3);
  background: #EFEFEF;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 0px 5px 5px;
  border-radius: 5px;
  margin: 0.5em;
  padding: 0;
  width: 140px;
  height: 220px;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.img-archivo{
  background-size: cover;
  width: 100%;
  height: 170px;
  object-fit: cover;
  margin-bottom: 10px;
}

#contenedorAnuncios{
  padding-top: 10px;
  height: calc(85vh - 60px); /* ajusta según altura del buscador */
  overflow-y: auto;
}
.icono-aviso{
  width: 50px;
  height: 50px;
}

/* ver la imagen en pantalla completa*/
.contenedor-preview {
  width: 90vw;
  max-width: 1200px;
  height: 85vh;
  background: white;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  border-radius: 10px;
  overflow: hidden;
}

.img-preview {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.foto-perfil {
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.contenedor-foto {
    position: relative;
    display: inline-block;
}

.foto-perfil {
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* BOTÓN + CENTRADO */
.btn-cambiar-foto {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    background: rgba(0, 0, 0, 0.5);
    color: white;
    width: 50px;
    height: 50px;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    font-size: 28px;
    font-weight: bold;

    opacity: 0;
    transition: 0.3s;
}

/* aparece al pasar el mouse */
.contenedor-foto:hover .btn-cambiar-foto {
    opacity: 1;
}