.elementor-1101 .elementor-element.elementor-element-d845d83{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1101 .elementor-element.elementor-element-1ef0d12{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1101 .elementor-element.elementor-element-5b98a3a{margin:30px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}body.elementor-page-1101{margin:0px 0px 0px 0px;}/* Start custom CSS for shortcode, class: .elementor-element-5b98a3a */:root {
    --em-rouge-honda: #e10600;
    --em-noir: #050505;
    --em-champs: #222222; /* Éclairci (anciennement #1a1a1a) pour bien se détacher du formulaire */
    --em-blanc: #ffffff;
}

/* =========================
   FOND DE LA PAGE EN NOIR
   ========================= */
body, .elementor-page {
    background-color: #000000 !important;
}

/* =========================
   CONTENEUR FORMULAIRE
   ========================= */
.glass-form-container {
    position: relative;
    /* Fond gris anthracite pour ressortir sur la page noire */
    background: rgba(26, 26, 26, 0.95) !important; 
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    /* Bordure légèrement plus blanche pour bien détourer la carte */
    border: 1px solid rgba(255, 255, 255, 0.15) !important; 
    border-radius: 12px !important;
    padding: 40px !important;
    /* Ombre profonde + un très léger halo rouge Honda en arrière-plan */
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.9), 0 0 40px rgba(225, 6, 0, 0.08) !important; 
    overflow: visible !important;
}

#form_main_title {
    color: var(--em-blanc) !important;
    font-weight: 800 !important;
    text-align: center;
    margin-bottom: 25px;
    text-transform: uppercase;
}

.glass-hr {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin: 28px 0;
}

/* =========================
   STRUCTURE ET ESPACEMENT
   ========================= */
.cf-field {
    margin-bottom: 18px;
    position: relative;
    overflow: visible !important;
}

/* On cache les retours à la ligne générés par CF7 */
.cf-field br {
    display: none !important;
}

.cf-field label {
    display: block !important;
    color: var(--em-blanc) !important;
    font-weight: 500 !important;
    margin-bottom: 5px !important;
    line-height: 1.2 !important;
}

/* =========================
   CHAMPS NATIFS
   ========================= */
.glass-form-container input:not([type="submit"]):not([type="checkbox"]),
.glass-form-container textarea,
.glass-form-container select {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    background-color: var(--em-champs) !important;
    color: var(--em-blanc) !important;
    font-size: 15px !important;
    font-family: inherit !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.glass-form-container input::placeholder,
.glass-form-container textarea::placeholder {
    color: rgba(255,255,255,0.4) !important;
}

.glass-form-container input:focus,
.glass-form-container textarea:focus,
.glass-form-container select:focus {
    background-color: #000000 !important;
    border-color: var(--em-rouge-honda) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(225, 6, 0, 0.2) !important;
}

.glass-form-container textarea {
    min-height: 140px;
    resize: vertical;
}

/* =========================
   BOUTON ENVOI
   ========================= */
.glass-form-container input[type="submit"] {
    width: 100% !important;
    background-color: var(--em-rouge-honda) !important;
    color: var(--em-blanc) !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 16px 30px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin-top: 20px !important;
}

.glass-form-container input[type="submit"]:hover {
    background-color: var(--em-blanc) !important;
    color: var(--em-rouge-honda) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 20px rgba(225, 6, 0, 0.3) !important;
}

/* =========================
   RGPD / CHECKBOX
   ========================= */
.wpcf7-list-item { margin: 0 !important; }
.wpcf7-list-item label { display: flex !important; align-items: flex-start; gap: 10px; }
.wpcf7-list-item input[type="checkbox"] { width: auto !important; margin-top: 4px; flex: 0 0 auto; }
.wpcf7-list-item-label { color: rgba(255, 255, 255, 0.8) !important; font-size: 13px !important; line-height: 1.5; }

/* =========================
   ERREURS (BORDURE ROUGE UNIQUEMENT)
   ========================= */
.wpcf7-not-valid-tip,
.wpcf7-response-output,
.wpcf7-validation-errors {
    display: none !important;
}

.glass-form-container .wpcf7-not-valid,
.glass-form-container .wpcf7-form-control-wrap.has-error input:not([type="submit"]):not([type="checkbox"]),
.glass-form-container .wpcf7-form-control-wrap.has-error textarea,
.glass-form-container .wpcf7-form-control-wrap.has-error select,
.glass-form-container .wpcf7-form-control-wrap.has-error .select2-container--default .select2-selection--single {
    border-color: var(--em-rouge-honda) !important;
    box-shadow: 0 0 0 3px rgba(225, 6, 0, 0.2) !important;
}

.glass-form-container .wpcf7-form-control-wrap.has-error input[type="checkbox"] {
    outline: 2px solid var(--em-rouge-honda) !important;
    outline-offset: 3px !important;
}

/* =========================
   SELECT2
   ========================= */
.select2-container { width: 100% !important; display: block !important; }
.select2-container--default .select2-selection--single {
    background-color: var(--em-champs) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 8px !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--em-blanc) !important; padding-left: 16px !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: var(--em-blanc) transparent transparent transparent !important; }
.select2-dropdown {
    background-color: var(--em-noir) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 0 0 8px 8px !important;
    z-index: 99999 !important;
}
.select2-results__option { background-color: transparent !important; color: var(--em-blanc) !important; padding: 12px 16px !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"] {
    background-color: var(--em-rouge-honda) !important;
    color: var(--em-blanc) !important;
}
.select2-search { display: none !important; }

/* =========================
   FLATPICKR (CALENDRIER)
   ========================= */
input.date-flatpickr {
    cursor: pointer !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e10600' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    background-size: 20px !important;
    padding-right: 45px !important;
}
.flatpickr-calendar { background: var(--em-noir) !important; border: 1px solid rgba(255, 255, 255, 0.12) !important; border-radius: 12px !important; }
.flatpickr-month, .flatpickr-weekdays, .flatpickr-days { background: transparent !important; }
.flatpickr-day { color: var(--em-blanc) !important; }
.flatpickr-day:hover, .flatpickr-day.today { border-color: var(--em-rouge-honda) !important; }
.flatpickr-day.selected { background: var(--em-rouge-honda) !important; border-color: var(--em-rouge-honda) !important; color: var(--em-blanc) !important; }
.flatpickr-prev-month svg, .flatpickr-next-month svg { fill: var(--em-rouge-honda) !important; }

/* Jours désactivés grisés */
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.notAllowed,
.flatpickr-day.notAllowed.prevMonthDay,
.flatpickr-day.notAllowed.nextMonthDay {
    color: rgba(255, 255, 255, 0.2) !important;
    background: transparent !important;
    border-color: transparent !important;
    cursor: not-allowed !important;
}

/* =========================
   MODALE POP-UP (CHARGEMENT, ERREUR & SUCCÈS)
   ========================= */
.em-modal-backdrop {
    position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.8); backdrop-filter: blur(5px);
    z-index: 100000; opacity: 0; visibility: hidden; transition: 0.3s ease;
}
.em-modal-backdrop.is-visible { opacity: 1; visibility: visible; }

.em-message-card {
    position: fixed; top: 50%; left: 50%; transform: translate(-50%, -45%) scale(0.95);
    background: #1a1a1a; /* Légèrement éclairci pour matcher le formulaire */
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 40px; border-radius: 12px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.9);
    z-index: 100001; opacity: 0; visibility: hidden; transition: 0.3s ease; text-align: center;
    min-width: 300px;
}
.em-message-card.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, -50%) scale(1); }

.em-message-card.is-loading { border-top: 4px solid var(--em-rouge-honda); }
.em-message-card.is-success { border-top: 4px solid #28a745; }
.em-message-card.is-error { border-top: 4px solid #d9534f; }

.em-message-card-icon { display: flex; justify-content: center; margin-bottom: 20px; font-size: 3rem; }
.em-message-card.is-success .em-message-card-icon { color: #28a745; }
.em-message-card.is-error .em-message-card-icon { color: #d9534f; }

/* SPINNER UNIQUE DE CHARGEMENT */
.em-message-card.is-loading .em-message-card-icon::after {
    content: ""; display: block; width: 60px; height: 60px;
    border: 4px solid rgba(225, 6, 0, 0.2); border-top: 4px solid var(--em-rouge-honda);
    border-radius: 50%; animation: emSpin 1s linear infinite;
}
@keyframes emSpin { 100% { transform: rotate(360deg); } }

.em-message-card-title { font-size: 1.5em; font-weight: 800; color: var(--em-blanc); margin-bottom: 10px; }
.em-message-card-text { color: rgba(255,255,255,0.7); font-size: 1.1em; line-height: 1.5; }

.em-close-card-btn {
    position: absolute; top: 15px; right: 15px; background: none; border: none;
    font-size: 24px; color: rgba(255,255,255,0.5); cursor: pointer; transition: 0.2s;
}
.em-close-card-btn:hover { color: var(--em-rouge-honda); }

@media (max-width: 767px) {
    .glass-form-container { padding: 24px !important; }
    .em-message-card { padding: 30px 20px; }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d845d83 */.elementor-1101 .elementor-element.elementor-element-d845d83 {
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-inline-start: 0px !important;
    padding-inline-end: 0px !important;
}/* End custom CSS */