/* Deliberately scoped to the native Complianz interface, never theme content. */
.cmplz-cookiebanner.cmplz-bottom {
  inset: auto 0 0 !important;
  transform: none !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  margin: 0 !important;
  border-radius: 0 !important;
  padding: 18px max(24px, calc((100vw - 1224px) / 2)) max(18px, env(safe-area-inset-bottom)) !important;
  max-height: min(85dvh, 720px);
  overflow-y: auto;
  box-shadow: 0 -3px 18px rgb(0 0 0 / 10%) !important;
  border: 0 !important;
  border-top: 1px solid #d8dfe1 !important;
  background: #fff !important;
  color: #202623 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-areas: "header buttons" "body buttons" "links buttons" !important;
  gap: 8px 28px !important;
  align-items: center;
}
.cmplz-cookiebanner .cmplz-header { grid-area: header; padding: 0 !important; min-height: 0 !important; justify-content: start !important; }
.cmplz-cookiebanner .cmplz-title { font-size: 17px !important; font-weight: 700 !important; }
.cmplz-cookiebanner .cmplz-body { grid-area: body; margin: 0 !important; padding: 0 !important; max-width: none !important; }
.cmplz-cookiebanner .cmplz-message { font-size: 15px !important; line-height: 1.5 !important; padding: 0 !important; margin: 0 !important; }
.cmplz-cookiebanner .cmplz-buttons { grid-area: buttons; gap: 10px !important; margin: 0 !important; padding: 0 !important; align-items: center; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { min-width: 108px; min-height: 44px; margin: 0 !important; font-size: 15px !important; font-weight: 600; border-radius: 5px !important; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-accept,
.cmplz-cookiebanner .cmplz-buttons .cmplz-deny { color: #fff !important; background: #005b75 !important; border: 1px solid #005b75 !important; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences { color: #005b75 !important; background: #fff !important; border: 1px solid #005b75 !important; }
.cmplz-cookiebanner .cmplz-documents { grid-area: links; margin: 0 !important; padding: 0 !important; text-align: left !important; }
.cmplz-cookiebanner .cmplz-documents ul { display: flex; flex-wrap: wrap; gap: 6px 16px; list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cmplz-cookiebanner .cmplz-documents li { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.cmplz-cookiebanner .cmplz-documents li::marker { content: none !important; }
.cmplz-cookiebanner .cmplz-links a { color: #005b75 !important; }
.cmplz-cookiebanner .cmplz-divider { display: none !important; }
.cmplz-cookiebanner .cmplz-category { margin-top: 8px; }
.cmplz-cookiebanner button:focus-visible,
.cmplz-cookiebanner a:focus-visible { outline: 3px solid #005b75; outline-offset: 3px; }
@media (max-width: 900px) {
  .cmplz-cookiebanner.cmplz-bottom {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "header" "body" "buttons" "links" !important;
    gap: 10px !important;
    padding: 16px 16px max(16px, env(safe-area-inset-bottom)) !important;
  }
  .cmplz-cookiebanner .cmplz-buttons { flex-wrap: wrap; justify-content: start !important; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { flex: 1 1 96px; min-width: 0; }
}

.cmplz-cookiebanner .cmplz-header { display: flex !important; }
.cmplz-cookiebanner .cmplz-title { display: block !important; }
.cmplz-cookiebanner .cmplz-documents { display: block !important; }

.cmplz-cookiebanner .cmplz-header { grid-area: header !important; }
.cmplz-cookiebanner .cmplz-body { grid-area: body !important; }
.cmplz-cookiebanner .cmplz-documents { grid-area: links !important; }
.cmplz-cookiebanner .cmplz-buttons { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; grid-area: buttons !important; width: auto !important; align-self: center !important; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn { width: auto !important; flex: 0 0 auto; }
@media (max-width: 900px) {
 .cmplz-cookiebanner .cmplz-buttons { justify-content: stretch !important; }
 .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { flex: 1 1 0; padding: 10px 8px !important; }
}

/* CMP-only layout hotfix: bounded action column and shrinkable text track. */
.cmplz-cookiebanner.cmplz-bottom {
  grid-template-columns: minmax(0, 1fr) minmax(0, 420px) !important;
}
.cmplz-cookiebanner.cmplz-bottom .cmplz-body {
  display: block !important;
  min-width: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
.cmplz-cookiebanner.cmplz-bottom .cmplz-buttons {
  min-width: 0 !important;
  max-width: 100% !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}
.cmplz-cookiebanner.cmplz-bottom .cmplz-buttons .cmplz-btn {
  min-width: 0 !important;
  flex: 1 1 108px !important;
  white-space: normal !important;
}
@media (max-width: 1100px) {
  .cmplz-cookiebanner.cmplz-bottom {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "header" "body" "buttons" "links" !important;
  }
}

.cmplz-cookiebanner.cmplz-bottom .cmplz-body > .cmplz-message,
.cmplz-cookiebanner.cmplz-bottom .cmplz-body > .cmplz-categories { width: 100% !important; }
