/* ! Base Style */
/* ----------------------------------------------------------------------------------- */
body{ font-size: 16px; color:#333; font-family: "Calibri", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;}
a{text-decoration: none;color: #000;}
p{line-height: 1.3}


/* ! Title System */
/* ----------------------------------------------------------------------------------- */
.text-0{font-size: 5rem;}
h1, .text-1{font-size: 3rem;}
h2, .text-2{font-size: 1.9rem;font-weight: normal;}
h3, .text-3{font-size: 1.5rem;}
h4, p, .text-4, ol,ul{font-size: 1.2rem;}

h1, h2, h3, h4, p, ol, ul{margin-bottom: 1rem;line-height: 1.3;}

.garamond{font-family: Garamond;}

@media (max-width: 768px) {
  .text-0{font-size: 4rem}
  h1, .text-1{font-size: 1.5rem;}
  h2, .text-2{font-size: 1.4rem;font-weight: normal;}
}


/* Spazio cover per tablet */

/* per lo scrool uniforme */
html {
  scroll-behavior: smooth;
}


/* ! Button system */
/* ----------------------------------------------------------------------------------- */

.btn-cta {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  background-color:  #de424a;
  color: #FFF!important;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 600;
  transition: background-color 0.3s ease;
}
.btn-cta:hover,
.btn-cta:focus {
  background-color:  #a3272b;
  outline: none;
}



.call{padding: 8px 8px!important; font-size: 15px; border-radius: 55px!important;}


.bg-obliquo{min-height: 100vh;background: url(img/img-4.png) no-repeat center bottom ; }
.bg-obliquo .button{margin-right: 20px;}

@media (max-width: 768px) {
  .bg-obliquo .grid{ flex-direction: column-reverse;}
}




/*  HOME PAGE V3  */


.cover{
  padding: 20px;min-height: 100vh;
  display: flex; flex-flow: column;
  justify-content: flex-end;
  position:relative;
}

@media (max-width: 768px) {
  .cel-mod{margin-top: -177px;}
}

.cover__content {
  max-width: 1200px;
  margin: 0 auto;
  position: absolute; /* Cambia a absolute */
  top: 50%; /* Posiziona al 50% dell'altezza */
  left: 50%; /* Posiziona al 50% della larghezza */
  transform: translate(-50%, -50%); /* Centra sia verticalmente che orizzontalmente */
  z-index: 1;
  width: 100%;
  text-align: center;
}

/* Fine Home Page V3 */


.tricolore-container {
  text-align: center; /* Centra gli elementi inline o inline-block al suo interno */
  margin-top: 10px; /* Spazio sopra il tricolore, se vuoi */
  margin-bottom: 10px; /* Spazio sotto il tricolore */
}

/* Stili per il tricolore */
.tricolore  {
  /* Rimosso 'content: ""' perché non è un pseudo-elemento */
  width: 190px;
  height: 1px;
  display: inline-block; /* Mantienilo inline-block per essere centrato da text-align: center */
  background: rgb(206 163 58);
}



/* ! Blocks */
/* ----------------------------------------------------------------------------------- */

.cover{
  background: #000;padding: 20px;min-height: 100vh;
  display: flex; flex-flow: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position:relative;
}

.box-img img{border-radius: 50px; box-shadow: 0 5px 30px rgba(0,0,0,33%); margin-bottom: 2rem;}

/* ! Title Custom */

.title-custom{
  padding: 8% 18%;
  position: relative;
}

.video-overlay-b {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 160px;
  z-index: 2;
}

.video-overlay-b svg {
  width: 100%;
  height: 100%;
  display: block;
}

@media (max-width: 768px) {
  .video-overlay-b svg{height: 90px;}
	.video-overlay-b {height: 90px;}
}


/*
.video-overlay {
  position: absolute;
  bottom: 0; /* Posiziona la sfumatura in basso 
  left: 0;
  width: 100%;
  height: 50%; /* Regola l'altezza della sfumatura 
  z-index: 2; /* L'overlay deve stare sopra il video 
  background: linear-gradient(
    to top,
    rgba(255, 255, 255, 1) 0%, /* Inizia con bianco pieno in basso 
    rgba(255, 255, 255, 0) 100% /* Sfuma fino alla trasparenza in alto 
  );
}
*/

.cover-onda {
  position: relative;
  overflow: hidden; /* importante per contenere l’onda */
}

/* Contenitore onda */
.cover-onda::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px; /* evita il gap bianco */
  width: 100%;
  height: 100px!important;

  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: bottom;

  /* SVG inline */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 200' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,120 C360,40 1080,40 1440,120 L1440,200 L0,200 Z' fill='%23ffffff'/%3E%3Cpath d='M0,120 C360,40 1080,40 1440,120' fill='none' stroke='%2300006a' stroke-width='8'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
  .cover-onda::after{height: 40px;}
}

/* opzionale: spazio interno per evitare che il contenuto venga coperto */
.cover-onda .wp-block-cover__inner-container {
  padding-bottom: 120px;
}

/* COLONNE SERVIZI */

.il-servizio{
	box-shadow: 0 5px 20px rgba(0, 0, 0, .55);
  border-radius: 20px;
	background: #ffffff;
  padding-top:12px;
}


/* CODICE DETTAGLIO BOX */
.servizio-box .dettagli-testo{
  display:none;
  margin-top:15px;
  padding:15px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .55);
  border-radius: 20px;
	background-color: #ffffff;
}

.servizio-box.active .dettagli-testo{
  display:block;
}
/* Blocca lo stretch verticale delle colonne */
    .wp-block-columns {
      align-items: flex-start;
    }

/* ! Pagina Blog */
/* --------------------------------------------------------- */

.img-blog{
display: inline-block;
position: relative;
margin-bottom: 20px;
border-radius: 30px;
overflow: hidden;
}





/* ! Animation */
/* --------------------------------------------------------- */

.fade-in{opacity: 0; transform: translateY(1rem);}
.text-reveal{transform: translateY(1rem);clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);}
.fade-up{opacity: 0; transform: translateY(5rem);}
