html body{
    font-stretch: 00%;
}

/*  Reset */


.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.product-zone__title-container--reverse-fit {
    --product-zone-title-border-gradient: linear-gradient(162deg, var(--color-accent) 0%, rgba(0, 0, 0, 0) 50%);
    display: inline-flex;
    width: fit-content;
    max-width: fit-content;
    align-self: flex-start;
}

.bwa-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 32px auto 0;
}

.bwa-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 45px;
    height: 45px;
    padding: 0 18px;
    border: 1px solid #02a2d6;
    border-radius: 999px;
    background: transparent;
    color: #006a99;
    font-family: var(--font-primary, inherit);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bwa-pagination .page-numbers.current,
.bwa-pagination .page-numbers:hover,
.bwa-pagination .page-numbers:focus-visible {
    border-color: #006a99;
    background: linear-gradient(110deg, rgba(2, 162, 214, 0.1) 0%, rgba(30, 201, 255, 0.1) 100%);
    color: #006a99;
    box-shadow: 0 2px 10px rgba(2, 162, 214, 0.12);
}

.bwa-pagination .page-numbers:hover {
    transform: translateY(-1px);
}

.bwa-pagination .page-numbers:focus-visible {
    outline: 2px solid #02a2d6;
    outline-offset: 3px;
}



/* custom Buttons */


/* default button */
.um form input[type=submit].um-button,
.um form .um-field a,
.site-container a.custom-btn,
.site-container button.custom-btn,
.site-container .elementor-widget-button a.elementor-button,
.site-container a.wp-element-button{
    border: var(--border-width) solid transparent;
    background: var(--color-secondary);
    border-radius: 27px;
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    transition: top .3s ease-out;
    top: 0;
    padding: 14px 30px;
    width: 100%;
    max-width: 180px;
    color: var(--color-text);
    text-align: center;
    font-family: var(--font-primary);
    font-size: var(--font-size-xs);
    font-style: normal;
    font-weight: var(--font-weight-normal);
    line-height: normal;
    text-transform: uppercase;
}

.um form input[type=submit].um-button:before,
.um form .um-field a:before,
a.custom-btn:before,
button.custom-btn:before,
.elementor-widget-button a.elementor-button:before,
a.wp-element-button:before{
    border-radius: inherit;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -2;
    top: 10px;
    left: 0;
    transition: box-shadow .3s ease-out, transform .3s ease-out;
    box-shadow: inset 0 0 5px 1px rgba(0, 0, 0, 0.05), 0 0 5px 1px rgba(0, 0, 0, 0.05);
}

.um form input[type=submit].um-button:after,
.um form .um-field a:after,
.site-container a.custom-btn:after,
.site-container button.custom-btn:after,
.site-container .elementor-widget-button a.elementor-button:after,
.site-container a.wp-element-button:after{
    border-radius: inherit;
    content: "";
    inset: 0;
    mask: linear-gradient(var(--color-white) 0 0) content-box, linear-gradient(var(--color-white) 0 0);
    mask-composite: exclude;
    background: linear-gradient(90deg, #00000042 0%, var(--e-global-color-accent) 70%) ;
    padding: 1px;
    position: absolute;
    z-index: 1;
}

.um form input[type=submit].um-button:hover,
.um form .um-field a:hover,
.site-container a.custom-btn:hover,
.site-container button.custom-btn:hover,
.site-container .elementor-widget-button a.elementor-button:hover,
.site-container a.wp-element-button:hover{
    transition: top .1s ease-out;
    top: 2px;
}

.um form input[type=submit].um-button:hover:before,
.um form .um-field a:hover:before,
.site-container a.custom-btn:hover:before,
.site-container button.custom-btn:hover:before,
.site-container .elementor-widget-button a.elementor-button:hover:before,
.site-container a.wp-element-button:hover:before{
    transition: box-shadow .1s ease-out, transform .1s ease-out;
    transform: translateY(-2px);
    box-shadow: inset 0 0 2px 1px rgba(0, 0, 0, 0.05), 0 0 2px 1px rgba(0, 0, 0, 0.05);
}

.um form input[type=submit].um-button:active,
.um form .um-field a:active,
.site-container a.custom-btn:active,
.site-container button.custom-btn:active,
.site-container .elementor-widget-button a.elementor-button:active,
.site-container a.wp-element-button:active{
    transition: top .05s ease-out;
    top: 7px;
}

.um form input[type=submit].um-button:active:before,
.um form .um-field a:active:before,
.site-container a.custom-btn:active:before,
.site-container button.custom-btn:active:before,
.site-container .elementor-widget-button a.elementor-button:active:before,
.site-container a.wp-element-button:active:before{
    transition: box-shadow .05s ease-out, transform .05s ease-out;
    transform: translateY(-7px);
    box-shadow: inset 0 0 2px 1px rgba(0, 0, 0, 0.10), 0 0 2px 1px rgba(0, 0, 0, 0.1);
}

/* small button */
.site-container a.custom-btn.custom-btn--small,
.site-container button.custom-btn.custom-btn--small,
.site-container .custom-btn.custom-btn--small .elementor-widget-button a.elementor-button,
.site-container .custom-btn.custom-btn--small a.wp-element-button {
    padding: 12px 15px!important;
    text-align: center;
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-normal);
}

/* outline button */
.site-container a.custom-btn.custom-btn--outline-dark,
.site-container button.custom-btn.custom-btn--outline-dark,
.site-container a.custom-btn.custom-btn--outline-primary,
.site-container button.custom-btn.custom-btn--outline-primary,
.site-container a.custom-btn.custom-btn--outline-white,
.site-container button.custom-btn.custom-btn--outline-white,
.elementor-element.elementor-button-info a.elementor-button,
.um form .um-field a,
.elementor-element.elementor-button-info a.wp-element-button{
    background: transparent;
    color: var(--color-secondary);
}

.site-container a.custom-btn.custom-btn--outline-dark:before,
.site-container button.custom-btn.custom-btn--outline-dark:before,
.site-container a.custom-btn.custom-btn--outline-primary:before,
.site-container button.custom-btn.custom-btn--outline-primary:before,
.site-container a.custom-btn.custom-btn--outline-white:before,
.site-container button.custom-btn.custom-btn--outline-white:before,
.elementor-element.elementor-button-info a.elementor-button:before,
.um form .um-field a:before,
.elementor-element.elementor-button-info a.wp-element-button:before{
    content: none;
}

.site-container a.custom-btn.custom-btn--outline-dark:after,
.site-container button.custom-btn.custom-btn--outline-dark:after,
.site-container a.custom-btn.custom-btn--outline-primary:after,
.site-container button.custom-btn.custom-btn--outline-primary:after,
.elementor-element.elementor-button-info a.elementor-button:after,
.um form .um-field a:after,
.elementor-element.elementor-button-info a.wp-element-button:after{
    background: linear-gradient(90deg, var(--color-secondary) 0%, var(--e-global-color-accent) 70%);
}

.site-container a.custom-btn.custom-btn--outline-dark:before,
.site-container button.custom-btn.custom-btn--outline-dark:before,
.site-container a.custom-btn.custom-btn--outline-primary:before,
.site-container button.custom-btn.custom-btn--outline-primary:before,
.elementor-element.elementor-button-info a.elementor-button:before,
.um form .um-field a:before,
.elementor-element.elementor-button-info a.wp-element-button:before{
    content: none;
}

.site-container a.custom-btn.custom-btn--outline-dark:after,
.site-container button.custom-btn.custom-btn--outline-dark:after,
.elementor-element.elementor-button-info a.elementor-button:after,
.um form .um-field a:after,
.elementor-element.elementor-button-info a.wp-element-button:after{
    background: linear-gradient(90deg, var(--color-secondary) 0%, var(--e-global-color-accent) 70%);
}

/* Outline dark */
.site-container a.custom-btn.custom-btn--outline-dark,
.site-container button.custom-btn.custom-btn--outline-dark,
.elementor-element.elementor-button-info a.elementor-button,
.um form .um-field a,
.elementor-element.elementor-button-info a.wp-element-button{
    color: var(--color-text);
}


.site-container a.custom-btn.custom-btn--outline-dark:after,
.site-container button.custom-btn.custom-btn--outline-dark:after,
.elementor-element.elementor-button-info a.elementor-button:after,
.um form .um-field a:after,
.elementor-element.elementor-button-info a.wp-element-button:after{
    background: rgba(0, 0, 0, 0.70);
}


/*buton outline primary*/
.site-container a.custom-btn.custom-btn--outline-primary,
.site-container button.custom-btn.custom-btn--outline-primary{
    color: var(--color-text);
}


.site-container a.custom-btn.custom-btn--outline-primary:after,
.site-container button.custom-btn.custom-btn--outline-primary:after{
    background: var(--color-primary);
}

/*button outline white*/
.site-container a.custom-btn.custom-btn--outline-white,
.site-container button.custom-btn.custom-btn--outline-white{
    color: var(--color-white, #ffffff);
}


.site-container a.custom-btn.custom-btn--outline-white:after,
.site-container button.custom-btn.custom-btn--outline-white:after{
    background: linear-gradient(90deg, var(--color-white) 0%, var(--e-global-color-accent) 70%);
}

html .site-container .elementor-widget-button .elementor-button,
html .elementor-widget-button .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    max-width: 100%;
    min-height: 55px;
    padding: 14px 20px;
    border: 0;
    border-radius: 50px;
    background: var(--form-submit-gradient, linear-gradient(144deg, #02a2d6 0%, #1ec9ff 50%, #1ec9ff 100%));
    box-shadow: none;
    color: #fff;
    font-family: var(--font-primary);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    top: 0;
    transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
}

html .site-container .elementor-widget-button .elementor-button:before,
html .site-container .elementor-widget-button .elementor-button:after,
html .elementor-widget-button .elementor-button:before,
html .elementor-widget-button .elementor-button:after {
    content: none;
}

html .site-container .elementor-widget-button .elementor-button:hover,
html .site-container .elementor-widget-button .elementor-button:focus-visible,
html .elementor-widget-button .elementor-button:hover,
html .elementor-widget-button .elementor-button:focus-visible {
    color: #fff;
    filter: brightness(1.04);
    transform: translateY(-1px);
    top: 0;
}

html .site-container .elementor-widget-button .elementor-button:active,
html .elementor-widget-button .elementor-button:active {
    filter: brightness(.98);
    transform: translateY(0);
    top: 0;
}

html .site-container .elementor-widget-button .elementor-button .elementor-button-text,
html .site-container .elementor-widget-button .elementor-button .elementor-button-icon,
html .elementor-widget-button .elementor-button .elementor-button-text,
html .elementor-widget-button .elementor-button .elementor-button-icon {
    color: inherit;
}

/* ========================================
   ANIMATE CORNERS - Effet coins décoratifs
   ======================================== */

/**
 * Composant réutilisable pour créer des coins décoratifs animés
 * Utilise des pseudo-éléments :before et :after
 *
 * Usage:
 * - Ajouter la classe .animate-corners à l'élément parent
 * - L'élément doit avoir position: relative
 * - Les coins apparaîtront automatiquement avec une animation
 *
 * Variables personnalisables:
 * --corner-size: Taille des coins (défaut: 50px)
 * --corner-offset: Distance depuis les bords (défaut: -50px)
 * --corner-color: Couleur des coins (défaut: #E2001A)
 * --corner-thickness: Épaisseur du trait (défaut: 4px)
 * --corner-transition: Durée de l'animation (défaut: 0.5s)
 */

.animate-corners {
    position: relative;
}

.animate-corners:before,
.animate-corners:after {
    content: "";
    position: absolute;
    overflow: hidden;
    box-shadow: inset var(--corner-thickness, 4px) var(--corner-thickness, 4px) 0 0 var(--corner-color, #E2001A);
    width: var(--corner-size, 50px);
    height: var(--corner-size, 50px);
    transition: all var(--corner-transition, 0.5s) ease-out;
}

.animate-corners:before {
    top: var(--corner-offset-y, -50px);
    left: var(--corner-offset-x, -50px);
    transform-origin: top left;
}

.animate-corners:after {
    right: calc(var(--corner-offset-x, -50px) - 1%);
    bottom: calc(var(--corner-offset-y, -50px) + 8%);
    transform-origin: bottom right;
    transform: translate(-100%, -100%) rotate(180deg);
}

/* Variante: Coins non animés (toujours visibles) */
.animate-corners--static:before,
.animate-corners--static:after {
    width: var(--corner-size, 50px);
    height: var(--corner-size, 50px);
}

/* Variante: Coins au démarrage cachés (pour animation viewport) */
.animate-corners--hidden:before,
.animate-corners--hidden:after {
    width: 0;
    height: 0;
}

/* Variante: Coins visibles (déclenché par JS au scroll) */
.animate-corners--visible:before,
.animate-corners--visible:after {
    width: var(--corner-size, 50px);
    height: var(--corner-size, 50px);
}

/* Variante: Petite version (24px, épaisseur 1px) */
.animate-corners--small {
    --corner-size: 34px;
    --corner-offset-x: -29px;
    --corner-offset-y: -23px;
    --corner-thickness: 3px;
}


/* ========================================
   FORMS - Styles de formulaires
   ======================================== */

/**
 * Styles pour les formulaires standard et Forminator
 * Design: Glassmorphism avec bordure rouge
 */

/* --- Labels --- */
.site-container form label,
.site-container .forminator-field .forminator-label,
.site-container .forminator-field-text .forminator-label,
.site-container .forminator-field-email .forminator-label,
.site-container .forminator-field-textarea .forminator-label,
.site-container .forminator-field-select .forminator-label,
.site-container .forminator-field-phone .forminator-label,
.site-container .elementor-field-label {
    display: block;
    font-family: var(--font-primary)!important;
    color: rgba(0, 0, 0, 0.8);
    text-transform: uppercase;
    margin-bottom: 12px;
    line-height: normal;
    font-size: 20px!important;
    font-weight: 700!important;
    margin-left: 27px !important;
}

.forminator-ui#forminator-module-429.forminator-design--default select.forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered{
    padding-left: 0!important;
    color: rgba(0, 0, 0, 0.5)!important;
    font-family: var(--font-primary, "Mona Sans", sans-serif)!important;
    font-size: 12px!important;
    font-weight: 500!important;
    letter-spacing: 0.48px!important;
    text-transform: uppercase!important;
}

/* --- Inputs (text, email, tel, etc.) et Select --- */
.site-container form input[type="text"],
.site-container form input[type="email"],
.site-container form input[type="tel"],
.site-container form input[type="number"],
.site-container form input[type="url"],
.site-container form input[type="password"],
.site-container form input[type="search"],
.site-container form select,
.site-container .forminator-input,
.site-container .forminator-select,
.site-container .forminator-field input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.site-container .forminator-field select,
.site-container .elementor-field-textual,
.site-container .forminator-ui.forminator-custom-form .forminator-field input:not(.forminator-button),
.site-container .forminator-ui.forminator-custom-form .forminator-field select,
.site-container .forminator-ui.forminator-custom-form .forminator-field textarea {
    width: 100%;
    min-height: 80px;
    padding: 20px 30px;
    font-family: var(--font-primary);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-normal);
    font-style: normal;
    color: rgba(0, 0, 0, 0.8);
    background: linear-gradient(178deg,  #F9F8F8 20%, #EDEBEB 99%);
    background-image: linear-gradient(178deg,  #F9F8F8 20%, #EDEBEB 99%),
    linear-gradient(162deg, rgba(0, 0, 0, 0) 50%, var(--color-accent) 100%);
    border-radius: 30px;
    box-shadow: 0px 4px 25px -1px rgba(0, 0, 0, 0.2)!important;
    box-sizing: border-box;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background-origin: padding-box, border-box, border-box;
    background-clip: padding-box, border-box, border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid transparent;
}

.forminator-ui#forminator-module-429.forminator-design--default select.forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered{

}


/* Placeholder styles */
.site-container form input::placeholder,
.site-container form select::placeholder,
.site-container .forminator-input::placeholder,
.site-container .forminator-field input::placeholder,
.site-container .elementor-field-textual::placeholder {
    font-family: var(--font-primary);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-normal);
    color: rgba(0, 0, 0, 0.6);
}

/* Focus state */
.site-container form input[type="text"]:focus,
.site-container form input[type="email"]:focus,
.site-container form input[type="tel"]:focus,
.site-container form input[type="number"]:focus,
.site-container form input[type="url"]:focus,
.site-container form input[type="password"]:focus,
.site-container form input[type="search"]:focus,
.site-container form select:focus,
.site-container .forminator-input:focus,
.site-container .forminator-select:focus,
.site-container .forminator-field input:focus,
.site-container .forminator-field select:focus,
.site-container .elementor-field-textual:focus {
    border-color: transparent;
    background-image: linear-gradient(178deg, rgba(224, 224, 224, 0.6) 20%, rgba(217, 217, 217, 0.05) 99%),
    linear-gradient(162deg, rgba(0, 0, 0, 0) 50%, var(--color-accent) 100%);
    box-shadow: 0px 4px 25px -1px rgba(var(--color-primary-rgb), 0.3);
}

/* Select avec flèche personnalisée */
.site-container form select,
.site-container .forminator-select,
.site-container .forminator-field select {
    padding-right: 60px;
    cursor: pointer;
}

.site-container form select:not([multiple]),
.site-container .forminator-field select:not([multiple]) {
    --klube-select-chevron: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 6.75L9 11.25L13.5 6.75' stroke='%23000000' stroke-opacity='0.65' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    color-scheme: light;
    background-image: var(--klube-select-chevron),
    linear-gradient(178deg, #F9F8F8 20%, #EDEBEB 99%),
    linear-gradient(162deg, rgba(0, 0, 0, 0) 50%, var(--color-accent) 100%);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: right 16px center, 0 0, 0 0;
    background-size: 18px 18px, 100% 100%, 100% 100%;
}

.site-container form select:not([multiple]):focus,
.site-container .forminator-field select:not([multiple]):focus {
    background-image: var(--klube-select-chevron),
    linear-gradient(178deg, rgba(224, 224, 224, 0.6) 20%, rgba(217, 217, 217, 0.05) 99%),
    linear-gradient(162deg, rgba(0, 0, 0, 0) 50%, var(--color-accent) 100%);
}

/* --- Textarea --- */
.site-container form textarea,
.site-container .forminator-textarea,
.site-container .forminator-field textarea,
.site-container .elementor-field-textual textarea {
    position: relative;
    isolation: isolate;
    width: 100%;
    min-height: 300px;
    padding: 25px 30px;
    font-family: var(--font-primary);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-normal);
    font-style: normal;
    color: rgba(0, 0, 0, 0.8);
    background: linear-gradient(172deg, rgba(224, 224, 224, 0.6) 20%, rgba(217, 217, 217, 0.05) 99%);
    /* Note: Pseudo-elements not supported on textarea - applying filter directly */
    filter: url(#lg-dist);
    -webkit-filter: url(#lg-dist);
    border: 1px solid var(--color-primary, #e1061b);
    border-radius: 30px;
    box-shadow: 0px 4px 25px -1px rgba(0, 0, 0, 0.2),
    inset 1px 1px 0 rgba(255, 255, 255, 0.3),
    inset 0 0 5px rgba(255, 255, 255, 0.2);
    box-sizing: border-box;
    outline: none;
    resize: vertical;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.site-container form textarea::placeholder,
.site-container .forminator-textarea::placeholder,
.site-container .forminator-field textarea::placeholder {
    font-family: var(--font-primary);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-normal);
    color: rgba(0, 0, 0, 0.6);
}

.site-container form textarea:focus,
.site-container .forminator-textarea:focus,
.site-container .forminator-field textarea:focus {
    border-color: var(--color-primary, #e1061b);
    box-shadow: 0px 4px 25px -1px rgba(var(--color-primary-rgb), 0.3);
}

/* --- Checkbox --- */
.site-container form input[type="checkbox"],
.site-container .forminator-checkbox input[type="checkbox"],
.site-container .forminator-field input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-height: auto;
    padding: 0;
    background: transparent;
    border: var(--border-width-thick) solid var(--color-black);
    border-radius: 5px;
    box-shadow: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    vertical-align: middle;
    margin-right: 10px;
    flex-shrink: 0;
}

.site-container form input[type="checkbox"]:checked,
.site-container .forminator-checkbox input[type="checkbox"]:checked,
.site-container .forminator-field input[type="checkbox"]:checked {
    background-color: var(--color-primary, #e1061b);
    border-color: var(--color-primary, #e1061b);
}

.site-container form input[type="checkbox"]:checked::after,
.site-container .forminator-checkbox input[type="checkbox"]:checked::after,
.site-container .forminator-field input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%) rotate(45deg);
    width: 5px;
    height: 10px;
    border: solid var(--color-white);
    border-width: 0 var(--border-width-thick) var(--border-width-thick) 0;
}

/* Checkbox label inline */
.site-container form .checkbox-label,
.site-container .forminator-checkbox .forminator-checkbox-label,
.site-container .forminator-field-consent .forminator-label {
    display: inline-flex;
    align-items: flex-start;
    font-family: var(--font-primary)!important;
    color: rgba(0, 0, 0, 0.80)!important;
    font-size: 20px!important;
    font-weight: 700!important;
    cursor: pointer;
}

/* --- Radio buttons --- */
.site-container form input[type="radio"],
.site-container .forminator-radio input[type="radio"],
.site-container .forminator-field input[type="radio"] {
    width: 18px;
    height: 18px;
    min-height: auto;
    padding: 0;
    background: transparent;
    border: var(--border-width-thick) solid var(--color-black);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    vertical-align: middle;
    margin-right: 10px;
}

.site-container form input[type="radio"]:checked,
.site-container .forminator-radio input[type="radio"]:checked,
.site-container .forminator-field input[type="radio"]:checked {
    border-color: var(--color-primary, #e1061b);
}

.site-container form input[type="radio"]:checked::after,
.site-container .forminator-radio input[type="radio"]:checked::after,
.site-container .forminator-field input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    background-color: var(--color-primary, #e1061b);
    border-radius: 50%;
}

/* --- Submit button (style Sonceboz rouge) --- */
.site-container form input[type="submit"],
.site-container form button[type="submit"],
.site-container .forminator-button-submit,
.site-container .forminator-button,
.site-container .elementor-field-type-submit button {
    display: inline-block;
    min-height: auto;
    padding: var(--spacing-md) 35px;
    font-family: var(--font-primary);
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-white);
    text-transform: uppercase;
    text-align: center;
    background-color: var(--color-primary, #e1061b);
    border: 1px solid var(--color-primary, #e1061b);
    border-radius: 37px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25)!important;
    cursor: pointer;
    transition: all 0.3s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.site-container form input[type="submit"]:hover,
.site-container form button[type="submit"]:hover,
.site-container .forminator-button-submit:hover,
.site-container .forminator-button:hover,
.site-container .elementor-field-type-submit button:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
    transform: translateY(-2px);
}

.site-container form input[type="submit"]:active,
.site-container form button[type="submit"]:active,
.site-container .forminator-button-submit:active,
.site-container .forminator-button:active,
.site-container .elementor-field-type-submit button:active {
    transform: translateY(0);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
}

/* --- Field groups / spacing --- */
.site-container .forminator-row,
.site-container .forminator-field,
.site-container .elementor-field-group {
    margin-bottom: 25px;
}

/* --- Error messages --- */
.site-container .forminator-error-message,
.site-container form .error-message,
.site-container .elementor-message-danger {
    font-family: var(--font-primary);
    font-size: var(--font-size-sm);
    color: var(--color-primary, #e1061b);
    margin-top: var(--spacing-sm);
}

/* --- Success messages --- */
.site-container .forminator-success,
.site-container form .success-message,
.site-container .elementor-message-success {
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    color: #28a745;
    padding: 15px 20px;
    background-color: rgba(40, 167, 69, 0.1);
    border-radius: 10px;
    margin-top: 15px;
}

/* --- Legal text under form --- */
.site-container form .form-legal-text,
.site-container .forminator-response-message + p {
    font-family: var(--font-primary);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-light);
    color: var(--color-text);
    line-height: 1.5;
    margin-top: 20px;
}



.site-container .forminator-ui.forminator-custom-form .forminator-label {
    font-weight: 700 !important;
    text-transform: uppercase !important;
}


/* --- Select2 (dropdown only) --- */

.site-container  .forminator-ui#forminator-module-429.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus, .forminator-ui#forminator-module-429.forminator-design--default .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"]{
    outline: none;
}

.forminator-ui#forminator-module-429.forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]{
    background: transparent !important;
    color: inherit;
    border: none;
}

html body.forminator-hustle-dropdown-fix .forminator-select.forminator-select-dropdown-container--open{
    margin-top: -13px;
}

html body .select2-container.forminator-select.forminator-select-dropdown-container--open.select2-container--open .forminator-select-dropdown {
    background: linear-gradient(178deg, rgba(224, 224, 224, 0.6) 20%, rgba(217, 217, 217, 0.05) 99%);
    /* Note: Pseudo-elements not supported on select elements - applying filter directly */
    filter: url(#lg-dist);
    -webkit-filter: url(#lg-dist);
    background-image: linear-gradient(178deg, #F9F8F8 20%, #EDEBEB 99%), linear-gradient(162deg, rgba(0, 0, 0, 0) 50%, var(--color-accent) 100%);
    background-origin: padding-box, border-box, border-box;
    background-clip: padding-box, border-box, border-box;
    border-radius: 0 0 24px 24px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 25px);
    -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 25px);

    box-sizing: border-box;
    outline: none;
    overflow: hidden;
    appearance: none;
    border: 1px solid transparent;
    border-top: none;
    position: relative;
}




html body .forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown .select2-results .select2-results__options{
    padding: 25px 70px 25px 25px;
}

html body .select2-container.forminator-select.forminator-select-dropdown-container--open.select2-container--open .select2-selection--single,
html body .select2-container.forminator-select.forminator-select-dropdown-container--open.select2-container--open .select2-selection--multiple {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-color: var(--color-accent);
}

html body .forminator-select.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option{
    padding: 6px 15px;
    border-radius: 15px;
    font-family: var(--font-primary);
    font-size: var(--font-size-xl);
    color: rgba(0, 0, 0, 0.8);
}

html body .select2-container.forminator-select.forminator-select-dropdown-container--open.select2-container--open .forminator-select-dropdown .select2-results__option--highlighted {
    background: rgba(var(--color-primary-rgb), 0.12);
    color: rgba(0, 0, 0, 0.9);
    box-shadow: inset 0 0 0 1px var(--color-accent);
}

html body .forminator-select-dropdown-container--open .forminator-custom-form-429.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted {
    border-color: var(--color-accent);
    outline: 1px solid var(--color-accent);
    outline-offset: -1px;
}

html body .select2-container.forminator-select.forminator-select-dropdown-container--open.select2-container--open .forminator-select-dropdown .select2-results__option--selected {
    background: rgba(var(--color-primary-rgb), 0.2);
    color: rgba(0, 0, 0, 0.9);
}


.site-container .forminator-ui#forminator-module-429.forminator-design--default .forminator-error-message{
    color: var(--color-white);
    background-color: var(--color-accent);
    padding: 10px 20px;
    border-radius: 30px;
    font-weight: 700;
    font-size: 14px;

}

/* Formulaires Forminator - design Figma Le Klube */
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) {
    --klube-contact-gradient: linear-gradient(143deg, #02a2d6 0%, #1ec9ff 50%);
    --klube-contact-dark: #151a1c;
    --klube-contact-field: rgba(0, 0, 0, 0.05);
    --klube-contact-select-bg: var(--klube-contact-field);
    width: 100% !important;
    margin: 0 !important;
    padding: 24px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-response-message {
    margin: 0 !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px 8px !important;
    width: 100% !important;
    margin: 0 !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field {
    min-width: 0 !important;
    margin: 0 !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col {
    flex: 1 1 100% !important;
    max-width: none !important;
    padding: 0 !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col-3 {
    flex: 0 1 calc(25% - 6px) !important;
    width: calc(25% - 6px) !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col-4 {
    flex: 0 1 calc(33.333% - 6px) !important;
    width: calc(33.333% - 6px) !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col-6 {
    flex: 0 1 calc(50% - 4px) !important;
    width: calc(50% - 4px) !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col-8 {
    flex: 0 1 calc(66.666% - 3px) !important;
    width: calc(66.666% - 3px) !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col-9 {
    flex: 0 1 calc(75% - 2px) !important;
    width: calc(75% - 2px) !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col-12,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-row-last .forminator-col {
    flex: 0 1 100% !important;
    width: 100% !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) #name-2 {
    order: 1;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) #name-3 {
    order: 2;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) #phone-1 {
    order: 3;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) #email-1 {
    order: 4;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-label {
    display: block !important;
    margin: 0 0 8px !important;
    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #02a2d6 !important;
    background: var(--klube-contact-gradient);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-required {
    color: inherit !important;
    -webkit-text-fill-color: currentColor;
}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-input,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-textarea,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) input[type="date"],
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) input[type="time"],
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-date input,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-time input,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) select.forminator-select2,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] {
	    width: 100% !important;
	    height: 49px !important;
	    min-height: 49px !important;
	    padding: 16px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    background: var(--klube-contact-field) !important;
    background-color: var(--klube-contact-field) !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
	    -webkit-filter: none !important;
	    color: rgba(0, 0, 0, 0.72) !important;
	    color-scheme: light !important;
	    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
	    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    letter-spacing: 0.48px !important;
    text-transform: none !important;
	    transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) input[type="date"],
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) input[type="time"],
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-date input,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-time input {
	    text-transform: uppercase !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) select.forminator-select2 {
	    padding: 0 38px 0 16px !important;
	    cursor: pointer !important;
	    line-height: 49px !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-date,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-time,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-select {
	    position: relative !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) input[type="date"]::-webkit-calendar-picker-indicator,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) input[type="time"]::-webkit-calendar-picker-indicator {
	    opacity: 0.55 !important;
	    cursor: pointer !important;
	    filter: grayscale(1) brightness(0.25) !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-icon-calendar,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-icon-clock {
	    position: absolute !important;
	    left: 16px !important;
	    right: auto !important;
	    top: 50% !important;
	    z-index: 2 !important;
	    display: inline-flex !important;
	    align-items: center !important;
	    justify-content: center !important;
	    width: 18px !important;
	    height: 18px !important;
	    margin: 0 !important;
	    color: rgba(21, 26, 28, 0.45) !important;
	    transform: translateY(-50%) !important;
	    pointer-events: none !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-date .forminator-input,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-time .forminator-input {
	    padding-left: 46px !important;
	    padding-right: 16px !important;
	}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] {
    text-transform: uppercase !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-textarea {
    min-height: 115px !important;
    padding-block: 8px !important;
    resize: vertical !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851).forminator-design--default .forminator-row .forminator-field .forminator-input,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851).forminator-design--default .forminator-row .forminator-field .forminator-textarea,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851).forminator-design--flat .forminator-row .forminator-field .forminator-input,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851).forminator-design--flat .forminator-row .forminator-field .forminator-textarea {
    background-color: var(--klube-contact-field) !important;
    background-image: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-row .forminator-field input.forminator-input,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-row .forminator-field textarea.forminator-textarea {
    background-color: rgba(0, 0, 0, 0.05) !important;
    background-image: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-input::placeholder,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-textarea::placeholder {
    color: rgba(0, 0, 0, 0.4) !important;
    opacity: 1 !important;
}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-input:focus,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-textarea:focus,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) input[type="date"]:focus,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) input[type="time"]:focus,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-date input:focus,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-field-time input:focus,
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"],
	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus {
    outline: none !important;
    border-color: rgba(2, 162, 214, 0.45) !important;
    background: rgba(2, 162, 214, 0.08) !important;
    box-shadow: 0 0 0 3px rgba(2, 162, 214, 0.12) !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) select.forminator-select2 + .forminator-select {
    width: 100% !important;
    min-height: 49px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) select.forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"],
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) select.forminator-select2 + .forminator-select.select2-container--focus .selection .select2-selection--single[role="combobox"],
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) select.forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"],
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) select.forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 49px !important;
    padding: 0 38px 0 16px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
    background: var(--klube-contact-select-bg) !important;
    background-color: var(--klube-contact-select-bg) !important;
    background-image: none !important;
    box-shadow: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .selection,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .select2-selection__rendered {
    display: block !important;
    width: 100% !important;
}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .select2-selection__rendered {
	    padding: 0 !important;
    height: 49px !important;
    color: rgba(0, 0, 0, 0.5) !important;
    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 49px !important;
    letter-spacing: 0.48px !important;
	    text-transform: uppercase !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .select2-selection__placeholder {
	    color: rgba(0, 0, 0, 0.4) !important;
	    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
	    font-size: 12px !important;
	    font-weight: 500 !important;
	    letter-spacing: 0.48px !important;
	    text-transform: uppercase !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .select2-selection__arrow {
	    position: absolute !important;
	    top: 50% !important;
	    right: 16px !important;
	    width: 18px !important;
	    height: 18px !important;
	    transform: translateY(-50%) !important;
	}

	.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-select2 + .forminator-select .select2-selection__arrow b {
	    display: block !important;
	    width: 8px !important;
	    height: 8px !important;
	    margin: -5px 0 0 -4px !important;
	    border: 0 !important;
	    border-right: 1.5px solid rgba(21, 26, 28, 0.55) !important;
	    border-bottom: 1.5px solid rgba(21, 26, 28, 0.55) !important;
	    transform: rotate(45deg) !important;
	}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-description {
    margin-top: 8px !important;
    color: rgba(21, 26, 28, 0.5) !important;
    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-checkbox__wrapper,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-consent {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-checkbox__wrapper {
    margin-top: -16px !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-checkbox input[type="checkbox"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-checkbox-box {
    display: inline-flex !important;
    position: relative !important;
    width: 11px !important;
    height: 11px !important;
    max-width: 11px !important;
    min-width: 11px !important;
    flex: 0 0 11px !important;
    margin-top: 1px !important;
    border: 1px solid rgba(21, 26, 28, 0.45) !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-checkbox-box::before,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-checkbox-box::after {
    content: none !important;
    display: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-checkbox input[type="checkbox"]:checked + .forminator-checkbox-box {
    border-color: #02a2d6 !important;
    background: #02a2d6 !important;
    box-shadow: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-checkbox__label,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-consent__label {
    margin: 0 !important;
    color: rgba(21, 26, 28, 0.5) !important;
    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-button-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 45px !important;
    margin: 0 !important;
    padding: 10px 30px !important;
    border: 0 !important;
    border-radius: 50px !important;
    background: var(--klube-contact-gradient) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    transform: none !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-button-submit:hover,
.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-button-submit:focus-visible {
    background: linear-gradient(143deg, #018ec0 0%, #16bdf1 50%) !important;
    box-shadow: 0 8px 20px rgba(2, 162, 214, 0.2) !important;
    transform: translateY(-1px) !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-button-submit:active {
    transform: translateY(0) !important;
}

.forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-error-message {
    margin-top: 8px !important;
    padding: 8px 12px !important;
    border-radius: 10px !important;
    background: rgba(225, 5, 28, 0.08) !important;
    color: #e1051c !important;
    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

html body .forminator-select-dropdown-container--open :is(.forminator-dropdown--flat, .forminator-dropdown--default, .forminator-select-dropdown):not(.forminator-custom-form-1851) {
    --klube-dropdown-surface: #fff;
    overflow: hidden !important;
    margin-top: 4px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--klube-dropdown-surface) !important;
    background-color: var(--klube-dropdown-surface) !important;
    box-shadow: 0 14px 34px rgba(21, 26, 28, 0.16) !important;
    filter: none !important;
    -webkit-filter: none !important;
    mask-image: none !important;
    -webkit-mask-image: none !important;
}

html body .forminator-select-dropdown-container--open :is(.forminator-dropdown--flat, .forminator-dropdown--default, .forminator-select-dropdown):not(.forminator-custom-form-1851) .select2-results__options {
    padding: 8px !important;
}

html body .forminator-select-dropdown-container--open :is(.forminator-dropdown--flat, .forminator-dropdown--default, .forminator-select-dropdown):not(.forminator-custom-form-1851) .select2-results__option {
    padding: 10px 12px !important;
    border-radius: 8px !important;
    color: rgba(21, 26, 28, 0.78) !important;
    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.24px !important;
    text-transform: uppercase !important;
}

	html body .forminator-select-dropdown-container--open :is(.forminator-dropdown--flat, .forminator-dropdown--default, .forminator-select-dropdown):not(.forminator-custom-form-1851) .select2-results__option--highlighted,
	html body .forminator-select-dropdown-container--open :is(.forminator-dropdown--flat, .forminator-dropdown--default, .forminator-select-dropdown):not(.forminator-custom-form-1851) .select2-results__option--selected {
	    background: rgba(2, 162, 214, 0.1) !important;
	    color: #151a1c !important;
	    box-shadow: none !important;
	    outline: 0 !important;
	}

		html body .forminator-datepicker:not(input),
		html body .ui-datepicker.forminator-calendar,
		html body .ui-datepicker {
		    --klube-dropdown-surface: #fff;
		    --klube-datepicker-width: 320px;
		    position: absolute !important;
		    z-index: 2147483647 !important;
		    width: var(--klube-datepicker-width) !important;
		    max-width: calc(100vw - 32px) !important;
		    overflow: hidden !important;
		    padding: 12px !important;
		    border: 0 !important;
		    border-radius: 10px !important;
		    box-sizing: border-box !important;
		    background: var(--klube-dropdown-surface) !important;
		    background-color: var(--klube-dropdown-surface) !important;
		    box-shadow: 0 14px 34px rgba(21, 26, 28, 0.16) !important;
		    filter: none !important;
		    -webkit-filter: none !important;
		    mask-image: none !important;
		    -webkit-mask-image: none !important;
		    color: #151a1c !important;
		    font-family: var(--font-primary, "Mona Sans", sans-serif) !important;
		}

		html body .ui-datepicker[class*="forminator-calendar--"] {
		    background: #fff !important;
		    background-color: #fff !important;
		}

		html body .ui-datepicker[class*="forminator-calendar--"]::before {
		    content: none !important;
		    display: none !important;
		}

	html body .forminator-datepicker .ui-datepicker-header,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-header,
	html body .ui-datepicker .ui-datepicker-header {
	    display: flex !important;
	    align-items: center !important;
	    justify-content: center !important;
	    min-height: 38px !important;
		    padding: 0 38px !important;
		    border: 0 !important;
		    border-radius: 10px !important;
		    background: var(--klube-dropdown-surface) !important;
		    background-color: var(--klube-dropdown-surface) !important;
		    color: #151a1c !important;
		}

	html body .forminator-datepicker .ui-datepicker-title,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-title,
	html body .ui-datepicker .ui-datepicker-title {
	    display: flex !important;
	    align-items: center !important;
	    justify-content: center !important;
	    gap: 8px !important;
	    width: 100% !important;
	    margin: 0 !important;
	    padding: 0 !important;
	    color: #151a1c !important;
	    font-size: 13px !important;
	    font-weight: 700 !important;
	    line-height: 1.2 !important;
	    text-transform: uppercase !important;
	}

	html body .forminator-datepicker .ui-datepicker-title select,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-title select,
	html body .ui-datepicker .ui-datepicker-title select {
	    width: auto !important;
	    min-width: 76px !important;
	    height: 32px !important;
	    min-height: 32px !important;
	    margin: 0 !important;
	    padding: 0 28px 0 10px !important;
	    border: 1px solid rgba(21, 26, 28, 0.18) !important;
	    border-radius: 6px !important;
	    appearance: none !important;
	    -webkit-appearance: none !important;
	    background-color: #fff !important;
	    background-image: linear-gradient(45deg, transparent 50%, #151a1c 50%), linear-gradient(135deg, #151a1c 50%, transparent 50%) !important;
	    background-position: calc(100% - 13px) 13px, calc(100% - 9px) 13px !important;
	    background-repeat: no-repeat !important;
	    background-size: 4px 4px, 4px 4px !important;
	    box-shadow: none !important;
	    color: #151a1c !important;
	    font: inherit !important;
	    line-height: 30px !important;
	    text-transform: none !important;
	}

	html body .forminator-datepicker .ui-datepicker-prev,
	html body .forminator-datepicker .ui-datepicker-next,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-prev,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-next,
	html body .ui-datepicker .ui-datepicker-prev,
	html body .ui-datepicker .ui-datepicker-next {
	    top: 50% !important;
	    width: 28px !important;
	    height: 28px !important;
	    border-radius: 999px !important;
	    background: transparent !important;
	    color: transparent !important;
	    transform: translateY(-50%) !important;
	    cursor: pointer !important;
	}

	html body .forminator-datepicker :is(.ui-datepicker-prev, .ui-datepicker-next)::before,
	html body .ui-datepicker.forminator-calendar :is(.ui-datepicker-prev, .ui-datepicker-next)::before,
	html body .ui-datepicker :is(.ui-datepicker-prev, .ui-datepicker-next)::before {
	    content: "" !important;
	    position: absolute !important;
	    top: 50% !important;
	    left: 50% !important;
	    width: 8px !important;
	    height: 8px !important;
	    border-top: 2px solid #151a1c !important;
	    border-left: 2px solid #151a1c !important;
	}

	html body .forminator-datepicker .ui-datepicker-prev::before,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-prev::before,
	html body .ui-datepicker .ui-datepicker-prev::before {
	    transform: translate(-35%, -50%) rotate(-45deg) !important;
	}

	html body .forminator-datepicker .ui-datepicker-next::before,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-next::before,
	html body .ui-datepicker .ui-datepicker-next::before {
	    transform: translate(-65%, -50%) rotate(135deg) !important;
	}

	html body .forminator-datepicker :is(.ui-datepicker-prev, .ui-datepicker-next) span,
	html body .ui-datepicker.forminator-calendar :is(.ui-datepicker-prev, .ui-datepicker-next) span,
	html body .ui-datepicker :is(.ui-datepicker-prev, .ui-datepicker-next) span {
	    display: none !important;
	}

	html body .forminator-datepicker :is(.ui-datepicker-prev, .ui-datepicker-next):hover,
	html body .ui-datepicker.forminator-calendar :is(.ui-datepicker-prev, .ui-datepicker-next):hover,
	html body .ui-datepicker :is(.ui-datepicker-prev, .ui-datepicker-next):hover {
	    background: rgba(2, 162, 214, 0.1) !important;
	}

	html body .forminator-datepicker .ui-datepicker-prev,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-prev,
	html body .ui-datepicker .ui-datepicker-prev {
	    left: 7px !important;
	}

	html body .forminator-datepicker .ui-datepicker-next,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-next,
	html body .ui-datepicker .ui-datepicker-next {
	    right: 7px !important;
	}

			html body .forminator-datepicker table,
			html body .ui-datepicker.forminator-calendar table,
			html body .ui-datepicker table {
			    width: 100% !important;
			    margin: 10px 0 0 !important;
			    border-collapse: separate !important;
			    border-spacing: 3px !important;
			    table-layout: fixed !important;
			    background: var(--klube-dropdown-surface) !important;
			    background-color: var(--klube-dropdown-surface) !important;
			    font-size: 12px !important;
			}

			html body .forminator-datepicker thead,
			html body .forminator-datepicker tbody,
			html body .forminator-datepicker tr,
			html body .ui-datepicker.forminator-calendar thead,
			html body .ui-datepicker.forminator-calendar tbody,
			html body .ui-datepicker.forminator-calendar tr,
			html body .ui-datepicker thead,
			html body .ui-datepicker tbody,
			html body .ui-datepicker tr {
			    background: var(--klube-dropdown-surface) !important;
			    background-color: var(--klube-dropdown-surface) !important;
			}

			html body .forminator-datepicker th,
			html body .ui-datepicker.forminator-calendar th,
			html body .ui-datepicker th {
			    width: 14.285% !important;
			    padding: 4px !important;
			    background: var(--klube-dropdown-surface) !important;
			    background-color: var(--klube-dropdown-surface) !important;
			    color: rgba(21, 26, 28, 0.46) !important;
			    font-size: 10px !important;
		    font-weight: 700 !important;
	    text-transform: uppercase !important;
	}

		html body .forminator-datepicker td,
			html body .ui-datepicker.forminator-calendar td,
			html body .ui-datepicker td {
			    width: 14.285% !important;
			    padding: 0 !important;
			    border: 0 !important;
			    background: var(--klube-dropdown-surface) !important;
			    background-color: var(--klube-dropdown-surface) !important;
			}

	html body .forminator-datepicker td a,
	html body .forminator-datepicker td span,
	html body .ui-datepicker.forminator-calendar td a,
	html body .ui-datepicker.forminator-calendar td span,
	html body .ui-datepicker td a,
	html body .ui-datepicker td span {
	    display: flex !important;
	    align-items: center !important;
	    justify-content: center !important;
	    width: 32px !important;
	    min-width: 32px !important;
	    height: 32px !important;
	    padding: 0 !important;
	    border: 0 !important;
	    border-radius: 8px !important;
	    background: transparent !important;
	    color: rgba(21, 26, 28, 0.78) !important;
	    font-size: 12px !important;
	    font-weight: 600 !important;
	    text-align: center !important;
	    text-decoration: none !important;
	}

	html body .forminator-datepicker td a:hover,
	html body .forminator-datepicker .ui-datepicker-current-day a,
	html body .ui-datepicker.forminator-calendar td a:hover,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-current-day a,
	html body .ui-datepicker td a:hover,
	html body .ui-datepicker .ui-datepicker-current-day a {
	    background: rgba(2, 162, 214, 0.12) !important;
	    color: #151a1c !important;
	}

	html body .forminator-datepicker .ui-datepicker-today a,
	html body .ui-datepicker.forminator-calendar .ui-datepicker-today a,
	html body .ui-datepicker .ui-datepicker-today a {
	    box-shadow: inset 0 0 0 1px rgba(2, 162, 214, 0.42) !important;
	}

	@media (max-width: 767px) {
    .forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) {
        max-width: 100% !important;
        padding: 20px !important;
        border-radius: 14px !important;
    }

    .forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-row {
        gap: 18px !important;
    }

    .forminator-ui.forminator-custom-form:not(#forminator-module-1851):not(.forminator-custom-form-1851) .forminator-col {
        flex-basis: 100% !important;
        width: 100% !important;
    }
}

.form-newsletter .forminator-row,
.forminator-field{
    margin: 0!important;
}

.form-newsletter .forminator-row-last .forminator-col{
    display: flex;
    flex-direction: column;
    justify-content: end;
}


/* ========================================
   LEGACY RECETTE STYLES
   ----
   Ces classes .recette-single* sont utilisées par le composant
   `recipe-current-detail` (widget Elementor). Le nouveau single de la
   page recette utilise .single-recette* dans son propre composant
   isolé (components/sections/single-recette/).
   ======================================== */

.recette-single {
    max-width: 800px;
    margin: 0 auto;
}

.recette-single__header {
    margin-bottom: 40px;
}

.recette-single__media {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 24px;
}

.recette-single__img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

.recette-single__intro {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.recette-single__categories {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.recette-single__category {
    display: inline-block;
    padding: 4px 12px;
    background: #e85d04;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    border-radius: 50px;
}

.recette-single__title {
    font-family: 'Mona Sans', sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.2;
    color: #151a1c;
    margin: 0;
}

.recette-single__description {
    margin: 0;
    color: #50575e;
    font-size: 1rem;
    line-height: 1.7;
}

.recette-single__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.recette-single__badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(232, 93, 4, 0.08);
    color: #e85d04;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
}

.recette-single__meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
}

.recette-single__meta-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    font-family: 'Mona Sans', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #151a1c;
    text-transform: none;
    padding: 14px 16px;
    border: 1px solid #eee;
    border-radius: 14px;
    background: #fff;
}

.recette-single__meta-item span {
    color: #8c8ca6;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.recette-single__meta-item strong {
    font-size: 16px;
    color: #151a1c;
}

.recette-single__macros {
    background: #f5f5f5;
    border-radius: 16px;
    padding: 24px;
    margin-bottom: 40px;
}

.recette-single__macros-grid {
    display: flex;
    gap: 32px;
    justify-content: center;
    flex-wrap: wrap;
}

.recette-single__macro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.recette-single__macro-value {
    font-family: 'Mona Sans', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #151a1c;
    line-height: 1;
}

.recette-single__macro-label {
    font-family: 'Mona Sans', sans-serif;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #8c8ca6;
}

.recette-single__body {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 1.7;
    color: #333;
}

.recette-single__body p {
    margin-bottom: 16px;
}

.recette-single__section {
    margin-bottom: 40px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}

.recette-single__section-title {
    font-family: 'Mona Sans', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #151a1c;
    margin: 0 0 16px;
}

.recette-single__section-subtitle {
    margin: -8px 0 20px;
    color: #8c8ca6;
}

.recette-single__nutrition-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
}

.recette-single__nutrition-item,
.recette-single__card {
    padding: 18px;
    border-radius: 16px;
    background: #f8f8f8;
    border: 1px solid #eee;
}

.recette-single__nutrition-label,
.recette-single__card-title {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #8c8ca6;
}

.recette-single__nutrition-value {
    font-size: 1.1rem;
    font-weight: 700;
    color: #151a1c;
}

.recette-single__ingredient-list,
.recette-single__steps-list {
    margin: 0;
    padding-left: 20px;
}

.recette-single__ingredient-item,
.recette-single__step-item {
    margin-bottom: 10px;
    line-height: 1.7;
}

.recette-single__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.recette-single__ingredients ul,
.recette-single__steps ol {
    margin: 0;
    padding-left: 20px;
}

.recette-single__ingredients li,
.recette-single__steps li {
    margin-bottom: 8px;
    line-height: 1.6;
}

/* Formulaire newsletter Forminator 1851 */
body:not(.wp-admin) #forminator-module-1851 {
    background: var(--form-card-background, #fff);
    border-radius: var(--form-card-radius, 15px);
    box-shadow: var(--form-card-shadow, 0 0 10px rgba(0, 0, 0, 0.07));
    padding: 40px 30px;
    display: flex;
    gap: 15px;
}

body:not(.wp-admin) #forminator-module-1851:not(.forminator-size--small)[data-grid=open] .forminator-row:not(.forminator-row-last) {
    width: 100%;
}

body:not(.wp-admin) #forminator-module-1851 :where(
    .forminator-row,
    .forminator-field
) {
    margin-bottom: 13px;
}

body:not(.wp-admin) #forminator-module-1851 .forminator-label {
    display: inline-block;
    margin: 0 0 8px;
    color: var(--form-control-text, #012b54);
    font-family: var(--font-primary, 'Mona Sans', sans-serif);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.15px;
}

body:not(.wp-admin) #forminator-module-1851 :is(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    textarea,
    select
) {
    width: 100%;
    min-height: 45px;
    padding: 8px 17px;
    border: 0;
    border-radius: var(--form-control-radius, 7px);
    outline: 0;
    background-color: var(--form-control-background, #f0f3f8);
    color: var(--form-control-text, #012b54);
    font-family: var(--font-text, 'Mona Sans', sans-serif);
    font-size: 15px;
    font-weight: 400;
    line-height: 28px;
    box-shadow: none;
    transition: box-shadow 180ms ease, background-color 180ms ease;
}

body:not(.wp-admin) #forminator-module-1851 textarea {
    min-height: 120px;
    resize: vertical;
}

body:not(.wp-admin) #forminator-module-1851 select {
    appearance: none;
    padding-right: 42px;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--form-control-text, #012b54) 50%),
        linear-gradient(135deg, var(--form-control-text, #012b54) 50%, transparent 50%);
    background-position:
        calc(100% - 24px) 50%,
        calc(100% - 18px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

body:not(.wp-admin) #forminator-module-1851 input::placeholder,
body:not(.wp-admin) #forminator-module-1851 textarea::placeholder {
    color: var(--form-control-placeholder, #677990);
    opacity: 1;
}

body:not(.wp-admin) #forminator-module-1851 :is(
    input:focus,
    textarea:focus,
    select:focus
) {
    background-color: var(--form-control-background, #f0f3f8);
    box-shadow: 0 0 0 2px rgba(2, 162, 214, 0.24);
}

body:not(.wp-admin) #forminator-module-1851 :is(
    input[type="checkbox"],
    input[type="radio"]
) {
    accent-color: #02a2d6;
}

body:not(.wp-admin) #forminator-module-1851 :is(
    .forminator-button-submit,
    button[type="submit"],
    input[type="submit"]
) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 55px;
    margin-top: 7px;
    padding: 14px 20px;
    border: 0;
    border-radius: 50px;
    background: var(--form-submit-gradient, linear-gradient(144deg, #02a2d6 0%, #1ec9ff 50%));
    color: #fff;
    font-family: var(--font-primary, 'Mona Sans', sans-serif);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    cursor: pointer;
    box-shadow: none;
    transition: filter 180ms ease, transform 180ms ease;
}

body:not(.wp-admin) #forminator-module-1851 :is(
    .forminator-button-submit:hover,
    button[type="submit"]:hover,
    input[type="submit"]:hover
) {
    filter: brightness(1.04);
    transform: translateY(-1px);
}

body:not(.wp-admin) #forminator-module-1851 .forminator-response-message {
    border-radius: var(--form-control-radius, 7px);
    font-family: var(--font-text, 'Mona Sans', sans-serif);
    font-size: 15px;
    line-height: 1.4;
}

@media (max-width: 767px) {
    body:not(.wp-admin) #forminator-module-1851 {
        padding: 30px 20px;
    }
}

.bwa-archive-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 32px;
}

.bwa-archive-controls__filters {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
}

.bwa-archive-controls__filter {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 39px;
    min-width: 0;
    padding: 10px 15px;
    border: 1px solid #787878;
    border-radius: 50px;
    background: transparent;
    color: var(--dark, #151a1c);
    font-family: "Mona Sans", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    cursor: pointer;
    transition: background 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.bwa-archive-controls__filter:hover,
.bwa-archive-controls__filter:focus-visible {
    border-color: #006a99;
    color: #006a99;
}

.bwa-archive-controls__filter:focus-visible {
    outline: 2px solid rgba(2, 162, 214, 0.34);
    outline-offset: 3px;
}

.bwa-archive-controls__filter.is-active {
    border-color: #006a99;
    background: linear-gradient(110deg, rgba(2, 162, 214, 0.1) 0%, rgba(30, 201, 255, 0.1) 50%);
    color: #006a99;
    font-weight: 600;
}

.bwa-archive-controls__filter.is-active::before {
    content: "";
    display: block;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    background-image:
        linear-gradient(45deg, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px)),
        linear-gradient(-45deg, transparent calc(50% - 1px), currentColor calc(50% - 1px), currentColor calc(50% + 1px), transparent calc(50% + 1px));
    background-position: center;
    background-repeat: no-repeat;
    background-size: 11px 11px;
}

.bwa-archive-controls__sort {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.bwa-archive-controls__sort-label,
.bwa-archive-controls__sort-trigger,
.bwa-archive-controls__sort-option,
.bwa-archive-controls__reset {
    font-family: "Mona Sans", sans-serif;
    letter-spacing: 0;
}

.bwa-archive-controls__sort-label {
    color: var(--dark, #151a1c);
    font-size: 14px;
    font-weight: 500;
}

.bwa-archive-controls__sort-dropdown {
    position: relative;
}

.bwa-archive-controls__sort-trigger {
    display: inline-flex;
    align-items: center;
    min-height: 39px;
    padding: 10px 18px;
    border: 1px solid #787878;
    border-radius: 50px;
    color: var(--dark, #151a1c);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
}

.bwa-archive-controls__sort-trigger::-webkit-details-marker {
    display: none;
}

.bwa-archive-controls__sort-menu {
    position: absolute;
    z-index: 5;
    top: calc(100% + 8px);
    right: 0;
    display: grid;
    min-width: 170px;
    padding: 8px;
    border: 1px solid rgba(120, 120, 120, 0.35);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 16px 35px rgba(21, 26, 28, 0.12);
}

.bwa-archive-controls__sort-option {
    padding: 10px 12px;
    border-radius: 8px;
    color: var(--dark, #151a1c);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

.bwa-archive-controls__sort-option:hover,
.bwa-archive-controls__sort-option.is-active {
    background: rgba(2, 162, 214, 0.1);
    color: #006a99;
}

.bwa-archive-controls__reset {
    color: #006a99;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

@media (max-width: 767px) {
    .bwa-archive-controls {
        align-items: flex-start;
        gap: 18px;
    }

    .bwa-archive-controls__filters {
        flex-wrap: nowrap;
        width: 100%;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }

    .bwa-archive-controls__filters::-webkit-scrollbar {
        display: none;
    }

    .bwa-archive-controls__filter {
        flex: 0 0 auto;
        padding: 10px 24px;
    }

    .bwa-archive-controls__sort {
        margin-left: 0;
    }
}
