/* Cookie consent: compact bottom notice and a separate preferences dialog. */
.cc-consent{
  box-sizing:border-box;position:fixed;left:0;right:0;bottom:0;z-index:80;
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;
  align-items:center;column-gap:24px;width:100%;margin:0;padding:12px 20px;
  background:#191c20;color:#fff;box-shadow:0 -3px 18px rgba(0,0,0,.18);
  font-family:"Nunito",system-ui,sans-serif;font-size:16px;line-height:1.4;
}
.cc-consent[hidden],.cc-consent-overlay[hidden]{display:none}
.cc-consent h2{grid-column:1;margin:0 0 2px;color:#fff;font-size:16px;line-height:1.25}
.cc-consent p{grid-column:1;max-width:1000px;margin:0 0 2px;font-size:12px;line-height:1.35}
.cc-consent a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cc-consent-actions{grid-column:2;grid-row:1/4;display:flex;gap:8px;align-items:center}
.cc-consent-btn{min-height:48px;padding:0 14px;border:1px solid #263449;border-radius:5px;background:#fff;color:#263449;font:700 14px/1.25 "Nunito",system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.cc-consent-actions .cc-consent-btn{min-width:140px;border-color:#fff}
.cc-consent-actions [data-cc="prefs"]{background:transparent;color:#fff}
.cc-consent-btn:hover{background:#e9eff3}
.cc-consent-actions [data-cc="prefs"]:hover{background:#343a40}
.cc-consent-btn:focus-visible,.cc-consent-close:focus-visible,.cc-consent a:focus-visible{outline:3px solid #8caecb;outline-offset:2px}
.cc-consent-modal-open{overflow:hidden}
.cc-consent-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;box-sizing:border-box;padding:16px;background:rgba(0,0,0,.58);overscroll-behavior:contain;font-family:"Nunito",system-ui,sans-serif}
.cc-consent-dialog{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(680px,100%);height:min(680px,calc(100dvh - 32px));max-height:calc(100vh - 32px);overflow:hidden;background:#fff;color:#263449;border-radius:8px;box-shadow:0 16px 50px rgba(0,0,0,.24)}
.cc-consent-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid #dde2e9}
.cc-consent-dialog-header h3{margin:0;font-size:18px;line-height:1.3;color:#19344f}
.cc-consent-close{display:grid;place-items:center;width:44px;height:44px;flex:none;border:0;border-radius:4px;background:#e9eff3;color:#263449;font:28px/1 "Nunito",system-ui,sans-serif;cursor:pointer}
.cc-consent-prefs{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px;-webkit-overflow-scrolling:touch}
.cc-consent-prefs p{margin:0 0 20px;font-size:15px;line-height:1.5}
.cc-consent-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;padding:14px;border:1px solid #dde2e9;border-radius:5px}
.cc-consent-row input{width:24px;height:24px;margin:2px 0 0;flex:0 0 auto;accent-color:#263449}
.cc-consent-row label{display:flex;flex-direction:column;gap:3px;cursor:pointer}
.cc-consent-row strong{font-size:15px}
.cc-consent-row span{font-size:14px;color:#667085}
.cc-consent-dialog-actions{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid #dde2e9;background:#fff}
.cc-consent-dialog-actions .cc-consent-btn{min-width:160px}
.cc-consent-dialog-actions [data-cc="accept"]{background:#263449;color:#fff}
.cc-consent-dialog-actions [data-cc="accept"]:hover{background:#19344f}
@media (max-width:767px){
  .cc-consent{display:block;padding:6px 12px max(6px,env(safe-area-inset-bottom))}
  .cc-consent h2{margin:0 0 2px;font-size:12.5px;line-height:1.2}
  .cc-consent p{max-width:none;margin:0 0 2px;font-size:11px;line-height:1.2}
  .cc-consent-actions{display:flex;margin-top:4px}
  .cc-consent-actions .cc-consent-btn{flex:1 1 0;min-width:0;min-height:44px;padding:0 5px;font-size:13px}
  .cc-consent-overlay{padding:12px}
  .cc-consent-dialog{height:calc(100dvh - 24px);max-height:calc(100vh - 24px)}
  .cc-consent-dialog-header{padding:10px 14px}
  .cc-consent-dialog-header h3{font-size:16px}
  .cc-consent-prefs{padding:14px}
  .cc-consent-prefs p{font-size:14px}
  .cc-consent-row{padding:12px;margin-bottom:10px}
  .cc-consent-row strong{font-size:14px}
  .cc-consent-row span{font-size:13px}
  .cc-consent-dialog-actions{padding:10px 14px max(10px,env(safe-area-inset-bottom))}
  .cc-consent-dialog-actions .cc-consent-btn{flex:1 1 0;min-width:0;padding:0 5px;font-size:13px;white-space:normal}
}
