/*  Reset */
body [type=button],
body [type=submit],
body button{
    background: unset;
    padding: unset;
    cursor: pointer;
    color: inherit;
}

body [type=button]:focus,
body [type=button]:hover,
body [type=submit]:focus,
body [type=submit]:hover,
body button:focus,
body button:hover {
	background-color: inherit;
	color: inherit;
}

.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;
}



/* custom Buttons */

body .site-container a.custom-btn.alternating-card__btn{
    max-width: fit-content!important;
    padding: 12px 35px !important;
    margin-top: 40px;
}


/* default button */
.um form input[type=submit].um-button,
.um form .um-field a,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit,
.site-container a.custom-btn,
.site-container button.custom-btn,
.site-container .items-slider__category.custom-btn,
.site-container .elementor-widget-button a.elementor-button,
.site-container a.wp-element-button{
    /*background: var(--color-secondary);*/
    border-radius: 27px;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
    transition: transform .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-bold);
    line-height: normal;
    text-transform: uppercase;
}

.um form input[type=submit].um-button:before,
.um form .um-field a:before,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:before,
a.custom-btn:before,
button.custom-btn:before,
.site-container .items-slider__category.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,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:after,
.site-container a.custom-btn:after,
.site-container button.custom-btn:after,
.site-container .items-slider__category.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) 35%);
    background-size: 200%;
    background-position: 0%;
    padding: 2px;
    position: absolute;
    z-index: 1;
    transition: background-position .4s ease-out;
}

.um form input[type=submit].um-button:hover,
.um form .um-field a:hover,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:hover,
.site-container a.custom-btn:hover,
.site-container button.custom-btn:hover,
.site-container .items-slider__category.custom-btn:hover,
.site-container .elementor-widget-button a.elementor-button:hover,
.site-container a.wp-element-button:hover{
    transition: transform .1s ease-out;
    transform: translateY(2px);
}

.um form input[type=submit].um-button:hover:after,
.um form .um-field a:hover:after,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:hover:after,
.site-container a.custom-btn:hover:after,
.site-container button.custom-btn:hover:after,
.site-container .items-slider__category.custom-btn:hover:after,
.site-container .elementor-widget-button a.elementor-button:hover:after,
.site-container a.wp-element-button:hover:after {
    background-position: 99%;
    transition: background-position .4s ease-in;
}

.um form input[type=submit].um-button:hover:before,
.um form .um-field a:hover:before,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:hover:before,
.site-container a.custom-btn:hover:before,
.site-container button.custom-btn:hover:before,
.site-container .items-slider__category.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,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:active,
.site-container a.custom-btn:active,
.site-container button.custom-btn:active,
.site-container .items-slider__category.custom-btn:active,
.site-container .elementor-widget-button a.elementor-button:active,
.site-container a.wp-element-button:active{
    transition: transform .05s ease-out;
    transform: translateY(7px);
}

.um form input[type=submit].um-button:active:before,
.um form .um-field a:active:before,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:active:before,
.site-container a.custom-btn:active:before,
.site-container button.custom-btn:active:before,
.site-container .items-slider__category.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);
}


.site-container a.custom-btn--small:not(.custom-btn--outline):after,
.site-container button.custom-btn--small:not(.custom-btn--outline):after,
.site-container .items-slider__category.custom-btn--small:not(.custom-btn--outline):after{
    padding: 1px;
}

/* 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 .items-slider__category.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 .items-slider__category.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{

}

.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,
.site-container .items-slider__category.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.custom-btn--no-shadow:before,
.site-container button.custom-btn.custom-btn--outline-dark.custom-btn--no-shadow:before,
.site-container a.custom-btn.custom-btn--outline-primary.custom-btn--no-shadow:before,
.site-container button.custom-btn.custom-btn--outline-primary.custom-btn--no-shadow:before,
.site-container .items-slider__category.custom-btn.custom-btn--outline-primary.custom-btn--no-shadow: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);
    padding: 1px;
}


/*buton outline primary*/
.site-container a.custom-btn.custom-btn--outline-primary,
.site-container button.custom-btn.custom-btn--outline-primary,
.site-container .items-slider__category.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,
.site-container .items-slider__category.custom-btn.custom-btn--outline-primary:after{
    background: var(--color-primary);
    padding: 1px;
}

/*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%);
}

.site-container a.custom-btn.custom-btn--primary,
.site-container button.custom-btn.custom-btn--primary,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit,
.site-container .items-slider__category.custom-btn.custom-btn--primary{
    background: #ED1D24;
    color: var(--color-white, #FFFFFF);
    font-weight: var(--font-weight-bold);
}

.site-container a.custom-btn.custom-btn--primary:before,
.site-container button.custom-btn.custom-btn--primary:before,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:before,
.site-container .items-slider__category.custom-btn.custom-btn--primary:before{
    content: none;
}

.site-container a.custom-btn.custom-btn--primary:after,
.site-container button.custom-btn.custom-btn--primary:after,
html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit:after,
.site-container .items-slider__category.custom-btn.custom-btn--primary:after{
    background: #ED1D24;
}

html body .site-container .forminator-ui.forminator-design--default .forminator-button-submit{
    width: fit-content;
    max-width: unset;
}

/* ========================================
   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: transform 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));
    transform-origin: bottom right;
    transform: translate(-100%, -100%) rotate(180deg);
}

/* Variante: Coins non animés (toujours visibles) */
.animate-corners--static:before {
    transform: scale(1);
}
.animate-corners--static:after {
    transform: translate(-100%, -100%) rotate(180deg) scale(1);
}

/* Variante: Coins au démarrage cachés (pour animation viewport) */
.animate-corners--hidden:before {
    transform: scale(0);
}
.animate-corners--hidden:after {
    transform: translate(-100%, -100%) rotate(180deg) scale(0);
}

/* Variante: Coins visibles (déclenché par JS au scroll) */
.animate-corners--visible:before {
    transform: scale(1);
}
.animate-corners--visible:after {
    transform: translate(-100%, -100%) rotate(180deg) scale(1);
}

/* Variante: Petite version (24px, épaisseur 1px) */
.animate-corners--small {
    --corner-size: 34px;
    --corner-offset-x: -32px;
    --corner-offset-y: -26px;
    --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.60)!important;
    font-family: var(--font-primary)!important;
    font-size: 20px!important;
    font-weight: 400!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;
}

/* --- 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: transform 0.3s ease, opacity 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 .forminator-response-message.forminator-success,
.site-container form .success-message,
.site-container .elementor-message-success {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--color-white);
    background-color: var(--color-accent);
    padding: 10px 20px;
    border: 0;
    border-radius: 30px;
    box-shadow: none;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 14px;
    line-height: 1.4;
    margin-top: var(--spacing-sm);
}

.site-container .forminator-response-message.forminator-success::before {
    content: "";
    display: block;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    background: url("../svg/tick.svg") center / contain no-repeat;
}

.site-container .forminator-response-message.forminator-success p {
    margin: 0;
    font: inherit;
    color: inherit;
}

/* --- 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: none!important;
    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), 1)!important;
    color: #ffffff!important;
}


.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;

}

.site-container .forminator-ui#forminator-module-429.forminator-design--default .forminator-response-message.forminator-success {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: var(--color-white) !important;
    background-color: var(--color-accent) !important;
    padding: 10px 30px 10px 11px !important;
    width: 100%;
    border: 0 !important;
    border-radius: 30px !important;
    box-shadow: none !important;
    font-family: var(--font-primary) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    margin-top: var(--spacing-sm) !important;
}

.site-container .forminator-ui#forminator-module-429.forminator-design--default .forminator-response-message.forminator-success::before {
    content: "";
    display: block;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    background: url("../svg/tick.svg") center / contain no-repeat;
}

.site-container .forminator-ui#forminator-module-429.forminator-design--default .forminator-response-message.forminator-success p {
    margin: 0 0 0 auto!important;
    padding: 0 !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
}


/* ========================================
   SCROLLBARS - Style global
   ======================================== */

/* --- Webkit (Chrome, Safari, Edge) --- */

/* Scrollbar principale de la page : largeur standard, sans fond */
html::-webkit-scrollbar {
    width: 8px;
}
html::-webkit-scrollbar-track {
    background: transparent;
}
html::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: 1px;
}
html::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary-darker);
}

/* Scrollbars internes (overflow: auto/scroll sur les éléments) */
*::-webkit-scrollbar {
    width: 2px;
    height: 2px;
}
*::-webkit-scrollbar-track {
    background: rgba(215, 215, 215, 0.50);
}
*::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: 1px;
}
*::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary-darker);
}

/* --- Firefox --- */
html {
    scrollbar-width: thin;
    scrollbar-color: var(--color-primary) transparent;
}
* {
    scrollbar-width: thin;
    scrollbar-color: var(--color-primary) rgba(215, 215, 215, 0.50);
}
