/* Shared patient actions, without changing clinic identity or location. */
.appointment-buttons a { text-decoration: none; }
.appointment-buttons a:focus-visible,
#hamburgerBtn:focus-visible { outline: 3px solid #441c55; outline-offset: 4px; }
.appointment-buttons .appointment-btn:focus-visible,
.appointment-buttons .contact-btn:focus-visible { box-shadow: 0 0 0 6px #fff; }
@media (max-width: 639px) {
    body { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
    .appointment-buttons {
        position: fixed;
        inset: auto 0 0;
        z-index: 3000;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
        background: #fff;
        border-top: 1px solid #e6e0ec;
        box-shadow: 0 -3px 16px rgb(68 28 85 / 10%);
    }
    .appointment-buttons .appointment-btn,
    .appointment-buttons .contact-btn {
        position: static;
        width: 100%;
        height: auto;
        min-height: 48px;
        padding: 10px 8px;
        border-radius: 10px;
        font-size: 0.95rem;
        white-space: normal;
        text-align: center;
        box-shadow: none;
        animation: none;
        transform: none;
        background: #441c55;
        color: #fff;
    }
    .appointment-buttons .contact-btn { background: #f3edf7; color: #441c55; }
    #chatbot-container { --cb-stack: calc(72px + env(safe-area-inset-bottom, 0px)); }
    body:has(.chatbot-popup.show) .appointment-buttons,
    body:has(#mainNav.open) .appointment-buttons { display: none; }
    body:has(#mainNav.open) #chatbot-container { display: none; }
    #backToTop { bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important; left: 12px; right: auto !important; }
}
@media (prefers-reduced-motion: reduce) {
    .animate__animated { animation: none !important; }
    .appointment-btn, .contact-btn { transition: none; }
    html { scroll-behavior: auto; }
}
