/* Cookie controls stay clear of the library's fixed navigation. */
.consent-panel {
  position: fixed; z-index: 110; inset-inline: 1rem; bottom: calc(var(--tabbar, 0px) + 1rem + env(safe-area-inset-bottom));
  width: min(44rem, calc(100% - 2rem)); margin-inline: auto;
  max-height: calc(100dvh - var(--tabbar, 0px) - 2.5rem); overflow-y: auto;
  padding: 1.25rem; border: 2px solid var(--line-strong); border-radius: var(--r);
  color: var(--ink); background: var(--surface); box-shadow: 0 16px 80px #0007;
}
.consent-panel[hidden], .cookie-settings[hidden] { display: none !important; }
.consent-panel h2 { font-size: 1.3rem; margin-bottom: .6rem; }
.consent-panel p { font-size: .94rem; line-height: 1.65; margin-bottom: .8rem; }
.consent-panel .consent-state:empty { display: none; }
.consent-panel a { display: inline-block; margin-top: .8rem; font-size: .9rem; text-underline-offset: .2rem; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.consent-actions .btn { flex: 1; min-width: 10rem; border: 2px solid var(--purple); color: var(--ink); }
.consent-actions .btn:disabled { opacity: .55; cursor: not-allowed; }
.cookie-settings {
  position: fixed; z-index: 45; bottom: calc(var(--tabbar, 0px) + .7rem + env(safe-area-inset-bottom));
  inset-inline-end: .8rem; min-height: 44px; padding: .4rem .8rem;
  border: 1px solid var(--line-strong); border-radius: var(--r-pill);
  background: var(--surface); color: var(--ink); font: inherit; font-size: .8rem;
  box-shadow: 0 3px 15px #0003; cursor: pointer;
}
.consent-panel button:focus-visible, .cookie-settings:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
body:not(.has-tabs) .consent-panel { bottom: calc(1rem + env(safe-area-inset-bottom)); }
body:not(.has-tabs) .cookie-settings { bottom: calc(.8rem + env(safe-area-inset-bottom)); }
.privacy-page { padding-block: 2rem 7rem; max-width: 46rem; }
.privacy-page section { margin-top: 2rem; }
.privacy-page li { margin-bottom: .5rem; }
@media (max-width: 380px) {
  .consent-panel { inset-inline: .5rem; width: calc(100% - 1rem); padding: 1rem; }
  .consent-actions .btn { min-width: 8rem; font-size: .9rem; }
}
