/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:focus-visible {
  box-shadow: 0 0 0 2pt #ffff01 !important;
  outline: 0 !important;
}

.otgs-development-site-front-end {
  display: none !important;
}

body {
  overflow-x: hidden !important;
  font-family: "Work Sans", Sans-serif !important;
}

.d-none {
  display: none !important;
}

p {
  margin: 0 !important;
}

.h1 {
  font-size: 60px;
}

.h2 h1 {
  font-size: 35px;
}

.h3 h2 {
  font-size: 26px;
}

@media (max-width: 880px) {
  .h1 {
    font-size: 35px;
  }

  .h2 h1 {
    font-size: 26px;
  }

  .h3 h2 {
    font-size: 22px;
  }
}

body > div.elementor {
  margin-top: 100px !important;
}

@media (max-width:767px) {
  div.elementor {
    margin-top: 60px !important;
  }
}

/* SWITCH LANGUAGE */
.wpml-ls-statics-shortcode_actions .wpml-ls-sub-menu a:hover,
.wpml-ls-statics-shortcode_actions .wpml-ls-sub-menu a:focus,
.wpml-ls-statics-shortcode_actions .wpml-ls-sub-menu a:link:hover,
.wpml-ls-statics-shortcode_actions .wpml-ls-sub-menu a:link:focus {
  color: #000000 !important;
}

.elementor-widget-shortcode {
    width: 40px;
}

.elementor-widget-shortcode a {
    padding: 0;
    border: none;
    background: none;
}

.wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7' fill='none'%3E%3Cpath d='M0.615967 0.615947L5.11597 5.61595L9.61597 0.615948' stroke='%23191919' stroke-width='1.23188' stroke-miterlimit='10' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    padding: 0;
    border: none;
    top: 0;
    right: 0;
}

.elementor-widget-shortcode ul ul li a {
    padding-top: 5px !important;
}
/* End SWITCH LANGUAGE */

header nav a,
.elementor-heading-title a {
  text-decoration: none !important;
  position: relative;
  cursor: pointer;
}

header nav > .e-n-menu-wrapper > ul > li span {
	cursor: pointer !important;
}

header nav a::before,
.elementor-heading-title a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000000 !important;
  transform: scaleX(0);
  transition: transform 0.2s ease;
  transform-origin: left;
}

header nav a:hover::before,
header nav a:focus::before,
header nav a:active::before,
.elementor-heading-title a:hover::before,
.elementor-heading-title a:focus::before {
  transform: scaleX(1) !important;
}

header nav .e-current a::before {
  transform: scaleX(1) !important;
}

header nav .e-n-menu-dropdown-icon {
	display: none !important;
}

header nav ul li nav li a::before {
  content: none !important;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  background-color: transparent !important;
}

header nav ul li nav li a:hover {
	transform: translateX(5px) !important;
}

.home .swiper-slide-inner .swiper-slide-contents {
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
}

.home .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0;
  left: 100px;
  height: 100px;
  text-align: left !important;
}

.elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0;
  left: 0;
  height: auto;
  text-align: left !important;
}

@media (max-width: 1024px) {
  .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
    left: 50px;
  }
}

@media (max-width: 767px) {
  .elementor-element .swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
    left: 20px;
    height: 50px;
  }
}

.swiper-pagination-bullet {
  width: 20px;
  margin-right: 5px !important;
  transition: width 0.3s ease-in-out;
  border-radius: 5px;
  height: 4px;
}

.swiper-pagination-bullet-active {
  width: 50px !important;
}

.elementor-12 .elementor-element.elementor-element-6241ff6 .swiper-pagination-bullet {
    --swiper-pagination-bullet-horizontal-gap: 0px !important;
    --swiper-pagination-bullet-vertical-gap: 0px !important;
}

.slide_left .elementor-button,
#news_slide_left.elementor-button {
  position: relative;
  display: inline-block;
  overflow: hidden;
  background: #000 !important;
  color: #fff;
  border: 1px solid #000;
  transition: color 0.6s ease, border-color 0.6s ease;
}

.slide_left .elementor-button::before,
#news_slide_left.elementor-button::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 100%;
  background: #fff;
  transition: width 0.4s ease;
  z-index: 0;
}

.slide_left .elementor-button:hover,
#news_slide_left.elementor-button:hover {
  color: #000;
}

.slide_left .elementor-button:focus,
#news_slide_left.elementor-button:focus {
  color: #616161;
}

.slide_left .elementor-button:hover::before,
#news_slide_left.elementor-button:hover::before {
  width: 100%;
}

.slide_left .elementor-button .elementor-button-content-wrapper,
.slide_left .elementor-button .elementor-button-text,
#news_slide_left.elementor-button .elementor-button-content-wrapper,
#news_slide_left.elementor-button .elementor-button-text {
  position: relative;
  z-index: 1;
}

.slide_left.slide_left_yellow .elementor-button,
#news_slide_left.slide_left_yellow .elementor-button {
  background: #ffff01 !important;
  color: #000;
  border-color: #ffff01;
}

.slide_left.slide_left_yellow .elementor-button::before,
#news_slide_left.slide_left_yellow .elementor-button::before {
  background:#191919;
}

.slide_left.slide_left_yellow .elementor-button:hover,
#news_slide_left.slide_left_yellow .elementor-button:hover {
  color: #fff;
  border-color: #fff;
}

.bg-scale-hover img {
    transform: scale(1);
    transition: all 300ms ease-out;
}

.bg-scale-hover {
     overflow: hidden;

}

.bg-scale-hover:hover img {
    transform: scale(1.2);
}

.hp-slider-settori .swiper-slide {
    transition: all 0.4s ease-in-out;
}

.hp-slider-settori .swiper-slide:hover {
    background-color: #ffffff;
}

.hp-slider-settori .swiper-slide:hover h3 {
    color: #191919 !important;
}

.hp-slider-settori .swiper-slide:hover p {
    color: #191919 !important;
}

.hp-slider-settori .swiper-slide:hover svg path {
    fill: #191919 !important;
}

.hp-slider-settori .elementor-swiper-button svg {
  transition: all 0.1s ease-in-out;
}

.hp-slider-settori .elementor-swiper-button:hover svg  {
  transform: scale(1.08);
}

.reparto::after {
    content: url("/wp-content/uploads/2026/03/Vector5.svg");
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    position: absolute;
    transition: all 0.3s ease-in-out;
}

.reparto:hover > div {
  transform: translateX(20px);
  transition: all 0.3s ease-in-out;
}

.reparto:hover::after {
  right: 35px;
  transition: all 0.3s ease-in-out;
}

.chi-siamo-hover-bg {
	position: relative;
	overflow: hidden;
	min-height: 400px;
}

.chi-siamo-hover-bg-layer {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.5s ease;
	pointer-events: none;
}

.chi-siamo-hover-bg-layer.is-active {
	opacity: 1;
	z-index: 1;
}

.chi-siamo-hover-bg-layer.is-fading {
	opacity: 1;
	z-index: 2;
}


/* TIMELINE LA NOSTRA STORIA */
.history-timeline-wrapper {
	position: relative;
	width: 100%;
	height: 80vh !important;
	overflow: hidden;
}

.history-timeline-wrapper .container {
	width: 100%;
	height: 100%;
	max-width: none;
}

.history-timeline-wrapper .swiper-container-wrapper--timeline {
	position: relative;
	display: flex;
	align-items: center;
	gap: 64px;
	width: 100%;
	height: 100%;
}

/* COLONNA ANNI / BULLETS */
.history-timeline-wrapper .timeline-years-pagination {
	position: relative;
	flex: 0 0 400px;
	width: 400px;
	height: 100%;
	overflow: hidden;
}

.history-timeline-wrapper .timeline-years-pagination::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 28px;
	width: 1px;
	background: #8a8a8a;
}

.history-timeline-wrapper .timeline-years-track {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet {
	position: relative;
	display: flex;
	align-items: center;
	gap: 28px;
	width: 100%;
	height: 138px;
	margin: 0;
  margin-bottom: 100px;
	padding: 0;
	background: transparent;
	border-radius: 0;
	opacity: 1;
	cursor: pointer;
}

.history-timeline-wrapper .timeline-years-pagination .timeline-bullet-dot {
	position: relative;
	z-index: 2;
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-left: 20px;
	background: #6f6f6f;
	border-radius: 50%;
	transform: scale(1);
	transition:
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
		background-color 0.3s ease,
		opacity 0.3s ease;
}

.history-timeline-wrapper .timeline-years-pagination .timeline-bullet-year {
	display: block;
	font-size: 128px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #6f6f6f;
	transform: scale(0.52);
	transform-origin: left center;
	transition:
		transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
		color 0.3s ease,
		opacity 0.3s ease;
}

.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet-active .timeline-bullet-dot {
	background: #f0ea00;
	transform: scale(1.85);
}

.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet-active .timeline-bullet-year {
	color: #111111;
	transform: scale(1);
}

.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet-prev .timeline-bullet-year,
.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet-next .timeline-bullet-year {
	transform: scale(0.82);
}

.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) .timeline-bullet-year {
	color: #6f6f6f;
}

.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) .timeline-bullet-dot {
	background: #6f6f6f;
}

/* COLONNA SLIDER */
.history-timeline-wrapper .swiper-container-wrapper-slider {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}

.history-timeline-wrapper .swiper-container-wrapper--timeline .swiper {
	width: 100%;
	overflow: hidden;
}

.history-timeline-wrapper .swiper-container-wrapper--timeline .swiper-wrapper {
	align-items: stretch;
}

.history-timeline-wrapper .swiper-container-wrapper--timeline .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: auto;
	min-height: 220px;
	background: transparent;
	box-sizing: border-box;
}

.history-timeline-wrapper .timeline-slide-content {
	width: 100%;
	max-width: 860px;
}

.history-timeline-wrapper .swiper-container-wrapper--timeline .swiper-slide .title {
	display: block;
	font-weight: 600;
	font-size: 24px;
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity 0.35s ease,
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.history-timeline-wrapper .swiper-container-wrapper--timeline .swiper-slide .timeline-desc {
	margin-top: 15px;
	font-size: 18px;
  font-weight: 400;
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity 0.35s ease 0.08s,
		transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.08s;
}

.history-timeline-wrapper .swiper-container-wrapper--timeline .swiper-slide.swiper-slide-active .title,
.history-timeline-wrapper .swiper-container-wrapper--timeline .swiper-slide.swiper-slide-active .timeline-desc {
	opacity: 1;
	transform: translateY(0);
}

/* NAVIGAZIONE */
.history-timeline-wrapper .timeline-nav {
	display: flex;
	align-items: center;
	gap: 14px;
}

.history-timeline-wrapper .timeline-nav .swiper-button-prev,
.history-timeline-wrapper .timeline-nav .swiper-button-next {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
}

.history-timeline-wrapper .timeline-nav .swiper-button-prev::after,
.history-timeline-wrapper .timeline-nav .swiper-button-next::after {
	display: none;
}

.history-timeline-wrapper .timeline-nav .swiper-button-prev img,
.history-timeline-wrapper .timeline-nav .swiper-button-next img {
	display: block;
	width: 44px;
	height: 44px;
}

.history-timeline-wrapper .timeline-nav .swiper-button-prev.swiper-button-disabled,
.history-timeline-wrapper .timeline-nav .swiper-button-next.swiper-button-disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* EFFETTI GENERALI */
.history-timeline-wrapper .swiper-fade .swiper-slide {
	pointer-events: none;
}

.history-timeline-wrapper .swiper-fade .swiper-slide.swiper-slide-active {
	pointer-events: auto;
}

.history-timeline-wrapper .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0 !important;
}

@media (min-width: 992px) {
	.history-timeline-wrapper .timeline-years-track {
		padding-top: 50vh;
		padding-bottom: 50vh;
	}
}

/* RESPONSIVE BASE */
@media (max-width: 1200px) {
	.history-timeline-wrapper .swiper-container-wrapper--timeline {
		gap: 40px;
	}

	.history-timeline-wrapper .timeline-years-pagination {
		flex: 0 0 280px;
		width: 280px;
	}

	.history-timeline-wrapper .timeline-years-pagination .timeline-bullet-year {
		font-size: 52px;
	}
}

@media (max-width: 991px) {
	.history-timeline-wrapper {
		height: auto !important;
		overflow: hidden;
    padding: 100px 0;
	}

	.history-timeline-wrapper .swiper-container-wrapper--timeline {
		gap: 28px;
		align-items: flex-start;
	}

	.history-timeline-wrapper .timeline-years-pagination {
		flex: 0 0 180px;
		width: 180px;
		height: 420px;
		overflow: visible;
		align-self: flex-start;
	}

	.history-timeline-wrapper .timeline-years-pagination::before {
		left: 18px;
    top: -100px;
		bottom: -100px;
	}

	.history-timeline-wrapper .timeline-years-track {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		padding-bottom: 220px;
		box-sizing: border-box;
		transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
		will-change: transform;
	}

	.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet {
		height: 92px;
		gap: 18px;
	}

	.history-timeline-wrapper .timeline-years-pagination .timeline-bullet-dot {
		width: 12px;
		height: 12px;
		margin-left: 12px;
		flex: 0 0 12px;
	}

	.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet-active .timeline-bullet-dot {
		transform: scale(1.6);
	}

	.history-timeline-wrapper .timeline-years-pagination .timeline-bullet-year {
		font-size: 34px;
		transform: scale(0.82);
	}

	.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet-active .timeline-bullet-year {
		transform: scale(1);
	}

	.history-timeline-wrapper .swiper-container-wrapper-slider {
		width: 100%;
		min-width: 0;
	}

	.history-timeline-wrapper .timeline-slide-content {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.history-timeline-wrapper {
		--timeline-offset-y: 80px;
		height: auto !important;
		padding-top: var(--timeline-offset-y);
		padding-bottom: var(--timeline-offset-y);
		overflow: visible;
	}

	.history-timeline-wrapper .swiper-container-wrapper--timeline {
		flex-direction: column;
		align-items: flex-start;
		height: auto;
		gap: 28px;
	}

	.history-timeline-wrapper .timeline-years-pagination {
		position: relative;
		width: 100%;
		height: 96px;
		flex: none;
		overflow: hidden;
	}

	.history-timeline-wrapper .timeline-years-pagination::before {
		content: "";
		position: absolute;
		top: calc(50% - 17px);
		left: calc(var(--timeline-offset-y) * -1);
		right: calc(var(--timeline-offset-y) * -1);
		bottom: auto;
		width: auto;
		height: 1px;
		background: #8a8a8a;
		transform: translateY(-50%);
	}

	.history-timeline-wrapper .timeline-years-track {
		position: absolute;
		top: 0;
		left: 0;
		display: flex;
    gap: 30px;
		align-items: center;
		width: max-content;
		height: 100%;
		padding-top: 0;
		padding-bottom: 0;
		padding-left: 50vw;
		padding-right: 50vw;
		box-sizing: border-box;
		transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
		will-change: transform;
	}

	.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 10px;
		width: auto;
		min-width: 96px;
		height: 100%;
		margin: 0 !important;
		padding: 0 10px;
		background: transparent;
		border-radius: 0;
		opacity: 1;
		cursor: pointer;
		flex: 0 0 auto;
	}

	.history-timeline-wrapper .timeline-years-pagination .timeline-bullet-dot {
		order: 1;
		width: 10px;
		height: 10px;
		margin-left: 0;
		flex: 0 0 10px;
		background: #6f6f6f;
		border-radius: 50%;
		transform: scale(1);
		transition:
			transform 0.35s ease,
			background-color 0.3s ease;
	}

	.history-timeline-wrapper .timeline-years-pagination .timeline-bullet-year {
		order: 2;
		display: block;
		font-size: 24px;
		font-weight: 700;
		line-height: 1;
		letter-spacing: -0.02em;
		color: #6f6f6f;
		transform: scale(0.9);
		transform-origin: center center;
		transition:
			transform 0.35s ease,
			color 0.3s ease;
		white-space: nowrap;
	}

	.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet-active .timeline-bullet-dot {
		background: #f0ea00;
		transform: scale(1.65);
	}

	.history-timeline-wrapper .timeline-years-pagination .swiper-pagination-bullet-active .timeline-bullet-year {
		color: #111111;
		transform: scale(1.18);
	}

	.history-timeline-wrapper .swiper-container-wrapper-slider {
		width: 100%;
		min-width: 0;
	}

	.history-timeline-wrapper .swiper-container-wrapper--timeline .swiper-slide {
		min-height: auto;
	}

	.history-timeline-wrapper .timeline-slide-content {
		max-width: 100%;
	}

	.history-timeline-wrapper .timeline-nav {
		margin-top: 24px;
	}
}

/*************************
sanitize contact form 7
**************************/
input[type=date], 
input[type=email], 
input[type=number], 
input[type=password], 
input[type=search], 
input[type=tel], 
input[type=text], 
input[type=url],
input[type="file"], 
select, 
textarea {
    border: none !important;
    border-bottom: 1px solid #191919 !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    margin-top: 15px;
}

input[type=submit] {
    margin-top: 15px;
}

/* ===== Variabili ===== */
:root{
    --company-color:#FFFF01;
    --chk-size:28px;
    --chk-radius:0;
}
  
  /* ===== Grid 2 colonne ===== */
  .contact-page-form br{
      display: none;
  }

.contact-page-form .consent {
	font-size: 12px;
}

  .cf7-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .cf7-grid .col-full{ grid-column:1 / -1; }
  
  /* ===== Campi base ===== */
  .cf7-label{ display:block; font-weight:600; margin-bottom:6px; letter-spacing:.02em;}
  .sr-only{
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
  }
  .cf7-input,.cf7-textarea{ width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:6px; box-sizing:border-box; }
  .cf7-textarea{ min-height:100px; resize:vertical; }
  
  /* ===== Acceptance: layout + checkbox custom 28x28 ===== */
  .wpcf7 .wpcf7-acceptance .wpcf7-list-item{ margin:0 0 14px 0; }
  
  /* label: checkbox staccata dal testo */
  .wpcf7 .wpcf7-acceptance .wpcf7-list-item > label{
    display:grid;
    grid-template-columns: var(--chk-size) 1fr;
    column-gap:14px;
    align-items:start;
    line-height:1.45;
    cursor:pointer;
  }
  
  /* checkbox nativo → stile custom */
  .wpcf7 .wpcf7-acceptance .wpcf7-list-item > label > input[type="checkbox"]{
    -webkit-appearance:none !important;
    appearance:none !important;
    width:var(--chk-size) !important;
    height:var(--chk-size) !important;
    margin:0;
    border:2px solid #191919 !important;
    border-radius:var(--chk-radius);
    background:transparent;
    box-sizing:border-box;
    background-repeat:no-repeat;
    background-position:center;
    background-size:70% 70%;
    transition: background-color .2s ease, border-color .2s ease,
                box-shadow .2s ease, transform .18s ease;
  }
  
  /* checked: riempie + spunta SVG + micro-pop */
  .wpcf7 .wpcf7-acceptance .wpcf7-list-item > label > input[type="checkbox"]:checked{
    background-color:var(--company-color) !important;
    border-color: var(--company-color) !important;
    box-shadow:0 0 0 4px #FFFF0103;
    transform:scale(.98);
    background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8"><path d="M1 4l3 3 7-7" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') !important;
    animation:company-pop .3s ease-out;
  }
  
  /* focus tastiera */
  .wpcf7 .wpcf7-acceptance .wpcf7-list-item > label > input[type="checkbox"]:focus-visible{
    outline:none;
    box-shadow:0 0 0 4px #FFFF0103;
  }

  .wpcf7 .wpcf7-not-valid-tip {
    color: orangered;
    font-size: 16px;
    margin-top: 5px;
  }
  
  /* animazione */
  @keyframes company-pop{
    0%{ transform:scale(.4); }
    60%{ transform:scale(1.16); }
    100%{ transform:scale(1); }
  }
  
  /* Fallback colore (se appearance viene ignorato) */
  .wpcf7 form input[type="checkbox"]{ accent-color: var(--company-color); cursor:pointer;}
  
  .btn-submit p {
      display: flex;
      flex-direction: row;
      align-items: center;
  }
  
  /* Submit (opzionale) */
  .cf7-submit{ cursor:pointer;}

  /* Duplicate .slide_left hover effect for CF7 submit button without using pseudo-elements */
  .btn-submit .wpcf7-submit {
      background: linear-gradient(to right, #000 50%, #fff 50%) !important;
      background-size: 200% 100% !important;
      background-position: left bottom !important;
      color: #fff !important;
      border: 1px solid #000 !important;
      border-radius: 0 !important;
      transition: background-position 0.4s ease, color 0.6s ease, border-color 0.6s ease !important;
      padding: 12px 30px !important;
      font-weight: 600;
  }

  .btn-submit .wpcf7-submit:hover:not(:disabled) {
      background-position: right bottom !important;
      color: #000 !important;
  }
  
  @media (max-width:768px){ 
    .cf7-grid { 
        grid-template-columns:1fr; 
    }
  }


/*************************
CONTACT FORM DARK BG
**************************/
  .form-dark-bg input[type=date], 
  .form-dark-bg input[type=email], 
  .form-dark-bg input[type=number], 
  .form-dark-bg input[type=password], 
  .form-dark-bg input[type=search], 
  .form-dark-bg input[type=tel], 
  .form-dark-bg input[type=text], 
  .form-dark-bg input[type=url], 
  .form-dark-bg input[type="file"], 
  .form-dark-bg select,
  .form-dark-bg textarea {
    border-bottom: 1px solid #fff !important;
    color: #fff !important;
}

.form-dark-bg .careers-file-label {
  color: #fff !important;
  font-size: 18px;
}

.form-dark-bg .wpcf7 .wpcf7-acceptance .wpcf7-list-item > label > input[type="checkbox"]{
  border:2px solid #fff !important;
}

.form-dark-bg label span {
  color: #fff !important;
}

.form-dark-bg .btn-submit .wpcf7-submit {
    background: linear-gradient(to right, var(--company-color) 50%, #000 50%) !important;
    background-size: 200% 100% !important;
    background-position: left bottom !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    border-radius: 0 !important;
    transition: background-position 0.4s ease, color 0.6s ease, border-color 0.6s ease !important;
    padding: 12px 30px !important;
    font-weight: 600;
}

.form-dark-bg .btn-submit .wpcf7-submit:hover:not(:disabled) {
    color: #fff !important;
    border: 1px solid #fff !important;
}



/* ============================================
   ACCORDION - LAVORA CON NOI
============================================ */

.career-accordion {
  width: 100%;
}

.career-accordion__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 0 !important;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  cursor: pointer !important;
  text-align: left;
  background-color: transparent !important;
  text-transform: unset !important;
  color: var(--e-global-color-secondary) !important;
  border-style: solid !important;
  border-width: 0 0 1px 0 !important;
  border-color: var(--e-global-color-primary);
}

.career-accordion__item.is-open .career-accordion__trigger:focus {
  outline: none;
  box-shadow: none;
}

.career-accordion__item.is-open .career-accordion__trigger {
  border-color: transparent !important;
}

.career-accordion__title {
  display: block;
  font-size: 24px !important;
  line-height: 1.2;
  font-weight: 600 !important;
  color: #191919 !important;
  text-wrap: wrap;
  margin: 0 !important;
}

.career-accordion__icon {
  position: relative;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
}

.career-accordion__icon::before,
.career-accordion__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 1.5px;
  background: #1d1d1d;
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.career-accordion__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.career-accordion__item.is-open .career-accordion__icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
}

/* Contenuto animato */
.career-accordion__content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.45s ease,
    opacity 0.3s ease,
    padding 0.3s ease;
  padding: 0;
}

.career-accordion__item.is-open .career-accordion__content {
  opacity: 1;
  padding: 0 0 28px 0;
}

.career-accordion__content-inner {
  max-width: 760px;
}

.career-accordion__description {
  color: #191919;
  font-size: 18px;
  line-height: 1.65;
}

.career-accordion__description p {
  margin: 0 0 18px;
}

.career-accordion__description p:last-child {
  margin-bottom: 0;
}

.career-accordion__cta {
  margin-top: 28px;
}

.career-accordion__cta .elementor-button {
  min-width: 150px;
  justify-content: center;
  padding: 20px 15px !important;
}

.career-accordion__empty {
  padding: 24px 0;
}

.career-accordion__empty p {
  margin: 0;
  color: #555;
  font-size: 18px;
  line-height: 1.5;
}

/* ============================================
   FAQ TOPICS LAYOUT
============================================ */

.faq-topics {
  width: 100%;
}

.faq-topics__row {
  display: grid;
  grid-template-columns: 50% 50%;
  padding: 70px 0;
}

@media (max-width: 1200px) {
  .faq-topics__row {
    grid-template-columns: 35% 65%;
  }
}

@media (max-width: 1024px) {
  .faq-topics__row {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 1025px) {
  .faq-topics__row:not(:last-child) {
    border-bottom: 1px solid #191919;
  }
}

.faq-topics__label-col {
  display: flex;
  align-items: flex-start;
}

.faq-topics__label {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  line-height: 1;
  font-weight: 600 !important;
  text-transform: uppercase;
  color: #191919;
  padding-right: 30px;
}

.faq-topics__accordion-col {
  min-width: 0;
}

.faq-topics__accordion-col .career-accordion {
  border-top: 0;
}

.faq-topics__accordion-col .career-accordion__item:first-child .career-accordion__trigger {
  padding-top: 0;
}

.faq-topics--empty p {
  margin: 0;
}

/* Responsive */
@media (max-width: 1024px) {
  .faq-topics__row {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 767px) {
  .faq-topics__row {
    padding: 28px 0;
    gap: 20px;
  }

  .faq-topics__label {
    font-size: 30px !important;
  }
}

body.blog div.elementor {
	margin-top: 50px !important;
}

body.blog > div.elementor {
	margin-top: 100px !important;
}

body.blog .reparto {
	transition: 400ms ease-in-out;
}

body.blog .reparto:hover {
	background-color: #efefef !important;
}

/* Nasconde visivamente la paginazione originale Elementor
   ma la lascia nel DOM per far funzionare l'AJAX */
.js-custom-loop-pagination nav.elementor-pagination {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

/* Wrapper paginazione custom */
.loop-pagination-custom {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

/* Lista interna */
.loop-pagination-custom__list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Numeri e pagina attiva */
.loop-pagination-custom__number {
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #1d1d1d;
  text-decoration: none;
  font-family: "Work Sans", sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  color: #1d1d1d;
  background: transparent;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
}

.loop-pagination-custom__number:hover,
.loop-pagination-custom__number:focus-visible {
  background-color: #1d1d1d;
  color: #ffffff;
  outline: none;
}

.loop-pagination-custom__number.is-current {
  background-color: #1d1d1d;
  color: #ffffff;
  border-color: #1d1d1d;
  cursor: default;
}

/* Ellissi */
.loop-pagination-custom__ellipsis {
  min-width: 24px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Work Sans", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  color: #1d1d1d;
}

/* Frecce */
.loop-pagination-custom__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid transparent;
  text-decoration: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  transition: opacity 0.25s ease-in-out, border-color 0.25s ease-in-out, background-color 0.25s ease-in-out, transform 0.25s ease-in-out;
}

.loop-pagination-custom__arrow::before {
  content: none;
}

.loop-pagination-custom__arrow:focus-visible {
  border-color: #1d1d1d;
  outline: none;
}

.loop-pagination-custom__arrow:hover {
  transform: scale(1.2);
}

.loop-pagination-custom__arrow--prev {
  background-image: url('/wp-content/uploads/2026/04/prev-arrow-sipa-2.svg');
  margin-right: 50px;
}

.loop-pagination-custom__arrow--next {
  background-image: url('/wp-content/uploads/2026/04/next-arrow-sipa.svg');
  margin-left: 50px;
}

.loop-pagination-custom__arrow.is-disabled {
  opacity: 0.35;
  pointer-events: none;
}

/* Responsive */
@media (max-width: 767px) {
  .loop-pagination-custom {
    margin-top: 30px;
  }

  .loop-pagination-custom__list {
    gap: 8px;
  }

  .loop-pagination-custom__number,
  .loop-pagination-custom__arrow {
    min-width: 28px;
    width: 28px;
    height: 28px;
    padding: 0 10px;
    font-size: 15px;
  }

  .loop-pagination-custom__ellipsis {
    height: 28px;
    font-size: 16px;
  }

  .loop-pagination-custom__arrow {
    background-size: 16px 16px;
  }

  .loop-pagination-custom__arrow--prev {
	background-image: url('/wp-content/uploads/2026/04/prev-arrow-sipa-2.svg');
	margin-right: 20px;
  }

  .loop-pagination-custom__arrow--next {
	background-image: url('/wp-content/uploads/2026/04/next-arrow-sipa.svg');
	margin-left: 20px;
  }
}