/* ensoul-blocks css vars overrides */

@font-face {
  font-family: 'Sailec Medium';
  src: url('./fonts/Sailec-Medium.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  --wp--preset--font-family--arial: "Inter", sans-serif;
  --wp--preset--font-family--inter: "Inter", sans-serif;
  --wp--preset--font-family--sailec-medium: "Sailec Medium", sans-serif;
}

:root {
  --color-primary-500: #212121;
  --color-primary-400: #747474;
  --color-primary-300: #D5D5D5;
  --color-primary-200: #EEEEEE;
  --color-primary-100: #F8F8F8;
  --color-white: #ffffff;
  --color-black: #000;
  --color-background: #fff;
  --wp--preset--color--base: #d6d6d6;
  --spacing-columns: 20px;
  --spacing-columns-dk: 20px;
  --spacing-container-heading: 100%;
  --spacing-container-columns: 768px;
  --spacing-container-content: var(--wp--style--global--content-size);
  --spacing-container-gallery: var(--wp--style--global--content-size);
  --spacing-content-padding-left: 0;
  --spacing-content-padding-right: 0;
  --spacing-dimension-icon-accordion: 11px;
  --spacing-accordion-x: 16px;
  --spacing-accordion-y: 32px;

  --text-heading-xs: 20px;

  --scrollbar-width: 0px;

  --text-paragraph-xl: 20px;
  --text-paragraph-xl--line-height: 25px;

  --color-border-accordion: var(--color-primary-300);

  --spacing-content-padding-left: 16px;
  --mobile-lateral-padding: 16px;

  --spacing-columns-padding: 0;
  --spacing-group-padding: 16px;
}

body {
  font-family: "Inter", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Sailec Medium', sans-serif;
}

.wp-site-blocks {
  overflow-x: hidden;
}

/*utilizzato per blocco query loop in archivio tipologie prodotti */
.has-global-padding {
  --wp--style--root--padding-left: 16px;
  --wp--style--root--padding-right: 16px;
}

.view-as-mobile .editor-visual-editor__post-title-wrapper > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  font-size: 20px;
  margin: 0;
  padding: 15px;
  line-height: 1; 
}

@media (max-width: 768px) {
  :root {
    --scrollbar-width: 0px;
  }
}

.w-screen {
  width: calc(100vw - var(--scrollbar-width));
}

.-ml-\[50vw\] {
  margin-left: calc(50vw * -1 + var(--scrollbar-width) / 2);
}

.-mr-\[50vw\] {
  margin-right: calc(50vw * -1 + var(--scrollbar-width) / 2);
}

/* Scrollbar & selection styling*/
::-webkit-scrollbar {
  width: var(--scrollbar-width);
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: var(--mid-black);
}

::selection {
  background-color: var(--soft-black);
  color: var(--soft-gray);
}

::-moz-selection {
  background-color: var(--soft-black);
}

::-webkit-selection {
  background-color: var(--soft-black);
  color: var(--soft-gray);
}

@media (max-width: 768px) {
  .max-md\:w-screen {
    width: calc(100vw - var(--scrollbar-width));
  }

  .max-md\:-ml-\[50vw\] {
    margin-left: calc(50vw * -1 + var(--scrollbar-width) / 2);
  }

  .max-md\:-mr-\[50vw\] {
    margin-right: calc(50vw * -1 + var(--scrollbar-width) / 2);
  }
}

/* Container width utilities - use !important to override WordPress editor defaults */
.max-w-container-columns {
  max-width: var(--spacing-container-columns) !important;
}

.max-w-container-content {
  max-width: var(--spacing-container-content) !important;
}

.dark {
  --color-primary-500: #1196b8;
  --color-secondary-50: #a01281;
  --color-white: #202020;
  --color-black: #fefefe;
  --wp--preset--color--base: #505050;
}

.border-gray {
  border-color: var(--color-primary-300);
}

h1,
.h1 {
  font-size: var(--text-heading-base);
  line-height: var(--text-heading-base--line-height);
}

h2,
.h2 {
  font-size: var(--text-heading-sm);
  line-height: var(--text-heading-sm--line-height);
}

h3,
.h3 {
  font-size: var(--text-heading-xs);
  line-height: var(--text-heading-xs--line-height);
}
/* 
:where(.wp-site-blocks *:focus) {
  outline: none !important;
} */

.ens-btn.ens-btn-primary {
  --spacing-padding-button: 12px 0;
  font-size: 12px;
  font-weight: 500;
  --border-color-button-color: var(--color-primary-500);
  --border-width-button-width: 1px;
  border-left-style: none;
  border-right-style: none;
  border-top-style: none;
  border-bottom-style: none;
  --color-button: var(--color-primary-500);
  --color-button-hover: var(--color-primary-500);
  --color-button-background: none;
  --color-button-background-hover: inherit;
  svg {
    margin-right: 2px;
  }
}

.ens-btn.ens-btn-secondary {
  --decoration-button: none;
  --decoration-button-hover: none;
  font-size: 14px;
  font-weight: 500;
  padding-left: 0;
  padding-right: 0;
  --radius-button: 0;
  --color-button: var(--color-white);
  --color-button-hover: var(--color-white);
  --color-button-background: var(--color-primary-500);
  --color-button-background-hover: var(--color-primary-400);
  svg {
    margin-right: 2px;
  }
}

.ens-btn.ens-btn-tertiary {
  --spacing-padding-button: 0 0;
  --decoration-button: none;
  --decoration-button-hover: none;
  border: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  --color-button: white;
  --color-button-hover: white;
  --color-button-background: none;
  --color-button-background-hover: inherit;
  svg {
    margin-right: 2px;
  }
}

.ens-btn.ens-btn-quaternary {
  --spacing-padding-button: 8px 16px;
  --decoration-button: none;
  --decoration-button-hover: none;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  --border-color-button-color: var(--color-primary-500);
  --border-width-button-width: 1px;
  --color-button: white;
  --color-button-hover: var(--color-primary-500);
  --color-button-background: var(--color-primary-500);
  --color-button-background-hover: white;
  --radius-button: 9999px;
}

.ens-btn.ens-btn-quinary {
  --spacing-padding-button: 3px 8px;
  --decoration-button: none;
  --decoration-button-hover: none;
  font-size: 12px;
  font-weight: 800;
  --border-color-button-color: none;
  --border-width-button-width: 0;
  --color-button: var(--color-primary-500);
  --color-button-hover: white;
  --color-button-background: white;
  --color-button-background-hover: var(--color-primary-500);
  --radius-button: 9999px;
}

.ens-btn.ens-btn-sextuary {
  display: none;
}

@media (width >= 48rem /* 768px */) {
  h1,
  .h1 {
    font-size: var(--text-heading-xl);
    line-height: var(--text-heading-xl--line-height);
  }

  h2,
  .h2 {
    font-size: var(--text-heading-lg);
    line-height: var(--text-heading-lg--line-height);
  }

  h3,
  .h3 {
    font-size: var(--text-heading-sm);
    line-height: var(--text-heading-sm--line-height);
  }
}

:root :where(.wp-block-navigation a:where(:not(.wp-element-button)):hover) {
  text-decoration: none;
  font-weight: bold;
}

/* fix default style */
/* eventualmente modificare da theme.json */
:where(figure) {
  margin-bottom: 0;
}

:where(.wp-site-blocks) > main {
  margin-top: 0;
}

.main_header {
  position: relative;
  z-index: 51;
}

.sticky-on-scroll-up {
  transition: transform .4s ease-in-out;
}

.sticky-on-scroll-up.moved-up {
  transform: translate(0, -100%);
}

.wp-block-template-part.menu--open section:has(.internal_menu) {
  transform: translate(0,0);
  transition: transform 0.8s cubic-bezier(0.66, 0.18, 0.31, 0.79);
}

.wp-block-template-part.menu--open .menu_open_btn {
  display: none;
}

.menu_close_btn {
  display: none;
}
.menu_close_btn button {
  padding-inline: 1px;
}

.wp-block-template-part.menu--open .menu_close_btn {
  display: block;
}

@media(min-width: 767px) {
  .home_hero_image img {
    max-height: 84vh;
  }
}

/* .header-wrapper .header-content {
  padding: 0 30px;
} */

/* .header-block-wrapper .header-main-row {
  max-width: var(--spacing-container-content);
  margin: 0 auto;
  border-radius: 8px;
  padding: 16px 24px;
  margin-top: 24px;
} */

/* Maps */
.image-location-maps,
.text-location-maps {
  display: none !important;
}
.leaflet-popup-content {
  width: 160px;
}

/* Slider */
@media (width <= 48rem) {
  .content-slider {
    padding-bottom: 60px;
  }
  .content-slider-next,
  .content-slider-prev {
    top: auto;
    bottom: 0;
  }
}

.content-slider.autoscroll .swiper-slide figure {
  max-height: 60vh;
}

@media (max-width: 1024px) {
  .content-slider.autoscrol .swiper-slide figure {
    height: 45vh;
  }
}

/* rimuovi questa parte per mostrare gli index sulle slide */
.slide-index-display {
  display: none;
}

/* utility per aspect ratio dei video "embeddati". aggiungi questa classe al gruppo che ha come sfondo il video */
.aspect-ratio-group {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  iframe {
    height: auto !important;
  }
}

.no-underline * {
  text-decoration: none;
}

/* submenu - frontend only */
body:not(.block-editor-iframe__body) .header-navigation {
  position: fixed;
  top: 34px;
  left: 0;
  width: 100%;
  z-index: 50;
  border-bottom: 1px solid var(--color-primary-500);
}

.header-navigation > .ensoul-columns-block {
  justify-content: space-between;
}

body:not(.block-editor-iframe__body) .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  position: fixed;
  top: 80px;
  left: 0;
  width: 100% !important;
  border: none;
  transition: opacity .1s linear, visibility .5s; /* fix bug delay "visibility" evita il click sul link interno nella stessa posizione */
}

body:not(.block-editor-iframe__body) .wp-block-navigation .wp-block-navigation__submenu-container {
  width: 100%;
  padding-top: 10px;
}

@media(min-width: 768px) {
  body:not(.block-editor-iframe__body) .wp-block-navigation__submenu-container > section {
    border-top: 1px solid #000;
  }
}

/* submenu - backend only */
body.block-editor-iframe__body .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
  position: absolute;
  top: 100px;
  left: 0;
  width: 100% !important;
  border: none;
  padding-top: 35px;
  background: transparent;
}


body.block-editor-iframe__body .block-editor-block-list__layout .block-editor-block-list__block,
body.block-editor-iframe__body .block-editor-block-list__layout .block-editor-block-list__layout {
  position: static;
}


.view-as-mobile body.block-editor-iframe__body .header-menu-column {
  display: none !important;
}

/* header mobile */
.menu_open_btn {
  padding: 0 8px 0 7px;
  margin-right: -14px;
}

/*search panel --> */
#search-panel {
  position: fixed;
  top:0;
  left: 0;
  width: 100% !important;
  margin: 0 !important;
  left: 0 !important;
  right: auto !important;
  z-index: 40;
}

#search-panel {
  visibility: hidden;
  transform: translate(0,-100%);
  opacity: 0;
  transition: transform .3s ease-in-out, opacity .3s ease-in-out;
}

.wp-block-template-part.search--open #search-panel {
  visibility: visible;
  opacity: 1;
  transform: translate(0,0);
}

/* in editor mostra il search-panel solo se l'elemento è selezionato */
body.block-editor-iframe__body .search-panel:not(.is-selected,.has-child-selected) /* backend only */ {
  display: none;
}

.search_close_btn {
  position: absolute;
  top: 180px;
  right: 15px;
}

@media(max-width: 1439px) {
  .search_close_btn {
    right: 11px;
  }
}

body.block-editor-iframe__body .search_close_btn {
  position: absolute !important;
  top: 180px !important;
  right: 0 !important;
}

@media(max-width: 1439px) {
  body.block-editor-iframe__body .search_close_btn {
    right: 11px !important;
  }
}

.search-container {
  max-width: 1011px !important;
  margin: 0 auto;
  padding-inline: var(--spacing-s);
}

#header-search-form {
  font-family: var(--wp--preset--font-family--sailec-medium);
  display: flex;
  gap: 30px;
  width: 100%;
  border-bottom: 1px solid var(--color-black);
  padding-bottom: 20px;
}

#header-search-input {
  flex: 1;
  font-size: var(--text-heading-base);
  font-weight: 500;
}

@media(max-width: 767px) {
  #header-search-input {
    font-size: var(--text-heading-xs);
  }
}

#header-search-input::placeholder {
  color: #000;
}
/*<--- end search panel */


@media(max-width: 767px) {
  .header-icons-column .ensoul-lang-switcher {
    display: none;
  }

  .header-navigation > div > .ensoul-columns-section > .ensoul-columns-block > .ensoul-column-wrapper {
    z-index: 20;
  }

  .header-menu-column {
    z-index: 19!important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    padding: 172px 16px;
    visibility: hidden;
  }

  .header-logo-column,
  .header-icons-column {
    position: relative;
    z-index: 20;
  }

  .wp-block-template-part.menu--open .header-menu-column {
    visibility: visible;

  }

  .header-menu-column > .column {
    justify-content: normal;
    align-items: start;
  }

  .header-menu-column .wp-block-navigation__container {
    flex-direction: column;
    align-items: start;
  }

  /* no gap verticale blocchi di link */
  .header-menu-column .wp-block-navigation__container .ensoul-columns-block {
    gap: 0;
  }

  .submenu-active-thumbnail {
    display: none;
  }

  body:not(.block-editor-iframe__body) .wp-block-navigation .wp-block-navigation__submenu-container {
    padding-top: 93px;
  }

  li.has-mega-submenu.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
    display: none;
  }

  .header-menu-column > div > nav {
    width: 100%;
  }

  li.has-mega-submenu {
    width: 100%;
  }

  li.has-mega-submenu.wp-block-navigation-submenu .wp-block-navigation-submenu__toggle {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }

  li.has-mega-submenu.wp-block-navigation-submenu .wp-block-navigation-submenu__toggle:after {
    content: '';
    display: inline-block;
    width: 9px;
    height: 16px;
    background-repeat: no-repeat;
    position: relative;
    transform: translate(0,3px);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='16' viewBox='0 0 9 16' fill='none'%3E%3Cpath d='M0.942667 15.0853L8.48533 7.54267L0.942667 0L0 0.942667L6.6 7.54267L0 14.1427L0.942667 15.0853Z' fill='%23212121'/%3E%3C/svg%3E");
  }

  .submenu-title {
    padding: 0 16px 38px;
    text-transform: lowercase;
  }

  .submenu-title:before {
    content: '';
    display: inline-block;
    width: 9px;
    height: 16px;
    background-repeat: no-repeat;
    position: relative;
    margin-right: 16px;
    transform: translate(0,5px);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='16' viewBox='0 0 9 16' fill='none'%3E%3Cpath d='M7.54267 15.0853L0 7.54267L7.54267 0L8.48533 0.942667L1.88533 7.54267L8.48533 14.1427L7.54267 15.0853Z' fill='%23212121'/%3E%3C/svg%3E"); /* < */
  }

  .submenu-title strong {
    font-weight: 500;
    font-size: 14px;
  }

  .home_primo_p {
    transform: translate(0, -100%);
    margin-bottom: -500px;
    padding: 30px 0;
    color: #fff;
  }
}

@media(min-width: 768px) {
  ul.has-mega-submenu > section {
    border-bottom: 1px solid var(--color-primary-500);
  }
}


/* grid prodotit 4 col desk - 2 col mob */
.grid-4-2 {
  container-type: inline-size;
}
.grid-4-2 > ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px var(--spacing-columns);
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
}

/* 4-4-2 ratios */

/* aspect ratio portrait per thumb */
.grid-4-2 > ul li .image-section figure.origin-portrait {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 3/4;
  background: #fafafa;
}

/* aspect ratio landscape per thumb */
/* colonna con span 2 */
.grid-4-2 li:has(figure.origin-landscape) {
  grid-column: span 2;
}

/* aspect ratio landscape per thumb */
.grid-4-2 li .image-section figure.origin-landscape {
  aspect-ratio: clamp(1.542, calc(1.59 + ((-0.007595vw + 0.05833px) / 1px)), 1.59);
  background: #fafafa;
  height: 100%;
}

.grid-4-2 > ul li .image-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

@container (width > 735px) {
  .grid-4-2 > ul {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 100px var(--spacing-columns-dk);
  }
}

/* grid prodotti 2 col desk - 1 col mob */
.grid-2-1 {
  container-type: inline-size;
}
.grid-2-1 > ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

.grid-2-1 > ul li .image-section figure {
  aspect-ratio: 16 / 9;
  background-color: #fafafa;
  max-width: 100%;
}

.grid-2-1 > ul li .image-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@container (width > 735px) {
  .grid-2-1 > ul {
    grid-template-columns: 1fr 1fr;
    gap: 48px var(--spacing-columns-dk);
  }
}


/* tirelle */
.grid-2-1.ql_tirelle > ul li .image-section figure {
  aspect-ratio: 16/9;
}


/* grid 3 desktop 1 mobile */
/* grid prodotit 4 col desk - 2 col mob */
.grid-3-1 {
  container-type: inline-size;
}

.grid-3-1 > ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-columns);
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
}

.grid-3-1 > ul li .image-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.grid-3-1 > ul li .image-section figure {
  max-width: 100%;
}


@container (width > 735px) {
  .grid-3-1 > ul li .image-section figure {
    aspect-ratio: 16 / 9;
    background-color: #fafafa;
  }

  .grid-3-1 > ul {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 64px 20px;
  }
}


/* grid tipogia */
/* default 3 col desk e 1 col mobile */
.grid-tipologia {
  container-type: inline-size;
}

.grid-tipologia > ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-columns);
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
}

.grid-tipologia > ul li .image-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: multiply;
}

.grid-tipologia > ul li .image-section figure {
  aspect-ratio: 16 / 9;
  max-width: 100%;
  background: #fafafa;
}

@media (min-width: 768px) {
  .grid-tipologia > ul {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 64px 20px;
  }
}

body.term-chaises-longues .grid-tipologia > ul li .image-section figure,
body.term-poltrone .grid-tipologia > ul li .image-section figure,
body.term-sedie .grid-tipologia > ul li .image-section figure,
body.term-sgabelli .grid-tipologia > ul li .image-section figure,
body.term-pouf .grid-tipologia > ul li .image-section figure {
  aspect-ratio: 3 / 4;
  background: #fafafa;
}

@media (min-width: 768px) {
  body.term-chaises-longues .grid-tipologia > ul,
  body.term-poltrone .grid-tipologia > ul,
  body.term-sedie .grid-tipologia > ul,
  body.term-sgabelli .grid-tipologia > ul,
  body.term-pouf .grid-tipologia > ul {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}


.badge-taxonomy {
  background: var(--color-primary-100);
  padding: 4px 8px;
  border-radius: 99px;
  width: fit-content;
}

.home_news_grid > ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
}

@media(min-width: 768px) {
  .home_news_grid > ul {
    grid-template-columns: 1fr 1fr;
    gap: 48px var(--spacing-columns);
  }
}

@media(min-width: 768px) {
  .gallery-adjust-height {
    display: flex;
  }
}

.gallery-adjust-height .image-section {
  width: auto;
}

.gallery-adjust-height .image-section figure,
.gallery-adjust-height .image-section img {
  height: 100%;
}

.gallery-adjust-height .wp-block-ensoul-image > div,
.gallery-adjust-height .wp-block-ensoul-image > div > img {
  height: 100%;
}

/* footer.wp-block-template-part {
  padding-block: 32px;
  background-color: var(--color-primary-200);
} */

.footer-logo figure {
  max-width: min(100%, 674px);
}

footer .accordion-layout-default {
  width: 100%;
}

footer .accordion-layout-default .title_header {
  --text-heading-sm: 14px;
  --text-heading-sm--line-height: 1em;
}

/* home realizzazioni */

body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_slider {
  /* height: 100vh;
  width: 100%;
  position: relative; */

  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  /* w-screen relative left-1/2 right-1/2 -ml-[50vw] -mr-[50vw] home_realizzazioni_outer */
}

body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_wrapper {
  height: 100vh;
  position: relative;
}

body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_wrapper > li {
  position: absolute;
  width: 100%;
  height: 100vh;
  z-index: 1;
  background: #fff;
  display: flex;
  flex-direction: column;
}

/* .home_realizzazioni_slider {
  --swiper-pagination-right: auto;
  --swiper-pagination-left: 12px;
  --swiper-pagination-color: #fff;
  --swiper-pagination-bullet-width: 13px;
  --swiper-pagination-bullet-height: 13px;
} */

body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_wrapper > li > a,
body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_wrapper > li > a figure,
body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_wrapper > li > a img {
  height: 100%;
}

.home_realizzazioni_slide > div {
  --spacing-group: 0;
}

body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_slide .image-section {
  flex: 1;
  margin-bottom: 0;
}

body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_slide .image-section figure {
  height: 100%;
}

body:not(.block-editor-iframe__body,.wp-admin) .home_realizzazioni_slide .image-section figure img {
  height: 100%;
}

body:not(.block-editor-iframe__body,.wp-admin) .realizzazioni_caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: #fff;
  left: 0;
  margin-bottom: 0;
  max-width: 100% !important;
  padding-inline: 16px;
}

.li-vert-space [data-accordion-content] > div > div {
  padding: 16px;
}

.li-vert-space [data-accordion-content] li {
  margin-bottom: .75rem;
}

/* single prodotto */
.par-font-size-inherit p {
  font-size: inherit;
}

.par-vertical-spacing > * {
  margin-bottom: 1rem;
  line-height: 1.43;
  color: var(--color-primary-500);
}

.accordion-layout-default .wp-block-ensoul-accordion-section {
  padding-inline: 0;
  --spacing-accordion-x: 32px;
  --spacing-accordion-y: 32px;
}

.accordion-layout-default .wp-block-ensoul-accordion-section [data-accordion-trigger],
.accordion-layout-default .wp-block-ensoul-accordion-section [data-accordion-content] {
  max-width: var(--wp--style--global--content-size);
  margin: 0 auto;
  padding-block: var(--spacing-accordion-y);
}

footer .accordion-layout-default .wp-block-ensoul-accordion-section [data-accordion-trigger] {
  --spacing-accordion-y: 8px;
}

.accordion-layout-default .wp-block-ensoul-accordion-section [data-accordion-trigger] {
  --spacing-accordion-x: 32px;
  --spacing-accordion-y: 32px;
}

.accordion-layout-default .wp-block-ensoul-accordion-section [data-accordion-content] {
  --spacing-accordion-x: 0;
  --spacing-accordion-y: 0;
}

.accordion-layout-default .wp-block-ensoul-accordion-section h2.title_header {
  font-family: var(--wp--preset--font-family--inter);
  --text-heading-xs: 14px;
  --text-heading-xs--line-height: 20px;
  --text-heading-sm: 14px;
  --text-heading-sm--line-height: 20px;
  --text-heading-lg: 14px;
  --text-heading-lg--line-height: 20px;
}

/* r-250226-1652 regola per nascondere titolo in caso di mancanza di Realizzazioni legate al prodotto */
.wp-site-blocks:has(.dynamic-slider.dynamic-slider--empty.dyn-slider--prod-realizzazioni) .sing_prod_projects_section_title {
  display: none;
}

/* ---------------*/
/* dynamic slider */
/* ---------------*/
.dynamic-slider {
  position: relative;
}

.dynamic-slider__figure {
  margin: 0;
}

.dynamic-slider__figure img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Modalità auto: la slide si dimensiona tramite CSS (es. width: 80vw) */
.dynamic-slider__slide--auto {
  width: auto;
  display: flex;
  flex-direction: column;
}

.dynamic-slider__slide--auto figure {
  height: 500px;
  width: auto;
}
.dynamic-slider__slide--auto figure img {
  width: auto;
  height: 100%;
  contain-intrinsic-size: auto none;
}

/* Caption per le slide di tipo relazione */
.dynamic-slider__caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
}

.dynamic-slider__title {
  flex: 1;
}

.dynamic-slider__cta {
  display: inline-block;
  text-decoration: none;
  padding: 0.5em 1em;
  font-size: 12px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* Freccia cursore custom (desktop) */
.dynamic-slider__arrow {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 20;
  opacity: 0;
  transition: opacity 0.15s ease;
  will-change: transform;
}

.dynamic-slider__arrow.is-visible {
  opacity: 1;
}

.swiper-pagination.swiper-pagination-fraction {
  font-size: 12px;
}

.swiper-pagination.swiper-pagination--dynamic-slider {
  position: static;
  padding: 10px;
}

/* Desktop: cursore nascosto + pagination nascosta */
@media (min-width: 768px) {
  .dynamic-slider {
    cursor: none;
  }

  .dynamic-slider .swiper-pagination {
    display: none;
  }
}

/* Mobile: pagination visibile come contatore */
@media (max-width: 767px) {
  .dynamic-slider__arrow {
    display: none;
  }
}

/* archive designers: nasconde colonna nome se vuota o nasconde colonna title (usato come fallback) altrimenti */
.archive-designers--name:has(div>p:empty),
.archive-designers--name:has(div>p:not(:empty)) + .archive-designers--fallback-title {
  display: none;
}

.archive-designers--thumb-col {
  display: none;
}

.ql-contesti-realizzazioni ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px 32px;
}

@media(max-width: 767px) {
  .ql-contesti-realizzazioni ul {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.ql-post-col-anno {
  display: none!important;
}

@media(min-width: 768px) {
  /* dettaglio è la vista di default: mostra anno e 1 colonna */
  .ql-contesti-realizzazioni .ql-post-col-anno {
    display: block!important;
  }

  /* griglia: 2 colonne, anno nascosto, immagini 16/9 */
  .ql-contesti-realizzazioni.view--griglia ul {
    grid-template-columns: 1fr 1fr;
  }

  .ql-contesti-realizzazioni.view--griglia .ql-post-col-anno {
    display: none!important;
  }

  .ql-contesti-realizzazioni.view--griglia ul .image-section img {
    aspect-ratio: 16/9;
  }
}

/* .ql-post-col-location {

} */

/* frontend only */
body:not(.block-editor-iframe__body) .break-container-full-width {
  position: relative;
  width: 100vw;
  left: min(-1*var(--spacing-content-padding-left), calc((100vw - 1400px) / -2))
}

/* frontend only */
body:not(.block-editor-iframe__body) .slider-fixed-height {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 11;
}

.dynamic-slider__figure {
  height: 100%;
}

.dynamic-slider__figure img {
  height: 100%;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}



/* query loop pagination */
.wp-block-query-pagination-numbers {
  display: flex;
}

.wp-block-query-pagination-numbers .page-numbers {
  padding: 9px 10px;
  border-bottom: 1px solid var(--color-primary-400);
  color: var(--color-primary-400);
  font-size: var(--text-paragraph-xs);
  line-height: 1;
}

.wp-block-query-pagination-next-arrow,
.wp-block-query-pagination-previous-arrow {
  color: var(--color-primary-400);
  font-size: 15px;
}

.wp-block-query-pagination-numbers .page-numbers.current {
  border-color: var(--color-primary-500);
  color: var(--color-primary-500);
}

.wp-block-query-pagination-numbers .page-numbers.dots {
  display: none;
}


/* template single new -- slider */
.single-news-slider {
  overflow: visible;
}

.single-news-slider .swiper-slide {
  width: 100%;
}

.single-news-slider .swiper-slide figure {
  aspect-ratio: 16/9;
  position: relative;
  width: 100%;
  height: 100%;
}


/* single post content */
.single-post-content {
  color: var(--color-primary-500);
}

.single-post-content > *:first-child {
  font-size: var(--text-paragraph-base);
  margin-bottom: 1em;
}

.single-post-content > *:not(:first-child) {
  margin-bottom: 1em;
}

.single-post-content > h2:not(:first-child),
.single-post-content > h3:not(:first-child),
.single-post-content > h4:not(:first-child) {
  font-size: var(--text-paragraph-md);
  line-height: 1.5;
}

@media(min-width: 768px) {
  .single-post-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* due colonne uguali */
  }

  .single-post-content > *:first-child {
    --text-paragraph-base: 24px;
    --text-paragraph-base--line-height: 32px;
    
    grid-column: 1;       /* prima colonna */
    grid-row: span 999;     /* per condensare verticalmente le righe a destra, sul primo occupa tutte le righe disponibili */
  }

  .single-post-content > *:not(:first-child) {
    font-size: var(--text-paragraph-sm);
    grid-column: 3;       /* tutti gli altri vanno nella colonna a destra */
  }

  .single-post-content > h2:not(:first-child),
  .single-post-content > h3:not(:first-child),
  .single-post-content > h4:not(:first-child) {
    font-size: var(--text-paragraph-lg);
    line-height: 1.5;
  }
}

/* press office */
@media(max-width: 767px) {
  .press-office_columns .ensoul-columns-block {
    display: grid;
    grid-template-columns: 1fr auto;
    row-gap: 4px;
  }

  .press-office_columns .ensoul-columns-block .press-office_col_data {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .press-office_columns .ensoul-columns-block .press-office_col_cta {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    align-self: center;
  }

  .press-office_columns .ensoul-columns-block .press-office_col_title {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  .press-office_columns .ensoul-columns-block .press-office_col_sepa {
    display: none !important;
  }
}

.ql_cataloghi > ul li .image-section,
.ql_cataloghi > ul li .image-section figure {
  aspect-ratio: 0.75;
}
.ql_cataloghi > ul li .image-section figure img {
  object-fit: contain;
  mix-blend-mode: multiply;
}

.ql_cataloghi > ul li .image-section figure {
  background-color: #fafafa;
}

.press-article-thumb {
  display: none;
}

/* variazione ui ensoul-lang-switcher header */
.header-icons-column .ensoul-lang-switcher {
  margin-right: -8px;
}

.header-icons-column .ensoul-lang-switcher .els-non-current-wrap {
  position: relative;
  font-size: inherit;
  max-width: 0;
  overflow: hidden;
  top: unset;
  transition: max-width .15s ease-in-out;
  opacity: 1;
}

.ensoul-lang-link.is-current {
  margin: 0 .5rem 0 0;
  font-size: 14px;
  line-height: 1.6;
}

.header-icons-column .ensoul-lang-switcher svg {
  transform-origin: center;
  transform: rotate(-90deg);
}

.header-icons-column .ensoul-lang-switcher .els-non-current-wrap .ensoul-lang-link {
  height: auto;
  margin: 0 .5rem;
  font-size: 14px;
  line-height: 1.6;
  overflow-wrap: normal;
}

.header-icons-column .ensoul-lang-switcher:hover {
  margin-right: 0;
}

.header-icons-column .ensoul-lang-switcher:hover .els-non-current-wrap {
  max-width: 200px;
}

.header-icons-column .ensoul-lang-switcher:hover svg {
  transform: rotate(90deg);
}

/* language switch mobile */
@media(min-width: 768px) {
  .header-menu-column .ensoul-lang-switcher {
    display: none;
  }
}

@media(max-width: 767px) {
  .header-menu-column .ensoul-lang-switcher {
    margin-top: 40px;
  }

  .header-menu-column .ensoul-lang-switcher .els-non-current-wrap {
    font-size: 14px;
    position: relative;
    opacity: 1;
    top: 0;
    display: block;
  }

  .header-menu-column .ensoul-lang-switcher > svg {
    display: none;
  }

  .header-menu-column .ensoul-lang-link.is-current {
    font-weight: bold;
  }

  .header-menu-column .els-non-current-wrap a.ensoul-lang-link {
    margin-right: 13px;
  }
}

/* fix visibilità lang switch in editor */
body.block-editor-iframe__body .header-menu-column div[data-title="Language Switcher"] {
  display: none;
}

/* fix visibilità lang switch in editor */
.view-as-mobile body.block-editor-iframe__body .header-menu-column div[data-title="Language Switcher"] {
  display: none;
}
  
@media(min-width: 768px) and (max-width: 1059px) {
  .header-navigation > .ensoul-columns-block {
    grid-template-columns: 150px auto 150px;
  }

  /* .ensoul-lang-switcher:hover + .icon-block {
    display: none;
  } */
}

.search_open_btn .icon-svg-wrapper {
  --icon-size-dk: 24px;
}

/* single prodotto - sezione materiali */
section[data-accordion-uid]:has(.materiali--empty) {
  display: none;
}

/* spazio colonne di testo */
.column-gap-40 {
  column-gap: 40px;
}

/* gravity forms */
.gform_fields {
  --gf-form-gap-y: 20px;
}

/* blocco columns md-30-70 variato a 33-67 per allineamento colonne 1/3 1/3 1/3 */
@media (min-width: 48rem) {
  .md\:grid-cols-\[3fr_7fr\] {
    grid-template-columns: 1fr 2fr;
  }

  .md\:grid-cols-\[7fr_3fr\] {
    grid-template-columns: 2fr 1fr;
  }
}

/* single-designer nome e foto sticky desktop */
.wp-site-blocks:has(.designer-name-thumb),
.wp-site-blocks:has(.top-104) {
  overflow: visible;
}

section:has(>.designer-name-thumb) {
  position: sticky;
  top: 66px;
  --spacing-content-padding-left: 0; /* rimuove padding laterale di default */
}

body:not(.block-editor-iframe__body,.block-editor-page) .top-104 {
  top: 104px;
}

.post-type-archive-designers li.designers.type-designers > div {
  border-color: var(--color-primary-300);
}

.post-type-archive-designers li.designers.type-designers:first-child > div {
  border-top-style: solid;
  border-top-width: 1px;
}

/* evidenziazione da tastiera */
button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--color-primary-500);
  outline-offset: 2px;
}

/* rimuove l'outline di default per il mouse */
button:focus:not(:focus-visible),
a:focus:not(:focus-visible) {
  outline: none;
}

/* tax-tipologia nascondi intestazione "prodotti in evidenza" se non ci sono prodotti risultanti nel query loop adiacente */
body.tax-tipologia section:has(+ .wp-block-query.grid-tipologia:empty) {
  display: none;
}

/* single-prodotti nascodi intestazione "prodotti correlati" se non ci sono prodotti risultanti nel blocco adiacente */
body.single-prodotti .related-prod-sec-title:has(+ .no-related-products) {
  display: none;
}

html:not(.view-as-mobile) .is-root-container {
  min-height: 100vh !important;
}