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


/* ! Title System */
/* ----------------------------------------------------------------------------------- */
.text-0{font-size: 5rem;}
h1, .text-1{font-size: 3.4rem;}
h2, .text-2{font-size: 2.2rem;}
h3, .text-3{font-size: 1.5rem;}
h4, p, .text-4{font-size: 1rem;}

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




/* ! Button system */
/* ----------------------------------------------------------------------------------- */
.button,
.wp-block-button__link{font-size: 1.2rem;background: #333; color:#fff; padding: 14px 25px;border-radius: 4px}
.button:hover,
.wp-block-button__link{background: #000;}

.damabo-btn {
  display: block;
  padding: 10px;
  background-color: #E7C8BE;
  border: 1px solid #F5F5F2;
  text-align: center;
  text-decoration: none;
  color: #6F6362;  
  margin-top: 10px;
	padding: 0.6em 1.2em;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: color 1s ease-in-out, background-color 1s ease-in-out;
}

.damabo-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #E7C8BE;  
  z-index: -1;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 1s ease-in-out;
}

.damabo-btn:hover {
  background-color: transparent;
  z-index: 0;
  border: 1px solid #4D4044;
}

.damabo-btn:hover::before {
  transform: scaleX(1);
}

.footer-wp-button {
  position: relative;
  /* per gestire l’overlay */
  overflow: hidden;
  /* nasconde la scia fuori dal bottone */
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  background-color: #E7C8BE;
  color: #6F6362;
  padding: 0.6em 1.2em;
  border-radius: 0.3em;
  text-decoration: none;
  font-weight: 600;
  font-size: 20px;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
  margin-top: 1em;
}

/* Scia luminosa 
.footer-wp-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: rgba(255, 255, 255, 0.3);
  transform: skewX(-25deg);
  transition: left 1s ease;
}
*/

/* Hover state */
.footer-wp-button:hover {
  background-color: #6F6362;
  color: #E7C8BE;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.footer-wp-button:hover::after {
  left: 125%;
}

.footer-wp-button i {
  font-size: 20px;
}


/* !pulsante con scia luminosa 
.gb-btn-shine {
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
  cursor: pointer;
}
*/

/* 2) Shine pseudo-element */
.gb-btn-shine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 50%;
  height: 100%;
  background: #9E544E;
  transform: skewX(-25deg);
  transition: left 1s ease;
  pointer-events: none;
  z-index: -1;
}

/* 3) Hover: shine + sollevamento */
.gb-btn-shine:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.gb-btn-shine:hover::before {
  left: 120%;
}

/* 4) (Opzionale) Cambia colore del testo o background on hover 
.gb-btn-shine:hover,
.gb-btn-shine:focus {
  /* Esempio: inverti colori, o imposta il tuo schema 
  color: #ffffff;
  background-color: #2a7cff;
}
*/


 /* Pulsante  scroll to top base, nascosto di default */
 /* CSS */
 .scroll-top-btn {
   position: fixed;
   bottom: 2rem;
   right: 2rem;
   /* sul lato destro */
   width: 3.5rem;
   height: 3.5rem;
   /* larghezza = altezza per renderlo circolare */
   background-color: #9E544E;
   color: #F3E8E0;
   border: none;
   border-radius: 50%;
   /* forma circolare */
   cursor: pointer;
   font-size: 1.5rem;
   display: flex;
   align-items: center;
   justify-content: center;
   opacity: 0;
   visibility: hidden;
   transform: translateY(100px);
   transition:
     opacity 0.4s ease,
     transform 0.4s ease;
   z-index: 999;
 }

 .scroll-top-btn.show {
   opacity: 1;
   visibility: visible;
   transform: translateY(0);
 }

 .scroll-top-btn:hover {
   background-color: #4D4044;
 }




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

.cover{
  background: #B8AFA6;padding: 20px;min-height: 100vh;
  display: flex; flex-flow: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position:relative;
  margin-bottom: 0;
  padding-bottom: 0;
}
.cover__bg{position: absolute;top: 0;left: 0;width: 100%;height: 100%;background:url(bridge.jpg) center center;background-size:cover;z-index:0;border: 1px solid #000}
.cover__bg:after{ content: ' ';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-size:cover;}

.cover__content{max-width: 1600px; margin: 0 auto; position:relative; z-index: 2;width: 100%;}

.dopo-cover {
  margin-top: -20px;
  padding-top: -40px;
}



/* Fade-in effect */
.fade-in {
  opacity: 0;
  animation: fadeIn 2s ease forwards;
  animation-delay: 0.8s;
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

/* Frase artistica */
.cover__quote {
    font-family: 'Cormorant Garamond', serif;
    font-size: 70px;
    font-weight: 400;
    text-align: center;
    margin: 20px auto;
    color: #F3E8E0;
  
    /* Ombra sul testo per visibilità */
    text-shadow: 4px 4px 8px rgba(0, 0, 0, 0.5); 
}

/* Pulsante Cover home 
.cover__btn {
  display: block;
  padding: 10px;
  background-color: #E7C8BE;
  border: 2px solid #4D4044;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;  
  margin-top: 10px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: color 1s ease-in-out, background-color 1s ease-in-out;
}

.cover__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #6F6362;
  z-index: -1;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform 1s ease-in-out;
}

.cover__btn:hover {
  background-color: #E7C8BE;
  border: 2px solid #4D4044;
}

.cover__btn:hover::before {
  transform: scaleX(1);
}
*/

.cover__bg-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

.cover__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  opacity: 0;
  transition: opacity 2.5s ease-in-out;
}

.cover__slide.active {
  opacity: 1;
  z-index: 1;
}


.cover__slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(77, 64, 68, 1) 0%, rgba(77, 64, 68, 0.06) 100%);
  z-index: 1;
}


/* Estende link sul backgrpound della copertina */
/* Solo per la cover con classe .cover-clickable, mostra il cursore “mano” */
.cover-clickable .wp-block-cover__background {
  cursor: pointer;
  cursor: hand;
  pointer-events: auto;

}

@media (max-width: 768px) {
  .cover__quote {
    font-size: 3rem; /* Smaller text on smaller screens */
  }
  
  .cover__btn {
    font-size: 0.5rem; /* Smaller button text */
  }

  .cover__content h1 {
    font-size: 3rem; /* Adjust heading size */
    display: block;
  }
}

@media (max-width: 480px) {
  .cover__quote {
    font-size: 2rem; /* Even smaller text on very small screens */
  }

  .cover__btn {
    font-size: 0.5rem; /* Even smaller button text */
    display: none;
  }

  .cover__content h1 {
    font-size: 2.5rem;
  }
}


/* ! Video */
/* --------------------------------------------------------- */

.contenitore-video {
    
  /* Larghezza massima su desktop */
  width: 100%;
  max-width: 1000px;

  /* Altezza massima su desktop */
  height: 100%;
  max-height: 600px;

    aspect-ratio: 9 / 16;
    /* Mantiene proporzione verticale */
    margin: 0 auto 100px auto;
    /* Centra il video e margine inferiore */
  
    overflow: hidden;
    border: none;
    padding: 0;
  
    background-color: transparent;
    /* Fallback per sfondo nero */
    box-shadow: none;
}

.contenitore-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  margin: 0 0;
  padding: 0 0;
  border: none;
  outline: none;
  box-shadow: none;
  border: 3px solid #4D4044;

  background-color: transparent;
  /* Evita bordi strani da background video */
}

/* ! Chek List */
/* --------------------------------------------------------- */
/* Rimuove i bullet standard e aggiunge padding */
ul.check-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Stile per ogni voce di elenco */
ul.check-list li {
  position: relative;
  padding-left: 1.5em;
  /* spazio per l'icona */
  margin-bottom: 0.5em;
}

/* Inserisce la spunta prima di ogni li */
ul.check-list li::before {
  content: "✔";
  /* codice UTF-8 per la spunta */
  position: absolute;
  left: 0;
  top: 0;
  color: #4D4044;
  /* colore spunta */
  font-size: 1em;
  /* adegua a piacere */
  line-height: 1;
  /* allinea verticalmente */
}




/* ! 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);}

.scroll-trigger {
  position: absolute;
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2rem;
  background-color: #F3E8E0;
  color:#4D4044;;
  text-decoration: none;
  transition: color 0.3s ease;
  z-index: 10;
}

.scroll-trigger:hover {
  color: #4D4044;
  cursor: pointer;
}

#scopri {
  scroll-margin-top: 100px;
  /* o l’altezza reale del tuo header */
}


.freccia-container {
  text-align: center;
  margin-top: 40px;
}

.freccia-icon {
  font-size: 75px;
  color: #6F6362;
  /* Cambia colore se vuoi */
  animation: bounce 2s infinite;
  transition: transform 0.3s ease, color 0.3s ease;
  cursor: pointer;
}

.freccia-icon:hover {
  transform: scale(1.2);
  color: #E7C8BE;
  /* Colore al passaggio del mouse */
}

/* Nascondi su schermi piccoli (max 400px = mobile) */
@media (max-width: 400px) {
  .freccia-icon {
    display: none;
  }
}





@keyframes bounce {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(10px);
  }
}

.image-zoom {
  transition: transform 0.3s ease;
}

.image-zoom:hover {
  transform: scale(1.05);
  /* Leggero ingrandimento */
}



/* ! Stile per linea di separazione */
/* --------------------------------------------------------- */

 .separator {
  display: block;                 /* elemento a livello di blocco */
  width: min(700px, 100%);        /* max 700px, ma non oltre il contenitore */
  height: 1px;                    /* spessore */
  margin-block: 1em;              /* spazio sopra/sotto */
  margin-inline: auto;            /* centratura orizzontale */
  background-color: #4D4044;      /* colore linea */
  border: none;                   /* rimuove il bordo predefinito */
  align-self: center;             /* centra se il parent è flex (utile con flex-direction: column) */
  justify-self: center;           /* centra se il parent è grid */
}

/* (opzionale) se vuoi una larghezza più “fluida” */
.separator--fluid {
  width: clamp(160px, 60vw, 700px);
}

/* Tablet e giù */
@media (max-width: 768px) {
  .separator {
    /* più corta, ma sempre centrata */
    width: clamp(200px, 85vw, 560px);
    margin-block: 0.9em;
  }
  .separator--fluid {
    width: clamp(160px, 70vw, 560px);
  }
}

/* Mobile ≤ 480px */
@media (max-width: 480px) {
  .separator {
    /* lascia aria ai bordi anche senza padding del contenitore */
    margin-inline: max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right));
    width: calc(100% - (max(16px, env(safe-area-inset-left)) + max(16px, env(safe-area-inset-right))));
    height: 1px; /* resta sottile e nitida su retina */
  }
}

/* (opzionale) dark mode: migliora il contrasto su temi scuri */
@media (prefers-color-scheme: dark) {
  .separator {
    background-color: rgba(255,255,255,.6);
  }
}




