/* --- Galería Flota (3 columnas responsive) --- */
.fleet-grid .grid.gallery{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr)); /* 3 columnas desktop */
  gap:20px;
  align-items:start;
}
.card.photo{
  padding:0; margin:0;
  overflow:hidden; border-radius:16px;
  border:1px solid #eee; background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
}
.card.photo img{
  width:100%;
  height:auto;
  aspect-ratio: 16/9;               /* todas iguales */
  object-fit: cover;                 /* recorte limpio */
  display:block;
  transition:transform .25s ease, filter .25s ease;
}
.card.photo:hover img{ transform:scale(1.03); filter:contrast(1.05); }
.card.photo figcaption{
  padding:12px 14px;
  font-size:14px;
  font-weight:700;                   /* negrita */
  letter-spacing:.2px;
  line-height:1.2;
  text-transform:uppercase;
  border-top:1px solid #f0f0f0;
  background:#fff; color:#2f2f2f;
  min-height:42px;
}

/* tablet: 2 columnas */
@media (max-width: 1024px){
  .fleet-grid .grid.gallery{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
/* móvil: 1 columna */
@media (max-width: 640px){
  .fleet-grid .grid.gallery{ grid-template-columns: 1fr; }
  .card.photo img{ aspect-ratio: 16/10; } /* un pelín más alto en móvil */
}
/* --- Texto global en negrita --- */
body, h1, h2, h3, h4, h5, h6, p, li, a, small, label, th, td, button {
  font-weight: 700;
}

/* Excepciones: inputs/selects/textarea de la página Pilotos SIN negrita */
main.pilotos input,
main.pilotos select,
main.pilotos textarea,
main.pilotos .btn {
  font-weight: 400;
}

/* Para que las casillas (placeholders) no se vean demasiado gruesas */
::placeholder { font-weight: 400; opacity:.7; }

