.tracking-banner {
  position:fixed;
  z-index:25;
  bottom:20px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:24px;
  width:min(1140px, calc(100% - 40px));
  max-height:calc(100dvh - 32px);
  overflow:auto;
  padding:16px 24px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 20px #19353112;
}
.tracking-banner p { flex:1; margin:0; color:var(--muted); font-size:15px; line-height:1.5; }
.tracking-dialog h2 { font-size:18px; line-height:1.3; }
.tracking-dialog p { margin-block:8px 14px; color:var(--muted); font-size:13px; }
.tracking-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.tracking-actions button {
  min-height:44px;
  flex:1;
  padding:10px 12px;
  border:1px solid var(--green);
  border-radius:7px;
  background:white;
  color:var(--green);
  font-weight:600;
}
.tracking-actions button:hover { background:var(--soft); }
.tracking-banner .tracking-actions { flex:0 0 auto; align-items:center; flex-wrap:nowrap; gap:16px; margin:0; }
.tracking-banner .tracking-actions button { flex:0 0 auto; font-size:15px; }
.tracking-banner [data-consent-action="accept"] { padding:10px 24px; border-radius:10px; background:var(--green); color:#fff; }
.tracking-banner [data-consent-action="accept"]:hover { background:var(--green-dark); }
.tracking-banner [data-consent-action="reject"] { padding:10px 8px; border-color:transparent; background:transparent; color:var(--muted); font-weight:400; text-decoration:underline; text-underline-offset:3px; }
.tracking-banner [data-consent-action="reject"]:hover { color:var(--green-dark); background:var(--soft); }
/* Keep the footer preferences reachable above the fixed banner. */
body:has(.tracking-banner:not([hidden])) { padding-bottom:120px; }
.tracking-banner a,.tracking-dialog a,.tracking-preferences {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  font:inherit;
  font-size:12px;
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}
.tracking-preferences { background:none; border:0; padding:0; cursor:pointer; }
.tracking-dialog {
  width:min(540px, calc(100% - 28px));
  max-height:calc(100dvh - 28px);
  overflow:auto;
  padding:24px;
  border:1px solid var(--line);
  border-radius:14px;
  color:var(--ink);
}
.tracking-dialog::backdrop { background:#102d2859; }
html:has(.tracking-dialog[open]) { overflow:hidden; }
.tracking-choice { display:flex; align-items:flex-start; gap:12px; padding:14px 0; border-top:1px solid var(--line); cursor:pointer; }
.tracking-choice input { flex:0 0 22px; width:22px; height:22px; margin-top:3px; accent-color:var(--green); }
.tracking-choice strong,.tracking-choice small { display:block; }
.tracking-choice small { margin-top:4px; color:var(--muted); }
.tracking-close { float:right; width:44px; height:44px; margin:-12px -12px 0 8px; border:0; border-radius:7px; background:var(--soft); font-size:24px; }
@media(max-width:700px) {
  body:has(.tracking-banner:not([hidden])) { padding-bottom:208px; }
  .tracking-banner { flex-direction:column; align-items:stretch; gap:12px; padding:16px; bottom:12px; width:calc(100% - 24px); }
  .tracking-banner p { font-size:14px; }
  .tracking-banner .tracking-actions { justify-content:flex-end; }
}
@media(max-width:520px) {
  .tracking-dialog .tracking-actions { display:grid; grid-template-columns:1fr 1fr; }
  .tracking-dialog { padding:20px; }
}
@media print {
  #tracking-root,.tracking-preferences { display:none!important; }
  body:has(.tracking-banner:not([hidden])) { padding-bottom:0; }
}
