/* ---------- cookie banner styling for pages that do NOT load css/qat-theme.css ----------
   Added 19 September 2026 for the WordPress blog, which runs its own theme.

   Everything below the variable block is COPIED VERBATIM from the cookie-banner section of
   css/qat-theme.css. If that section is ever changed, change it here too - or better, point
   the main site at this file as well so there is only one copy.

   The variables are declared ON .qat-cc rather than on :root deliberately. The blog runs a
   different theme; putting them on :root would leak the site's fonts and colours into it. */
.qat-cc{
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'Noto Sans',system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
  --primary:#146CB2;
  --yellow:#F2BB1C;
  --yellow-hover:#e0aa10;
  --on-yellow:#0f1c2c;
  --on-surface:#0f1c2c;
  --text-body:#4A5568;
  --border-ui:#E2E8F0;
}

/* ---------- cookie banner (14 Sep 2026, js/qat-consent.js) ----------
   A card at the bottom left on laptops, a full-width sheet on phones. Accept and Reject are
   the same size on purpose: UK guidance says refusing must be as easy as accepting. It sits
   above the sticky phone bar and the chat bubble. Everything inside is written as
   ".qat-cc .x" so the site's ".qat p", ".qat a" and button rules cannot win. */
.qat-cc{position:fixed;left:20px;bottom:20px;z-index:2147483000;width:420px;max-width:calc(100vw - 40px);
  box-sizing:border-box;background:#fff;color:var(--on-surface);border:1px solid var(--border-ui);
  border-radius:12px;box-shadow:0 18px 40px -12px rgba(13,27,42,.35);padding:18px 18px 16px;
  font-family:var(--sans);font-size:14px;line-height:1.5;text-align:left}
.qat-cc[hidden],.qat-cc [hidden]{display:none!important}
.qat-cc .qat-cc-title{font-family:var(--serif);font-weight:700;font-size:18px;line-height:1.3;color:var(--on-surface);margin:0 0 6px}
.qat-cc .qat-cc-text{font-size:14px;line-height:1.55;color:var(--text-body);margin:0 0 14px}
.qat-cc .qat-cc-text a{color:var(--primary);text-decoration:underline}
.qat-cc .qat-cc-opts{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}
.qat-cc .qat-cc-row{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--text-body);cursor:pointer;margin:0}
.qat-cc .qat-cc-row b{color:var(--on-surface)}
.qat-cc .qat-cc-row input{width:18px;height:18px;margin:1px 0 0;flex:0 0 18px;accent-color:var(--primary)}
.qat-cc .qat-cc-btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.qat-cc .qat-cc-btn{flex:1 1 0;min-width:110px;height:44px;margin:0;padding:0 14px;border-radius:8px;
  font:600 15px/1 var(--sans);cursor:pointer;border:1.5px solid var(--on-surface);background:var(--on-surface);color:#fff}
.qat-cc .qat-cc-btn.is-yes{background:var(--yellow);border-color:var(--yellow);color:var(--on-yellow)}
.qat-cc .qat-cc-btn.is-yes:hover{background:var(--yellow-hover);border-color:var(--yellow-hover)}
.qat-cc .qat-cc-btn.is-no:hover{background:#1b2d44}
.qat-cc .qat-cc-link{flex:0 0 auto;background:none;border:0;margin:0;padding:6px 2px;font:600 14px/1 var(--sans);
  color:var(--primary);text-decoration:underline;cursor:pointer}
.qat-cc :focus-visible{outline:2px solid var(--primary);outline-offset:2px}
@media(max-width:560px){
  .qat-cc{left:0;bottom:0;width:100%;max-width:none;border-radius:14px 14px 0 0;border-width:1px 0 0;
    padding:16px 16px calc(14px + env(safe-area-inset-bottom,0px))}
  .qat-cc .qat-cc-btn{min-width:0}
}
