/**
Header
**/
.fe-header-d #menu-main-menu{
	row-gap: 12px !important;
	justify-content: flex-end !important;
}
.fe-header-d .et-menu li.menu-item a{
  padding: 0;
}
.fe-header-d .et-menu li.menu-item{
  padding: 0 8px
}
.fe-header-d .et-menu li.menu-item.fe-btn-header{
  padding: 0;
}
#et-boc .fe-btn-header.current_page_item a,
#et-boc .fe-btn-header.current_page_item a:hover{
  color:#ffffff !important;
}
.fe-header-d .et-menu li.menu-item.fe-btn-header a{
  background-color: #e2222b;
  padding: 12px 22px;
  border-radius: 16px;
  margin-left: 2vw;
}
.fe-header-d .et-menu li.menu-item.fe-btn-header a:hover{
  color: #ffffff;
  opacity: 0.8;
}
.fe-header-d .et_pb_row{
	backdrop-filter: blur(12px);
}

.fe-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 10%, rgba(226,34,43,.32), transparent 45%),
      radial-gradient(circle at 15% 70%, rgba(0,150,58,.26), transparent 45%);
    z-index: 0;
}
.fe-marquee {
  overflow: hidden;
}

.fe-marquee-track {
  display: flex;
  gap:50px;
  width: max-content;
  animation: fe-marquee-scroll linear infinite;
}

.fe-marquee:hover .fe-marquee-track {
  animation-play-state: paused;
}

@keyframes fe-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.fe-icon-blurb-inline .et-pb-icon{
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
}
.fe-icon-blurb-inline .et_pb_module_header{
  padding-bottom: 4px;
}
.fe-grid-hover-img .et_pb_group img{
  transition: 0.3s ease-in-out;
}
.fe-grid-hover-img .et_pb_group:hover img{
 transform: scale(1.1);
}
.fe-bg-grad-dual{
  position: relative;
}
.fe-bg-grad-dual::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(226,34,43,.28), transparent 50%),radial-gradient(circle at 80% 80%, rgba(0,150,58,.22), transparent 50%);
}
:root {
  --fe-corner-color: #efefef;
}

.fe-partners-grid .et_pb_blurb {
  height: 100%;
  position: relative;
  padding: 0;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  background-color: #ffffff;
}
.fe-partners-grid{
  gap: 0;
}
.fe-partners-grid .et_pb_blurb_content.et_flex_module{
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 32px;
}

/* corner brackets */
.fe-partners-grid .et_pb_blurb::before,
.fe-partners-grid .et_pb_blurb::after,
.fe-partners-grid .et_pb_blurb .et_pb_blurb_container::before,
.fe-partners-grid .et_pb_blurb .et_pb_blurb_container::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  pointer-events: none;
  transition: width 0.35s ease, height 0.35s ease;
}

.fe-partners-grid .et_pb_blurb::before {
  top: 0;
  left: 0;
  border-top: 1px solid var(--fe-corner-color);
  border-left: 1px solid var(--fe-corner-color);
}
.fe-partners-grid .et_pb_blurb::after {
  top: 0;
  right: 0;
  border-top: 1px solid var(--fe-corner-color);
  border-right: 1px solid var(--fe-corner-color);
}
.fe-partners-grid .et_pb_blurb .et_pb_blurb_container::before {
  bottom: 0;
  left: 0;
  border-bottom: 1px solid var(--fe-corner-color);
  border-left: 1px solid var(--fe-corner-color);
}
.fe-partners-grid .et_pb_blurb .et_pb_blurb_container::after {
  bottom: 0;
  right: 0;
  border-bottom: 1px solid var(--fe-corner-color);
  border-right: 1px solid var(--fe-corner-color);
}

/* hover state */
.fe-partners-grid .et_pb_blurb:hover {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  z-index: 1;
}
.fe-partners-grid .et_pb_blurb:hover::before,
.fe-partners-grid .et_pb_blurb:hover::after {
  width: 100%;
  height: 100%;
}
.fe-partners-grid .et_pb_blurb:hover .et_pb_blurb_container::before,
.fe-partners-grid .et_pb_blurb:hover .et_pb_blurb_container::after {
  width: 100%;
  height: 100%;
}

.fe-partners-grid .et_pb_blurb img{
  width: 180px;
  aspect-ratio: 1/1;
  object-fit: contain;
}


.fe-wp-forms {
	--fe-navy: #1B1C3B !important;
	--fe-navy-deep: #121228 !important;
	--fe-red: #E2222B !important;
	--fe-red-dark: #C81920 !important;
	--fe-green: #00963A !important;
	--fe-ink-soft: #5C5E70 !important;
	--fe-gray: #9AA0AC !important;
	--fe-line: rgba(27, 28, 59, 0.14) !important;
	--fe-soft: rgba(27, 28, 59, 0.05) !important;
	--fe-bg: #F6F6F8 !important;
	--fe-radius: 16px !important;
	--fe-radius-in: 12px !important;

	font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
	color: var(--fe-navy) !important;
}

/* ---- container / card shell ---- */
.fe-wp-forms .wpforms-container {
	margin: 0 auto !important;
}
.fe-wp-forms .wpforms-form {
	background: #fff !important;
	border: 1px solid var(--fe-line) !important;
	border-radius: var(--fe-radius) !important;
	padding: 40px 40px 34px !important;
}
.fe-wp-forms .wpforms-form,
.fe-wp-forms .wpforms-field {
	box-sizing: border-box !important;
}

/* WPForms modern-markup CSS variables (1.8.1+) */
.fe-wp-forms .wpforms-container-full {
	--wpforms-field-border-radius: var(--fe-radius-in) !important;
	--wpforms-field-border-size: 1.5px !important;
	--wpforms-field-border-color: var(--fe-line) !important;
	--wpforms-field-background-color: #ffffff !important;
	--wpforms-field-text-color: var(--fe-navy) !important;
	--wpforms-label-color: var(--fe-navy) !important;
	--wpforms-label-sublabel-color: var(--fe-gray) !important;
	--wpforms-label-error-color: var(--fe-red) !important;
	--wpforms-button-border-radius: 10px !important;
	--wpforms-button-background-color: var(--fe-red) !important;
	--wpforms-button-text-color: #ffffff !important;
	--wpforms-button-background-color-alt: var(--fe-red-dark) !important;
	--wpforms-field-size-medium-height: 46px !important;
	--wpforms-field-size-large-height: 50px !important;
}

/* ---- field spacing ---- */
.fe-wp-forms .wpforms-field {
	padding: 0 0 20px !important;
}
.fe-wp-forms .wpforms-field-row {
	margin-bottom: 0 !important;
}

/* ---- labels / sublabels / descriptions ---- */
.fe-wp-forms .wpforms-field-label {
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	color: var(--fe-navy) !important;
	margin-bottom: 8px !important;
	line-height: 1.4 !important;
}
.fe-wp-forms .wpforms-field-sublabel,
.fe-wp-forms .wpforms-field-description {
	font-size: 0.8125rem !important;
	color: var(--fe-ink-soft) !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}
.fe-wp-forms .wpforms-field-description {
	margin-top: 8px !important;
}
.fe-wp-forms .wpforms-required-label,
.fe-wp-forms .wpforms-field-label .wpforms-required-label {
	color: var(--fe-red) !important;
	margin-left: 3px !important;
}

/* ---- inputs / textarea / select ---- */
.fe-wp-forms .wpforms-field input[type="text"],
.fe-wp-forms .wpforms-field input[type="email"],
.fe-wp-forms .wpforms-field input[type="tel"],
.fe-wp-forms .wpforms-field input[type="url"],
.fe-wp-forms .wpforms-field input[type="number"],
.fe-wp-forms .wpforms-field input[type="password"],
.fe-wp-forms .wpforms-field input[type="date"],
.fe-wp-forms .wpforms-field textarea,
.fe-wp-forms .wpforms-field select {
	width: 100% !important;
	padding: 12px 15px !important;
	border: 1.5px solid var(--fe-line) !important;
	border-radius: var(--fe-radius-in) !important;
	background: #fff !important;
	color: var(--fe-navy) !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 0.9375rem !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.fe-wp-forms .wpforms-field textarea {
	min-height: 120px !important;
	padding-top: 13px !important;
}
.fe-wp-forms .wpforms-field input::placeholder,
.fe-wp-forms .wpforms-field textarea::placeholder {
	color: var(--fe-gray) !important;
	opacity: 1 !important;
}

/* focus */
.fe-wp-forms .wpforms-field input:focus,
.fe-wp-forms .wpforms-field textarea:focus,
.fe-wp-forms .wpforms-field select:focus {
	outline: none !important;
	border-color: var(--fe-navy) !important;
	box-shadow: 0 0 0 3px rgba(27, 28, 59, 0.10) !important;
}

/* select arrow */
.fe-wp-forms .wpforms-field select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%235C5E70' stroke-width='1.8'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 40px !important;
}

/* ---- section divider ---- */
.fe-wp-forms .wpforms-field-divider {
	padding: 26px 0 18px !important;
	border: 0 !important;
}
.fe-wp-forms .wpforms-field-divider h3 {
	font-family: 'Sora', 'Inter', sans-serif !important;
	font-weight: 800 !important;
	font-size: 1.15rem !important;
	color: var(--fe-navy) !important;
	margin: 0 0 6px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--fe-line) !important;
	position: relative !important;
}
.fe-wp-forms .wpforms-field-divider h3::after {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	bottom: -1px !important;
	width: 44px !important;
	height: 3px !important;
	background: var(--fe-red) !important;
	border-radius: 2px !important;
}
.fe-wp-forms .wpforms-field-divider .wpforms-field-description {
	margin-top: 10px !important;
}

/* ============================================================
   Repeater · Rows display  (markup: .wpforms-layout-row / -column)
   ============================================================ */
.fe-wp-forms .wpforms-field-repeater > .wpforms-field-label,
.fe-wp-forms .wpforms-field-repeater-display-rows > .wpforms-field-label {
	display: none !important; /* the divider above titles the section */
}

/* each entry = a card !important; right padding reserves the +/- gutter */
.fe-wp-forms .wpforms-field-repeater-display-rows .wpforms-layout-row {
	position: relative !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 0 16px !important;
	background: var(--fe-bg) !important;
	border: 1px solid var(--fe-line) !important;
	border-radius: var(--fe-radius-in) !important;
	padding: 16px 58px 4px 18px !important;
	margin-bottom: 12px !important;
}
.fe-wp-forms .wpforms-field-repeater-display-rows .wpforms-layout-column {
	flex: 1 1 140px !important;
	min-width: 0 !important;
	padding: 0 !important;
}
.fe-wp-forms .wpforms-field-repeater-display-rows .wpforms-layout-column .wpforms-field {
	padding-bottom: 12px !important;
}
.fe-wp-forms .wpforms-field-repeater-display-rows .wpforms-field-label {
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	color: var(--fe-ink-soft) !important;
	margin-bottom: 6px !important;
	white-space: normal !important;
}

/* the +/- button stack */
.fe-wp-forms .wpforms-field-repeater-display-rows-buttons {
	position: absolute !important;
	right: 13px !important;
	top: 50% !important;              /* override WPForms' inline top */
	transform: translateY(-50%) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 7px !important;
	z-index: 2 !important;
}
.fe-wp-forms .wpforms-field-repeater-button-add,
.fe-wp-forms .wpforms-field-repeater-button-remove {
	width: 30px !important;
	height: 30px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	border-radius: 50% !important;
	border: 1.5px solid var(--fe-line) !important;
	background: #fff !important;
	cursor: pointer !important;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}
.fe-wp-forms .wpforms-field-repeater-button-add svg,
.fe-wp-forms .wpforms-field-repeater-button-remove svg {
	width: 15px !important;
	height: 15px !important;
	display: block !important;
}
.fe-wp-forms .wpforms-field-repeater-button-add {
	color: var(--fe-green) !important;
}
.fe-wp-forms .wpforms-field-repeater-button-add:hover {
	background: var(--fe-green) !important;
	border-color: var(--fe-green) !important;
	color: #fff !important;
}
.fe-wp-forms .wpforms-field-repeater-button-remove {
	color: var(--fe-red) !important;
}
.fe-wp-forms .wpforms-field-repeater-button-remove:hover {
	background: var(--fe-red) !important;
	border-color: var(--fe-red) !important;
	color: #fff !important;
}
.fe-wp-forms .wpforms-field-repeater-button-remove.wpforms-disabled {
	opacity: 0.3 !important;
	pointer-events: none !important;
}

/* Blocks display (if you switch the Repeater's Display option) */
.fe-wp-forms .wpforms-field-repeater-display-blocks .wpforms-field-repeater-block {
	background: var(--fe-bg) !important;
	border: 1px solid var(--fe-line) !important;
	border-radius: var(--fe-radius-in) !important;
	padding: 18px 18px 2px !important;
	margin-bottom: 12px !important;
}
.fe-wp-forms .wpforms-field-repeater-block-title {
	font-family: 'Sora', sans-serif !important;
	font-weight: 700 !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--fe-gray) !important;
	margin-bottom: 10px !important;
}
.fe-wp-forms .wpforms-field-repeater-display-blocks .wpforms-field-repeater-button-add {
	width: auto !important;
	height: auto !important;
	border-radius: 10px !important;
	padding: 10px 18px !important;
	gap: 7px !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	color: var(--fe-navy) !important;
}
.fe-wp-forms .wpforms-field-repeater-display-blocks .wpforms-field-repeater-button-add:hover {
	background: #fff !important;
	border-color: var(--fe-navy) !important;
	color: var(--fe-navy) !important;
}

/* ---- file upload (modern uploader) ---- */
.fe-wp-forms .wpforms-uploader,
.fe-wp-forms .wpforms-field-file-upload .dropzone,
.fe-wp-forms .wpforms-field-file-upload .wpforms-uploader {
	border: 1.5px dashed var(--fe-line) !important;
	border-radius: var(--fe-radius-in) !important;
	background: var(--fe-soft) !important;
	padding: 26px 20px !important;
	transition: border-color 0.15s ease, background 0.15s ease !important;
}
.fe-wp-forms .wpforms-uploader:hover,
.fe-wp-forms .wpforms-uploader.dz-drag-hover {
	border-color: var(--fe-navy) !important;
	background: #fff !important;
}
.fe-wp-forms .wpforms-uploader .dz-message,
.fe-wp-forms .wpforms-uploader .modern-title {
	color: var(--fe-navy) !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
}
.fe-wp-forms .wpforms-uploader .modern-hint {
	color: var(--fe-ink-soft) !important;
	font-size: 0.8125rem !important;
}
.fe-wp-forms .wpforms-uploader-actions button,
.fe-wp-forms .wpforms-uploader .dz-button {
	background: var(--fe-navy) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 8px 16px !important;
	font-weight: 600 !important;
	font-size: 0.8125rem !important;
}
.fe-wp-forms .wpforms-field-file-upload input[type="file"] {
	font-size: 0.875rem !important;
	color: var(--fe-ink-soft) !important;
}

/* ---- checkboxes / radios ---- */
.fe-wp-forms .wpforms-field-checkbox input,
.fe-wp-forms .wpforms-field-radio input,
.fe-wp-forms .wpforms-field-gdpr-checkbox input {
	accent-color: var(--fe-red) !important;
	width: 17px !important;
	height: 17px !important;
}
.fe-wp-forms .wpforms-field-checkbox label,
.fe-wp-forms .wpforms-field-radio label {
	font-size: 0.9rem !important;
	color: var(--fe-navy) !important;
}

/* ---- submit ---- */
.fe-wp-forms .wpforms-submit-container {
	padding-top: 12px !important;
	border-top: 1px solid var(--fe-line) !important;
	margin-top: 8px !important;
}
.fe-wp-forms button.wpforms-submit,
.fe-wp-forms .wpforms-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: var(--fe-red) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 10px !important;
	padding: 14px 32px !important;
	font-family: 'Inter', sans-serif !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: background 0.15s ease, transform 0.1s ease !important;
	box-shadow: none !important;
}
.fe-wp-forms button.wpforms-submit:hover {
	background: var(--fe-red-dark) !important;
}
.fe-wp-forms button.wpforms-submit:active {
	transform: translateY(1px) !important;
}
.fe-wp-forms button.wpforms-submit[disabled] {
	opacity: 0.6 !important;
	cursor: default !important;
}

/* ---- validation errors ---- */
.fe-wp-forms .wpforms-field.wpforms-has-error input,
.fe-wp-forms .wpforms-field.wpforms-has-error textarea,
.fe-wp-forms .wpforms-field.wpforms-has-error select,
.fe-wp-forms input.wpforms-error,
.fe-wp-forms textarea.wpforms-error,
.fe-wp-forms select.wpforms-error {
	border-color: var(--fe-red) !important;
	box-shadow: 0 0 0 3px rgba(226, 34, 43, 0.12) !important;
}
.fe-wp-forms label.wpforms-error,
.fe-wp-forms .wpforms-error {
	color: var(--fe-red) !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	margin-top: 6px !important;
}
.fe-wp-forms .wpforms-error-container {
	background: rgba(226, 34, 43, 0.06) !important;
	border: 1px solid rgba(226, 34, 43, 0.25) !important;
	border-radius: var(--fe-radius-in) !important;
	color: var(--fe-red-dark) !important;
	padding: 14px 16px !important;
	font-size: 0.875rem !important;
}

/* ---- confirmation / success ---- */
.fe-wp-forms .wpforms-confirmation-container-full,
.fe-wp-forms div.wpforms-confirmation-container-full {
	background: rgba(0, 150, 58, 0.07) !important;
	border: 1px solid rgba(0, 150, 58, 0.3) !important;
	border-radius: var(--fe-radius) !important;
	color: var(--fe-navy) !important;
	padding: 22px 24px !important;
	font-size: 0.95rem !important;
}
.fe-wp-forms .wpforms-confirmation-container-full p {
	margin: 0 !important;
}

/* ---- smart phone field (intl-tel-input) ---- */
.fe-wp-forms .wpforms-field .iti {
	width: 100% !important;
}
.fe-wp-forms .wpforms-field .iti__selected-flag {
	border-radius: var(--fe-radius-in) 0 0 var(--fe-radius-in) !important;
	background: var(--fe-soft) !important;
}

/* ---- responsive ---- */
@media (max-width: 640px) {
	.fe-wp-forms .wpforms-form {
		padding: 26px 20px 22px !important;
	}
	.fe-wp-forms .wpforms-field-repeater-display-rows .wpforms-layout-row {
		display: block !important;
		padding: 16px 18px 4px !important;
	}
	.fe-wp-forms .wpforms-field-repeater-display-rows-buttons {
		position: static !important;
		transform: none !important;
		flex-direction: row !important;
		justify-content: flex-end !important;
		margin: 2px 0 6px !important;
	}
}

@media (max-width: 980px) {

  /* Hamburger icon */
  .fe-header-d .mobile_nav .mobile_menu_bar {
    color: #1B1C3B;
    font-size: 28px;
  }
  .fe-header-d .mobile_nav.opened .mobile_menu_bar {
    color: #E2222B;
  }

  /* Dropdown panel */
.fe-header-d .et_mobile_menu {
    background-color: #ffffff;
    backdrop-filter: blur(12px);
    border: 1px solid rgba(27, 28, 59, 0.14);
    border-radius: 16px;
    padding: 8px;
    box-shadow: 0 20px 45px -20px rgba(27, 28, 59, 0.35);
    position: fixed;
    top: 64px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100vw - 66px);
    /* max-width: 420px; */
}

  /* Menu items */
  .fe-header-d .et_mobile_menu li.menu-item {
    padding: 0;
    border-bottom: 1px solid rgba(27, 28, 59, 0.08);
  }
  .fe-header-d .et_mobile_menu li.menu-item:last-child {
    border-bottom: none;
  }
  .fe-header-d .et_mobile_menu li.menu-item a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 12px 16px;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #1B1C3B;
  }
  .fe-header-d .et_mobile_menu li.menu-item a:hover {
    color: #E2222B;
  }

  /* Current page */
  .fe-header-d .et_mobile_menu li.menu-item.current-menu-item:not(.fe-btn-header) a {
    color: #E2222B;
    font-weight: 700;
    background-color: rgba(226, 34, 43, 0.06);
    border-radius: 10px;
  }

  /* "Associati" CTA — same pill as desktop, full-width for an easy tap target */
  .fe-header-d .et_mobile_menu li.menu-item.fe-btn-header {
    border-bottom: none;
    padding: 10px 6px 6px;
  }
  .fe-header-d .et_mobile_menu li.menu-item.fe-btn-header a {
    justify-content: center;
    background-color: #E2222B;
    color: #ffffff !important;
    font-weight: 600;
    border-radius: 16px;
    padding: 12px 22px;
  }
  .fe-header-d .et_mobile_menu li.menu-item.fe-btn-header a:hover {
    opacity: 0.85;
    color: #ffffff;
  }
}