/* Scoped consent UI; existing page styles remain unchanged. */
:root { --cookie-space:0px; }
body:has(.cookie-banner:not([hidden])) { padding-bottom:var(--cookie-space); }
.cookie-banner[hidden],.cookie-settings[hidden] { display:none !important; }
.cookie-banner {
  position:fixed; z-index:120; bottom:0; left:0; right:0;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:14px max(20px,calc((100vw - 1240px)/2));
  background:#fff; color:#183444; border-top:1px solid #cbd8de;
  box-shadow:0 -3px 15px #102b3b18; font-size:14px; line-height:1.45;
  max-height:55dvh; overflow:auto; overscroll-behavior:contain;
}
.cookie-banner h2 { font-family:inherit; font-weight:700; font-size:16px; line-height:1.3; margin:0 0 4px; }
.cookie-banner p { font-size:14px; line-height:1.45; margin:0; }
.cookie-banner .cookie-detail { font-size:12px; margin-top:4px; }
.cookie-copy { max-width:690px; }
.cookie-banner a { color:#075f89; text-decoration:underline; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; max-width:430px; }
.cookie-actions button { appearance:none; font-family:inherit; font-weight:600; font-size:13px; line-height:1.3; min-height:44px; min-width:90px; padding:10px 14px; border:1px solid #496775; border-radius:6px; background:#fff; color:#183444; cursor:pointer; }
.cookie-actions button:hover { background:#edf4f7; }
.cookie-actions .cookie-close { flex-basis:100%; border:0; text-decoration:underline; min-height:28px; padding:3px; }
.cookie-settings { appearance:none; background:none; border:0; color:inherit; font:inherit; padding:0; cursor:pointer; text-decoration:underline; }
.cookie-banner :focus-visible,.cookie-settings:focus-visible { outline:3px solid #0077a5; outline-offset:3px; }
body:has(.cookie-banner:not([hidden])) .mobile-cta { bottom:var(--cookie-space); }
body:has(.cookie-banner:not([hidden])) .back-to-top { bottom:calc(var(--cookie-space) + 80px); }
@media (max-width:760px) {
  .cookie-banner { padding:12px 14px max(12px,env(safe-area-inset-bottom)); gap:10px; flex-direction:column; align-items:stretch; }
  .cookie-actions { max-width:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cookie-actions button { padding:8px 4px; font-size:12px; }
  .cookie-actions .cookie-close { grid-column:1/-1; }
  body:has(.cookie-banner:not([hidden])) { padding-bottom:calc(var(--cookie-space) + 75px); }
}
@media print { .cookie-banner,.cookie-settings { display:none !important; } }
