/* ==========================================================================
   ESTILOS PARA MÓVILES - Resoluciones hasta 480px
   ========================================================================== */

/* Dispositivos móviles en posición vertical */
@media screen and (max-width: 480px) {
	/* Reset para eliminar espacios en blanco */
	body {
		margin: 0 !important;
		padding: 0 !important;
	}

	.container-fluid {
		margin: 0 !important;
		padding: 0 !important;
		width: 100vw !important;
	}

	/* Estilos específicos para dispositivos móviles */
	.header {
		height: 60px;
		background: var(--color-primary);
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 20px;
		position: relative;
	}

	/* Título de la sección en móvil */
	.mobile-title {
		display: block !important;
		color: white;
		font-size: 1.2rem;
		font-weight: bold;
		text-transform: uppercase;
		letter-spacing: 1px;
		margin-left: 20px;
		margin-right: 15px;
		margin-top: 0;
		margin-bottom: 0;
	}

	/* Nombre del usuario en móvil */
	.mobile-user {
		display: block !important;
		color: rgba(255, 255, 255, 0.8);
		font-size: 0.9rem;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translateY(-50%);
	}

	/* Mostrar hamburguesa y ocultar menú horizontal */
	.hamburger {
		display: block !important;
		position: relative;
		top: 0;
		left: 0;
		z-index: 1002;
		background-color: transparent;
		height: 40px;
		width: 40px;
		padding: 8px;
		align-self: center;
		cursor: pointer;
	}

	/* Ocultar completamente el menú horizontal en móviles */
	nav.nav-pantalla {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
	}

	/* Menú móvil vertical */
	.nav-mobile {
		display: block !important;
		position: fixed;
		top: 0;
		left: -100%;
		width: 80%;
		height: 100vh;
		background: rgba(240, 240, 240, 0.98);
		transition: left 0.3s ease;
		z-index: 1001;
		padding-top: 70px;
		box-shadow: 2px 0 10px rgba(0,0,0,0.1);
	}

	.nav-mobile.is-active {
		left: 0;
	}

	.nav-mobile .nav-item {
		display: block;
		width: 100%;
		padding: 15px 20px;
		border-bottom: 1px solid rgba(1, 86, 145, 0.1);
		color: rgb(1, 86, 145);
		text-decoration: none;
		font-size: 1.1rem;
		font-weight: bold;
		text-transform: uppercase;
		letter-spacing: 1px;
		transition: background-color 0.2s ease;
	}

	.nav-mobile .nav-item:hover,
	.nav-mobile .nav-item.is-active {
		background-color: rgb(166, 210, 247);
		color: rgb(1, 86, 145);
	}

	/* Overlay para cerrar menú */
	.nav-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0.5);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}

	.nav-overlay.is-active {
		opacity: 1;
		visibility: visible;
	}

	/* Estilos para las capas del hamburger */
	.hamburger ._layer {
		display: block;
		height: 3px;
		width: 24px;
		background: white;
		margin: 4px 0;
		transition: 0.3s;
		border-radius: 2px;
	}

	/* Animación del hamburger cuando está activo */
	.hamburger.is-active ._layer.-top {
		transform: rotate(45deg) translate(6px, 6px);
	}

	.hamburger.is-active ._layer.-mid {
		opacity: 0;
	}

	.hamburger.is-active ._layer.-bottom {
		transform: rotate(-45deg) translate(7px, -6px);
	}

	/* Footer móvil en 3 renglones */
	.footer {
		flex-direction: column !important;
		font-size: 1.1em !important;
		margin: 0 !important;
		padding: 8px 15px !important;
		text-align: center;
		line-height: 1.4;
	}

	/* Footer fijo para páginas específicas en móvil */
	body.inicio .footer,
	body.login .footer,
	body.ingresar .footer,
	body.empresa .footer {
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 1000 !important;
	}

	/* Ajustar contenido para footer fijo en páginas específicas */
	body.inicio .contenido,
	body.login .contenido,
	body.ingresar .contenido,
	body.empresa .contenido {
		margin-bottom: 80px !important; /* Espacio para el footer fijo */
		padding-bottom: 20px !important;
	}

	/* Ajustes específicos para la página de login en móvil */
	body.ingresar .container.login,
	body.login .container.login {
		height: calc(100vh - 140px) !important; /* Header 60px + Footer 80px = 140px */
		min-height: calc(100vh - 140px) !important;
		max-height: calc(100vh - 140px) !important;
		width: 88% !important;
		max-width: 360px !important;
		margin: 0 auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 0 !important;
		background-color: transparent !important;
		overflow: hidden !important;
		position: fixed !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		margin-top: 10px !important; /* Pequeño ajuste para compensar el header */
	}

	/* Ajustar card y botones dentro del login móvil */
	body.ingresar .card,
	body.login .card {
		/* padding: 8px !important; */
		margin: 0 !important;
	}

	/* Diseño simple y limpio como la imagen de referencia */
	body.ingresar .login,
	body.login .login {
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100vw !important;
		min-height: 100vh !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	body.ingresar .card,
	body.login .card {
		width: 100% !important;
		max-width: 400px !important;
		margin: 0 !important; /* Sin margen para evitar desplazamiento */
		border-radius: 4px !important;
		border: 1px solid #dee2e6 !important;
		box-shadow: none !important;
		background: #fff !important;
	}

	body.ingresar .card-header,
	body.login .card-header {
		background: #f8f9fa !important;
		color: #495057 !important;
		border-radius: 4px 4px 0 0 !important;
		text-align: left !important;
		font-weight: normal !important;
		font-size: 1rem !important;
		padding: 12px 16px !important;
		border-bottom: 1px solid #dee2e6 !important;
	}

	body.ingresar .card-body,
	body.login .card-body {
		padding: 20px !important;
	}

	body.ingresar .form-label,
	body.login .form-label {
		font-weight: normal !important;
		color: #495057 !important;
		margin-bottom: 5px !important;
		font-size: 0.9rem !important;
	}

	body.ingresar .form-control,
	body.login .form-control {
		border-radius: 4px !important;
		border: 1px solid #ced4da !important;
		padding: 8px 12px !important;
		font-size: 0.9rem !important;
		transition: none !important;
		margin-bottom: 15px !important;
		box-shadow: none !important;
	}

	body.ingresar .form-control:focus,
	body.login .form-control:focus {
		border-color: #80bdff !important;
		box-shadow: 0 0 0 0.2rem rgba(0,123,255,0.25) !important;
		outline: 0 !important;
	}

	body.ingresar .btn,
	body.login .btn {
		width: 48% !important;
		padding: 8px 16px !important;
		border-radius: 4px !important;
		font-weight: normal !important;
		font-size: 0.9rem !important;
		transition: none !important;
		box-shadow: none !important;
	}

	body.ingresar .botonera,
	body.login .botonera {
		display: flex !important;
		justify-content: space-between !important;
		margin-top: 15px !important;
	}

	.footer div {
		margin: 2px 0;
		padding: 2px 0;
	}

	/* Estilos específicos para el formulario de registro en móvil */
	body.registrar .container.login {
		min-height: calc(100vh - 160px) !important;
		max-height: calc(100vh - 160px) !important;
		width: 95% !important;
		max-width: 380px !important;
		margin: 0 auto !important;
		display: flex !important;
		align-items: flex-start !important;
		padding: 5px 0 !important;
		background-color: transparent !important;
		overflow-y: auto !important;
		border-radius: 0 !important;
		position: relative !important;
	}

	/* Ajustar contenido para footer fijo en página de registro */
	body.registrar .contenido {
		margin-bottom: 50px !important;
		padding-bottom: 0 !important;
	}

	/* Eliminar márgenes adicionales en elementos del formulario */
	body.registrar .row {
		margin: 0 !important;
	}

	body.registrar .col {
		padding: 0 5px !important;
	}

	/* Footer fijo para página de registro */
	body.registrar .footer {
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 1000 !important;
	}

	body.registrar .card {
		width: 100% !important;
		max-width: 380px !important;
		margin: 0 auto !important;
		border-radius: 4px !important;
		border: 1px solid #dee2e6 !important;
		box-shadow: none !important;
		background: #fff !important;
	}

	body.registrar .card-header {
		background: #f8f9fa !important;
		color: #495057 !important;
		border-radius: 4px 4px 0 0 !important;
		text-align: left !important;
		font-weight: normal !important;
		font-size: 0.8rem !important;
		padding: 6px 10px !important;
		border-bottom: 1px solid #dee2e6 !important;
	}

	body.registrar .card-body {
		padding: 8px !important;
	}

	body.registrar .form-label {
		font-weight: normal !important;
		color: #495057 !important;
		margin-bottom: 2px !important;
		font-size: 0.75rem !important;
	}

	body.registrar .form-control {
		border-radius: 4px !important;
		border: 1px solid #ced4da !important;
		padding: 4px 8px !important;
		font-size: 0.8rem !important;
		transition: none !important;
		margin-bottom: 6px !important;
		box-shadow: none !important;
		height: 32px !important;
	}

	body.registrar .mb-1,
	body.registrar .mb-3 {
		margin-bottom: 5px !important;
	}

	body.registrar .row.mb-1 {
		margin-bottom: 5px !important;
	}

	body.registrar .btn {
		width: 48% !important;
		padding: 5px 10px !important;
		border-radius: 4px !important;
		font-weight: normal !important;
		font-size: 0.8rem !important;
		transition: none !important;
		box-shadow: none !important;
		height: 32px !important;
	}

	body.registrar .botonera {
		display: flex !important;
		justify-content: space-between !important;
		margin-top: 8px !important;
	}

	body.registrar .card-footer {
		padding: 4px 10px !important;
		font-size: 0.75rem !important;
	}

}

/* Estilos para pantallas muy pequeñas (altura menor a 600px) */
@media screen and (max-height: 600px) {
	body.registrar .container.login {
		min-height: calc(100vh - 120px) !important;
		max-height: calc(100vh - 120px) !important;
		padding: 2px 0 !important;
	}

	body.registrar .card-header {
		padding: 4px 8px !important;
		font-size: 0.75rem !important;
	}

	body.registrar .card-body {
		padding: 6px !important;
	}

	body.registrar .form-label {
		margin-bottom: 1px !important;
		font-size: 0.7rem !important;
	}

	body.registrar .form-control {
		padding: 3px 6px !important;
		font-size: 0.75rem !important;
		margin-bottom: 4px !important;
		height: 28px !important;
	}

	body.registrar .mb-1,
	body.registrar .mb-3,
	body.registrar .row.mb-1 {
		margin-bottom: 3px !important;
	}

	body.registrar .btn {
		padding: 4px 8px !important;
		font-size: 0.75rem !important;
		height: 28px !important;
	}

	body.registrar .botonera {
		margin-top: 5px !important;
	}

	body.registrar .card-footer {
		padding: 3px 8px !important;
		font-size: 0.7rem !important;
	}
}

/* Orden de elementos del footer en móvil */
@media screen and (max-width: 480px) {
	.footer .ws {
		order: 1; /* Primer renglón: celular */
	}

	.footer .adress {
		order: 2; /* Segundo renglón: dirección */
	}

	.footer .redes {
		order: 3; /* Tercer renglón: redes sociales */
	}
}