/* ============================================
   QUOTE MODAL — Premium Popup
   ============================================ */
.quote-modal-overlay {
    position:fixed; inset:0; background:rgba(15,23,42,0.6);
    backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    z-index:9999; display:flex; justify-content:center; align-items:center;
    padding:20px; opacity:0; visibility:hidden; pointer-events:none;
    transition:opacity 0.35s ease, visibility 0.35s;
}
.quote-modal-overlay.active { opacity:1; visibility:visible; pointer-events:auto; }

.quote-modal {
    background:var(--white); border-radius:var(--radius-xl);
    max-width:560px; width:100%; max-height:90vh; overflow-y:auto;
    position:relative; padding:44px;
    box-shadow:var(--shadow-xl); border:1px solid rgba(226,232,240,0.4);
    transform:scale(0.92) translateY(20px);
    transition:transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
.quote-modal-overlay.active .quote-modal { transform:scale(1) translateY(0); }

.quote-modal__close {
    position:absolute; top:16px; right:16px;
    width:38px; height:38px; border:1.5px solid var(--border);
    background:var(--white); border-radius:50%; font-size:1.3rem;
    cursor:pointer; display:flex; align-items:center; justify-content:center;
    color:var(--text-light); transition:var(--transition);
}
.quote-modal__close:hover { background:#FEE2E2; color:#DC2626; border-color:#FECACA; transform:rotate(90deg); }
.quote-modal__close:focus-visible { outline:2px solid var(--primary); outline-offset:3px; }
.quote-modal h2 {
    font-size:1.5rem; margin-bottom:24px; color:var(--dark);
    background:var(--gradient-primary); -webkit-background-clip:text;
    -webkit-text-fill-color:transparent; background-clip:text;
}
.quote-modal .form-group { margin-bottom:14px; }
.quote-modal input, .quote-modal select { padding:11px 16px; font-size:0.9rem; }
.quote-modal .checkbox-group { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.quote-modal .checkbox-label {
    display:flex; align-items:center; gap:6px; font-size:0.84rem;
    cursor:pointer; color:var(--text); padding:6px 14px;
    border:1.5px solid var(--border); border-radius:var(--radius-full);
    transition:var(--transition-fast);
}
.quote-modal .checkbox-label:has(input:checked) {
    background:var(--primary-light); border-color:var(--primary); color:var(--primary);
}
.quote-modal .checkbox-label input[type="checkbox"] {
    width:15px; height:15px; accent-color:var(--primary);
}
.quote-modal .terms-text { font-size:0.78rem; color:var(--text-lighter); margin-top:10px; line-height:1.55; }
.quote-modal .btn { width:100%; margin-top:18px; }

/* Floating Quote Button */
.quote-btn {
    position:fixed; bottom:28px; right:28px; z-index:998;
    padding:15px 30px; border:none; border-radius:var(--radius-full);
    background:var(--gradient-primary); color:var(--white);
    font-family:var(--font-stack); font-size:0.92rem; font-weight:700;
    cursor:pointer; letter-spacing:0.3px;
    box-shadow:0 8px 30px var(--primary-glow);
    transition:var(--transition-bounce);
    display:flex; align-items:center; gap:10px;
}
.quote-btn::before {
    content:''; position:absolute; inset:-3px; border-radius:var(--radius-full);
    background:var(--gradient-primary); z-index:-1; opacity:0;
    animation:pulseRing 2s ease-out infinite;
}
@keyframes pulseRing { 0%{opacity:0.5;transform:scale(1)} 100%{opacity:0;transform:scale(1.15)} }
.quote-btn:hover {
    transform:translateY(-4px) scale(1.04);
    box-shadow:0 12px 40px rgba(4,107,210,0.4);
}
