/* Complianz cookie banner, styled like the mockup's cookie notice (.dn-cookie): white card, bottom of the viewport,
   .dn-button accept. Enqueued only while Complianz is active (inc/enqueue.php). Selectors start with the container id
   to beat the banner CSS Complianz generates. */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
  position: fixed;
  top: auto;
  bottom: 24px;
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  z-index: 100000;
  box-sizing: border-box;
  width: min(var(--container), 100% - 2 * var(--gutter));
  max-width: none;
  max-height: calc(100vh - 48px);
  overflow: auto;
  margin: 0;
  padding: 32px;
  border: 0;
  border-radius: var(--radius);
  background: var(--background-primary);
  color: var(--typography-primary);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.2;
  box-shadow: var(--shadow-popup);
  display: none;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 36px;
  row-gap: 16px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show { display: grid; }
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-hidden,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed { display: none !important; }
/* No cookie list page until the Complianz wizard is completed: the "Manage services" anchor would lead nowhere. */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-manage-third-parties,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-manage-vendors { display: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-divider { display: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body { grid-column: 1; grid-row: 1; padding: 0; margin: 0; overflow: visible; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories { width: auto; max-width: none; grid-column: auto; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { margin: 0; font-size: 16px; line-height: 1.2; color: inherit; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories { margin-top: 16px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category { border-color: var(--elements-lines); background: transparent; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { grid-column: 2; grid-row: 1; display: flex; flex-wrap: wrap; gap: 12px; padding: 0; margin: 0; align-items: center; justify-content: flex-end; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link { color: inherit; font-size: 14px; text-decoration: underline; background: none; border: 0; padding: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link:hover { color: var(--elements-hover); }

/* TCF-only duplicate of "View preferences" */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-manage-options { display: none; }

/* Complianz hides "Save preferences" until the categories are opened: keep that behaviour */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { display: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner:has(.cmplz-categories.cmplz-fade-in) .cmplz-btn.cmplz-save-preferences { display: inline-flex; }

/* Buttons: accept = .dn-button, the others outlined */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: auto;
  height: var(--control-height);
  margin: 0;
  padding: 3px var(--button-pad-x);
  border: var(--border-width) solid var(--button-primary);
  border-radius: var(--radius);
  background: transparent;
  color: var(--typography-primary);
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: var(--button-primary); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover { border-color: var(--elements-hover); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:focus-visible,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links .cmplz-link:focus-visible { outline: 2px solid var(--typography-primary); outline-offset: 2px; }

/* "Manage consent" re-open tab: keep it quiet and clear of the support button */
#cmplz-manage-consent .cmplz-manage-consent { font-family: var(--font-sans); font-size: 14px; border-radius: var(--radius) var(--radius) 0 0; }

@media (max-width: 1023px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner { bottom: 16px; padding: 24px; column-gap: 24px; }
}
@media (max-width: 767px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner { grid-template-columns: 1fr; padding: 20px; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body { grid-column: 1; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { grid-column: 1; grid-row: 2; flex-direction: column; align-items: stretch; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn { width: 100%; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font-size: 14px; }
}
