/* GAZUM consent kit 1.0: the banner of consent.js. Styled only through custom properties (README.md lists them), so
   each site maps its own brand on :root, e.g. :root { --gzc-bg: var(--ink); --gzc-font: var(--font-body); }.
   Small and at the bottom: a card in the corner from 640 px (or a bar: gzc-bar), a sheet on phones. Reject and Accept
   share one style. While it is open, html.gzc-open and --gzc-h (its height) let the page keep its UI clear of it. */
.gzc {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--gzc-z, 2147483000);
  padding: 0 var(--gzc-gap, 16px) calc(var(--gzc-gap, 16px) + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
}
.gzc[hidden] { display: none !important; }
.gzc__panel {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--gzc-width, 25rem);
  margin: 0 var(--gzc-mr, 0) 0 var(--gzc-ml, auto);
  display: grid;
  gap: 8px;
  padding: var(--gzc-padding, 18px 20px 20px);
  pointer-events: auto;
  background: var(--gzc-bg, #121214);
  color: var(--gzc-fg, #f4f4f2);
  border: 1px solid var(--gzc-border, rgba(244, 244, 242, .18));
  border-radius: var(--gzc-radius, 10px);
  box-shadow: var(--gzc-shadow, 0 18px 48px -12px rgba(0, 0, 0, .6));
  -webkit-backdrop-filter: var(--gzc-backdrop, none);
  backdrop-filter: var(--gzc-backdrop, none);
  font-family: var(--gzc-font, inherit);
  font-size: var(--gzc-size, .8125rem);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: normal;
  text-align: start;
  text-transform: none;
}
.gzc__title {
  margin: 0;
  font-family: var(--gzc-title-font, inherit);
  font-size: var(--gzc-title-size, .9375rem);
  font-weight: var(--gzc-title-weight, 600);
  letter-spacing: var(--gzc-title-spacing, normal);
  text-transform: var(--gzc-title-case, none);
  line-height: 1.3;
  color: var(--gzc-title-color, inherit);
}
.gzc__body, .gzc__status { margin: 0; color: var(--gzc-muted, inherit); }
.gzc__status { color: var(--gzc-fg, inherit); }
.gzc__body a {
  color: var(--gzc-link, inherit);
  text-decoration: underline;
  text-decoration-color: var(--gzc-accent, currentColor);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  white-space: nowrap;
}
.gzc__body a:hover { color: var(--gzc-link-hover, inherit); text-decoration-color: currentColor; }
.gzc__actions { display: flex; gap: 10px; margin-top: 8px; }
.gzc__btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 0 14px;
  font-family: var(--gzc-btn-font, inherit);
  font-size: var(--gzc-btn-size, .875rem);
  font-weight: var(--gzc-btn-weight, 600);
  letter-spacing: var(--gzc-btn-spacing, normal);
  text-transform: var(--gzc-btn-case, none);
  line-height: 1.15;
  color: var(--gzc-btn-fg, inherit);
  background: var(--gzc-btn-bg, transparent);
  border: 1px solid var(--gzc-btn-border, currentColor);
  border-radius: var(--gzc-btn-radius, 6px);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: color .2s, background-color .2s, border-color .2s;
}
.gzc__btn:hover {
  color: var(--gzc-btn-hover-fg, var(--gzc-bg, #121214));
  background: var(--gzc-btn-hover-bg, var(--gzc-fg, #f4f4f2));
  border-color: var(--gzc-btn-hover-border, var(--gzc-btn-hover-bg, var(--gzc-fg, #f4f4f2)));
}
.gzc__title:focus { outline: none; }
.gzc__title:focus-visible, .gzc__body a:focus-visible, .gzc__btn:focus-visible {
  outline: 2px solid var(--gzc-focus, currentColor);
  outline-offset: 3px;
}
/* phones: a sheet across the bottom, edge to edge, the two buttons side by side */
@media (max-width: 639.98px) {
  .gzc { padding: 0; }
  .gzc__panel {
    max-width: none;
    margin: 0;
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px));
    border-width: 1px 0 0;
    border-radius: var(--gzc-radius-sheet, 14px 14px 0 0);
    gap: 6px;
  }
}
/* the bar (class gzc-bar on <html> or <body>): from 640 px too it runs across the bottom, the text beside the two
   buttons, its content no wider than the site's (--gzc-bar-max, with --gzc-bar-gutter at the sides) */
@media (min-width: 640px) {
  .gzc-bar .gzc { padding: 0; }
  .gzc-bar .gzc__panel {
    max-width: none;
    margin: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 32px;
    row-gap: 4px;
    align-items: center;
    padding: 16px max(var(--gzc-bar-gutter, 24px), calc((100% - var(--gzc-bar-max, 75rem)) / 2 + var(--gzc-bar-gutter, 24px))) calc(18px + env(safe-area-inset-bottom, 0px));
    border-width: 1px 0 0;
    border-radius: 0;
  }
  .gzc-bar .gzc__panel > p { grid-column: 1; }
  .gzc-bar .gzc__actions { grid-area: 1 / 2 / 4 / 3; margin-top: 0; }
  .gzc-bar .gzc__btn { min-width: 8.5rem; }
}
@media (prefers-reduced-motion: no-preference) {
  .gzc:not([hidden]) .gzc__panel { animation: gzc-in .35s cubic-bezier(.16, 1, .3, 1) both; }
}
@keyframes gzc-in { from { opacity: 0; transform: translateY(12px); } }
/* while it is open, focused elements and the end of the page scroll clear of it (set --gzc-body-pad: 0px to pad
   your own footer instead) */
html.gzc-open { scroll-padding-bottom: calc(var(--gzc-h, 0px) + 16px); }
html.gzc-open body { padding-bottom: var(--gzc-body-pad, var(--gzc-h, 0px)); }
/* inside an app the settings link has nothing to do */
.gzc-app [data-consent-open] { display: none !important; }
@media (forced-colors: active) { .gzc__panel, .gzc__btn { border: 1px solid CanvasText; } }
@media print { .gzc { display: none !important; } }
