.body_fondo {
   background-image: url(../imagenes/fondo_tt.jpg);
	background-position: top center;	
	background-repeat: no-repeat;
   background-size: cover;	
	height: 100%;


    margin: 0;
    padding: 0;
    min-height: 100dvh;      /* altura real dinámica */

}
.caja_logo {

   border-radius: 20px;	
	background-color: #fff;
	background-image: url(../imagenes/logo_siti.jpg);
   background-size: cover;	
	background-position: center top;
	background-repeat: no-repeat;
	margin-top: 15px;
	
            width: 100%;
            max-width: 380px; /* ? tamaño solicitado */	
	
}
.textos_label {
   font-weight: 400;
	font-size: 18px;
	font-family: Arial, Helvetica, sans-serif;
	COLOR: #333; 

}
.espacio_abajo_5 {
   margin-bottom: 7px;
}
.construccion {
   font-weight: 400;
	font-size: 16px;
	font-family: 'Roboto', Arial, Helvetica, sans-serif;
	COLOR: #333; 
   margin: 20px 0px 10px 0px;
}

.espacio_arriba {
	width: 100%;
	height: 220px; 
}
.captcha {
	width: 160px;
	margin-left: 20px;
}

        .contenedor-centro {
            min-height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 20px;
        }

        /* ANIMACIÓN */
        .animacion-aparecer {
            opacity: 0;
            transform: translateY(25px);
            transition: all .8s ease;
        }

        .animacion-aparecer.show {
            opacity: 1;
            transform: translateY(0);
        }

        /* CARD GENERAL */
        .card-custom {
            width: 100%;
            max-width: 600px; /* DESKTOP */
            border-radius: 25px;
            overflow: hidden;
            animation: fadeIn 0.7s ease;
				background-color: White;
        }

        /* MOBILE max 380px */
        @media (max-width: 576px) {
            .card-custom {
                max-width: 380px;
            }
        }	  

        /* CABECERA CON IMAGEN */
        .card-header-img {
            width: 100%;
            height: 235px;
            background-image: url(../imagenes/logo_siti.jpg);
            background-position: center top;
            background-repeat: no-repeat;
            background-size: cover; /* Desktop */
        }

        /* ?? MOBILE — evitar recortes laterales */
        @media (max-width: 576px) {
            .card-header-img {
                height: 135px;
                background-size: contain;  /* evita recortes */
                background-repeat: no-repeat;
                background-position: top center;
                background-color: #fff; /* marco detrás si la imagen no llena el ancho */
            }
        }

        /* Animación suave */
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }