/*
 * Correzioni manuali al tema Mobirise.
 * Caricato dopo mbr-additional.css: non viene sovrascritto quando Mobirise rigenera il sito.
 */

/* ---------- Menu in alto ---------- */

/* Stato trasparente (sopra la foto): testo bianco con ombra leggera per staccarlo dallo sfondo */
.cid-sRyKQYa4iw .navbar .nav-link.text-black {
  color: #ffffff !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.cid-sRyKQYa4iw .navbar .nav-link.text-black:hover,
.cid-sRyKQYa4iw .navbar .nav-link.text-black:focus {
  color: #ffffff !important;
}
/* Al passaggio del mouse la linea rossa sotto la voce si allunga per tutta la parola */
.cid-sRyKQYa4iw a.nav-link:hover::before,
.cid-sRyKQYa4iw a.nav-link:focus::before {
  width: 100%;
  background-color: #e9204f;
}
.cid-sRyKQYa4iw .navbar .nav-link:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 4px;
}
.cid-sRyKQYa4iw button.navbar-toggler .hamburger span {
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Menu su sfondo bianco (dopo lo scroll o aperto da smartphone): testo scuro, hover rosso */
.cid-sRyKQYa4iw .navbar.navbar-short .nav-link.text-black,
.cid-sRyKQYa4iw .navbar.opened .nav-link.text-black {
  color: #101010 !important;
  text-shadow: none;
}
.cid-sRyKQYa4iw .navbar.navbar-short .nav-link.text-black:hover,
.cid-sRyKQYa4iw .navbar.navbar-short .nav-link.text-black:focus,
.cid-sRyKQYa4iw .navbar.opened .nav-link.text-black:hover,
.cid-sRyKQYa4iw .navbar.opened .nav-link.text-black:focus {
  color: #e1201d !important;
}
.cid-sRyKQYa4iw .navbar.navbar-short .nav-link:focus-visible,
.cid-sRyKQYa4iw .navbar.opened .nav-link:focus-visible {
  outline-color: #101010;
}
.cid-sRyKQYa4iw .navbar.navbar-short button.navbar-toggler .hamburger span,
.cid-sRyKQYa4iw .navbar.opened button.navbar-toggler .hamburger span {
  background-color: #101010;
  box-shadow: none;
}
.cid-sRyKQYa4iw .navbar.navbar-short {
  opacity: 1;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}

/* ---------- Sezione iniziale (titolo + foto con il telefono) ---------- */

.cid-sRyLrzQFps .hero-phone {
  display: none;
}
/* Spaziatura proporzionale alla dimensione: quella fissa del tema (-2px) stringe troppo il titolo ridotto */
.cid-sRyLrzQFps .mbr-section-title.display-1 {
  letter-spacing: -0.015em;
}

/* Desktop: il testo resta nella metà sinistra, il telefono della foto nella metà destra */
@media (min-width: 992px) {
  .cid-sRyLrzQFps {
    background-image:
      linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.3) 40%, rgba(0, 0, 0, 0) 58%),
      url("../images/home-1920x1211.jpg");
  }
  .cid-sRyLrzQFps .block-title {
    flex: 0 0 52%;
    max-width: 52%;
  }
  .cid-sRyLrzQFps .mbr-section-title.display-1 {
    font-size: clamp(2.6rem, 3.6vw, 4.2rem);
    line-height: 1.1;
  }
}

/* Tablet e smartphone: la foto non può stare accanto al testo.
   Lo sfondo mostra la parte sfocata a sinistra, scurita per leggere il testo,
   e il telefono compare come immagine sotto il pulsante. */
@media (max-width: 991px) {
  .cid-sRyLrzQFps {
    padding-top: 160px;
    background-image:
      linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)),
      url("../images/home-1920x1211.jpg");
    background-position: 0% 0%;
  }
  .cid-sRyLrzQFps .row {
    padding-bottom: 4rem;
  }
  .cid-sRyLrzQFps .mbr-section-title.display-1 {
    font-size: clamp(2.1rem, 6.5vw, 3.6rem);
    line-height: 1.12;
    overflow-wrap: break-word;
  }
  .cid-sRyLrzQFps .hero-phone {
    display: block;
    width: 100%;
    max-width: 340px;
    height: auto;
    margin: 2.5rem auto 0;
    /* Bordi sfumati: il ritaglio si fonde con lo sfondo scuro */
    -webkit-mask-image:
      linear-gradient(to right, transparent 0%, #000 14%, #000 86%, transparent 100%),
      linear-gradient(to bottom, transparent 0%, #000 8%, #000 78%, transparent 100%);
    -webkit-mask-composite: source-in;
    mask-image:
      linear-gradient(to right, transparent 0%, #000 14%, #000 86%, transparent 100%),
      linear-gradient(to bottom, transparent 0%, #000 8%, #000 78%, transparent 100%);
    mask-composite: intersect;
  }
}

@media (max-width: 575px) {
  .cid-sRyLrzQFps {
    padding-top: 130px;
  }
  .cid-sRyLrzQFps .hero-phone {
    max-width: 280px;
  }
}
