/* Fixenix Modals, Overlays & Form UI */

.quote-modal {
    display: none; position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.85); backdrop-filter: blur(12px);
    z-index: 1100; align-items: center; justify-content: center;
    opacity: 0; transition: opacity 0.3s ease;
}
.quote-modal.show { display: flex; opacity: 1; }

.quote-modal-content {
    background: var(--bg-modal); border-radius: 48px;
    max-width: 500px; width: 90%; padding: 2rem;
    border: 1px solid rgba(227,27,35,0.5);
    box-shadow: 0 30px 50px rgba(0,0,0,0.6);
    transform: scale(0.95); transition: transform 0.3s ease;
}
.quote-modal.show .quote-modal-content { transform: scale(1); }

.modal-header-custom {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 1.5rem; border-bottom: 1px solid rgba(227,27,35,0.3);
    padding-bottom: 1rem;
}
.modal-header-custom h3 { margin: 0; font-weight: 800; }

.close-modal {
    background: var(--bg-card-hover); border: none;
    color: var(--text-primary); width: 40px; height: 40px;
    border-radius: 50%; transition: 0.2s;
}
.close-modal:hover { background: var(--primary-red); }

/* Form Field Styling */
.form-group-modern { margin-bottom: 1.2rem; }
.form-group-modern label {
    font-size: 0.85rem; font-weight: 600;
    margin-bottom: 0.4rem; display: block; color: var(--text-secondary);
}
.form-control-modern {
    background: var(--bg-input); border: 1px solid var(--border-card);
    border-radius: 28px; padding: 12px 20px;
    color: white; width: 100%; transition: 0.2s;
}
.form-control-modern:focus {
    outline: none; border-color: var(--primary-red);
    box-shadow: 0 0 0 2px rgba(227,27,35,0.3);
}
select.form-control-modern { cursor: pointer; }

/* Feedback Helpers */
.quote-price-preview {
    background: rgba(227,27,35,0.15); border-radius: 28px;
    padding: 12px 16px; text-align: center; margin: 1rem 0;
    border: 1px dashed var(--primary-red);
}
