/* ============================================ */
/* Moving Quote Form Plugin Styles (Scoped)     */
/* Prefix: mqfp-                              */
/* Container ID: #mqfp-container              */
/* Version: 1.3.11 (Simplified Success Msg CSS)*/
/* ============================================ */

/* Basic Reset & Defaults */
#mqfp-container *, #mqfp-container *::before, #mqfp-container *::after { box-sizing: border-box; }
#mqfp-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 1rem; line-height: 1.6; color: #333; background-color: #fff; padding: 30px 40px; margin: 30px auto; max-width: 750px; border-radius: 8px; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1); border: 1px solid #e0e0e0; overflow: hidden; }

/* Headings, Progress Bar, Form Pages, Elements, Radios, Errors, Navigation, Loading, Hidden - Unchanged */
/* ... (Keep all the CSS rules from the stable version for these sections) ... */
#mqfp-container .mqfp-page-title { font-size: 1.5em; font-weight: 600; color: #333; text-align: center; margin-top: 0; margin-bottom: 35px; padding-bottom: 15px; border-bottom: 1px solid #eee; }
#mqfp-container .mqfp-progress-bar { display: flex; list-style: none; padding: 0; margin: 0 auto 45px auto; justify-content: space-between; max-width: 90%; counter-reset: step; }
#mqfp-container .mqfp-progress-step { position: relative; text-align: center; color: #aaa; flex: 1; font-size: 0.9em; font-weight: 500; padding-top: 45px; transition: color 0.4s ease; }
#mqfp-container .mqfp-progress-step::before { content: counter(step); counter-increment: step; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 34px; height: 34px; line-height: 30px; border: 2px solid #ccc; border-radius: 50%; background-color: #fff; color: #aaa; font-weight: bold; font-size: 1em; text-align: center; z-index: 2; transition: all 0.4s ease; }
#mqfp-container .mqfp-progress-step::after { content: ''; position: absolute; top: 17px; left: -50%; width: 100%; height: 2px; background-color: #ccc; z-index: 1; transition: background-color 0.4s ease; }
#mqfp-container .mqfp-progress-step:first-child::after { content: none; }
#mqfp-container .mqfp-progress-step.active { color: #fc8d1e; font-weight: 600; }
#mqfp-container .mqfp-progress-step.active::before { border-color: #fc8d1e; background-color: #fc8d1e; color: #fff; }
#mqfp-container .mqfp-progress-step.active + .mqfp-progress-step::after { background-color: #fc8d1e; }
#mqfp-container .mqfp-page { display: none; animation: mqfpFadeIn 0.5s ease-out; }
#mqfp-container .mqfp-page.active { display: block; }
@keyframes mqfpFadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
#mqfp-container .mqfp-form-group { margin-bottom: 28px; position: relative; }
#mqfp-container label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 0.95em; color: #444; }
#mqfp-container .mqfp-required { color: #e74c3c; margin-left: 4px; font-weight: bold; }
#mqfp-container input[type="text"], #mqfp-container input[type="email"], #mqfp-container input[type="tel"], #mqfp-container input[type="number"], #mqfp-container input[type="date"], #mqfp-container select, #mqfp-container textarea { display: block; width: 100%; padding: 12px 15px; border: 1px solid #ccc; border-radius: 5px; font-size: 1em; background-color: #fefefe; color: #333; transition: border-color 0.2s ease, box-shadow 0.2s ease; line-height: inherit; }
#mqfp-container input[type="date"] { padding: 11px 15px; }
#mqfp-container input:focus, #mqfp-container select:focus, #mqfp-container textarea:focus { border-color: #fc8d1e; box-shadow: 0 0 0 3px rgba(252, 141, 30, 0.2); outline: none; }
#mqfp-container textarea { resize: vertical; min-height: 110px; }
#mqfp-container select { appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23555'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 1em 1em; padding-right: 40px; cursor: pointer; }
#mqfp-container select:disabled { opacity: 0.6; cursor: not-allowed; background-color: #f0f0f0; }
#mqfp-container .mqfp-radio-group .mqfp-radio-group-label { margin-bottom: 12px; display: block; }
#mqfp-container .mqfp-radio-group .mqfp-radio-option { display: inline-flex; align-items: center; margin-right: 30px; margin-bottom: 10px; cursor: pointer; position: relative; }
#mqfp-container .mqfp-radio-group input[type="radio"] { accent-color: #fc8d1e; width: 1.1em; height: 1.1em; margin-right: 8px; flex-shrink: 0; cursor: pointer; vertical-align: middle; }
#mqfp-container .mqfp-radio-group .mqfp-radio-option label { display: inline; font-weight: normal; margin-bottom: 0; cursor: pointer; color: #444; line-height: 1.3; vertical-align: middle; }
#mqfp-container .mqfp-error-message { color: #d9534f; font-size: 0.88em; margin-top: 8px; display: none; font-weight: 500; width: 100%; }
#mqfp-container .mqfp-error-message.radio-error { margin-top: 10px; }
#mqfp-container input.mqfp-invalid, #mqfp-container select.mqfp-invalid, #mqfp-container textarea.mqfp-invalid { border-color: #d9534f !important; background-color: #fff7f7; box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.2) !important; }
#mqfp-container .mqfp-radio-group.mqfp-invalid > .mqfp-radio-group-label { color: #d9534f; }
#mqfp-container .mqfp-navigation { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 15px; margin-top: 40px; padding-top: 25px; border-top: 1px solid #eee; }
#mqfp-container .mqfp-btn { padding: 13px 30px; font-size: 1.05em; font-weight: bold; border: none; border-radius: 6px; cursor: pointer; transition: background-color 0.25s ease, transform 0.1s ease, box-shadow 0.25s ease; flex: 1 1 auto; text-align: center; box-shadow: 0 2px 5px rgba(0,0,0,0.08); letter-spacing: 0.5px; }
@media (min-width: 500px) { #mqfp-container .mqfp-btn { flex: 0 1 auto; } }
#mqfp-container .mqfp-btn-prev { background-color: #f0f0f0; color: #555; order: 1; border: 1px solid #ddd; box-shadow: none; }
#mqfp-container .mqfp-btn-prev:hover { background-color: #e6e6e6; border-color: #ccc; }
#mqfp-container .mqfp-btn-next, #mqfp-container .mqfp-btn-submit { background-color: #fc8d1e; color: #fff; order: 2; }
#mqfp-container .mqfp-btn-next:hover, #mqfp-container .mqfp-btn-submit:hover { background-color: #e07b1a; box-shadow: 0 4px 10px rgba(0,0,0,0.12); }
#mqfp-container .mqfp-btn:active { transform: translateY(1px); box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); }
#mqfp-container .mqfp-btn:disabled, #mqfp-container .mqfp-btn.loading { opacity: 0.65; cursor: not-allowed; background-color: #aaa; box-shadow: none; color: #f5f5f5; }
#mqfp-container .mqfp-btn-prev:disabled { background-color: #e9ecef; color: #999; border-color: #ddd; }
#mqfp-container .mqfp-btn-submit.loading { position: relative; color: transparent !important; cursor: wait; background-color: #e07b1a !important; opacity: 0.8 !important; }
#mqfp-container .mqfp-btn-submit.loading::after { content: ''; position: absolute; width: 20px; height: 20px; top: 50%; left: 50%; margin: -10px 0 0 -10px; border: 3px solid rgba(255, 255, 255, 0.3); border-top-color: #fff; border-radius: 50%; animation: mqfpSpin 0.8s linear infinite; }
@keyframes mqfpSpin { to { transform: rotate(360deg); } }
#mqfp-container .hidden { display: none !important; visibility: hidden; opacity: 0; height: 0; margin: 0; padding: 0; border: 0; overflow: hidden; }
#mqfp-container .mqfp-hr { border: none; border-top: 1px solid #eee; margin: 35px 0; }
#mqfp-container .mqfp-form-submitting { position: relative; }


/* === Form Status Messages - Simplified Styles === */
#mqfp-container .mqfp-form-status {
    margin: 20px 0 5px 0; /* Adjusted margin for placement below form */
    padding: 15px 20px; /* Adjusted padding */
    border-radius: 6px;
    font-weight: 500;
    display: none; /* Hidden initially */
    clear: both;
    border-width: 1px;
    border-style: solid;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    text-align: left; /* Default to left align */
}
#mqfp-container .mqfp-form-status.success,
#mqfp-container .mqfp-form-status.error {
    display: block; /* Make visible */
    opacity: 1; /* Fade in */
}

/* Success Message Specific Styles (Simple Text) */
#mqfp-container .mqfp-form-status.success {
    background-color: #dff0d8; /* Light green background */
    color: #3c763d; /* Dark green text */
    border-color: #d6e9c6; /* Green border */
    /* text-align: center; */ /* Uncomment this if you prefer centered text */
}
/* No styles needed for icon or special text formatting anymore */

/* Error Message Specific Styles */
#mqfp-container .mqfp-form-status.error {
    background-color: #f8d7da; /* Light red background */
    color: #842029; /* Dark red text */
    border-color: #f5c2c7; /* Red border */
    text-align: left;
}
#mqfp-container .mqfp-form-status.error ul { margin-top: 10px; margin-bottom: 0; padding-left: 20px; text-align: left; }
#mqfp-container .mqfp-form-status.error li { margin-bottom: 6px; }
#mqfp-container .mqfp-form-status.error strong { font-weight: bold; }
/* ================================================================== */


/* Responsive Adjustments */
@media (max-width: 768px) { #mqfp-container { padding: 25px 20px; } /* ... other 768px rules ... */ }
@media (max-width: 480px) { #mqfp-container { padding: 20px 15px; } /* ... other 480px rules ... */ }