.cabecera {
  width: 100%;
  background: url(../img/cabecera-lugodeporte.jpg) top center no-repeat;
  background-size: contain;       /* Imagen completa sin recorte */
  border-top: 6px solid #f39207;
  aspect-ratio: 4.01 / 1;         /* Proporción exacta según tu imagen */
}

	a {
		color: #f39207;
	}
	
	.blanco {
		background: #fff;
		padding: 25px;
	}
	
	.h2, h2 {
		font-size: 20px;
		color: #f39207;
		font-weight: bold;
	}
	.h3, h3 {
    font-size: 19px !important;
	color: #f39207;
	font-weight: bold;
	}	
	.col-sm-12 {
		padding: 0;
	}
	iframe {
		width: 100%;
	    height: 300px;
	}
	.maps {
		position: relative;
	}
	.mapsbox {
   /* position: absolute;
    width: 38em;*/
		background: #fff;
        padding: 2em 3em;
   /* right: 4em;
    top: 4em;
    -webkit-box-shadow: 0px 0px 13px 0px rgba(110,110,110,1);
    -moz-box-shadow: 0px 0px 13px 0px rgba(110,110,110,1);
    box-shadow: #0000004d 0px 1px 4px -1px;*/
	}
	.contdpt{
		padding-bottom: 0.5em;
		padding-top: 0.5em;
		padding-right: 0.5em;
		padding-left: 0.5em;	
	}
	.secdpt {
		margin-top: 2em;
		margin-bottom: 2em;
		display: inline-block;
	}
	.publ{
		background: #f39207;
		text-align: center;
	}
	.publc{
		padding: 50px;
	}
	.publc p, .publc h2, .publc .h2{
		color:#fff;
	}
	.text-muted {
		color: #fff;
		margin-top: 1em;
		margin-bottom: 1em;
		text-align: center;
	}
	.cont-os{
	    background: #fff7f3;
		padding-bottom: 0.5em;
		padding-top: 0.5em;
		padding-right: 0.5em;
		padding-left: 0.5em;		
	}
	p {
		margin: 0 0 10px;
		font-size: 12pt;
		color: #545454;
		line-height: 2em;
		text-align: justify;
	}
	li {
		font-size: 12pt;
		color: #545454;
		line-height: 2em;
	}
	.btn-primary {
		color: #fff;
		background-color: #f39207;
		border-color: #f39207;
		border-radius: 0px !important;
	}
	.texfor p{
		font-size: 9pt;
		margin: 0;
	}

/* --- Ajustes Responsive --- */
@media (max-width: 1024px) and (min-width: 601px) {
  .cabecera {
    aspect-ratio: 3 / 1;           /* Ajusta un poco la altura para tablet */
  }
}

@media (max-width: 600px) {
  .cabecera {
    aspect-ratio: 2 / 1;           /* Cabecera más alta para móviles */
  }
}


/* Galería base */
.galeria {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}

.zoomable {
  width: 275px;
  height: auto;
  border-radius: 8px;
  cursor: zoom-in;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.zoomable-colab {
  width: 100%;
  height: auto;
  border-radius: 8px;
  cursor: zoom-in;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.zoomable:hover {
  transform: scale(1.80); /* Hover más grande */
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

.zoomable-colab:hover {
  transform: scale(1.30); /* Hover más grande */
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

/* Overlay del zoom */
.zoom-overlay {
  display: none;
  position: fixed; /* Sobre todo el contenido */
  z-index: 9999;   /* Siempre encima */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
  overflow: hidden;
  animation: fadeIn 0.3s ease;
}

/* Imagen ampliada */
.zoom-overlay img {
  max-width: 95%;
  max-height: 90vh;
  border-radius: 10px;
  box-shadow: 0 0 25px rgba(255,255,255,0.35);
  position: relative; /* Para que z-index funcione */
  z-index: 10000;
  transform: scale(0.85);
  opacity: 0;
  animation: zoomIn 0.35s ease forwards;
}

/* Botón cerrar */
.cerrar-zoom {
  position: fixed;
  top: 20px;
  right: 35px;
  color: #fff;
}

.icon {
width: 40px;
  height: 36px;
  vertical-align: -0.575em;
  fill: #f39207;        /* Cambia el color de relleno */
  stroke: black;    /* (opcional) color del borde */
  stroke-width: 2;
  }