.cookie-banner,.cookie-settings { font-family:var(--sans,Montserrat,Arial,sans-serif); color:var(--ink,#075e70); background:#fff; border:1px solid var(--line,#d4e8ed); border-radius:6px; }
.cookie-banner { position:fixed; inset:auto 24px 24px; z-index:2000; max-width:1280px; margin-inline:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; padding:24px; border-top:4px solid #38a2b8; box-shadow:0 2px 24px rgb(7 94 112 / .12); }
.cookie-banner[hidden],.cookie-settings:not([open]) { display:none!important; }
.cookie-banner h2,.cookie-settings h2 { margin:0 0 10px; font-size:20px; line-height:1.35; font-style:normal; font-weight:700; }
.cookie-banner p,.cookie-settings p { margin:0; font-size:13px; line-height:1.7; color:#334e57; }
.cookie-banner a,.cookie-settings a { color:#075e70; text-decoration:underline; text-underline-offset:3px; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:10px; }
.cookie-choice,.cookie-close { appearance:none; display:inline-flex; justify-content:center; align-items:center; min-height:44px; padding:12px 16px; border:1px solid #075e70; border-radius:4px; background:#fff; color:#075e70; font:600 12px/1.5 var(--sans,Montserrat,Arial,sans-serif); cursor:pointer; text-decoration:none; }
.cookie-choice:hover,.cookie-close:hover { background:#edf8fa; }
.cookie-choice:focus-visible,.cookie-close:focus-visible,.cookie-category input:focus-visible { outline:3px solid #38a2b8; outline-offset:3px; }
.cookie-settings { width:min(640px,calc(100% - 32px)); max-height:calc(100dvh - 48px); padding:28px; overflow-y:auto; }
.cookie-settings::backdrop { background:rgb(12 36 45 / .5); }
.cookie-settings-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:16px; }
.cookie-settings-heading h2 { margin:4px 0 0; }
.cookie-close { min-height:40px; padding:8px 12px; }
.cookie-category { margin-top:22px; padding:20px 0 0; border-top:1px solid #d4e8ed; }
.cookie-category-heading,.cookie-category-toggle { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:8px; font-size:15px; }
.cookie-category-heading span { font-size:12px; font-weight:600; }
.cookie-category-toggle { cursor:pointer; min-height:36px; }
.cookie-category-toggle input { appearance:auto; width:22px; height:22px; margin:0 4px; accent-color:#075e70; flex:none; }
.cookie-settings .cookie-settings-note { margin:22px 0; }
.cookie-settings .cookie-policy-links { display:flex; flex-wrap:wrap; gap:16px; margin-top:20px; }
.cookie-noscript { padding:16px 24px; background:#edf8fa; font-size:13px; line-height:1.6; }
@media(max-width:1100px) { .cookie-banner { grid-template-columns:1fr; gap:16px; } }
@media(max-width:600px) {
  .cookie-banner { inset:auto 12px 12px; max-height:calc(100dvh - 24px); overflow-y:auto; padding:18px; gap:14px; }
  .cookie-banner h2,.cookie-settings h2 { font-size:18px; }
  .cookie-actions { gap:8px; }
  .cookie-choice { flex:1 1 145px; padding:11px 12px; }
  .cookie-settings { padding:20px; max-height:calc(100dvh - 32px); }
  .cookie-settings-heading { gap:12px; }
  .cookie-category-heading,.cookie-category-toggle { gap:12px; }
}
