/* Cookie banner (inc/modules/cookies.php). Same look as the prototype: Geologica, ICSE blue, round .btn. */
.ckb{position:fixed;left:20px;bottom:20px;z-index:130;width:min(440px,calc(100vw - 40px));font-family:Geologica,system-ui,sans-serif;color:#13263d;opacity:0;transform:translateY(12px);transition:opacity .25s,transform .25s}
.ckb.ckb-in{opacity:1;transform:none}
.ckb[hidden]{display:none}
.ckb-box{background:#fff;border:1px solid #E3EBF3;border-radius:22px;padding:22px;box-shadow:0 30px 70px -30px rgba(8,19,32,.55)}
.ckb-t{font-size:17px;font-weight:800;letter-spacing:-.01em;color:#13263d;margin:0 0 6px}
.ckb-tx{font-size:14px;line-height:1.55;color:#5a6b7d;margin:0}
.ckb-tx a{color:#0069B4;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ckb-prefs{display:grid;gap:8px;margin:14px 0 0}
.ckb-prefs[hidden]{display:none}
.ckb-cat{display:flex;gap:12px;align-items:flex-start;background:#F6F9FC;border:1px solid #E3EBF3;border-radius:14px;padding:12px 14px;cursor:pointer}
.ckb-cat input{width:18px;height:18px;margin:2px 0 0;accent-color:#0069B4;flex-shrink:0}
.ckb-cat input:disabled{opacity:.6}
.ckb-cat b{display:block;font-size:14px;font-weight:800;color:#13263d}
.ckb-cat small{display:block;font-size:12.5px;line-height:1.45;color:#5a6b7d;margin-top:2px}
.ckb-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.ckb .ckb-btn{justify-content:center;width:100%;padding:12px 16px;font-size:13px;letter-spacing:.02em;line-height:1.2;text-align:center}
.ckb .ckb-main{background:#0069B4;color:#fff}
.ckb .ckb-main:hover{background:#034e88;transform:translateY(-2px)}
.ckb .ckb-sec{grid-column:1/-1;background:#fff;color:#13263d;border:1.5px solid #C3D2E0}
.ckb .ckb-sec:hover{border-color:#0069B4;color:#004A80}
.ckb .ckb-sec[hidden]{display:none}
.ckb .ckb-btn:focus-visible,.ckb-cat input:focus-visible,.ckb-tx a:focus-visible{outline:3px solid #5FB4EC;outline-offset:2px}
@media(max-width:980px){
  .ckb{left:12px;right:12px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom))}
  .ckb-box{padding:18px;max-height:calc(100vh - 120px);overflow:auto}
}
@media(max-width:380px){.ckb-acts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ckb{transition:none}}

/* Hide the banner while a site pop-up, the search or the mobile menu is open */
body:has(.lead-modal.open, .nl-modal:not([hidden]), .srch.on, .mm.open) .ckb{display:none}
