/* Floating phone + WhatsApp buttons (markup: functions.php tst_add_floating_contact_buttons).
   Stacked on the right, directly above Traveler's "back to top" button (#gotop: 42 px, right 40, bottom 40 / 80 on phones). */
.tst-floating-contact {
    position: fixed;
    right: 37px;                 /* centred on #gotop: 40 + (42 - 48) / 2 */
    bottom: 94px;                /* 40 + 42 + 12 */
    z-index: 9990;               /* under modals, date pickers and the mobile menu */
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.tst-floating-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    color: #fff !important;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}
.tst-floating-btn svg { width: 22px; height: 22px; fill: #fff; }
.tst-floating-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22); }
.tst-whatsapp { background-color: #25d366; }
.tst-phone { background-color: var(--e-global-color-tstnavy, #1a2332); }

/* My Account: not needed inside the customer panel */
.tst-floating-contact.is-account { display: none; }

@media (max-width: 767px) {
    .tst-floating-contact { right: 40px; bottom: 132px; gap: 8px; } /* 80 + 42 + 10 */
    .tst-floating-btn { width: 42px; height: 42px; }
    .tst-floating-btn svg { width: 20px; height: 20px; }
    /* Checkout and payment: nothing floats over the form on phones */
    .tst-floating-contact.is-payment { display: none; }
}
