/* floating-contact.css — "Contact Us" button that follows the visitor down the home page */
.fab-contact {
    position: fixed;
    right: 22px;
    bottom: calc(22px + env(safe-area-inset-bottom, 0px));
    z-index: 900;
    display: inline-flex; align-items: center; gap: 10px;
    padding: 13px 22px 13px 16px;
    font-family: 'Cinzel', serif; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
    color: #FFD700; text-decoration: none;
    background: rgba(0,0,0,.88);
    border: 1px solid #FFD700; border-radius: 999px;
    box-shadow: 0 6px 26px rgba(0,0,0,.65), 0 0 0 0 rgba(255,215,0,.5);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    -webkit-tap-highlight-color: transparent;
    animation: fabIn .7s ease 1.4s both, fabPulse 3.2s ease-out 2.6s infinite;
    transition: background .2s, color .2s, transform .2s, box-shadow .2s;
}
.fab-contact svg { width: 20px; height: 20px; fill: currentColor; flex: 0 0 20px; }
.fab-contact:hover, .fab-contact:focus-visible { background: #FFD700; color: #000; transform: translateY(-3px); box-shadow: 0 10px 32px rgba(255,215,0,.35); animation-play-state: running, paused; }
.fab-contact:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.fab-contact:active { transform: translateY(0) scale(.98); }

@keyframes fabIn { from { opacity: 0; transform: translateY(24px) scale(.9); } to { opacity: 1; transform: none; } }
@keyframes fabPulse {
    0%   { box-shadow: 0 6px 26px rgba(0,0,0,.65), 0 0 0 0 rgba(255,215,0,.45); }
    70%  { box-shadow: 0 6px 26px rgba(0,0,0,.65), 0 0 0 16px rgba(255,215,0,0); }
    100% { box-shadow: 0 6px 26px rgba(0,0,0,.65), 0 0 0 0 rgba(255,215,0,0); }
}

/* phones: round icon-only button, label stays available to screen readers */
@media (max-width: 560px) {
    .fab-contact { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom, 0px)); width: 56px; height: 56px; padding: 0; justify-content: center; }
    .fab-contact svg { width: 24px; height: 24px; flex-basis: 24px; }
    .fab-contact .fab-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
}
@media print { .fab-contact { display: none; } }
@media (prefers-reduced-motion: reduce) { .fab-contact { animation: none; transition: none; } }
