/*
Theme Name: Idromec
Description: 
Template: hello-elementor
Version: 1.0.0
Author: 
Author URI: 
Text Domain: hello-elementor
*/

:root {
  --header-base-width: 1320px;
  --left-color: rgba(34, 47, 86, 0.90);
  --right-color: rgba(34, 47, 86, 0.90);

  --head-height: 100px;
  --head-angle: 25px;
  --head-transition: all 0.2s ease-in;

  --head-color-main-menu: #3B815E;
}

@media(max-width: 1024px) {
  :root {
    --header-base-width: 1024px;
  }
}

@media(max-width: 767px) {

  :root {
    --header-max-width: 767px;
  }
}


/** Menu Accessibilità
 *  Nascondi dropwdown icon
 *  Mostra dropdown icon solo se raggiunta dal tab (status focus)
 **/

.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon {
  transform: skewX(-15deg) !important;
}

.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon>span,
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon,
.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon span svg {
  height: 16px;
  width: 16px;
}

.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon svg {
  fill: #FFF !important;
}



.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon {
  opacity: 0;
}

.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon:focus {
  opacity: 1;
}


.elementor-location-header .idromec-menu .idromec-menu-main .elementor-widget-n-menu .e-n-menu-item:has(button) .e-n-menu-title a {
  padding-right: 10px !important;
}



/* Language Switcher */
.elementor-widget-wpml-language-switcher .wpml-ls-statics-shortcode_actions {
  padding: 0 5px;
}

.elementor-location-header>div.idro-header {
  position: fixed;
  width: 100%;
  display: flex;
  top: 0;
  z-index: 99;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.elementor-location-header>div.idro-header:before {
  content: "";
  background-color: var(--left-color);
  height: 100%;
  width: calc((100% - var(--header-base-width)) / 2);
  position: absolute;
  left: 0;
}

.elementor-location-header>div.idro-header:after {
  content: "";
  background-color: var(--right-color);
  height: 100%;
  width: calc((100% - var(--header-base-width)) / 2);
  position: absolute;
  right: 0;
}

.elementor-location-header>div.idro-header {
  display: flex;
  height: var(--head-height);
  transition: var(--head-transition) !important
}

.elementor-location-header .idromec-logo {
  background-color: var(--left-color);
}


.elementor-location-header .idromec-logo:after {
  content: "";
  border-style: solid;
  border-width: var(--head-height) 0 0 calc(var(--head-angle));
  border-color: transparent transparent transparent var(--left-color);
  position: absolute;
  top: 0;
  right: calc(var(--head-angle) * -1);
  transition: var(--head-transition);
}


.elementor-location-header .idromec-menu {
  padding-right: calc(100% - var(--header-base-width));
  background-color: var(--right-color);
  transition: var(--head-transition);
}

.elementor-location-header .idromec-menu:before {
  content: "";
  border-style: solid;
  border-width: var(--head-height) 0 0 calc(var(--head-angle));
  border-color: var(--right-color) transparent transparent transparent;
  position: absolute;
  top: 0;
  left: calc(var(--head-angle) * -1);
  transition: var(--head-transition);
  width: var(--head-angle);
}


.elementor-location-header .idromec-menu .idromec-menu-top {
  animation: slideout 0.3s ease;
  overflow: hidden;
  transition: all 0.3s ease;
}

.elementor-location-header.shrink .idromec-menu .idromec-menu-top {
  height: 0;
  padding: 0;
}

.elementor-location-header .idromec-menu .idromec-menu-main ul {
  padding-right: 6px;
}

.elementor-location-header .idromec-menu .idromec-menu-main .elementor-widget-n-menu .e-n-menu-item .e-n-menu-title {
  transform: skewX(15deg);
  padding: 0;
}

.elementor-location-header .idromec-menu .idromec-menu-main .elementor-widget-n-menu .e-n-menu-item .e-n-menu-title a {
  transform: skewX(-15deg);
  padding: 10px 30px;
}

.elementor-location-header .idromec-menu .idromec-menu-main ul li.wpml-ls-slot-shortcode_actions a:before {
  background-color: #222F56;
}

.elementor-widget-n-menu .e-n-menu-item .e-n-menu-title {
  position: relative;
  transition: all .3s ease;
}

@keyframes slidein {
  from {
    height: 30px;
  }

  to {
    height: 0;
  }
}

@keyframes slideout {
  from {
    height: 0px;
  }

  to {
    height: 30px;
  }
}

.elementor-location-header.shrink {
  --head-height: 60px;

}

/* Language Switcher Fix */
.wpml-ls-legacy-dropdown-click {
  width: auto;
}

.wpml-ls-legacy-dropdown-click a {
  border: none;
}





footer {
  --footer-h3-border-width: 50px
}

footer .footer_bottom .elementor-heading-title.elementor-size-default {
  z-index: 1;
  position: relative;
  background-color: transparent;
  display: inline-block;
  padding: 8px calc(50px + var(--footer-h3-border-width)) 8px 12px;
  overflow: hidden;
}

footer .footer_bottom .elementor-heading-title.elementor-size-default:before {
  background-color: var(--e-global-color-eab78d9);
  position: absolute;
  content: "";
  width: calc(100% - var(--footer-h3-border-width));
  height: 100%;
  z-index: -1;
  top: 0;
  left: -12px;
  transform: skewX(23deg);
}

footer .footer_bottom .elementor-heading-title.elementor-size-default:after {
  position: absolute;
  content: "";
  width: 100%;
  z-index: -1;
  left: 0;
  bottom: 0;
  border-bottom: 1px solid rgba(113, 113, 113, 0.42);
}


.footer_bottom a {
  text-decoration: underline !important;
  color: white !important;
}


/* Language Switcher Fix */

.elementor-element.elementor-widget.elementor-widget-wpml-language-switcher {
  height: 100%;
}

.elementor-element.elementor-widget.elementor-widget-wpml-language-switcher .elementor-widget-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0px 0 15px;
}

.idromec_green {
  color: var(--e-global-color-eab78d9) !important
}

.elementor-element.elementor-widget.elementor-widget-wpml-language-switcher:before {
  background-color: var(--e-global-color-a472436);
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 7% 100%);

}

.elementor-widget-wpml-language-switcher .wpml-elementor-ls,
.wpml-ls-statics-shortcode_actions,
.wpml-ls-statics-shortcode_actions>ul,
.wpml-ls-statics-shortcode_actions>ul>li,
.wpml-ls-statics-shortcode_actions>ul>li>a {
  height: 100%;
  background-color: transparent;
  color: white
}

.wpml-ls-statics-shortcode_actions ul li a {
  display: flex;
  align-items: center
}

/* Home Products Block */
.idro_home_product {
  overflow: hidden;
  position: relative;
  aspect-ratio: 1;
}

.idro_home_product .elementor-widget-image {
  height: 100%
}

.idro_home_product>div,
.idro_home_product:before,
.idro_home_product>div>div,
.idro_home_product:after {
  transition: all .6s ease-in-out !important;
}


.idro_home_product:before,
.idro_home_product:after {
  z-index: 1;
}

.idro_home_product .elementor-widget-text-editor,
.idro_home_product .elementor-widget-idromec_button {
  opacity: 0;
}

.idro_home_product>div.hover_title {
  max-height: 85px;
  z-index: 2;
  margin-bottom: 10px;
}


.idro_home_product:is(:hover, :focus-within)>div.hover_title {
  max-height: 1000px;
}

.idro_home_product:is(:hover, :focus-within) .elementor-widget-text-editor,
.idro_home_product:is(:hover, :focus-within) .elementor-widget-idromec_button {
  opacity: 1
}




.idro_home_product:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(transparent 20%, transparent 30%, #212d55 100%);
  opacity: 0;
}

.idro_home_product:is(:hover, :focus-within):before {
  opacity: 0
}

.idro_home_product:is(:hover, :focus-within):after {
  opacity: 1
}


/* BreadCrumbs */
.idro_breadcrumbs {
  position: relative;
  z-index: 1;
  padding: 10px 25px 10px 10px;
  overflow: hidden;
}

.idro_breadcrumbs:before {
  z-index: -1;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #3B815E;
  position: absolute;
  transform: skew(23deg);
  left: -10px;
}

.idro_breadcrumbs p {
  padding: 0;
  margin: 0;
}

.idro_headerint:after {
  content: "";
  background: linear-gradient(0deg, rgba(3, 4, 34, 0.70) 0%, rgba(3, 4, 34, 0.70) 100%);
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
}

.idro_headerint>div {
  z-index: 2;
}

/* Galleria Prodotto quadrata 100% cover */
.idromec-product-gallery figure {
  overflow: hidden;
  aspect-ratio: 1;
  position: relative;
  width: 100%;
}

.idromec-product-gallery figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.idromec-product-gallery .elementor-swiper-button {
  background-color: var(--e-global-color-eab78d9);
  border-radius: 50%;
  padding: 15px;
  transition: all .2s ease-in-out !important;
}

.idromec-product-gallery .elementor-swiper-button:hover {
  background-color: var(--e-global-color-a472436);
}

.idromec-product-gallery .elementor-swiper-button-prev {
  left: -25px !important;
}

.idromec-product-gallery .elementor-swiper-button-next {
  right: -25px !important;
}



/* BreadCrumbs Arrow */

.rank-math-breadcrumb .separator svg {
  width: 14px;
  height: 14px;
  margin: 0px 7px;
  fill: white;
}

/* TRANSIZIONE EASE DEL MENU' WPML */
.wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu,
.wpml-ls-legacy-dropdown-click ul ul,
.wpml-ls-legacy-dropdown-click ul {
  transition: all .3s ease;
}

/* GESTIONE SIDEBAR "NEWS RECENTI" DENTRO ARTICOLO SINGOLO */
.sidebar-news-recenti .elementor-post__text {
  display: flex;
  flex-direction: column-reverse;
}

.sidebar-news-recenti .elementor-post__meta-data {
  padding-bottom: 20px;
}

.sidebar-news-recenti .elementor-post__meta-data::before {
  font-family: "Font Awesome 5 Free";
  content: "\f133";
  display: inline-block;
  padding-right: 3px;
  vertical-align: middle;
  font-weight: 900;
  color: #3B815E;
  font-size: 25px;
  padding-right: 10px;
}


/* ICONE FILTRI BLOG - AJAX LOOP GRID*/
button.e-filter-item[data-filter="__all"]::before {
  font-family: "Font Awesome 5 Free";
  content: "\f07b";
  display: inline-block;
  padding-right: 3px;
  vertical-align: middle;
  font-weight: 900;
  color: #212D55;
  font-size: 20px;
  padding-right: 10px;
}

button.e-filter-item[data-filter="case-study-e-progetti"]::before {
  font-family: "Font Awesome 5 Free";
  content: "\f807";
  display: inline-block;
  padding-right: 3px;
  vertical-align: middle;
  font-weight: 900;
  color: #212D55;
  font-size: 20px;
  padding-right: 10px;
}

button.e-filter-item[data-filter="eventi-fiere-novita"]::before {
  font-family: "Font Awesome 5 Free";
  content: "\f133";
  display: inline-block;
  padding-right: 3px;
  vertical-align: middle;
  font-weight: 900;
  color: #212D55;
  font-size: 20px;
  padding-right: 10px;
}

button.e-filter-item[data-filter="normative-e-sostenibilita"]::before {
  font-family: "Font Awesome 5 Free";
  content: "\f24e";
  display: inline-block;
  padding-right: 3px;
  vertical-align: middle;
  font-weight: 900;
  color: #212D55;
  font-size: 20px;
  padding-right: 10px;
}

button.e-filter-item[data-filter="tecnologie-e-innovazioni"]::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0ad";
  display: inline-block;
  padding-right: 3px;
  vertical-align: middle;
  font-weight: 900;
  color: #212D55;
  font-size: 20px;
  padding-right: 10px;
}

button.e-filter-item[aria-pressed="true"]::before,
button.e-filter-item[aria-pressed="false"]:hover::before {
  color: #fff;
}

/* ICONE FILTRI BLOG - WORDPRESS MENU */
.filtri-blog-wordpress-menu {
  background-color: #F6F6F6;
  padding: 20px 0;
}

.filtri-blog-wordpress-menu .elementor-nav-menu--layout-horizontal .elementor-nav-menu {
  gap: 20px;
}

.filtri-blog-wordpress-menu .elementor-nav-menu--layout-horizontal {
  margin: 0 auto;
}

li.e-filter-item .elementor-item:not(:hover):not(:focus):not(.elementor-item-active):not(.highlighted):before {
  opacity: 1;
}

.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after {
  background-color: transparent;
}

.elementor-widget-nav-menu .elementor-nav-menu .e-filter-item .elementor-item {
  background-color: #fff;
  font-family: "Oswald", Sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #212D55;
}

li.e-filter-item.all a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f07b";
  position: relative;
  font-weight: 900;
  font-size: 20px;
  color: #121D55;
  line-height: 25px;
  vertical-align: middle;
  height: 25px;
  padding-right: 10px;
}

li.e-filter-item.case-study-e-progetti a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f807";
  position: relative;
  font-weight: 900;
  font-size: 20px;
  color: #121D55;
  line-height: 25px;
  vertical-align: middle;
  height: 25px;
  padding-right: 10px;
}

li.e-filter-item.eventi-fiere-novita a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f133";
  position: relative;
  font-weight: 900;
  font-size: 20px;
  color: #121D55;
  line-height: 25px;
  vertical-align: middle;
  height: 25px;
  padding-right: 10px;
}

li.e-filter-item.normative-e-sostenibilita a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f24e";
  position: relative;
  font-weight: 900;
  font-size: 20px;
  color: #121D55;
  line-height: 25px;
  vertical-align: middle;
  height: 25px;
  padding-right: 10px;
}

li.e-filter-item.tecnologie-e-innovazioni a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0ad";
  position: relative;
  font-weight: 900;
  font-size: 20px;
  color: #121D55;
  line-height: 25px;
  vertical-align: middle;
  height: 25px;
  padding-right: 10px;
}

li.e-filter-item a:hover::before,
.elementor-widget-nav-menu .elementor-nav-menu .e-filter-item .elementor-item:hover,
.elementor-widget-nav-menu .elementor-nav-menu .e-filter-item.current-menu-item .elementor-item::before,
.elementor-widget-nav-menu .elementor-nav-menu .e-filter-item.current-menu-item .elementor-item {
  background-color: #121D55;
  color: #fff;
}

/* PULSANTI PAGINAZIONE */
/*
.articoli-blog a.page-numbers:before {
	background-color: var(--idromec-button-style2-color);
	  transform: skewX(-15deg);
  padding: 10px 30px;
}
*/
.articoli-blog a.page-numbers {
  padding: 5px 13px;
  position: relative;
  transition: all 0.4s ease-in-out;
}

.articoli-blog span.page-numbers.current {
  padding: 5px 13px;
  transition: all 0.4s ease-in-out;
  position: relative;
}

.articoli-blog a.page-numbers:before,
.articoli-blog span.page-numbers.current:before {
  content: "";
  display: block;

  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  transform: skewX(23deg);
  z-index: -1;
  transition: all 0.4s ease-in-out;
}

.articoli-blog a.page-numbers:before {
  background-color: #E0E0E0;
}

.articoli-blog span.page-numbers.current:before {
  background-color: var(--head-color-main-menu);
}

.articoli-blog a.page-numbers:hover:before {
  background-color: var(--head-color-main-menu);
}





/* personalizzazione Fluent Form con le Label */

.ff-el-group {
  position: relative;
}

.ff-el-group :is(.ff-el-form-label, .ff-el-input--label label, > label) {
  position: absolute;
  top: 12px;
  left: 12px;
  background: #fff;
  /* cambia se il tuo form ha bg scuro */
  padding: 12px 6px 10px 6px;
  line-height: 1;
  color: #8a8f98;
  transition: all .18s ease;
  pointer-events: none;
  z-index: 1;
}

.ff-el-group :is(input.ff-el-form-control,
  textarea.ff-el-form-control,
  select.ff-el-form-control) {
  padding-top: 18px !important;
}

.ff-el-group:focus-within :is(.ff-el-form-label, .ff-el-input--label label, > label) {
  top: -8px;
  left: 10px;
  font-size: 12px;
  color: #1f2937;
}

.ff-el-group:has(input.ff-el-form-control:not(:placeholder-shown)) :is(.ff-el-form-label, .ff-el-input--label label, > label),
.ff-el-group:has(textarea.ff-el-form-control:not(:placeholder-shown)) :is(.ff-el-form-label, .ff-el-input--label label, > label),
.ff-el-group:has(select.ff-el-form-control:valid) :is(.ff-el-form-label, .ff-el-input--label label, > label) {
  top: -8px;
  left: 10px;
  font-size: 12px;
  color: #1f2937;
}

.ff-el-group:focus-within .ff-el-form-control {
  border-color: var(--idromec-main-color) !important;
  box-shadow: 0 0 0 3px rgba(59, 129, 94, .15) !important;
}

.ff-el-group.ff-has-error :is(.ff-el-form-label, .ff-el-input--label label, > label) {
  color: var(--fluentform-danger);
}

.ff-el-group.ff-has-error .ff-el-form-control {
  border-color: var(--fluentform-danger) !important;
}

.ff-default .ff-el-input--label label {
  display: flex !important;
}


.fluentform .ff-el-input--label {
  width: 100%;
}


:root {
  --fluentform-danger: #dc2626;
  --idromec-main-color: rgb(59, 129, 94);
  /*
  --fluentform-primary: #1a7efb;
    --fluentform-secondary: #606266;
    --fluentform-danger: #f56c6c;
    --fluentform-border-color: #dadbdd;
    --fluentform-border-radius: 7px;
    --fluentform-input-select-height: auto;
    */
}




/* Fix Frecce Galleria Fotografica */


@media all and (max-width:1360px) {

  .elementor-element .swiper .elementor-swiper-button-prev,
  .elementor-element .swiper~.elementor-swiper-button-prev,
  .elementor-lightbox .swiper .elementor-swiper-button-prev,
  .elementor-lightbox .swiper~.elementor-swiper-button-prev {
    left: 10px !important;
  }

  .elementor-element .swiper .elementor-swiper-button-next,
  .elementor-element .swiper~.elementor-swiper-button-next,
  .elementor-lightbox .swiper .elementor-swiper-button-next,
  .elementor-lightbox .swiper~.elementor-swiper-button-next {
    right: 10px !important;
  }
}


/* Search Overlay */
#search-overlay {
  top: 0;
  height: 100vh;
  width: 100%;
  z-index: 90000000000;
  justify-content: center;
  opacity: 0.9;
}



/* Underline Links */
footer> :not(.footer_bottom) a:not(.idromecbutton),
#content a:not(.idromecbutton, .news-group) {
  border-bottom: 1px solid var(--idromec-main-color);
}


.elementor-widget .elementor-icon-list-item,
.elementor-widget .elementor-icon-list-item a {
  align-self: flex-start;
}

.elementor-widget .elementor-icon-list-items {
  gap: 5px;
  display: flex;
  flex-direction: column;
}




/* Newsletter Form */
.mupwp-form .mupwp-form-field {
  position: relative;
}

.mupwp-form .mupwp-form-field>label {
  position: absolute;
  top: 8px;
  left: 12px;
  background: #fff;
  /* cambia se il tuo form ha bg scuro */
  padding: 5px 6px 5px 6px;
  line-height: 1;
  color: #8a8f98;
  transition: all .18s ease;
  pointer-events: none;
  z-index: 1;

}

.mupwp-form .mupwp-form-field:focus-within>label {
  top: -10px;
  left: 10px;
  font-size: 12px;
  color: #1f2937;
  background-color: white;
}

/*.mupwp-form .mupwp-form-field:has(input:valid)>label {
  color: var(--fluentform-danger);
}
  */

.mupwp-form .mupwp-form-field:has(input:user-invalid)>label {
  color: var(--fluentform-danger);
}






.presse_techspecs>div {
  display: flex;
  align-items: center
}

.presse_techspecs>div h3, .presse_techspecs>div p {
  margin: 0;
  font-size: 25px;
  flex:1;
}




.elementor-custom-embed-play svg {
  fill: var(--idromec-card-style1-color) !important;
  width: clamp(40%, 1380px, 70px) !important;
  height: clamp(40%, 1380px, 70px) !important;
  opacity: 0.9 !important;
  overflow: visible;
}

.elementor-custom-embed-play:hover svg {
  fill: var(--idromec-card-style1-color-hover) !important
}

.elementor-custom-embed-play svg path {
  stroke: #fff;
  stroke-width: 20px;
  stroke-linejoin: round;
  stroke-linecap: round;
}






/* stile del messaggio d'errore */
.ff-el-error {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.3;
  color: #dc2626;
}

/* bordo/label rosse quando errore */
.ff-el-group.ff-has-error .ff-el-form-control {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, .12) !important;
}

.ff-el-group.ff-has-error :is(.ff-el-form-label, .ff-el-input--label label, > label) {
  color: #dc2626 !important;
}



/* Fix CSS Pulsante Video */
.elementor-custom-embed-play {
  border: none !important;
}


:is(.elementor-custom-embed-play[type=button],
  .elementor-custom-embed-play[type=submit],
  button.elementor-custom-embed-play:focus):is(:hover, :focus) {
  background-color: transparent;
}


/* Modal Trap */
/* === MODALE / LIGHTBOX ACCESSIBILE === */

/* Blocca lo scroll del body quando è aperta */
body.modal-open {
  overflow: hidden;
}

/* Overlay scuro dietro la modale */
.modal,
.elementor-lightbox,
.elementor-video-modal,
.dialog-widget.is-open {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Contenitore principale del dialogo */
/*.modal__dialog,
.elementor-lightbox .dialog-message,
.elementor-video-modal .elementor-video-container {
  background: #fff;
  color: #111;
  max-width: 640px;
  width: 90%;
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
  outline: none;
}
  */

/* Stato nascosto */
.modal[hidden] {
  display: none !important;
}

/* Pulsante play convertito in button: aspetto neutro */
/*
button.elementor-custom-embed-play {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
  */

/* Focus e hover visibili (accessibilità tastiera) */
button.elementor-custom-embed-play:is(:hover, :focus-visible),
.modal__dialog :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* Rimozione bordo di focus predefinito in alcuni browser */
button.elementor-custom-embed-play::-moz-focus-inner {
  border: 0;
}

/* Scroll contenuto interno se lungo */
.modal__dialog {
  max-height: 90vh;
  overflow-y: auto;
}

/* Sfocatura leggera sfondo quando la modale è attiva */
body.modal-open #site-main {
  filter: blur(2px);
  transition: filter 0.3s ease;
}



/* Fix CTA Color to make unique group for single news */
.news-group:hover .news-cta-button {
  color: var(--e-global-color-eab78d9) !important;
  border-color: var(--e-global-color-eab78d9) !important;
}


/* Puntatore nel pulsante video in testata*/
.home_header_video_cta > a{
  cursor: pointer;
}

#header_video_background a:not(.idromecbutton) {
  border-bottom: none;
}



/* Menu OverFlow FIX
Rimuove l'effetto scorrimento al drag del mouse
*/
.elementor-widget-n-menu .e-n-menu-heading {
  overflow-x: visible !important;
}


/* UL OL padding bottom fix */
#content ul, #content ol {
    margin-block-end: 1rem !important;
}


/* Max Width Form Newsletter */
#mpwp-container{ max-width: 700px}