.contact__wrp .wpforms-form,
.contact__wrp .wpforms-confirmation-container,
.contact__wrp .form-locked-message {
    width: clamp(300px, 80vw, 772px);
    margin: 0 auto;
}
.contact__wrp .wpforms-confirmation-container {
    margin-top: -46px;
}
.contact__wrp .wpforms-container {
    margin-bottom: 80px;
}
.contact__wrp input:not([type="submit"], [type="reset"], [type="button"], [type="radio"], [type="checkbox"]),
.contact__wrp select,
.contact__wrp textarea,
.contact__wrp .choices,
.contact__wrp .wpforms-uploader {
    margin: 20px !important;
    position: relative;
    max-width: calc(100% - 40px) !important;
    padding-left: 16px;
    padding-right: 16px;
    padding-top: 8px;
}
.contact__wrp input::placeholder,
.contact__wrp select::placeholder,
.contact__wrp textarea::placeholder {
    color: #C8C6C6;
}
.contact__wrp .wpforms-field {
    position: relative;
    --wpforms-label-error-color: #E64444;
}
.contact__wrp .wpforms-container .wpforms-form .wpforms-field-label {
    margin-bottom: 32px;
}
.contact__wrp .wpforms-container .wpforms-form .wpforms-field-name .wpforms-field-label {
    margin-bottom: 12px;
}
.contact__wrp .wpforms-container .wpforms-field {
    padding-top: 16px;
    padding-bottom: 16px;
}
.contact__wrp .wpforms-container .wpforms-field.hidden-field,
.contact__wrp .wpforms-container .wpforms-field.hidden.year {
    display: none !important;
}
.contact__wrp .wpforms-field:not(.wpforms-field-pagebreak, .wpforms-field-radio, .cgv__main)::before {
    content: "";
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    bottom: 10px;
    width: 100%;
    height: auto;
    background-color: #E9ECE1;
    border-radius: 10px;
    z-index: -1;
}
.contact__wrp .wpforms-container .wpforms-required-label {
    font-weight: 900;
}
.contact__wrp .choices {
    padding-left: 0;
}
.contact__wrp .wpforms-container .wpforms-form .choices .choices__inner {
    min-height: 51px;
    border: 1px solid #E9ECE1;
}
.contact__wrp .wpforms-container .wpforms-form em.wpforms-error {
    margin: -10px 0 0 20px;
}
.contact__wrp .wpforms-container .wpforms-form .wpforms-field-layout-rows em.wpforms-error {
    margin-top: 0;
}
.contact__wrp .wpforms-container .wpforms-form .wpforms-field-layout-rows .wpforms-layout-row:nth-child(n+3) em.wpforms-error {
    margin-bottom: 10px;
}

.contact__wrp .wpforms-container .wpforms-submit-container {
    text-align: right;
    margin-top: 17px;
    display: inline-block;
    float: right;
}

.contact__wrp div.wpforms-container .wpforms-form .choices[data-type*="select-one"] {
    padding: 0;
}
.contact__wrp div.wpforms-container .wpforms-form .choices[data-type*="select-one"]:after {
    inset-inline-end: 33.5px;
    top: calc(50% + 5px);
}

.contact__wrp .wpforms-confirmation-container p.btns button {
    margin-left: 20px;
}

@media only screen and (max-width: 768px) {
    .contact__wrp .wpforms-form,
    .contact__wrp .wpforms-confirmation-container {
        width: calc(100% - 32px);
        max-width: 600px;
    }
}

@media only screen and (max-width: 600px) {
    body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-row:not(:has(.wpforms-field-stripe-credit-card)) {
        flex-direction: row;
    }
    body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column-50 {
        width: 50%;
    }
    body div.wpforms-container .wpforms-form .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern):not(.wpforms-field-radio):not(.wpforms-field-checkbox):not(.wpforms-field-layout):not(.wpforms-field-repeater) {
        overflow: initial;
    }
}

/* fil ariane form */
body .wpforms-container .wpforms-page-indicator.circles {
    border: none;
    padding: 0;
    margin-bottom: 33px;
    padding-top: 5px;
    justify-content: space-between;
}
body .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4.5px;
    position: relative;
}
body .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page-number {
    position: relative;
    width: 22px;
    height: 22px;
    font-family: Rosarivo, serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;  
    margin: 0;
    line-height: 1.3;
    background-color: #E9ECE1;
    color: #fff;
}
body .wpforms-page-indicator-page-title {
    font-size: 14px;
    font-weight: 400;
}
body .active .wpforms-page-indicator-page-title {
    font-weight: 600;
    color: #97AA83;
}
body .wpforms-container .wpforms-page-indicator.circles .active .wpforms-page-indicator-page-number::before {
    content: "";
    border: 1px solid #97AA83;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-49%, -50.5%);
}
body .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page:not(:last-child) .wpforms-page-indicator-page-number::after {
    content: "";
    width: calc( ( clamp(300px, 80vw, 772px) / 3 ) + 55px );
    height: 1px;
    background-color: #E9ECE1;
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translate(0%, -50%);
}
body .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page:nth-child(2) .wpforms-page-indicator-page-number::after {
    width: calc( ( clamp(300px, 80vw, 772px) / 3 ) + 46px );
    left: 29px;
}
body .wpforms-container .wpforms-page-indicator[aria-valuenow="2"] .wpforms-page-indicator-page:nth-child(1) .wpforms-page-indicator-page-number::after {
    background-color: #97AA83;
}
body .wpforms-container .wpforms-page-indicator[aria-valuenow="3"] .wpforms-page-indicator-page:nth-child(2) .wpforms-page-indicator-page-number::after {
    background-color: #97AA83;
}

@media only screen and (max-width: 768px), only screen and (max-width: 600px) {
    body .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page {
        display: flex !important;
        margin: 0 !important;
    }
    body .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page:not(:last-child) .wpforms-page-indicator-page-number::after {
        left: 34px;
        width: 29vw;
    }
    body .wpforms-container .wpforms-page-indicator.circles .wpforms-page-indicator-page:nth-child(2) .wpforms-page-indicator-page-number::after {
        width: 27vw;
        left: 33px;
    }
}
/* fin fil ariane form */

/* field html */
.contact__wrp .wpforms-field.wpforms-field-html::before,
body .wpforms-field.wpforms-field-radio::before {
    content: none;
}
body .wpforms-field-html h2 {
    margin-top: 4px;
    margin-bottom: 20px;
}
body .wpforms-field-html p:last-child {
    margin-bottom: 0;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout>.wpforms-field-label {
    border: none;
    font-family: Raleway, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    padding: 0;
    margin: 0 0 12px;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column {
    padding: 0;
    margin: 0;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field {
    padding: 0;
    margin: 0;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column:nth-child(odd) .wpforms-field input {
    margin-right: 10px !important;
    max-width: calc(100% - 30px) !important;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column:nth-child(odd):nth-child(3) .wpforms-field input {
    margin-right: 20px !important;
    margin-left: 10px !important;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column:nth-child(even) .wpforms-field input {
    margin-left: 10px !important;
    max-width: calc(100% - 30px) !important;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column:nth-child(even):not(:last-child) .wpforms-field input {
    max-width: calc(100% - 20px) !important;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-row {
    margin: 0;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-row:not(:last-child) .wpforms-layout-column .wpforms-field input {
    margin-bottom: 0 !important;
}
.wpforms-container .wpforms-field.attach-previous {
    padding-top: 0;
}
.wpforms-container .wpforms-field.attach-previous input {
    margin-top: -15px !important;
    width: calc(100% - 40px);
}
.wpforms-container .wpforms-field.attach-previous::before {
    top: -10px;
    bottom: 15px;
}
.contact__wrp .wpforms-field.wpforms-field-layout::before {
    top: 52px;
    left: 0;
    right: 0;
    bottom: 15px;
}
.contact__wrp .wpforms-field.wpforms-field-layout:has(.wpforms-field-stripe-credit-card)::before {
    bottom: -3px;
    top: 45px;
}
.contact__wrp .wpforms-container .wpforms-form .wpforms-field-stripe-credit-card .wpforms-field-label {
    margin-bottom: 16px;
}

/* Radio inline */
body .wpforms-field-radio.wpforms-list-inline ul {
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 16px;
}
body .wpforms-field-radio.wpforms-list-inline.really-inline ul {
    justify-content: flex-start;
    margin-top: 12px;
}
body .wpforms-field-radio.wpforms-list-inline li {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    gap: 8px;
}
body .wpforms-field-radio.wpforms-list-inline input[type="radio"] {
    width: 28px;
    height: 28px;
    accent-color: #7e8c6f;
    margin: 0;
    padding-left: 2px;
}
body .wpforms-field-radio.wpforms-list-inline + .wpforms-field-textarea {
    padding-top: 0;
    margin-top: 0;
}
body .wpforms-field-radio.wpforms-list-inline + .wpforms-field-textarea textarea {
    height: 90px;
    margin-top: 16px !important;
    width: calc(100% - 40px);
}
body .wpforms-field-radio.wpforms-list-inline + .wpforms-field-textarea::before {
    top: -20px;
    bottom: 16px;
}

@media only screen and (min-width: 769px) {
    body .wpforms-field-radio.wpforms-list-inline:not(.really-inline) fieldset legend {
        float: left;
    }
}

@media only screen and (max-width: 768px) {
    body .wpforms-field-radio.wpforms-list-inline ul {
        justify-content: flex-start;
        margin-top: 6px;
    }
}
/* Fin radio inline */

/* Suivante/précédent */
.wpforms-pagebreak-left {
    text-align: right;
}
.wpforms-pagebreak-left button,
.wpforms-submit {
    position: relative;
    padding-top: var(--button_padding-top, 13px);
    padding-right: var(--button_padding-right, 29px);
    padding-bottom: var(--button_padding-bottom, 13px);
    padding-left: var(--button_padding-left, 29px);
    line-height: var(--button_line_height, 1);
    font-size: var(--button_font_size, 14px);
    background: var(--button_gradient_top_color);
    color: var(--button_accent_color);
    border-radius: var(--button-border-radius-top-left, 0) var(--button-border-radius-top-right, 0) var(--button-border-radius-bottom-right, 0) var(--button-border-radius-bottom-left, 0);
    text-transform: var(--button_text_transform);
    border-width: 1px;
    border-color: var(--button_border_color);
    border-style: solid;
    transition: all .2s;
    cursor: pointer;
}
.wpforms-pagebreak-left button.wpforms-page-prev {
    --button_gradient_top_color: #fff;
    --button_gradient_top_color_hover: #97AA83;
    --button_accent_color: #97AA83;
    --button_accent_hover_color: #fff;
    --button_border_color: #97AA83;
    --button_border_hover_color: #97AA83;
    margin-right: 20px;
}
.wpforms-pagebreak-left button:hover,
.wpforms-submit:hover {
    background: var(--button_gradient_top_color_hover);
    color: var(--button_accent_hover_color, var(--button_accent_color));
    border-color: var(--button_border_hover_color);
}
.wpforms-pagebreak-left button:not(.wpforms-page-prev)::after,
.wpforms-submit::after {
    content: "";
    position: absolute;
    left: 2px;
    right: 2px;
    bottom: -8px;
    border-bottom: 1px solid var(--button_gradient_top_color);
    transition: all 300ms ease;
  }
  .wpforms-pagebreak-left button:hover::after,
  .wpforms-submit:hover::after {
    border-bottom-color: var(--button_gradient_top_color_hover);
    transform: translateY(-2px) scaleX(.98);
  }
/* Fin suivante/précédent */

body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-html:first-child {
    margin-top: 15px;
    margin-left: 20px;
    margin-bottom: -10px;
}

body .wpforms-container textarea.wpforms-field-large {
    height: 90px;
}

.contact__wrp .wpforms-container .wpforms-form .wpforms-field-radio .wpforms-field-label {
    margin-bottom: 0;
}

/* Radio sous forme de boutons */
.formule fieldset ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Masquez les boutons radio */
body .radio-buttons-as-buttons input[type="radio"] {
    display: none;
}

/* Style des labels pour ressembler à des boutons */
body .radio-buttons-as-buttons label {
    display: inline-block;
    background-color: #fff;
    padding: 8px 16px;
    margin-right: 5px;
    border: 1px solid #97AA83;
    cursor: pointer;
    border-radius: 4px;
    color: #97AA83;
    margin: 0;
    text-transform: uppercase;
}
body .wpforms-field-radio.wpforms-list-inline.radio-buttons-as-buttons ul {
    gap: 0;
}
body .radio-buttons-as-buttons li:first-child label {
    border-radius: 4px 0 0 4px;
}
body .radio-buttons-as-buttons li:last-child label {
    border-radius: 0 4px 4px 0;
}

/* Style du label lorsque le bouton radio est sélectionné */
body .radio-buttons-as-buttons input[type="radio"]:checked + label {
    background-color: #97AA83;
    color: #fff;
}

/* Effet au survol */
body .radio-buttons-as-buttons label:hover {
    background-color: #97AA83;
    color: #fff
}

/* Liste des saisons */
.wpforms-field-radio.saisons ul,
.wpforms-field-radio.stages ul[id^="wpforms-"],
.wpforms-field-radio.ecoles ul,
.wpforms-field-radio.lbs__choices ul {
    padding-left: 0;
    display: flex;
    align-items: stretch;
    gap: 20px;
    list-style: none;
    margin: 12px 0 0 0;
    padding: 20px;
    border-radius: 10px;
    background-color: #E9ECE1;
}
.wpforms-field-radio.stages ul,
.wpforms-field-radio.lbs__choices ul {
    flex-wrap: wrap;
}
.wpforms-field-radio.saisons ul li,
.wpforms-field-radio.stages ul li,
.wpforms-field-radio.ecoles ul li,
.wpforms-field-radio.lbs__choices ul li {
    flex: 1;
}
.wpforms-field-radio.lbs__choices ul li {
    min-width: calc( 25% - (20px * 3) / 4 );
}
.wpforms-field-radio.stages ul li,
.wpforms-field-radio.programmes ul li {
    min-width: calc( 33% - (20px * 2) / 3 );
    max-width: calc( 33% - (20px * 2) / 3 );
}
.wpforms-field-radio.stages ul li label,
.wpforms-field-radio.ecoles ul li label,
.wpforms-field-radio.saisons ul li label,
.wpforms-field-radio.lbs__choices ul li label {
    display: inline-flex;
    height: 100%;
    width: 100%;
}
#wpforms-14204-field_85-container,
#wpforms-15399-field_85-container {
    display: none !important;
}
.wpforms-container .wpforms-field-radio.saisons input[type=radio],
.wpforms-container .wpforms-field-radio.stages input[type=radio],
.wpforms-container .wpforms-field-radio.ecoles input[type=radio],
.wpforms-container .wpforms-field-radio.lbs__choices input[type=radio] {
    display: none;
}

.wpforms-field-radio.saisons .saison-option,
.wpforms-field-radio.stages .stage-option,
.wpforms-field-radio.ecoles .ecole-option,
.wpforms-field-radio.lbs__choices .lbs__option {
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    padding: 8px;
    border-radius: 10px;
    border: 1px solid #97AA83;
    background-color: #fff;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
}

.wpforms-field-radio.ecoles .ecole-option {
    padding-top: 32px;
    padding-bottom: 15px;
}

.wpforms-field-radio.programmes .programme-option {
    padding-top: 32px;
}


.wpforms-field-radio.saisons .saison-option::before,
.wpforms-field-radio.stages .stage-option::before,
.wpforms-field-radio.ecoles .ecole-option::before,
.wpforms-field-radio.lbs__choices .lbs__option::before {
    content: "";
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    background: url("../img/check.svg") no-repeat;
    background-size: contain;
    opacity: 0;
    transition: opacity 0.3s;
}
.wpforms-field-radio.saisons input:checked + label .saison-option,
.wpforms-field-radio.stages input:checked + label .stage-option,
.wpforms-field-radio.ecoles input:checked + label .ecole-option,
.wpforms-field-radio.lbs__choices input:checked + label .lbs__option {
    background-color: #97AA83;
    color: #fff;
    border-color: transparent;
}
.wpforms-field-radio.saisons input:checked + label .saison-option::before,
.wpforms-field-radio.stages input:checked + label .stage-option::before,
.wpforms-field-radio.ecoles input:checked + label .ecole-option::before,
.wpforms-field-radio.lbs__choices input:checked + label .lbs__option::before {
    opacity: 1;
}
.wpforms-field-radio.saisons .saison-disabled .saison-option,
.wpforms-field-radio.stages .stage-disabled .stage-option,
.wpforms-field-radio.ecoles .ecole-disabled .ecole-option,
.wpforms-field-radio.lbs__choices li.disabled .lbs__option {
    background-color: transparent;
    cursor: not-allowed;
}

.wpforms-field-radio.saisons .saison-option img {
    width: 62px;
    height: 62px;
    object-fit: contain;
    margin-top: 28px;
    margin-bottom: 4px;
}

.wpforms-field-radio.saisons .saison-details,
.wpforms-field-radio.ecoles .ecole-details,
.wpforms-field-radio.programmes .programme-details {
    display: flex;
    flex-direction: column;
}

.wpforms-field-radio.saisons .saison-name,
.wpforms-field-radio.stages .stage-name,
.wpforms-field-radio.ecoles .ecole-name,
.wpforms-field-radio.programmes .programme-name {
    font-family: "Giarek", serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.wpforms-field-radio.saisons .saison-state,
.wpforms-field-radio.programmes .programme-ages {
    font-family: Raleway, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 300;
}

.wpforms-field-radio.programmes .programme-ages {
    text-transform: uppercase;
}

.wpforms-field-radio.ecoles .ecole-address {
    font-family: Rosarivo, serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}

/* Samedis */
.wpforms-field-radio.lbs__choices.samedis ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Trois colonnes */
    gap: 25px; /* Espacement entre les items */
}

.wpforms-field-radio.lbs__choices.samedis ul li {
    width: 100%;
}
.wpforms-field-radio.lbs__choices.samedis .details {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.lbs__choices.samedis .state {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}
.lbs__choices.samedis .name {
    font-family: "Giarek", serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.samedi__desc {
    position: relative;
    display: none;
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 8px;
}
.samedi__desc::before,
.samedi__desc::after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #E9ECE1;
    border-radius: 50%;
    position: absolute;
    top: -7px;
    left: -7px;
    transform: translate(-50%,-50%);
    z-index: 5;
}
.samedi__desc::after {
    left: auto;
    right: -20px;
}
.samedi__desc p::before {
    content: "";
    background-image: linear-gradient(to right, #E9ECE1 63%, rgba(255, 255, 255, 0) 0%);
    background-position: bottom;
    background-size: 13px 1px;
    background-repeat: repeat-x;
    width: 100%;
    height: 1px;
    position: absolute;
    top: -8px;
    left: 0;
    z-index: 3;
}
.samedi__desc p {
    margin-bottom: 0 !important;
}

.wpforms-field-radio.lbs__choices.samedis input:checked + label .lbs__option .details {
    padding-bottom: 29px;
}
.wpforms-field-radio.lbs__choices.samedis input:checked + label .lbs__option .samedi__desc {
    display: block;
}

.wpforms-field-radio.lbs__choices .lbs__option.option-samedi {
    padding-top: 32px;
    padding-bottom: 16px;
}
.option-samedi img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    margin-bottom: 8px;
}

.wpforms-field-radio.lbs__choices.samedis li:has(input:checked)  {
    grid-column: span 1; 
    grid-row: span 2;
}

/* Fin samedi */

@media only screen and (max-width: 768px) {
    .wpforms-field-radio.lbs__choices.samedis ul {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-flow: dense;
        gap: 8px;
    }
    .wpforms-field-radio.lbs__choices.samedis li:has(input:checked)  {
        grid-column: span 2; 
        grid-row: span 1;
    }
    .wpforms-field-radio.lbs__choices.samedis li:last-child:nth-child(odd) {
        grid-column: span 2; 
        grid-row: span 1;
    }
}
/* Fin samedi */

/* upload file */
.wpforms-field.wpforms-field-file-upload {
    display: flex;
    flex-direction: column;
}
div.wpforms-container div.wpforms-uploader {
    order: 1;
}
.wpforms-field.wpforms-field-file-upload .wpforms-field-description {
    padding: 0 20px;
    margin: 0 0 -4px;
}

.contact__wrp .wpforms-field.wpforms-field-checkbox {
    padding-bottom: 32px;
}
.contact__wrp .wpforms-field.wpforms-field-checkbox::before {
    background-color: transparent;
    border: 1px solid #97AA83;
    height: 60px;
}
.contact__wrp .wpforms-field.wpforms-field-checkbox:has(input[type="checkbox"]:checked)::before {
    background-color: #E9ECE1;
}
.contact__wrp .wpforms-container .wpforms-form .wpforms-field.wpforms-field-checkbox .wpforms-field-label {
    margin-bottom: 26px;
}
.contact__wrp .wpforms-field.wpforms-field-checkbox ul {
    list-style: none;
    padding: 0 20px;
}
.contact__wrp .wpforms-field.wpforms-field-checkbox input[type="checkbox"] {
    accent-color: #7e8c6f;;
}

/* Style pour les options de stage */
.wpforms-field-radio.stages .stage-option {
    padding: 36px 8px 16px 22.5px;
}

.wpforms-field .stage-option img, 
.wpforms-field-radio.saisons .saison-option img {
  width: 59px;
  height: 59px;
  min-width: 59px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  margin-bottom: 4px;
  margin-right: 5px;
  border-radius: 50%;
  overflow: hidden;
}

.wpforms-field .ecole-option img {
    width: 93px;
    height: 97px;
    object-fit: contain;
    margin-bottom: 4px;
}

.wpforms-field .programme-option img {
    width: 65px;
    height: 60px;
    object-fit: contain;
    margin-bottom: 0;
}

.wpforms-field .stage-details {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 100%;
    text-align: center;
}

.wpforms-field .stage-name {
    font-weight: bold;
    font-size: 16px;
}

.wpforms-field .stage-age {
    position: absolute;
    top: 8px;
    left: 8px;
    font-size: 14px;
    padding: 4px 12px;
    background-color: #E9ECE1;
    border-radius: 0 12px 12px 0;
    line-height: 150%;
    color: var(--body_typography-color);
}

.wpforms-field .stage-date,
.wpforms-field .stage-dates {
    font-size: 14px;
    font-weight: 300;
}
.wpforms-field ul.stage-dates {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
}
.wpforms-field ul.stage-dates li {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 2px 10px;
    transition: color 0.3s;
    cursor: pointer;
}
.wpforms-field ul.stage-dates li span {
    position: relative;
    z-index: 1;
}
.wpforms-field ul.stage-dates li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-color: transparent;
    border-radius: 4px;
    transition: background-color 0.3s;
    z-index: 0;
}
.wpforms-field ul.stage-dates li:hover {
    color: #fff;
}
.wpforms-field ul.stage-dates li:hover::before {
    background-color: #97AA83;
}
.wpforms-field-radio.stages input:checked + label .stage-option ul.stage-dates li:hover,
.wpforms-field-radio.stages input:checked + label .stage-option ul.stage-dates li.selected {
    color: #97AA83;
}
.wpforms-field-radio.stages input:checked + label .stage-option ul.stage-dates li:hover::before,
.wpforms-field-radio.stages input:checked + label .stage-option ul.stage-dates li.selected::before {
    background-color: #fff;
}

.wpforms-field .stage-dates-indicator {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 12px;
}

.wpforms-field .stage-disabled,
.wpforms-field .ecole-disabled,
.wpforms-field .samedi-disabled {
    /* opacity: 0.6; */
    cursor: not-allowed;
}

.wpforms-field .stage-disabled input,
.wpforms-field .ecole-disabled input {
    pointer-events: none;
}

body .wpforms-container .horaires::before {
    content: none !important;
}
body .wpforms-container .horaires textarea.wpforms-field-large {
    display: none;
}
.contact__wrp .wpforms-container .wpforms-form .horaires  .wpforms-field-label {
    margin-bottom: 8px;
}
.horaires-table {
    width: 100%;
}
.horaires-table th,
.horaires-table td {
    width: 16.66%;
    border: 8px solid #fffdfa;
}
.horaires-table td {
    position: relative;
    background: transparent;
    height: 75px;
    min-height: 75px;
    color: #fff;
    text-align: center;
    font-weight: 300;
}
.horaires-table th {
    font-family: Rosarivo;
    background: transparent;
    padding: 8px 0;
    text-align: center;
    font-size: 18px;
}
.horaires-table td::before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    background: #E9ECE1;
    border-radius: 8px;
    z-index: -1;
    position: absolute;
    top: 0;
    left: 0;
}
.horaires-table td button {
    width: 100%;
    border-radius: 8px;
    border: 1px solid #97AA83;
    background: #FFF;
    color: #97AA83;
    cursor: pointer;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: Raleway, sans-serif;
    font-size: 12px;
    font-style: normal;
    padding: 0 5px;
    line-height: 175%;
}
.horaires-table td button:disabled {
    background: transparent;
    cursor: not-allowed;
}
.horaires-table td button strong {
    font-size: 16px;
    font-weight: 400;
}
.horaires-table td button.selected {
    background: #97AA83;
    color: #FFF;
}

@media only screen and (min-width: 769px) {
    .wpforms-field-radio.stages ul:has(li.stage:first-child:last-child) {
        max-width: 50%;
    }
}

@media only screen and (max-width: 768px) {
    body .radio-buttons-as-buttons label {
        padding: 8px 12px;
    }
    .wpforms-field-radio.saisons ul,
    .wpforms-field-radio.stages ul[id^="wpforms-"], 
    .wpforms-field-radio.ecoles ul, 
    .wpforms-field-radio.lbs__choices ul {
        flex-wrap: wrap;
        gap: 8px;
        padding: 16px;
    }
    .wpforms-field-radio.stages ul[id^="wpforms-"] {
        gap: 20px;
    }

    .wpforms-field-radio.saisons ul li, 
    .wpforms-field-radio.ecoles ul li, 
    .wpforms-field-radio.lbs__choices ul li {
        min-width: calc(50% - 8px);
    }
    .wpforms-field-radio.stages ul li {
        min-width: 100%;
    }

    .horaires-container {
        margin-left: -16px;
        margin-right: -16px;
        min-width: 100vw;
        overflow: auto;
        padding: 0 16px;
    }
    .horaires-container table th, 
    .horaires-container table td {
        width: 27.4vw;
        min-width: 27.4vw;
        max-width: 27.4vw;
        border-top-width: 4px;
        border-bottom-width: 4px;
        border-left-width: 6px;
        border-right-width: 6px;
    }
    .horaires-container table th {
        background-color: #F6F5ED;
        border-bottom-width: 20px;
        border-left-width: 0;
        border-right-width: 0;
        padding: 16px 0;
        position: relative;
    }
    .horaires-container table th:first-child::before, 
    .horaires-container table th:last-child::before {
        content: "";
        position: absolute;
        top: 0;
        left: -20px;
        width: 20px;
        height: 100%;
        background-color: #F6F5ED;
    }
    .horaires-container table th:last-child::before {
        left: auto;
        right: -20px;
    }
}

#wpforms-13828-field_12-container,
#wpforms-13890-field_12-container,
#wpforms-14094-field_12-container,
#wpforms-14204-field_12-container,
#wpforms-14255-field_12-container,
#wpforms-15399-field_12-container,
#wpforms-16330-field_12-container {
    margin-right: 100px;
    margin-bottom: -64px;
}

#wpforms-13890 .wpforms-field.stages:not(.only-saison),
body .wpforms-order-summary-placeholder {
    display: none !important;
}

#wpforms-13828-field_71-container {
    margin-top: 16px;
}

body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-stripe-credit-card,
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-payplug-credit-card {
    padding: 0 10px 0px 20px;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-payment-total.wpforms-summary-enabled {
    padding: 0 20px 3px 10px;
}

#wpforms-13828-field_79-container,
#wpforms-14204-field_79-container,
#wpforms-15399-field_79-container,
#wpforms-16330-field_79-container {
    margin-right: calc(-100% + 20px);
    margin-bottom: 32px;
}

.wpforms-order-summary-container {
    background-color: #fff;
    border-radius: 8px;
    padding: 16px;
}
.wpforms-order-summary-preview thead {
    display: none;
}

body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column:has(.wpforms-order-summary-container),
.wpforms-field.wpforms-field-payment-total.wpforms-summary-enabled,
body .wpforms-container .wpforms-order-summary-container {
    display: flex;
    flex-direction: column;
    flex: 1;
}

body .wpforms-container .wpforms-order-summary-container {
    justify-content: flex-end;
}

#wpforms-13828 .wpforms-field.wpforms-field-stripe-credit-card .wpforms-field-label,
#wpforms-13828 .wpforms-field.wpforms-field-payment-total.wpforms-summary-enabled .wpforms-field-label {
    margin-bottom: 16px !important;
}

.wpforms-order-summary-preview-total {
    border-top: 1px solid #3D4338;
    padding: 10px;
    margin: 10px;
    transform: translateY(12px);
}

.wpforms-container .wpforms-order-summary-container table.wpforms-order-summary-preview tr:last-child td.wpforms-order-summary-item-price {
    font-weight: bold;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout:has(.wpforms-field-stripe-credit-card)>.wpforms-field-label {
    margin-bottom: 25px;
}

.wpforms-layout-column.wpforms-layout-column-50:has(.wpforms-field-stripe-credit-card) {
    width: 60% !important;
}

.wpforms-order-summary-item-quantity {
    display: none;
}
.wpforms-order-summary-item-label {
    width: 17ch;
    padding-bottom: 12px;
}

.wpforms-order-summary-field .wpforms-order-summary-item-label,
.wpforms-order-summary-field .wpforms-order-summary-item-price {
    display: none;
}

#wpforms-13828-field_76-container,
#wpforms-13828-field_82-container,
#wpforms-13890-field_75-container,
#wpforms-14204-field_76-container,
#wpforms-14204-field_82-container,
#wpforms-15399-field_76-container,
#wpforms-15399-field_82-container,
#wpforms-14255-field_76-container,
#wpforms-16330-field_76-container,
#wpforms-16330-field_82-container,
#wpforms-16330-field_71-container {
    opacity: 0;
    position: absolute;
    top: 0;
    pointer-events: none;
    clip: rect(0 0 0 0);
}

/* Champ de semaine */
#wpforms-14094-field_86-container,
#wpforms-14094-field_86-container input {
    margin: 0 !important;
}
#wpforms-14094-field_86-container {
    padding: 0 !important;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 50px);
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
}
#wpforms-14094-field_86-container input[type="text"] {
    height: 40px;
    min-width: 340px;
    padding: 8px 16px 8px 58px;
    background: #fff url("../img/calendar.svg") no-repeat;
    background-size: 24px 24px;
    background-position: 16px 50%;
    font-size: 14px;
    position: relative;
    z-index: 5;
    /* pointer-events: none; */
}
#wpforms-14094-field_86-container::before {
    content: none !important;
}

#wpforms-14094-field_69-container .wpforms-field-label {
    margin-bottom: 64px;
}

.wpforms-field .arrow-prev,
.wpforms-field .arrow-next {
    width: 24px;
    height: 16px;
    background-color: transparent;
    background-image: url('../img/arrow-nav.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    border: none;
    outline: none;
    cursor: pointer;
    appearance: none;
}

.wpforms-field .arrow-next {
    transform: rotate(180deg); /* Pas de rotation pour la flèche droite */
}

body .wpforms-field input.fake__date__input {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 40px;
    min-width: 330px;
    z-index: -1;
    background: transparent;
    border: none;
    color: transparent;
    appearance: none;
    -webkit-appearance: none;
}

body .wpforms-field input.fake__date__input::-webkit-inner-spin-button,
body .wpforms-field input.fake__date__input::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

.form__header .subtitle {
    text-transform: uppercase;
}

@media only screen and (max-width: 768px) {
    .form__header .subtitle,
    .form__header h2 {
        text-align: center;
        width: 100%;
        display: block;
    }

    .contact__wrp .wpforms-field.wpforms-field-checkbox::before {
        height: 70px;
    }

    body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-html:first-child {
        margin-top: 15px;
        margin-left: 20px;
        margin-bottom: 12px;
        margin-right: calc(-100% + 20px);
    }

    #wpforms-14204-field_71-container .wpforms-layout-row:nth-child(2),
    #wpforms-15399-field_71-container .wpforms-layout-row:nth-child(2),
    #wpforms-14255-field_71-container .wpforms-layout-row:nth-child(2),
    #wpforms-16330-field_71-container .wpforms-layout-row:nth-child(2) {
        flex-direction: column-reverse;
    }
    .wpforms-layout-column.wpforms-layout-column-50:has(.wpforms-field-stripe-credit-card),
    #wpforms-14204-field_71-container .wpforms-layout-row:nth-child(2) .wpforms-layout-column:nth-child(2),
    #wpforms-15399-field_71-container .wpforms-layout-row:nth-child(2) .wpforms-layout-column:nth-child(2),
    #wpforms-14255-field_71-container .wpforms-layout-row:nth-child(1) .wpforms-layout-column:nth-child(2),
    #wpforms-16330-field_71-container .wpforms-layout-row:nth-child(2) .wpforms-layout-column:nth-child(2) {
        width: 100% !important;
    }
    body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-payment-total.wpforms-summary-enabled {
        padding-left: 20px;
    }
    body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-stripe-credit-card {
        padding-right: 20px;
    }

    .contact__wrp .wpforms-container .wpforms-form #wpforms-14204-field_71-container .wpforms-layout-column .wpforms-field-label,
    .contact__wrp .wpforms-container .wpforms-form #wpforms-15399-field_71-container .wpforms-layout-column .wpforms-field-label,
    .contact__wrp .wpforms-container .wpforms-form #wpforms-16330-field_71-container .wpforms-layout-column .wpforms-field-label {
            margin-bottom: 12px;
    }
    #wpforms-14255-field_68-container .wpforms-field-label {
        margin-top: 12px;
        margin-bottom: 10px;
    }
}

/* Désactivation validation */
body:has(.wpforms-field-radio.programmes):not(:has(.horaire-button.selected)) .wpforms-page.wpforms-page-2 .wpforms-page-next,
body:has(#wpforms-13890-field_65-container):not(:has(.horaire-button.selected)) .wpforms-page.wpforms-page-2 .wpforms-page-next,
body:has(#wpforms-15399-field_48_2:checked):has(#wpforms-15399-field_65-container):not(:has(.horaire-button.selected)) .wpforms-page.wpforms-page-2 .wpforms-page-next {
    pointer-events: none;
    filter: grayscale(.8);
}

/* CGV */
.contact__wrp .wpforms-field.wpforms-field-checkbox.cgv__main {
    padding-bottom: 0;
}
.contact__wrp .wpforms-field.wpforms-field-checkbox.cgv__main ul {
    padding-left: 0;
    padding-right: 0;
}
.cgv__main ul > li {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.cgv__main ul > li input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    color: inherit;
    font-size: inherit;
    width: 54px;
    min-width: 54px;
    height: 28px;
    box-sizing: content-box;
    border: 1px solid #97AA83 !important;
    border-radius: 1em;
    vertical-align: text-bottom;
    margin: 0;
    transition: all 0.3s;
}
.cgv__main ul > li input[type="checkbox"]:checked {
    background-color: #97AA83;
}
.cgv__main ul > li input[type="checkbox"]::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin: 0 0.15em;
    border-radius: 50%;
    background-color: #97AA83;
    transition: all 0.3s;
  }
  
  .cgv__main ul > li input[type="checkbox"]:checked::before {
    width: 26px;
    height: 26px;
    left: 25.5px;
    border-radius: none;
    background-color: transparent;
    background: url("../img/checkbox.svg") no-repeat;
    background-size: contain;
    background-position: center;
  }
.cgv__main ul .wpforms-field-label-inline {
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-html#wpforms-14204-field_87-container,
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-html#wpforms-15399-field_87-container,
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-html#wpforms-14255-field_88-container,
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-html#wpforms-13890-field_77-container,
body div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column .wpforms-field.wpforms-field-html#wpforms-16330-field_87-container {
    margin-top: 33px;
}
.wpforms-field-layout:has(.cgv__second) {
    padding-top: 0;
}
.contact__wrp .wpforms-field.wpforms-field-layout.wpforms-field-layout:has(.cgv__second)::before {
    top: 20px;
}
div.wpforms-container .wpforms-form .wpforms-field-layout:has(.cgv__second) {
    padding-top: 0;
}
div.wpforms-container .wpforms-form .wpforms-field-layout:has(.cgv__second)>.wpforms-field-label {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    transform: translateY(33px);
    margin-left: 20px;
}
.cgv__text {
    height: 177px;
    width: calc(100% - 20px);
    padding: 8px 16px;
    overflow: auto;
    border-radius: 8px;
    border: 1px solid #E9ECE1;
    background-color: #fff;
    font-family: Raleway, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    color: #C8C6C6;
    white-space: pre-line;
}

.cgv__second {
    margin: 20px !important;
}
.wpforms-container .wpforms-field .wpforms-list-inline.cgv__second ul li {
    display: inline-flex;
    align-items: center;
    margin-right: 0;
}

.contact__wrp .wpforms-container .wpforms-form .cgv__main em.wpforms-error {
    margin: 0;
}

@media only screen and (max-width: 768px) {
    .cgv__text {
        width: calc(100vw - 70px);
    }
    .cgv__second {
        margin-top: 10px !important;
    }
}

.multiple__payements {
    margin-top: 16px;
}
.multiple__payements ul {
    list-style: none;
    padding-left: 16px;
    padding-top: 6px;
}