/*
 * galeria-fotos.css
 * Venado Virtual
 *
 * Presentación reutilizable de fichas creadas por galeria-fotos.js.
 * El modal DEM conserva sus estilos en visor-mapa-modal.css.
 */

:root {
  --gf-texto: #252525;
  --gf-suave: #666;
  --gf-borde: #d7d7d7;
  --gf-fondo: #fff;
  --gf-fondo-suave: #f7f7f3;
  --gf-boton-principal: #343a40;
  --gf-boton-principal-hover: #212529;
}


.gf-contenedor {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1rem;
  color: var(--gf-texto);
}


.gf-lead {
  max-width: 850px;
  font-size: 1.12rem;
  line-height: 1.55;
  color: var(--gf-suave);
}


.gf-nav-simple {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin: 1rem 0 1.5rem;
}


.gf-nav-simple a,
.gf-boton {
  display: inline-block;
  padding: .48rem .72rem;
  border: 1px solid var(--gf-borde);
  border-radius: .25rem;
  background: var(--gf-fondo-suave);
  color: var(--gf-texto);
  font: inherit;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}


.gf-nav-simple a:hover,
.gf-boton:hover,
.gf-nav-simple a:focus-visible,
.gf-boton:focus-visible {
  background: #eeeeea;
}


.gf-boton--principal {
  border-color: var(--gf-boton-principal);
  background: var(--gf-boton-principal);
  color: #fff;
}


.gf-boton--principal:hover,
.gf-boton--principal:focus-visible {
  border-color: var(--gf-boton-principal-hover);
  background: var(--gf-boton-principal-hover);
  color: #fff;
}


.gf-galeria {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.25rem 0;
}


.gf-card-foto {
  min-width: 0;
  border: 1px solid var(--gf-borde);
  background: var(--gf-fondo);
}


.gf-card-imagen-enlace {
  display: block;
  color: inherit;
}


.gf-card-foto img {
  display: block;
  width: 100%;
  height: auto;
  background: var(--gf-fondo-suave);
}


.gf-card-cuerpo {
  padding: .75rem;
}


.gf-card-cuerpo h2 {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
  line-height: 1.35;
}


.gf-card-meta {
  margin: .35rem 0;
  color: var(--gf-suave);
  font-size: .85rem;
  line-height: 1.45;
}


.gf-card-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .75rem;
}


.gf-card-acciones .gf-boton {
  font-size: .875rem;
}


@media (max-width: 992px) {

  .gf-galeria {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}


@media (max-width: 576px) {

  .gf-contenedor {
    padding: .75rem;
  }


  .gf-lead {
    font-size: 1rem;
  }


  .gf-galeria {
    grid-template-columns: 1fr;
  }


  .gf-card-acciones .gf-boton {
    flex: 1 1 100%;
  }

}
