/* Floating WhatsApp support control, shared by the public site and the portal.
   Loaded by includes/head.php and every portal/app shell so the same icon and
   link appear on every page. */
.whatsapp-support{position:fixed;right:22px;bottom:22px;z-index:120;display:inline-flex;align-items:center;gap:9px;padding:12px 18px;border-radius:999px;background:#116d43;color:#fff;font-weight:750;font-size:14px;box-shadow:0 10px 28px rgba(0,0,0,.22);text-decoration:none}
.whatsapp-support svg{width:24px;height:24px;flex:none}
.whatsapp-support:hover,.whatsapp-support:focus-visible{background:#0a5533;color:#fff}
@media(max-width:600px){.whatsapp-support{right:12px;bottom:12px;padding:12px}.whatsapp-support span{display:none}}

/* Consent gate. The `cookie-gate-locked` class is set on <html> by the server
   (includes/head.php) before the body renders, so a visitor who has not yet
   chosen is refused the page on the initial load even without JavaScript. The
   page content is withheld (hidden and unscrollable) while the dialog is shown,
   so the site cannot be read or scrolled behind it. */
.cookie-gate-locked{overflow:hidden}
.cookie-gate-locked body>*{visibility:hidden}
.cookie-gate-locked .cookie-consent,.cookie-gate-locked .cookie-consent *{visibility:visible}
/* Support stays reachable while the consent gate is open: the visitor can ask a
   question before deciding on optional cookies. The icon is lifted above the
   dialog backdrop, and on phones the dialog keeps clear of it. */
.cookie-gate-locked .whatsapp-support,.cookie-gate-locked .whatsapp-support *{visibility:visible}
.cookie-gate-locked .whatsapp-support{z-index:150}
@media(max-width:600px){.cookie-gate-locked .cookie-dialog{padding-bottom:96px}}
/* On the legal pages the gate is exempt (data-cookie-gate-exempt): the document
   stays readable so the visitor can review the terms they are asked to accept
   before choosing. Only the consent dialog and support icon sit above it. */
.cookie-gate-locked[data-cookie-gate-exempt]{overflow:auto}
.cookie-gate-locked[data-cookie-gate-exempt] body>*{visibility:visible}
.cookie-gate-locked[data-cookie-gate-exempt] body>.cookie-consent{visibility:visible}
/* While the dialog is open on a legal page it docks to the foot so the terms
   behind it stay readable. */
.cookie-gate-locked[data-cookie-gate-exempt] .cookie-consent{visibility:visible}
