.elementor-kit-10136{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-a9a71bf:#CD1931;--e-global-color-54a97f9:#FD4828;--e-global-color-0358937:#184568;--e-global-color-17c9bce:#FFFFFF;--e-global-color-fa3c37c:#F7EAE5;--e-global-color-e82bea4:#93BEB0;--e-global-color-182d41e:#525F85;--e-global-color-7b469d0:#000000;--e-global-color-jf_black:#0A0A0A;--e-global-color-jf_surface:#161616;--e-global-color-jf_divider:#2A2A2A;--e-global-color-jf_border:#3A3A3A;--e-global-color-jf_text:#F5F5F5;--e-global-color-jf_text2:#B3B3B3;--e-global-color-jf_placeholder:#8F8F8F;--e-global-color-jf_a:#FDB728;--e-global-color-jf_b:#FD7228;--e-global-color-jf_c:#FD3C28;--e-global-color-jf_error:#FF6B5B;--e-global-color-jf_pressed:#D95F1C;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-jf_display-font-family:"Poppins";--e-global-typography-jf_display-font-weight:700;--e-global-typography-jf_body-font-family:"Roboto";--e-global-typography-jf_body-font-weight:400;--e-global-typography-jf_ui-font-family:"Roboto";--e-global-typography-jf_ui-font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){margin-block-end:24px;}.elementor-element{--widgets-spacing:24px 24px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-10136 e-page-transition{background-color:#FFBC7D;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1023px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.gf_progressbar_title {
    color:  white !important;
    font-weight: 700 !important;
    font-size: 0.9em !important;
    border-bottom: 1px solid #FD4828;
    width: 60%;
    margin-bottom: 20px ;
    font-family: poppins;
}

.gform_required_legend {
    display: none;
}

.gf_progressbar.gf_progressbar_blue {
    display: none;
}

.gform_page_fields {
    margin-top: 3%;
}

.gfield_label {
    margin-top: 30px !important;
}


.ginput_container.ginput_container_fileupload {
    color: #aaa;
}

.header_form_vert {
    margin-top: 20px;
    margin-bottom: 20px;
}

.gf_scroll_text {
        font-size: 12px !important;
}
.gfield_consent_description {
    font-size: 10px !important;
}

.gform_confirmation_message{
    color: white !important;
    font-family: poppins;
}

@media screen and (max-width: 720px) {


.gfield_consent_label {
    font-size: 14px;
}
.gfield_consent_description {
    font-size: 10px !important;
}

.gf_progressbar_title {

    width: 90%;

}

}

.gfield_select { color: #184568;
}



.elementor-location-footer a {
    color: white !important;
    text-decoration: underline;
}




.ui-datepicker-header, .ui-datepicker-header .ui-datepicker-header {
    background-color: #fff !important;}


select.ui-datepicker-year {
    width: 199px !important;
}


.gfield_consent_description {
    height: 50px;
}

/* JOYN FEED START */
/* ===== Feed · token =====
   Palette web (A/B/C) volutamente più chiara del gradiente del logo:
   serve contrasto su nero. CTA solo #FD7228 piatta, mai testo sul gradiente. */
:root {
	--jf-black: #0A0A0A; --jf-surface: #161616; --jf-surface-2: #222; --jf-divider: #2A2A2A; --jf-border: #3A3A3A;
	--jf-border-strong: #626262; --jf-text: #F5F5F5; --jf-text-2: #B3B3B3; --jf-placeholder: #8F8F8F;
	--jf-a: #FDB728; --jf-b: #FD7228; --jf-c: #FD3C28; --jf-error: #FF6B5B; --jf-pressed: #D95F1C;
	--jf-gradient: linear-gradient(135deg, #FDB728, #FD7228, #FD3C28);
	--jf-display: "Poppins", sans-serif; --jf-ui: "Roboto", sans-serif;
	--jf-margin: 120px; --jf-section: 96px; --jf-header-h: 72px;
}
@media (max-width: 1439px) { :root { --jf-margin: 32px; --jf-section: 80px; } }
@media (max-width: 1023px) { :root { --jf-section: 64px; } }
@media (max-width: 767px)  { :root { --jf-margin: 20px; --jf-section: 48px; --jf-header-h: 64px; } }

/* ===== Focus visibile su tutto il sito =====
   Mai outline:none senza sostituto. */
:focus-visible { outline: 2px solid #FDB728 !important; outline-offset: 3px; }
input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: none !important; border: 2px solid #FDB728 !important; box-shadow: 0 0 0 3px rgba(253, 183, 40, .25) !important;
}
input[type="checkbox"]:focus-visible, input[type="radio"]:focus-visible { outline: 2px solid #FDB728 !important; box-shadow: 0 0 0 3px rgba(253, 183, 40, .25) !important; }
.e-n-accordion-item-title:focus-visible { outline-offset: -2px; border-radius: 4px; }

/* ===== Struttura ===== */
.e-con[class*="jf-"] { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; --width: 100%; }
.e-con.jf-sec-head-text, .e-con.jf-footer-cta-text { --width: auto; flex: 1 1 auto; min-width: 0; }
.jf-section, .jf-header, .jf-footer, .jf-bottombar { background: var(--jf-black); color: var(--jf-text); font-family: var(--jf-ui); }
.e-con.jf-section { --padding-top: var(--jf-section); }

.e-con.jf-wrap { width: min(1200px, calc(100% - 2 * var(--jf-margin))); max-width: 1200px; margin-inline: auto; }
.jf-section [id], .jf-section { scroll-margin-top: calc(var(--jf-header-h) + 16px); }
.elementor-widget[class*="jf-"] { margin-bottom: 0; }
.elementor-widget-text-editor[class*="jf-"] p { margin: 0; }
.jf-section a, .jf-footer a { color: var(--jf-a); text-decoration: underline; text-underline-offset: 2px; }
.jf-section a:hover, .jf-footer a:hover { color: var(--jf-a); text-decoration-thickness: 2px; }

/* ===== Tipografia ===== */
.elementor-widget[class*="jf-"] .elementor-heading-title { color: var(--jf-text); font-family: var(--jf-display); font-weight: 700; margin: 0; }
.elementor-widget.jf-h1 .elementor-heading-title { font-size: 56px; line-height: 60px; letter-spacing: -.025em; }
.elementor-widget.jf-h2 .elementor-heading-title { font-size: 36px; line-height: 40px; letter-spacing: -.02em; }
.elementor-widget.jf-h2--xl .elementor-heading-title { font-size: 40px; line-height: 44px; }
.elementor-widget.jf-h2--footer .elementor-heading-title { font-size: 32px; line-height: 36px; }
.elementor-widget.jf-h3 .elementor-heading-title { font-size: 18px; line-height: 22px; letter-spacing: -.01em; }
.elementor-widget[class*="jf-"].elementor-widget-text-editor { color: var(--jf-text); font-family: var(--jf-ui); font-size: 16px; line-height: 24px; font-weight: 400; }
.elementor-widget.jf-kicker { color: var(--jf-a) !important; font-size: 14px !important; line-height: 18px !important; font-weight: 500 !important; }
.elementor-widget.jf-lead { font-size: 20px !important; line-height: 30px !important; max-width: 560px; }
.elementor-widget.jf-body { font-size: 18px !important; line-height: 28px !important; }
.elementor-widget.jf-sub, .elementor-widget.jf-small, .elementor-widget.jf-note, .elementor-widget.jf-caption, .elementor-widget.jf-legal { color: var(--jf-text-2) !important; }
.elementor-widget.jf-small, .elementor-widget.jf-note { font-size: 14px !important; line-height: 20px !important; }
.elementor-widget.jf-caption { font-size: 15px !important; line-height: 22px !important; }
.elementor-widget.jf-legal { font-size: 13px !important; line-height: 18px !important; }
.elementor-widget.jf-legal a { color: var(--jf-text-2); text-decoration: none; }
.elementor-widget.jf-legal a:hover { color: var(--jf-text); text-decoration: underline; }
.elementor-widget.jf-link-accent a { color: var(--jf-a); font-size: 15px; font-weight: 500; text-decoration: none; }
.elementor-widget.jf-link-accent a:hover { text-decoration: underline; }

/* ===== Bottoni ===== */
.elementor-widget.jf-btn .elementor-button { font-family: var(--jf-ui); font-weight: 700; font-size: 16px; line-height: 20px; border-radius: 10px; padding: 14px 28px; transition: background-color .15s, border-color .15s, color .15s; text-decoration: none; }
.elementor-widget.jf-btn-primary .elementor-button { background: var(--jf-b); color: var(--jf-black); border: 0; }
.elementor-widget.jf-btn-primary .elementor-button:hover { background: var(--jf-a); color: var(--jf-black); }
.elementor-widget.jf-btn-primary .elementor-button:active { background: var(--jf-pressed); }
.elementor-widget.jf-btn-secondary .elementor-button { background: var(--jf-surface); color: var(--jf-text); border: 1px solid var(--jf-border); padding: 13px 28px; }
.elementor-widget.jf-btn-secondary .elementor-button:hover { background: var(--jf-surface-2); border-color: var(--jf-border-strong); color: var(--jf-text); }
.elementor-widget.jf-btn-secondary .elementor-button:active { background: var(--jf-black); }
.elementor-widget.jf-header-cta .elementor-button { padding: 14px 24px; white-space: nowrap; }
@media (max-width: 1023px) { .elementor-widget.jf-nav .elementor-nav-menu--main .elementor-nav-menu { gap: 24px; } .elementor-widget.jf-header-cta .elementor-button { padding: 12px 18px; } }
.e-con.jf-btn-row { --flex-direction: row; --flex-wrap: wrap; --gap: 12px; --row-gap: 12px; --column-gap: 12px; margin-top: 28px; }

/* Chip (non cliccabili: sono testo) */
.elementor-widget.jf-chips { margin-top: 28px; }
.elementor-widget.jf-chips p { display: flex; flex-wrap: wrap; gap: 8px; }
.jf-chip { font: 500 13px/16px var(--jf-ui); border: 1px solid var(--jf-border); padding: 8px 12px; border-radius: 999px; color: var(--jf-text); }
.elementor-widget.jf-note { margin-top: 12px; }

/* ===== Header ===== */
.e-con.jf-header { border-bottom: 1px solid var(--jf-divider); z-index: 100; }
.e-con.jf-header-row { --flex-direction: row; --align-items: center; --justify-content: space-between; --gap: 24px; --column-gap: 24px; min-height: var(--jf-header-h); }
.elementor-widget.jf-logo img { height: 32px; width: auto; display: block; }
.elementor-widget.jf-nav { flex: 1 1 auto !important; }
@media (min-width: 768px) { .elementor-widget.jf-nav .elementor-nav-menu--main { display: flex; justify-content: center; } }
.elementor-widget.jf-nav .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; gap: 40px; }
.elementor-widget.jf-nav .elementor-nav-menu--main .elementor-item { font: 500 16px/20px var(--jf-ui) !important; color: var(--jf-text-2) !important; padding: 8px 0 6px !important; margin: 0 !important; }
.elementor-widget.jf-nav .elementor-nav-menu--main .elementor-item:hover,
.elementor-widget.jf-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--jf-text) !important; }
.elementor-widget.jf-nav .elementor-nav-menu--main .elementor-item:after { background-color: var(--jf-b) !important; height: 3px !important; bottom: 0 !important; }
.elementor-widget.jf-nav .elementor-nav-menu--main .elementor-item:not(.elementor-item-active):after { opacity: 0 !important; }
.elementor-widget.jf-nav .elementor-nav-menu--main .elementor-item.elementor-item-active:after { opacity: 1 !important; width: 100% !important; left: 0 !important; }
.elementor-widget.jf-nav .elementor-menu-toggle { background: transparent; color: var(--jf-text); font-size: 24px; padding: 10px; margin-left: auto; }
.elementor-widget.jf-nav .elementor-menu-toggle svg { fill: var(--jf-text); }
.elementor-widget.jf-nav .elementor-nav-menu--dropdown { background: var(--jf-black); border-bottom: 1px solid var(--jf-divider); }
.elementor-widget.jf-nav .elementor-nav-menu--dropdown a { color: var(--jf-text) !important; background: transparent !important; font: 500 18px/24px var(--jf-ui); padding: 16px 20px !important; }
.elementor-widget.jf-nav .elementor-nav-menu--dropdown a.elementor-item-active { color: var(--jf-a) !important; }
@media (max-width: 1439px) { .elementor-widget.jf-nav .elementor-nav-menu--main .elementor-nav-menu { gap: 32px; } }
@media (max-width: 767px) { .elementor-widget.jf-logo img { height: 28px; } }

/* ===== Post 4:5 / media ===== */
.elementor-widget.jf-media img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 30%; border-radius: 14px; filter: brightness(.9) saturate(1.1); display: block; background: var(--jf-surface-2); }
.elementor-widget.jf-media--hero img { border-radius: 16px; }
.e-con.jf-author { --flex-direction: row; --align-items: center; --gap: 10px; --column-gap: 10px; margin-bottom: 12px; }
.elementor-widget.jf-avatar { width: 32px; flex: none; }
.elementor-widget.jf-avatar img { width: 32px; height: 32px; border-radius: 999px; object-fit: cover; display: block; }
.elementor-widget.jf-avatar--brand, .elementor-widget.jf-avatar--brand img { width: 36px; height: 36px; background: #fff; }
.elementor-widget.jf-author-txt { font-size: 14px !important; line-height: 16px !important; }
.elementor-widget.jf-author-txt span { font-size: 12px; line-height: 14px; color: var(--jf-text-2); }

/* Hero: media 480 + testo, gap 96 */
.e-con.jf-hero { --padding-top: 64px; }
.e-con.jf-hero-grid { display: grid; grid-template-columns: 480px 1fr; column-gap: 96px; align-items: center; }
.elementor-widget.jf-h1 { margin-top: 16px; }
.elementor-widget.jf-lead { margin-top: 20px; }

/* ===== Intestazioni sezione ===== */
.e-con.jf-sec-head { margin-bottom: 24px; --gap: 6px; --row-gap: 6px; }
.e-con.jf-sec-head--row { --flex-direction: row; --align-items: flex-end; --justify-content: space-between; --gap: 24px; --column-gap: 24px; }
.elementor-widget.jf-sub { margin-top: 6px; }

/* ===== Carosello ruoli ===== */
.elementor-widget.jf-carousel > .elementor-widget-container { position: relative; }
.elementor-widget.jf-carousel .elementor-swiper-button { position: absolute !important; top: -92px !important; bottom: auto !important; left: auto !important; right: 0 !important; transform: none !important; width: 44px; height: 44px; border-radius: 999px !important; border: 1px solid var(--jf-border) !important; display: grid; place-items: center; color: var(--jf-text); font-size: 16px; background: transparent; transition: background-color .15s, border-color .15s; }
.elementor-widget.jf-carousel .elementor-swiper-button-prev { right: 52px !important; }
.elementor-widget.jf-carousel .elementor-swiper-button:hover { background: var(--jf-surface-2); border-color: var(--jf-border-strong); }
.elementor-widget.jf-carousel .elementor-swiper-button svg { fill: var(--jf-text); width: 16px; height: 16px; }
.elementor-widget.jf-carousel .elementor-swiper-button.swiper-button-disabled { opacity: .4; }
.elementor-widget.jf-carousel .swiper-pagination { position: static; margin-top: 20px; display: flex; justify-content: center; align-items: center; gap: 5px; }
.elementor-widget.jf-carousel .swiper-pagination { width: auto !important; transform: none !important; left: auto !important; }
.elementor-widget.jf-carousel .swiper-pagination-bullet { position: static !important; transform: none !important; left: auto !important; width: 6px; height: 6px; background: var(--jf-border); opacity: 1; margin: 0 !important; }
.elementor-widget.jf-carousel .swiper-pagination-bullet-active { width: 8px; height: 8px; background: var(--jf-b); }
.elementor-widget.jf-carousel .swiper-slide { height: auto; }
.elementor-widget.jf-carousel .swiper { padding-top: 6px; }

/* Card ruolo + hover (bordo gradiente 2px, sale di 4px, "Apri la scheda →") */
.e-con.jf-role-card { display: flex; height: 100%; border: 2px solid transparent; border-radius: 14px; overflow: hidden; color: var(--jf-text); text-decoration: none;
	background: linear-gradient(var(--jf-surface), var(--jf-surface)) padding-box, linear-gradient(var(--jf-surface), var(--jf-surface)) border-box;
	transition: transform .15s, box-shadow .15s; }
.e-con.jf-role-card:hover, .e-con.jf-role-card:focus-visible { background: linear-gradient(var(--jf-surface), var(--jf-surface)) padding-box, var(--jf-gradient) border-box; transform: translateY(-4px); box-shadow: 0 16px 40px rgba(0, 0, 0, .6); }
.e-con.jf-role-media { position: relative; aspect-ratio: 4 / 5; background: var(--jf-surface-2); overflow: hidden; }
.jf-role-media .elementor-widget { position: static !important; }
.jf-role-media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; filter: brightness(.9) saturate(1.1); transition: filter .15s; }
.jf-role-card:hover .jf-role-media img { filter: brightness(1) saturate(1.1); }
.e-con.jf-role-body { --padding-top: 16px; --padding-right: 16px; --padding-bottom: 16px; --padding-left: 16px; --gap: 4px; --row-gap: 4px; }
.elementor-widget.jf-role-title .elementor-heading-title { font: 700 18px/24px var(--jf-display) !important; letter-spacing: -.01em; color: var(--jf-text) !important; }
.elementor-widget.jf-role-desc { position: relative; font: 400 14px/20px var(--jf-ui) !important; color: var(--jf-text-2) !important; }
.elementor-widget.jf-role-desc p { margin: 0; }
.elementor-widget.jf-role-desc::after { content: "Apri la scheda →"; position: absolute; inset: 0; background: var(--jf-surface); color: var(--jf-a); font-weight: 500; opacity: 0; transition: opacity .15s; }
.jf-role-card:hover .jf-role-desc::after, .jf-role-card:focus-visible .jf-role-desc::after { opacity: 1; }

/* ===== Serietà: banner con bordo gradiente ===== */
.e-con.jf-gradient-frame { --padding-top: 2px; --padding-right: 2px; --padding-bottom: 2px; --padding-left: 2px; background: var(--jf-gradient); border-radius: 20px; }
.e-con.jf-banner { display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; row-gap: 32px; align-items: center; background: var(--jf-black); border-radius: 18px; --padding-top: 48px; --padding-right: 56px; --padding-bottom: 48px; --padding-left: 56px; }
.elementor-widget.jf-banner-text .jf-h2, .e-con.jf-banner-text .elementor-widget.jf-h2 { margin-top: 12px; }
.e-con.jf-banner-text .elementor-widget.jf-body { margin-top: 16px; }
.e-con.jf-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.e-con.jf-card { background: var(--jf-surface); border-radius: 12px; --padding-top: 20px; --padding-right: 20px; --padding-bottom: 20px; --padding-left: 20px; --gap: 4px; --row-gap: 4px; }

/* ===== Processo: 6 card in riga ===== */
.e-con.jf-steps { display: grid; grid-template-columns: repeat(6, 1fr); gap: 24px; }
.e-con.jf-step { background: var(--jf-surface); border-radius: 14px; min-height: 220px; --justify-content: space-between; --padding-top: 20px; --padding-right: 20px; --padding-bottom: 20px; --padding-left: 20px; }
.elementor-widget.jf-step-n .elementor-heading-title { font-size: 48px; line-height: 48px; letter-spacing: -.04em; color: var(--jf-a) !important; }
.e-con.jf-step-txt { --gap: 8px; --row-gap: 8px; }

/* ===== Villaggi: fisarmonica, 3 colonne ===== */
.e-con.jf-acc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.elementor-widget.jf-acc .e-n-accordion { border-top: 1px solid var(--jf-divider); }
.elementor-widget.jf-acc .e-n-accordion-item { border-bottom: 1px solid var(--jf-divider); }
.elementor-widget.jf-acc .e-n-accordion-item-title { background: transparent !important; border: 0 !important; padding: 16px 0 !important; justify-content: space-between; color: var(--jf-text); cursor: pointer; }
.elementor-widget.jf-acc .e-n-accordion-item-title-text { font: 500 18px/24px var(--jf-ui) !important; color: var(--jf-text) !important; margin: 0; }
.elementor-widget.jf-acc .e-n-accordion-item-title-header { order: 0; flex: 1 1 auto; justify-content: flex-start; }
.elementor-widget.jf-acc .e-n-accordion-item-title-icon { order: 1; color: var(--jf-a); }
.elementor-widget.jf-acc .e-n-accordion-item-title-icon svg { fill: var(--jf-a); width: 14px; height: 14px; }
.elementor-widget.jf-acc .e-n-accordion-item > .e-con { border: 0 !important; --padding-top: 0px; --padding-bottom: 16px; --padding-left: 0px; --padding-right: 0px; background: transparent; }
.elementor-widget.jf-vtext ul.jf-vlist { list-style: none; margin: 0; padding: 0; font: 400 15px/28px var(--jf-ui); color: var(--jf-text); }

/* ===== #joynation ===== */
.e-con.jf-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.e-con.jf-post .elementor-widget.jf-author-txt { line-height: 16px !important; }
.e-con.jf-post .jf-author { margin-bottom: 10px; }
.elementor-widget.jf-caption { margin-top: 10px; }

/* ===== Footer ===== */
.e-con.jf-footer { border-top: 1px solid var(--jf-divider); margin-top: var(--jf-section); }
.e-con.jf-footer-cta { --flex-direction: row; --align-items: center; --justify-content: space-between; --gap: 48px; --column-gap: 48px; --padding-top: 56px; --padding-bottom: 56px; }
.e-con.jf-footer-cta-text .elementor-widget.jf-sub { margin-top: 8px; }
.e-con.jf-footer-bottom { border-top: 1px solid var(--jf-divider); --padding-top: 24px; --padding-bottom: 24px; }
.e-con.jf-footer-bottom-row { --flex-direction: row; --justify-content: space-between; --flex-wrap: wrap; --gap: 12px; --column-gap: 24px; }
.e-con.jf-bottombar { --flex-direction: row; --align-items: center; --justify-content: space-between; --gap: 12px; --padding-top: 12px; --padding-right: 20px; --padding-bottom: 12px; --padding-left: 20px; background: var(--jf-surface); border-top: 1px solid var(--jf-divider); z-index: 100; }
.elementor-widget.jf-bottombar-text { font-size: 13px !important; line-height: 18px !important; }
.jf-bottombar .elementor-widget.jf-btn .elementor-button { padding: 12px 20px; }

/* ===== 1024–1439 (Laptop) ===== */
@media (max-width: 1439px) {
	.e-con.jf-hero-grid { grid-template-columns: 5fr 7fr; column-gap: 48px; }
	.elementor-widget.jf-h1 .elementor-heading-title { font-size: 48px; line-height: 52px; }
	.e-con.jf-step { min-height: 200px; --padding-top: 16px; --padding-right: 16px; --padding-bottom: 16px; --padding-left: 16px; }
	.elementor-widget.jf-step-n .elementor-heading-title { font-size: 40px; line-height: 40px; }
}
/* ===== 768–1023 (Tablet) — da verificare: il 768 non è nelle board ===== */
@media (max-width: 1023px) {
	.e-con.jf-hero-grid { grid-template-columns: 1fr 1fr; column-gap: 24px; }
	.elementor-widget.jf-h1 .elementor-heading-title { font-size: 40px; line-height: 44px; }
	.elementor-widget.jf-lead { font-size: 18px !important; line-height: 28px !important; }
	.e-con.jf-banner { grid-template-columns: 1fr; --padding-top: 32px; --padding-right: 32px; --padding-bottom: 32px; --padding-left: 32px; }
	.e-con.jf-steps { grid-template-columns: repeat(3, 1fr); }
	.e-con.jf-acc-grid { grid-template-columns: repeat(2, 1fr); }
	.e-con.jf-posts { grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.e-con.jf-footer-cta { --flex-direction: column; --align-items: flex-start; --gap: 24px; --row-gap: 24px; }
}
/* ===== ≤767 (Mobile, board 390) ===== */
@media (max-width: 767px) {
	.e-con.jf-hero { --padding-top: 24px; }
	.e-con.jf-hero-grid { grid-template-columns: 1fr; row-gap: 24px; }
	.elementor-widget.jf-h1 .elementor-heading-title { font-size: 34px; line-height: 38px; }
	.elementor-widget.jf-h2 .elementor-heading-title, .elementor-widget.jf-h2--xl .elementor-heading-title, .elementor-widget.jf-h2--footer .elementor-heading-title { font-size: 28px; line-height: 32px; }
	.elementor-widget.jf-lead { font-size: 17px !important; line-height: 26px !important; }
	.e-con.jf-btn-row > .elementor-widget, .e-con.jf-btn-row .elementor-button { width: 100%; }
	.e-con.jf-banner { --padding-top: 24px; --padding-right: 20px; --padding-bottom: 24px; --padding-left: 20px; }
	.e-con.jf-card-grid { grid-template-columns: 1fr 1fr; }
	/* processo: da griglia a carosello orizzontale */
	.e-con.jf-steps { display: flex; --flex-direction: row; --flex-wrap: nowrap; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; gap: 16px; margin-right: calc(-1 * var(--jf-margin)); padding-right: var(--jf-margin); }
	.e-con.jf-steps > .e-con { flex: 0 0 70% !important; --width: 70%; scroll-snap-align: start; min-height: 180px; }
	.e-con.jf-acc-grid { grid-template-columns: 1fr; gap: 0; }
	.e-con.jf-acc-grid .elementor-widget.jf-acc + .elementor-widget.jf-acc .e-n-accordion { border-top: 0; }
	.e-con.jf-posts { grid-template-columns: 1fr; gap: 32px; }
	.e-con.jf-sec-head--row { --flex-direction: column; --align-items: flex-start; --gap: 12px; }
	.elementor-widget.jf-carousel .elementor-swiper-button { display: none; }
	.e-con.jf-footer-cta { --padding-top: 40px; --padding-bottom: 40px; }
	.e-con.jf-footer { margin-bottom: 0; }
}

/* ===== Pagina form (Gravity Forms 64, tema Orbital) ===== */
.e-con.jf-form-page { --padding-top: 56px; --padding-bottom: 96px; }
.e-con.jf-form-grid { display: grid; grid-template-columns: 560px 1fr; column-gap: 96px; align-items: start; }
.elementor-widget.jf-h1--form .elementor-heading-title { font-size: 40px; line-height: 44px; letter-spacing: -.02em; }
.elementor-widget.jf-form-sub { margin-top: 12px; }
.elementor-widget.jf-gform { margin-top: 32px; }
.e-con.jf-trust-panel { position: sticky; top: 96px; }
.e-con.jf-trust-panel .elementor-widget.jf-h2 { margin-top: 12px; }
.e-con.jf-proofs { margin-top: 24px; }
.e-con.jf-quote { display: grid; grid-template-columns: 200px 1fr; margin-top: 24px; background: var(--jf-surface); border-radius: 16px; overflow: hidden; }
.elementor-widget.jf-quote-img img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; filter: brightness(.9) saturate(1.1); }
.e-con.jf-quote-text { --padding-top: 24px; --padding-right: 24px; --padding-bottom: 24px; --padding-left: 24px; --justify-content: center; --gap: 12px; --row-gap: 12px; }
.elementor-widget.jf-quote-body { font: 700 20px/28px var(--jf-display) !important; letter-spacing: -.01em; }
.e-con.jf-trust-panel .elementor-widget.jf-note { margin-top: 20px; font-size: 13px !important; }
.elementor-widget.jf-close a { color: var(--jf-text-2); text-decoration: none; font: 500 15px/20px var(--jf-ui); white-space: nowrap; }
.elementor-widget.jf-close a:hover { color: var(--jf-text); }
.e-con.jf-footer--slim { margin-top: 0; }

/* Tema Orbital → palette Feed (variabili GF, scope solo a questa pagina) */
body .jf-gform .gform_wrapper.gform-theme {
	--gform-theme-color-primary: #FD7228 !important; --gform-theme-color-primary-rgb: 253, 114, 40 !important;
	--gform-theme-color-primary-contrast: #0A0A0A !important; --gform-theme-color-primary-darker: #D95F1C !important; --gform-theme-color-primary-lighter: #FDB728 !important;
	--gform-theme-color-secondary: #161616 !important; --gform-theme-color-secondary-contrast: #F5F5F5 !important; --gform-theme-color-secondary-darker: #222 !important; --gform-theme-color-secondary-lighter: #222 !important;
	--gform-theme-color-outside-control-light: #2A2A2A !important; --gform-theme-color-outside-control-light-darker: #3A3A3A !important; --gform-theme-color-outside-control-light-lighter: #161616 !important;
	--gform-theme-color-outside-control-dark: #B3B3B3 !important; --gform-theme-color-outside-control-dark-darker: #F5F5F5 !important; --gform-theme-color-outside-control-dark-lighter: #B3B3B3 !important;
	--gform-theme-color-inside-control: #161616 !important; --gform-theme-color-inside-control-contrast: #F5F5F5 !important; --gform-theme-color-inside-control-darker: #222 !important; --gform-theme-color-inside-control-lighter: #161616 !important;
	--gform-theme-color-inside-control-primary: #FDB728 !important; --gform-theme-color-inside-control-primary-contrast: #0A0A0A !important;
	--gform-theme-color-inside-control-light: #3A3A3A !important; --gform-theme-color-inside-control-light-darker: #626262 !important; --gform-theme-color-inside-control-light-lighter: #222 !important;
	--gform-theme-color-inside-control-dark: #8F8F8F !important; --gform-theme-color-inside-control-dark-darker: #F5F5F5 !important; --gform-theme-color-inside-control-dark-lighter: #8F8F8F !important;
	--gform-theme-color-danger: #FF6B5B !important; --gform-theme-color-danger-rgb: 255, 107, 91 !important;
	--gform-theme-border-radius: 10px !important; --gform-theme-font-size-primary: 16px !important; --gform-theme-font-size-secondary: 14px !important; --gform-theme-font-size-tertiary: 13px !important;
	--gform-theme-control-height: 48px !important; --gform-theme-control-border-width: 1.5px !important;
	--gform-theme-control-label-color-primary: #F5F5F5 !important; --gform-theme-control-label-color-secondary: #B3B3B3 !important;
	--gform-theme-control-label-font-size-primary: 13px !important; --gform-theme-control-label-font-weight-primary: 500 !important;
	--gform-theme-control-description-color: #B3B3B3 !important;
	font-family: var(--jf-ui) !important; color: var(--jf-text);
}
.jf-gform .gform_wrapper .gfield_label, .jf-gform .gform_wrapper legend.gfield_label, .jf-gform .gform_wrapper .gform-field-label { color: var(--jf-text) !important; font: 500 13px/16px var(--jf-ui) !important; }
.jf-gform .gform_wrapper .gsection { border-bottom: 1px solid var(--jf-divider) !important; padding-bottom: 8px !important; }
.jf-gform .gform_wrapper .gsection_title { color: var(--jf-text) !important; font: 700 18px/24px var(--jf-display) !important; }
.jf-gform .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.jf-gform .gform_wrapper select, .jf-gform .gform_wrapper textarea {
	background-color: var(--jf-surface) !important; color: var(--jf-text) !important; border: 1.5px solid var(--jf-border) !important; border-radius: 10px !important; min-height: 48px; font: 400 16px/24px var(--jf-ui) !important; }
.jf-gform .gform_wrapper ::placeholder { color: var(--jf-placeholder) !important; opacity: 1; }
.jf-gform .gform_wrapper .gfield_error input, .jf-gform .gform_wrapper .gfield_error select, .jf-gform .gform_wrapper .gfield_error textarea { border: 2px solid var(--jf-error) !important; }
.jf-gform .gform_wrapper .gfield_validation_message, .jf-gform .gform_wrapper .validation_message { color: var(--jf-error) !important; background: transparent !important; border: 0 !important; padding: 6px 0 0 !important; font: 400 13px/16px var(--jf-ui) !important; }
.jf-gform .gform_wrapper .gform_validation_errors { background: var(--jf-surface) !important; border: 1px solid var(--jf-error) !important; border-radius: 10px !important; box-shadow: none !important; }
.jf-gform .gform_wrapper .gform_validation_errors > h2 { color: var(--jf-error) !important; }
.jf-gform .gform_wrapper input[type=radio], .jf-gform .gform_wrapper input[type=checkbox] { background: var(--jf-surface) !important; border: 2px solid var(--jf-text-2) !important; }
.jf-gform .gform_wrapper .gchoice label, .jf-gform .gform_wrapper .ginput_container_consent label, .jf-gform .gform_wrapper .gfield_consent_label { color: var(--jf-text-2) !important; font: 400 14px/20px var(--jf-ui) !important; }
.jf-gform .gform_wrapper .gfield_description, .jf-gform .gform_wrapper .gform_fileupload_rules, .jf-gform .gform_wrapper .gfield_consent_description { color: var(--jf-text-2) !important; background: transparent !important; border-color: var(--jf-divider) !important; }
.jf-gform .gform_wrapper a { color: var(--jf-a) !important; text-decoration: underline; }
.jf-gform .gform_wrapper .gfield_required { color: var(--jf-a) !important; }
/* Barra di avanzamento: traccia #2A2A2A, riempimento gradiente A→B */
.jf-gform .gform_wrapper .gf_progressbar_title { color: var(--jf-text) !important; font: 500 14px/18px var(--jf-ui) !important; border: 0 !important; }
.jf-gform .gform_wrapper .gf_progressbar { background: var(--jf-divider) !important; border-radius: 2px !important; height: 4px !important; padding: 0 !important; overflow: hidden; }
.jf-gform .gform_wrapper .gf_progressbar_percentage { background: linear-gradient(90deg, #FDB728, #FD7228) !important; height: 4px !important; border-radius: 2px !important; }
.jf-gform .gform_wrapper .gf_progressbar_percentage span { display: none !important; }
/* Bottoni: primario CTA piatto, "Indietro" secondario */
.jf-gform .gform_wrapper .gform_footer input[type=submit], .jf-gform .gform_wrapper .gform_page_footer .gform_next_button, .jf-gform .gform_wrapper .gform_page_footer input[type=submit], .jf-gform .gform_wrapper .gform_button {
	background: var(--jf-b) !important; color: var(--jf-black) !important; border: 0 !important; border-radius: 10px !important; font: 700 16px/20px var(--jf-ui) !important; padding: 14px 28px !important; min-height: 48px; transition: background-color .15s; box-shadow: none !important; }
.jf-gform .gform_wrapper .gform_footer input[type=submit]:hover, .jf-gform .gform_wrapper .gform_page_footer .gform_next_button:hover, .jf-gform .gform_wrapper .gform_page_footer input[type=submit]:hover { background: var(--jf-a) !important; }
.jf-gform .gform_wrapper .gform_footer input[type=submit]:active, .jf-gform .gform_wrapper .gform_page_footer .gform_next_button:active { background: var(--jf-pressed) !important; }
.jf-gform .gform_wrapper .gform_page_footer .gform_previous_button { background: var(--jf-surface) !important; color: var(--jf-text) !important; border: 1px solid var(--jf-border) !important; border-radius: 10px !important; font: 700 16px/20px var(--jf-ui) !important; padding: 13px 28px !important; }
.jf-gform .gform_wrapper .gform_page_footer .gform_previous_button:hover { background: var(--jf-surface-2) !important; border-color: var(--jf-border-strong) !important; }
.jf-gform .gform_confirmation_message { color: var(--jf-text) !important; font: 400 16px/24px var(--jf-ui); }

/* Form: 1024–1439 → 560 + pannello 336, citazione senza foto */
@media (max-width: 1439px) {
	.e-con.jf-form-grid { grid-template-columns: 560px 1fr; column-gap: 48px; }
	.e-con.jf-proofs { grid-template-columns: 1fr; }
	.e-con.jf-quote { grid-template-columns: 1fr; }
	.elementor-widget.jf-quote-img { display: none; }
}
/* Form: ≤1023 → 1 colonna 560 centrata, prove in riga sopra */
@media (max-width: 1023px) {
	.e-con.jf-form-grid { grid-template-columns: 1fr; max-width: 560px; row-gap: 40px; }
	.e-con.jf-trust-panel { position: static; order: -1; }
	.e-con.jf-proofs { grid-template-columns: 1fr 1fr; }
	.e-con.jf-trust-panel .elementor-widget.jf-kicker, .e-con.jf-trust-panel .elementor-widget.jf-h2, .e-con.jf-quote { display: none; }
	.e-con.jf-proofs { margin-top: 0; }
}
@media (max-width: 767px) {
	.e-con.jf-form-page { --padding-top: 24px; --padding-bottom: 48px; }
	.elementor-widget.jf-h1--form .elementor-heading-title { font-size: 30px; line-height: 34px; }
	.elementor-widget.jf-close a { font-size: 14px; }
}
.jf-gform .gform_wrapper .gfield.header_form_vert { display: none !important; }
.jf-gform .gform_wrapper .gf_progressbar { display: block !important; margin-top: 8px !important; }
.jf-gform .gform_wrapper .gf_progressbar_wrapper { margin-bottom: 28px !important; padding: 0 !important; border: 0 !important; }
.jf-gform .gform_wrapper .gform_fields { row-gap: 20px !important; }
.jf-gform .gform_wrapper select { height: 48px !important; padding: 0 40px 0 14px !important; line-height: 44px !important; }
.jf-gform .gform_wrapper .gsection { margin-top: 12px !important; }

/* Mobile: il pannello fiducia diventa una riga di chip */
@media (max-width: 767px) {
	.e-con.jf-trust-panel .elementor-widget.jf-note { display: none; }
	.e-con.jf-proofs { display: flex; --flex-direction: row; --flex-wrap: wrap; flex-direction: row; flex-wrap: wrap; gap: 8px; }
	.e-con.jf-proofs > .e-con.jf-card { --width: auto; flex: 0 0 auto; background: transparent; border: 1px solid var(--jf-border); border-radius: 999px; --padding-top: 8px; --padding-right: 12px; --padding-bottom: 8px; --padding-left: 12px; }
	.e-con.jf-proofs .elementor-widget.jf-small { display: none; }
	.e-con.jf-proofs .elementor-widget.jf-h3 .elementor-heading-title { font: 500 13px/16px var(--jf-ui); letter-spacing: 0; }
	.e-con.jf-form-grid { row-gap: 24px; }
}

.elementor-widget.jf-nav .elementor-menu-toggle { margin-left: auto !important; margin-right: 0 !important; }

/* ===== Dettaglio ruolo ===== */
body.single-ricerchiamo { background: var(--jf-black); }
body.single-ricerchiamo .jf-nav .menu-item:first-child > .elementor-item { color: var(--jf-text) !important; }
body.single-ricerchiamo .jf-nav .elementor-nav-menu--main .menu-item:first-child > .elementor-item:after { opacity: 1 !important; width: 100% !important; left: 0 !important; }
body.single-ricerchiamo .jf-bottombar--generic { display: none !important; }
.e-con.jf-role-head { --padding-top: 40px; }
.e-con.jf-crumbs { --flex-direction: row; --align-items: center; --gap: 6px; --column-gap: 6px; font: 500 14px/18px var(--jf-ui); color: var(--jf-text-2); }
.elementor-widget.jf-crumb-link { font-size: 14px !important; line-height: 18px !important; font-weight: 500 !important; color: var(--jf-text-2) !important; }
.elementor-widget.jf-crumb-link a { color: var(--jf-a); text-decoration: none; }
.elementor-widget.jf-crumb-link a:hover { text-decoration: underline; }
.elementor-widget.jf-crumb-current .elementor-heading-title { font: 500 14px/18px var(--jf-ui) !important; color: var(--jf-text-2) !important; }
.e-con.jf-role-titlerow { --flex-direction: row; --align-items: flex-end; --justify-content: space-between; --gap: 48px; --column-gap: 48px; margin-top: 16px; }
.elementor-widget.jf-h1--role { max-width: 760px; }
.elementor-widget.jf-h1--role .elementor-heading-title { font-size: 48px; line-height: 52px; letter-spacing: -.025em; }
.elementor-widget.jf-pill { flex: none; }
.elementor-widget.jf-pill .elementor-heading-title { display: inline-block; background: var(--jf-surface); color: var(--jf-a) !important; font: 500 13px/16px var(--jf-ui) !important; padding: 8px 12px; border-radius: 999px; white-space: nowrap; }
.e-con.jf-role-main { --padding-top: 40px; }
.e-con.jf-role-grid { display: grid; grid-template-columns: 1fr 400px; column-gap: 96px; align-items: start; }
.e-con.jf-role-intro { display: grid; grid-template-columns: minmax(0, 400px) 1fr; column-gap: 32px; align-items: end; }
.elementor-widget.jf-role-photo img { object-position: center 20%; border-radius: 16px; }
.elementor-widget.jf-role-lead, .elementor-widget.jf-role-lead .elementor-widget-container, .elementor-widget.jf-role-lead p { font: 400 22px/32px var(--jf-ui) !important; color: var(--jf-text) !important; margin: 0; }
.elementor-widget.jf-role-lead { padding-bottom: 28px; }
.elementor-widget.jf-h2--role { margin: 48px 0 12px; }
.elementor-widget.jf-h2--role .elementor-heading-title { font-size: 28px; line-height: 32px; letter-spacing: -.015em; }
.elementor-widget.jf-prose { max-width: 680px; color: var(--jf-text) !important; font: 400 17px/28px var(--jf-ui) !important; }
.elementor-widget.jf-prose p { margin: 0 0 12px !important; }
.elementor-widget.jf-prose p:empty, .elementor-widget.jf-prose p:has(> br:only-child) { display: none; }
.elementor-widget.jf-prose ul { margin: 0 0 12px; padding: 0; list-style: none; }
.elementor-widget.jf-prose li { position: relative; padding-left: 26px; margin-bottom: 8px; }
.elementor-widget.jf-prose li::before { content: "—"; position: absolute; left: 0; color: var(--jf-a); }
.elementor-widget.jf-prose strong { color: var(--jf-text); font-weight: 700; }
.elementor-widget.jf-prose a { color: var(--jf-a); }
.e-con.jf-role-aside { position: sticky; top: 96px; --gap: 20px; --row-gap: 20px; }
.e-con.jf-facts { background: var(--jf-surface); border-radius: 16px; --padding-top: 12px; --padding-right: 24px; --padding-bottom: 24px; --padding-left: 24px; }
.e-con.jf-fact { display: grid; grid-template-columns: 96px 1fr; column-gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--jf-divider); }
.e-con.jf-fact:nth-child(4) { border-bottom: 0; }
.elementor-widget.jf-fact-k { color: var(--jf-text-2) !important; font-size: 15px !important; line-height: 20px !important; }
.elementor-widget.jf-fact-v { color: var(--jf-text) !important; font: 400 15px/20px var(--jf-ui) !important; }
.elementor-widget.jf-fact-v p { margin: 0; }
.elementor-widget.jf-btn-block { margin-top: 20px; }
.elementor-widget.jf-btn-block .elementor-button { width: 100%; justify-content: center; padding: 14px; }
.elementor-widget.jf-center { text-align: center; margin-top: 10px; font-size: 13px !important; line-height: 18px !important; }
.e-con.jf-other-roles { --gap: 8px; --row-gap: 8px; }
.elementor-widget.jf-chips-loop .elementor-loop-container { display: flex !important; flex-wrap: wrap; gap: 8px; }
.elementor-widget.jf-chips-loop .e-loop-item { width: auto !important; }
.e-con.jf-role-chip { --width: auto; width: auto; border: 1px solid var(--jf-border); border-radius: 999px; --padding-top: 8px; --padding-right: 12px; --padding-bottom: 8px; --padding-left: 12px; text-decoration: none; transition: border-color .15s, background-color .15s; }
.e-con.jf-role-chip:hover { border-color: var(--jf-border-strong); background: var(--jf-surface-2); }
.elementor-widget.jf-role-chip-title .elementor-heading-title { font: 500 14px/18px var(--jf-ui) !important; color: var(--jf-text) !important; }
.jf-bottombar--role .elementor-widget.jf-bottombar-text .elementor-heading-title { font: 500 14px/18px var(--jf-ui) !important; color: var(--jf-text) !important; }
.e-con.jf-bottombar--role .elementor-widget.jf-bottombar-text { flex: 1 1 auto; min-width: 0; }
@media (max-width: 1439px) {
	.e-con.jf-role-grid { grid-template-columns: 1fr 320px; column-gap: 48px; }
	.e-con.jf-role-intro { grid-template-columns: 1fr; row-gap: 20px; }
	.elementor-widget.jf-role-photo { max-width: 480px; }
	.elementor-widget.jf-role-lead { padding-bottom: 0; }
}
@media (max-width: 1023px) {
	.e-con.jf-role-grid { grid-template-columns: 1fr; row-gap: 40px; }
	.e-con.jf-role-aside { position: static; }
	.e-con.jf-role-titlerow { --flex-direction: column; --align-items: flex-start; --gap: 12px; --row-gap: 12px; }
	.elementor-widget.jf-h1--role .elementor-heading-title { font-size: 40px; line-height: 44px; }
}
@media (max-width: 767px) {
	.e-con.jf-role-head { --padding-top: 24px; }
	.elementor-widget.jf-h1--role .elementor-heading-title { font-size: 32px; line-height: 36px; }
	.elementor-widget.jf-role-photo { max-width: none; }
	.elementor-widget.jf-role-lead { font-size: 18px !important; line-height: 28px !important; }
	.elementor-widget.jf-h2--role { margin-top: 36px; }
	.elementor-widget.jf-h2--role .elementor-heading-title { font-size: 24px; line-height: 28px; }
	.elementor-widget.jf-prose { font-size: 16px !important; line-height: 26px !important; }
}

/* >>> JF:form */
/* ===== Form come mockup: schermata 1 (pag. 1 GF) e schermata 2 (pag. 2 GF) ===== */
.jf-gform .gform_wrapper .gfield.jf-hide, .elementor-widget.jf-form-sub { display: none !important; }
.jf-gform .gform_wrapper .gform_fields { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }
.jf-gform .gform_wrapper .gform_heading, .jf-gform .gform_wrapper .partial_entry_warning { display: none; }
/* barra "3 di 8 completati · circa 1 minuto" */
.jf-gform .gform_wrapper .gf_progressbar_title { width: 100%; display: flex !important; justify-content: space-between; gap: 16px; margin: 0 !important; }
.jf-gform .gform_wrapper .gf_progressbar_title .jf-eta { color: var(--jf-text-2); font-weight: 500; }
.jf-gform .gform_wrapper .gf_progressbar_percentage { transition: width .3s; }
.jf-gform .gform_wrapper .gform_fields > .gfield, .jf-block-grid > .gfield { margin: 0 !important; }
.jf-gform .gform_wrapper .validation_message--hidden-on-empty:empty, .jf-gform .gform_wrapper .gform_validation_container { display: none !important; }
.jf-gform .gform_wrapper .ginput_container select, .jf-gform .gform_wrapper .ginput_container input.datepicker, .jf-gform .gform_wrapper .ginput_container input.large, .jf-gform .gform_wrapper .ginput_container input.medium:not([type=file]) { width: 100% !important; max-width: none !important; }
.jf-gform .gform_wrapper .gfield_label, .jf-gform .gform_wrapper legend.gfield_label { margin: 0 0 6px !important; }
.jf-gform .gform_wrapper .gform_page_fields { margin-top: 0 !important; }
#gform_wrapper_64 select, #gform_wrapper_64 select.gfield_select { color: var(--jf-text) !important; }
/* Nome e cognome: un'etichetta sola, segnaposto al posto delle sotto-etichette */
#field_64_24 .ginput_complex label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#field_64_24 .ginput_complex { gap: 12px !important; }
/* radio Sì/No in riga */
.jf-gform .gform_wrapper .jf-inline .gfield_radio { display: flex !important; flex-direction: row !important; gap: 24px; flex-wrap: wrap; }
/* focus nei campi: bordo 2px + alone 3px */
.jf-gform .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=file]):focus,
.jf-gform .gform_wrapper select:focus, .jf-gform .gform_wrapper textarea:focus { border: 2px solid var(--jf-a) !important; box-shadow: 0 0 0 3px rgba(253, 183, 40, .25) !important; outline: none !important; }
/* Ruolo come chip con "Cambia" */
.jf-chip-row { display: none; align-items: center; gap: 8px; min-height: 48px; background: var(--jf-surface); border: 1.5px solid var(--jf-border); border-radius: 10px; padding: 6px 6px 6px 12px; }
#field_64_47.jf-has-chip .jf-chip-row { display: flex; }
#field_64_47.jf-has-chip select { display: none !important; }
.jf-chip { background: var(--jf-gradient); padding: 2px; border-radius: 999px; }
.jf-chip > span { display: block; background: var(--jf-black); border-radius: 999px; padding: 7px 12px; font: 500 14px/18px var(--jf-ui); color: var(--jf-text); }
.jf-chip-change { margin-left: auto; background: none !important; border: 0 !important; color: var(--jf-a) !important; font: 500 14px/18px var(--jf-ui) !important; padding: 8px 10px !important; border-radius: 6px; cursor: pointer; }
.jf-chip-change:hover { color: var(--jf-text) !important; }
/* footer: bottone + promessa accanto */
.jf-gform .gform_wrapper .gform_page_footer { display: flex !important; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 28px !important; padding: 0 !important; }
.jf-footer-note { font: 400 14px/20px var(--jf-ui); color: var(--jf-text-2); }
.jf-gform .gform_wrapper .gform_page_footer .gform_previous_button { display: none !important; }
.jf-later { background: none !important; border: 0 !important; padding: 8px 4px !important; color: var(--jf-a) !important; font: 500 15px/20px var(--jf-ui) !important; text-decoration: underline; cursor: pointer; }
.jf-later:hover { color: var(--jf-text) !important; }

/* Schermata 2: anteprima a sinistra (440), contenuto a destra */
.elementor-widget.jf-preview-w, .jf-step-line, .jf-step-intro { display: none; }
body.jf-step2 .e-con.jf-form-grid, body.jf-done .e-con.jf-form-grid { grid-template-columns: 440px minmax(0, 1fr); }
body.jf-step2 .e-con.jf-trust-panel, body.jf-done .e-con.jf-trust-panel { display: none; }
body.jf-step2 .elementor-widget.jf-preview-w, body.jf-done .elementor-widget.jf-preview-w { display: block; order: -1; position: sticky; top: 96px; }
body.jf-step2 .jf-step-line, body.jf-done .jf-step-line { display: flex; }
body.jf-step2 .jf-step-intro { display: block; }
body.jf-step2 .elementor-widget.jf-gform, body.jf-done .elementor-widget.jf-gform { max-width: 560px; margin-top: 28px; }
body.jf-step2 .jf-gform .gform_wrapper .gf_progressbar_wrapper { display: none !important; }
.jf-step-line { align-items: center; gap: 10px; margin-bottom: 16px; font: 500 14px/18px var(--jf-ui); color: var(--jf-a); }
.jf-step-line::before { content: "✓"; width: 32px; height: 32px; flex: none; border-radius: 999px; background: var(--jf-a); color: var(--jf-black); display: grid; place-items: center; font: 700 16px var(--jf-ui); }
.jf-step-intro { margin: 12px 0 0; max-width: 560px; font: 400 16px/24px var(--jf-ui); color: var(--jf-text-2); }
.jf-preview { background: var(--jf-surface); border-radius: 20px; overflow: hidden; color: var(--jf-text); }
.jf-preview-head { display: flex; align-items: center; gap: 10px; padding: 16px 20px; }
.jf-preview-av { width: 40px; height: 40px; flex: none; border-radius: 999px; background: var(--jf-divider) center/cover; border: 2px dashed var(--jf-border); }
.jf-preview.has-photo .jf-preview-av { border: 0; }
.jf-preview-name { font: 700 15px/18px var(--jf-ui); }
.jf-preview-meta { font: 400 13px/16px var(--jf-ui); color: var(--jf-text-2); }
.jf-preview-media { aspect-ratio: 4 / 5; background: var(--jf-surface-2) center/cover no-repeat; display: grid; place-items: center; text-align: center; padding: 20px; }
.jf-preview.has-photo .jf-preview-ph { display: none; }
.jf-preview-ph .t { font: 700 22px/26px var(--jf-display); color: var(--jf-text-2); }
.jf-preview-ph .d { font: 400 14px/20px var(--jf-ui); color: var(--jf-placeholder); margin-top: 4px; }
.jf-preview-foot { padding: 16px 20px 20px; }
.jf-preview-foot .t { font: 500 14px/18px var(--jf-ui); }
.jf-preview-foot .d { font: 400 13px/18px var(--jf-ui); color: var(--jf-text-2); margin-top: 4px; }
.jf-preview-edit { margin-top: 12px; background: none !important; border: 0 !important; padding: 0 !important; color: var(--jf-a) !important; font: 500 14px/18px var(--jf-ui) !important; text-decoration: underline; cursor: pointer; }
body.jf-done .jf-preview-edit { display: none; }
/* blocchi della schermata 2 */
.jf-gform .jf-block { grid-column: 1 / -1; }
.jf-block-title { font: 700 18px/24px var(--jf-display); color: var(--jf-text); margin-bottom: 4px; }
.jf-block-sub { font: 400 13px/18px var(--jf-ui); color: var(--jf-text-2); margin-bottom: 16px; }
.jf-block-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px 12px; }
.jf-block-grid > .gfield { grid-column: 1 / -1; }
.jf-block-grid > .gfield--width-half { grid-column: span 6; }
.jf-block-grid > .gfield--width-third { grid-column: span 4; }
.jf-ref { background: var(--jf-gradient); padding: 2px; border-radius: 14px; }
.jf-ref > .jf-block-grid { background: var(--jf-black); border-radius: 12px; padding: 16px; }
.jf-adds { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.jf-add { background: var(--jf-surface); border-radius: 12px; border: 1.5px solid transparent; }
.jf-add.is-open { grid-column: 1 / -1; border-color: var(--jf-border); }
.jf-add.has-error { border-color: var(--jf-error); }
.jf-add-head { width: 100% !important; height: auto !important; display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 12px; min-height: 64px; padding: 12px 16px !important; background: none !important; border: 0 !important; color: var(--jf-text) !important; text-align: left !important; cursor: pointer; border-radius: 12px; white-space: normal !important; }
.jf-add-head > span:first-child { flex: 1; min-width: 0; }
.jf-add-head .t { display: block; font: 500 15px/20px var(--jf-ui); }
.jf-add-head .d { display: block; font: 400 13px/16px var(--jf-ui); color: var(--jf-text-2); }
.jf-add.is-filled .jf-add-head .d { color: var(--jf-a); }
.jf-add-act { font: 500 14px/18px var(--jf-ui); color: var(--jf-a); white-space: nowrap; }
.jf-add-panel { padding: 4px 16px 20px; }
.jf-add-panel[hidden] { display: none !important; }
.jf-gform .gform_wrapper .jf-add-panel .gfield_radio { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 8px 20px; }
.jf-gform .gform_wrapper .jf-add-panel input[type=file] { color: var(--jf-text-2); font: 400 14px/20px var(--jf-ui); }
/* conferma finale */
.jf-gform .gform_confirmation_message { background: var(--jf-surface); border-radius: 12px; padding: 20px 24px; text-align: left !important; }
.jf-gform .gform_confirmation_message p { text-align: left !important; margin: 0 0 8px; }

@media (max-width: 1439px) {
	body.jf-step2 .e-con.jf-form-grid, body.jf-done .e-con.jf-form-grid { grid-template-columns: 360px minmax(0, 1fr); column-gap: 48px; }
}
@media (max-width: 1023px) {
	body.jf-step2 .e-con.jf-form-grid, body.jf-done .e-con.jf-form-grid { grid-template-columns: 1fr; }
	body.jf-step2 .elementor-widget.jf-preview-w, body.jf-done .elementor-widget.jf-preview-w { display: none; }
}
@media (max-width: 767px) {
	.jf-adds { grid-template-columns: 1fr; }
	.jf-block-grid > .gfield--width-half, .jf-block-grid > .gfield--width-third { grid-column: 1 / -1; }
	.jf-gform .gform_wrapper .gform_page_footer input[type=submit], .jf-gform .gform_wrapper .gform_page_footer .gform_next_button { width: 100%; }
}
/* select con ricerca (Chosen): Paese, Provincia */
#gform_wrapper_64 .chosen-container { width: 100% !important; font: 400 16px/24px var(--jf-ui); }
#gform_wrapper_64 .chosen-container-single .chosen-single { height: 48px; line-height: 45px; padding: 0 14px; background: var(--jf-surface) !important; border: 1.5px solid var(--jf-border) !important; border-radius: 10px; box-shadow: none !important; color: var(--jf-text) !important; }
#gform_wrapper_64 .chosen-container-single .chosen-single span { color: var(--jf-text) !important; }
#gform_wrapper_64 .chosen-container-single .chosen-single div { display: none; }
#gform_wrapper_64 .chosen-container-single .chosen-single { position: relative; }
#gform_wrapper_64 .chosen-container-single .chosen-single::after { content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; border-right: 2px solid var(--jf-text-2); border-bottom: 2px solid var(--jf-text-2); transform: translateY(-70%) rotate(45deg); }
#gform_wrapper_64 .chosen-container-active .chosen-single { border: 2px solid var(--jf-a) !important; box-shadow: 0 0 0 3px rgba(253, 183, 40, .25) !important; }
#gform_wrapper_64 .chosen-container .chosen-drop { background: var(--jf-surface); border: 1.5px solid var(--jf-border); border-radius: 0 0 10px 10px; color: var(--jf-text); }
#gform_wrapper_64 .chosen-container .chosen-search input[type=text] { min-height: 40px !important; }
#gform_wrapper_64 .chosen-container .chosen-results li { color: var(--jf-text); }
#gform_wrapper_64 .chosen-container .chosen-results li.highlighted { background: var(--jf-a) !important; color: var(--jf-black) !important; }
@media (max-width: 1023px) {
	.e-con.jf-form-grid { grid-template-columns: minmax(0, 1fr) !important; }
	.e-con.jf-form-grid > *, .jf-gform .gform_wrapper, .jf-gform .gform_wrapper .gfield { min-width: 0; max-width: 100%; }
}
/* bottone in invio: "Invio…" con spinner (mockup mobile, stato invio) */
.jf-gform .gform_wrapper .gform_ajax_spinner { display: none !important; }
.jf-gform .gform_wrapper .jf-sending { opacity: .7 !important; pointer-events: none; padding-left: 52px !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='6.5' fill='none' stroke='rgba(10,10,10,.3)' stroke-width='3'/%3E%3Cpath d='M8 1.5a6.5 6.5 0 0 1 6.5 6.5' fill='none' stroke='%230A0A0A' stroke-width='3'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: 26px center !important; }
/* Mobile, schermata 1: avanzamento + "Invia candidatura" in una barra fissa in basso (mockup mobile) */
@media (max-width: 767px) {
	body.jf-step1 .elementor-location-footer { padding-bottom: calc(121px + env(safe-area-inset-bottom, 0px)); }
	body.jf-step1 #gform_wrapper_64 .gf_progressbar_wrapper { position: fixed !important; left: 0; right: 0; bottom: calc(68px + env(safe-area-inset-bottom, 0px)); z-index: 90; margin: 0 !important; padding: 12px 20px !important; background: var(--jf-black) !important; border-top: 1px solid var(--jf-divider) !important; }
	body.jf-step1 #gform_wrapper_64 .gf_progressbar_title { font-size: 13px !important; line-height: 16px !important; }
	body.jf-step1 #gform_page_64_1 .gform_page_footer { position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 90; margin: 0 !important; padding: 0 20px calc(20px + env(safe-area-inset-bottom, 0px)) !important; background: var(--jf-black); }
	body.jf-step1 #gform_page_64_1 .gform_page_footer .gform_next_button { width: 100% !important; }
	body.jf-step1 #gform_page_64_1 .jf-footer-note { display: none; }
	body.jf-step1 .iubenda-tp-btn[data-tp-float][data-tp-float=bottom-right], body.jf-step1 .iubenda-tp-btn[data-tp-float][data-tp-float=bottom-left] { bottom: calc(150px + env(safe-area-inset-bottom, 0px)) !important; }
}
/* completa profilo dal link: form nascosto mentre passa da solo alla schermata 2 */
body.jf-resuming .elementor-widget.jf-gform { visibility: hidden; min-height: 60vh; }
.jf-gform .gform_wrapper .gform_page_footer .jf-later-note { flex-basis: 100%; font-size: 13px; line-height: 18px; }
/* <<< JF:form */
/* >>> JF:legali */
/* ===== Pagine legali (Privacy 3, Cookie 13187): testo WordPress classico, tema Hello ===== */
body.page-id-3, body.page-id-13187 { background: var(--jf-black); color: var(--jf-text); }
body.page-id-3 main.site-main, body.page-id-13187 main.site-main { max-width: calc(1200px + 2 * var(--jf-margin)); width: 100%; margin: 0 auto; padding: 56px var(--jf-margin) var(--jf-section); }
body.page-id-3 .page-header, body.page-id-13187 .page-header, body.page-id-3 .page-content, body.page-id-13187 .page-content { max-width: 760px; }
body.page-id-3 .page-header::before, body.page-id-13187 .page-header::before { content: "Informazioni legali · Samarcanda s.r.l."; display: block; font: 500 14px/18px var(--jf-ui); color: var(--jf-a); margin-bottom: 12px; }
body.page-id-3 .page-header .entry-title, body.page-id-13187 .page-header .entry-title { margin: 0 0 40px; font: 700 48px/52px var(--jf-display); letter-spacing: -.025em; color: var(--jf-text); }
body.page-id-3 .page-content, body.page-id-13187 .page-content { font: 400 16px/26px var(--jf-ui); color: var(--jf-text-2); }
body.page-id-3 .page-content p, body.page-id-13187 .page-content p { margin: 0 0 16px; }
body.page-id-3 .page-content h1, body.page-id-3 .page-content h2, body.page-id-3 .page-content h3, body.page-id-3 .page-content h4,
body.page-id-13187 .page-content h1, body.page-id-13187 .page-content h2, body.page-id-13187 .page-content h3, body.page-id-13187 .page-content h4 { color: var(--jf-text); font-family: var(--jf-display); font-weight: 700; letter-spacing: -.01em; margin: 40px 0 12px; }
/* l'H1 nel testo della Privacy fa da sottotitolo sotto il titolo pagina */
body.page-id-3 .page-content > h1:first-child { font: 500 18px/26px var(--jf-ui); color: var(--jf-text-2); letter-spacing: 0; margin: -24px 0 40px; }
body.page-id-3 .page-content h2, body.page-id-13187 .page-content h3 { font-size: 24px; line-height: 30px; padding-top: 32px; border-top: 1px solid var(--jf-divider); }
body.page-id-3 .page-content h3, body.page-id-13187 .page-content h4 { font-size: 18px; line-height: 24px; margin-top: 28px; }
body.page-id-3 .page-content ul, body.page-id-13187 .page-content ul, body.page-id-3 .page-content ol, body.page-id-13187 .page-content ol { margin: 0 0 16px; padding-left: 22px; }
body.page-id-3 .page-content li, body.page-id-13187 .page-content li { margin: 0 0 6px; }
body.page-id-3 .page-content li::marker, body.page-id-13187 .page-content li::marker { color: var(--jf-a); }
body.page-id-3 .page-content a, body.page-id-13187 .page-content a { color: var(--jf-a); text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
body.page-id-3 .page-content a:hover, body.page-id-13187 .page-content a:hover { color: var(--jf-text); }
body.page-id-3 .page-content strong, body.page-id-3 .page-content b, body.page-id-13187 .page-content strong, body.page-id-13187 .page-content b { color: var(--jf-text); }
body.page-id-3 .page-content table, body.page-id-13187 .page-content table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 24px; }
body.page-id-3 .page-content th, body.page-id-3 .page-content td, body.page-id-13187 .page-content th, body.page-id-13187 .page-content td { border: 1px solid var(--jf-divider); padding: 10px 12px; text-align: left; vertical-align: top; }
body.page-id-3 .post-tags, body.page-id-13187 .post-tags, body.page-id-3 #comments, body.page-id-13187 #comments { display: none; }
body.page-id-3 .page-header, body.page-id-13187 .page-header, body.page-id-3 .page-header .entry-title, body.page-id-13187 .page-header .entry-title, body.page-id-3 .page-content, body.page-id-13187 .page-content { padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 767px) {
	body.page-id-3 main.site-main, body.page-id-13187 main.site-main { padding-top: 32px; }
	body.page-id-3 .page-header .entry-title, body.page-id-13187 .page-header .entry-title { font-size: 34px; line-height: 38px; margin-bottom: 28px; }
	body.page-id-3 .page-content h2, body.page-id-13187 .page-content h3 { font-size: 21px; line-height: 26px; }
}
/* <<< JF:legali */
/* >>> JF:barra-mobile */
/* ===== Mobile: barra "Candidati" fissa — sparisce quando arriva la CTA grande del footer (script nel footer) ===== */
.e-con.jf-bottombar { transition: opacity .2s ease, visibility 0s linear 0s; }
body.jf-bb-off .e-con.jf-bottombar { opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility 0s linear .2s; }
/* niente spazio vuoto in fondo: con la barra nascosta si chiude anche il segnaposto dello sticky di Elementor */
body.jf-bb-off .elementor-sticky__spacer.jf-bottombar { display: none !important; }
.elementor-widget.jf-script { display: none; }
/* schede ruolo: la barra sta nel template e in fondo torna al suo posto sopra il footer → chiusa del tutto, senza buco */
body.jf-bb-off .e-con.jf-bottombar:not(.elementor-sticky--active):not(.elementor-sticky__spacer) { height: 0 !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; overflow: hidden !important; }
@media (max-width: 767px) {
	/* iubenda sopra la barra finché la barra è visibile (la chat è alzata dal codice opzionale di Smartsupp) */
	body:has(.jf-bottombar):not(.jf-bb-off) .iubenda-tp-btn[data-tp-float][data-tp-float=bottom-right],
	body:has(.jf-bottombar):not(.jf-bb-off) .iubenda-tp-btn[data-tp-float][data-tp-float=bottom-left] { bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
	.e-con.jf-bottombar { padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (prefers-reduced-motion: reduce) { .e-con.jf-bottombar, body.jf-bb-off .e-con.jf-bottombar { transition: none; } }
/* <<< JF:barra-mobile */
/* JOYN FEED END *//* End custom CSS */