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

/* Add your custom styles here */
/* WP forms richiesta info corsi*/
.policy label.wpforms-field-label-inline {
    font-size: 11px !important;
}

#form-richiedi-info-corso div.wpforms-container-full .wpforms-form button[type=submit] {
    background-color: #3084DE;
    border: 1px solid #3084DE;
    color: white;
    font-size: 1em;
    padding: 10px 15px;
    width: 100% !important;
}

#form-richiedi-info-corso div.wpforms-container-full .wpforms-form button[type=submit]:hover {
    background-color: #121212;
    border: 1px solid #121212;
    color: white;
    font-size: 1em;
    padding: 10px 15px;
    width: 100% !important;
}

/* Form iscrizione The Space */
#riepilogo-form-container p {
    margin: 5px 0px 0px 0px;
}

#riepilogo-form-container h3 {
    text-align: center;
    border-bottom: 1px solid #e3e3e3;
    padding-bottom: 10px;
}

#riepilogo-form-container {
    border: 1px solid #ddd;
    padding: 25px !important;
    margin-top: 20px;
}

/* Layout form iscrizione new*/
@media only screen and (max-width: 768px) {
	.wpforms-page-indicator-page {
		width: 100% !important;
		margin: 5px 0px 5px 0px !important;
	}
	#riepilogo-form-si button.wpforms-page-button.wpforms-page-prev {
    margin-bottom: 15px !important;
	}
}


@media only screen and (min-width: 1025px) {
		#form-iscrizione-new .wpforms-page-indicator.circles {
		position: relative !important;
		bottom: 120px;
		width: calc(100vw - 70px) !important;
		margin: 0 auto;
		display: flex;
	}
	#form-iscrizione-new .wpforms-field-container {
		position: relative !important;
		bottom: 100px;
	}
	 #form-iscrizione-new .wpforms-page-indicator-page {
		width: 32% !important;
		text-align: center;
	}
		#form-iscrizione-new .choices__inner,
		#form-iscrizione-new .wpforms-valid,
		#form-iscrizione-new .wpforms-field-required,
		#form-iscrizione-new #wpforms-1668-field_125,
		#form-iscrizione-new #wpforms-1668-field_72, 
		#form-iscrizione-new #wpforms-1668-field_136,
	    #form-iscrizione-new #wpforms-1668-field_137,
		#form-iscrizione-new #wpforms-1668-field_84, 
		#form-iscrizione-new .wpforms-field-text .wpforms-field-large {
		border-radius: 10px !important;
		box-shadow: 0px 0px 10px #d0d0d0 !important;
		border: 0px !important;
	}
	#form-iscrizione-new div#wpforms-1668-field_65-container .wpforms-field-required {
    box-shadow: none !important;
	}
		#riepilogo-form-container {
		height: max-content !important;
	}
}

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

  /* keep your positioning (unchanged) */
  #form-iscrizione-new .wpforms-page-indicator.circles{
    position: relative !important;
    bottom: 120px;
    width: calc(100vw - 70px) !important;
    margin: 0 auto;
    display: flex;
    z-index: 5;
  }

  #form-iscrizione-new .wpforms-field-container{
    position: relative !important;
    bottom: 100px;
    overflow: visible !important;     /* ✅ important: NO scroll here */
    max-height: none !important;
  }

  /* ✅ scroll ONLY inside the current step */
  #form-iscrizione-new .wpforms-page.wpforms-page-active{
    max-height: calc(100vh - 260px);  /* adjust this number if needed */
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    padding-right: 10px;             /* avoid scrollbar overlay */
  }

  /* optional: make sure inactive steps don’t scroll */
  #form-iscrizione-new .wpforms-page:not(.wpforms-page-active){
    max-height: none;
    overflow: visible;
  }
}

.hide-campo { display:none !important;}

#form-iscrizione-new button.wpforms-page-button.wpforms-page-next,
#form-iscrizione-new button.wpforms-page-button.wpforms-page-prev,
#form-iscrizione-new button#wpforms-submit-1793 {
    border-radius: 10px;
}

        #riepilogo-form-container {
            border: 1px solid #ddd;
            padding: 10px;
            margin-top: 20px;
        }
        .field-label {
            font-weight: bold;
        }
        .field-value {
            color: #555;
        }
        #riepilogo-form-container p.riepilogo {
            text-align: center;
            font-size: 24px;
            border-bottom: 1px solid #e1e1e1;
            margin-top: 0px !important;
        }
		.field-value-price {
			font-weight:bold !important;
			color: #802144;
		}

        #riepilogo-form-container {
            border: 1px solid #ddd;
            padding: 10px;
            margin-top: 20px;
        }
        .field-label {
            font-weight: bold;
        }
        .field-value {
            color: #555;
        }
        #riepilogo-form-container p.riepilogo {
            text-align: center;
            font-size: 24px;
            border-bottom: 1px solid #e1e1e1;
            margin-top: 0px !important;
        }
		
		.prezzoconvenzione .wpforms-field-large {
   		 background-color: #dcf7d4 !important;
		}

#form-iscrizione-new .noriepilogo .wpforms-field-required {
    background-color: #fff;
    border: 0px !important;
    border-radius: 0px !important;
    box-shadow: none !important;
}	

#form-iscrizione-new .field-value {
    font-weight: 400 !important;
}

/* Login form */
.login-form .e-con>.e-con-inner {
    gap: 0px !important;
}

#form-di-registrazione .wpforms-field-required,
#form-login .wpforms-field-required{
    border-radius: 20px !important;
    box-shadow: 0px 0px 10px #d1d1d1 !important;
    border: 0px !important;
}

#form-di-registrazione #wpforms-2402-field_6{
	box-shadow: none !important;
}

/* Pagina iscrizioni */
.page-id-1602 span.wpforms-page-indicator-page-number {
    background-color: #d4d4d4 !important;
}

#logo-ente img {
    float: right;
}

/* Modulo search header */
#form-search-izeos form.is-search-form {
    width: 300px;
}

#form-search-izeos input#is-search-input-2251 {
    border-radius: 20px;
    border: 2px solid #1D588F !important;
}

#form-search-izeos .is-form-id-2251 .is-search-submit:focus, 
#form-search-izeos .is-form-id-2251 .is-search-submit:hover, 
#form-search-izeos .is-form-id-2251 .is-search-submit, 
#form-search-izeos .is-form-id-2251 .is-search-icon {
    color: #545252 !important;
    background-color: #ffffff00 !important;
    border-color: #d3d3d300 !important;
}

#form-search-izeos .is-form-id-2251 .is-search-submit path {
    fill: #1D588F !important;
}

#form-search-izeos .is-search-icon svg {
    width: 30px;
    display: inline;
}
#form-search-izeos span.is-search-icon {
    position: relative;
    right: 40px;
    bottom: 3px;
}

/* Accettazione privacy policy */
.gdpr-policy-text {
    max-height: 130px; /* Altezza fissa della casella */
    overflow-y: scroll !important; /* Abilita lo scorrimento verticale */
    border: 1px solid #ccc !important; /* Bordo per distinguere la casella */
    padding: 10px !important;
    background-color: #f9f9f9 !important;
    margin-bottom: 10px !important;
	border-radius:10px !important;
}

.gdpr-checkbox #wpforms-2402-field_12 {
    box-shadow: none !important;
}

.gdpr-checkbox label.wpforms-field-label-inline {
    font-size: 15px !important;
}
.gdpr-policy-text {
    font-size: 13px !important;
}

/* Logout popup */

#logo-ente-login {
    text-align: center;
}

/* Effetto riflesso*/
.reflection {
  position: relative;
  overflow: hidden;
}
.reflection::after {
  content: "";
  display: block;
  width: 30px;
  height: 100%;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #FFF;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflect 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflect 2s ease-in-out infinite;
}
.reflection .e-con > .e-con-inner > .elementor-widget > .elementor-widget-container,.reflection .e-con > .elementor-widget > .elementor-widget-container {
  height: auto !important;
}
.reflection.elementor-widget.elementor-widget-heading {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

@keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes reflect {
  0% { transform: scale(0) rotate(45deg); opacity: 0; }
  80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { transform: scale(4) rotate(45deg); opacity: 1; }
  100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

/* Filtro tassonomie */
.subcategory-item {
    padding-left: 10px !important;
    font-size: 14px !important;
    line-height: 15px !important;
}
/*
.subcategory-item:before {
    content: url(https://convenzioni.izeos.it/wp-content/uploads/2024/11/sottocategorie.png);
    display: inline-block;
    margin-right: 4px;
    vertical-align: middle;
    opacity: 0.2;
    position: relative;
    bottom: 5px;
}
*/
/* Pagina selezione corsi */
.elenco-corsi-item span.elementor-button-text {
    text-align: left !important;
}

/* Search Form Container */

.testata-home .is-form-id-2251 {
    position: relative;
    display: inline-flex;
    align-items: center;
    max-width: 532px;
    width: 100%;
    background: #F4F4F4 !important;
    border-radius: 5px !important;
    height: 54px !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* Label wrapper */
.testata-home .is-form-id-2251 label {
    width: 100% !important;
    margin: 0 !important;
}

/* Input field */
.testata-home .is-form-id-2251 input.is-search-input {
    height: 54px !important;
    width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 50px 0 0 !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    color: #0A1927 !important;
    box-sizing: border-box !important;
}

.testata-home .is-form-id-2251 input.is-search-input::placeholder {
    color: #666666 !important;
    opacity: 1 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
}

/* Keep background on focus/hover */
.testata-home .is-form-id-2251:hover,
.testata-home .is-form-id-2251:focus-within {
    background: #F4F4F4 !important;
}

.testata-home .is-form-id-2251 input.is-search-input:focus,
.testata-home .is-form-id-2251 input.is-search-input:hover {
    background: transparent !important;
    outline: none !important;
}

/* Search button */
.testata-home .is-form-id-2251 button.is-search-submit {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 30px !important;
    height: 30px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
}

/* Icon wrapper */
.testata-home .is-form-id-2251 .is-search-icon {
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* SVG icon */
.testata-home .is-form-id-2251 .is-search-icon svg {
    width: 30px !important;
    height: 30px !important;
}

.testata-home .is-form-id-2251 .is-search-icon svg path {
    fill: #0A1927 !important;
}

/* Hover state */
.testata-home .is-form-id-2251 button.is-search-submit:hover .is-search-icon svg path {
    fill: #3186DE !important;
}

/* Hide loader */
.testata-home .is-form-id-2251 .is-loader-image {
    display: none !important;
}

/* ===============================
   DARK SEARCH VARIANT
   Activate with .search-dark
================================ */

.search-dark .is-form-id-2251 {
  background: #132536 !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25) !important;
}

/* Input text */
.search-dark .is-form-id-2251 input.is-search-input {
  color: #ffffff !important;
}

/* Placeholder */
.search-dark .is-form-id-2251 input.is-search-input::placeholder {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Keep dark bg on hover/focus */
.search-dark .is-form-id-2251:hover,
.search-dark .is-form-id-2251:focus-within {
  background: #132536 !important;
}

/* Icon color (supports fill + stroke SVGs) */
.search-dark .is-form-id-2251 .is-search-icon svg path,
.search-dark .is-form-id-2251 .is-search-icon svg circle,
.search-dark .is-form-id-2251 .is-search-icon svg line {
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

/* Icon hover */
.search-dark .is-form-id-2251 button.is-search-submit:hover
.is-search-icon svg path,
.search-dark .is-form-id-2251 button.is-search-submit:hover
.is-search-icon svg circle,
.search-dark .is-form-id-2251 button.is-search-submit:hover
.is-search-icon svg line {
  fill: rgba(255, 255, 255, 0.85) !important;
  stroke: rgba(255, 255, 255, 0.85) !important;
}


/* Pagina elenco corsi loop */
.categoria-corso-loop {
    width: max-content !important;
}

.loop-corsi-thumb {
	height: auto !important;
}
/* Nascondi i wrapper di default */
.subcategory-wrapper {
    display: none;
}

/* Stile per le categorie principali */
.e-filter-item.category-item {
    cursor: pointer;
    font-weight: bold;
    margin-bottom: 10px;
}

/* Margine per le sottocategorie */
.e-filter-item.subcategory-item {
    margin-left: 20px;
}


/* Pagina iscrizione corsi */
.prezzolistino input,
.nomecorso-auto input,
.livello input {
    background-color: #f7f7f7 !important;
    color: black !important;
}

/* Filter Container */
.filtri-corsi search.e-filter {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
}

/* Reset all filter items */
.filtri-corsi button.e-filter-item {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px !important;
    line-height: 28px !important;
    width: 100% !important;
    box-shadow: none !important;
    position: relative !important;
    display: block !important;
}

/* Category items (main headers) */
.filtri-corsi button.e-filter-item.category-item {
    font-weight: 600 !important;
    color: #000000 !important;
    text-transform: none !important;
    padding: 16px 6px 16px 0 !important;
    border: none !important;
    border-bottom: 2px solid #DCE4EA !important;
    text-align: left !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* Arrow icon for categories */
.filtri-corsi button.e-filter-item.category-item::after {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath fill='none' stroke='%23000000' stroke-width='2' d='M1 1l6 6 6-6'/%3E%3C/svg%3E");
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    transition: transform 0.3s ease !important;
}

/* Arrow rotates when expanded */
.filtri-corsi button.e-filter-item.category-item.is-expanded::after {
    transform: translateY(-50%) rotate(180deg) !important;
}

/* Subcategory items */
.filtri-corsi button.e-filter-item.subcategory-item {
    font-weight: 400 !important;
    color: #000000 !important;
    padding: 10px 0 !important;
    background: transparent !important;
    border: none !important;
    text-align: left !important;
    display: none !important; /* Hidden by default */
}

/* Show subcategories when category is expanded */
.filtri-corsi button.e-filter-item.category-item.is-expanded + .subcategory-item,
.filtri-corsi button.e-filter-item.subcategory-item.is-visible {
    display: block !important;
}

/* Remove pseudo elements from subcategories */
.filtri-corsi button.e-filter-item.subcategory-item::after,
.filtri-corsi button.e-filter-item.subcategory-item::before {
    display: none !important;
    content: none !important;
}

/* Subcategory hover */
.filtri-corsi button.e-filter-item.subcategory-item:hover {
    color: #8B0606 !important;
}

/* Active/selected subcategory */
.filtri-corsi button.e-filter-item.subcategory-item[aria-pressed="true"] {
    color: #8B0606 !important;
    font-weight: 600 !important;
}

/* Remove focus outlines */
.filtri-corsi button.e-filter-item:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Hide any theme icons */
.filtri-corsi button.e-filter-item svg,
.filtri-corsi button.e-filter-item i {
    display: none !important;
}

/* Categoria corso badges */
.categoria-corso-badges {
    display: inline-flex;
    align-items: center;
    gap: 10px;
	flex-wrap: wrap;
}

.categoria-badge {
    display: inline-block;
    font-family: 'Open Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 28px;
    padding: 1px 16px 3px 16px;
    border-radius: 20px;
    white-space: nowrap;
}

/* Parent - dark pill */
.categoria-badge.parent {
    background-color: #0A1927;
    color: #FFFFFF;
}

/* Child - white pill with dark border */
.categoria-badge.child {
    background-color: #FFFFFF;
    color: #0A1927;
    border: 1px solid #0A1927;
}

/* ========================================
   STEPPER / PAGE INDICATOR
   ======================================== */

#form-iscrizione-new .wpforms-page-indicator.circles {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 40px !important;
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

#form-iscrizione-new .wpforms-page-indicator-page {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Step circles - base */
#form-iscrizione-new .wpforms-page-indicator-page-number {
    width: 59px !important;
    height: 59px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    background-color: #9E9E9E !important;
    color: #FFFFFF !important;
    line-height: 1 !important;
    box-shadow: none !important;
    border: none !important;
}

/* Step circles - active */
#form-iscrizione-new .wpforms-page-indicator-page.active .wpforms-page-indicator-page-number {
    background-color: #0A1927 !important;
}

/* Step title - base */
#form-iscrizione-new .wpforms-page-indicator-page-title {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    color: #9E9E9E !important;
    letter-spacing: 0.5px !important;
}

/* Step title - active */
#form-iscrizione-new .wpforms-page-indicator-page.active .wpforms-page-indicator-page-title {
    color: #1A2B3C !important;
}

/* Hide the inner span if any */
#form-iscrizione-new .wpforms-page-indicator-page-title span {
    display: none !important;
}

/* ========================================
   FORM FIELDS
   ======================================== */

#form-iscrizione-new .wpforms-field-label,
#form-iscrizione-new .wpforms-field legend.wpforms-field-label {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #1A2B3C !important;
    margin-bottom: 8px !important;
}

#form-iscrizione-new .wpforms-field-large,
#form-iscrizione-new .wpforms-field input[type="text"],
#form-iscrizione-new .wpforms-field input[type="email"],
#form-iscrizione-new .wpforms-field input[type="tel"],
#form-iscrizione-new .wpforms-field textarea,
#form-iscrizione-new .choices__inner {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    color: #1A2B3C !important;
    background-color: #E8E8E8 !important;
    border: none !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    height: auto !important;
    width: 100% !important;
}

#form-iscrizione-new .wpforms-field input[type="text"],
#form-iscrizione-new .wpforms-field input[type="email"],
#form-iscrizione-new .wpforms-field input[type="tel"],
#form-iscrizione-new .wpforms-field textarea,
#form-iscrizione-new .wpforms-field-address .wpforms-field-row.wpforms-field-large div
{
    padding: 14px 16px !important;
}

/* Prezzo in Convenzione - green background */
#form-iscrizione-new .prezzoconvenzione input {
    background-color: #D5EDDA !important;
    color: #2D6A4F !important;
}

/* Select/Dropdown */
#form-iscrizione-new .choices__inner {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
}

#form-iscrizione-new .choices__list--single .choices__item {
    font-size: 14px !important;
}

#form-iscrizione-new .choices[data-type*="select-one"]::after {
    right: 16px !important;
}

/* ========================================
   RIEPILOGO SUMMARY BOX
   ======================================== */

#riepilogo-form-container {
    background-color: #FFFFFF !important;
    border: 2px solid #DCE4EA !important;
    border-radius: 8px !important;
    padding: 20px 24px !important;
    font-family: 'Open Sans', sans-serif !important;
    box-shadow: none !important;
}

#riepilogo-form-container p.riepilogo {
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #1A2B3C !important;
    text-align: left !important;
    border-bottom: none !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
}

#riepilogo-form-container p {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #1A2B3C !important;
    margin: 0 !important;
    padding: 3px 0 !important;
}

#riepilogo-form-container .field-label {
    font-weight: 700 !important;
    color: #1A2B3C !important;
}

#riepilogo-form-container .field-value {
    font-weight: 400 !important;
    color: #1A2B3C !important;
}

/* No special highlight - same style as others */
#riepilogo-form-container .field-label.highlight {
    font-weight: 700 !important;
    color: #1A2B3C !important;
}

#riepilogo-form-container .field-value.highlight {
    font-weight: 400 !important;
    color: #1A2B3C !important;
}

/* ========================================
   BUTTONS
   ======================================== */

@media (min-width: 1100px) {
	#form-iscrizione-new .wpforms-submit-container {
		position: absolute;
		bottom: 5.85%;
		left: 145px;
	}
}

#form-iscrizione-new button.wpforms-page-button , #form-iscrizione-new .wpforms-submit-container .wpforms-submit {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    background-color: #FFFFFF !important;
    color: #1A2B3C !important;
    border: 2px solid #1A2B3C !important;
    border-radius: 25px !important;
    padding: 10px 24px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1.2 !important;
}

#form-iscrizione-new button.wpforms-page-button:hover, #form-iscrizione-new .wpforms-submit-container .wpforms-submit:hover {
    background-color: #1A2B3C !important;
    color: #FFFFFF !important;
}

/* ========================================
   RATEIZZAZIONE TEXT
   ======================================== */

#form-iscrizione-new .wpforms-field-html div,
#form-iscrizione-new .wpforms-field-html div b {
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #000000 !important;
}

/* ========================================
   MOBILE RESPONSIVE
   ======================================== */

@media only screen and (max-width: 768px) {
    #form-iscrizione-new .wpforms-page-indicator.circles {
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    #form-iscrizione-new .wpforms-page-indicator-page {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

/* =========================================================
   FIX STEPPER MOBILE (compact + clean)
   Put this at the END of your CSS
   ========================================================= */
@media only screen and (max-width: 768px) {

  /* Stepper container */
  #form-iscrizione-new .wpforms-page-indicator.circles{
    position: relative !important;
    bottom: 0 !important;                 /* stop weird shifting on mobile */
    width: 100% !important;
    margin: 0 0 18px 0 !important;
    padding: 0 12px !important;
    display: flex !important;
    flex-direction: row !important;        /* ✅ horizontal */
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
  }

  /* Each step item */
  #form-iscrizione-new .wpforms-page-indicator-page{
    width: auto !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;     /* number on top, label under */
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Circle size */
  #form-iscrizione-new .wpforms-page-indicator-page-number{
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }

  /* Title: keep it small + wrap normally (no vertical letters) */
  #form-iscrizione-new .wpforms-page-indicator-page-title{
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    max-width: 100% !important;
	height: 44px;
  }

  /* IMPORTANT: you had this which hides titles completely */
  /* Remove/override it */
  #form-iscrizione-new .wpforms-page-indicator-page-title span{
    display: inline !important;
  }

  /* Your form container shift breaks mobile. Reset it here. */
  #form-iscrizione-new .wpforms-field-container{
    bottom: 0 !important;
    position: relative !important;
  }
}

div.wpforms-container-full .wpforms-form .wpforms-pagebreak-left {
	display: flex;
}

.elementor-element .wpforms-container {
  align-self: flex-start;
}

.e-filter-item[aria-pressed="true"] {
	color: #e19600 !important;
}