/* Keep Complianz markup, visibility and consent controls; adapt only its bottom layout.
 * The container ID keeps these rules effective even when the plugin loads CSS later. */
.iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom {
  box-sizing: border-box;
  width: calc(100% - 20px);
  max-width: 1240px;
  max-height: min(70dvh, var(--iris-cookie-banner-limit, 70dvh));
  min-width: 0;
  margin: 0;
  inset: auto auto 10px 50%;
  transform: translateX(-50%);
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom > * {
  min-width: 0;
  grid-column: 1 / -1;
  grid-row: auto;
}

.iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-body {
  display: block;
  width: 100%;
  max-height: 45dvh;
}

.iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-body > div {
  width: 100%;
  min-width: 0;
}

.iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-buttons .cmplz-btn {
  min-width: 0;
  width: 100%;
  min-height: 45px;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (min-width: 1100px) {
  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom:not(.cmplz-categories-visible) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom:not(.cmplz-categories-visible) .cmplz-body {
    grid-column: 1;
    grid-row: 2;
  }

  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom:not(.cmplz-categories-visible) .cmplz-buttons {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
  }
}

@media (max-width: 599px) {
  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-buttons {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Complianz's short-screen fallback scales the entire UI and its buttons.
 * Retain readable controls and let the panel scroll instead. */
@media (max-height: 400px) {
  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom {
    height: auto;
    overflow-y: auto;
    zoom: 1;
    padding: 15px 20px !important;
  }

  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom.cmplz-show {
    display: grid;
  }

  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-header {
    max-height: none;
    margin-bottom: 0 !important;
  }

  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-body {
    margin-top: 0 !important;
  }

  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-buttons {
    gap: 10px !important;
  }

  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom .cmplz-btn {
    zoom: 1 !important;
    height: auto !important;
    min-height: 45px !important;
    padding: 10px !important;
    white-space: normal !important;
    font-size: var(--cmplz_button_font_size) !important;
    line-height: 20px !important;
  }

  .iris-site-shell #cmplz-cookiebanner-container .cmplz-bottom :is(.cmplz-close, .cmplz-documents, .cmplz-information) {
    zoom: 1 !important;
  }
}
