/* Custom Website Styles */

.modal-overlay {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

body.modal-inquiry-open .modal-inquiry,
body.modal-appointment-open .modal-appointment,
body.modal-career-open .modal-career,
body.modal-monteur-open .modal-monteur,
body.modal-referral-open .modal-referral,
body.modal-object-open .modal-object {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.modal-content {
    transform: translateY(20px);
    transition: transform 0.3s ease;
}

body.modal-inquiry-open .modal-inquiry .modal-content,
body.modal-appointment-open .modal-appointment .modal-content,
body.modal-career-open .modal-career .modal-content,
body.modal-monteur-open .modal-monteur .modal-content,
body.modal-referral-open .modal-referral .modal-content,
body.modal-object-open .modal-object .modal-content {
    transform: translateY(0);
}

form.form-success .form-fields { display: none; }
form.form-success .form-success-msg { display: block !important; }
.form-success-msg { display: none; }

body.modal-inquiry-open, 
body.modal-appointment-open,
body.modal-career-open,
body.modal-monteur-open,
body.modal-referral-open,
body.modal-object-open {
    overflow: hidden;
}

/* Multi-step form visual logic */
.form-step { display: none; }
.form-step.active { display: block; }

.step-indicator-dot.active { background-color: #4CAF50; border-color: #4CAF50; }
.step-indicator-dot.completed { background-color: #4CAF50; border-color: #4CAF50; }

/* Keep dialog headings clear of the close button on narrow screens. */
.modal-content .form-fields > h2 { padding-right: 2rem; overflow-wrap: anywhere; }
