.elementor-6572 .elementor-element.elementor-element-f5ef197{--display:flex;--background-transition:0.3s;}.elementor-6572 .elementor-element.elementor-element-f5ef197:not(.elementor-motion-effects-element-type-background), .elementor-6572 .elementor-element.elementor-element-f5ef197 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#02010100;}body.elementor-page-6572:not(.elementor-motion-effects-element-type-background), body.elementor-page-6572 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, #FFFFFF00 0%, #F2295B00 100%);}/* Start custom CSS for container, class: .elementor-element-f5ef197 */:root {
    --apv-bg:      #1a273b; --apv-bg2:     #1e2d45; --apv-bg3:     #152132;
    --apv-ac:      #00b3f0; --apv-acl:     #33c4f3;
    --apv-t:       #ffffff; --apv-tm:      #94a3b8; --apv-td:      #3d5270; --apv-er: #ff4757;
    --apv-b:       rgba(255,255,255,.07); --apv-bg-ac: rgba(0,179,240,.08); --apv-b-ac: rgba(0,179,240,.3);
    --apv-ease:    cubic-bezier(.4,0,.2,1);
}

/* ====================================================
   CORRECTIONS CONTACT FORM 7
   ==================================================== */
.wpcf7-response-output, .wpcf7-not-valid-tip, .wpcf7-spinner { display: none !important; }
.premium-booking-form p, .wpcf7-form-control-wrap { margin: 0 !important; padding: 0 !important; display: block !important; }
.premium-booking-form br, .wpcf7-form-control-wrap br { display: none !important; }

.premium-booking-form { font-family: 'Maven Pro', sans-serif !important; background-color: var(--apv-bg) !important; padding: 48px 52px !important; border-radius: 14px !important; width: 95% !important; max-width: 1000px !important; margin: 44px auto !important; color: var(--apv-t) !important; position: relative !important; box-sizing: border-box !important; border: 1px solid var(--apv-b) !important; }
.premium-booking-form * { box-sizing: border-box !important; }

.form-main-header { text-align: center !important; margin-bottom: 40px !important; }
.form-main-header h2::before { content: 'Contact Sud Motor' !important; display: block !important; font-size: 18px !important; font-weight: 600 !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: var(--apv-ac) !important; margin-bottom: 12px !important; }
.form-main-header h2 { font-size: 28px !important; font-weight: 700 !important; color: var(--apv-t) !important; margin: 0 !important; }

.progress-container { position: relative !important; margin-bottom: 44px !important; }
.progress-line { position: absolute !important; top: 17px !important; left: 12.5% !important; right: 12.5% !important; height: 1px !important; background: var(--apv-b) !important; z-index: 1 !important; overflow: hidden !important; }
.progress-line-fill { position: absolute !important; top: 0; left: 0; bottom: 0 !important; width: 0% !important; background: var(--apv-ac) !important; transition: width .65s var(--apv-ease) !important; }
.progress-steps { display: flex !important; justify-content: space-between !important; position: relative !important; z-index: 2 !important; }
.step-col { display: flex !important; flex-direction: column !important; align-items: center !important; width: 25% !important; gap: 8px !important; }
.step-circle { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: var(--apv-bg) !important; border: 1.5px solid var(--apv-td) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 13px !important; font-weight: 600 !important; color: var(--apv-td) !important; transition: all .35s var(--apv-ease) !important; position: relative !important; }
.step-text { font-size: 10px !important; font-weight: 600 !important; letter-spacing: .5px !important; text-transform: uppercase !important; color: var(--apv-td) !important; text-align: center !important; }
.step-col.completed .step-circle { background: var(--apv-ac) !important; border-color: var(--apv-ac) !important; color: var(--apv-bg) !important; }
.step-col.completed .step-text { color: var(--apv-tm) !important; }
.step-col.active .step-circle { background: var(--apv-bg) !important; border-color: var(--apv-ac) !important; border-width: 2px !important; color: var(--apv-ac) !important; }
.step-col.active .step-text { color: var(--apv-ac) !important; font-weight: 700 !important; }
.form-step { display: none !important; }
.form-step.active { display: block !important; }

/* ====================================================
   3. GRILLES ET INPUTS CLASSIQUES
   ==================================================== */
/* Grille par défaut 50/50 */
.form-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 32px !important; align-items: flex-start !important; }

/* CORRECTION : Grille spécifique pour les dates (Espace réduit et colonne calendrier ajustée) */
.date-row { display: grid !important; grid-template-columns: 330px 1fr !important; gap: 24px !important; align-items: flex-start !important; margin-bottom: 24px !important; }

.margin-top { margin-top: 32px !important; }

.depth-input { margin-bottom: 20px !important; }
.depth-input label { display: block !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; color: var(--apv-t) !important; margin-bottom: 6px !important; margin-top: 0 !important; }
.depth-input input:not([type="checkbox"]):not([type="radio"]), .depth-input select, .depth-input textarea { display: block !important; width: 100% !important; padding: 11px 14px !important; border: 1px solid var(--apv-b) !important; border-radius: 7px !important; background-color: var(--apv-bg2) !important; font-family: 'Maven Pro', sans-serif !important; font-size: 14px !important; color: var(--apv-t) !important; transition: all .2s !important; outline: none !important; }
.premium-booking-form input[type="text"]:focus, .premium-booking-form input[type="email"]:focus, .premium-booking-form input[type="tel"]:focus, .premium-booking-form input[type="number"]:focus, .premium-booking-form textarea:focus, .depth-input input:not([type="checkbox"]):not([type="radio"]):focus { border-color: var(--apv-ac) !important; box-shadow: 0 0 0 2px rgba(0,179,240,.1) !important; outline: none !important; }
.depth-input .wpcf7-form-control::placeholder { color: rgba(148, 163, 184, 0.4) !important; }
.has-error input, .has-error textarea, .custom-dropdown.has-error .dropdown-trigger, .has-error.custom-date, .has-error.hour-btn { border-color: var(--apv-er) !important; box-shadow: 0 0 0 2px rgba(255,71,87,.15) !important; background-color: rgba(255,71,87,.04) !important; }

.custom-dropdown { position: relative !important; width: 100% !important; }
.dropdown-trigger { width: 100% !important; padding: 11px 14px !important; border: 1px solid var(--apv-b) !important; border-radius: 7px !important; background-color: var(--apv-bg2) !important; color: var(--apv-t) !important; font-size: 14px !important; cursor: pointer !important; display: flex !important; justify-content: space-between !important; align-items: center !important; transition: border-color .2s, box-shadow .2s !important; }
.dropdown-trigger::after { content: '\25BE' !important; font-size: 13px !important; color: var(--apv-tm) !important; transition: transform .2s !important; flex-shrink: 0 !important; margin-left: 10px !important; }
.custom-dropdown.open .dropdown-trigger { border-color: var(--apv-ac) !important; box-shadow: 0 0 0 2px rgba(0,179,240,.1) !important; }
.custom-dropdown.open .dropdown-trigger::after { transform: rotate(180deg) !important; }
.dropdown-menu { position: absolute !important; top: calc(100% + 6px) !important; left: 0 !important; right: 0 !important; background-color: var(--apv-bg3) !important; border: 1px solid rgba(0,179,240,.18) !important; border-radius: 8px !important; z-index: 999 !important; display: none !important; max-height: 260px !important; overflow-y: auto !important; box-shadow: 0 10px 25px rgba(0,0,0,0.3) !important; }
.dropdown-menu::-webkit-scrollbar { width: 6px; } .dropdown-menu::-webkit-scrollbar-track { background: var(--apv-bg3); border-radius: 8px; } .dropdown-menu::-webkit-scrollbar-thumb { background: var(--apv-td); border-radius: 8px; }
.custom-dropdown.open .dropdown-menu { display: block !important; animation: apvMenuOpen .2s ease forwards !important; }
@keyframes apvMenuOpen { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
.dropdown-item { padding: 12px 14px !important; color: var(--apv-t) !important; cursor: pointer !important; border-bottom: 1px solid rgba(255,255,255,.04) !important; font-size: 14px !important; transition: background .15s, padding-left .2s !important; }
.dropdown-item:last-child { border-bottom: none !important; }
.dropdown-item:hover { background-color: var(--apv-bg2) !important; color: var(--apv-ac) !important; padding-left: 20px !important; }

.site-cards-container { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 13px !important; margin-bottom: 32px !important; }
.custom-site-card { background-color: var(--apv-bg2) !important; border: 1px solid var(--apv-b) !important; border-radius: 10px !important; cursor: pointer !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; transition: all .22s var(--apv-ease) !important; padding: 0 !important; }
.card-content { padding: 16px 12px 12px !important; }
.card-content h4 { font-size: 13px !important; font-weight: 700 !important; color: var(--apv-t) !important; margin: 0 0 6px !important; }
.card-content p { font-size: 11.5px !important; color: var(--apv-tm) !important; margin: 0 !important; }
.card-circle { width: 8px !important; height: 8px !important; border-radius: 50% !important; border: 1.5px solid var(--apv-td) !important; margin: 10px auto 14px !important; transition: all .25s !important; }
.custom-site-card:hover { border-color: rgba(255,255,255,.13) !important; transform: translateY(-2px) !important; }
.custom-site-card.active { border-color: var(--apv-b-ac) !important; background-color: var(--apv-bg-ac) !important; }
.custom-site-card.active .card-circle { background: var(--apv-ac) !important; border-color: var(--apv-ac) !important; }

.hours-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; width: 100% !important; }
.hour-btn { background-color: var(--apv-bg2) !important; border: 1px solid var(--apv-b) !important; border-radius: 7px !important; padding: 11px 5px !important; text-align: center !important; color: var(--apv-t) !important; font-size: 13px !important; font-weight: 600 !important; cursor: pointer !important; transition: all .2s var(--apv-ease) !important; user-select: none !important; }
.hour-btn:hover { border-color: rgba(255,255,255,.13) !important; background-color: var(--apv-bg3) !important; color: var(--apv-ac) !important; }
.hour-btn.selected { background-color: var(--apv-ac) !important; border-color: var(--apv-ac) !important; color: #000 !important; }

.custom-checkboxes .wpcf7-list-item { display: block !important; margin: 0 0 10px !important; }
.custom-checkboxes label { display: flex !important; align-items: center !important; cursor: pointer !important; color: var(--apv-tm) !important; font-size: 14px !important; font-weight: 400 !important; margin: 0 !important; transition: all .2s !important; }
span.wpcf7-form-control.wpcf7-checkbox { border: none !important; background: transparent !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; }
.custom-checkboxes input[type="checkbox"] { position: absolute !important; opacity: 0 !important; width: 0 !important; height: 0 !important; margin: 0 !important; pointer-events: none !important; }
.custom-checkboxes input[type="hidden"], .custom-checkboxes .wpcf7-form-control-wrap::before, .custom-checkboxes .wpcf7-form-control-wrap::after, .custom-checkboxes .wpcf7-checkbox::before, .custom-checkboxes .wpcf7-checkbox::after { display: none !important; content: none !important; }
.custom-checkboxes .wpcf7-list-item:empty { display: none !important; }
.custom-checkboxes .wpcf7-list-item-label { position: relative !important; display: flex !important; align-items: center !important; }
.custom-checkboxes .wpcf7-list-item-label::before { content: '' !important; display: inline-block !important; width: 17px !important; height: 17px !important; min-width: 17px !important; margin-right: 12px !important; background-color: var(--apv-bg2) !important; border: 1.5px solid var(--apv-td) !important; border-radius: 4px !important; transition: all .18s !important; }
.custom-checkboxes input[type="checkbox"]:checked + .wpcf7-list-item-label::before { background-color: var(--apv-ac) !important; border-color: var(--apv-ac) !important; }
.custom-checkboxes input[type="checkbox"]:checked + .wpcf7-list-item-label::after { content: '\2713' !important; position: absolute !important; left: 4px !important; top: 1px !important; color: var(--apv-bg) !important; font-size: 11px !important; font-weight: 700 !important; }
.custom-checkboxes input[type="checkbox"]:checked + .wpcf7-list-item-label { color: var(--apv-t) !important; font-weight: 700 !important; }
.has-error.custom-checkboxes .wpcf7-list-item-label::before { border-color: var(--apv-er) !important; box-shadow: 0 0 0 2px rgba(255,71,87,.15) !important; background-color: rgba(255,71,87,.04) !important; }
.precision-box { margin-top: 16px !important; padding-left: 32px !important; }

/* ====================================================
   7. CALENDRIERS FLATPICKR (PURIFIÉ)
   ==================================================== */
html body .premium-booking-form .depth-input input.sav-inline-date,
html body .premium-booking-form .depth-input .wpcf7-form-control-wrap input.sav-inline-date { 
    display: none !important; opacity: 0 !important; visibility: hidden !important; position: absolute !important; width: 0 !important; height: 0 !important; padding: 0 !important; margin: 0 !important; border: none !important; pointer-events: none !important;
}

.flatpickr-calendar { 
    background: var(--apv-bg2) !important; border: 1px solid var(--apv-b) !important; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.3) !important; font-family: 'Maven Pro', sans-serif !important; border-radius: 8px !important; 
}
.flatpickr-calendar.inline { box-shadow: none !important; margin-top: 0 !important; }

.flatpickr-months, .flatpickr-month, .flatpickr-weekdays, .flatpickr-current-month { background: transparent !important; }

.flatpickr-months { margin-bottom: 24px !important; position: relative !important; display: flex !important; justify-content: center !important; align-items: center !important; }
.flatpickr-current-month { display: flex !important; justify-content: center !important; align-items: center !important; padding: 0 !important; height: 35px !important; margin-top: 8px !important; }

.flatpickr-current-month .cur-month { font-weight: 700 !important; color: var(--apv-t) !important; margin-right: 8px !important; display: inline-block !important; }

.flatpickr-current-month .flatpickr-monthDropdown-months { 
    appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important;
    background: transparent !important; border: none !important; color: var(--apv-t) !important; font-weight: 700 !important; pointer-events: none !important; 
    padding: 0 !important; margin: 0 8px 0 0 !important; width: auto !important; box-shadow: none !important; outline: none !important;
}

.premium-booking-form .flatpickr-calendar .flatpickr-current-month .numInputWrapper,
.premium-booking-form .flatpickr-calendar .flatpickr-current-month .numInputWrapper:hover,
.premium-booking-form .flatpickr-calendar .flatpickr-current-month .numInputWrapper:focus { 
    background: transparent !important; background-color: transparent !important; border: none !important; border-color: transparent !important; box-shadow: none !important; outline: none !important; padding: 0 !important; margin: 0 !important; width: auto !important; border-radius: 0 !important;
}
.premium-booking-form .flatpickr-calendar .flatpickr-current-month input.cur-year,
.premium-booking-form .flatpickr-calendar .flatpickr-current-month input.cur-year:hover,
.premium-booking-form .flatpickr-calendar .flatpickr-current-month input.cur-year:focus { 
    background: transparent !important; background-color: transparent !important; border: none !important; color: var(--apv-t) !important; font-weight: 400 !important; pointer-events: none !important; 
    padding: 0 !important; margin: 0 !important; box-shadow: none !important; outline: none !important; display: inline-block !important; width: 50px !important;
}
.numInputWrapper span.arrowUp, .numInputWrapper span.arrowDown { display: none !important; }

.flatpickr-prev-month svg, .flatpickr-next-month svg { display: none !important; }
.flatpickr-prev-month, .flatpickr-next-month { display: flex !important; align-items: center !important; justify-content: center !important; position: absolute !important; top: 12px !important; height: 30px !important; padding: 0 15px !important; z-index: 10 !important; }
.flatpickr-prev-month { left: 0 !important; }
.flatpickr-next-month { right: 0 !important; }
.flatpickr-prev-month.flatpickr-disabled { display: none !important; }

.flatpickr-next-month::after, .flatpickr-prev-month::after { content: '' !important; display: block !important; width: 10px !important; height: 10px !important; border-top: 2px solid var(--apv-ac) !important; border-right: 2px solid var(--apv-ac) !important; transition: border-color .2s !important; }
.flatpickr-next-month::after { transform: rotate(45deg) !important; }
.flatpickr-prev-month::after { transform: rotate(-135deg) !important; }
.flatpickr-next-month:hover::after, .flatpickr-prev-month:hover::after { border-color: var(--apv-acl) !important; }

span.flatpickr-weekday { color: var(--apv-ac) !important; font-weight: 700 !important; background: transparent !important; border: none !important; }

.flatpickr-day { color: var(--apv-t) !important; border-radius: 4px !important; background: transparent !important; border-color: transparent !important; }
.flatpickr-day:hover { background: var(--apv-bg3) !important; border-color: var(--apv-bg3) !important; color: var(--apv-t) !important; }
.flatpickr-day.selected { background: var(--apv-ac) !important; border-color: var(--apv-ac) !important; color: #000 !important; font-weight: 700 !important; }

.flatpickr-day.flatpickr-disabled, .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay { color: var(--apv-td) !important; text-decoration: line-through !important; opacity: 0.5 !important; }

/* ====================================================
   8. ALERTES ET BOUTONS
   ==================================================== */
.alert-message { background: rgba(0,179,240,.07) !important; border: 1px solid rgba(0,179,240,.15) !important; color: rgba(100,210,245,.9) !important; padding: 11px 15px !important; border-radius: 8px !important; font-size: 13px !important; text-align: center !important; margin-bottom: 32px !important; }
.step-error-msg { background: rgba(255,71,87,.15) !important; border: 2px solid rgba(255,71,87,.4) !important; color: #ff6b7a !important; padding: 12px 15px !important; border-radius: 8px !important; font-size: 13.5px !important; font-weight: 600 !important; text-align: center !important; margin-bottom: 32px !important; }
.step-actions { margin-top: 32px !important; width: 100% !important; display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: center !important; }
.step-actions p { display: flex !important; flex-direction: row !important; width: 100% !important; justify-content: space-between !important; align-items: center !important; margin: 0 !important; padding: 0 !important; }
.btn-prev { margin-right: auto !important; }
.btn-next, .js-submit-sav { margin-left: auto !important; }
.btn-action { background-color: var(--apv-ac) !important; color: #0a111a !important; border: none !important; padding: 14px 32px !important; font-family: 'Maven Pro', sans-serif !important; font-size: 14px !important; font-weight: 700 !important; border-radius: 7px !important; cursor: pointer !important; transition: background-color .2s, transform .2s !important; }
.btn-action:hover { background-color: var(--apv-acl) !important; transform: translateY(-2px) !important; }
.btn-action.ghost { background-color: transparent !important; color: var(--apv-tm) !important; border: 1px solid var(--apv-b) !important; transform: none !important; padding: 8px 16px !important; font-size: 18px !important; display: flex !important; align-items: center !important; justify-content: center !important; }

/* ====================================================
   9. SUCCÈS ET RESPONSIVE
   ==================================================== */
.success-message { text-align: center !important; padding: 40px 20px !important; }
.success-icon { width: 50px !important; height: 50px !important; background: var(--apv-bg-ac) !important; color: var(--apv-ac) !important; border: 2px solid var(--apv-ac) !important; border-radius: 50% !important; font-size: 28px !important; font-weight: bold !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 24px !important; }
.success-message h3 { font-size: 24px !important; color: var(--apv-t) !important; margin-bottom: 12px !important; }
.success-message p { font-size: 15px !important; color: var(--apv-tm) !important; line-height: 1.6 !important; margin-bottom: 10px !important; }

@media (max-width: 900px) { .site-cards-container { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 768px) {
    .premium-booking-form { padding: 32px 20px !important; width: 95% !important; }
    .progress-line { display: none !important; }
    .progress-steps { flex-direction: column !important; gap: 12px !important; align-items: flex-start !important; }
    .step-col { width: 100% !important; flex-direction: row !important; gap: 12px !important; }
    .form-grid, .date-row { grid-template-columns: 1fr !important; gap: 16px !important; }
}/* End custom CSS */
/* Start custom CSS *//* Rend les couches superposées du thème transparentes pour laisser voir le fond */
#page, #content, .site, .elementor-page {
    background-color: transparent !important;
    background-image: none !important;
}

/* Applique le dégradé au niveau le plus bas (le body) */
body, html {
    min-height: 100vh;
    width: 100%;
    margin: 0;
    padding: 0;
    
    background-color: var(--mg-noir) !important;
    background-image: 
        radial-gradient(
            circle at 0% 0%, 
            var(--mg-rouge) 0%, 
            var(--mg-bordeaux) 30%, 
            transparent 70%
        ),
        linear-gradient(
            135deg, 
            var(--mg-bordeaux) 0%, 
            var(--mg-aubergine) 70%, 
            var(--mg-noir) 100%
        ) !important;
        
    background-attachment: fixed !important;
}/* End custom CSS */