/* --- NAV E LOGO CONFIGURAZIONE FINALE --- */
#nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  /* Alziamo la barra per far spazio a un logo grande */
  height: 100px !important;
  background: #ffffff !important;
  /* Forza il bianco puro */
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 40px !important;
  z-index: 1000;
  border-bottom: 1px solid #e2eaee;
}

.nav-logo {
  order: 1;
  /* Logo a sinistra */
  height: 100%;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.nav-logo img {
  /* Grandezza massima */
  height: 100px !important;
  width: auto;
  display: block;
  /* TRUCCO PER IL COLORE: mix-blend-mode moltiplica i colori, 
     rendendo lo sfondo grigio del JPG trasparente sul bianco del sito */
  mix-blend-mode: multiply;
  filter: contrast(110%);
  /* Rende il logo più nitido */
}

.nav-links {
  order: 2;
  /* Menu a destra */
  display: flex;
  list-style: none;
  gap: 30px;
  align-items: center;
}

.nav-links a {
  text-decoration: none;
  color: #18232a;
  font-weight: 500;
  cursor: pointer;
}

/* Fix per Mobile: riduciamo le dimensioni per non coprire lo schermo */
@media (max-width: 768px) {
  #nav {
    height: 90px !important;
    padding: 0 15px !important;
  }

  .nav-logo img {
    height: 70px !important;
  }

  .nav-links {
    display: none;
  }
}

.card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Riempie il riquadro */
  display: block;
}

/* --- FIX TAGLIO FOTO APPARTAMENTI --- */
.apt-hero {
  width: 100%;
  height: 450px;
  /* Altezza fissa per coerenza */
  overflow: hidden;
  border-radius: 15px;
  margin-bottom: 30px;
}

.apt-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Riempie lo spazio senza deformare */
  object-position: center 30%;
  /* Inquadra meglio, dando priorità alla parte alta (dove ci sono i visi o i dettagli) */
  display: block;
}