/*
----------------------------
# TIPOGRAFIA
# SPAZI
# HEADER
# HOVERS
# FS MENU
# BUTTONS
# FORMIDABLE
# FOOTER
----------------------------
*/

/*
---------------------------------------------------------------------------------------
# TIPOGRAFIA 
---------------------------------------------------------------------------------------
*/



body {
  font-family: "canada-type-gibson", sans-serif;
  background: linear-gradient(to bottom,
      var(--wp--preset--color--cavolo) 0%,
      #091D1E 100%);
  color: var(--wp--preset--color--white);
}

.has-s-font-size {
  line-height: 1.4em;
}

.has-m-font-size,
.has-l-font-size,
.has-xl-font-size,
.has-xxl-font-size {
  font-family: var(--wp--preset--font-family--breadley-sans);
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 1em;
}

.wp-site-blocks a {
  text-decoration: none;
  color: unset
}



/*
---------------------------------------------------------------------------------------
# SPAZI 
---------------------------------------------------------------------------------------
*/

.wp-block-cover__inner-container.has-global-padding.is-layout-constrained {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
}

/*
---------------------------------------------------------------------------------------
# HEADER
---------------------------------------------------------------------------------------
*/

:root {
  --fs_menu-transition-time: 0.5s;
  --header-scrolled-transition-time: 0.4s;
  --hamburger-coord-x: 50%;
  --hamburger-coord-y: 5%;
}

/* spazio per admin bar se utente loggato */
body.logged-in header.site-header:not(.hidden) {
  top: 32px;
}

@media (max-width: 781px) {
  body.logged-in header.site-header:not(.hidden) {
    top: 46px;
  }
}

header.site-header {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);
  padding-block: 12px;
  position: fixed;
  width: 100%;
  z-index: 99;
  top: 0;
  transition: all var(--header-scrolled-transition-time) ease;
}



header.site-header>.wp-block-group {
  margin: 0 auto;
  max-width: var(--wp--style--global--content-size);
  background: var(--wp--preset--color--white);
  padding: .5rem 1rem;
  border-color: var(--wp--preset--color--scuro)
}

header.site-header a {
  text-decoration: none;
}

header.site-header .wp-block-column:last-child,
header.site-header .logo {
  position: relative;
  z-index: 10
}

header.site-header .t99-menu-toggle {
  justify-self: center;
  width: 60px
}

header.site-header .t99-menu-toggle span {
  background: var(--wp--preset--color--white);
  height: 1px;
  transition: all var(--fs_menu-transition-time) ease;
}

header.site-header>.wp-block-columns {
  margin: 0 auto;
  max-width: var(--wp--style--global--content-size);
}

header.site-header .logo svg,
header.site-header .logo path {
  fill: var(--wp--preset--color--white);
  transition: fill var(--fs_menu-transition-time) ease;
}


header.site-header .t99-menu-block.is-open .t99-menu-toggle span {
  background: var(--wp--preset--color--black);
}

header.site-header:has(.t99-menu-block.is-open) .logo svg,
  header.site-header:has(.t99-menu-block.is-open) .logo svg path{
  fill: var(--wp--preset--color--black);
}


header.site-header.scrolled {
  padding-block: 5px;
  background: rgba(255, 255, 255, 0.24);
  backdrop-filter: blur(28px) saturate(150%);
}

/*
---------------------------------------------------------------------------------------
# FS MENU
---------------------------------------------------------------------------------------
*/

header.site-header .t99-menu-block.is-always-mobile ul.t99-menu {
  background: var(--wp--preset--color--chiaro);
  color: var(--wp--preset--color--black);
  padding-top: var(--wp--preset--spacing--60);
  gap: 10px;
  justify-content: center;
}

header.site-header .t99-menu-block.is-always-mobile ul.t99-menu li {
  overflow: visible;
}

header.site-header .t99-menu-block.is-always-mobile ul.t99-menu li a {
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 400;
  font-family: var(--wp--preset--font-family--breadley-sans);
  margin: 0 auto;
  line-height: 1em;
  text-transform: uppercase;
}

header.site-header ul.t99-menu {
  width: 100%;
}

header.site-header ul.t99-menu .land_hr {
  color: var(--wp--preset--color--black);
  margin: 0 auto !important;
}

header.site-header ul.t99-menu .wp-block-social-links .wp-social-link svg {
  height: 25px;
  width: 25px;
  border: 1px solid black;
  border-radius: 100%;
  padding: 10px;
  box-sizing: content-box;
}

#mobile_shop_button {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 90;
  background: var(--wp--preset--color--carota);
  border-radius: 100%;
  padding: 5px;
  line-height: 0;
}

#mobile_shop_button svg {
  width: 42px;
  height: 42px;
}

@media (max-width: 980px) {
  header.site-header .logo .t99-svg-block__svg {
    width: 60px !important;
  }

  header.site-header .wp-block-button:nth-child(1) .wp-block-button__link{
        font-size: 12px;
    padding: 4px 16px;
  }

  header.site-header .wp-block-button:nth-child(2) {
    display: none !important;
  }

  header.site-header>.wp-block-columns {
    justify-content: space-between;
  }

  header.site-header>.wp-block-columns>.wp-block-column:nth-child(1) {
    flex-basis: 20% !important;
  }

  header.site-header>.wp-block-columns>.wp-block-column:nth-child(2) {
    flex-basis: 50px !important;
    order: 3;
  }

  header.site-header>.wp-block-columns>.wp-block-column:nth-child(3) {
    flex-basis: 60% !important;
    flex-grow: 1;
    padding-right: 10px
  }

  header.site-header .t99-menu-toggle {
    width: 100% !important
  }

  #mobile_shop_button {
    display: block
  }

  header.site-header .t99-menu-block.is-always-mobile ul.t99-menu {
    padding-top: 150px;
  }

}



#fs_menu_widget {
  width: 100%;
}

#fs_menu_widget .wp-social-link svg {
  width: 20px;
  height: 20px;
}


@media (max-width: 781px) {
  #fs_menu_widget {
    padding: 0;
  }

  #fs_menu_widget .wp-block-columns>.wp-block-column {
    flex-basis: 45% !important;
  }

  #fs_menu_widget>.wp-block-columns {
    flex-flow: column;
  }

  #fs_menu_widget .wp-block-paragraph,
  #fs_menu_widget .wp-block-social-links {
    margin-block-start: 5px;
  }

}

/*
---------------------------------------------------------------------------------------
# HOVERS
---------------------------------------------------------------------------------------
*/
:root {
  --hover-tranition-time: 0.7s;
}

.t99-menu li a,
.link_underline a {
  position: relative;
  width: fit-content;
}

.t99-menu li a::after,
.link_underline a::after {
  content: "";
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 0.05em;
  bottom: 0;
  left: 0;
  background: currentcolor;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

@media (min-width: 782px) {

  .t99-menu li a:hover::after,
  .link_underline a:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
  }
}

.current-menu-item a::after {
  transform: scaleX(1) !important;
  transform-origin: bottom left !important;
}


/*
---------------------------------------------------------------------------------------
# FOOTER
---------------------------------------------------------------------------------------
*/
footer {
  background: var(--wp--preset--color--scuro);
}

footer a {
  text-decoration: none;
  color: unset;
}

footer .t99-menu-block.is-always-desk ul.t99-menu {
  flex-direction: column;
  align-items: flex-start;
  font-size: var(--wp--preset--font-size--s);
  gap: .5em;
}

@media (max-width: 781px) {
  footer p {
    text-align: center !important;
  }

  footer hr {
    margin-top: var(--wp--preset--spacing--50) !important;
    margin-bottom: var(--wp--preset--spacing--50) !important;
  }

  footer ul.t99-menu,
  footer .wp-block-buttons,
  footer .wp-block-social-links {
    align-items: center !important;
    justify-content: center !important;
  }
}


/*
---------------------------------------------------------------------------------------
# BUTTONS
---------------------------------------------------------------------------------------
*/
.wp-block-button {
  /* fix line-height empty space problem */
  display: flex !important;
}

.wp-block-buttons .wp-block-button__link {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
  font-size: 14px;
  padding: 0.5rem 2rem;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  z-index: 0;
  transition: all .4s ease;
}

.wp-block-buttons .wp-block-button__link:hover {
  text-shadow: 0px 0px 1px currentColor;
  letter-spacing: 0.1em;
}

.wp-block-buttons .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent;
  border: 1px solid var(--wp--preset--color--white);
  color: var(--wp--preset--color--white);
}






/*
---------------------------------------------------------------------------------------
# FORMIDABLE
---------------------------------------------------------------------------------------
*/

.frm_forms.with_frm_style{
  max-width: 900px !important;
  --border-color-active: var(--wp--preset--color--cavolo) !important
}


.frm_form_fields * {
  letter-spacing: 0.05em;
}

.frm_forms .frm_fields_container {
  grid-gap: 5px;
}

.frm_forms .frm_fields_container input,
.frm_forms .frm_fields_container select,
.frm_forms .frm_fields_container textarea {
  width: 100%;
  font-size: 1rem;
  font-weight: 300;
  color: var(--wp--preset--color--white);
  border: 0px;
  border-radius: 0px;
  border-bottom: 1px solid var(--wp--preset--color--white);
  padding-block: 1em;
  resize: none;
  padding: 0.25rem;
  background: transparent;

}

.frm_forms .frm_fields_container input:focus-visible,
.frm_forms .frm_fields_container select:focus-visible,
.frm_forms .frm_fields_container textarea:focus-visible {
  outline: 1px solid var(--wp--preset--color--white);
}

.frm_submit button.frm_button_submit.frm_final_submit {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
  font-size: 14px;
  padding: 0.5rem 2rem;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  z-index: 0;
  transition: all .4s ease;
  border-radius: 9999px;
  outline: none;
  border: none;
  box-shadow: none;
}

.frm_submit button.frm_button_submit.frm_final_submit:hover {
  background: var(--wp--preset--color--carota);
  color: var(--wp--preset--color--white);
}

.frm_submit.frm_flex {
  justify-content: flex-end;
}

.frm_forms .frm_primary_label {
  color: var(--wp--preset--color--white);
}

.frm_forms .frm_radio label,
.frm_forms .frm_checkbox label {
  color: var(--wp--preset--color--white);
  font-weight: 300;
}

.frm_forms label a {
  text-decoration: underline;
}

.frm_forms *::placeholder {
  color: var(--wp--preset--color--white) !important;
  opacity: .8;
}


.frm_forms .frm_required {
  color: inherit;
}


.frm_forms br,
.frm_forms p:empty,
.frm_forms p:has(> input) {
  display: none;
}


.frm_forms .vertical_radio .frm_opt_container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.25em;
}








/*
---------------------------------------------------------------------------------------
# LAND
---------------------------------------------------------------------------------------
*/

hr.land_hr {
  margin-inline: 0 !important;
  height: 1px;
  color: var(--wp--preset--color--white);
  width: 278px !important;
}







/*
---------------------------------------------------------------------------------------
# IMAGES ANIMATION
---------------------------------------------------------------------------------------
*/


body:not(.block-editor-iframe__body) .is-style-animated_in_image {
  position: relative;
  overflow: hidden;
}

body:not(.block-editor-iframe__body) .is-style-animated_in_image::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--wp--preset--color--topinambur);
  overflow: hidden;
  clip-path: inset(0 0 100% 0);
  opacity: 0;
  transition: clip-path 0.4s ease-out;
  transition: all 0.5s ease-out;

}

body:not(.block-editor-iframe__body) .is-style-animated_in_image img {
  transform: scale(1);
  clip-path: inset(100% 0 0 0);
  transition: clip-path 0.7s ease-out, transform 1s ease-out;
  transition-delay: 0.5s;
}

body:not(.block-editor-iframe__body) .is-style-animated_in_image.fade_in::before {
  clip-path: inset(0 0 0 0);
  opacity: 1;

}

body:not(.block-editor-iframe__body) .is-style-animated_in_image.fade_in img {
  transform: scale(1.05);
  clip-path: inset(0 0 0 0);
}




/*
---------------------------------------------------------------------------------------
# PRELOADER
---------------------------------------------------------------------------------------
*/

#preloader {
  opacity: 1 !important;
  transition: clip-path, .5s cubic-bezier(.68, .01, .55, .87);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);

}

#preloader .wp-block-group {
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#preloader.page_entrance {
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

#preloader.page_show {
  transition: none;
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}

#preloader.page_next {
  clip-path: polygon(0 100%, 100% 100%, 100% 0, 0 0);
}





/*
---------------------------------------------------------------------------------------
# FS MENU OPEN/CLOSE ANIMATION
---------------------------------------------------------------------------------------
*/

/* setup */


header.site-header ul.t99-menu {
  opacity: 1 !important;
  clip-path: circle(0% at var(--hamburger-coord-x) var(--hamburger-coord-y));
  pointer-events: none;
  --fs-menu-anim-time: 0.4s;
  transition: clip-path var(--fs-menu-anim-time) ease !important;
}

header.site-header nav.t99-menu-block.is-open ul.t99-menu {
  pointer-events: all;
  --fs-menu-anim-time: .8s;
  clip-path: circle(100% at var(--hamburger-coord-x) var(--hamburger-coord-y));
}

@media (max-width: 1024px) {
  header.site-header nav.t99-menu-block.is-open ul.t99-menu {
    clip-path: circle(150% at var(--hamburger-coord-x) var(--hamburger-coord-y));
  }
}

@media (max-width: 781px) {
  header.site-header nav.t99-menu-block.is-open ul.t99-menu {
    clip-path: circle(200% at var(--hamburger-coord-x) var(--hamburger-coord-y));
  }
}



/* ---------------------------------------------------------------------------------------
# WPML
--------------------------------------------------------------------------------------- */

.wpml-ls.wpml-ls-legacy-list-horizontal {
  padding: 0;
}

.wpml-ls br {
  display: none;
}

.wpml-ls.wpml-ls-legacy-list-horizontal li a {
  padding: 5px 0px 5px 10px;
  font-weight: 100;
}

.wpml-ls.wpml-ls-legacy-list-horizontal li.wpml-ls-current-language a {
  font-weight: 400;
}

footer .wpml-ls.wpml-ls-legacy-list-horizontal li a {
  padding: 0px 0px 0px 16px;
}

footer .wpml-ls.wpml-ls-legacy-list-horizontal li {
  position: relative;
}

footer .wpml-ls.wpml-ls-legacy-list-horizontal li:nth-child(2)::before {
  content: "";
  position: absolute;
  background: var(--wp--preset--color--white);
  width: 1px;
  height: 1.4em;
  left: 5px;
  top: 0;
}

header.site-header .wpml-ls.wpml-ls-legacy-list-horizontal li a {
  transition: color var(--fs_menu-transition-time) ease;
}

header.site-header:has(.t99-menu-block.is-open) .wpml-ls.wpml-ls-legacy-list-horizontal li a {
  color: var(--wp--preset--color--black);
}


/* ---------------------------------------------------------------------------------------
# PRENOTAZIONE
--------------------------------------------------------------------------------------- */

.tbk-frontend {
  padding: 20px 0px;
}

.tbk-frontend a {
  text-decoration: underline !important;
}

.tbk-form.tbk-form-vertical {
  display: flex;
  flex-direction: column;
}

.tbk-space.tbk-space-vertical span.tbk-tag {
  display: none;
}

.tbk-input-number.tbk-input-number-in-form-item {
  font-size: 20px;
}

.tbk-form-item {
  order: 1
}
.tbk-form-item.tbk-form-tickets-section {
  order: 2;
  align-self: flex-start;
}
.tbk-form-item:has(ul) {
  order: 3;
  margin-bottom: 0px !important;
}

.tbk-form-item:has(.tbk-checkbox) {
  order: 4;
  margin-bottom: 40px !important;
}

.tbk-form-item:has(button.tbk-btn-default) {
  order: 5;
}



.tbk-frontend[id^=tbk-frontend-] .tbk-form-tickets-section .tbk-form-item-label {
  text-align: left !important;
}

.tbk-col.tbk-form-item-label.tbk-form-item-label-wrap label {
  font-size: 20px !important;
}

.tbk-form-item.tbk-form-tickets-section:has(.tbk-input-number.tbk-input-number-in-form-item) {
  margin-bottom: 40px;
}

.tbk-row:has(.anticon.anticon-tag) {
  display: none !important;
}

.tbk-row:has(.tbk-collapse-item) {
  display: none !important;
}

.tbk-form-item textarea::placeholder {
  color: transparent;
  opacity: 0;
}