:root{
  --primary:#225E48;
  --accent:#F37120;
  --bg:#FFFFFF;
  --text:#212529;
  --footer:#444444;
  --radius:12px;
  --shadow:0 6px 18px rgba(0,0,0,.08);
  --space:8px;
  --font:"Montserrat",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:#f7f8fa;
}
html,
body,
body *{
  font-family:var(--font) !important;
}
.container{
  max-width:1100px;
  margin:0 auto;
  padding:calc(var(--space)*3);
}
.site-header{
  position:sticky;
  top:0;
  z-index:1020;
}
.header-top{
  background:var(--primary);
  color:#fff;
}
.header-top-inner{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:60px;
  padding-top:8px;
  padding-bottom:8px;
}
.header-top{
  border-bottom:1px solid rgba(255,255,255,.2);
}
.brand{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.brand-logo{
  height:40px;
  width:auto;
  display:block;
}
.card{
  background:#fff;
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:calc(var(--space)*3);
}
.cfu-pane{
  margin-top:12px;
}
.cfu-card{
  background:#fff;
  border:1px solid #dee2e6;
  border-radius:8px;
  box-shadow:0 .125rem .25rem rgba(0,0,0,.075);
  padding:0;
}
.cfu-form-wrap{
  padding:20px;
}
.cfu-form-wrap--relative{
  position:relative;
}
.cfu-loading-overlay{
  display:none;
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.85);
  z-index:100;
  align-items:center;
  justify-content:center;
  border-radius:8px;
}
.cfu-loading-overlay.is-visible{
  display:flex;
}
.cfu-loading-overlay__spinner{
  width:40px;
  height:40px;
  border:3px solid #dee2e6;
  border-top-color:var(--primary);
  border-radius:50%;
  animation:cfu-spin .8s linear infinite;
}
@keyframes cfu-spin{
  to{transform:rotate(360deg)}
}
.cfu-title{
  margin:0 0 14px;
  font-size:32px;
  line-height:1.1;
  color:#c86a4d;
  font-weight:700;
}
.cfu-info-collapse{
  display:flex;
  gap:12px;
  margin-bottom:20px;
  border:1px solid #dee2e6;
  border-radius:8px;
  background:#f8f9fa;
  overflow:hidden;
}
.cfu-info-collapse__toggle{
  flex-shrink:0;
  width:36px;
  min-height:44px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:12px 0 0;
  background:transparent;
  border:0;
  cursor:pointer;
  color:var(--primary);
  transition:transform .2s ease;
}
.cfu-info-collapse__toggle:hover{
  color:#0f3631;
}
.cfu-info-collapse__chevron{
  display:block;
  width:0;
  height:0;
  border-left:6px solid transparent;
  border-right:6px solid transparent;
  border-top:8px solid currentColor;
  transform:rotate(0deg);
  transition:transform .2s ease;
}
.cfu-info-collapse.is-collapsed .cfu-info-collapse__chevron{
  transform:rotate(-90deg);
}
.cfu-info-collapse__content{
  flex:1;
  padding:12px 16px 16px 0;
  font-size:14px;
  line-height:1.5;
  color:#495057;
}
.cfu-info-collapse__content p{
  margin:0 0 10px;
}
.cfu-info-collapse__content p:last-of-type{
  margin-bottom:8px;
}
.cfu-info-collapse__content ul{
  margin:0 0 10px;
  padding-left:20px;
}
.cfu-info-collapse__content li{
  margin-bottom:4px;
}
.cfu-info-collapse.is-collapsed .cfu-info-collapse__content{
  display:none;
}
.cfu-info-collapse.is-collapsed{
  min-height:44px;
  align-items:center;
}
.cfu-info-collapse.is-collapsed .cfu-info-collapse__toggle{
  padding:0;
  align-items:center;
}
.cfu-subtitle{
  margin:0 0 20px;
  font-size:15px;
  color:#495057;
}
.cfu-section-title{
  margin:0 0 14px;
  font-size:15px;
  line-height:1.15;
  color:#0f3631;
}
.cfu-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 20px;
}
.cfu-form-grid--single-centered{
  grid-template-columns:minmax(0,1fr);
}
.cfu-form-grid--single-centered .cfu-field{
  width:100%;
  max-width:520px;
  margin:0 auto;
}
.step-wizard{
  font-family:var(--font);
  display:flex;
  align-items:flex-start;
  position:relative;
  margin-bottom:30px;
  scroll-margin-top:50px;
  --wizard-line-gap:0;
  --wizard-line-top:18px;
}
.step-wizard-gap{
  flex:1;
  min-width:20px;
  position:relative;
  align-self:stretch;
}
.step-wizard-line-segment{
  position:absolute;
  top:var(--wizard-line-top);
  left:var(--wizard-line-gap);
  right:var(--wizard-line-gap);
  height:0;
  border-top:4px dashed rgba(34,94,72,.45);
  border-radius:999px;
}
.step-wizard-progress-segment{
  position:absolute;
  top:var(--wizard-line-top);
  left:var(--wizard-line-gap);
  right:var(--wizard-line-gap);
  height:4px;
  background:transparent;
  border-radius:999px;
  transition:background .2s ease;
  pointer-events:none;
  z-index:2;
}
.cfu-form.step-2 .step-wizard-progress-segment[data-progress="1"]{
  background:var(--primary);
}
.cfu-form.step-3 .step-wizard-progress-segment[data-progress="1"],
.cfu-form.step-3 .step-wizard-progress-segment[data-progress="2"]{
  background:var(--primary);
}
.cfu-form.step-4 .step-wizard-progress-segment[data-progress="1"],
.cfu-form.step-4 .step-wizard-progress-segment[data-progress="2"],
.cfu-form.step-4 .step-wizard-progress-segment[data-progress="3"]{
  background:var(--primary);
}
.step-item{
  border:0;
  background:transparent;
  padding:0;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
  width:50px;
  min-width:50px;
  text-align:center;
  cursor:pointer;
  transition:none;
}
.step-item[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.7;
}
.step-item .step-number,
.step-item .step-label{
  transition:none;
}
.step-item:active{
  transform:scale(.98);
}
.step-item:focus-visible .step-number{
  outline:2px solid var(--primary);
  outline-offset:2px;
}
.step-item:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:3px;
  border-radius:10px;
}
.step-inline-popup{
  margin-top:6px;
  font-size:12px;
  line-height:1.2;
  color:#842029;
  background:#f8d7da;
  border:1px solid #f5c2c7;
  border-radius:10px;
  padding:6px 8px;
  white-space:nowrap;
}
.step-item.completed{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  z-index:2;
}
.step-number{
  width:36px;
  height:36px;
  border-radius:10px;
  border:3px solid var(--primary);
  color:var(--primary);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:600;
}
.step-label{
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
  color:#6c757d;
  line-height:1.2;
}
.step-item[data-step="1"] .step-label{
  margin-left:-2px;
}
.step-item[data-step="2"] .step-label{
  margin-left:0;
}
.step-item.active .step-number,
.step-item.completed .step-number{
  border-color:var(--primary);
  color:#fff;
  background:var(--primary);
}
.step-item.active .step-label,
.step-item.completed .step-label{
  color:var(--primary);
}
.step-item.completed .step-number{
  background:#fff;
  color:transparent;
  position:relative;
}
.step-item.completed .step-number::after{
  content:"";
  position:absolute;
  width:16px;
  height:16px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:16px 16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8.5l3.1 3L13 4.7' stroke='%23225E48' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.step-item.active .step-number{
  color:#fff;
}
.cfu-step{
  display:none;
}
.cfu-step.is-active{
  display:block;
}
.cfu-risultati-title{
  color:#EA6E51;
  font-size:1.25rem;
  font-weight:700;
  margin-bottom:1.25rem;
}
.cfu-risultati-section{
  margin-bottom:1.5rem;
}
.cfu-risultati-section-title{
  font-size:1rem;
  font-weight:700;
  margin:0 0 0.5rem;
  color:var(--text);
}
.cfu-risultati-table-wrap{
  overflow-x:auto;
  border:1px solid #dee2e6;
  border-radius:6px;
  margin-bottom:0.5rem;
}
.cfu-risultati-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.9rem;
}
.cfu-risultati-table th{
  background:#EA6E51;
  color:#fff;
  font-weight:600;
  padding:10px 12px;
  text-align:left;
}
.cfu-risultati-table th:nth-child(2),
.cfu-risultati-table th:nth-child(3),
.cfu-risultati-table th:nth-child(4),
.cfu-risultati-table th:nth-child(5){
  text-align:center;
}
.cfu-risultati-table td{
  padding:10px 12px;
  border-bottom:1px solid #eee;
}
.cfu-risultati-table tbody tr:nth-child(odd){
  background:#f8f9fa;
}
.cfu-risultati-table tbody tr:nth-child(even){
  background:#fff;
}
.cfu-risultati-table td:nth-child(2),
.cfu-risultati-table td:nth-child(3),
.cfu-risultati-table td:nth-child(4),
.cfu-risultati-table td:nth-child(5){
  text-align:center;
}
.cfu-risultati-badge{
  display:inline-block;
  background:#28a745;
  color:#fff;
  padding:4px 10px;
  border-radius:999px;
  font-size:0.8rem;
  font-weight:600;
}
.cfu-risultati-indicator{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  background:var(--primary);
  color:#fff;
  font-size:0.85rem;
  font-weight:700;
  border-radius:4px;
  margin:0 auto;
}
.cfu-risultati-empty{
  text-align:center !important;
  color:#6c757d;
  padding:1rem !important;
}
.cfu-summary{
  border:2px solid var(--primary);
  border-radius:10px;
  background:#fff;
  padding:14px 16px;
}
.cfu-summary p{
  margin:0 0 8px;
}
.cfu-summary p:last-child{
  margin-bottom:0;
}
.cfu-summary-anagrafici{
  border:2px solid var(--primary);
  border-radius:10px;
  background:#fff;
  padding:14px 16px;
  margin-bottom:1.5rem;
}
.cfu-summary-anagrafici-title{
  font-size:1rem;
  font-weight:700;
  margin:0 0 0.75rem;
  color:var(--text);
}
.cfu-summary-anagrafici p{
  margin:0 0 8px;
}
.cfu-summary-anagrafici p:last-child{
  margin-bottom:0;
}
.legal-consent-container{
  grid-column:1 / -1;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.cfu-checkbox-field{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.cfu-checkbox-field .cfu-checkbox{
  flex-shrink:0;
  width:20px;
  height:20px;
  min-width:20px;
  min-height:20px;
  margin:0;
  margin-top:2px;
  padding:0;
  accent-color:var(--primary);
  border:none;
}
.cfu-checkbox-field .cfu-checkbox-label{
  font-weight:400;
  cursor:pointer;
  line-height:1.4;
}
.cfu-checkbox-field .cfu-checkbox.is-invalid{
  outline:2px solid #dc3545;
  outline-offset:1px;
  border-radius:2px;
}
.cfu-privacy-link{
  margin:0;
  font-size:0.95rem;
}
.cfu-privacy-link a{
  color:var(--primary);
  text-decoration:underline;
}
.cfu-privacy-link a:hover{
  text-decoration:none;
}
.cfu-field{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cfu-field.is-select-open{
  z-index:1200;
}
.cfu-field:focus-within{
  z-index:120;
}
.cfu-field--actions{
  display:flex;
  flex-direction:row;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:14px;
  position:relative;
  padding-bottom:44px;
}
.cfu-form.step-1 .cfu-field--actions,
.cfu-form.step-2 .cfu-field--actions{
  width:calc(50% - 10px);
  margin-left:auto;
}
.cfu-btn-edit{
  display:none;
  flex:0 0 20%;
  width:20%;
  min-height:58px;
  padding:0 12px;
  border:2px solid var(--primary);
  border-radius:10px;
  background:#fff;
  color:var(--primary);
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:none;
}
.cfu-btn-edit.is-visible{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.cfu-btn-next{
  flex:0 0 20%;
  width:20%;
  min-height:58px;
  border:2px solid var(--primary);
  border-radius:10px;
  background:var(--primary);
  color:#fff;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:none;
}
.cfu-btn-next:active,
.cfu-btn-edit:active{
  transform:translateY(0) scale(.99);
}
.cfu-inline-popup{
  display:none;
  font-size:13px;
  line-height:1.2;
  color:#842029;
  background:#f8d7da;
  border:1px solid #f5c2c7;
  border-radius:10px;
  padding:6px 8px;
}
.cfu-inline-popup.is-visible{
  display:block;
}
.legal-consent-container .cfu-inline-popup{
  width:max-content;
  max-width:100%;
}
.cfu-field--actions .cfu-inline-popup{
  position:absolute;
  top:calc(100% - 2px);
  right:0;
  width:max-content;
  max-width:none;
  margin:0;
  text-align:left;
  white-space:nowrap;
}
.cfu-field label{
  font-size:15px;
  font-weight:600;
  color:#225E48;
}
.cfu-field input:not([type=checkbox]),
.cfu-field select{
  width:100%;
  border:2px solid var(--primary);
  border-radius:10px;
  background:#fff;
  color:#2f3c45;
  font-size:15px;
  line-height:1.2;
  padding:14px 16px;
  min-height:58px;
  transition:none;
}
.cfu-field input:not([type=checkbox]):focus,
.cfu-field select:focus{
  border-color:var(--primary);
  outline:0;
}
.cfu-step .cfu-field,
.cfu-step .cfu-summary{
  transition:none;
}
.cfu-upload-section{
  border:2px dashed rgba(34,94,72,.45);
  border-radius:10px;
  padding:20px;
  background:rgba(34,94,72,.04);
}
.cfu-upload-helper{
  margin:8px 0 0;
  font-size:13px;
  color:#6c757d;
}
.cfu-file-list{
  margin-top:12px;
}
.cfu-upload-modal__content .cfu-upload-section .cfu-file-list{
  flex:1 1 auto;
  max-height:180px;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
}
.cfu-file-list-item{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:var(--text);
  padding:6px 0;
  border-bottom:1px solid #eee;
}
.cfu-file-list-item-name{
  flex:1;
  min-width:0;
}
.cfu-file-list-item-remove{
  flex-shrink:0;
  width:28px;
  height:28px;
  padding:0;
  border:1px solid #dee2e6;
  border-radius:4px;
  background:#fff;
  color:#6c757d;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  transition:border-color 0.15s, color 0.15s, background 0.15s;
}
.cfu-file-list-item-remove:hover{
  border-color:#dc3545;
  color:#dc3545;
  background:#fff5f5;
}
.cfu-file-list-item:last-child{
  border-bottom:0;
}
.cfu-field input:not([type=checkbox]).is-invalid,
.cfu-field input[type="file"].is-invalid,
.cfu-field select.is-invalid{
  border-color:#dc3545;
  color:#dc3545;
  border-style:dashed;
}
.cfu-field input:not([type=checkbox]).is-valid-temp,
.cfu-field select.is-valid-temp{
  border-color:#198754;
  color:#198754;
  border-style:solid;
  border-width:2px;
}
.cfu-field select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23225E48' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:16px 16px;
  transition:none;
}
.cfu-field select:focus{
  background-size:16px 16px;
}
.cfu-native-select-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.cfu-custom-select{
  position:relative;
  width:100%;
}
.cfu-custom-select-trigger{
  width:100%;
  min-height:58px;
  border:2px solid var(--primary);
  border-radius:10px;
  background:#fff;
  color:#2f3c45;
  font-size:15px;
  line-height:1.2;
  padding:14px 44px 14px 16px;
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  transition:none;
}
.cfu-custom-select-arrow{
  position:absolute;
  right:14px;
  width:24px;
  height:24px;
  pointer-events:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:24px 24px;
  transition:transform .18s ease;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23225E48' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.cfu-custom-select.is-open .cfu-custom-select-arrow{
  transform:rotate(180deg);
}
.cfu-custom-select-menu{
  display:none;
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:60;
  list-style:none;
  margin:0;
  padding:6px;
  border:2px solid var(--primary);
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 20px rgba(34,94,72,.18);
  max-height:220px;
  overflow:auto;
}
.cfu-custom-select.is-open .cfu-custom-select-menu{
  display:block;
}
.cfu-custom-select-option{
  border-radius:8px;
  padding:10px 12px;
  cursor:pointer;
  transition:none;
}
.cfu-custom-select-option.is-selected{
  background:#c86a4d;
  color:#fff;
}
.cfu-custom-select-option.is-active{
  outline:2px solid var(--primary);
  outline-offset:1px;
}
.cfu-custom-select-option.is-selecting{
  background:#c86a4d;
  color:#fff;
  transform:scale(1.03);
  box-shadow:0 4px 12px rgba(34,94,72,.28);
}
.cfu-custom-select-trigger.is-invalid{
  border-color:#dc3545;
  color:#dc3545;
  border-style:dashed;
}
.cfu-custom-select-trigger.is-valid-temp{
  border-color:#198754;
  color:#198754;
  border-style:solid;
}
.select2-container{
  width:100% !important;
  z-index:140;
}
.select2-container .select2-selection--single{
  min-height:58px;
  border:2px solid var(--primary) !important;
  border-radius:10px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  padding:0 38px 0 10px !important;
}
.cfu-form-grid--single-centered .select2-container .select2-selection--single{
  border:2px solid var(--primary) !important;
  border-radius:10px !important;
}
.select2-container .select2-selection--single .select2-selection__rendered{
  color:#2f3c45 !important;
  line-height:1.2 !important;
  padding:0 !important;
}
.select2-container .select2-selection--single .select2-selection__arrow{
  height:100% !important;
  right:8px !important;
}
.select2-container .select2-selection--single .select2-selection__arrow b{
  border-color:#225E48 transparent transparent transparent !important;
}
.select2-container--open .select2-dropdown{
  border:1px solid var(--primary) !important;
  border-radius:0 !important;
  overflow:hidden;
  z-index:10000 !important;
}
.select2-container--open{
  z-index:10000 !important;
}
.select2-results__option{
  font-family:var(--font) !important;
}
.select2-results__option--selectable:hover,
.select2-results__option--highlighted.select2-results__option--selectable,
.select2-results__option--selectable.cfu-select2-touch-highlight{
  background:#c86a4d !important;
  color:#fff !important;
}
.select2-results__option--selectable:active{
  background:#c86a4d !important;
  color:#fff !important;
}
.select2-results__option--selected{
  background:#c86a4d !important;
  color:#fff !important;
}
.select2-search--dropdown .select2-search__field{
  border:1px solid #d5dbe0 !important;
  border-radius:0 !important;
}
.select2-selection.is-invalid{
  border-color:#dc3545 !important;
  border-style:dashed !important;
}
.select2-selection:focus,
.select2-selection:focus-visible{
  outline:0 !important;
}
.cfu-field select option:checked{
  background:#c86a4d;
  color:#fff;
}
.cfu-phone-input{
  width:100%;
}
.cfu-phone-iti-wrap{
  width:100%;
}
.cfu-phone-iti-wrap .iti{
  width:100%;
  display:flex;
  border:2px solid var(--primary);
  border-radius:10px;
  overflow:hidden;
}
.cfu-phone-iti-wrap .iti__country-container{
  border:0 !important;
  border-right:none !important;
  border-radius:0;
  position:relative;
}
.cfu-phone-iti-wrap .iti__country-container *,
.cfu-phone-iti-wrap .iti__selected-country,
.cfu-phone-iti-wrap .iti__selected-dial-code{
  border-right:none !important;
}
.cfu-phone-iti-wrap .iti__selected-country{
  padding:5px;
  min-height:40px;
  display:flex;
  align-items:center;
}
.cfu-phone-iti-wrap .iti__selected-dial-code{
  font-size:15px;
  color:var(--primary);
}
.cfu-phone-iti-wrap .iti__tel-input{
  border:0 !important;
  border-left:none !important;
  border-radius:0;
  min-height:54px;
  padding:10px 12px 10px 4px !important;
  font-size:15px;
  flex:1;
  text-align:left;
}
.cfu-phone-iti-wrap .iti__tel-input:focus{
  box-shadow:none !important;
}
.cfu-phone-iti-wrap .iti:focus-within{
  box-shadow:none;
}
.cfu-phone-iti-wrap .iti__country-list{
  border:1px solid var(--primary) !important;
  border-radius:0 0 10px 10px;
  box-shadow:0 8px 20px rgba(34,94,72,.18);
  max-height:240px;
  z-index:10000 !important;
}
.iti__search-input{
  border:none !important;
  border-radius:0 !important;
  padding:8px 10px;
  font-size:15px;
  font-family:var(--font) !important;
  outline:none !important;
  box-shadow:none !important;
}
.iti__search-input::placeholder{
  color:#6c757d;
}
.cfu-phone-iti-wrap .iti__country{
  padding:8px 10px;
  font-family:var(--font) !important;
}
.cfu-phone-iti-wrap .iti__country.iti__highlight,
.iti__country.iti__highlight{
  background:#c86a4d !important;
  color:#212529 !important;
}
.cfu-phone-iti-wrap .iti__country.is-hovering,
.iti__country.is-hovering{
  background:#c86a4d !important;
  color:#212529 !important;
}
.cfu-phone-iti-wrap .iti__country.is-selecting,
.iti__country.is-selecting{
  background:#c86a4d !important;
  color:#212529 !important;
}
.cfu-phone-wrap{
  display:flex;
  align-items:stretch;
  border:1px solid #d7dde2;
  border-radius:2px;
  background:#fff;
  min-height:58px;
}
.cfu-phone-prefix{
  display:flex;
  align-items:center;
  padding:0 12px;
  border-right:1px solid #d7dde2;
  font-size:15px;
  color:#2f3c45;
  white-space:nowrap;
}
.cfu-phone-wrap input{
  border:0;
  border-radius:0;
}
.cfu-discipline-section{
  display:none;
  margin-top:18px;
  border:1px solid #dee2e6;
  border-radius:10px;
  background:#fff;
  padding:16px;
  box-shadow:0 .125rem .25rem rgba(0,0,0,.05);
}
.cfu-discipline-section.is-visible{
  display:block;
}
.cfu-discipline-title{
  margin:0 0 14px;
  font-size:32px;
  line-height:1.1;
  color:#c86a4d;
  font-weight:700;
}
.cfu-discipline-list{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.cfu-discipline-row{
  position:relative;
  z-index:1;
  overflow:visible;
  display:grid;
  grid-template-columns:28px 1.2fr 1fr .6fr .7fr .95fr 42px;
  gap:12px;
  align-items:end;
  border:1px solid #dee2e6;
  border-radius:10px;
  background:#fff;
  padding:14px;
  box-shadow:0 .125rem .25rem rgba(0,0,0,.04);
}
.cfu-discipline-row.is-select-open{
  z-index:1200;
}
.cfu-discipline-index{
  font-size:22px;
  font-weight:600;
  color:#3a4248;
  line-height:1;
  align-self:center;
}
.cfu-discipline-row .cfu-field{
  gap:4px;
  min-width:0;
}
.cfu-discipline-row .cfu-field label{
  color:#3a4248;
}
.cfu-discipline-row .cfu-field input,
.cfu-discipline-row .cfu-field select,
.cfu-discipline-row .cfu-custom-select-trigger{
  min-height:48px;
  padding:10px 12px;
  border-width:1px;
  border-color:#d5dbe0;
  font-size:15px;
}
.cfu-discipline-row .select2-container .select2-selection--single{
  min-height:48px;
  border-width:1px !important;
  border-color:#d5dbe0 !important;
  border-radius:0 !important;
  padding:0 34px 0 10px !important;
  overflow:hidden;
}
.cfu-discipline-row .select2-container .select2-selection__rendered{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.cfu-discipline-row .cfu-custom-select-trigger{
  overflow:hidden;
}
.cfu-discipline-row .cfu-custom-select-trigger .cfu-custom-select-value{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
}
.cfu-btn-remove-discipline{
  position:relative;
  top:-5px;
  width:38px;
  height:38px;
  border:0;
  border-radius:10px;
  background:#dc3545;
  color:#fff;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:none;
}
.cfu-btn-remove-discipline .cfu-remove-icon{
  display:block;
  width:18px;
  height:18px;
  margin:0 auto;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M9 3h6l1 2h4v2H4V5h4l1-2Z' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7 7h10l-1 13H8L7 7Z' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M10 11v6M14 11v6' stroke='white' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}
.cfu-btn-remove-discipline:active{
  transform:translateY(0) scale(.99);
}
.cfu-btn-add-discipline{
  margin-top:14px;
  min-height:40px;
  padding:0 18px;
  border:2px solid var(--primary);
  border-radius:12px;
  background:var(--primary);
  color:#fff;
  font-size:15px;
  line-height:1.2;
  font-weight:600;
  cursor:pointer;
  transition:none;
}
.cfu-btn-add-discipline:active{
  transform:translateY(0) scale(.99);
}
.cfu-confirm-modal{
  position:fixed;
  inset:0;
  z-index:1200;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.45);
  padding:16px;
}
.cfu-confirm-modal.is-open{
  display:flex;
}
.cfu-confirm-modal__content{
  width:100%;
  max-width:420px;
  border:2px solid var(--primary);
  border-radius:12px;
  background:#fff;
  padding:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.cfu-upload-modal__content{
  max-width:560px;
  max-height:92vh;
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  overflow-x:hidden;
}
.cfu-upload-modal__content .cfu-upload-section{
  flex:0 0 auto;
  max-height:280px;
  overflow:hidden;
  margin-bottom:16px;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.cfu-upload-modal__content .cfu-upload-section .cfu-field{
  display:flex;
  flex-direction:column;
  min-height:0;
  flex:1 1 auto;
  overflow:hidden;
}
.cfu-upload-modal__content .cfu-info-collapse{
  margin-bottom:16px;
  flex-shrink:0;
}
.cfu-upload-modal__content .cfu-info-collapse__content{
  padding-bottom:20px;
}
.cfu-upload-modal__message{
  flex-shrink:0;
  position:relative;
  z-index:10;
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:8px;
  font-size:14px;
  display:none;
  min-height:20px;
  word-wrap:break-word;
  overflow-wrap:break-word;
}
.cfu-upload-modal__message.is-visible{
  display:block;
  background:#fff3cd;
  border:1px solid #ffc107;
  color:#856404;
}
.cfu-upload-modal__message.is-error{
  background:#f8d7da;
  border:1px solid #dc3545;
  color:#721c24;
}
.cfu-upload-modal__message.is-success{
  background:#d4edda;
  border:1px solid #28a745;
  color:#155724;
}
.cfu-confirm-modal__title{
  margin:0 0 8px;
  font-size:20px;
  color:#0f3631;
}
.cfu-confirm-modal__text{
  margin:0 0 14px;
  color:#2f3c45;
}
.cfu-confirm-modal__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.cfu-confirm-modal__btn{
  min-height:40px;
  border:2px solid var(--primary);
  border-radius:10px;
  padding:0 14px;
  font-weight:600;
  cursor:pointer;
}
.cfu-confirm-modal__btn--cancel{
  background:#fff;
  color:var(--primary);
}
.cfu-confirm-modal__btn--confirm{
  background:var(--primary);
  color:#fff;
}
.cfu-field input:focus-visible,
.cfu-field select:focus-visible,
.cfu-custom-select-trigger:focus-visible,
.cfu-btn-next:focus-visible,
.cfu-btn-edit:focus-visible,
.cfu-btn-add-discipline:focus-visible,
.cfu-btn-remove-discipline:focus-visible,
.cfu-confirm-modal__btn:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:2px;
}
.cfu-simulation-result{
  margin-top:1rem;
  padding:12px 16px;
  border:1px solid var(--primary);
  border-radius:8px;
  background:#f8f9fa;
}
.cfu-simulation-result p{
  margin:0;
}
.cfu-sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.h1{margin:0 0 var(--space); color:var(--accent); font-size:28px}
.muted{margin:0 0 calc(var(--space)*2); opacity:.85}
.list{margin:0; padding-left:18px}
@media (max-width: 768px){
  .cfu-form-grid--single-centered{
    overflow-x:hidden;
  }
  .cfu-form-grid--single-centered .cfu-field{
    max-width:100%;
  }
  .cfu-form-grid--single-centered .cfu-field,
  .cfu-form-grid--single-centered .select2-container,
  .cfu-form-grid--single-centered .select2-container .selection,
  .cfu-form-grid--single-centered .select2-selection--single{
    min-width:0;
  }
  .cfu-form-grid--single-centered .select2-container{
    display:block !important;
    max-width:100%;
  }
  .cfu-form-grid--single-centered .select2-selection--single{
    overflow:hidden;
  }
  .cfu-form-grid--single-centered .select2-selection__rendered{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    min-width:0 !important;
  }
  .header-top-inner{
    min-height:54px;
  }
  .brand-logo{height:34px}
  .cfu-form-grid{
    grid-template-columns:1fr;
  }
  .step-wizard{
    margin-bottom:20px;
    --wizard-line-top:14px;
  }
  .step-number{
    width:28px;
    height:28px;
    font-size:12px;
  }
  .step-label{
    font-size:10px;
  }
  .cfu-title{
    font-size:15px;
  }
  .cfu-section-title{
    font-size:15px;
  }
  .cfu-field input,
  .cfu-field select{
    font-size:15px;
    min-height:50px;
    padding:10px 12px;
  }
  .cfu-btn-next{
    width:20%;
    flex:0 0 20%;
    min-height:40px;
  }
  .cfu-form.step-1 .cfu-field--actions,
  .cfu-form.step-2 .cfu-field--actions{
    width:100%;
    margin-left:0;
  }
  .cfu-btn-edit{
    width:32%;
    flex:0 0 32%;
    min-height:40px;
  }
  .cfu-phone-iti-wrap .iti__tel-input{
    font-size:15px;
    min-height:46px;
    padding:8px 10px;
  }
  .cfu-phone-iti-wrap .iti__selected-dial-code{
    font-size:15px;
  }
  .cfu-phone-prefix{
    font-size:15px;
  }
  .cfu-discipline-title{
    font-size:26px;
  }
  .cfu-discipline-row{
    grid-template-columns:1fr;
    gap:10px;
  }
  .cfu-discipline-index{
    font-size:18px;
    align-self:flex-start;
  }
  .cfu-btn-remove-discipline{
    width:100%;
    height:44px;
  }
  .cfu-btn-add-discipline{
    width:100%;
    min-height:40px;
    font-size:15px;
  }
}

.bootscore-footer{
  margin-top:32px;
  color:#f8f9fa;
}
.bootscore-footer .bg-body-tertiary{
  background:#373737;
}
.bootscore-footer-columns{
  padding-top:34px;
  padding-bottom:26px;
}
.bootscore-footer-brand{
  display:flex;
  justify-content:center;
  margin-bottom:28px;
}
.bootscore-footer-logo{
  width:240px;
  max-width:100%;
  height:auto;
}
.bootscore-footer-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:32px;
}
.bootscore-footer .col-6,
.bootscore-footer .col-lg-3{
  width:100%;
}
.bootscore-footer .footer_widget{
  margin-bottom:12px;
}
.bootscore-footer .wp-block-heading{
  color:#fff;
  font-size:16px;
  margin:0 0 14px;
  line-height:1.1;
  font-weight:700;
}
.bootscore-footer p{
  margin:0 0 12px;
  color:#f8f9fa;
  line-height:1.45;
  font-size:15px;
}
.bootscore-footer a{
  color:#f8f9fa;
  text-decoration:none;
}
.bootscore-footer .footer-link-accent{
  color:#f37120;
  text-decoration:underline;
}
.bootscore-footer .bootscore-footer-links{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.bootscore-footer .wh-button{
  text-transform:uppercase;
  font-size:15px;
  line-height:1.3;
  letter-spacing:.2px;
}
.bootscore-footer-col-links .wh-button{
  color:#fff;
  text-decoration:none;
}

@media (max-width: 992px){
  .bootscore-footer .wp-block-heading{
    font-size:16px;
  }
  .bootscore-footer .wh-button{
    font-size:15px;
  }
  .bootscore-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width: 576px){
  .bootscore-footer-brand{
    margin-bottom:20px;
  }
  .bootscore-footer .wp-block-heading{
    font-size:16px;
  }
  .bootscore-footer .wh-button{
    font-size:15px;
  }
  .bootscore-footer-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
    scroll-behavior:auto !important;
  }
  .step-item:hover .step-number,
  .step-item:hover .step-label,
  .cfu-step .cfu-field:hover,
  .cfu-field input:hover:not(.is-invalid):not(.is-valid-temp),
  .cfu-field select:hover:not(.is-invalid):not(.is-valid-temp),
  .cfu-custom-select-trigger:hover{
    transform:none !important;
    box-shadow:none !important;
  }
}

/* Pagina ringraziamento dopo submit */
.cfu-grazie-page{
  margin-top:calc(var(--space) * 4);
}
.cfu-grazie-card{
  max-width:640px;
  margin:0 auto;
  text-align:center;
  border-left:4px solid var(--primary);
}
.cfu-grazie-content{
  padding:calc(var(--space) * 4);
}
.cfu-grazie-message{
  margin:0;
  font-size:1.25rem;
  line-height:1.5;
  color:var(--text);
  font-weight:500;
}
