/* Shared type and the requested contact refinements. */
html body,html body *{font-family:'Plus Jakarta Sans'!important}
html body #contact-form,html body #contact-form *{font-size:13px!important}
.chat-tools button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;line-height:1.25;vertical-align:middle;white-space:nowrap}
.chat-tools button svg{display:block;width:17px;height:17px;flex:0 0 17px;margin:0}
.support-desk .desk-page.settings-page{display:block;top:0;bottom:0;height:auto;max-height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.settings-page .page-content{padding-bottom:calc(40px + env(safe-area-inset-bottom));min-height:0}
.news-article-cover[src='/assets/news/primary-learning.webp']{display:none}
.hotspot-dialog-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;margin-top:20px}.hotspot-dialog-actions .button{margin:0}
html body #contact-form #contact-message-form :is(input,select,textarea,label,button,small),html body #contact-form .contact-details h2{font-size:13px!important}

.news-image-caption{display:none!important}
/* Keep legal body copy and lists consistently compact on every viewport. */
html body .site .legal-reading p,
html body .site .legal-reading li{font-size:13px!important}
.site .loyalty-gift{mix-blend-mode:normal}

/* Keep the contact strip off the mobile header. */
@media (max-width: 800px) {
  .site > header .topbar { display: none !important; }
}

/* Decorative glows (e.g. the hotspot panel's ::after) extend past the viewport edge.
   Clip them horizontally so the page never scrolls sideways; clip keeps sticky positioning working. */
.site > main { overflow-x: clip; }
