@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Rakkas&display=swap");
/* =========================
   HERO BASE
========================= */
#hero {
  display: flex;
  min-height: 100vh;
}
#hero h1 {
  font-size: 96px;
  color: #151a18;
  margin-bottom: 4rem;
  font-family: "Rakkas", serif;
}

/* =========================
   SINISTRA – CHIARO + ONDA
========================= */
#hero::before {
  content: "";
  width: 60%;
  /* onda verticale desktop – più dolce e inclinata a destra */
  background-image: url(../images/lcbg.svg);
  background-repeat: no-repeat;
  background-size: 160%;
  background-position: right center;
}

#hero .h_rc {
  flex: 0 0 40%;
}

.ltm_w {
  display: flex;
  justify-content: center;
}

.ltg_w {
  position: relative;
  width: 50%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Contenitore della ninfea */
.ltg_l {
  position: relative;
  width: 320px;
  height: 320px;
  animation: float 5s ease-in-out infinite, rotate 60s linear infinite;
}

.lily {
  width: 320px;
  height: 100%;
  background: url(../images/lilyleaf.webp) no-repeat;
  background-size: contain;
}

/* Effetto galleggiamento */
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
/* Rotazione lenta */
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* Onde concentriche attorno alla ninfea */
.ripples {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 250px;
  height: 250px;
  border-radius: 50%;
  z-index: 1;
  pointer-events: none;
}

.ripples::before,
.ripples::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  opacity: 0;
  animation: ripple 4s ease-out infinite;
}

.ripples::after {
  animation-delay: 2s;
}

/* Animazione increspature */
@keyframes ripple {
  0% {
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0.4;
  }
  70% {
    opacity: 0.2;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
}
.dstitle {
  display: block;
  min-width: 250px;
  padding-top: 13px;
  font-family: "lato";
  margin: 0;
}

.dynamic_mt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  --offset: 6px;
}

.mt_line {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
}

.dynamic_mt .mt_line {
  margin-top: 0;
}

.w_rotation {
  height: 54px;
  width: 600px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  overflow: hidden;
}

.w_cnt p {
  display: none;
  padding-top: 50px;
  width: 50%;
  font-size: 1.7rem;
  font-weight: 500;
  color: #fff;
  line-height: 1;
}

/* text rot */
.dstitle_wrapper {
  display: flex;
  flex-direction: row;
}

.overlay {
  visibility: hidden;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  animation-delay: 6s;
  /* display: none; */
}

.span_rot {
  position: absolute;
  width: 600px;
  height: 46px;
}

._rot {
  color: #151a18;
  position: absolute;
  width: 100%;
  opacity: 0;
}

.letter {
  display: inline-block;
  position: relative;
  /* float: left; */
  transform: translateZ(25px);
  transform-origin: 50% 50% 25px;
  white-space: pre;
  font-family: "lato";
  font-size: 28px;
}

.letter.out {
  transform: rotateX(90deg);
  transition: transform 0.32s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.letter.behind {
  transform: rotateX(-90deg);
}

.letter.in {
  transform: rotateX(0deg);
  transition: transform 0.38s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

/* =========================
          MOBILE
========================= */
@media (max-width: 767px) {
  #hero {
    flex-direction: column;
  }
  #hero .h_lc,
  #hero .h_rc {
    width: 100%;
    flex: 0 0 auto;
  }
  #hero .h_lc {
    min-height: 60vh;
    /* onda orizzontale mobile – più dolce e inclinata a destra */
    background-size: 100% auto;
    background-position: bottom center;
  }
  #hero .h_rc {
    min-height: 40vh;
  }
  #hero::before {
    width: 100%;
    background-size: 200%;
    background-position: -305px -152px;
  }
  #hero h1 {
    font-size: 54px;
    margin-bottom: 2rem;
  }
  #hero h3 {
    font-size: 18px;
  }
  #hero .dstitle_wrapper {
    flex-direction: column;
  }
  #hero .dstitle_wrapper .dstitle {
    text-align: center;
  }
  #hero .dstitle_wrapper .letter {
    font-size: 20px;
  }
  #hero .rtt_w {
    width: 100%;
  }
  #hero .rtt_w .w_rotation, #hero .rtt_w .span_rot {
    width: 100%;
  }
  #hero .rtt_w .w_rotation {
    height: 32px;
  }
  #hero .rtt_w .mt_line {
    text-align: center;
  }
}

@media (max-width: 1300px) {
  .sl-app-wrapper #app {
    transform: scale(.6);
  }
}

@media (max-width: 767px) {
  .sl-app-wrapper {
    flex-direction: column;
    padding-top: 0;
  }
  .sl-app-wrapper #app {
    transform: scale(0.6);
  }
}

#app .slice-contents {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: row;
}
#app .slice-contents ._lt {
  width: 96px;
  height: 104px;
  position: absolute;
  top: -40px;
  filter: drop-shadow(2px 2px 1px #012818);
}
#app .slice-contents.arimg1 ._lt {
  background: center/contain no-repeat url(../images/l_p.webp);
}
#app .slice-contents.arimg2 ._lt {
  background: center/contain no-repeat url(../images/l_e1.webp);
}
#app .slice-contents.arimg3 ._lt {
  background: center/contain no-repeat url(../images/l_a.webp);
}
#app .slice-contents.arimg4 ._lt {
  background: center/contain no-repeat url(../images/l_c.webp);
}
#app .slice-contents.arimg5 ._lt {
  background: center/contain no-repeat url(../images/l_e2.webp);
}
#app .slice-contents.arimg6 ._lt {
  background: center/contain no-repeat url(../images/l_r.webp);
}

.lileaf {
  position: relative;
  margin: 1em auto;
  padding: 0;
  width: 32em;
  height: 32em;
  border-radius: 50%;
  list-style: none;
  transform: rotate(-40deg);
  transition: 0.5s;
}
.lileaf::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/lleaf-bg-v3.png) no-repeat;
  background-size: contain;
  transform: rotate(40deg);
}

.slice {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 50%;
  transform-origin: 0% 100%;
  transition: all 0.5s;
  cursor: pointer;
}

.slice-contents {
  position: absolute;
  left: -100%;
  width: 200%;
  height: 200%;
  border-radius: 50%;
  text-align: center;
  line-height: 50px;
  transition: background-color 0.5s;
  transform: skewY(40deg) rotate(25deg);
}
.slice-contents:hover {
  background: #e5f4ee;
}

.slice.nth1 {
  transform: rotate(0deg) skewY(-40deg);
}
.slice.nth1:hover {
  top: -20px;
  right: -10px;
}

.slice.nth2 {
  transform: rotate(50deg) skewY(-40deg);
}
.slice.nth2:hover {
  top: -5px;
  right: -20px;
}

.slice.nth3 {
  transform: rotate(100deg) skewY(-40deg);
}
.slice.nth3:hover {
  top: 10px;
  right: -15px;
}

.slice.nth4 {
  transform: rotate(150deg) skewY(-40deg);
}
.slice.nth4:hover {
  top: 25px;
  right: -5px;
}

.slice.nth5 {
  transform: rotate(200deg) skewY(-40deg);
}
.slice.nth5:hover {
  top: 16px;
  right: 16px;
}

.slice.nth6 {
  transform: rotate(250deg) skewY(-40deg);
}
.slice.nth6:hover {
  top: -6px;
  right: 16px;
}

@media (max-width: 467px) {
  .lileaf {
    width: 20em;
    height: 20em;
  }
}

#appcontent .ar h3 {
  font-family: "Vidaloka";
}
#appcontent .ar .desc {
  font-family: "Lato";
}
#appcontent #ar1 h3 {
  color: #288130;
}
#appcontent #ar2 h3 {
  color: #c27848;
}
#appcontent #ar3 h3 {
  color: #489ac1;
}
#appcontent #ar4 h3 {
  color: #8c837c;
}
#appcontent #ar5 h3 {
  color: #d0af5e;
}
#appcontent #ar6 h3 {
  color: #8496b7;
}


.wpcf7-form {
    max-width: 600px;
    margin: 0 auto;
    background: #ffffff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.wpcf7-form label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
    color: #333;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100%;
    padding: 12px;
    margin-bottom: 15px;
    border: 2px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease-in-out;
    outline: none;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    border-color: #554036;
    box-shadow: 0 0 5px rgba(255, 127, 80, 0.5);
}

.wpcf7-form input[type="submit"] {
    background: #278567;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    font-size: 18px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    display: block;
    width: 100%;
    text-align: center;
}

.wpcf7-form input[type="submit"]:hover {
    background: #1c5f4a;
    box-shadow: 0px 4px 10px #1c5e4966;
}

.wpcf7-response-output {
    margin-top: 15px;
    padding: 10px;
    border-radius: 5px;
    font-weight: bold;
    text-align: center;
}

.wpcf7-response-output.wpcf7-mail-sent-ok {
    background: #dff0d8;
    border: 2px solid #4CAF50;
    color: #3c763d;
}

.wpcf7-response-output.wpcf7-validation-errors {
    background: #f8d7da;
    border: 2px solid #dc3545;
    color: #721c24;
}

.wpcf7-form .wpcf7-checkbox,
.wpcf7-form .wpcf7-radio {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.wpcf7-form .wpcf7-checkbox input,
.wpcf7-form .wpcf7-radio input {
    accent-color: #ff7f50;
    transform: scale(1.2);
}

.wpcf7-form .wpcf7-not-valid-tip {
    position: absolute;
    top: -28px;
    left: 12px;
    background: #ffffff;
    font-size: 14px;
    padding: 0 4px;
}
#section-lily {
  transition: 0.25s;
}
#section-lily ._col1 {
  transition: 2s;
}
#section-lily.unloaded ._col1 {
  width: 100%;
  margin: 0 !important;
}
#section-lily.unloaded ._col2 {
  width: 0%;
}


.ds-review-carousel .daily-slide-item {
  justify-content: center!important;
}
.ds-review-carousel .daily-img-content-wrap {
  display: none!important;
}