table img{
    width: 36px;
}
table, th, td {
    border: 2px solid #53A496;
    text-align: center;
    padding: 2%;
}

	#boton-accesibilidad {
					position: fixed;
					bottom: 20px;
					right: 20px;
					background-color: #0066cc;
					color: white;
					border: none;
					border-radius: 50%;
					width: 60px;
					height: 60px;
					font-size: 28px;
					cursor: pointer;
					z-index: 1000;
					box-shadow: 0 4px 8px rgba(0,0,0,0.3);
				}

				.accesibilidad-panel {
					position: fixed;
					bottom: 90px;
					right: 20px;
					background-color: white;
					border: 1px solid #ccc;
					border-radius: 8px;
					padding: 10px;
					z-index: 1001;
					display: none;
				}

				.accesibilidad-panel button {
					display: block;
					width: 100%;
					margin: 5px 0;
					padding: 6px;
					font-size: 14px;
					background-color: #f1f1f1;
					border: none;
					border-radius: 4px;
					cursor: pointer;
				}

				.alto-contraste {
					background-color: #000 !important;
					color: #FFF !important;
				}

				.alto-contraste a {
					color: #0ff !important;
					font-weight: bold;
					text-decoration: underline;
				}

				.alto-contraste .navbar,
				.alto-contraste .footer-sitios,
				.alto-contraste header,
				.alto-contraste footer,
				.alto-contraste .botonera-container {
					background-color: #111 !important;
					color: #fff !important;
					border-color: #fff !important;
				}

				.alto-contraste button,
				.alto-contraste input,
				.alto-contraste textarea {
					background-color: #222 !important;
					color: #fff !important;
					border: 1px solid #fff !important;
				}

				.alto-contraste img {
					filter: brightness(0.9) contrast(1.3);
				}

				#boton-accesibilidad {
					position: fixed;
					bottom: 20px;
					right: 20px;
					background-color: #0066cc;
					color: white;
					border: none;
					border-radius: 50%;
					width: 60px;
					height: 60px;
					font-size: 28px;
					cursor: pointer;
					z-index: 1000;
					box-shadow: 0 4px 8px rgba(0,0,0,0.3);
				}

				.accesibilidad-panel {
					position: fixed;
					bottom: 90px;
					right: 20px;
					background-color: white;
					border: 1px solid #ccc;
					border-radius: 8px;
					padding: 10px;
					z-index: 1001;
					display: none;
				}

				.accesibilidad-panel button {
					display: block;
					width: 100%;
					margin: 5px 0;
					padding: 6px;
					font-size: 14px;
					background-color: #f1f1f1;
					border: none;
					border-radius: 4px;
					cursor: pointer;
				}

				.alto-contraste {
					background-color: #000 !important;
					color: #FFF !important;
				}

				.alto-contraste a {
					color: #0ff !important;
					font-weight: bold;
					text-decoration: underline;
				}

				.alto-contraste .navbar,
				.alto-contraste .footer-sitios,
				.alto-contraste header,
				.alto-contraste footer,
				.alto-contraste .botonera-container {
					background-color: #111 !important;
					color: #fff !important;
					border-color: #fff !important;
				}

				.alto-contraste button,
				.alto-contraste input,
				.alto-contraste textarea {
					background-color: #222 !important;
					color: #fff !important;
					border: 1px solid #fff !important;
				}

				.alto-contraste img {
					filter: brightness(0.9) contrast(1.3);
				}

				.cursor-grande {
					cursor: url('https://cur.cursors-4u.net/cursors/cur-11/cur1010.cur'), auto !important;
				}

				.subrayado a {
					text-decoration: underline !important;
				}




/* Estilos para la botonera */
				.botonera-container {
					display: flex;
					flex-wrap: wrap;
					gap: 20px;
					justify-content: center;
					padding: 20px;
					background-color: #1E2037;
				}

				.botonera-container a {
					flex: 1 1 200px;
					text-align: center;
					transition: transform 0.2s, box-shadow 0.2s;
					max-width: 200px;
				}

				.botonera-container a:hover {
					transform: scale(1.05);
					box-shadow: 0 10px 20px rgba(0,0,0,0.15);
				}

				.botonera-container img {
					width: 100%;
					height: auto;
					display: block;
					border-radius: 8px;
				}

				/* Encabezado del footer */
				.footer-sitios {
					background-color: #1E2037;
					padding: 60px 0;
					text-align: center;
				}

				.footer-header {
					display: flex;
					align-items: center;
					justify-content: center;
					gap: 40px;
					margin-bottom: 50px;
				}

				.footer-header h1 {
					font-size: 2.5rem;
					color: #333333;
					text-align: center;
					font-weight: bold;
					letter-spacing: 1.5px;
				}

				.footer-icon-left, .footer-icon-right {
					width: 80px;
					margin-top: 10px;
				}

				/* Enlaces del footer */
				.footer-links {
					display: flex;
					flex-wrap: wrap;
					justify-content: center;
					gap: 40px;
					max-width: 1400px;
					margin: 0 auto;
				}

				.footer-links a {
					flex: 1 1 250px;
					max-width: 300px;
					transition: transform 0.3s ease, box-shadow 0.3s ease;
				}

				.footer-links a:hover {
					transform: scale(1.08);
					box-shadow: 0 15px 30px rgba(0,0,0,0.2);
				}

				.footer-links img {
					width: 100%;
					height: auto;
					border-radius: 15px;
					display: block;
				}

				/* Gradiente de fondo */
				#bg-gradient {
					background: linear-gradient(to bottom, #1E2037 0%, #53A496 100%);
				}

				/* Formulario */
				.contact-container,
				.contact-container * {
					box-sizing: border-box;
				}

				form {
					background-color: rgba(0, 0, 0, 0.6);
					border-radius: 10px;
					padding: 20px;
					margin-bottom: 20px;
					color: #ffffff;
					width: 100%;
					max-width: 100%;
					min-width: 0;
					overflow: hidden;
				}

				form .form-group {
					width: 100%;
					max-width: 100%;
					min-width: 0;
				}

				form input[type="text"],
				form input[type="email"],
				form textarea {
					background-color: rgba(255, 255, 255, 0.2);
					color: #ffffff;
					border: 1px solid rgba(255, 255, 255, 0.3);
					border-radius: 5px;
					padding: 10px;
					width: 100%;
					max-width: 100%;
					min-width: 0;
					display: block;
					font-size: 16px;
					line-height: 1.4;
					transition: all 0.3s ease;
				}

				form textarea {
					resize: vertical;
				}

				form input[type="text"]:focus,
				form input[type="email"]:focus,
				form textarea:focus {
					background-color: rgba(255, 255, 255, 0.3);
					border-color: #ffffff;
					outline: none;
				}

				/* Placeholder */
				form input::placeholder,
				form textarea::placeholder {
					color: #ffffff;
					opacity: 1;
				}

				/* Botón de envío */
				.btn-enviar {
					background-color: #00A6ED;
					color: #ffffff;
					border: none;
					border-radius: 5px;
					padding: 10px 20px;
					cursor: pointer;
					transition: background-color 0.3s ease;
				}

				.btn-enviar:hover {
					background-color: #007bbf;
				}

				/* Contenedor general */
				.contact-container {
					display: flex;
					flex-wrap: wrap;
					background: linear-gradient(to bottom, #1E2037 0%, #53A496 100%);
					padding: 30px;
					color: #ffffff;
					width: 100%;
					overflow-x: hidden;
					align-items: stretch;
				}

				/* Información de contacto */
				.contact-info {
					flex: 1 1 300px;
					min-width: 0;
					padding: 20px;
					background-color: rgba(0, 0, 0, 0.5);
					margin-bottom: 20px;
					display: flex;
					border-radius: 15px;
					flex-direction: column;
					justify-content: space-between;
					overflow-wrap: anywhere;
				}

				.contact-info img {
					max-width: 100%;
					height: auto;
				}

				.contact-info a,
				.contact-info p,
				.contact-info h2 {
					max-width: 100%;
					overflow-wrap: anywhere;
					word-break: break-word;
				}

				/* Contenedor del Mapa */
				.map-container {
					flex: 2 1 600px;
					width: 100%;
					min-width: 0;
					min-height: 320px;
					margin-left: 20px;
					overflow: hidden;
					background-color: rgba(255, 255, 255, 0.1);
					display: flex;
					align-items: stretch;
				}

				.map-container iframe {
					flex: 1;
					width: 100%;
					max-width: 100%;
					height: 100%;
					min-width: 0;
					display: block;
				}

				/* Copyright */
				.copyright-container {
					width: 100%;
					color: #ffffff;
					text-align: center;
					padding: 15px 0;
					margin-top: 20px;
					background-color: transparent;
				}

				/* Ajustes para pantallas pequeñas */
				@media (max-width: 768px) {
					.footer-header h1 {
						font-size: 2rem;
					}

					.footer-header {
						gap: 20px;
					}

					.footer-links {
						gap: 30px;
					}

					.footer-icon-left, .footer-icon-right {
						width: 60px;
					}

					.contact-container {
						flex-direction: column;
						padding: 20px;
					}

					.map-container {
						margin-left: 0;
						margin-bottom: 20px;
						min-height: 300px;
					}
				}

				@media (max-width: 435px) {
					.contact-container {
						padding: 10px;
					}

					.contact-info {
						flex: 1 1 auto;
						width: 100%;
						padding: 12px;
						border-radius: 10px;
					}

					form {
						padding: 10px;
					}

					.contact-info h2 {
						font-size: 1.45rem;
						line-height: 1.2;
						margin-bottom: 12px;
					}

					.contact-info p {
						font-size: 0.95rem;
						line-height: 1.45;
					}

					form .form-group {
						margin-bottom: 0.75rem;
					}

					form input[type="text"],
					form input[type="email"],
					form textarea {
						padding: 9px;
					}

					.btn-enviar {
						width: 100%;
						padding: 10px 12px;
					}

					.map-container {
						min-height: 260px;
						border-radius: 10px !important;
					}

					.g-recaptcha {
						transform-origin: 0 0;
						transform: scale(0.88);
						width: 113.64%;
					}
				}

				@media (max-width: 360px) {
					.g-recaptcha {
						transform: scale(0.82);
						width: 121.96%;
					}
				}

				/* ============================
					MODO ALTO CONTRASTE
				============================ */
				.alto-contraste .contact-container {
					background: black !important;
					color: yellow !important;
				}

				.alto-contraste .contact-info {
					background-color: #111 !important;
					color: yellow !important;
					border: 2px solid yellow;
				}

				.alto-contraste .map-container {
					background-color: #111 !important;
					border: 2px solid yellow;
  					filter: grayscale(100%) invert(92%) contrast(83%);
				}
				
				.alto-contraste img {		
					border: 3px solid #FFFF00 !important; /* Amarillo brillante para buena visibilidad */
					border-radius: 4px;
				}
					

				.alto-contraste .copyright-container {
					background-color: #111 !important;
					color: yellow !important;
					border-top: 1px solid yellow;
				}

				/* Formularios accesibles */
				.alto-contraste input,
				.alto-contraste textarea {
					background-color: #000 !important;
					color: white !important;
					border: 2px solid yellow !important;
				}

				.alto-contraste .btn-enviar {
					background-color: yellow !important;
					color: black !important;
					font-weight: bold;
					border: none;
				}


				/* Estilos de animación para los enlaces */
				.menu-link {
					color: white;
					
					text-decoration: none;
					position: relative;
					display: inline-block;
					padding-bottom: 5px;
					transition: color 0.3s ease;
				}

				.menu-link:hover {
					color: #53A496;
					text-decoration: none; /* Esto evita el subrayado */
				}

				.menu-link::after {
					content: '';
					position: absolute;
					width: 0;
					height: 2px;
					background-color: #53A496;
					bottom: 0;
					left: 50%;
					transition: width 0.3s ease, left 0.3s ease;
				}

				.menu-link:hover::after {
					width: 100%;
					left: 0;
				}

				@media (max-width: 768px) {
					.menu-link {
						font-size: 16px;
						padding: 12px 0;
						border-bottom: 1px solid rgba(255, 255, 255, 0.1);
					}

					.collapse.navbar-collapse {
						background-color: #1E2037; /* Fondo oscuro para contraste */
						padding: 15px;
					}
				}






.modal-dialog {
max-width: 90%;
width: 100%;
height: 100vh;
margin: 0 auto;
display: flex;
flex-direction: column;
justify-content: center;
}

.modal-content {
height: 90vh;
overflow: hidden;
display: flex;
flex-direction: column;
}

.modal-body {
flex: 1;
padding: 0;
}

.modal-body iframe {
height: 100%;
width: 100%;
display: block;
}

.modal-header .close {
z-index: 1051; /* más alto que el iframe */
position: absolute;
top: 10px;
right: 10px;
font-size: 2rem;
color: #000;
background: rgb(255, 255, 255);
border-radius: 50%;
padding: 0 10px;
line-height: 1;
}

.close-outside {
position: fixed;
top: 20px;
right: 30px;
z-index: 1060; /* más alto que el modal */
font-size: 2.5rem;
color: #fff;
background-color: rgb(0, 0, 0);
border: none;
border-radius: 50%;
width: 40px;
height: 40px;
text-align: center;
line-height: 38px;
cursor: pointer;
display: none;
}

@media (max-width: 768px) {
#myModalMovil .modal-dialog {
    max-width: 90%;
    width: 100%;
    margin: auto;
}

#myModalMovil .modal-content {
    max-height: 30vh; /* 🔥 límite de altura */
    margin-top: 20vh;  /* 🔥 lo baja y lo centra */
    border-radius: 12px;
    box-shadow: 0 0 15px rgba(0,0,0,0.3);
    overflow: hidden;
}

#myModalMovil .modal-body {
    padding: 1.5rem;
    text-align: center;
}

#myModalMovil .btn {
    font-size: 1rem;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
}
}

.menu-link {
    font-size: inherit !important;
}

