/* ==== Generali ==== */
:target {
  scroll-margin-top: 120px;
}
.uk-button { 
  padding: 10px 30px;
  line-height: 21px;
}
.uk-button-small {
	padding: 5px 15px;
}
.uk-button-text {
	padding: 0;
}
.uk-navbar-container:not(.uk-navbar-transparent) .uk-navbar-toggle {
  color: #fff;
}
.uk-font-secondary {
  font-style: italic;
}
.uk-slider-container .el-item.uk-inline-clip {
  border-radius: 15px;
}
.uk-slider-container .el-item.uk-inline-clip .uk-overlay-primary { 
  border-radius: 15px;
}
.uk-slidenav-container { 
  gap: 10px;
}
.uk-section-primary:not(.uk-preserve-color) .uk-text-secondary .uk-font-secondary {
  color: #FFF !important;
}
.uk-section-primary:not(.uk-preserve-color) .uk-text-secondary {
  color: #FFB30F !important;
}
ul.uk-list-bullet>::before {
  background-size: 20px;
  width: 20px;
}
.uk-list-bullet .uk-text-bold {
  color: #005c9a;
}
.tm-header-overlay .uk-navbar-container.uk-navbar-transparent.uk-light .uk-button.uk-button-secondary:hover {
	border-color: #005C9A;
}
.lif-hero-border-radius {
  border-radius: 0 0 15px 15px;
  overflow: hidden;
}
.lif-border-radius {
  border-radius: 15px;
  overflow: hidden;
}
.uk-grid-divider .el-item {
  padding-top: 30px;
  padding-bottom: 30px;
}
.lif-card-padding-remove .uk-card-primary {
  padding-bottom: 0;
  padding-top: 15px;
}
footer { 
  margin-top: -15px;
}
footer .uk-section-secondary:nth-child(1) {
  border-radius: 15px 15px 0 0;
  overflow: hidden;
}
footer .uk-section-secondary {
  background-color: #001829;
}
footer .uk-section-secondary.uk-section.uk-section-small {
  border-top: 1px solid #fff;
}
@media (min-width: 960px) {
	.uk-navbar-right {
		gap: 20px;
	}
}

/* ==== SWITCHER ==== */

.widget_icl_lang_sel_widget {
  text-transform: uppercase;
  font-weight: 800;
  width: 85px;
}

.widget_icl_lang_sel_widget .wpml-ls-legacy-dropdown {
  border-radius: 500px;
}

.widget_icl_lang_sel_widget .wpml-ls-current-language > a {
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 20px;
  border-radius: 500px;
  overflow: hidden;
  color: #005c9a;
}

/* hover normale: cambia solo colore, NON il bordo */
.widget_icl_lang_sel_widget .wpml-ls-current-language > a:hover {
  color: #ffb30f;
}

.wpml-ls-legacy-dropdown .wpml-ls-sub-menu {
  border-top: none;
  text-align: center;
}

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

.widget_icl_lang_sel_widget .wpml-ls-current-language > a + .wpml-ls-sub-menu {
  border-radius: 0 0 20px 20px;
  overflow: hidden;
  border-width: 0;
}

/* arrotondamento "tagliato" SOLO se il submenu ha almeno un li */
.widget_icl_lang_sel_widget .wpml-ls-item-legacy-dropdown:has(> .wpml-ls-sub-menu > li):hover > .js-wpml-ls-item-toggle,
.widget_icl_lang_sel_widget .wpml-ls-item-legacy-dropdown:has(> .wpml-ls-sub-menu > li):focus-within > .js-wpml-ls-item-toggle {
  border-radius: 20px 20px 0 0;
  color: #ffb30f;
}

.widget_icl_lang_sel_widget .wpml-ls-item-legacy-dropdown:has(> .wpml-ls-sub-menu > li):hover > .js-wpml-ls-item-toggle + .wpml-ls-sub-menu,
.widget_icl_lang_sel_widget .wpml-ls-item-legacy-dropdown:has(> .wpml-ls-sub-menu > li):focus-within > .js-wpml-ls-item-toggle + .wpml-ls-sub-menu {
  border-radius: 0 0 20px 20px;
}

.wpml-ls-legacy-dropdown .wpml-ls-sub-menu a:hover {
  color: #ffb30f;
}

.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
  right: 20px;
}

/* ==== HOME ==== */

/* --- Slider cards: overlay compatto -> espanso --- */
.lif-overlay-slider {
  --overlay-bg: rgba(0, 92, 150, 0.95);
  --collapsed-h: 88px;
  --expanded-h: 260px;
  --overlay-radius: 14px;
}
.lif-overlay-slider .uk-position-bottom-center.uk-overlay-primary {
  left: 0px !important;
  right: 0px !important;
  bottom: 0px !important;
  width: auto !important;
  transform: none !important;
  border-radius: var(--overlay-radius);
  overflow: hidden;
  background: transparent;
}
.lif-overlay-slider .uk-position-bottom-center.uk-overlay-primary .uk-overlay {
  background: var(--overlay-bg);
  border-radius: var(--overlay-radius);
  max-height: var(--collapsed-h);
  overflow: hidden;
  transition: max-height 260ms ease, padding 260ms ease;
  padding: 12px 14px;
}
.lif-overlay-slider .el-title {
  margin: 0;
}
.lif-overlay-slider .el-content{
  margin-top: 6px;
  line-height: 1.35;
  max-height: 1.35em;          /* ~1 riga */
  overflow: hidden;
  transition: max-height 260ms ease;
}
.lif-overlay-slider .el-link {
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 200ms ease, transform 200ms ease;
}
/* APERTO: solo focus (tastiera) + is-open (touch) */
.lif-overlay-slider .el-item:focus-within .uk-position-bottom-center.uk-overlay-primary .uk-overlay,
.lif-overlay-slider .el-item.is-open .uk-position-bottom-center.uk-overlay-primary .uk-overlay {
  max-height: var(--expanded-h);
  padding: 12px 14px;
}

.lif-overlay-slider .el-item:focus-within .el-content,
.lif-overlay-slider .el-item.is-open .el-content {
  max-height: 6.75em;
}

.lif-overlay-slider .el-item:focus-within .el-link,
.lif-overlay-slider .el-item.is-open .el-link {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* HOVER: solo su desktop (dispositivi che hanno davvero hover) */
@media (hover: hover) and (pointer: fine) {
  .lif-overlay-slider .el-item:hover .uk-position-bottom-center.uk-overlay-primary .uk-overlay {
	max-height: var(--expanded-h);
	padding: 16px 16px;
  }
  .lif-overlay-slider .el-item:hover .el-content { max-height: 6.75em; }
  .lif-overlay-slider .el-item:hover .el-link {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
  }
}

/* --- MOBILE: niente descrizioni tagliate --- */
@media (hover: none) {
  /* di default: mostra solo il titolo */
  .lif-overlay-slider .el-content {
	max-height: 0 !important;
	margin-top: 0 !important;
	opacity: 0;
	overflow: hidden;
	transition: max-height 260ms ease, opacity 180ms ease, margin-top 260ms ease;
  }

  .lif-overlay-slider .el-link {
	opacity: 0 !important;
	transform: translateY(6px);
	pointer-events: none;
	transition: opacity 200ms ease, transform 200ms ease;
  }

  /* quando aperto (da swipe o tap): mostra descrizione + bottone */
  .lif-overlay-slider .el-item.is-open .el-content {
	max-height: 10em !important;  /* abbastanza per 3–6 righe */
	margin-top: 6px !important;
	opacity: 1;
  }

  .lif-overlay-slider .el-item.is-open .el-link {
	opacity: 1 !important;
	transform: translateY(0);
	pointer-events: auto;
  }
}



/* --- Slider Partner --- */
.lif-partner-slider .uk-slidenav-container.uk-position-bottom-center { 
  bottom: -108px;
}
.lif-partner-slider { 
  margin-bottom: 110px !important;
}

@media (max-width: 639px) {

  .lif-home-scelte .el-item {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
  }

  .lif-home-scelte .el-image {
	flex: 0 0 64px;
	width: 64px;
	height: auto;
	margin: 0;
  }

  .lif-home-scelte .el-title {
	flex: 1 1 0;
	margin: 0 0 0 14px !important;
  }

  .lif-home-scelte .el-content {
	flex: 0 0 100%;
	margin-top: 14px !important;
  }
}


/* ==== CHI SIAMO ==== */

.lif-valori-grid .el-item .uk-overlay-primary { 
  background-color: rgba(0, 92, 154, 0.6); 
  opacity: 1 !important;
}
.lif-valori-grid .el-item:hover .uk-overlay-primary, 
.lif-valori-grid .el-item:active .uk-overlay-primary, 
.lif-valori-grid .el-item:focus .uk-overlay-primary { 
  background-color: rgba(0, 92, 154, 1); 
}
.lif-valori-grid .el-item .uk-position-center.uk-transition-fade { 
  opacity: 1 !important;
}
.lif-valori-grid .el-item .uk-position-center.uk-transition-fade .el-meta, 
.lif-valori-grid .el-item .uk-position-center.uk-transition-fade .el-content { 
  opacity: 0 !important;
}
.lif-valori-grid .el-item:hover .uk-position-center.uk-transition-fade .el-meta, 
.lif-valori-grid .el-item:hover .uk-position-center.uk-transition-fade .el-content, 
.lif-valori-grid .el-item:active .uk-position-center.uk-transition-fade .el-meta, 
.lif-valori-grid .el-item:active .uk-position-center.uk-transition-fade .el-content, 
.lif-valori-grid .el-item:focus .uk-position-center.uk-transition-fade .el-meta, 
.lif-valori-grid .el-item:focus .uk-position-center.uk-transition-fade .el-content { 
  opacity: 1 !important;
  transition: .3s ease-out;
  transition-property: opacity, transform, filter;
}


.lif-timeline-switcher .uk-panel {
  width: 100%;
  text-align: center;
  justify-content: center;
  display: flex;
}
.lif-timeline-switcher ul.el-nav.uk-subnav.uk-subnav-pill {
  justify-content: space-between;
  max-width: 1200px;
  width: 100%;
}
.lif-timeline-switcher ul.el-nav li {
  width: 140px;
  text-align: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  display: flex;
}

.lif-timeline-switcher ul.el-nav li.uk-active a, .lif-timeline-switcher ul.el-nav li:hover a {
  background-image: url('../images/timeline-white.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-color: transparent;
  width: 140px;
  height: 140px;
  color: #005c9a;
  text-align: center;
  justify-content: center;
  padding: 0;
}

.lif-timeline-switcher ul.el-nav li:hover a, .lif-timeline-switcher ul.el-nav li.uk-active a { 
	font-size: 24px;
	line-height: 26px;
}
.lif-timeline-switcher ul.el-nav li a {
	font-size: 20px;
	line-height: 25px;
}

.lif-timeline-switcher ul.el-nav li a {
  background-image: url('../images/timeline-color.svg');
  background-repeat: no-repeat;
  background-position: center center;
  background-color: transparent;
  width: 130px;
  height: 130px;
  color: #fff;
  text-align: center;
  justify-content: center;
  padding: 0;
}

/* Timeline line + dotted ends (come nello screen 1) */
.lif-timeline-switcher > .uk-panel{
  position: relative;
  --tl-color: #0b5ea8;   /* colore linea */
  --tl-h: 3px;          /* spessore linea */
  --tl-dots-len: 70px;  /* lunghezza tratteggio ai lati */
}

/* la linea “piena” SOLO al centro (lascia liberi i lati per i puntini) */
.lif-timeline-switcher > .uk-panel::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: var(--tl-h);
  background: linear-gradient(
	to right,
	transparent 0,
	transparent var(--tl-dots-len),
	var(--tl-color) var(--tl-dots-len),
	var(--tl-color) calc(100% - var(--tl-dots-len)),
	transparent calc(100% - var(--tl-dots-len)),
	transparent 100%
  );
  z-index: 0;
  pointer-events: none;
  min-width: 700px;
}

/* tratteggio solo alle estremità */
.lif-timeline-switcher > .uk-panel::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: var(--tl-h);
  background-image:
	repeating-linear-gradient(to right, var(--tl-color) 0 6px, transparent 6px 12px),
	repeating-linear-gradient(to right, var(--tl-color) 0 6px, transparent 6px 12px);
  background-size: var(--tl-dots-len) var(--tl-h), var(--tl-dots-len) var(--tl-h);
  background-position: left center, right center;
  background-repeat: no-repeat;
  z-index: 0;
  pointer-events: none;
}

/* assicura che i “badge” stiano sopra la linea */
.lif-timeline-switcher .el-nav > li{
  position: relative;
  z-index: 1;
}

.lif-timeline-switcher .uk-switcher h3.el-title {
  display: none;
}
.lif-timeline-switcher .uk-switcher .el-content {
  margin-top: 50px !important;
}

@media (max-width: 800px) { 
  .lif-timeline-switcher ul.el-nav.uk-subnav.uk-subnav-pill { 
	padding-left: 4px; 
  }
  .lif-timeline-switcher .uk-panel {
	justify-content: left;
  }
  .lif-timeline-switcher ul.el-nav li.uk-active a {
	width: 110px;
	height: 110px;
	font-size: 26px;
  }
  .lif-timeline-switcher ul.el-nav li a {
	width: 90px;
	height: 90px;
	font-size: 23px;
  }
}


/* ==== PRODOTTI ==== */
.lif-prodotti-grid .uk-grid > div.uk-grid-item-match {
  margin-top: 130px;
}
.lif-prodotti-grid .uk-card > div:nth-child(1) {
  position: absolute;
  top: -140px;
  left: 0;
}
.lif-prodotti-grid .uk-card h3 {
  text-transform: uppercase;
  margin-top: 50px;
}
.lif-prodotti-grid .uk-card.uk-card-small h3 {
  margin-top: 25%;
  font-size: 25px;
}
.lif-prodotti-grid .uk-list .el-title {
  color: #005c9a;
  font-weight: 800;
}
.lif-prodotti-grid .uk-list .uk-grid > div:not(.uk-first-column) {
  padding-left: 10px;
}
.lif-prodotti-grid .uk-list > :nth-child(n+2) {
  margin-top: 1px;
}
@media (min-width: 640px) { 
  .lif-prodotti-grid .uk-child-width-1-2\@s > * { 
	max-width: calc(100% / 2); 
  }
}
@media (min-width: 960px) { 
  .lif-prodotti-grid .uk-child-width-1-3\@m > * { 
	max-width: calc(100% / 3); 
  }
}
@media (max-width: 639px) { 
  .lif-prodotti-grid .uk-card > div:nth-child(1) {
	max-width: 331px;
  }
  .lif-prodotti-grid .uk-grid > div.uk-grid-item-match {
	margin-top: 130px;
  }
  .lif-prodotti-grid .uk-card.uk-card-small h3 {
	margin-top: 18%;
  }
}



/* ==== PARTNER ==== */
.lif-list-grid .el-item .uk-width-auto {
  margin-top: 5px;
}
.lif-partner-grid .uk-card h3, 
.lif-partner-counter .uk-card-primary.uk-card-body .uk-h3  {
  text-transform: uppercase;
}
.lif-partner-counter .uk-card-primary {
  padding-top: 35px;
  padding-bottom: 35px;
}
.lif-partner-counter .uk-card-primary.uk-card-body .uk-text-secondary, 
.lif-partner-counter .uk-card-primary.uk-card-body .el-number {
  color: #FFB30F !important;
  font-weight: 800;
}
@media (min-width: 640px) { 
  .lif-partner-grid .uk-child-width-1-1\@s > * { 
	max-width: calc(100% / 1); 
  }
}
@media (min-width: 960px) { 
  .lif-partner-grid .uk-child-width-1-2\@m > * { 
	max-width: calc(100% / 2); 
  }
}
@media (max-width: 1200px) {
	header.tm-header .uk-navbar-right {
		flex-wrap: nowrap;
	}
	header.tm-header .uk-navbar-left {
		gap: 20px;
	}
}
@media (max-width: 639px) {
  
  .lif-list-grid .el-item .uk-width-expand {
	  padding-left: 15px;
  }
  
  /*
  .lif-partner-counter .ltf-partner-numbers .uk-width-1-1 {
	display: flex;
	align-items: baseline;
	gap: 8px;
	flex-wrap: nowrap;
  }
  .lif-partner-counter .ltf-partner-numbers .uk-width-1-1 > * {
	width: auto !important;
	flex: 0 0 auto;
	margin-top: 0 !important;
	margin-bottom: 0;
	max-width: 180px;
  }
  */
  .lif-partner-counter .ltf-partner-numbers .counter-container > div {
	display: flex;
	align-items: baseline;
	gap: 4px;
	white-space: nowrap;
  }
  .lif-partner-counter .ltf-partner-numbers .uk-h1,
  .lif-partner-counter .ltf-partner-numbers .uk-h3 {
	white-space: nowrap;
  }
  .lif-partner-counter .ltf-partner-numbers .uk-h3 {
	font-size: 1.5rem;
	line-height: 1;
  }
  .ltf-partner-numbers .counter-container span.el-unit, 
  .ltf-partner-numbers .counter-container span.el-number {
	  margin-top: 0;
	  margin-bottom: 0;
  }
  
}


/* ==== CONTATTI ==== */
form .uk-grid > div {
	margin: 0 !important;
}
form .uk-grid p {
	margin-bottom: 10px;
}
.lif-contact-map .leaflet-container.leaflet-touch.leaflet-retina.leaflet-fade-anim {
	border-radius: 15px;
}