.press-logos{
  justify-content: center; /* en móvil queda mejor */
}

.press-logos .logo-item{
  flex: 0 1 auto; /* permite que se ajusten */
}

.press-logos img{
  max-width: 200px;   /* ajusta a tu gusto */
  width: 100%;
  height: auto;
  display: block;
}

.storage-steps > div{
  display: flex;
  flex-direction: column;
  align-items: center;
}

.storage-steps .icon-circle{
  display: grid;
  place-items: center;
  width: 56px;     /* ajusta si quieres */
  height: 56px;
  border-radius: 50%;
}

.storage-steps small{
  display: block;
  text-align: center;
  margin-top: 8px;
  line-height: 1.2;
}

/* Evita saltos por alturas distintas */
.fleet-img{
  aspect-ratio: 16 / 9;     /* ajusta si tus imágenes son 4/3 etc. */
  object-fit: cover;
}

/* Thumbnails */
.fleet-thumbs{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.fleet-thumb{
  border: 2px solid transparent;
  border-radius: 12px;
  padding: 0;
  background: transparent;
  width: 72px;
  height: 54px;
  overflow: hidden;
  cursor: pointer;
}

.fleet-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.fleet-thumb.active,
.fleet-thumb:focus-visible{
  border-color: #0d6efd; /* color bootstrap primary */
  outline: none;
}

/* En móvil, thumbnails más grandes y centrados */
@media (max-width: 576px){
  .fleet-thumbs{
    justify-content: center;
  }
  .fleet-thumb{
    width: 78px;
    height: 58px;
  }
}

/* Contenedor recomendado para evitar que se vea “fuera” al entrar */
.hero-section{
  overflow-x: hidden;
}

/* Animación de entrada del camión */
.hero-section{ overflow-x: hidden; }

.truck{
  will-change: transform, opacity, filter;
}

/* Estado inicial: no anima hasta que se active */
.truck--hidden{
  opacity: 0;
  transform: translateX(-60vw) scale(0.98);
  filter: blur(2px);
}

/* Cuando se activa, animación */
.truck--animate{
  animation: truckIn 900ms cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes truckIn{
  0%{
    opacity: 0;
    transform: translateX(-60vw) scale(0.98);
    filter: blur(2px);
  }
  70%{
    opacity: 1;
    transform: translateX(2vw) scale(1);
    filter: blur(0);
  }
  100%{
    opacity: 1;
    transform: translateX(0) scale(1);
    filter: blur(0);
  }
}

@media (prefers-reduced-motion: reduce){
  .truck--hidden{ opacity: 1; transform: none; filter: none; }
  .truck--animate{ animation: none; }
}


/* Card */
.booking-card--pretty {
    background: #fff;
    border: 1px solid rgba(16, 24, 40, 0.08);
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 12px 30px rgba(16, 24, 40, 0.08);
  }
  
  /* Labels */
  .booking-label {
    font-size: 12px;
    letter-spacing: 0.02em;
    color: rgba(17, 24, 39, 0.65);
    margin-bottom: 8px;
  }
  
  /* Inputs */
  .booking-input {
    height: 52px;
    border-radius: 12px;
    border: 1px solid rgba(16, 24, 40, 0.12);
    padding: 0 14px;
    transition: box-shadow .15s ease, border-color .15s ease, transform .15s ease;
  }
  
  .booking-input::placeholder {
    color: rgba(17, 24, 39, 0.35);
  }
  
  /* Focus state (azul #00a0df) */
  .booking-input:focus {
    border-color: rgba(0, 160, 223, 0.6);
    box-shadow: 0 0 0 4px rgba(0, 160, 223, 0.16);
  }
  
  /* Select: alinea altura y padding */
  select.booking-input {
    padding-right: 38px;
  }
  
  /* CTA (azul #00a0df) */
  .btn-cta.booking-cta {
    height: 52px;
    border-radius: 12px;
    border: 0;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: #fff;
  
    background: linear-gradient(135deg, #00a0df 0%, #0077b6 100%);
    box-shadow: 0 12px 22px rgba(0, 160, 223, 0.28);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
  }
  
  .btn-cta.booking-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 30px rgba(0, 160, 223, 0.32);
    filter: brightness(1.03);
  }
  
  .btn-cta.booking-cta:active {
    transform: translateY(0);
    box-shadow: 0 10px 18px rgba(0, 160, 223, 0.24);
  }
  
  /* Link */
  .booking-link {
    display: inline-block;
    font-size: 13px;
    color: rgba(17, 24, 39, 0.75);
    text-decoration: none;
    padding: 10px 0;
  }
  
  .booking-link:hover {
    color: rgba(17, 24, 39, 0.95);
    text-decoration: underline;
  }
  
  /* Un pelín más de aire en móvil */
  @media (max-width: 575.98px) {
    .booking-card--pretty {
      padding: 18px;
      border-radius: 14px;
    }
  }
  