body {
    font-family: "Oswald", sans-serif;
    align-items: center;
    /*hace que el footer se pegue abajo del todo*/
    height: 100%;
    width: auto;
}

html {
    background-color:#4F4F4F; /*	#C19A6B*/
}

/*Texto titulo*/

.titulo {
    font-family: "Bebas Neue", sans-serif;
}

.titulo .naranja {
    color: #f97e3c;
}

.logo a {
    display: flex;
    /* Disposición en línea de los hijos directos */
    align-items: center;
    /* Alinea los elementos verticalmente */
    text-decoration: none;
    /* Quita el subrayado del enlace */
    color: inherit;
    /* Mantiene el color del texto */
}

.logo a:hover {
    transform: scale(1.1);
    /* Aumenta el tamaño del enlace al 110% del tamaño original */
    transition: transform 0.2s;
    /* Agrega una transición suave para que el efecto sea gradual */
}

.imglogo {
    width: 50px;
    height: auto;
}



/*Navbar*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

header {
    background: #333;
    color: #fff;
    padding: 10px 0;
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.logo h1 {
    margin: 0;
}

.menu-toggle {
    display: none;
    flex-direction: column;
    cursor: pointer;
}

.menu-toggle .bar {
    width: 25px;
    height: 3px;
    background-color: #fff;
    margin: 4px 0;
}

.nav-links {
    list-style: none;
    display: flex;
}

.nav-links li {
    margin: 0 15px;
}

.nav-links a {
    text-decoration: none;
    color: #fff;
    font-size: 16px;
}


.menu-toggle {
    display: flex;
}

.nav-links {
    z-index: 10;
    /*Hace que la hamburguesa se despliegue por encima de todo*/
    position: absolute;
    top: 60px;
    left: 0;
    width: 100%;
    background: #333;
    flex-direction: column;
    align-items: center;
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease-in-out;
}

.nav-links li {
    margin: 20px 0;
}

.nav-links a {
    font-size: 24px;
}

.nav-links.active {
    height: calc(100vh - 60px);
    /* Dejar espacio para el header */
}









/*Buscar*/

.search-container {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

#searchInput {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 5px 0 0 5px;
    outline: none;
    width: 100%;
}

#searchButton {
    padding: 10px;
    background-color: #333;
    border: none;
    border-radius: 0 5px 5px 0;
    cursor: pointer;
}

.search-icon {
    width: 20px;
    height: 20px;
}

.agrandarlupa:hover {
    transform: scale(1.1);
    transition: transform 0.15s ease;
}





/*Tabla*/

@media(max-width: 960px) {
    .mobilehide{
        display: none;
    }
}


.tabla {
    padding-top: 20px;
    border-collapse:collapse;
    width: 100%;
    justify-content: center;
    text-align: center;
    align-items: center;
}

@media(max-width: 960px) {
    .tabla{
        width: 90%;
    }
}

.center{
    padding-top: 30px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
}

@media(min-width: 960px) {
    .center{
        padding-left: 35px;
        padding-right: 40px;
    }
}

.rows{
    color: black;
    font-palette: white;
    background-color: black;
    padding-right: 10px;
}


.rows:hover{
    transform: none;
}

.noagrandar{
    color: white;
}



.tabla td {
    border: 3px solid ;
    padding: 8px;
    text-align: center;
}

.gris:hover {
    background-color: rgba(255, 255, 255, 0.5);;
}

.agrandar:hover {
    transform: scale(1.2);
    transition: transform 0.15s ease;
}

.icono{
    height: 25px;
    width: 25px;
}






/*Eliminar socio*/

.icono{
    height: 30px;
    width: 30px;
}

.confirm-delete {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px;
    background-color: #333333;
    box-shadow: 15px 15px 7px;
    z-index: 1000;
}

.confirm-delete p{
    color: white;
}

.confirm-delete button {
    margin: 10px;
}

.botonesborrar{
    display: flex;
    justify-content: space-between;
    padding-left: 80px;
    padding-right: 80px;
}

@media(max-width: 960px) {
    .botonesborrar{
        padding-left: 20px;
        padding-right: 20px;
    }
}

.sisnon{
    background-color: #F0653B;
    padding-left: 20px;
    padding-right: 20px;
    color: white;
}

.hoverrojo:hover{
    transform: scale(1.1);
    transition: transform 0.15s ease;
    color: red;
    cursor: pointer;
}

.hoverblanco:hover{
    transform: scale(1.1);
    transition: transform 0.15s ease;
    cursor: pointer;
}


.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 999;
}




/*flecha*/

.flecha{
    transform: rotate(3.142rad);
    width:30px;
    height:30px;
    background-color: #F0653B;
    border-radius: 3px;
}

.role-controls{
display: flex;
justify-content: center;
}



/*Footer*/

footer {
    position: sticky;
	overflow: hidden;
	background-color: #212529;
	color: rgb(165, 165, 165);
	width: 100%;
	font-size: 12px;
	display: flex;
	justify-content: space-between;
	padding-left: 10px;
	padding-right: 10px;
	padding-top: 5px;
	text-align: center;
    position: relative;
    right: 0;
    left: 0;
    bottom: 0;

}

@media(max-width: 960px) {
    footer{
        position: absolute;
    }
  }

.textofooter{
	text-align: center;
	display: flex;
}

footer a{
	color: rgb(165, 165, 165);
}

footer a:hover {
    transform: scale(1.1); /* Aumenta el tamaño del enlace al 110% del tamaño original */
    transition: transform 0.2s; /* Agrega una transición suave para que el efecto sea gradual */
}


.redeslogo{
	width: 30px;
	height: auto;
}







/*paginacion usuarios*/

.pagination {
    display: flex;
    justify-content: center;
    margin: 20px 0;
    gap: 10px;
}

.pagination-button {
    padding: 8px 12px;
    background-color: #333333;
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 14px;
    transition: background-color 0.3s;
}

.pagination-button:hover {
    background-color: #333333;

}

.pagination-button.active {
    background-color: #333333;
    color: #F0653B;
    font-weight: bold;
    pointer-events: none;
}




















/*asesoradosrns*/








.infopadre{
    padding-left: 100px;
    padding-right: 100px;
    padding-bottom: 20px;
}

@media(max-width: 960px) {
    .infopadre{
        padding: 0 10px 20px 10px;
    }


    iframe{
        width: 85%;
    }
}

.infohijo{
    background-color: #333333;
    padding-bottom: 30px;
}


.cards-container {
    padding: 40px;
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 100px;
    width: 95%;
}

.cards-container a {
    text-decoration: none;
}

.card {
    background-color: #c2c2c2;
    color: #333333;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s;
    cursor: pointer;
    padding:20px 0px 0px 0px;
    height: 80px;
    width:300px;
    border-radius: 8px;
    border-color:#ffffff;
    border-style: solid;
    margin-right: 50px;
}


.card .content {
    display: none;
    padding: 8px 8px 8px 8px;
    background-color: #a0a0a0;
    text-decoration: none;
}

.card:hover {
    transform: scale(1.05);
    height: auto;
    transition: transform 0.2s; /* Agrega una transición suave para que el efecto sea gradual */
}

.card:hover .content {
    display: flex;
}

.nombrecreador{
    padding: 10px 0 0 0;
}


.creador-img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 10px;
}



.title {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
    text-decoration: none;
}

.editarborrar{
    display: flex;
    justify-content: center;
    background-color: #534b4b;
}








.cards-container {
    display: block; /* Para asegurarnos de que la contenedor no está en flex */
}

.day-row {
    display: flex; /* Usamos flex para organizar las columnas */
    margin-bottom: 30px; /* Espaciado entre filas */
}

.day-name {
    width: 250px; /* Ancho fijo para el nombre del día */
    font-weight: bold; /* Puedes agregar estilo */
}

.routine {
    width: 200px; /* Ancho para las rutinas */
    margin-right: 10px; /* Espaciado entre rutinas */
}

.empty {
    /* Esto asegura que la columna vacía tenga el mismo tamaño */
    width: 200px; 
}

.routines-container {
    display: flex;
    justify-content: center;
    gap: 20px; /* Espacio entre tarjetas */
    padding-left: 40px;
}



.all-routines-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Tres columnas de igual ancho */
    gap: 20px; /* Espacio entre tarjetas */
    padding-left: 40px;
}


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


.nombrecreador {
    font-weight: bold;
}

@media (max-width: 960px) {
    .all-routines-container {
        grid-template-columns: 1fr; /* Una sola columna */
        justify-items: center; /* Centra las cards horizontalmente */
        width: 100%;
    }

    .cards-container {
        grid-template-columns: 1fr; /* Una sola columna */
        justify-items: center; /* Centra las cards horizontalmente */
        width: 100%;
    }

    .infopadre{
        width:100%;
    }

    .card {
        width: 100%; /* Asegura que las cards ocupen todo el ancho disponible */
        padding: 20px 70px 0 70px;/* Limita el ancho máximo de las cards */
    }

    .card:hover{
        padding: 20px 0 0 0;
    }

    .card .content{
        padding: 20px 70px 10px 70px;/* Limita el ancho máximo de las cards */
    }
}

.botonEjercicio{
    border-radius: 0px;
    border-color: #ffff;
    color: #ffff;
    border-style: solid;
    background-color: #333333;
    width: 200px;
    height: 50px;
}

.botonEjercicio:hover{
    transform: scale(1.1);
    transition: 200ms ease; 
}





/*overlay*/

.confirm-delete {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 20px;
background-color: #333333;
box-shadow: 15px 15px 7px;
z-index: 1000;
}

.confirm-delete p {
color: white;
}

.botonesborrar {
display: flex;
justify-content: space-between;
padding-left: 80px;
padding-right: 80px;
}

@media(max-width: 960px) {
.botonesborrar {
    padding-left: 20px;
    padding-right: 20px;
}
}

.sisnon {
background-color: #F0653B;
padding: 10px 40px;
color: white;
border-radius: 4px;
margin-right: 10px;
}

.hoverrojo:hover {
transform: scale(1.1);
transition: transform 0.15s ease;
color: red;
cursor: pointer;
}

.hoverblanco:hover {
transform: scale(1.1);
transition: transform 0.15s ease;
cursor: pointer;
}

.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 999;
}
  

/*Filtro por dia*/

.day-selector {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: white;
    font-size: 1.5em;
    margin-bottom: 20px;
}

.day-selector button {
    background: none;
    border: none;
    color: white;
    font-size: 1.5em;
    cursor: pointer;
}

.day-selector button:hover {
    color: #F0653B;
}



/*DRAG N DROP*/

/* Estilo para la tarjeta cuando está siendo arrastrada */
.card {
    transition: all 0.2s ease; /* Para hacer que la tarjeta se mueva suavemente */
}

/* Estilo cuando la tarjeta está siendo arrastrada (al mantener presionado el mouse) */
.card.dragging {
    opacity: 0.8;  /* Ligera transparencia para indicar que está en movimiento */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); /* Sombra para darle profundidad */
    cursor: grab;  /* Cambiar el cursor para reflejar que está siendo arrastrada */
    position: absolute;  /* Esto es clave para mover la tarjeta libremente */
    pointer-events: none;  /* Evitar interferencias con la tarjeta mientras se mueve */
}

/* Estilo para el contenedor donde se permite el drop */
.cards-container {
    position: relative; /* Necesario para contener elementos con posición absoluta */
}

/* Estilo para cuando un área está lista para aceptar la tarjeta */
.cards-container.over {
    border: 2px dashed #007BFF;  /* Indicador visual para el área de drop */
    background-color: rgba(0, 123, 255, 0.1); /* Color de fondo para indicar el área activa */
}















/*-------------------------------editarRutinaS---------------------------------*/

.container {
    display: inline-block;
    position: relative;
    padding: 20px;
    text-align: center;
}

.text {
    font-size: 24px;
    font-weight: bold;
    color: white;
}

.container::before,
.container::after {
    content: "";
    position: absolute;
    border: 3px solid #c2c2c2;
    width: 40px;
    height: 40px;
}

.container::before {
    top: 0;
    left: 0;
    border-right: none;
    border-bottom: none;
}

.container::after {
    bottom: 0;
    right: 0;
    border-left: none;
    border-top: none;
}

.descsemanal{
    text-align: center;
}

.editarborrar {
    display: flex;
    align-items: center;
    justify-content: space-between; /* Esto asegura que los elementos estén separados */

}

.imgtick {
    padding-right: 10px;
    width: 40px; /* Ajusta el tamaño según necesites */
    height: auto; /* Mantén la proporción */
}

.imgtick:hover{
    cursor: pointer;
    transform: scale(1.1);
}