/*Estilos base*/
	*,
	*::before,
	*::after{-webkit-box-sizing:border-box;box-sizing:border-box;}
	::-moz-selection{background-color:var(--amarillo);color:#fff;}
	::selection{background-color:var(--amarillo);color:#fff;}
	::-webkit-input-placeholder{color:var(--marron);;}
	:root{--amarillo:#FFC53D;--marron:#824C00;}
	html{font-size:1vw;}
	body{font-family:'Verdana';font-weight:200;font-size:1rem;font-style:normal;}
	body.abierto{overflow: hidden;}
	a{display:inline-block;}
	section{position:relative;}
	footer{}
	footer .prefooter{position:relative;bottom:-4rem;}
	footer .pie{color:#fff;padding-bottom:1rem;background-color:rgb(7,19,48);padding-top:5rem;}
	footer .pie a{color:#fff;}
	footer .pie .lista-redes{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
	footer .pie .lista-redes a{margin-left:1rem;font-size:1.2rem;}
	.cabecera{transition: all .5s ease;padding-top:1rem;padding-bottom:1rem;position:fixed;top:0;left:0;width:100%;z-index:999;background: linear-gradient(to right, rgba(30, 87, 153, 0.85), rgba(125, 185, 232, 0.85), rgba(140, 198, 63, 0.85));}
	.cabecera.fondo{ background-color: rgba(7,19,48,0.8); }
	.cabecera .container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}
	.cabecera .containerest{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}
	.cabecera .link-logo{display:inline-block;vertical-align:middle;}
	.cabecera .link-logo .logo{width:10.5rem;height:auto; transition: all .5s ease;}
	.cabecera .menu{}
	.cabecera .menu a{margin-left:0.5rem;margin-right:0.5rem;color:rgba(255,255,255,1);font-size:0.85rem;font-weight:600;text-transform:uppercase;text-decoration:none;letter-spacing:0.15rem;word-spacing:0.3rem;-webkit-transition:all 0.5s ease;-o-transition:all 0.5s ease;transition:all 0.5s ease;}
	.cabecera .menu span{color:white;}
	.cabecera .menu .seleccionado,
	.cabecera .menu a:hover{color:#FFEA7D;}
	.cabecera .menu a:first-child{margin-left:0;}
	.cabecera .menu a:last-child{margin-right:0;}
	.saltarina{width:2.5rem;height:2.5rem;border-radius:100%;border:0.2rem solid #fff;color:#fff;text-decoration:none;display:-webkit-box;display:-ms-flexbox;display:flex;font-size:1.8rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;bottom:1rem;left:50%;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);-webkit-animation-name:saltar;animation-name:saltar;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;}
	.saltarina:hover{-webkit-animation-play-state:paused;animation-play-state:paused;}
	
	@-webkit-keyframes saltar{0%{bottom:1rem;}
	50%{bottom:3rem;}
	100%{bottom:1rem;}
	}
	@keyframes saltar{0%{bottom:1rem;}
	50%{bottom:3rem;}
	100%{bottom:1rem;}
	}
	@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;700&display=swap');

	.row{margin-right:-2.5rem;margin-left:-2.5rem;}
	[class*="col-"],
	.col{padding-left:2.5rem;padding-right:2.5rem;}
	
	
	
	.cabecera .hamb{color:rgba(255,255,255,1);font-size:2.8rem;display:none;}
	.container{width:85.74%;padding:0 1rem;margin:0 auto;}
	.container-full{width:100%;padding:0 1rem;}
	.containerest{width:85.74%;padding:0 1rem;margin:0 auto;}
	.fila{margin-left:-1rem;margin-right:-1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;}
	.fila.fila-centrada{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
	.columna-mb-100{width:100%;}
	.columna-100{width:100%;}
	.columna-70{width:70%;}
	.columna-60{width:60%;}
	.columna-50{width:50%;}
	.columna-41{width:41.66%;}
	.columna-33{width:33.33%;}
	.columna-25{width:25%;}
	.columna-16{width:16.66%;}
	.columna-8{width:8.33%;}
	.ordena-video{width:50%;}
	.ordena{width:61.95%;}
	.empujar-33{margin-left:33.33%;}
	.orden{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2;}
	.sin-padding{padding-right:0;padding-left:0;}
	.con-padding{padding-right:0;padding-left:50px;padding-bottom:50px;}
	.padding-grande{padding:4rem;}
	.conteendor-cuadrado-video{width:100%;padding-bottom:0%;position:relative;overflow:hidden;background-color:rgb(255,255,255);cursor:pointer;}
	.conteendor-cuadrado{width:100%;padding-bottom:100%;position:relative;overflow:hidden;/*background-color:rgb(7,19,48);*/cursor:pointer;}
	.conteendor-cuadrado.cont-rect{padding-bottom:56.25%;}
	.conteendor-cuadrado img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;-webkit-transition:all 0.5s ease;-o-transition:all 0.5s ease;transition:all 0.5s ease;}
	.conteendor-cuadrado:hover img{-webkit-transform:scale(1.4) rotate(-30deg);-ms-transform:scale(1.4) rotate(-30deg);transform:scale(1.4) rotate(-30deg);opacity:0.75;-webkit-filter:grayscale(1);filter:grayscale(1);}
	.conteendor-cuadrado.cont-rect:hover img{-webkit-transform:none;-ms-transform:none;transform:none;}
	.conteendor-cuadrado .contenido-cuadrado{position:absolute;text-align:center;width:100%;padding-right:2rem;padding-left:2rem;top:-100%;color:#fff;-webkit-transition:all 0.5s ease;-o-transition:all 0.5s ease;transition:all 0.5s ease;}
	.conteendor-cuadrado:hover .contenido-cuadrado{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
	.conteendor-cuadrado .contenido-cuadrado h2{margin-top:0;}
	.mapa{position:relative;padding-bottom:33.33%;width:100%;}
	.mapa iframe{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-filter:grayscale(1);filter:grayscale(1);}
	.seccion{padding-top:4rem;padding-bottom:4rem;}
	.centrar-texto{text-align:center;}
	.derecha-texto{text-align:right;}
	.inclinar--texto{font-style:italic;}
	.justificar-texto{text-align:justify;}
	/*.video-fondo{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;z-index:1;-webkit-filter:grayscale(1);filter:grayscale(1);opacity:0.5;}*/
	.importante{font-style:italic;}
	.titulos{margin-top:0;margin-bottom:2.8rem;text-align:center;font-size:2.8rem;color:#73a62d;/*text-shadow:1.3rem 1.3rem 0.15rem #FFEA7D;*/position:relative;padding-top:1rem;display:inline-block;padding-right:1rem;padding-left:1rem;}
/*	.titulos::before{position:absolute;top:0;width:3rem;left:50%;height:0.13rem;background-color:#413E4A;margin-left:-1.5rem;content:" ";}
	.titulos::after{position:absolute;top:0;width:0.13rem;left:0;height:100%;background-color:#413E4A;content:" ";}
*/	.margin-arriba{margin-top:2.8rem;}
	.btn{padding:0.8rem 2rem;font-size:16px;text-decoration:none;text-align:center;border-radius:15px;border-width:2px;border-style:solid;-webkit-transition:all 0.5s ease;-o-transition:all 0.5s ease;transition:all 0.5s ease;}
	.btn-circulo{width:2.8rem;height:2.8rem;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0.3rem;font-size:1.3rem;border-radius:100%;border-width:0.15rem;border-style:solid;text-decoration:none;-webkit-transition:all 0.5s ease;-o-transition:all 0.5s ease;transition:all 0.5s ease;}
	.btn-circulo.borde-blanco{color:#fff;border-color:#fff;}
	.btn-circulo.borde-blanco:hover{background-color:#fff;color:#824C00;}
	.btn.boton-transparente{background-color:transparent;border-color:#FFCA31;color:#FFCA31;}
	.btn.boton-transparente:hover{background-color:#FFCA31;border-color:#FFCA31;color:#fff;}
	.btn.boton-amarillo{border-color:#FFC53D;background-color:#FFC53D;color:#824C00;}
	.btn.boton-amarillo:hover{border-color:#824C00;background-color:#824C00;color:#FFC53D;}
	.form-bloques{display:block;margin-bottom:1rem;}
	.form-bloques .form-input{width:100%;height:3.5rem;padding:0.75rem;border:0.13rem solid #FFC53D;color:var(--marron);-webkit-transition:all 0.5s ease;-o-transition:all 0.5s ease;transition:all 0.5s ease;border-radius:0.75rem;font-size:1.3rem;}
	.form-bloques .form-input:focus{outline:0.1rem solid #FFC53D;-webkit-box-shadow:0.1rem 0.1rem 1.3rem 0px #FFC53D;box-shadow:0.1rem 0.1rem 1.3rem 0px #FFC53D;}
	.form-bloques textarea.form-input{height:12rem;resize:none;}
	.form-bloques.form-bloque-boton{margin-bottom: 0}
	.form-bloques.form-bloque-rpta{	margin-top: 1rem;}
	.error,.form-bloques .form-input.error{color: red;}
	.form-bloques .form-input.error{	border-color: red;}
	.owl-theme .owl-dots .owl-dot.active span,
	.owl-theme .owl-dots .owl-dot:hover span{	background-color: var(--amarillo);}
	.owl-theme .owl-dots .owl-dot span{	background-color: #fff; }
	.trama{background-color: rgba(7,19,48,0.8);width: 100%;height: 100%;position: fixed;top: 0;left: 0;display: none;z-index: 999;}
	.trama-2{background-color: rgb(7,19,48);	width: 100%;height: 100%;position: fixed;top: 0;left: 0;display: block;z-index: 999;}
	.logo-load{position: fixed;top: 50%;left: 50%;transform: translate(-50%,-50%);z-index: 999;}
	.logo-load img{width: 5rem;height: 5rem;display: inline-block;animation-name: palpitar;animation-duration: 2s;animation-timing-function: ease;animation-iteration-count: infinite;}

	@keyframes palpitar
	{
		0%{transform: scale(1);opacity: 1;}
		50%{transform: scale(1.5);;opacity: 0.5;}
		100%{transform: scale(1);;opacity: 1;}
	}

	.cuerpoimagen{width: 100%;height: 100%;position: fixed;top: 0;left: 0;display: none;z-index: 9999;}
	.cuerpoimagen .cerrarimagen{
		position: fixed;
		top: 0;
		right: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: var(--amarillo);
		width: 4rem;
		height: 4rem;
		text-decoration: none;
		padding: 0.5rem;
		color: rgba(7,19,48);
		font-size: 2rem;
		z-index: 7;

	}
	.cuerpoimagen img
	{
		height: 100%;
		width: auto;
		object-fit: contain;
		object-position: center;
		position: fixed;
		top: 0;
		left: 50%;
		z-index: 6;
			transform: translateX(-50%);
	}

	.titulo-acordion
	{
		padding: 1rem;
		padding-right: 4rem;
		position: relative;
		margin-top: 0.5rem;
		background-color: var(--amarillo);
		border-top-right-radius: 0.5rem;
		border-top-left-radius: 0.5rem;
		cursor: pointer;
		margin-bottom: 0;
	}
	.titulo-acordion:first-child{margin-top: 0;}
	.titulo-acordion i{position: absolute;font-size: 2rem;right: 1rem;top: 50%;transform: translateY(-50%);}
	.cuerpo-acordion{padding: 2rem 1rem;display: none;border: 0.1rem solid var(--amarillo);}
	.fa-chevron-up:before {content: "\f077" !important;}
	#respuesta{ font-size: 1.5rem; }
	#banner{background-color:#fff;height:100%;}
	#banner.banner-nosotros,
	#banner.banner-contacto{height:50vh;}
	#banner .banner-home{width:100%;height:100%;display:block;opacity:0.75;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;}
	#banner .banner-nosotros .banner-home{-o-object-position:top;object-position:top;}
	
	
	#banner .container{position:absolute;top:55%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
	#banner .container h1{font-size:4.8rem;color:#fff;margin:0;}
	#banner .container h2{font-size:2rem;color:#fff;margin:0;}
	#banner .container p{font-size:1.3rem;color:#FFF492;line-height:1.5;}
	
	#banner-est{background-color:#fff;height:60vh;}
	#banner.banner-estudios{height:50vh;}
	#banner-est .banner-est-home{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;}
	#banner-est .banner-estudios .banner-est-home{-o-object-position:top;object-position:top;}
	#banner-est .container{position:absolute;top:65%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
	#banner-est .container h1{font-size:4.8rem;color:#fff;margin:0;font-weight: bold;}
	#banner-est .container p{font-size:1.3rem;color:#FFF492;line-height:1.5;}
	#banner.banner-estudios-cr{height:50vh;}
	
	/*Footer*/
	#footer-implan {
		background-color: #071330; /* Color de fondo oscuro */
		color: #ffffff;
		padding: 3rem 0;
		font-family: 'Asap', sans-serif;
		border-top: 2px solid #FFC53D; /* Línea amarilla superior */
	}

	#footer-implan .container {
		margin: 0 auto;
		padding: 0 20px;
	}
	
	.denuncia-link {
	  color: white !important;     /* Fuerza el color blanco */
	  text-decoration: none !important;  /* Elimina el subrayado */
	}

	.denuncia-link:hover,
	.denuncia-link:visited,
	.denuncia-link:active {
	  color: white !important;     /* Mantiene el color blanco en todos los estados */
	  text-decoration: none !important;  /* Sin subrayado en ningún estado */
	}

	/* Grid de tres columnas */
	.footer-grid {
		display: grid;
		grid-template-columns: 1fr 5fr 5fr;
		gap: 1em;
		position: relative;
	}

	/* Líneas divisorias entre columnas */
	.footer-col:not(:last-child)::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: -1rem;
		width: 5px;
		background-color: rgba(255, 255, 255, 0.3);
	}

	/* Estilos comunes para columnas */
	.footer-col {
		padding: 0 1.5rem;
		position: relative;
	}

	/* Primera columna: Logo y redes */
	.logo-social {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.footer-logo img {
		max-width: 180px;
		height: auto;
		margin-bottom: 1.5rem;
	}

	.social-links {
		display: flex;
		gap: 1rem;
	}

	.social-icon {
		color: #ffffff;
		background-color: rgba(255, 255, 255, 0.1);
		width: 36px;
		height: 36px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: all 0.3s ease;
	}

	.social-icon:hover {
		background-color: #FFC53D;
		color: #071330;
	}

	/* Segunda columna: Contacto */
	.contact-info .footer-title {
		color: #FFC53D;
		font-size: 2rem;
		margin-bottom: 1.5rem;
		position: relative;
		padding-bottom: 0.5rem;
	}

	.contact-info .footer-title::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 40px;
		height: 2px;
		background-color: #FFC53D;
	}

	.contact-details {
		line-height: 1.6;
	}

	.contact-details p {
		margin-bottom: 0.8rem;
	}

	.contact-details i {
		color: #FFC53D;
		margin-right: 0.5rem;
		width: 50px;
		text-align: center;
	}

	.phone, .address, .business-hours {
		font-size: .9rem;
		margin: 1rem 0;
	}

	.address p:first-child {
		margin-top: 1rem;
	}

	/* Tercera columna: Disclaimer */
	.disclaimer .footer-title {
		color: #FFC53D;
		font-size: 1.2rem;
		margin-bottom: 1.5rem;
		position: relative;
		padding-bottom: 0.5rem;
	}

	.disclaimer .footer-title::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 40px;
		height: 2px;
		background-color: #FFC53D;
	}

	.disclaimer-text {
		/*font-style: italic;*/
		font-size: 0.9rem;
		line-height: 1.6;
		opacity: 0.8;
	}
	
	#openModal {
  color: #ffffff;          /* siempre blanco */
  text-decoration: none;   /* quitar subrayado */
  cursor: pointer;         /* mantiene el puntero de mano */
}

#openModal:hover {
  color: #FFC53D; /* amarillo al pasar el mouse */
}
	
/* Modal */
/* Modal oculto por defecto */
.modal {
  display: none ; 
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5); /* fondo semi-transparente */
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* Cuando el modal se muestra */
.modal.show {
  display: block;
  opacity: 1;
}

/* Contenido del modal */
.modal-content2 {
  background-color: #fff;
  margin: 2% auto;
  padding: 25px;
  border-radius: 12px;
  width: 50%;
  max-width: 80%;
  max-height: 90%;
  box-shadow: 0 8px 25px rgba(0,0,0,0.3);
  transform: scale(0.8);
  transition: transform 0.3s ease;
  overflow-y: auto;   /* scroll vertical cuando el texto es largo */
  justify-content: justify;
}
.modal-content2 h2 {
  font-size: 1.5rem;
  margin-top: 20px;
  margin-bottom: 10px;
  color: #0066aa;
  font-weight: 600;
}

.modal-content2 p, ul{
  font-size: .8rem;
  font-family: 'Raleway', sans-serif;
  line-height: 1.7;
}


.modal.show .modal-content2 {
  transform: scale(1);
}

/* Botón cerrar */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.close:hover {
  color: #000;
}

/* Link aviso */
.aviso-link {
  cursor: pointer;
  color: #1a73e8;
  text-decoration: underline;
}

.aviso-link:hover {
  color: #0c47b7;
}
	

	
/*--Index--*/
/*Banner Video*/
	
	.conteendor-cuadrado-video{width:100%;padding-bottom:0%;position:relative;overflow:hidden;background-color:rgb(255,255,255);cursor:pointer;}
	.conteendor-cuadrado-video.cont-rect{padding-bottom:56.25%;}
	.conteendor-cuadrado-video .contenido-cuadrado{position:absolute;text-align:center;width:100%;padding-right:2rem;padding-left:2rem;top:-0%;color:#fff;-webkit-transition:all 0.5s ease;-o-transition:all 0.5s ease;transition:all 0.5s ease;}
	.conteendor-cuadrado-video:hover .contenido-cuadrado{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
	.conteendor-cuadrado-video .contenido-cuadrado h2{margin-top:0;}


/* Temas de interes -Lacarta*/
.layout-interes {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: stretch;
  margin-top: 1rem;
  flex-wrap: wrap;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Lado izquierdo: 2 imágenes más pequeñas */
.lado-izquierdo {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  flex: 1;
  min-width: 250px;
}

.lado-izquierdo .conteendor-cuadrado {
  aspect-ratio: 1 / 1;
  height: auto;
}

/* Lado derecho: video ajustado */
	.lado-derecho {
	  flex: 1;
	  display: flex;
	  flex-direction: column;
	  justify-content: stretch;
	  min-width: 250px;
	}

	.lado-derecho .contenedor-video-cuadro {
	  flex: 1;
	  aspect-ratio: 1 / 2.05; /* 2 imágenes cuadradas apiladas ≈ 1:2 */
	  position: relative;
	  overflow: hidden;
	  /*background-color: #071330;*/
	  border-radius: 0.5rem;
	}

	.conteendor-cuadrado,
	.contenedor-video-cuadro {
	  position: relative;
	  width: 100%;
	  overflow: hidden;
	  border-radius: 0.5rem;
	  cursor: pointer;
	  /*background-color: #071330;*/
	}

	.conteendor-cuadrado img,
	.contenedor-video-cuadro video {
	  position: absolute;
	  top: 0;
	  left: 0;
	  height: 100%;
	  width: 100%;
	  object-fit: cover;
	  transition: transform 0.5s ease, opacity 0.5s ease;
	}

	/* Overlay de texto */
	.contenido-cuadrado {
	  position: absolute;
	  top: 100%;
	  left: 0;
	  width: 100%;
	  color: #fff;
	  padding: 0.8rem;
	  background: rgba(0, 0, 0, 0.6);
	  text-align: left;
	  font-weight: bold;
	  font-size: 0.95rem;
	  transition: top 0.4s ease;
	}

	.conteendor-cuadrado:hover img,
	.contenedor-video-cuadro:hover video {
	  transform: scale(1.1);
	  opacity: 0.8;
	  filter: grayscale(1);
	}

	.conteendor-cuadrado:hover .contenido-cuadrado,
	.contenedor-video-cuadro:hover .contenido-cuadrado {
	  top: 70%;
	}
	
/*Quiene somos*/
	/*Conócenos*/
	/* Banner con efecto de superposición */
	#banner-nosotros {
	  position: relative;
	  width: 100%;
	  height: 80vh;
	  overflow: hidden;
	}
	.video-fondo{
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  z-index: 1;
	}
	.banner-container {
	  position: relative;
	  width: 100%;
	  height: 100%;
	}

	/* Imagen de fondo */
	.banner-mapa {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  z-index: 1;
	}

	/* Gradiente cubriendo el 50% izquierdo */
	.gradiente-fijo {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 55%;
	  height: 100%;
	  
	  background: linear-gradient(
		to right,
		#0a1a3a 0%,
		#3b86ff 50%,
		rgba(122, 201, 67, .8) 90%,
		rgba(122, 201, 67, 0) 100%
	  );
	  opacity: 0.90;
	  z-index: 2;
	}

	/* Texto centrado dentro del gradiente */
	.banner-texto {
	  position: absolute;
	  top: 50%;
	  left: 0;
	  width: 50%;
	  transform: translateY(-50%);
	  z-index: 3;
	  color: white;
	  padding: 2rem;
	  text-shadow: 0 2px 4px rgba(0,0,0,0.4);
	}

	.banner-texto h1 {
	  font-size: 2.8rem;
	  margin-bottom: 1rem;
	  text-align: center;
	}

	.banner-texto p {
	  font-size: 1.1rem;
	  line-height: 1.6;
	  text-align: justify;
	}
	
	/*Filosofia*/
	#filosofia-nueva {
	  background-color: #ffffff;
	  padding: 6rem 2rem;
	}

	.tarjetas-filosofia {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 2rem;
	  justify-content: center;
	}

	.tarjeta-filo {
	  background: linear-gradient(135deg, #2a2a72, #009ffd);
	  color: white;
	  padding: 2.5rem;
	  border-radius: 20px;
	  max-width: 500px;
	  flex: 1 1 260px;
	  text-align: center;
	  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
	  transition: transform 0.4s ease, box-shadow 0.4s ease;
	  position: relative;
	}

	.tarjeta-filo:nth-child(2) {
	  background: linear-gradient(135deg, #1b2e56, #67c5ff);
	}
	.tarjeta-filo:nth-child(3) {
	  background: linear-gradient(135deg, #3f51b5, #8bc34a);
	}

	.tarjeta-filo:hover {
	  transform: translateY(-8px);
	  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.25);
	}

	.tarjeta-filo .icono-filo {
	  font-size: 2.8rem;
	  margin-bottom: 1rem;
	}

	.tarjeta-filo h3 {
	  font-size: 1.4rem;
	  font-weight: 700;
	  margin-bottom: 1rem;
	  text-transform: uppercase;
	}

	.tarjeta-filo p {
	  font-size: 1rem;
	  line-height: 1.6;
	}
	/* Efecto de borde en hover */
	.filosofia-tarjeta:hover {
		border-color: rgba(255,197,61,0.3);
	}
	
	/* Sección Integración */
	.seccion-integracion {
	  width: 100%;
	  margin: 0;
	  padding: 0;
	}

	.integracion-grid {
	  display: flex;
	  flex-wrap: wrap;
	  width: 100%;
	  min-height: 500px;
	}

	.integracion-img {
	  flex: 1 1 50%;
	}

	.integracion-img img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  display: block;
	}
	/* Parte del texto con degradado */
	.integracion-info {
	  flex: 1 1 50%;
	  background: linear-gradient(to right, #1b2e56, #3b86ff, #63a5a3);
	  color: white;
	  display: flex;
	  align-items: center;
	  padding: 3rem;
	  box-sizing: border-box;
	  
	  /* solo esquina inferior derecha redondeada */
	  border-bottom-right-radius: 100px;
	}

	.contenido-info {
	  max-width: 100%;
	}

	.integracion-info h2 {
	  font-size: 2.5rem;
	  margin-bottom: 1rem;
	  font-weight: 700;
	  text-align:center;
	}

	.integracion-info p,
	.integracion-info ul li {
	  font-size: 1.3rem;
	  line-height: 1.6;
	  text-align:center;
	}
	.integracion-info p{
		text-align:justify;
	}
	.integracion-info ul {
	  padding-left: 1.2rem;
	  list-style-type: disc;
	  list-style-position: inside;
	}


	/*Reglamento*/
	.reglamento-contenido {
		padding: 3rem;
		max-width: 900px;
		margin: 0 auto;
		z-index:999;
	}
	.reglamento-contenido h2{
	   /* background-color: white;*/
		border-radius: 10px;
		padding: 3rem;
		max-width: 900px;
		margin: 0 auto;
	}

	.reglamento-contenido p {
		color: #555;
		line-height: 1.7;
		margin-bottom: 1.5rem;
		text-align: justify;
	}

	.reglamento-mapa{
		width: 110%;
		z-index:10;
		position:relative;
	}

	.reglamento-btn{
		max-width: 900px;
		cursor: pointer;
		transition: all 0.3s ease-in-out;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
		border: 1px solid #ffffff;
		border-radius: 50px;
	}

	/* Al pasar el mouse */
	.reglamento-btn:hover {
		transform: scale(1.05);
		/*box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);*/
		filter: brightness(1.1);
	}
	
	/*Consejo*/
	#consejo {
		z-index: 1;
	}
	#consejo img{
		width:100%;
		margin-top: -15%;
		z-index: 1;
	  
	}
	.seccion-consejo {
	  background: url('../img/quienessomos/consejo-imagen.png') no-repeat center center;
	  border-radius: 200px 0 0 0;
	  background-size: cover;
	  display: flex;
	  justify-content: center;
	  align-items: center;
	  height:1000px;
	  top:-11rem;
	}
	.caja-consejo {
	  max-width: 1000px;
	  padding: 2rem;
	  background: linear-gradient(to right, rgba(30, 87, 153, 0.85), rgba(125, 185, 232, 0.85), rgba(140, 198, 63, 0.85));
	  color: white;
	  border-radius: 100px 0 100px 0;
	 /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);*/
	  /*backdrop-filter: blur(6px);*/
	}

	.caja-consejo h1 {
	  font-size: 2.5rem;
	  font-weight: bold;
	  margin-top: 0;
	}

	.caja-consejo p {
	  line-height: 1.6;
	  font-size: 1.1rem;
	}
	
	/*Funciones*/
	.seccion-funciones {
	  top:-25rem;
	  position: relative;
	  background: linear-gradient(
	  to bottom,  
	  rgba(192, 192, 192, 0) 0%,      /* Transparente en la parte superior */
		rgba(97, 165, 255, 1) 20%,   /* Azul claro */
		rgba(44, 101, 179, 1) 40%,   /* Azul medio */
		rgba(26, 61, 124, 1) 60%,        /* Azul oscuro */
		rgba(44, 101, 179, 1) 80%,   /* Azul medio */
		rgba(97, 165, 255, 1) 90%,   /* Azul claro */
		rgba(26, 61, 124, 0) 100%        /* Transparente en la parte inferior */
		);
	  background-size: cover;
	  padding: 6rem 2rem;
	  height: 60rem;
	  z-index:10;
	}

	.fondo-funciones {
	  
	  padding: 3rem;
	  border-radius: 20px;
	  color: white;
	  max-width: 100;
	  margin: 0 auto;
	}
	.contenido-funciones {
	  padding-top:8rem;
	  display: flex;
	  flex-direction: column; /* Apila los elementos verticalmente */
	  height: 100%; /* Asegura que ocupe toda la altura disponible */
	  width: 100%; /* Asegura que ocupe todo el ancho disponible */
	}
	.contenido-funciones h2 {
	  text-align: center;
	  font-size: 2.8rem;
	  font-weight: bold;
	  margin-bottom: 2rem;
	}

	.columnas {
	  display: flex;
	  gap: 2rem;
	  flex-wrap: wrap;
	  justify-content: space-between;
	}

	.columnas ul {
	  flex: 1;
	  list-style-type: disc;
	  padding-left: 1.5rem;
	  font-size: 1.1rem;
	  line-height: 1.7;
	}
	
	/*Consejo directivo*/
		.consejo-directivo {
			
			top:-40rem;
		  position: relative;
		  text-align: center;
		  overflow: hidden;
		  z-index:1;
		  margin-bottom:-42rem;
		}

		.foto-grupo {
		  width: 100%;
		  display: block;
		  object-fit: cover;
		  z-index: 1;
		  position: relative;
		}

		.degradado-superior {
		  position: absolute;
		  top: 0;
		  width: 100%;
		  height: 100px;
		  background: linear-gradient(to bottom, rgba(26, 61, 124, 0.9), rgba(26, 61, 124, 0));
		  z-index: 2;
		  
		}

		.etiqueta {
		  background-color: #61a5ff;
		  color: white;
		  padding: 1em 2em;
		  border-radius: 80px;
		  display: inline-block;
		  margin-top: -5em;
		  position: relative;
		  z-index: 3;
		  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
		}

		.etiqueta h2 {
		  margin: 0;
		  font-size: 4em;
		  font-weight: bold;
		}

		.etiqueta p {
		  margin: 0;
		  font-size: 3em;
		}


		/*Equipo Consejo 3fotos*/
		.equipo-consejo {
		  display: flex;
		  justify-content: center;
		  gap: 2em;
		  padding: 2em;
		  flex-wrap: wrap;
		  text-align: center;
		  background-color: #fff;
		}

		.miembro img {
		  width: 300px;
		  height: 300px;
		  border-radius: 50%;
		  object-fit: cover;
		  margin-bottom: 1em;
		  border: 4px solid #eee;
		}

		.miembro h3 {
		  font-size: 0.95em;
		  color: #1f2d6b;
		  font-weight: bold;
		  text-transform: uppercase;
		  margin: 0.3em 0;
		}

		.miembro p {
		  font-size: 0.9em;
		  color: #333;
		  margin: 0;
		}
		
		/* Sección Consejeros */


		.seccion-consejeros {
		  font-family: 'Arial', sans-serif;
		  margin: 0;
		  padding: 0;
		}

		.borde-superior {
		  position:relative;
		  height: 20px;
		  background: linear-gradient(to right, #3b86ff, #8cc63f);
		  width: 73%;
		  top:13px;
		  z-index:10;
		  
		}

		.contenedor-consejeros {
		  display: flex;
		  flex-wrap: wrap;
		  width: 100%;
		  min-height: 100%;
		}

		.bloque {
		  padding: 2rem;
		  box-sizing: border-box;
		}

		.consejeros {
		  background-color: #1b2e56;
		  color: white;
		  flex: 3;
		}

		.juveniles {
		  background-color: #4a7cf3;
		  color: white;
		  flex: 1;
		  display: flex;
		  flex-direction: column;
		  justify-content: center;
		}

		.bloque h2 {
		  font-size: 1.6rem;
		  font-weight: bold;
		  margin-bottom: 1.5rem;
		  text-transform: uppercase;
		}

		.columnas {
		  display: flex;
		  gap: 2rem;
		}

		.columnas ul,
		.juveniles ul {
		  list-style-type: disc;
		  padding-left: 1.2rem;
		  font-size: 1rem;
		  line-height: 1.6;
		  margin: 0;
		}

		.columnas ul li,
		.juveniles ul li {
		  margin-bottom: 0.5rem;
		}

	/*Calendario*/
	
.seccion-calendario {
  background: url('../img/quienessomos/fondo-sesion.png') center center / cover fixed;
  padding: 6rem 2rem;
  color: white;
  text-align: center;
  position: relative;
}

.contenido-calendario {
  padding: 3rem;
  width: 100%;
  margin: 0 auto;
}

.contenido-calendario h2 {
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 2rem;
}

/* Meses en cuadrícula */
.lista-meses {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem 2rem;
  max-width: 1200px;
  margin: 0 auto 2rem auto;
  font-size: 1.3rem;
}

.lista-meses p {
  margin: 0;
  color: #f0f0f0;
}

.lista-meses strong {
  font-weight: bold;
}

/* Nota */
.nota {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #e0e0e0;
  max-width: 900px;
  margin: 2rem auto;
  text-align: justify;
}

/* Subtítulo de Actas */
.subtitulo {
  font-size: 2.2rem;
  font-weight: bold;
  margin: 2rem 0 1.5rem 0;
}

/* Botones de Actas */
.actas-slider {
  width: 90%;
  max-width: 1300px;
  margin: 0 auto 3rem auto;
  padding-bottom: 2rem;
}

.acta {
  display: inline-block;
  padding: 1rem 1rem;
  border-radius: 999px;
  font-weight: bold;
  font-size: 1.2rem;
  color: white;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor:pointer;
}

.acta:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 15px rgba(0,0,0,0.4);
  cursor:pointer;
}

/* Colores de cada acta */
.enero { background-color: #4caf50; }
.febrero { background-color: #ffb300;  }
.marzo { background-color: #d4145a; }
.abril { background-color: #1a2b5b; }	
.mayo { background-color: #4caf50; }
.junio { background-color: #ffb300;  }
.julio { background-color: #d4145a; }
.agosto { background-color: #1a2b5b; }	
.septiembre { background-color: #4caf50; }
.octubre { background-color: #ffb300;  }
.noviembre { background-color: #d4145a; }
.diciembre { background-color: #1a2b5b; }	


	/*Informes*/
	.informes-galeria {
  padding: 60px 0;
  text-align: center;
  background: #f4f4f4;
}

.texto-fondo {
	 
	  font-size: 8rem;
	font-weight: bold;
	  /*opacity: 0.1;*/
	}	

	.texto-fondo span {
	  color: #7ac943; /* Verde IMPLAN */
	}

	.texto-fondo {
	  color: #1a3b6f; /* Azul oscuro */
	}

.informes-grid {
  display: flex;
  justify-content: center;
  gap: 30px;
  perspective: 1000px; /* Importante para el efecto */
}

.informe-card {
  width: 500px;
  height: 400px;
  cursor: pointer;
  transition: transform 0.5s ease;
  transform: rotateX(60deg) scale(0.8);
  box-shadow: 0px 20px 50px rgba(0,0,0,0.3);
}

.informe-card:hover {
  transform: rotateX(0deg) scale(1) translateY(-10px);
  z-index: 10;
}

.informe-contenido {
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #eba65b, #d99267);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.informe-imagen {
  height: 100%;
  overflow: hidden;
}

.informe-imagen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.informe-info {
  padding: 20px;
  color: #fff;
}

.informe-info h3 {
  margin-bottom: 10px;
  font-size: 1.2rem;
  text-shadow: 0px 0px 5px rgba(0,0,0,0.3);
}

.informe-info p {
  font-size: 0.9rem;
  line-height: 1.4;
}
	
	
	/*Estudios*/
	/*Catálago estudios*//*Parallax catalogo*/
	#categorias-estudios {
	  position: relative; /* clave para que las flechas se vean solo aquí */
	 
	}
		
	.horizontal-scroll {
	  overflow-x: auto;
	  overflow-y: hidden;
	  white-space: nowrap;
	  width: 100vw;
	  height: 90vh;
	  scroll-behavior: smooth;
	  position: relative;
	  scroll-snap-type: x mandatory;
	}

	.scroll-content {
	  display: flex;
	  height: 90vh;
	  width: max-content;
	  
	}

	.panel {
	  min-width: 100vw;
	  height: 90vh;
	  flex-shrink: 0;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  scroll-snap-align: start;
	  color: white;
	  font-size: 2rem;
	  text-align: center;
	  padding: 2rem;
	}

	/* =====  PARALLAX HORIZONTAL CON MANTO  ===== */
	.category {
	  position: relative;
	  min-width: 100vw;
	  height: 90vh;
	  flex-shrink: 0;
	  display: flex;
	  flex-direction: column;
	  /*justify-content: center;*/
	  padding: 1.5rem;
	  color: #fff;
	  background-image: var(--bg-url);
	  background-size: cover;
	  background-position: center;
	  padding-top:5rem
	}

	/* Capa de color deslizante */
	.category::before {
	  content: '';
	  position: absolute;
	  inset: 0;
	  width: 100%;
	  height: 100%;
	  top: auto;
	  bottom: 0;
	  background: var(--panel-color, rgba(7, 19, 48, 0.85));
	  pointer-events: none;
	  transform: translateY(calc(var(--overlay-y, 0) * 1%));
	  transition: transform 0.2s linear;
	  will-change: transform;
	  z-index: 1;
	}

	.category.active::before {
	  transform: translateY(-100%);
	}

	/* El contenido (texto, enlaces) debe ir sobre el manto */
	.category > * {
	  position: relative;
	  z-index: 2;
	}
    .category h2{
		margin-left:10rem;
		font-size:3rem;
	}
	.category .items {
	  max-width: 190vh; 
	  max-height: 40vh;  /* ← Antes era 60vh, ahora es más compacto */
	  overflow-y: auto;
	  display: flex;
	  flex-direction: column;
	  gap: 0.5rem;  /* menos espacio entre elementos */
	  padding-right: 0.5rem;
	  margin-left: auto;
	  margin-right: auto;
	  
	}

	.category .item {
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
	  flex-wrap: wrap;
	  background: rgba(255, 255, 255, 0.1);
	  padding: 0.75rem 1rem;
	  border-radius: 0.5rem;
	}

	.category .item p {
	  flex: 1 1 auto;
	  margin: 0;
	  font-size: 1.3rem;
	  color: #fff;
	}

	.category .item a {
	  margin-left: 1rem;
	  color: #fff;
	  font-size: 1.2rem;
	}

	.category .item a:hover i {
	  color: var(--amarillo);
	}

	.horizontal-scroll::-webkit-scrollbar {
	  height: 10px; /* Altura de la barra */
	}

	.horizontal-scroll::-webkit-scrollbar-track {
	  background: rgba(255, 255, 255, 0.1); /* Fondo tenue */
	}

	.horizontal-scroll::-webkit-scrollbar-thumb {
	  background-color: var(--amarillo); /* Color del pulgar */
	  border-radius: 5px;
	}

	.horizontal-scroll::-webkit-scrollbar-thumb:hover {
	  background-color: #f3b400; /* Un poco más oscuro al pasar el mouse */
	}

	.horizontal-scroll {
	  scrollbar-width: thin;
	  scrollbar-color: var(--amarillo) rgba(255, 255, 255, 0.1);
	}

	/*Botones*/
	.scroll-arrow {
  position: absolute;   /* Fijo respecto a la ventana */
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  font-size: 1.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scroll-arrow.left {
  left: 1rem;
}

.scroll-arrow.right {
  right: 1rem;
}
	
/*Estudios Históricos*/
	#banner .banner-home{opacity:1 !important;}
	
	#estudios-historicos {
	/*padding: 4rem 2rem;
    
	
	background: 
      /*linear-gradient(rgba(255,255,255,1), rgba(255,255,255,1)),
      url("../img/Recurso4.svg") center center / cover no-repeat;*/
	  min-height: 100vh;  /* Al menos el alto de la ventana */
    padding: 4rem 2rem;
    background-color: #f9f9f9;
    background-image: url("../img/Recurso4.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;     /* Que cubra el contenedor */
  }

  .contenedor-tarjetas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
	width:100%;
  }

  .tarjeta-anio {
    width: 40%;
    height: 400px;
    perspective: 1000px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .tarjeta-contenido {
    width: 100%;
    height: 90%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.8s;
  }

  .tarjeta-anio:hover .tarjeta-contenido {
    transform: rotateY(180deg);
  }
  
	
	
  .frente, .reverso {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    border-radius: 16px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.50);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    color: #fff;
    font-weight: bold;
    text-align: center;
	border: 1px solid rgba(255,255,255,0.3);  /* ← Bordes sutiles para realce */
  }
  
  .frente{
	  
    font-size: 3rem;
  }

  .reverso {
    transform: rotateY(180deg);
    flex-direction: column;
    font-size: 1rem;
    justify-content: flex-start;
    align-items: flex-start;
    overflow-y: auto;
    padding: 1rem;
  }

  .reverso ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    width: 100%;
  }

  .reverso li {
    margin-bottom: 0.75rem;
    text-align: left;
    color: #fff;
	font-size:.95rem;
  }

  .reverso a {
    margin-left: 0.5rem;
    color: #fff;
  }

  /* Color classes */
.color-1 .frente { background: linear-gradient(135deg, #495872 60%, #6a7892 100%); }
.color-1 .reverso { background: linear-gradient(135deg, #3a465a 80%, #495872 100%); }

.color-2 .frente { background: linear-gradient(135deg, #00A6FF 60%, #4FC3FF 100%); }
.color-2 .reverso { background: linear-gradient(135deg, #0077b6 80%, #00A6FF 100%); }

.color-3 .frente { background: linear-gradient(135deg, #7346A3 60%, #9b6fd3 100%); }
.color-3 .reverso { background: linear-gradient(135deg, #56347a 80%, #7346A3 100%); }

.color-4 .frente { background: linear-gradient(135deg, #86AF3D 60%, #b6d96c 100%); }
.color-4 .reverso { background: linear-gradient(135deg, #5e7c28 80%, #86AF3D 100%); }

.color-5 .frente { background: linear-gradient(135deg, #FFC000 60%, #FFE066 100%);  }
.color-5 .reverso { background: linear-gradient(135deg, #e0a800 80%, #FFC000 100%); }

/* Submenú general */
.cabecera .menu a:hover {
  color: var(--amarillo);
}

.submenu-wrapper {
  position: relative;
  display: inline-block;
}
.submenu-wrapper .submenu {
  display: none;
  position: absolute;
  top: 0.2rem;
  left: 0;
  min-width: 180px;
  background: linear-gradient(to right, rgba(125, 185, 232, 0.85), rgba(125, 185, 232, 0.85), rgba(140, 198, 63, 0.85));
  /*box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);*/
  z-index: 999;
}
.submenu-wrapper .submenu li {
  list-style: none;
}
.submenu-wrapper ul{
  padding: 0px 0px 0px 0px !important;
}
.submenu-wrapper .submenu a {
  display: block;
  padding: 7px 16px;
  padding-left:0px !important;
  font-size: 0.9rem;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  font-weight: weight;
}
.submenu-wrapper .submenu a:hover {
  padding-left:0px !important;
}
.submenu-wrapper:hover .submenu {
  display: block;
}

/*Sistema Municipal de Planeación*/
	/*seccion-planeacion*/
	.seccion-superpuesta {
	  position: relative;
	  width: 100%;
	  margin: 0;
	  padding: 0;
	  overflow: hidden;
	}

	/* Imagen superior: Mapa */
	.imagen-superior {
	  position: relative;
	}

	.imagen-superior img {
	  width: 100%;
	  display: block;
	  height: auto;
	}

	/* Título sobre el mapa */
	.titulo-sobre-mapa {
	  position: absolute;
	  top: 50%;                      /* Centro vertical */
	  left: 50%;                     /* Centro horizontal */
	  transform: translate(-50%, -50%);
	  width: 90vw;                   /* Ocupa casi todo el ancho de la pantalla */
	  text-align: center;
	  z-index: 2;
	  padding: 1rem;
	}

	.titulo-sobre-mapa h1 {
	  font-size: 6rem;
	  font-weight: bold;
	  margin: 0;
	  line-height: .6;
	  word-break: break-word;
	}

	.titulo-sobre-mapa .azul {
	  color: #001f4d;
	  display: block;
	}

	.titulo-sobre-mapa .verde {
	  color: #61A918;
	  display: block;
	  font-style: italic;
	}


	/* Imagen inferior con superposición */
	.imagen-inferior {
	  position: relative;
	  margin-top: -40%; /* superposición sobre el mapa */
	}

	.imagen-inferior img {
	  width: 100%;
	  display: block;
	  height: auto;
	}

	/* Texto sobre la catedral */
	.texto-sobre-catedral {
	  position: absolute;
	  top: 55%;
	  left: 50%;
	  transform: translateX(-50%);
	  z-index: 2;
	  color: white;
	  /*background: rgba(0, 0, 0, 0.5);*/
	  padding: 2rem;
	  width: 95vw; /* Casi todo el ancho de la ventana */
	  max-width: 1200px; /* Límite en pantallas grandes */
	  text-align: justify;
	  border-radius: 1rem;
	  font-size: 1.8rem;
	  line-height: 1.7;
	  box-sizing: border-box;
	}

	/*Plan 2050*/
	.plan-2050 {
	  background-color: #000; /* Fondo negro */
	  color: #fff;
	  padding: 8rem 2rem;
	  text-align: center;
	}

	.logo-plan {
	  margin-bottom: 4rem;
	}

	.logo-plan img {
	  max-width: 300px;
	  width: 100%;
	  height: auto;
	}

	.texto-plan {
	  max-width: 1000px;
	  margin: 0 auto;
	  font-size: 1.5rem;
	  line-height: 1.8;
	  text-align: justify;
	}

	.resaltado {
	  font-weight: bold;
	  padding: 0.2em 0.4em;
	  border-radius: 0.4em;
	  white-space: nowrap;
	}

	/* Colores de resaltado */
	.resaltado.naranja {
	  background-color: #ff9800;
	  color: #fff;
	}

	.resaltado.verde {
	  background-color: #4caf50;
	  color: #fff;
	}

	.resaltado.verde-agua {
	  background-color: #00bfa5;
	  color: #fff;
	}

	.resaltado.magenta {
	  background-color: #e91e63;
	  color: #fff;
	}
	
	/*Visita el sitio*/
.visita-sitio {
  position: relative;
  width: 100%;
  height: 1313px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  padding: 2rem;
  background: url('../img/sis_plan/Recurso216.png') no-repeat center center;
  background-size: cover;
  overflow: hidden;
}

.visita-sitio::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* ← fondo negro semitransparente */
  z-index: 1;
}

/* Aseguramos que el contenido quede encima del fondo oscuro */
.contenido-visita {
  position: relative;
  z-index: 2;
  max-width: 1000px;
  font-size: 2.3rem;
  line-height: 1.6;
  font-weight: bold;
  
}

.resaltado.azul {
  background-color: #0097c2;
  padding: 0.3em 0.6em;
  border-radius: 0.4em;
  font-weight: bold;
  color: white;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.3s;
}

.resaltado.azul:hover {
  background-color: #007aa0; /* un poco más oscuro al pasar el mouse */
}

/* Puntero */
.puntero {
  position: absolute;
  top: 100%;
  left: 55%;
  margin-top: 1rem;
  width: 0;
  height: 0;
  border-left: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-top: 1rem solid #0097c2;
  animation: flotar 1.5s infinite ease-in-out;
}

.visita-sitio .contenido-visita {
  position: relative;
  display: inline-block;
  text-align: center;
}

.visita-sitio .puntero-img {
  position: absolute;
  top: 80%;
  left: 0%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: auto;
}

.visita-sitio .puntero-img img {
  width: 100%;
  height: auto;
}

/* Flotación del puntero (animación opcional) */
@keyframes flotar {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}


	/* PMDUOET */
    .pmd-section {
      background: linear-gradient(to bottom, #74a42e, #e0c03b); /* verde a amarillo */
      color: white;
      text-align: center;
      padding: 10rem 1rem;
      border-bottom-left-radius: 40px;
      border-bottom-right-radius: 40px;
    }

    .pmd-section h1 {
      font-size: 5rem;
      font-weight: bold;
      margin: 0;
    }

    .linea-naranja {
      width: 200px;
      height: 10px;
      background-color: #ea9649;
      margin: 1rem auto;
    }

    .pmd-section p {
      font-style: italic;
      font-size: 1rem;
      max-width: 600px;
      margin: 0 auto;
    }


	.descripcion-section {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      padding: 2rem;
      gap: 2rem;
	  margin-bottom: 100px; /* o la cantidad que necesites */
    }

    .descripcion-section img {
      width: 700px;
      height: auto;
    }

    .texto {
	  max-width: 800px;
	  position: relative;
	  padding-right: 1rem;
	  text-align: right;
	  
	}

    .texto p {
      margin: 0;
      font-size: 1.5rem;
      line-height: 1.6;
      color: #003366; /* azul oscuro */
    }

    .texto strong {
      color: #0066cc; /* azul más vivo */
    }
	
	.linea-texto {
	  position: relative;
	  padding-right: 1rem;
	  margin-bottom: 1rem;
	}

	.linea-texto::after {
	  content: '';
	  position: absolute;
	  right: 0;
	  top: 0;
	  width: 6px;
	  height: 100%;
	  background-color: #ea9649;
	}

    .botones {
      display: flex;
      gap: 3rem;
      justify-content: center;
      margin-top: 4rem;
      flex-wrap: wrap;
	  
    }
	
	.botones a{
		text-decoration: none;
	}

    .boton-circular {
      background: linear-gradient(to bottom, #7aa234, #d8c638); /* verde a amarillo */
      color: white;
      border: none;
      border-radius: 50%;
      width: 200px;
      height: 200px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
	  font-size: 1.2rem;
      font-weight: bold;
      cursor: pointer;
      transition: transform 0.3s;
    }

    .boton-circular:hover {
      transform: scale(1.2);
    }


	/*PMD*/
	
	.seccion-programa {
	  background: linear-gradient(to bottom, #003366, #207cca);
	  color: white;
	  padding-top: 6rem;
	  padding-bottom: 10rem;
	  text-align: center;
	  position: relative;
	 /* overflow: hidden;*/
	  z-index: 1;
	}

	/* Marca de agua en la esquina superior derecha */
	.seccion-programa::before {
	  content: "";
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 500px;
	  height: 966px;
	  background-image: url('../img/sis_plan/Recurso218.png'); /* Asegúrate del nombre correcto */
	  background-repeat: no-repeat;
	  background-position: top right;
	  background-size: 500px auto;
	 /*opacity: 0.15;*/
	  /*z-index: 1;  encima del fondo, debajo del contenido */
	  pointer-events: none;
	}

	.imagenes-superiores {
	  display: flex;
	  justify-content: center;
	  gap: 1.5rem;
	  position: relative;
	  top: -250px; /* para que se sobreponga */
	  z-index: 3; /* más alto que la marca de agua */
	  
	}

.imagenes-superiores a {
  position: relative;
  display: inline-block;
  overflow: hidden;
}


    .imagenes-superiores img {
      width: 250px;
      height: 250px;
      object-fit: cover;
      /*border-radius: 20px;*/
      /*box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);*/
    }
	
	.imagenes-superiores img:hover {
		width: 250px;
      height: 250px;
  transform: scale(1.2);
  object-fit: cover;
}

.titulo-img {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  text-align: center;
  padding: 0.5rem;
  font-size: 0.95rem;
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.3s ease;
}

.imagenes-superiores a:hover .titulo-img {
  opacity: 1;
  transform: translateY(0);
}

    .titulo {
      font-size: 1.2rem;
      margin-top: -10rem;	
    }

    .subtitulo {
      font-size: 2.5rem;
      font-weight: bold;
      margin: 0.5rem 0 1rem;
    }

    .boton-descargar {
      background-color: #7aaa32;
      color: white;
      border: none;
      padding: 0.6rem 1.5rem;
      border-radius: 20px;
      font-weight: bold;
      cursor: pointer;
      margin-bottom: 2rem;
    }
	
	.boton-descargar:hover {
      transform: scale(1.2);
    }

	
	.contenido-inferior {
	  display: flex;
	  flex-direction: row;
	  flex-wrap: wrap;
	  align-items: center;
	  justify-content: center;
	  gap: 2rem;
	  max-width: 100%;
	  margin: 0 auto;
	}

	/* Texto */
	.textopmd {
	  flex: 1 1 100px;
	  text-align: left;
	  font-size:1.5rem;
	  padding-left:8rem;
	  padding-right:5rem;
	  
		  line-height: 1.8;
	}

	/* Imagen */
	.imagen-circular {
	  flex: 1 1 50px;
	  width: 50px;
	  height: 2%;
	  right:0;
	  overflow: hidden;
	}

	.imagen-circular img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	}
	
	/*Ciudad Histórica*/
/*	
	.ciudad-historica {
	  background-color: #95185a; /* Color vino */
/*	  color: white;
	  padding: 4rem 2rem;
	  font-family: 'Segoe UI', sans-serif;
	}

	.contenido-historico {
	  max-width: 1200px;
	  margin: 0 auto;
	  display: flex;
	  flex-wrap: wrap;
	  gap: 2rem;
	  align-items: center;
	  
	}

	.columna {
	  flex: 1 1 500px;
	}

	.columna.izquierda img {
	  width: 100%;
	  max-width: 500px;
	  height: auto;
	  display: block;
	  margin: 0 auto;
	}

	.columna.derecha p {
	  margin-bottom: 1.5rem;
	  font-size: 1.1rem;
	  line-height: 1.7;
	  text-align: justify;
	  color: white;
	}
	
	.mapa-interactivo-real {
	  padding: 0rem 0rem;
	  background: #f4f4f4;
	  text-align: center;
	}

	.mapa-interactivo-real h2 {
	  margin-bottom: 1rem;
	  font-size: 2rem;
	  color: #333;
	}

	#mapa {
	  height: 500px;
	  width: 100%;
	  max-width: 1000px;
	  margin: 0 auto;
	  border-radius: 10px;
	  z-index: 1;
	}	*/
	
	/* Ciudad Histórica */

.ciudad-historica {
  background-color: #95185a; /* Color vino */
  color: white;
  padding: 4rem 2rem;
  font-family: 'Segoe UI', sans-serif;
}

.contenido-historico {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
}

.columna {
  flex: 1 1 500px;
}

/* Centrar imagen y botón en la columna izquierda */
.columna.izquierda {
  text-align: center;
}

.columna.izquierda img {
  width: 100%;
  max-width: 500px;
  height: auto;
  display: block;
  margin: 0 auto;
}

.boton-descargar {
  display: inline-block;
  margin-top: 1.5rem; /* Agregar margen para separar el botón de la imagen */
  padding: 0.8rem 2rem;
  background-color: #fff;
  color: #95185a;
  border: none;
  border-radius: 5px;
  font-size: 1.1rem;
  cursor: pointer;
  text-align: center;
  text-decoration: none; /* Eliminar subrayado si es un enlace */
}

.boton-descargar:hover {
  background-color: #95185a;
  color: white;
}

.columna.derecha p {
  margin-bottom: 1.5rem;
  font-size: 1.1rem;
  line-height: 1.7;
  text-align: justify;
  color: white;
}

.mapa-interactivo-real {
  padding: 0rem 0rem;
  background: #f4f4f4;
  text-align: center;
}

.mapa-interactivo-real h2 {
  margin-bottom: 1rem;
  font-size: 2rem;
  color: #333;
}

#mapa {
  height: 500px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 10px;
  z-index: 1;
}
	
/*Estudiosv2*/
.columna-contenido .cuerpo-contenido{opacity:1;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out;}
.columna-contenido .cuerpo-contenido.active{opacity:0;}
.columna-contenido img{height:5.5rem;margin-bottom:2rem;}
.columna-contenido h2{font-size:3.2rem;font-weight:800;margin-bottom:2rem;}
.columna-contenido p{font-size:2rem;}
.contenedor-imagen{-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out;display:block;padding-top:100%;position:relative;min-height:100%;}
.contenedor-imagen .borde-conetendor-imagen{padding-top:0 !important;height:100%;left:0;overflow:hidden;top:0;width:100%;position:absolute;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;}
.contenedor-imagen .borde-conetendor-imagen.active{}
.contenedor-imagen .borde-conetendor-imagen img{position:absolute;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;width:77rem;left:-17rem;height:100%;-o-object-position:center;object-position:center;-o-object-fit:cover;object-fit:cover;}
#operaciones{overflow:hidden;}
#operaciones .contenedor-imagen{display:none;}
#operaciones .contenedor-imagen.abierto{display:block;}
#operaciones .contenedor-imagen.abierto .contenedor-muestras{position:absolute;top:2rem;right:2rem;-webkit-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease;width:50%;}
#operaciones .contenedor-imagen .borde-conetendor-imagen img{right:0;width:70rem;left:auto !important;}
.contenedor-muestras{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;}
.contenedor-muestras .item-muestra{margin-bottom:1.5rem;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;}
.contenedor-muestras .item-muestra:last-child{margin-bottom:0;}
.contenedor-muestras .item-muestra .muestra-texto{background-color:#fff;color:#fff;font-weight:800;padding:0.3rem .7rem 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;line-height:1;font-size:1.5rem;min-height:3.1rem;}
.contenedor-muestras .item-muestra .muestra-simbolo{background-color:#fff;color:#fff;margin-left:.2rem;font-weight:800;padding:.5rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-width:2.5rem;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:1.5rem;}
.contenedor-imagen .borde-conetendor-imagen img.active{left:0 !important;}
.cuerpo-contenido .links-operaciones{display:block;border:.15rem solid transparent;border-bottom-color:#fff;color:#fff;
	-webkit-transition:all 0.4s ease;
	-o-transition:all 0.4s ease;
	transition:all 0.4s ease;
	font-size: 1.5rem;
    padding: 2.3rem 2rem 1.9rem 2rem;
    line-height: 1;
    font-weight: 700;}
.cuerpo-contenido .links-operaciones.abierto{background-color:#fff;color:#fac500;}
#operaciones .contenedor-imagen .borde-conetendor-imagen img.active{right:0 !important;left:auto;}
.btn-descarga{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;border:.2rem solid #fff;padding:1rem;color:#fff;text-decoration:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:5rem;-webkit-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out;position:relative;z-index:2}
.btn-descarga:hover{color:#fff;}
.btn-descarga svg{height:2.5rem;}
.btn-descarga.active,
.btn-descarga:hover{background-color:#fff;}
.btn-descarga.btn-naranja.active{border-color:#f18700;color:#f18700;}
.btn-descarga.btn-naranja.active svg path{fill:#f18700;}
.btn-descarga.btn-naranja.active,
.btn-descarga.btn-naranja:hover{border-color:#f18700;color:#f18700;}
.btn-descarga.btn-naranja.active svg path,
.btn-descarga.btn-naranja:hover svg path{fill:#f18700;}
.btn-descarga.btn-amarillo.active,
.btn-descarga.btn-amarillo:hover{border-color:#fac500;color:#fac500;}
.btn-descarga.btn-amarillo.active svg path,
.btn-descarga.btn-amarillo:hover svg path{fill:#fac500;}
.btn-descarga.btn-amarillo.active{border-color:#fac500;color:#fac500;}
.btn-descarga.btn-amarillo.active svg path{fill:#fac500;}
.btn-descarga.btn-verde.active,
.btn-descarga.btn-verde:hover{border-color:#237e6f;color:#237e6f;}
.btn-descarga.btn-verde.active svg path,
.btn-descarga.btn-verde:hover svg path{fill:#237e6f;}
.btn-descarga .texto-boton{font-size:.9rem;margin-left:2rem;margin-right:2rem;}
#operaciones{background-color:#fac500;color:#fff;}
#sostenibilidad{background-color:#237e6f;color:#fff;}
.acordion{color:#197868;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:2rem;cursor:pointer;}
.acordion:first-child{margin-top:0rem;}
.acordion .imagen-acordion{position:relative;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;}
.acordion .imagen-acordion img{width:100%;position:absolute;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;}
.acordion .titulo-acordion-est{font-size:1.5rem;padding-right:3rem;padding:2.3rem 5rem 1.9rem 2rem;line-height:1;font-weight:700;position:relative;width:64%;}
.acordion .titulo-acordion-est i{position:absolute;right:2rem;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
.cuerpo-acordion{padding:2.5rem 2.3rem;background-color:#176657;display:none;}
.cuerpo-acordion p{font-size:1.28rem;padding-top:1.7rem;padding-bottom:1.7rem;margin:0;border-bottom:.15rem solid #fff;line-height: 1.2;}
.cuerpo-acordion p big{font-size:2.3rem;font-weight:800;}
.cuerpo-acordion p:first-child{padding-top:0;}
.cuerpo-acordion p:last-child{margin-bottom:0;padding-bottom:0;border:none;}


/*Historico*/
.timeline-lineal {
  position: relative;
  padding: 4rem 2rem;
  background-color: #f0f4f8;
  overflow: hidden;
}

.timeline-heading {
  text-align: center;
  font-size: 2.5rem;
  color: #1a3b6f;
  margin-bottom: 3rem;
}

/* Flechas */
.scroll-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background-color: rgba(0,0,0,0.3);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
  font-size: 1.5rem;
  cursor: pointer;
}

.scroll-arrow.left { left: 1rem; }
.scroll-arrow.right { right: 1rem; }

.scroll-arrow:hover {
  background-color: var(--amarillo);
  color: #071330;
}

/* Scroll y línea base */
.timeline-wrapper {
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 1rem 2rem;
}

.timeline-track {
  display: flex;
  gap: 2rem;
  width: max-content;
  padding-top: 2rem;
  border-top: 4px solid var(--amarillo);
}

/* Nodo año */
.timeline-node {
  position: relative;
  min-width: 250px;
  background-color: white;
  border-radius: 12px;
  padding: 1rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  text-align: left;
}

.timeline-dot {
  width: 20px;
  height: 20px;
  background-color: var(--amarillo);
  border-radius: 50%;
  position: absolute;
  top: -2.2rem;
  left: 50%;
  transform: translateX(-50%);
  border: 3px solid white;
  box-shadow: 0 0 0 4px var(--amarillo);
}

.timeline-year {
  /*font-weight: bold;*/
  font-size: 2.2rem;
  color: #071330;
  text-align: center;
  margin-bottom: 1rem;
font-family: 'Playfair Display', serif;
font-weight: 700; /* Para hacerla más marcada */
letter-spacing: 1px;
}

.timeline-details {
  max-height: 300px;
  overflow-y: auto;
}

.timeline-details::-webkit-scrollbar {
  width: 6px;
}
.timeline-details::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}

.estudio {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.8rem;
  font-size: 1.1rem;
  color: #071330;
}

.estudio a {
  color: #071330;
  font-size: 1rem;
}

.estudio a:hover i {
  color: var(--amarillo);
}


/*Anteproyecto*/
.margen{padding-top:3rem;}
.seccionest{padding-top:4rem;padding-bottom:4rem;}
.row{margin-right:-2.5rem;margin-left:-2.5rem;}
[class*="col-"],
.col{padding-left:2.5rem;padding-right:2.5rem;}


#sostenibilidad{background-color:#237e6f;color:#fff;}
.acordion{color:#197868;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;margin-top:2rem;cursor:pointer;}
.acordion:first-child{margin-top:0rem;}
.acordion .imagen-acordion{position:relative;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;}
.acordion .imagen-acordion img{width:100%;position:absolute;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;}
.acordion .titulo-acordion{font-size:1.5rem;padding-right:3rem;padding:2.3rem 5rem 1.9rem 2rem;line-height:1;font-weight:700;position:relative;width:64%;}
.acordion .titulo-acordion i{position:absolute;right:2rem;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
.cuerpo-acordion{padding:2.5rem 2.3rem;background-color:#176657;display:none;}
.cuerpo-acordion p{font-size:1.28rem;padding-top:1.7rem;padding-bottom:1.7rem;margin:0;border-bottom:.15rem solid #fff;line-height: 1.2;}
.cuerpo-acordion p big{font-size:2.3rem;font-weight:800;}
.cuerpo-acordion p:first-child{padding-top:0;}
.cuerpo-acordion p:last-child{margin-bottom:0;padding-bottom:0;border:none;}
#sostenibilidad .iconos-descarga .fa-download::before{
	color:#fff;
}
#sostenibilidad .iconos-descarga .fa-clipboard::before{
	color:#fff;
}
.anteproyecto-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
  margin-bottom: 0.1rem;
  border: none;
  background: transparent;
}

.anteproyecto-texto {
  width: 85%;
  font-size: 1rem;
  color: #fff; /* ← Letra blanca */
  line-height: 1.4;
  padding-right: 1rem;
  word-break: break-word;
}

.anteproyecto-iconos {
  width: 15%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.anteproyecto-iconos a {
  color: #fff; /* íconos blancos también */
  font-size: 1.2rem;
  margin-left: 0.5rem;
  transition: color 0.3s ease;
}

.anteproyecto-iconos a:hover {
  color: var(--amarillo, #FAC500); /* al pasar el mouse */
}

.anteproyecto-item:hover {
 /* font-weight: 600;  Letra más gruesa */
  transform: scale(1.03); /* Ligero zoom para resaltar */
  transition: all 0.2s ease;
  opacity: 1;
}


/*Contacto*/
/* Diseño responsive: columnas en escritorio, pila en móvil */
.secciones-contacto {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
  padding: 4rem 2rem;
}

.contacto-seccion, .contactar-seccion {
  flex: 1 1 400px;
  padding: 2rem;
  text-align: center;
  color: white;
  border-radius: 12px;
}

.usodesuelo-seccion {
  flex: 1 1 200px;
  padding: 2rem;
  margin: 2rem;
  text-align: center;
  color: white;
  border-radius: 12px;
   background: linear-gradient(135deg, #6a11cb, #2575fc, #8e2de2, #4a00e0);
}

.contacto-seccion {
  background: linear-gradient(135deg, #6a11cb, #2575fc);
}

.contactar-seccion {
  background: linear-gradient(135deg, #8e2de2, #4a00e0);
}

.boton-enviar,
.boton-contacto {
  background-color: white;
  color: #1a1a1a;
  padding: 0.8rem 2rem;
  border-radius: 2rem;
  text-decoration: none;
  font-weight: 600;
  margin-top: 2rem;
  display: inline-block;
}

.boton-enviar:hover,
.boton-contacto:hover {
  background: #e0e0e0;
}

/* MODALES: iguales para ambos */
.modal-overlay {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0; top: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
}

.modal-content {
  background-color: #fff;
  padding: 2rem;
  border-radius: 12px;
  width: 90%;
  max-width: 500px;
  position: relative;
  text-align: center;
}

.cerrar-modal {
  position: absolute;
  top: 1rem;
  right: 1.2rem;
  font-size: 1.5rem;
  cursor: pointer;
}

.modal-content form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}

.modal-content input,
.modal-content textarea {
  padding: 0.8rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  width: 100%;
}

.modal-content button {
  background-color: #4a00e0;
  color: white;
  border: none;
  padding: 0.8rem;
  border-radius: 8px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s;
}

.modal-content button:hover {
  background-color: #3700b3;
}

.upload-box {
  border: 2px dashed #ccc;
  padding: 1.5rem;
  border-radius: 12px;
  text-align: center;
  position: relative;
}

.upload-label {
  display: block;
  cursor: pointer;
  color: #4a00e0;
  font-weight: 600;
  font-size: 1rem;
}

.upload-label i {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  display: block;
}

.upload-box input[type="file"] {
  display: none;
}

.lista-archivos {
  margin-top: 1rem;
  text-align: left;
  font-size: 0.95rem;
}

.lista-archivos .archivo-item {
  margin-bottom: 0.3rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #333;
}

.lista-archivos .archivo-item i {
  color: #4a00e0;
}


/*COnsejo Rector*/
#construccion{
  align-items: center;
	
}
#construccion .construccion-img img{
	padding-top:10rem;
	padding-left:30%;
	padding-bottom:10rem;
	
}

/*Transparencia*/

/* Contenedor principal */
.container-trans {
  padding: 2rem;
  max-width: 1200px;
  margin: auto;
}
/* Grid de tarjetas */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
}

/* Tarjetas */
.card {
  background: white;
  border-radius: 15px;
  padding: 2rem 1rem;
  text-align: center;
  text-decoration: none;
  color: #333;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: all 0.3s ease;
}

.card .icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.card h3 {
  font-size: 1.1rem;
  font-weight: 600;
}

/* Hover */
.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.15);
  background: #f0f8ff;
}

/* SVG del borde */
.border-svg {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  border-radius: 15px;
}

/* Animación del trazo SVG */
.border-svg rect {
  stroke-dasharray: 948; /* perímetro aproximado (2*(297+177)) */
  stroke-dashoffset: 948;
  stroke-opacity: 1;
  transition: stroke 0.3s ease;
}

/* Al hacer hover dibujamos el borde */
.card:hover .border-svg rect {
  animation: drawBorder 1.5s forwards linear;
}

/* Animación */
@keyframes drawBorder {
  from {
    stroke-dashoffset: 948;
  }
  to {
    stroke-dashoffset: 0;
  }
}

/* Animación aparición */
.card.show {
  opacity: 1;
  transform: translateY(0);
}

/* Estilos contenido */
.card-content {
  position: relative;
  z-index: 1;
}

.card h3 {
  margin-bottom: 0.5rem;
}

/*--------------------------------------------------------
     Tabs
---------------------------------------------------------*/
ul.nav li.dropdown:hover > ul.dropdown-menu {
  display: block;
}

.tabs .nav-tabs {
  border-bottom: 2px solid #e6e8eb;
  margin-bottom: 30px;
}
.tabs .nav-tabs .nav-item {
  margin-bottom: -2px;
}
.tabs .nav-tabs .nav-link {
  color: #484848;
  padding: 14px 24px;
  color: #ffffff;
  font-weight: bolder;
  transition: 0.3s ease;
  font-weight: 500;
  border: 0;
  /*border: $nav-tabs-border-width solid transparent;*/
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  border-bottom: 2px solid #e6e8eb;
}
.tabs .nav-tabs .nav-link i {
  margin-right: 6px;
}
.tabs .nav-tabs .nav-link.disabled {
  color: rgba(72, 72, 72, 0.5);
}
.tabs .nav-tabs .nav-link.active {
  color: #ffffff;
  background-color: transparent;
  border-bottom: 2px solid #2250fc;
}
.tabs .nav-tabs .dropdown-menu {
  border-radius: 5px;
  border: 0;
  box-shadow: 0 6px 38px rgba(0, 0, 0, 0.05);
}
.tabs.tabs-clean .nav-tabs {
  border-bottom: 0;
}
.tabs.tabs-clean .nav-tabs .nav-link {
  border: 1px solid transparent;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.tabs.tabs-vertical .nav-tabs {
  border: 0;
  margin-bottom: 0;
}
.tabs.tabs-vertical .nav-tabs .nav-link {
  border-radius: 0;
  border-bottom: 0;
  border-right: 2px solid #e6e8eb;
}
.tabs.tabs-vertical .nav-tabs .nav-link.active {
  color: #2250fc;
  background-color: transparent;
  border-right: 2px solid #2250fc;
}
.tabs.tabs-folder .nav-tabs {
  margin-bottom: 0;
  border-bottom: 0;
}
.tabs.tabs-folder .nav-tabs .nav-item {
  margin-bottom: 0;
}
.tabs.tabs-folder .nav-tabs .nav-link {
  border: 1px solid transparent;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.tabs.tabs-folder .nav-tabs .nav-link.active {
  border-color: #e6e8eb;
  border-bottom-color: #ffffff;
}
.tabs.tabs-folder .tab-content {
  margin-top: -1px;
  border: 1px solid #e6e8eb;
  bottom: 10px;
  padding: 30px;
  border-radius: 0 6px 6px 6px;
}

/*  Elements */
/* ----------------------------------------------------------------
	Accordion
-----------------------------------------------------------------*/
.accordion .ac-item {
  margin-bottom: 10px;
  border-radius: 5px;
}
.accordion .ac-item .ac-title {
  font-weight: 500;
  position: relative;
  padding-right: 10px;
  margin: 0;
  font-size: 25px;
  color: #fff;
  text-align: center;
  cursor: pointer;
  user-select: none;
  background-color: #ec9800;
  padding-top: 10px;
  padding-bottom: 10px;
}
.accordion .ac-item .ac-title:before {
  font-size: 25px;
  font-weight: bolder;
  padding-right: 25px;
  content: "\e9be";
  font-family: "inspiro-icons";
  right: 0;
  position: absolute;
}
.accordion .ac-item .ac-title > i {
  margin-right: 8px;
}
.accordion .ac-item .ac-content {
  padding-top: 12px;
  padding-left: 20px;
  padding-right: 20px;
}
.accordion .ac-item .ac-content > p:last-child {
  margin-bottom: 6px;
}
.accordion .ac-item.ac-active .ac-title:before {
  content: "\e9a1";
}
.accordion.accordion-shadow .ac-item {
  box-shadow: 0 6px 38px rgba(0, 0, 0, 0.05);
}
.accordion.accordion-simple .ac-item {
  padding: 14px 0;
  margin-bottom: 0;
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #e6e8eb;
}
.accordion.accordion-simple .ac-item:last-child {
  border: 0;
}
.accordion.accordion-flat .ac-item {
  padding: 10px 0;
  margin-bottom: 0;
  border-radius: 0;
  border: 0;
}
.accordion.accordion-theme .ac-item {
  background-color: #2250fc;
  border: 0;
}
.accordion.accordion-theme .ac-item .ac-title {
  color: #ffffff;
}
.accordion.accordion-theme .ac-item .ac-content,
.accordion.accordion-theme .ac-item .ac-content p {
  color: #ffffff;
}
.accordion.dark .ac-item {
  background-color: #181818;
  border: 0;
}
.accordion.dark .ac-item .ac-title {
  color: #ffffff;
}
.accordion.dark .ac-item .ac-content,
.accordion.dark .ac-item .ac-content p {
  color: #ffffff;
}

/*CONSEJO RECTOR*/
.titulo-seccion {
  font-size: 60px;
  font-weight: 800;
  color: #e5e5e5; /* gris clarito como en la imagen */
  margin-bottom: 25px;
}

	/* - grupos-trabajo - */
	#grupos-trabajo {
	  text-align: center;
	  padding: 50px 20px;
	  font-family: Arial, sans-serif;
	  color: gray;
	}



	.bloques {
	  display: flex;
	  flex-direction: column;
	  gap: 15px;
	  margin-bottom: 30px;
	}

	.bloquecr {
	  padding: 15px 30px;
	  border-radius: 50px;
	  font-size: 22px;
	  font-weight: bold;
	  color: white;
	}

	.sub-bloques {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	  gap: 20px;
	  justify-items: center;
	}

	.sub-bloque {
	  padding: 20px 25px;
	  border-radius: 50px;
	  color: white;
	  font-size: 18px;
	  max-width: 300px;
	}

	/* Colores */
	.azulcr { background-color: #3f6ffb; }
	.rosacr { background-color: #e91e63; }
	.azul-oscurocr { background-color: #1a2b5b; }
	.moradocr { background-color: #673ab7; }
	.azul-clarocr { background-color: #03a9f4; }
	.amarillocr { background-color: #fbc02d; }
	.naranjacr { background-color: #ff5722; }
	.verdecr { background-color: #4caf50; }	


/*como-trabaja*/
#como-trabaja {
  text-align: center;
  padding: 60px 20px;
  font-family: Arial, sans-serif;
  background-color: #fff;
}



.descripcion {
	text-align: justify;
  font-size: 30px;
  line-height: 1.6;
  color: #333;
  max-width: 1000px;
  margin: 0 auto 40px auto;
}

.iconos {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 40px;
  flex-wrap: wrap;
}

.iconos img {
  max-height: 300px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.iconos img:hover {
  transform: scale(1.05);
}

/*como se conforma*/
#como-se-conforma {
	
  text-align: center;
  padding: 60px 30px;
  font-family: Arial, sans-serif;
  background-color: #fafafa;
}



.contenido {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 60px;
  flex-wrap: wrap;
}

/* Columna izquierda */
.izquierda {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.card-azul {
  background-color: #2196f3;
  color: #fff;
  padding: 20px 30px;
  border-radius: 12px;
  width: 300px;
  text-align: left;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}

.card-azul:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
  background-color: #1976d2; /* un azul más fuerte en hover */
}

.card-azul h3 {
  font-size: 30px;
  margin: 0 0 5px;
}

.card-azul p {
  font-size: 20px;
  margin: 0;
}

/* Columna derecha */
.derecha {
  max-width: 400px;
  font-size: 22px;
  color: #333;
}

.derecha p {
  border-bottom: 1px solid #ccc;
  padding: 12px 0;
  margin: 0;
}

/**/
.presentacion-consejo {
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 20px;
  text-align: center;
}

/* Contenedor en columnas horizontales */
.contenedor-horizontal {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap; /* Para que en pantallas chicas se acomode en columna */
}

.bloque-rosa {
  flex: 1 1 300px;
  background: #ec008c;
  color: white;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
  position: relative;
}

.bloque-rosa h2 {
  font-size: 3rem;
  font-weight: bold;
  margin: 0;
  line-height: 1.2;
}

.bloque-rosa::after {
 /* content: "⮕";*/
  position: absolute;
  bottom: 15px;
  right: 15px;
  font-size: 2rem;
  opacity: 0.8;
}

.bloque-imagen {
  flex: 1 1 300px;
  border-radius: 20px;
  overflow: hidden;
} 

.bloque-imagen img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.descripcion {
  margin-top: 30px;
  font-size: 1rem;
  line-height: 1.6;
  color: #555;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}


/* Sección ARI */
.seccion-ari {
  position: relative;
  background: url('../img/ari/banner-ari.png') center center / cover no-repeat fixed;
  padding: 6rem 2rem;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh; /* pantalla completa */
}

.seccion-ari .overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
 /* background: rgba(0,0,0,0.4); /* oscurecer fondo */
  z-index: 1;
}

.contenedor-ari {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  z-index: 2;
}

/* Texto */
.texto-ari {
  flex: 1;
  min-width: 300px;
  margin-right: 2rem;
}

.texto-ari h1 {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.texto-ari p {
  font-size: 1.2rem;
  line-height: 1.6;
}

/* Caja de login */
.login-ari {
  background: white;
  color: #333;
  border-radius: 10px;
  padding: 2rem;
  width: 350px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.login-ari .logo-ari {
  max-width: 200px;
  display: block;
  margin: 0 auto 1rem;
}

.login-ari h2 {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 0.5rem;
}

.login-ari .subtitulo {
  text-align: center;
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
}

.login-ari form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.login-ari input {
  padding: 0.8rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
}

.login-ari .verificacion {
  font-size: 0.9rem;
  color: #666;
}

.login-ari .link {
  font-size: 0.9rem;
  color: #007bff;
  text-decoration: none;
  margin-bottom: 1rem;
}

.login-ari .btn-continuar {
  background: #6a5acd;
  color: white;
  border: none;
  padding: 0.9rem;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 6px;
  cursor: pointer;
}

.login-ari .btn-continuar:hover {
  background: #5941a9;
}

.login-ari .registro {
  text-align: center;
  text-justify:justify;
  font-size: 0.9rem;
}

.login-ari .registro a {
  color: #007bff;
  text-decoration: none;
}

.about-seccion {
  padding: 4rem 2rem;
  background: #fff;
  display: flex;
  justify-content: center;
  text-align: center;
}

.about-contenedor {
  max-width: 900px;
  width: 100%;
}

.about-contenedor h2 {
  font-size: 2.5rem;
  font-weight: 900;
  margin-bottom: 1rem;
  color: #000;
  position: relative;
  display: inline-block;
  padding-bottom: 0.5rem;
}

.about-contenedor h2::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background: linear-gradient(90deg, #4CAF50, #2196F3);
  margin: 0.5rem auto 0;
  border-radius: 2px;
}

.about-contenedor p {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #333;
  margin-bottom: 1rem;
  text-align: justify;
}

/*contacto.html*/
/*Modal Asignacion*/
.grid-archivos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px 20px; /* espacio entre filas y columnas */
}

.grid-archivos label {
  font-weight: bold;
  display: block;
  margin-bottom: 5px;
}

.grid-archivos input[type="file"] {
  width: 100%;
}

/* MODALES: iguales para ambos */
.modal-overlay-a {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0; top: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
}

.modal-content-a {
  background-color: #fff;
  padding: 2rem;
  border-radius: 12px;
  width: 90%;
  max-width: 900px;
  max-height: 90vh;          /* 👈 limita la altura al 90% de la pantalla */
  overflow-y: auto;          /* 👈 agrega scroll vertical si se pasa */
  position: relative;
  text-align: center;
}

.cerrar-modal {
  position: absolute;
  top: 1rem;
  right: 1.2rem;
  font-size: 1.5rem;
  cursor: pointer;
}

.modal-content-a form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1rem;
}

.modal-content-a input,
.modal-content-a textarea {
  padding: 0.8rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  width: 100%;
}

.modal-content-a button {
  background-color: #4a00e0;
  color: white;
  border: none;
  padding: 0.8rem;
  border-radius: 8px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s;
}

.modal-content-a button:hover {
  background-color: #3700b3;
}

.upload-box-a {
  border: 2px dashed #ccc;
  padding: 1.5rem;
  border-radius: 12px;
  text-align: center;
  position: relative;
}

.upload-label-a {
  display: block;
  cursor: pointer;
  color: #4a00e0;
  font-weight: 600;
  font-size: 1rem;
}

.upload-label-a i {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  display: block;
}

.upload-box-a input[type="file"] {
  display: none;
}

.lista-archivos-a {
  margin-top: 1rem;
  text-align: left;
  font-size: 0.95rem;
}

.lista-archivos-a .archivo-item-a {
  margin-bottom: 0.3rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #333;
}

.lista-archivos-a .archivo-item-a i {
  color: #4a00e0;
}

/* Tarjeta de archivos */
.file-card {
  background: #f9f9f9;
  border: 2px dashed #ccc;
  border-radius: 10px;
  padding: 1rem;
  text-align: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

.file-card:hover {
  border-color: #4a00e0;
  background: #f0ebff;
}

.file-label {
  display: block;
  font-weight: 600;
  color: #4a00e0;
  cursor: pointer;
}

.file-label i {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 0.5rem;
}

.file-card input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Archivos obligatorios en 3 columnas */
.grid-obligatorios {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px 20px;
}

/* Archivos opcionales en 2 columnas */
.grid-opcionales {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 20px;
}

.grid-obligatorios label,
.grid-opcionales label {
  font-weight: bold;
  display: block;
  margin-bottom: 5px;
}

.grid-obligatorios input[type="file"],
.grid-opcionales input[type="file"] {
  width: 100%;
}



@media (min-width:1480px){
/*lacarta*/
	.lado-izquierdo {
	  gap: 2rem;
	}
	/*Quienes somos*/
		/*Conocenos*/
		.banner-texto p{
			font-size:1.3rem;
		}
		/*Filosofía*/
		.tarjeta-filo p{
		  font-size: 1.3rem;
		}
		#filosofia-nueva .titulos{
			font-size: 4rem;
		}
		
		/*Reglamento*/
		.reglamento-contenido h2{
		   font-size:4rem;
		}

		.reglamento-contenido p {
			font-size:1.3rem;
		}
		/*Consejo*/
		.seccion-consejo {
		  top:-10rem;
		}
		.caja-consejo p {
		  font-size:1.3rem;
		}
		/*Funciones*/
		.columnas ul {
		  font-size: 1.4rem;
		}
		
		/*Estudios Históricos*/
		.frente{
	  		font-size: 3rem;
		}

		  .reverso {
			  font-size:1.4rem;
		  }
		  
		  


	
	/*Terminda media 1200*/
}
@media (max-width:1199px){
	.container{width:960px;}
	.containerest{width:960px;}
}
@media (max-height:905px){
	/*Quienes somos*/
	/*Conocenos*/
	
	#banner-nosotros {
	  height: 105vh;
	}
	
	
	/*PMDUOET*/
	.descripcion-section img {
      width: 450px;
      height: auto;
    }  
	
	.boton-circular {
      width: 190px;
      height: 190px;
	  font-size: 1.4rem;
    }
	
	/*PMD*/
	.textopmd {
	  font-size:2rem;
	}
	
	.imagenes-superiores {
	  top: -200px; /* para que se sobreponga */
	  
	}
		  
	
}

@media (max-width:991px){
	.container{width:750px;}
	.containerest{width:750px;}

	.imagen-circular {
      width: 650px;
      height: 650px;
      /*border-radius: 50%;*/
      overflow: hidden;
	  right: 0;
	  position: absolute;
    }
	.grid-obligatorios {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.grid-opcionales {
		grid-template-columns: 1fr;
	}
	
	
	
}
@media (max-width:767px){
html{font-size:4vw;}
/*Estilos principales*/
	footer .prefooter{bottom:-2.8rem;}
	footer .pie{text-align:center;padding-top: 3.8rem}
	footer .pie .lista-redes{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:1rem;}
	footer .pie .lista-redes a{margin-left:1rem;margin-right:1rem;font-size:1.5rem;}
	.container{width:100%;}
	.containerest{width:100%;}
	.columna-mb-100{width:100%;}
	.columna-mb-50{width:50%;}
	.columna-mb-41{width:41.66%;}
	.columna-mb-33{width:33.33%;}
	.columna-mb-25{width:25%;}
	.columna-mb-16{width:16.66%;}
	.columna-mb-8{width:8.33%;}
	.empujar-mb-0{margin-left:0;}
	.orden{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0;}
	.titulos{font-size:4rem;}
	.cabecera .link-logo {position: relative;z-index: 2;}
	.cabecera .hamb{display:block; position: relative;z-index: 2}
	.cabecera .menu{padding-right: 1rem;padding-left: 1rem;transition: all .5s ease;transform: translateX(100%);position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgb(7,19,48);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index: 1;}
	.cabecera .menu.abierto{transform: translateX(0);}
	.cabecera .menu a{margin: 1rem 0;font-size: 2rem;}
	.seccion{padding-bottom:2.8rem;padding-top:2.8rem;}
	.conteendor-cuadrado .contenido-cuadrado{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
	.mapa{padding-bottom:100%;}
	.padding-grande{padding:2rem;}
	.form-bloques .form-input{font-size:1.4rem;}
	.form-bloques.form-bloque-boton .btn{width:100%;font-size:1.4rem;}
	
	#banner .container h1{font-size:4rem;}
	.cabecera {height: 5rem;}
	
	 .container {
		margin-bottom: 5rem;
	}
	.containerest {
		margin-bottom: 5rem;
	}
	
/*Footer*/
	#footer-implan{
		top:5rem;
	}
	#footer-implan p{font-size:1.4rem;}
	.footer-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-col:not(:last-child)::after {
        display: none;
    }
    
    .footer-col {
        padding: 1rem 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .footer-col:last-child {
        border-bottom: none;
    }
    
    .logo-social {
        align-items: center;
        text-align: center;
    }
    
    .contact-info, .disclaimer {
        text-align: center;
    }
    
    .contact-info .footer-title::after,
    .disclaimer .footer-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
	
		/* Segunda columna: Contacto */
	.contact-info .footer-title {
		font-size: 5rem;
	}
	
	.phone, .address, .business-hours, .disclaimer-text{
		font-size: 3rem;
	}



/*Index*/
	/*Encabezado*/
	#banner {
		height: 90vh; /* o prueba con 120vh o 140vh según lo que veas */
		position: relative;
	  }

	  #banner video {
		height: 100vh;
		object-fit: cover;
		object-position: center;
	  }

	  #banner .container {
		top: 65%;
		transform: translateY(-50%);
	  }
		
	/*Temas de interes*/
	#lacarta{top:5rem;}
	  .layout-interes {
		flex-direction: column;
		gap: 1rem;
		padding: 0 1rem;
	  }

	  .lado-izquierdo,
	  .lado-derecho {
		width: 100%;
	  }

	  .lado-izquierdo .conteendor-cuadrado {
		aspect-ratio: 1 / 1;
	  }

	 .lado-derecho .contenedor-video-cuadro {
	  height: 300px;
	  position: relative;
	}

	.contenedor-video-cuadro video {
	  position: absolute;
	  top: 0;
	  left: 0;
	  height: 90%;
	  width: 100%;
	  object-fit: cover;
	}

	  /* Texto fijo visible en móvil */
	  .contenedor-video-cuadro .contenido-cuadrado {
		position: absolute;
		top: auto;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 1rem;
		background: rgba(0, 0, 0, 0.6);
		color: #fff;
		font-size: 1.2rem;
		font-weight: bold;
		text-align: left;
		transform: none;
		transition: none;
	  }

	  .conteendor-cuadrado:hover .contenido-cuadrado,
	  .contenedor-video-cuadro:hover .contenido-cuadrado {
		top: auto;
		bottom: 0;
	  }
	  
/*Quienes somos*/
	/*Conocenos*/
	.banner-texto {
		width: 100%;
		padding: 5rem 1rem 1rem 1rem;
		text-align: center;
	}
	.gradiente-fijo {
		width: 100%;
		height: 100%;
		background: linear-gradient(to right, #0a1a3a, #3b86ff, #7ac943);
		opacity: 0.50;
	}
	
	/*Filosofía*/
	.tarjeta-filo p{
	  font-size: 1.3rem;
	}
	#filosofia-nueva .titulos{
		font-size: 3rem;
	}
		
	/*Reglamento*/
	.reglamento-contenido h2{
	   font-size:2.5rem;
	   font-stretch:1rem;
	   padding: 0.5rem;
	}

	.reglamento-contenido p {
		font-size:1.3rem;
	}
	#reglamento .columna-50{
		width:100%;
	}
	.reglamento-mapa{
		top: -63rem;
		width: 50%;
		left: 25%;
	}
	
	.reglamento-btn{
		max-width: 300px;
	}
	
	/*Consejo*/
	/*seccion-consejo*/
	.caja-consejo {
	  padding: 2rem;
	}

	.caja-consejo p {
	  font-size: 1.3rem;
	  text-align:center;
	}
	.seccion-consejo {
	  border-radius: 0 0 0 0;
	  top: -25rem;
	}
	/*Funciones*/
	.seccion-funciones {
		top:-40rem;
		height: 95rem;
	  font-size: 1.3rem;
	}
	.fondo-funciones {
	  padding: 0rem;
	  border-radius: 20px;
	  color: white;
	  max-width: 100;
	  margin: 0 auto;
	}
	.contenido-funciones .columnas ul{
		flex:auto;
	}
	
	/*Consejo directivo*/
	.consejo-directivo {
	  top:-48rem;
	  position: relative;
	  text-align: center;
	  overflow: hidden;
	  z-index:1;
	  margin-bottom:-42rem;
	}

	.foto-grupo {
	  width: 100%;
	  display: block;
	  object-fit: cover;
	  z-index: 1;
	  position: relative;
	}

	.degradado-superior {
	  position: absolute;
	  top: 0;
	  width: 100%;
	  height: 100px;
	  background: linear-gradient(to bottom, rgba(26, 61, 124, 0.9), rgba(26, 61, 124, 0));
	  z-index: 2;
	  
	}

	.etiqueta {
	  background-color: #61a5ff;
	  color: white;
	  padding: 1em 2em;
	  border-radius: 80px;
	  display: inline-block;
	  margin-top: -5em;
	  position: relative;
	  z-index: 3;
	  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	}

	.etiqueta h2 {
	  margin: 0;
	  font-size: 1.3rem;
	  font-weight: bold;
	}

	.etiqueta p {
	  margin: 0;
	  font-size: 1.3em;
	}


	/*Equipo Consejo 3fotos*/
	.equipo-consejo {
	  top:-5rem;
	  display: flex;
	  justify-content: center;
	  gap: 2em;
	  padding: 2em;
	  flex-wrap: wrap;
	  text-align: center;
	  background-color: #fff;
	  bottom:70rem;
	}

	.miembro img {
	  width: 300px;
	  height: 300px;
	  border-radius: 50%;
	  object-fit: cover;
	  margin-bottom: 1em;
	  border: 4px solid #eee;
	}

	.miembro h3 {
	  font-size: 0.95em;
	  color: #1f2d6b;
	  font-weight: bold;
	  text-transform: uppercase;
	  margin: 0.3em 0;
	}

	.miembro p {
	  font-size: 0.9em;
	  color: #333;
	  margin: 0;
	}
	
	/* Sección Consejeros */
	.seccion-consejeros {
	  font-family: 'Arial', sans-serif;
	  margin: 0;
	  padding: 0;
	}

	.borde-superior {
	  position:relative;
	  height: 20px;
	  background: linear-gradient(to right, #3b86ff, #8cc63f);
	  width: 73%;
	  top:13px;
	  z-index:10;
	  
	}

	.contenedor-consejeros {
	  display: flex;
	  flex-wrap: wrap;
	  width: 100%;
	  min-height: 100%;
	}

	.bloque {
	  padding: 2rem;
	  box-sizing: border-box;
	}

	.consejeros {
	  background-color: #1b2e56;
	  color: white;
	  flex: 3;
	}

	.juveniles {
	  background-color: #4a7cf3;
	  color: white;
	  flex: 1;
	  display: flex;
	  flex-direction: column;
	  justify-content: center;
	}

	.bloque h2 {
	  font-size: 1.6rem;
	  font-weight: bold;
	  margin-bottom: 1.5rem;
	  text-transform: uppercase;
	}

	.columnas {
	  display: flex;
	  gap: 2rem;
	}

	.columnas ul,
	.juveniles ul {
	  list-style-type: disc;
	  padding-left: 1.2rem;
	  font-size: 1rem;
	  line-height: 1.6;
	  margin: 0;
	}

	.columnas ul li,
	.juveniles ul li {
	  margin-bottom: 0.5rem;
	}
	
	/*Calendario*/
	.seccion-calendario {
	  background: url('../img/quienessomos/fondo-sesion.png') center center / cover fixed;
	  padding: 6rem 2rem;
	  color: white;
	  text-align: center;
	  position: relative;
	}

	.contenido-calendario {
	 /* background: rgba(0, 0, 0, 0.5); /* Capa oscura para contraste */
	  padding: 0rem;
	  border-radius: 20px;
	  width: 100%;
	  margin: 0 auto;
	 /* box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);*/
	}

	.contenido-calendario h2 {
	  font-size: 2.8rem;
	  font-weight: bold;
	  margin-bottom: 2rem;
	  text-align:center;
	}

	.meses {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 1rem;
	  justify-content: center;
	  margin-bottom: 2rem;
	}

	.mes {
	  display: inline-block;
	  padding: 0.8rem 1.5rem;
	  border-radius: 999px;
	  font-weight: bold;
	  font-size: 1rem;
	  color: white;
	}

	.abril { background-color: #6c4ea3; }
	.mayo { background-color: #7ac943; }
	.junio { background-color: #fecd4d; color: #000; }
	.julio { background-color: #d4145a; }
	.agosto { background-color: #3b5998; }
	.septiembre { background-color: #3b86ff; }

	.nota {
	  font-size: 0.99rem;
	  line-height: 1.6;
	  color: #e0e0e0;
	  max-width: 900px;
	  margin: 0 auto;
	  text-align: justify;
	}

	/*Informes*/
	.informes-galeria {
	  position: relative;
	  padding: 6rem 2rem;
	  background-color: #f0f4f8;
	  overflow: hidden;
	}

	.texto-fondo {
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translateX(-50%);
	  font-size: 2rem;
	  font-weight: 900;
	  z-index: 0;
	  white-space: nowrap;
	  pointer-events: none;
	  user-select: none;
	  /*opacity: 0.1;*/
	}

	.texto-fondo span {
	  color: #7ac943; /* Verde IMPLAN */
	}

	.texto-fondo {
	  color: #1a3b6f; /* Azul oscuro */
	}

	.informes-galeria .container {
	  position: relative;
	  z-index: 1;
	}

	.informes-grid {
	  display: grid;
	  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	  gap: 2rem;
	  margin-top: 3rem;
	}

	.informe-card {
	 /* background-color: white;*/
	  padding: 2rem;
	  border-radius: 2px;
	  text-align: center;
	  transition: transform 0.3s ease;
	}

	.informe-card:hover {
	  transform: translateY(-5px);
	}

	.informe-card img {
	 width: 90%;
	  border-radius: 2rem;
	  margin-top: 5rem;
	  margin-bottom: 1.5rem;
	  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
	  
	}

	.informe-card h3 {
	  font-size: 1.2rem;
	  color: #1a3b6f;
	  margin-bottom: 1rem;
	}
	
	/*Estudios*/
	/*Parallax*/
	html, body {
    overflow-x: hidden;
  }

  #categorias-estudios.horizontal-scroll {
    width: 100% !important;
    overflow-x: hidden !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }

  .scroll-content {
    width: 100% !important;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
  }

  .category {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
    padding: 1.5rem 1rem;
    box-sizing: border-box;
	overflow: visible !important;
  }
	.category .items {
	  max-width: 190vh; 
	  max-height: 60vh;  /* ← Antes era 60vh, ahora es más compacto */
	  
	}
   
  .category .item {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    box-sizing: border-box;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .category .item p {
    font-size: 1.4rem;
	font-weight: 400;
    line-height: 1.4;
    white-space: normal;
    overflow: visible;
    word-break: break-word;
    width: 100%;
  }

  .category .item a {
    font-size: 1.3rem;
  }
  
  .category h2 {
    margin: 0 auto;
    padding: 0 1rem;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.3;
    max-width: 100%;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
  }
	
/*Estudios Históricos*/
/* Contenedor vertical y ancho total */

.estudio{
	font-size:1.3rem;
	font-weight:300;
}

 .timeline {
    padding-left: 1rem;
    border-left: 3px solid var(--amarillo);
  }
  
  .timeline-node {
  max-width: 300px;
}

  .iconos-descarga a {
    margin-left: 0.5rem;
    color: black;
    font-size: 1.5rem;
  }
  
  .reverso ul {
    margin: 0;
    padding-left: 1.2rem;
  }

  .reverso li {
    margin-bottom: 0.75rem;
  }

  .reverso a {
    margin-left: 0.5rem;
    color: #fff;
    text-decoration: underline;
    transition: color 0.3s ease;
  }

  .reverso a:hover {
    color: #ffd700;
  }

  /*Sistema municipal de planeacion*/
    .titulo-sobre-mapa h1 {
    font-size: 1.7rem;
	line-height:1;
  }
  
  .titulo-sobre-mapa .verde {
    margin-top: -20px;
  }

  .texto-sobre-catedral {
    width: 95vw;
    padding: 1rem;
    font-size: 1rem;
    top: 15%;
  }
  
  /*Plan 2050*/
    .texto-plan {
    font-size: 1rem;
  }

  .logo-plan img {
    max-width: 200px;
  }
  
  /*visita-sitio*/
  .contenido-visita{
	font-size:1.4rem;
  }
  
  .visita-sitio .puntero-img {
	  top: 90%;
	}
	
	/*PMDUOET*/
	.descripcion-section img {
      width: 350px;
      height: auto;
    }  
	
	.pmd-section h1 {
      font-size: 3rem;
    }
	
	
	
	/*PMD*/

	.imagenes-superiores {
	  display: flex;
	  gap: 0rem;
	  position: relative;
	  top: -150px; /* para que se sobreponga */
	  z-index: 3; /* más alto que la marca de agua */
	  
	}
	
	.imagenes-superiores img {
      width: 125px;
      height: 125px;
    }	
	
	.contenido-inferior {
	  display: flex;
	  flex-direction: column;
	  flex-wrap: wrap;
	  align-items: center;
	  justify-content: center;
	  gap: 2rem;
	  max-width: 100%;
	  margin: 0 auto;
	}

	/* Texto */
	.textopmd {
	  flex: 1 1 100px;
	  text-align: justify;
	  font-size:1.5rem;
	  padding-left:1.5rem;
	  padding-right:1.5rem;
	  line-height: 1.8;
	}

	/* Imagen */
	.imagen-circular {
	  flex: 1 1 360px;
	  width: 360px;
	  height: 360px;
	  right:0;
	  
	  margin-right:-2rem;
	  overflow: hidden;
	  position:relative;
	}

	.imagen-circular img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	}
	
	/*Ciudad Histórica*/
	.contenido-historico {
		flex-direction: column;
		text-align: center;
	}
	
	.columna.izquierda img {
		max-width: 80%;
	}
	
	.columna.derecha {
		text-align: justify;
	}
	

  
  /*Anteproyecto*/
  .anteproyecto-item .anteproyecto-texto{
	  
	  font-size:1.3rem;
	  font-weight:400;
  }
  
  
  .titulo-anteproyecto h2{
	  font-size:2.3rem;
  }
  
  /*Transparencia*/
    .hero h1 {
    font-size: 2rem;
  }
  .card {
    padding: 1.5rem 1rem;
  }
  
  /*Asignacion*/
  
  .grid-archivos {
    grid-template-columns: 1fr;
  }
  .grid-obligatorios {
    grid-template-columns: 1fr;
  }

  .grid-opcionales {
    grid-template-columns: 1fr;
  }
  .modal-content-a {
    padding: 1.2rem;
    max-height: 85vh;        /* un poco menos en móvil */
  }
}

