/*
----------------------------
# TIPOGRAFIA
# SPACES
# HEADER
# 
# FOOTER
# 
# BUTTONS
# FORMIDABLE 
----------------------------
*/

:root {
  --arrow-red: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 20'%3E%3Cpath d='m59.93,10l.07.51c-.34.05-8.35,1.33-8.35,9.49h-1.02c0-5.55,3.43-8.24,6.11-9.49H0v-1.02h56.74c-2.68-1.25-6.11-3.94-6.11-9.49h1.02c0,8.16,8.01,9.44,8.35,9.49l-.07.51-.07.51h.07v-.51Z' fill='%23ac0021'/%3E%3C/svg%3E");
}

/* add right padding to body and header when scrollbar hides (overflow hidden / scroll paused) */
body.fs_menu_open,
body.lightbox__open {
  padding-right: var(--scrollbar-width);
}

body.fs_menu_open header.site-header .wp-block-columns,
body.lightbox__open header.site-header .wp-block-columns {
  padding-right: calc(var(--scrollbar-width));
}

/*
---------------------------------------------------------------------------------------
# TIPOGRAFIA 
---------------------------------------------------------------------------------------
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

body {
  letter-spacing: 0.02em;
  font-size: clamp(12px, 0.875rem + ((1vw - 3.2px) * 0.073), 1.04rem);
}

.has-m-font-size,
.has-ml-font-size,
.has-l-font-size {
  letter-spacing: 0.02em;
  font-weight: 200;
}

.has-xl-font-size,
.has-xxl-font-size {
  letter-spacing: 0.02em;
  font-family: var(--wp--preset--font-family--gt-super-display);
}

.has-m-font-size,
.has-ml-font-size {
  line-height: 1em;
}

.has-l-font-size {
  line-height: 1.15;
}

.has-xl-font-size {
  line-height: 1em;
}

.has-xxl-font-size {
  line-height: 0.9em;
}

.has-m-font-size,
.has-xl-font-size,
.has-xxl-font-size {
  text-transform: uppercase;
}

.text-uppercase {
  text-transform: uppercase !important;
}

/*
---------------------------------------------------------------------------------------
# BUTTONS AND LINKS 
---------------------------------------------------------------------------------------
*/

.wp-site-blocks a:not(.wp-block-button__link):not(:has(*)) {
  all: unset;
  cursor: pointer;
  display: inline-block;
}

.wp-block-button__link {
  line-height: 1;
  padding: 0.5em 1.5em;
  border-width: 1px;
}

.wp-site-blocks .entry-content p a {
  color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-right-arrow .wp-block-button__link,
.wp-block-button.is-style-left-arrow .wp-block-button__link {
  padding: 0.5em 0em;
}

.wp-block-button.is-style-right-arrow .wp-block-button__link,
.wp-block-button.is-style-left-arrow .wp-block-button__link {
  background: none;
}

.wp-block-button.is-style-right-arrow .wp-block-button__link::after,
.wp-block-button.is-style-left-arrow .wp-block-button__link::before {
  content: var(--arrow-red);
  display: inline-block;
  width: 2.2em;
  padding-left: 1em;
  transition: padding 0.4s ease;
}

.wp-block-button.is-style-left-arrow .wp-block-button__link::before {
  transform: rotateY(180deg);
}

.wp-block-button.is-style-right-arrow .wp-block-button__link:hover::after,
.wp-block-button.is-style-left-arrow .wp-block-button__link:hover::before {
  padding-left: 1.5em;
}

.wp-block-button.is-style-right-arrow .wp-block-button__link:hover,
.wp-block-button.is-style-left-arrow .wp-block-button__link:hover {
  letter-spacing: 0.1em;
}

.wp-block-button.is-style-right-arrow .wp-block-button__link.has-black-color::after,
.wp-block-button.is-style-left-arrow .wp-block-button__link.has-black-color::before {
  filter: brightness(0);
}

.wp-block-button.is-style-right-arrow .wp-block-button__link.has-white-color::after,
.wp-block-button.is-style-left-arrow .wp-block-button__link.has-white-color::before {
  filter: contrast(0) brightness(20);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--white) !important;
}

/*
---------------------------------------------------------------------------------------
# SPACES 
---------------------------------------------------------------------------------------
*/

@media (max-width: 781px) {
  :root {
    --wp--preset--spacing--20: min(1.5rem, 3vw);
    --wp--preset--spacing--30: min(2.5rem, 5vw);
    --wp--preset--spacing--40: min(4rem, 8vw);
    --wp--preset--spacing--50: min(7rem, 14vw);
    --wp--preset--spacing--60: min(12rem, 22vw);
  }
}

.wp-block-create-block-t99-block-gutenberg-menu-navigazione ul {
  margin: 0;
}

.wp-block-create-block-t99-block-gutenberg-svg svg {
  width: 100%;
}

/*
---------------------------------------------------------------------------------------
# HEADER
---------------------------------------------------------------------------------------
*/

:root {
  --header-transition-time: 0.7s;
  --menu-bg-transition-time: 0.7s;
  --menu-open-transition-time: 0.7s;
  --menu-close-transition-time: 0.4s;
  --menu-items-transition-time: 0.4s;
}

header.site-header {
  padding-right: var(--wp--style--root--padding-right);
  padding-left: var(--wp--style--root--padding-left);

  position: fixed;
  width: 100%;

  z-index: 99;
  top: 0px;
  padding-top: 25px;
  padding-bottom: 10px;
  mix-blend-mode: difference;
  transition: top var(--header-transition-time) ease;
}

header.site-header.hidden {
  top: -100px;
}

header.site-header>.wp-block-columns {
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
  position: relative;
  z-index: 10;
  box-sizing: content-box;
}

#hamburger_icon {
  width: 50px;
  height: 20px;
  margin-right: 0;
  margin-left: auto;
  position: relative;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  z-index: 21;
}

#hamburger_icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: var(--wp--preset--color--white);
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  -moz-transition: 0.25s ease-in-out;
  -o-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

#hamburger_icon span:nth-child(1) {
  top: 0px;
}

#hamburger_icon span:nth-child(2),
#hamburger_icon span:nth-child(3) {
  top: 9px;
}

#hamburger_icon span:nth-child(4) {
  top: 18px;
}

body.fs_menu_open #hamburger_icon span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%;
}

body.fs_menu_open #hamburger_icon span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

body.fs_menu_open #hamburger_icon span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

body.fs_menu_open #hamburger_icon span:nth-child(4) {
  top: 10px;
  width: 0%;
  left: 50%;
}

/* FULL SCREEEN MENU */
#fs_menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  z-index: 90;
  height: 100%;
  transition: clip-path ease var(--menu-close-transition-time) 0s,
    opacity linear 0s var(--menu-close-transition-time);
  pointer-events: none;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  overflow: hidden;
  opacity: 0;
}

body.fs_menu_open #fs_menu {
  transition: clip-path ease var(--menu-open-transition-time) 0s,
    opacity linear 0s;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  opacity: 1;
  pointer-events: all;
}

#fs_menu .fs_col1,
#fs_menu .fs_col2 {
  display: flex;
  flex-direction: column;
}

#fs_menu .fs_col1 {
  justify-content: center;

  /* align menu to header logo */
  --mainContainerRemainingLeftSpace: calc((100vw - var(--wp--style--global--content-size) - var(--scrollbar-width)) / 2);
  padding-left: max(var(--wp--style--root--padding-left),
      var(--mainContainerRemainingLeftSpace));

  position: relative;
  box-sizing: content-box;
}

#fs_menu .fs_col2 {
  justify-content: flex-end;
  padding-top: var(--wp--preset--spacing--20);
  padding-bottom: var(--wp--preset--spacing--50);
}

#fs_menu .fs_col2 p {
  font-weight: 200;
}

#fs_menu .wpml-temp {
  color: var(--wp--preset--color--white);
  margin-top: var(--wp--preset--spacing--30);
}

/* spazio per admin bar se utente loggato */
body.logged-in header.site-header:not(.hidden) {
  top: 32px;
}

#fs_menu .fs_col1 nav {
  margin-top: var(--wp--preset--spacing--10);
  padding-top: var(--wp--preset--spacing--30);
}

@media (max-width: 781px) {
  body.logged-in header.site-header:not(.hidden) {
    top: 46px;
  }

  #fs_menu .fs_col1 nav {
    margin-top: var(--wp--preset--spacing--30);
    padding-top: var(--wp--preset--spacing--50);
  }

  #fs_menu .fs_col2 {
    justify-content: center;
    padding-top: var(--wp--preset--spacing--10);
    padding-bottom: var(--wp--preset--spacing--10);
  }
}

#fs_menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#fs_menu ul li {
  transition: opacity ease, letter-spacing ease;
  transition-duration: var(--menu-items-transition-time);
  padding-block: 0.2em;
}

/* animazioni menu items*/
#fs_menu nav li a,
#fs_menu .wpml-language-switcher-block {
  opacity: 0;
  transform: translateY(1em);
  transition: opacity var(--menu-items-transition-time) ease,
    transform var(--menu-items-transition-time) ease;
  transition-delay: 0s;
  /* used during close */
}

body.fs_menu_open #fs_menu nav li a,
body.fs_menu_open #fs_menu .wpml-language-switcher-block {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--single-item-delay);
  /* used during open -> set by js */
}

#fs_menu ul li.current-menu-item a {
  /* text-decoration: underline; */
  text-decoration-thickness: 0.03em;
  text-underline-offset: 0.05em;
}

#fs_menu ul:hover:not(.wpml-language-switcher-block ul) li {
  opacity: 0.3;
}

#fs_menu ul:hover:not(.wpml-language-switcher-block ul) li:hover {
  letter-spacing: 0.05em;
  opacity: 1 !important;
}

#fs_menu_bgs {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  pointer-events: none;
  z-index: -1;
  background-color: var(--wp--preset--color--black);
  background-position: center;
  background-size: cover;
  opacity: 0.3;
}

#fs_menu_bgs .menu_bg {
  background-size: cover;
  background-position: center;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  transition: opacity var(--menu-bg-transition-time) ease;
}

#fs_menu_bgs .menu_bg.active {
  opacity: 1;
}


/* WPML */
#fs_menu .wpml-language-switcher-block {
  margin-top: var(--wp--preset--spacing--20);
  --l-select-distance: 0.7em;
}

#fs_menu .wpml-language-switcher-block span {
  color: var(--wp--preset--color--white);
  font-weight: bold;
  text-transform: uppercase;
  text-underline-offset: 0.15em;
}

#fs_menu .wpml-language-switcher-block .horizontal-list {
  position: relative;
  gap: var(--l-select-distance) !important;
}

#fs_menu .wpml-language-switcher-block .horizontal-list li:first-child::after {
  content: "/";
  color: var(--wp--preset--color--white);
  font-weight: bold;
  margin-left: var(--l-select-distance);
}

#fs_menu .wpml-language-switcher-block li[data-wpml="current-language-item"] span {
  text-decoration: underline;
}

/*
---------------------------------------------------------------------------------------
# DARK ON SCROLL SECTIONS
---------------------------------------------------------------------------------------
*/
.is-style-dark-on-scroll {
  transition: background 0.8s ease;
}

.is-style-dark-on-scroll p,
.is-style-dark-on-scroll .wp-block-heading {
  transition: color 0.8s ease;
}

.is-style-dark-on-scroll.invert_colors {
  background-color: var(--wp--preset--color--secondary);
}

.is-style-dark-on-scroll.invert_colors * {
  color: var(--wp--preset--color--white);
  stroke: var(--wp--preset--color--white);
}

.is-style-dark-on-scroll.invert_colors .wp-block-button__link {
  color: var(--wp--preset--color--white) !important;
}

.is-style-dark-on-scroll.invert_colors .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--secondary) !important;
}

.is-style-dark-on-scroll.invert_colors .wp-block-button.is-style-right-arrow .wp-block-button__link::after,
.is-style-dark-on-scroll.invert_colors .wp-block-button.is-style-left-arrow .wp-block-button__link::before {
  filter: contrast(0) brightness(20);
}

/*
---------------------------------------------------------------------------------------
# ARCHIVIO CUSTOM FURNITURE WORKS
---------------------------------------------------------------------------------------
*/
.loop_custom_aspect ul {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: var(--wp--preset--spacing--50);
}

.loop_custom_aspect .cw_title a {
  font-size: 1.4em;
  margin-top: 0.4em;
}

@media (min-width: 782px) {
  .loop_custom_aspect ul {
    display: grid;
    gap: var(--wp--preset--spacing--30);
  }

  .loop_custom_aspect .cw_title a {
    font-size: 1.3em;
    margin-top: 0.3em;
  }

  .loop_custom_aspect li.wp-block-post {
    display: flex;
  }

  .loop_custom_aspect li.wp-block-post {
    margin-top: 5vh;
  }

  .loop_custom_aspect li.wp-block-post:nth-child(2n + 2) {
    margin-top: 15vh;
  }

  .loop_custom_aspect li.wp-block-post .wp-block-group {
    width: 95%;
  }

  .loop_custom_aspect li.wp-block-post .wp-block-group img {
    aspect-ratio: 7 / 5;
    object-fit: cover;
  }

  .loop_custom_aspect li.wp-block-post:nth-child(8n + 4),
  .loop_custom_aspect li.wp-block-post:nth-child(8n + 6),
  .loop_custom_aspect li.wp-block-post:nth-child(8n + 8) {
    justify-content: flex-end;
  }

  .loop_custom_aspect .luogo {
    font-size: 1rem;
  }

  /* square */
  .loop_custom_aspect li.wp-block-post:nth-child(8n + 2) .wp-block-group img,
  .loop_custom_aspect li.wp-block-post:nth-child(8n + 5) .wp-block-group img {
    aspect-ratio: 1 / 1;
  }

  .loop_custom_aspect li.wp-block-post:nth-child(8n + 2) .wp-block-group,
  .loop_custom_aspect li.wp-block-post:nth-child(8n + 5) .wp-block-group {
    width: 70%;
  }

  .loop_custom_aspect li.wp-block-post:nth-child(8n + 2),
  .loop_custom_aspect li.wp-block-post:nth-child(8n + 5) {
    justify-content: center;
  }
}

/*
---------------------------------------------------------------------------------------
# IMGS
---------------------------------------------------------------------------------------
*/

/*
---------------------------------------------------------------------------------------
# HERO BLOCK VARIATION 
---------------------------------------------------------------------------------------
*/
.wp-block-columns.hero-section {
  margin-top: var(--wp--preset--spacing--60);
  margin-bottom: var(--wp--preset--spacing--50);
  gap: var(--wp--preset--spacing--30);

  justify-content: space-between;
  align-items: flex-end !important;

  min-height: 50vh;
  min-height: 50dvh;
}

.wp-block-columns.hero-section .wp-block-column {
  flex-grow: 0;
}

.wp-block-columns.hero-section .wp-block-column:first-child {
  flex-basis: 65%;
}

.wp-block-columns.hero-section .wp-block-column:last-child {
  flex-basis: 30%;
}

@media (max-width: 1024px) {
  .wp-block-columns.hero-section {
    flex-direction: column;
    min-height: unset;
    align-content: flex-start;
    align-items: flex-start !important;
    padding-top: var(--wp--preset--spacing--50);
  }
}

/*
---------------------------------------------------------------------------------------
# 3 COLS BLOCK VARIATION
---------------------------------------------------------------------------------------
*/
.wp-block-columns.three-columns-section {
  gap: var(--wp--preset--spacing--40);
}

.wp-block-columns.three-columns-section .wp-block-column:first-child {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;

  align-items: flex-end;
  padding-bottom: var(--wp--preset--spacing--40);
}

.wp-block-columns.three-columns-section .wp-block-column:last-child {
  padding-top: var(--wp--preset--spacing--30);
}

.wp-block-columns.three-columns-section .wp-block-column:last-child>*+* {
  margin-block-start: var(--wp--preset--spacing--10);
  margin-block-end: 0;
}

@media (max-width: 1270px) {
  .wp-block-columns.three-columns-section {
    flex-wrap: wrap !important;
  }

  .wp-block-columns.three-columns-section .wp-block-column:first-child {
    width: 100%;
    flex-basis: 100% !important;
    align-items: flex-start;
    padding-bottom: 0;
  }
}

@media (max-width: 781px) {
  .wp-block-columns.three-columns-section .wp-block-column:last-child {
    padding-top: 0;
  }
}

@media (min-width: 782px) {
  .wp-block-columns.three-columns-section .wp-block-column:has(.overflowing) {
    position: relative;
  }

  .wp-block-columns.three-columns-section .overflowing {
    position: absolute;
    width: 200%;
    left: 0;
    z-index: 1;
  }
}

/*
---------------------------------------------------------------------------------------
# 2 COLS WITH ABS IMG BLOCK VARIATION
---------------------------------------------------------------------------------------
*/
.two-cols-abs {
  gap: var(--wp--preset--spacing--40);
}

@media (min-width: 782px) {
  .two-cols-abs .wp-block-column {
    z-index: 2;
  }

  .two-cols-abs .wp-block-column:has(.absolute-img) {
    position: relative;
    z-index: 1;
  }

  .two-cols-abs .wp-block-column:nth-child(2) {
    align-self: flex-end;
    padding-bottom: var(--wp--preset--spacing--40);
  }

  .two-cols-abs figure.absolute-img {
    position: absolute !important;
    top: 0;
    transform: translateY(-40%);
  }

  .two-cols-abs .wp-block-column:last-child figure.absolute-img {
    right: 0;
    direction: rtl;
    width: 180%;
  }

  .two-cols-abs .wp-block-column:first-child figure.absolute-img {
    width: 250%;
  }

  .two-cols-abs figure.absolute-img img {
    width: 100%;
    height: auto;
  }
}

.two-cols-abs .wp-block-column:nth-child(2)>*+* {
  margin-block-start: var(--wp--preset--spacing--10);
  margin-block-end: 0;
}

/* editor fix */
.two-cols-abs .wp-block-image .components-resizable-box__container {
  max-width: unset !important;
  max-height: unset !important;
}

/*
---------------------------------------------------------------------------------------
# MOUSE POINTER
---------------------------------------------------------------------------------------
*/

#mouseFollow {
  position: fixed;
  z-index: 999;
  pointer-events: none;
  width: 60px;
  height: 60px;
  opacity: 0.6;
  top: 0;
  left: 0;
}

@media (max-width: 1280px) {
  #mouseFollow {
    display: none;
  }
}

#mouseFollow .pointer,
#mouseFollow .interaction {
  position: absolute;
  top: 0px;
  left: 0px;
  transition: all 0.25s ease-out;
}

#mouseFollow .pointer svg {
  width: 20px;
  height: 20px;
}

#mouseFollow .interaction svg {
  width: 60px;
  height: 60px;
}

#mouseFollow .pointer {
  transform: translate(-50%, -50%) scale(1);
}

#mouseFollow .interaction {
  transform: translate(-50%, -50%) scale(0);
}

#mouseFollow.onHover .pointer {
  transform: translate(-50%, -50%) scale(2);
}

#mouseFollow.onInteraction {
  opacity: 1;
}

#mouseFollow.onInteraction .pointer {
  transform: translate(-50%, -50%) scale(0);
}

#mouseFollow.onInteraction .interaction {
  transform: translate(-50%, -50%) scale(1.5);
}

/*
---------------------------------------------------------------------------------------
# FREE STANDING FURNITURE
---------------------------------------------------------------------------------------
*/

.filtro-categorie-free-standing ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 1.5rem;
  row-gap: 0.5rem;
}

.filtro-categorie-free-standing li a {
  display: inline-block;
  position: relative;
  padding: 0 0.3em;
}

.wp-site-blocks .filtro-categorie-free-standing p a {
  color: var(--wp--preset--color--black);
}

.filtro-categorie-free-standing a::after {
  content: "";
  position: relative;
  display: block;
  transform: scaleX(0);
  height: 0.08em;
  bottom: 0;
  left: 0;
  background: currentcolor;
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.filtro-categorie-free-standing a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.filtro-categorie-free-standing .current-cat a::after {
  transform: scaleX(1);
}

.wp-block-query li.free-standing {
  background-color: var(--wp--preset--color--white);
  padding: var(--wp--preset--spacing--10);
}

.wp-block-query li.free-standing figure {
  margin: 0;
  padding-bottom: var(--wp--preset--spacing--20);
}

.wp-block-query li.free-standing .taxonomy-free-standing-furniture-category {
  pointer-events: none;
  font-size: 1rem !important;
}

.wp-block-query li.free-standing .wp-block-post-title {
  margin-top: 0.75rem;
}

/*
---------------------------------------------------------------------------------------
# FORMIDABLE
---------------------------------------------------------------------------------------
*/
.frm_forms .frm_fields_container input,
.frm_forms .frm_fields_container select,
.frm_forms .frm_fields_container textarea {
  border-top-width: 0px;
  border-right-width: 0px;
  border-left-width: 0px;
  resize: none;
}

.frm_forms .frm_fields_container input:focus {
  box-shadow: none !important;
}

.frm_forms .frm_button_submit {
  text-transform: uppercase;
}

/* footer fix */
footer.site-footer {
  margin-top: -1px;
}

.columns_list {
  padding-inline: 20px;
}

@media (min-width: 781px) {
  .columns_list {
    column-count: 3;
    column-gap: var(--wp--preset--spacing--40);
  }
}

.wp-block-create-block-t99-block-gutenberg-svg svg {
  height: auto !important;
}