.back-to-top{bottom:100px;right:var(--space-4);background:var(--color-bg-primary);width:48px;height:48px;color:var(--color-text-primary);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);cursor:pointer;z-index:var(--z-fixed);opacity:0;animation:fadeInUp .3s var(--ease-spring)forwards;transition:background var(--duration-fast)var(--ease-out),transform var(--duration-fast)var(--ease-out);border:none;justify-content:center;align-items:center;display:flex;position:fixed;transform:translateY(20px)scale(.9)}.back-to-top:hover{background:var(--color-brand-primary);color:#fff;transform:translateY(-2px)scale(1.05)}.back-to-top i{font-size:var(--text-md)}@media (min-width:768px){.back-to-top{right:var(--space-6);bottom:120px}}.floating-contact{bottom:var(--space-6);right:var(--space-4);z-index:var(--z-fixed);align-items:flex-end;gap:var(--space-3);flex-direction:column;display:flex;position:fixed}@media (min-width:768px){.floating-contact{right:var(--space-6)}}.floating-contact-btn{background:var(--gradient-brand);color:#fff;border-radius:var(--radius-full);width:56px;height:56px;box-shadow:var(--shadow-brand-lg);cursor:pointer;transition:transform var(--duration-fast)var(--ease-spring),box-shadow var(--duration-fast)var(--ease-out);border:none;justify-content:center;align-items:center;display:flex;position:relative}.floating-contact-btn:hover{transform:scale(1.08);box-shadow:0 12px 40px #0071e366}.floating-contact-btn i{font-size:var(--text-xl);transition:transform var(--duration-fast)var(--ease-out)}.floating-contact-open .floating-contact-btn i{transform:rotate(90deg)}.floating-pulse{border-radius:var(--radius-full);background:var(--gradient-brand);z-index:-1;width:100%;height:100%;animation:2s infinite pulseRing;position:absolute}.floating-contact-open .floating-pulse{opacity:0;animation:none}.floating-contact-options{gap:var(--space-3);opacity:0;visibility:hidden;transition:all var(--duration-normal)var(--ease-spring);flex-direction:column;display:flex;transform:translateY(20px)scale(.8)}.floating-contact-open .floating-contact-options{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.floating-option{border-radius:var(--radius-full);color:#fff;width:48px;height:48px;font-size:var(--text-lg);box-shadow:var(--shadow-lg);transition:transform var(--duration-fast)var(--ease-spring);justify-content:center;align-items:center;display:flex}.floating-option:hover{transform:scale(1.1)}.floating-whatsapp{background:#25d366}.floating-call{background:var(--color-brand-primary)}.scroll-progress{background:var(--gradient-brand);width:0%;height:3px;z-index:calc(var(--z-fixed) + 1);transition:width .1s linear;position:fixed;top:0;left:0}.loading-spinner{justify-content:center;align-items:center;display:inline-flex}.loading-spinner:after{content:"";border:3px solid var(--color-border);border-top-color:var(--color-brand-primary);border-radius:var(--radius-full);width:24px;height:24px;animation:.8s linear infinite spin}.loading-spinner-sm:after{border-width:2px;width:16px;height:16px}.loading-spinner-lg:after{border-width:4px;width:40px;height:40px}.page-loader{background:var(--color-bg-primary);z-index:var(--z-max);opacity:1;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.page-loader.loaded{opacity:0;pointer-events:none}.page-loader-content{text-align:center}.page-loader-logo{width:80px;height:80px;margin-bottom:var(--space-4);animation:1.5s infinite pulse}.tooltip{cursor:help;position:relative}.tooltip:before,.tooltip:after{opacity:0;visibility:hidden;transition:all var(--duration-fast)var(--ease-out);pointer-events:none;position:absolute}.tooltip:before{content:attr(data-tooltip);padding:var(--space-2)var(--space-3);background:var(--color-bg-dark);color:#fff;font-size:var(--text-xs);font-weight:var(--font-medium);white-space:nowrap;border-radius:var(--radius-md);z-index:var(--z-tooltip);bottom:100%;left:50%;transform:translate(-50%)translateY(5px)}.tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--color-bg-dark);margin-bottom:-12px;bottom:100%;left:50%;transform:translate(-50%)translateY(5px)}.tooltip:hover:before,.tooltip:hover:after{opacity:1;visibility:visible;transform:translate(-50%)translateY(-5px)}
