form{background-color: #FFF; padding:50px}
.elementor-shortcode h2 {color: #333333;font-family: "Poppins", Sans-serif;font-size: 44px;font-weight: 700;border-style: none;margin-right: 0px;margin-bottom: 30px;}
.elementor-shortcode .confirmation p {font-family: "Poppins", Sans-serif; font-size: 24px;}
.elementor-shortcode button {padding: 10px 30px; margin-top: 30px; background: var(--e-global-color-primary); border: none; color: #fff; display: block; }

.elementor-shortcode input, .elementor-shortcode input[type="phone"], .elementor-shortcode textarea {padding: 10px 20px;margin: 5px;border: 2px solid rgba(0,0,0,0.1)}
.elementor-shortcode input:active, .elementor-shortcode input:focus, .elementor-shortcode textarea:focus {padding: 10px 20px;margin: 5px;border: 2px solid rgba(0,0,0,0.8)}
/* Style uniquement les labels liés aux inputs, sauf dans .no-button */
.elementor-shortcode div:not(.no-button) input[type="radio"] + label,
.elementor-shortcode div:not(.no-button) input[type="checkbox"] + label {
    background: transparent;
    border: 3px solid var(--e-global-color-primary);
    width: fit-content;
    padding: 10px 20px;
    margin: 5px;
    border-radius: 5px;
    color: var(--e-global-color-primary);
    font-weight: 600;
    cursor: pointer;
}

/* Style checked state */
.elementor-shortcode div:not(.no-button) input[type="radio"]:checked + label,
.elementor-shortcode div:not(.no-button) input[type="checkbox"]:checked + label {
    background: var(--e-global-color-primary);
    color: #fff;
}

/* Inputs rendus invisibles mais clicables */
input[type="radio"],
div:not(.no-button)>input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    margin: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
}

/* Positionnement du container, sauf pour .no-button */
.elementor-shortcode div:has(> input[type="radio"]),
.elementor-shortcode div:not(.no-button):has(> input[type="checkbox"]) {
    display: inline-block;
    position: relative;
}

/* Optional: exclude layout behavior from .no-button divs */
.elementor-shortcode div.no-button {
    display: block;
    position: static;
}


#progress-bar-container {
     width: 100%;
     background-color: #f3f3f3;
     border-radius: 20px;
     margin-bottom: 20px;
 }

 #progress-bar {
     height: 20px;
     width: 0;
     background-color: var(--e-global-color-primary);
     border-radius: 20px;
     text-align: right;
     line-height: 20px;
     color: white;
     font-weight: bold;
     transition: width 0.5s ease;
     padding-right:20px;
     font-size: 12px;
 }
 
 #step-number {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
 }
 .personnes, #revenu-options{
    display: flex;
    justify-content: space-between;
 }
 .personnes div, #revenu-options div{
    width: fit-content;
 }

 .revenu{
    display: inline-block;
 }
 .column{
    display: flex;
    flex-direction: column;
 }
 .label-revenu{
    padding: 10px !important;
    font-size: 17px;
 }

/* Styles responsives */
@media (max-width: 732px) {
   .personnes, #revenu-options{
      flex-wrap: wrap;
      justify-content: left;
   }
}
