@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap");

body {
  margin: 0;
  background-color: #fff;
  font-family: "Fjalla One", sans-serif;
}

.hero {
  position: relative;
  height: 100vh;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Div separato per l'immagine di sfondo */
.hero .background-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/hero1.jpg") no-repeat center center/cover;
  filter: brightness(40%); /* Applica il filtro solo sull'immagine */
  z-index: 1; /* Posiziona l'immagine sotto il contenuto */
}

/* Contenuto del testo sopra l'immagine */
.hero .content {
  position: relative;
  width: 80%;
  z-index: 2; /* Posiziona il testo sopra l'immagine */
  color: #fff;
  text-align: left;
  padding-top: 100px;
}
.hero h1 {
  font-size: 7vh;
  margin: 0;
  padding: 0;
  color: #f2db2d;
  font-weight: 700;
}

.hero h3 {
  font-family: "Smooch Sans", sans-serif, monospace;
  font-weight: 500;
  font-size: 2.5vh;
  margin: 0;
  padding: 0;
  color: #fff;
}

.hero h1,
.hero h3,
.hero h5 {
  margin: 10px 0;
}
.hero button {
  margin-top: 15px;
  background-color: #527ade;
  color: #fff;
  border: none;
  padding: 10px 17px;
  font-size: 1.3em;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s;
  border-radius: 10px;
}

.hero button:hover {
  background-color: #fff;
  color: #527ade;
}

/* Stile per la griglia dei post */
#posts-container {
  max-width: 1200px; /* Larghezza massima del contenitore */
  margin: 0 auto; /* Centra il contenitore */
  padding: 20px;
}
#posts-container h1 {
  color: #000000;
  font-size: 36px;
  text-align: center;
  margin: 0;
}

#posts-container .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 colonne di uguale larghezza */
  gap: 20px; /* Spazio tra gli elementi della griglia */
  margin: 15px;
}

#posts-container article {
  background-color: rgb(247, 241, 241);
  border-radius: 10px; /* Bordi arrotondati */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Ombra leggera */
  padding: 0;
  text-align: center; /* Centra il contenuto */
  border-radius: 10px;
}

/* Stile per le immagini */
#posts-container img {
  max-width: 100%;
  height: auto;
  border-radius: 10px 10px 0 0;
  border: none;
}
#posts-container .more-articles {
  text-align: center;
}
#posts-container .more-articles button {
  background-color: #527ade;
  align-items: center;
  color: #fff;
  border: 3px solid #527ade;
  padding: 10px 17px;
  font-size: 1.2em;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s;
  margin: 0;
  padding: 10px;
  margin: 15px;
  border-radius: 10px;
}
.services {
  display: block;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 50px 0;
  text-align: center;
}
.divider {
  width: 100px; /* Larghezza della linea */
  height: 3px; /* Spessore della linea */
  background-color: #f2db2d; /* Colore della linea */
  border: none; /* Rimuove i bordi predefiniti */
  margin: 10px auto; /* Centra la linea */
}

/* Sezione Servizi */
.services {
  padding: 50px 20px;
  text-align: center;
  background-color: #f5f5f5; /* Sfondo chiaro per contrasto */
}

.services h2 {
  font-size: 36px;
  color: #527ade; /* Colore blu dell'header */
  margin-bottom: 10px;
}

.services .subtitle {
  font-size: 18px;
  color: #666;
  margin-bottom: 40px;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 colonne uguali */
  grid-gap: 20px; /* Spazio tra gli elementi */
  max-width: 1200px; /* Larghezza massima della griglia */
  margin: 0 auto; /* Centra la griglia */
}

.service-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 10px; /* Bordi arrotondati */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Ombra leggera */
}

.service-item img {
  width: 100%;
  height: 200px; /* Altezza fissa per uniformità */
  object-fit: cover; /* Ritaglia l'immagine se necessario */
  border-radius: 10px 10px 0 0;
}

.service-item h3 {
  font-size: 18px;
  color: #333;
  margin-top: 10px;
  text-align: center;
}

/* Sezione Skills */
.skills {
  padding: 50px 20px;
  text-align: center;
  background-color: #fff;
  
}

.skills h2 {
  font-size: 36px;
  color: #527ade;
  margin-bottom: 40px;
}

.skills-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  
}

.skill-item {
  background-color: #527ade;
  height: 250px; /* Aumentato per ospitare cerchio + testo */
  display: flex;
  flex-direction: column; /* Cerchio sopra, testo sotto */
  justify-content: center; /* Centra verticalmente */
  align-items: center; /* Centra orizzontalmente */
  border-radius: 10px; /* Bordi arrotondati */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Ombra leggera */
}

.skill-circle {
  width: 120px; /* Dimensione del cerchio ridotta per spazio */
  height: 120px;
  background-color: #fff;
  color: #f2db2d;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px; /* Dimensione icona */
  margin-bottom: 15px; /* Spazio tra cerchio e testo */
}

.skill-item h3 {
  font-size: 22px;
  color: #f2db2d;
  margin: 0; /* Rimuove margini extra */
}

/* ... Stili precedenti invariati ... */

/* Sezione Ultimi Lavori */
.latest-works {
  padding: 50px 20px;
  text-align: center;
  background-color: #f5f5f5; /* Sfondo chiaro */
}

.latest-works h2 {
  font-size: 36px;
  color: #527ade; /* Colore blu */
  margin-bottom: 40px;
}

.slideshow {
  position: relative;
  max-width: 60%;
  margin: 0 auto;
  overflow: hidden; /* Nasconde le immagini non attive */
}

.slides {
  position: relative;
  width: 100%;
  height: 600px; /* Altezza fissa per lo slideshow */
  touch-action: pan-y pinch-zoom; /* Permette il pinch-to-zoom ma non il pan orizzontale di default */
}

.slides img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ritaglia le immagini per riempire */
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0; /* Nasconde tutte le immagini di default */
  transition: opacity 0.5s ease; /* Transizione fluida */
  border-radius: 10px;
}

.slides img.active {
  opacity: 1; /* Mostra solo l'immagine attiva */
}

.arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5); /* Sfondo semitrasparente */
  color: white;
  border: none;
  padding: 10px;
  cursor: pointer;
  font-size: 24px;
  z-index: 10;
  border-radius: 10%; /* Frecce circolari */
}

.left-arrow {
  left: 20px;
}

.right-arrow {
  right: 20px;
}

.arrow:hover {
  background-color: rgba(0, 0, 0, 0.8); /* Hover più scuro */
}

/* ... Stili precedenti invariati ... */

/* Sezione Recensioni */
.reviews {
  padding: 50px 20px;
  text-align: center;
  background-color: #fff; /* Sfondo bianco */
}

.reviews h2 {
  font-size: 36px;
  color: #527ade; /* Colore blu */
  margin-bottom: 10px;
}

.reviews .subtitle {
  font-size: 18px;
  color: #666;
  margin-bottom: 40px;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 colonne */
  grid-gap: 30px; /* Spazio tra le recensioni */
  max-width: 1200px; /* Larghezza massima */
  margin: 0 auto; /* Centra la griglia */
}

.review-item {
  background-color: #f5f5f5; /* Sfondo chiaro */
  padding: 20px;
  border-radius: 10px; /* Bordi arrotondati */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Ombra leggera */
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* Spazio tra testo e nome */
  height: 200px; /* Altezza fissa per uniformità */
}

.review-text {
  font-size: 16px;
  color: #333;
  font-style: italic; /* Stile corsivo per le citazioni */
  margin: 0;
  flex-grow: 1; /* Permette al testo di occupare spazio */
  display: flex;
  align-items: center; /* Centra verticalmente il testo */
  text-align: center;
}

.reviewer-name {
  font-size: 18px;
  color: #527ade; /* Colore blu per il nome */
  margin-top: 15px;
  font-weight: bold;
}

@media (max-width: 1149px) {
  .hero .content {
    width: 90%;
  }
  .hero h1 {
    font-size: 2em;
    text-align: center;
  }
  .hero h3 {
    font-size: 1em;
    text-align: center;
  }
  .hero button {
    width: 100%;
  }
  .services-grid {
    grid-template-columns: 1fr; /* Una colonna su mobile */
  }
  .service-item img {
    height: 150px; /* Riduci altezza su mobile */
  }
  #posts-container h1 {
    font-size: 2em;
  }
  #posts-container .grid {
    grid-template-columns: 1fr; /* 1 colonna su mobile */
  }
  .skills-grid {
    grid-template-columns: 1fr;
  }

  .skill-item {
    height: 200px; /* Riduci altezza su mobile */
  }

  .skill-circle {
    width: 100px;
    height: 100px;
    font-size: 30px; /* Icona più piccola su mobile */
  }
  .slideshow {
    max-width: 100%;
  }
  .slides {
    height: 250px; /* Altezza ridotta su mobile */
  }

  .arrow {
    padding: 10px;
    font-size: 18px;
  }

  .reviews-grid {
    grid-template-columns: 1fr; /* Una colonna su mobile */
  }

  .review-item {
    height: auto; /* Altezza dinamica su mobile */
    padding: 15px;
  }

  .review-text {
    font-size: 14px;
  }

  .reviewer-name {
    font-size: 16px;
  }
}

/* Common title container style for all pages */
.title-container {
  text-align: center;
  padding: 50px 20px;
  margin-top: 100px;
  background-color: #fff;
}

.title-container h1 {
  font-size: 36px;
  color: #527ade;
  margin: 0;
  font-family: "Fjalla One", sans-serif;
}
