/* ==========================================================================
   GRIGLIA SERVIZI E REGOLE GENERALI
   ========================================================================== */
.page-template-cosa-facciamo #servizi .container {
  padding: 5% var(--px);
}

#servizi {
  scroll-margin-top: 120px; 
}


/* ==========================================================================
   HERO INTERNA (Cosa Facciamo)
   ========================================================================== */
#hero-interna {
  position: relative; /* Fondamentale per l'immagine absolute */
  background-color: #000000;
  background-image: url("https://officinadellearti.org/wp-content/uploads/2026/08/wood_wave4.svg");
  padding: 0px 0 120px 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 80vh;
}

/* Contenitore dei testi: sta sopra l'immagine */
.hero-interna-wrapper {
  position: relative;
  z-index: 2;
  width: 100%;
}

.page-template-cosa-facciamo .text-col {
  width: 60%;
}

/* Immagine slegata e posizionata a destra */
.hero-bg-media {
  position: absolute;
  bottom: 0%;
  right: 10%;
  left: auto;
  width: 50%;
  height: auto;
  z-index: 1;
  transform: translateY(-50%);
  object-fit: cover;
  filter: brightness(.9);
}

/* Tipografia Hero */
#hero-interna .main-title {
  font-family: "Inter", sans-serif;
  font-size: 110px;
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -2px;
  color: #ffffff;
  margin-bottom: 40px;
}
#hero-interna .main-title .title-left{
      left: -10%;
}
#hero-interna .hero-title-italic {
  display: block;
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-size: 110px;
  color: #c3622e;
  margin-top: 10px;
}

#hero-interna .section-description {
  color: rgba(255, 255, 255, 0.8);
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 40px;
  max-width: 85%;
}
#servizi .inter-title {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}

@media (max-width: 1200px){
  #hero-interna{
    flex-direction: column-reverse;
    min-height: fit-content;
        padding: 0px 0 0px 0;
  }
  .hero-bg-media{
    position: static;
    width: 100%;
    transform: translateY(0%);
  }
  .page-template-cosa-facciamo .text-col {
    width: 100%;
  }
}


/* --- DESKTOP (Da 769px in su): Forziamo Swiper a diventare una griglia statica --- */
@media (min-width: 769px) {
  
  /* Trasformiamo il contenitore delle slide in una griglia CSS vera e propria */
  .page-template-cosa-facciamo .swiper-wrapper {
    display: flex !important;
    gap: 20px;
    transform: none !important; 
    width: 100% !important;
    flex-wrap: wrap;
  }
  
  .page-template-cosa-facciamo .swiper {
    overflow: visible !important;
  }

  /* Le singole card (slide) si adattano alla colonna della griglia */
  .page-template-cosa-facciamo .swiper-slide {
    width: calc(33.3333% - 13.5px) !important; /* Fondamentale: impedisce a Swiper di forzare la larghezza */
    height: auto;
    display: flex;
    margin: 0 !important;
  }

  /* Nascondiamo eventuali pallini o frecce di navigazione su desktop */
  .page-template-cosa-facciamo .swiper-pagination,
  .page-template-cosa-facciamo .swiper-button-next,
  .page-template-cosa-facciamo .swiper-button-prev {
    display: none !important;
  }
}

/* ==========================================================================
   MEDIA QUERIES (TABLET E SMARTPHONE)
   ========================================================================== */

/* --- TABLET: Fino a 768px --- */
@media (max-width: 768px) {

  /* Hero */
  #hero-interna {
    padding: 0px 0;
  }

  .hero-bg-media {
    width: 100%;
    height: 100%;
    box-shadow: none; /* Rimuoviamo l'ombra su mobile */
  }

  .page-template-cosa-facciamo .text-col {
    width: 100%;
    text-align: center;
  }

  #hero-interna .main-title {
    font-size: 52px;
  }

  #hero-interna .hero-title-italic {
    font-size: 56px;
  }

  #hero-interna .section-description {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  #hero-interna .hero-actions {
    display: flex;
    justify-content: center;
  }

  /* Creiamo spazio in basso nel caso il tuo template generi i pallini di navigazione */
  .page-template-cosa-facciamo .swiper {
    padding-bottom: 40px; 
  }
      #hero-interna .main-title {
        font-size: calc(20px + 7vw);
    }
    #hero-interna .section-description{

    text-align: start;
    padding-left: 20px;
    }
    #hero-interna .hero-actions{
      padding-left: 20px;
    }
}

/* --- MOBILE: Fino a 575px --- */
@media (max-width: 575px) {
  /* Griglia */
  .cf-grid {
    grid-template-columns: 1fr; /* Passa a 1 colonna */
  }
#hero-interna .hero-actions{
      padding-left: 0px;
    }
    #hero-interna .section-description {
        text-align: center;
        padding-left: 0px;
    }
    #hero-interna .main-title .title-left {
    left: 0%;
}
    #hero-interna .hero-bg-media {
        display: block !important;
    }
}
