* {
    padding: 0;
    margin: 0;
  }
  
  
  /* ----------------- Desktop ----------------- */
  
  @media screen and (min-width: 1025px) {
  .nascondi-desktop {
    display:none!important;
  }

  .container {
    min-width: 1366px;
  }

  #layoutMobile, .cta-sm, .cta-sm-due, .cta-sm-tre {
    display: none!important;
  }

  }




  /* ----------------- Tablet ----------------- */
  
  @media screen and (max-width: 1024px) and (min-width: 500px) {

  .nascondi-tablet {
    display:none!important;
  }

  #layoutMobile, .cta-sm, .cta-sm-due, .cta-sm-tre {
    display: none!important;
  }

  /* tablet touch: niente hover, le anteprime restano sempre visibili in flusso */
  #prodottiCalcestruzzo {
    .riga-head {
      width: 100%;
    }

    .freccia {
      display: none;
    }

    .riga-preview {
      position: static;
      width: 100%;
      opacity: 1;
      visibility: visible;
      transform: none;
      pointer-events: auto;
      padding-top: 25px;
    }
  }



  }
  
  
  
  
  /* ----------------- Smartphone ----------------- */
  
  @media screen and (max-width: 500px) {
  
  .nascondi-smartphone {
  display: none!important;
  }

  .col-7, .col-12, .col-4, .col-5, .col-6, .col-11, .col-8 {
    padding: 0 5%;
  }

  #layoutDesktop, .read-more-wrap, .cursore, .outline, .read-more-wrap-bianco, .read-more-wrap-verde {
    display: none!important;
  }

  body {
    font-size: 4vw;
  }

  html {
    scroll-behavior: smooth;
  }

  h1 {
    font-size: 11vw;
    margin-bottom: 0;
  }

  h3 {
    font-size: 7vw;
    margin-bottom: 0;
  }

  h4 {
    font-size: 4.5vw;
    margin-bottom: 0;
  }

  h5 {
    margin-bottom: 0;
  }

  p {
    margin-bottom: 0;
  }

  #heroHome {
    padding-bottom: 50px;

    h1 {
      padding-bottom: 20px;
    }

    h4 {
      font-size: 4.5vw;
    }

    h3 {
      padding-bottom: 50px;
    }
  }

  #heroPagina {
    padding: 120px 0 50px;

    h2 {
      display: none;
    }

    h1 {
      font-size: 13vw;
      padding-top: 25px;
      padding-bottom: 50px;
    }

    h3 {
      font-size: 6vw;
      padding-bottom: 25px;
    }

    h4 {
      font-size: 4.5vw;
    }
  }

  #heroPaginaAlt {
    padding: 120px 0 50px;

    .col-lg-7 {
      padding-right: 0;
    }

    .etichetta {
      font-size: 4vw;
      margin-bottom: 35px;
    }

    h1 {
      font-size: 13vw;
      padding-bottom: 35px;
    }

    h3 {
      font-size: 6vw;
      padding-bottom: 35px;
    }

    h4 {
      font-size: 4.5vw;
    }

    .cont-img {
      height: 70vw;
      margin-top: 50px;
    }
  }

  #sostenibilita.servizi-ambiente {
    padding: 75px 0;

    h2 {
      font-size: 13vw;
      padding-bottom: 50px;
    }

    .servizi-grid {
      grid-template-columns: 1fr;
    }

    .servizio {
      padding: 35px;

      h3 {
        font-size: 7vw;
        padding-bottom: 20px;
      }

      .cont-img {
        padding-top: 35px;

        img {
          height: 30vh;
          border-radius: 25px;
        }
      }
    }
  }

  #introCalcestruzzo {
    padding: 75px 0;
    background: var(--verde-due);

    .cont-img {
      height: 70vw;
      margin-bottom: 50px;
    }

    .testo {
      padding-left: 5%;
    }

    h5 {
      font-size: 8.5vw;
      color: var(--bianco);
    }
  }

  #prodottiMobile {
    padding: 75px 0;

    h2 {
      font-size: 12vw;
      padding-bottom: 25px;
    }

    span.eracem {
      font-size: 100%;
    }

    .voce {
      border-top: 1px solid rgba(0, 0, 0, .15);

      &:last-child {
        border-bottom: 1px solid rgba(0, 0, 0, .15);
      }
    }

    .voce-head {
      display: flex;
      align-items: center;
      gap: 20px;
      padding: 25px 0;

      .numero {
        font-family: var(--font-titolo);
        font-size: 5vw;
        color: var(--verde);
      }

      h3 {
        flex: 1;
        font-size: 7vw;
        color: var(--nero);
      }

      .toggle-icon {
        font-family: var(--font-titolo);
        font-size: 8vw;
        color: var(--verde);
        line-height: 1;
      }
    }

    .voce-body {
      padding-bottom: 35px;

      .cont-img {
        width: 100%;
        height: 60vw;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
        }
      }

      p {
        padding-top: 25px;
      }
    }
  }

  #aziendaChiSiamo {
    padding: 75px 0 0;

    .cont-img {
      height: 70vw;
      margin-bottom: 50px;
    }

    .row {
      flex-direction: column-reverse;
    }

    .testo {
      padding-left: 5%;

      p {
        width: 100%;
        margin-bottom: 25px;
      }
    }

    .logo {
      margin-bottom: 50px;
    }

    h5 {
      font-size: 6vw;
      padding-top: 35px;
      padding-bottom: 35px;
      width: 85%;
    }

    .cont-img {
      display: none;
    }
  }

  #immAzienda {

    .cont-img {
      height: 400px;
    }
  }

  #principi {
    padding: 50px 0 0;
    border-radius: 0px 0px 49px 51px;
    -webkit-border-radius: 0px 0px 49px 51px;
    -moz-border-radius: 0px 0px 49px 51px;

    .lato-img .cont-img {
      min-height: 0;
      height: 80vw;
      margin-bottom: 20px;
    }

    .stats {
      position: static;
      gap: 15px;
    }

    .stat-card {
      width: 50%;
      height: auto;
      min-height: 180px;
      padding: 25px;

      h4 {
        font-size: 3.2vw;
      }

      .counter {
        font-size: 11vw;
      }
    }

    .lato-testo {
      margin-top: 50px;
      padding: 50px 35px;
      background: rgba(0, 0, 0, 0.7);

      h2 {
        font-size: 9vw;
        padding-bottom: 25px;
      }
    }

    .eyebrow {
      font-size: 3.5vw;
    }

    .cont-titolo {
      h3 {
        font-size: 6vw;
      }

      .arrow {
        font-size: 6vw;
      }
    }
  }

  #sostenibilitaChiSiamo {
    padding: 50px 0;

    h2 {
      font-size: 11vw;
      margin-bottom: 35px;
    }

    .testo {
      padding-left: 5%;
    }
  }

  #homeDue {
    padding: 50px 0;

    h2 {
      padding-left: 0;
      font-size: 16vw;
      padding-bottom: 50px;
    }

    .uno {
      height: 400px;
      margin-bottom: 50px;
    }
  }

  #divisioniHome {

    .riga {
      display: block;
    }

    h2 {
      font-size: 9vw;
      border-radius: 35px;
      margin-bottom: 100px;
    }

    .calcestruzzo, .ambiente {
      padding: 35px;
      margin-bottom: 25px;
    }
  }

  #marqueeSec {
    padding: 35px 0 50px;

    .img {
      top: 0;
      width: 70vw;
    }

    .cont-marquee {

      h2 {
        font-size: 65px;
      }
    }
  }

  #fiducia {
    padding: 50px 0!important;
    margin-top: 25px!important;

    h2 {
      text-align: left!important;
      font-size: 13vw!important;
      line-height: 1.2em;
    }

    span.eracem {
      font-size: 20vw!important;
    }

    .col-12 {
      padding: 0 5%;
    }

    .cards-wrapper {
      overflow: hidden;
      border-radius: 0;
    }

    .cards-track {
      gap: 0;
      align-items: stretch;
    }

    .fiducia-pagination {
      position: static;
      margin-top: 25px;
      text-align: center;

      .swiper-pagination-bullet {
        background: var(--nero);
        opacity: .25;
      }

      .swiper-pagination-bullet-active {
        background: var(--verde);
        opacity: 1;
      }
    }

    .cont {
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .cont-testo {
      width: 100%;
      padding-right: 0;

      p {
        padding-bottom: 35px;
      }
    }

    .uno, .due {
      padding: 35px;
    }

    .tre {
      padding: 35px;
      width: 100%;
    }

    h3 {
      padding-bottom: 35px;
    }

    .cont-img {
      width: 100%;
      height: 40vw;
      margin-top: auto;

      img {
        height: 100%;
      }
    }
  }

  #sostenibilita.sostenibilita-home {
    padding: 50px 0;

    h2 {
      font-size: 16vw;
      padding-bottom: 25px;
    }
    
    h3 {
      padding-bottom: 35px;
    }

    h5 {
      padding-bottom: 50px;
    }
  }

  footer {
    padding: 50px 0 5%;

    .col-12 {
      padding: 0;
    }

    #certificazioniContatti {
      padding-left: 5%;
      padding-right: 5%;

      h3 {
        font-size: 9vw;
      }

      .row {
        flex-direction: column-reverse;
      }
    }

    .cta {

      h5 {
        padding-top: 25px;
      }
    }

    .form-contatti {
      margin-top: 50px;
      padding: 35px 50px;

      p {
        font-size: 8vw;
        padding-bottom: 15px;
        line-height: 1em;
      }

      a {
        font-size: 8vw;
      }

      form {
        margin-top: 50px;

        .row {
          flex-direction: column!important;
          margin: 0;
        }

        .col-12 {
          margin: 5px 0;
        }

        button {
          font-size: 5vw;
          margin-top: 25px;
        }

        label {
          font-size: 12px;
        }
      }
    }

    .dati {
      display: block;
      font-size: 90%;
    }
  }

  #servizioCompleto {
    padding: 50px 0;

    h4 {
      font-size: 7vw;
      height: fit-content;
    }

    .float-img.f1 { width: 70vw; height: 20vh; left: 5%;  top: 26%; }
    .float-img.f2 { width: 70vw; height: 20vh; left: 25%; top: 14%; }
    .float-img.f3 { width: 70vw; height: 20vh; left: 5%; top: 46%; }
    .float-img.f4 { width: 70vw; height: 20vh; left: 25%; top: 60%; }

  }

  #marqueeSec.ambiente {

    h2 {
      font-size: 3em!important;
    }
  }

  #prodottiMobile {

    .cont-titolo {
      display: flex;
      justify-content: space-between;
      align-items: center;
      background: var(--verde);
      padding: 10px 15px;
      border-radius: 1em;
      margin-bottom: 20px;

      span {
        font-family: var(--font-titolo);
        font-size: 6vw;
        color: var(--bianco);
      }
    }

    .cont-testo {
      padding: 0 10px;
    }

    .cont-img {
      width: 100%;
      height: 50vw;
      margin: 35px 0;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    .due {
      background: var(--verde-due);
    }

    .tre {
      background: var(--verde-tre);
    }
  }

  #sostenibilita.marquee-sec {
    padding: 50px 0;
  }

  #grazie {
    padding: 50px 5%;

    .logo img {
      width: 60vw;
      margin-bottom: 75px;
    }

    h1 {
      font-size: 16vw;
      padding-bottom: 25px;
    }

    p {
      font-size: 5vw;
      padding-bottom: 35px;
    }

    .btn-home {
      width: 100%;
      font-size: 5vw;
    }
  }






}