.floating-btn{z-index:1000;background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;width:64px;height:64px;transition:box-shadow .3s,transform .2s;display:flex;position:fixed;box-shadow:0 6px 24px #6366f159,0 2px 8px #6366f133}.floating-btn:hover{transform:scale(1.05);box-shadow:0 8px 32px #6366f180,0 4px 12px #6366f14d}.floating-btn:active{transform:scale(.9)}.floating-btn-icon{z-index:1;position:relative}.floating-btn-pulse{background:var(--gradient-primary);opacity:0;z-index:0;border-radius:50%;animation:3s ease-in-out infinite phone-pulse;position:absolute;inset:-4px}@keyframes phone-pulse{0%,to{opacity:0;transform:scale(1)}15%{opacity:.35;transform:scale(1.18)}30%{opacity:0;transform:scale(1)}40%{opacity:.25;transform:scale(1.14)}55%{opacity:0;transform:scale(1)}}.floating-phone-icon{animation:3s ease-in-out infinite phone-icon-vibrate}@keyframes phone-icon-vibrate{0%,to{transform:scale(1)rotate(0)}12%{transform:scale(1.12)rotate(-8deg)}18%{transform:scale(1.12)rotate(8deg)}24%{transform:scale(1.08)rotate(-5deg)}30%{transform:scale(1)rotate(0)}38%{transform:scale(1.08)rotate(-6deg)}44%{transform:scale(1.08)rotate(6deg)}50%{transform:scale(1)rotate(0)}}.floating-phone-wrapper{z-index:1000;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:45px;left:45px}.floating-btn-phone{position:relative;bottom:auto;left:auto}.callback-phone-cta{flex-direction:column;align-items:center;gap:2px;padding-top:36px;display:flex}.callback-phone-cta-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:.7rem;font-weight:700}.callback-phone-cta-number{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:.02em;font-size:1.1rem;font-weight:800;text-decoration:none;transition:color .2s}.callback-phone-cta-number:hover{color:var(--color-accent)}.floating-form-wrapper{z-index:1000;flex-direction:column;align-items:flex-end;display:flex;position:fixed;bottom:45px;right:45px}.floating-btn-form{transition:box-shadow .3s,transform .25s;position:relative;bottom:auto;right:auto}.floating-btn-form.is-open{transform:rotate(45deg)}.floating-btn-form.is-open:hover{transform:rotate(45deg)scale(1.05)}.floating-btn-form.is-open:active{transform:rotate(45deg)scale(.9)}.quick-form-popup{-webkit-backdrop-filter:blur(24px)saturate(1.8);border-radius:var(--radius-xl);will-change:transform, opacity;background:#ffffffeb;border:1px solid #6366f11f;width:340px;position:absolute;bottom:calc(100% + 14px);right:0;overflow:hidden;box-shadow:0 20px 60px #0000001f,0 4px 16px #6366f114,inset 0 0 0 1px #ffffff80}.quick-form-header{padding:20px 22px 0}.quick-form-title{font-family:var(--font-heading);font-size:var(--text-lg);background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:2px;font-weight:800}.quick-form-subtitle{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:500}.quick-form{flex-direction:column;gap:10px;padding:16px 22px 22px;display:flex}.quick-form-field input,.quick-form-field textarea{width:100%;font-family:var(--font-body);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);resize:none;background:#f8f9fce6;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.quick-form-field input:focus,.quick-form-field textarea:focus{border-color:var(--color-accent-light);box-shadow:0 0 0 3px #6366f114}.quick-form-field input::placeholder,.quick-form-field textarea::placeholder{color:var(--color-text-muted);opacity:.7}.quick-form-consent{color:var(--color-text-muted);font-size:.68rem;line-height:1.4}.quick-form-consent label{cursor:pointer;align-items:flex-start;gap:6px;display:flex}.quick-form-consent input[type=checkbox]{accent-color:var(--color-accent);flex-shrink:0;margin-top:2px}.quick-form-consent a{color:var(--color-accent);text-decoration:underline}.quick-form-submit{width:100%;font-family:var(--font-body);font-size:var(--text-sm);color:#fff;background:var(--gradient-primary);border-radius:var(--radius-full);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #6366f14d}.quick-form-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #6366f166}.quick-form-submit:disabled{opacity:.65;cursor:not-allowed}.quick-form-spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.quick-form-error{font-size:var(--text-xs);color:#ef4444;text-align:center;margin-top:2px;font-weight:500}.quick-form-field-error{color:#ef4444;margin-top:4px;font-size:11px;font-weight:500}.quick-form-field input.quick-form-input--error,.quick-form-field textarea.quick-form-input--error{border-color:#ef4444}.quick-form-char-count{color:var(--color-text-secondary);text-align:right;margin-top:4px;font-size:11px}.quick-form-char-count--limit{color:#ef4444}.quick-form-success{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:32px 22px;display:flex}.quick-form-success-icon{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:4px;font-size:1.4rem;font-weight:800;display:flex}.quick-form-success p{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-text-primary);font-weight:700}.quick-form-success span{font-size:var(--text-sm);color:var(--color-text-muted)}.callback-overlay{z-index:2000;-webkit-backdrop-filter:blur(6px);padding:var(--space-6);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.callback-modal{-webkit-backdrop-filter:blur(24px)saturate(1.8);border-radius:var(--radius-xl);will-change:transform, opacity;background:#fffffff2;border:1px solid #6366f11a;width:100%;max-width:780px;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000026,0 8px 30px #6366f114,inset 0 0 0 1px #fff6}.callback-close{background:var(--color-surface);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;border:1px solid var(--color-border);z-index:1;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex;position:absolute;top:14px;right:14px}.callback-close:hover{background:var(--color-accent);color:#fff;border-color:#0000}.callback-header{text-align:center;padding:28px 28px 0}.callback-title{font-family:var(--font-heading);font-size:var(--text-3xl);margin-bottom:4px;font-weight:800}.callback-subtitle{font-size:var(--text-sm);color:var(--color-text-muted)}.callback-form{padding:0}.callback-body{gap:0;padding:24px 28px 28px;display:flex}.callback-left{border-right:1px solid var(--color-border);flex:1;padding-right:40px}.callback-right{flex-direction:column;flex:1;padding-left:40px;display:flex}.callback-label{font-family:var(--font-heading);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:8px;font-weight:700;display:block}.callback-label-hours{margin-top:16px}.callback-days{flex-direction:column;gap:6px;display:flex}.callback-day-btn{width:100%;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;outline:none;padding:8px 14px;font-weight:500;transition:all .2s}.callback-day-btn:hover{border-color:var(--color-accent-light);background:var(--color-accent-bg)}.callback-day-btn.active{background:var(--gradient-primary);color:#fff;background-clip:padding-box;border-color:#0000;font-weight:600;box-shadow:0 2px 10px #6366f14d}.callback-hours{grid-template-columns:1fr 1fr;gap:5px;display:grid}.callback-hour-btn{font-family:var(--font-body);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:center;outline:none;padding:6px 8px;font-size:.75rem;font-weight:500;transition:all .2s}.callback-hour-btn:hover{border-color:var(--color-accent-light);background:var(--color-accent-bg)}.callback-hour-btn.active{background:var(--gradient-primary);color:#fff;background-clip:padding-box;border-color:#0000;font-weight:600;box-shadow:0 2px 8px #6366f140}.callback-phone-input-wrapper{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;overflow:hidden}.callback-phone-input-wrapper:focus-within{border-color:var(--color-accent-light);box-shadow:0 0 0 3px #6366f114}.callback-phone-prefix{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;border-right:1px solid var(--color-border);background:#00000005;padding:10px 10px 10px 14px;font-weight:600}.callback-phone-input{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);letter-spacing:.04em;background:0 0;border:none;outline:none;flex:1;padding:10px 14px;font-weight:600}.callback-phone-input::placeholder{color:var(--color-text-muted);opacity:.5;font-weight:400}.callback-summary{background:var(--gradient-subtle);border-radius:var(--radius-md);border:1px solid #6366f11a;margin-top:14px;padding:12px 14px}.callback-summary-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:8px;font-size:.65rem;font-weight:700;display:block}.callback-summary-row{font-size:var(--text-sm);color:var(--color-text-primary);align-items:center;gap:8px;padding:3px 0;font-weight:500;display:flex}.callback-summary-row svg{color:var(--color-accent);flex-shrink:0}.callback-bottom-controls{margin-top:auto}.callback-consent{color:var(--color-text-muted);margin-top:12px;font-size:.65rem;line-height:1.4}.callback-consent label{cursor:pointer;align-items:flex-start;gap:6px;display:flex}.callback-consent input[type=checkbox]{accent-color:var(--color-accent);flex-shrink:0;margin-top:2px}.callback-consent a{color:var(--color-accent);text-decoration:underline}.callback-submit{width:100%;font-family:var(--font-body);font-size:var(--text-base);color:#fff;background:var(--gradient-primary);border-radius:var(--radius-full);cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding:12px 18px;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 16px #6366f14d}.callback-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 24px #6366f166}.callback-submit:disabled{opacity:.65;cursor:not-allowed}.callback-error{font-size:var(--text-xs);color:#ef4444;text-align:center;margin-top:6px;font-weight:500}.callback-success{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:40px 28px;display:flex}.callback-success-icon{color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:6px;font-size:1.6rem;font-weight:800;display:flex}.callback-success p{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text-primary);font-weight:700}.callback-success span{font-size:var(--text-sm);color:var(--color-text-muted)}@media (width<=768px){.floating-phone-wrapper{bottom:var(--space-4);left:var(--space-4)}.floating-form-wrapper{bottom:var(--space-4);right:var(--space-4)}.floating-btn{width:50px;height:50px}.floating-phone-cta-label{font-size:.6rem}.floating-phone-cta-number{font-size:.62rem}.quick-form-popup{width:calc(100vw - 32px);max-width:340px;right:0}.callback-modal{max-width:100%;max-height:90vh;overflow-y:auto}.callback-body{flex-direction:column;padding:20px}.callback-left{border-right:none;border-bottom:1px solid var(--color-border);padding-bottom:20px;padding-right:0}.callback-right{padding-top:20px;padding-left:0}.callback-header{padding:20px 20px 0}}
