:root { --xp-cookie-offset: 0px; }
.fab-launcher {
    bottom: calc(28px + var(--xp-cookie-offset) + env(safe-area-inset-bottom, 0px));
    pointer-events: none;
}
.fab-main { pointer-events: auto; touch-action: manipulation; }
.fab-child { visibility: hidden; }
.fab-launcher.is-open .fab-child { visibility: visible; }
.fab-launcher.is-chat-open { display: none !important; visibility: hidden !important; }
.fab-launcher.is-chat-open button { pointer-events: none; }
.fab-main:focus-visible, .fab-child:focus-visible, .whatsapp-modal-close:focus-visible,
#langToggleBtn:focus-visible, .lang-btn:focus-visible {
    outline: 3px solid #FFD400;
    outline-offset: 4px;
}
.whatsapp-modal { z-index: 2200; padding: 16px; }
.whatsapp-modal-content { max-height: calc(100dvh - 32px); overflow-y: auto; }
.whatsapp-modal-close { min-width: 44px; min-height: 44px; }
.chatbot-panel {
    bottom: calc(28px + var(--xp-cookie-offset) + env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - var(--xp-cookie-offset) - 110px);
}
.xp-contact-numbers, .xp-footer-numbers { display: grid; gap: 8px; }
.xp-contact-numbers a, .xp-footer-numbers a {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 44px;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.xp-contact-numbers a { color: #1f2937; }
.xp-footer-numbers a { color: rgba(255,255,255,.9); justify-content: flex-start; }
.xp-phone-number { direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
#langToggleBtn { min-width: 44px; min-height: 44px; }
#langDropdown .lang-btn { min-height: 44px; }
[dir="rtl"] .fab-launcher { left: 24px; right: auto; }
[dir="rtl"] .fab-label { right: auto; left: calc(100% + 12px); }
@media (max-width: 768px) {
    .chatbot-panel {
        bottom: calc(16px + var(--xp-cookie-offset) + env(safe-area-inset-bottom, 0px));
        height: calc(100dvh - var(--xp-cookie-offset) - 104px);
        max-height: calc(100dvh - var(--xp-cookie-offset) - 104px);
    }
}
@media (max-width: 480px) {
    .fab-launcher { bottom: calc(18px + var(--xp-cookie-offset) + env(safe-area-inset-bottom, 0px)); }
    [dir="rtl"] .fab-launcher { left: 14px; right: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .fab-main::after { animation: none; }
    .fab-child, .fab-main { transition: none; }
}
