/* Page loader */
#page-loader {
  position:fixed; inset:0; z-index:9999; background:var(--color-bg);
  display:flex; align-items:center; justify-content:center; transition:opacity .5s var(--ease-out), visibility .5s;
}
#page-loader.loaded { opacity:0; visibility:hidden; }
.loader-rx { display:flex; flex-direction:column; align-items:center; gap:var(--sp-4); }
.loader-rx .mark { width:56px; height:56px; border-radius:50%; border:3px solid var(--color-border); border-top-color:var(--color-primary); animation:spin 1s linear infinite; }
.loader-rx span { font-family:var(--font-mono); font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:var(--color-text-soft); }
@keyframes spin { to { transform:rotate(360deg); } }

/* Floating action buttons */
.floating-buttons { position:fixed; right:var(--sp-5); bottom:var(--sp-5); z-index:900; display:flex; flex-direction:column; gap:var(--sp-3); }
.fab {
  width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-lift); color:#fff; font-size:1.3rem; transition:transform var(--dur-fast);
}
.fab:hover { transform:scale(1.08); }
.fab.call { background:var(--color-accent-green); }
.fab.whatsapp { background:#25D366; }
.fab.apply { background:var(--grad-saffron); }
.fab.top { background:var(--color-ink); opacity:0; pointer-events:none; }
.fab.top.show { opacity:1; pointer-events:auto; }

/* Breadcrumb */
.breadcrumb { padding:var(--sp-3) 0; font-family:var(--font-mono); font-size:.78rem; color:var(--color-text-soft); }
.breadcrumb a { color:var(--color-primary-dark); }
.breadcrumb span.sep { margin:0 var(--sp-2); opacity:.5; }
