/* ensoul-blocks css vars overrides */

:root {
  --color-primary-50: #e1f6f7;
  --color-primary-100: #c4e3e4;
  --color-primary-200: #b3e0e2;
  --color-primary-300: #86cbcf;
  --color-primary-400: #6bb6ba;
  --color-primary-500: #00a2ab;
  --color-primary-600: #38898e;
  --color-primary-700: #246063;
  --color-primary-800: #174043;
  --color-primary-900: #0b2123;
  --color-secondary-50: #f0f2f3;
  --color-secondary-100: #d0d5d7;
  --color-secondary-200: #b1b8bc;
  --color-secondary-300: #919ba0;
  --color-secondary-400: #727e85;
  --color-secondary-500: #405559;
  --color-secondary-600: #424e54;
  --color-secondary-700: #313a3f;
  --color-secondary-800: #21272a;
  --color-secondary-900: #101315;

  /* video-slider */
  --color-slide-background: var(--color-primary-700);

  /* Button */
  --spacing-button-icon-width: 8px;

  /* Columns sizes */
  --spacing-columns: 24px;

  /* slider */
  --slider-arrow-icon-size-mobile: 19px;
}

body {
  background-color: var(--color-secondary-50);
}

.components-popover {
  z-index: 30;
}

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-visible) {
  outline-offset: 4px;
  outline-color: var(--color-primary-400);
}

.ens-btn svg {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: ease-in-out;
  transition-duration: 300ms;
}

.ens-btn:hover svg {
  transform: rotate(45deg);
}

.no-default-animation .ens-btn:hover svg, .download_button .ens-btn:hover svg {
  transform: none;
}

.download_button svg {
  --spacing-button-icon-width: 16px;
}

.animation-arrow-down .ens-btn:hover svg {
  transform: translateY(2px);
}

.wp-block-ensoul-button + .wp-block-ensoul-button .ens-btn.ens-btn-primary {
  border-top-width: 0;
  border-top-style: none;
}

.ens-btn.ens-btn-primary {
  --spacing-padding-button: 12px 0;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  --border-color-button-color: var(--color-primary-700);
  --border-width-button-width: 1px;
  border-left-style: none;
  border-right-style: none;
  border-top-style: solid;
  border-bottom-style: solid;
  justify-content: space-between;
  --color-button: var(--color-primary-700);
  --color-button-hover: var(--color-primary-700);
  --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;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 800;
  justify-content: space-between;
  padding-left: 0;
  padding-right: 0;
  --color-button: var(--color-primary-700);
  --color-button-hover: var(--color-primary-700);
  --color-button-background: none;
  --color-button-background-hover: inherit;
  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;
  justify-content: space-between;
  --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;
  justify-content: space-between;
  --border-color-button-color: var(--color-primary-600);
  --border-width-button-width: 1px;
  --color-button: white;
  --color-button-hover: var(--color-primary-600);
  --color-button-background: var(--color-primary-600);
  --color-button-background-hover: white;
  --radius-button: 9999px;
}

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

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

.cta_back_single_post_type {
  position: absolute;
  z-index: 11;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 20%;
}

.section_hero_case_study {
  opacity: 0.9;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

.section_rounded_top {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  z-index: 10;
}

/* Menu */
.inner-content-wrapper {
  display: flex;
  flex-direction: column;
}
/* Header link */
header .animation-link a, .nav-button-link {
  transition: all 0.5s ease;
}
header .animation-link a:hover {
  color: var(--color-primary-500);
}
.nav-button-link:hover {
  background-color: var(--color-secondary-50);
}
.header-menu-open .nav-button-link:hover {
  background-color: rgba(255, 255, 255, 0.1);
}


@media (width >= 48rem /* 768px */) {
  :root {
    /* Columns */
    --spacing-columns: 64px;
  }
	.footer-list .ensoul-columns-block {
		grid-template-columns: repeat(9, minmax(0, 1fr));
	}
  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);
  }
  .main-menu {
    display: flex;
    flex: 1;
    align-items: center;
  }
  .reduce-gap-columns {
    --spacing-columns: 24px;
  }
}

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

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

/* case study hover fx */
/* aggiungi classe "case-study-wrapper" su blocco ensoul/columns del case study */
/* comprende effetti: */
/* - offset laterale prime due colonne */
/* - scale e fade-in immagine */
/* - colore testi */
@media (width >= 48rem) {
  .case-study-wrapper {
    transition: background 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
  }

  .case-study-wrapper .ensoul-columns-block {
    align-items: center;
  }

  .case-study-wrapper:hover {
    background-color: var(--color-primary-800);
  }

  .case-study-wrapper .ensoul-column-wrapper:nth-child(1),
  .case-study-wrapper .ensoul-column-wrapper:nth-child(2) {
    transition: transform 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
  }

  .case-study-wrapper:hover .ensoul-column-wrapper:nth-child(1),
  .case-study-wrapper:hover .ensoul-column-wrapper:nth-child(2) {
    transform: translate(40px, 0);
  }

  .case-study-wrapper .image-section img {
    transition: transform 0.8s cubic-bezier(0.075, 0.82, 0.165, 1),
      opacity 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
    transform-origin: top right;
    transform: scale(0.7);
    opacity: 0;
  }

  .case-study-wrapper:hover .image-section img {
    transform: scale(1);
    opacity: 1;
  }

  /*all texts inside enhance-on-hover*/
  .case-study-wrapper *[class*="has-secondary-"],
  .case-study-wrapper *[class*="has-secondary-"] > *,
  .case-study-wrapper .button-content > * {
    transition: color 0.8s cubic-bezier(0.075, 0.82, 0.165, 1);
  }

  .case-study-wrapper:hover *[class*="has-secondary-"],
  .case-study-wrapper:hover *[class*="has-secondary-"] > * {
    color: var(--color-white) !important;
  }

  .case-study-wrapper:hover .ens-btn {
    --color-button: var(--color-white);
    --border-color-button-color: var(--color-white);
    --color-button-hover: var(--color-white);
    margin-right: 24px;
  }
}
.section_hero_case_study {
  opacity: 0.9;
  border-top-left-radius: 7px;
  border-top-right-radius: 7px;
  padding: 30px 33px;
}

.slide-index-display {
  display: none;
}

.spacing-section-certificazioni {
  margin-top: -12px;
}

.section-news ul {
  gap: 24px;
  li {
    display: flex;
    flex-direction: column;
  }
  @media (width >= 48rem) {
    .wp-block-ensoul-button {
      margin-top: auto;
    }
  }
}
.radius {
  border-radius: 7px; 
  overflow: hidden;
}

.section-news .wp-block-post .ens-btn {
  position: relative;
  overflow: hidden;
  border-radius: 0!important;
}

.section-news .wp-block-post .ens-btn::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.section-news .wp-block-post:hover .ens-btn::after {
  width: 100%;
}

@media (width < 64rem) {
  .hero_case_study h1 {
    font-size: var(--text-heading-base);
    line-height: var(--text-heading-base--line-height);
  }
  .content-columns-hero-case-study .ensoul-columns-block {
    grid-template-columns: 5fr 5fr;
  }
}

.aspect-ratio-group {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  iframe {
    height: auto!important;
  }
}

.hero.ensoul-spacing-wrapper h1, .hero.ensoul-spacing-wrapper p {
  color: var(--color-secondary-500);
}

.hero.ensoul-spacing-wrapper.fade-out h1, .hero.ensoul-spacing-wrapper.fade-out p {
  color: var(--color-white);
}