@font-face {
  font-family: "Barlow";
  src: url("../fonts/barlow-400.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Barlow";
  src: url("../fonts/barlow-600.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #1c1c1e;
  --paper: #ffffff;
  --chrome: #f2f2f7;
  --muted: #636366;
  --line: #e5e5ea;
  --ring: #d1d1d6;
}

#cmplz-cookiebanner-container:has(.cmplz-cookiebanner:not(.cmplz-dismissed)) {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: rgba(28, 28, 30, 0.4);
}

.cmplz-cookiebanner {
  --cmplz_banner_background_color: var(--paper);
  --cmplz_banner_border_color: var(--line);
  --cmplz_banner_border_width: 1px;
  --cmplz_banner_border_radius: 12px;
  --cmplz_text_color: var(--ink);
  --cmplz_hyperlink_color: var(--muted);
  --cmplz_text_font_size: 16px;
  --cmplz_title_font_size: 20px;
  --cmplz_link_font_size: 14px;
  --cmplz_category_body_font_size: 14px;
  --cmplz_button_accept_background_color: var(--ink);
  --cmplz_button_accept_border_color: var(--ink);
  --cmplz_button_accept_text_color: var(--paper);
  --cmplz_button_deny_background_color: var(--chrome);
  --cmplz_button_deny_border_color: var(--chrome);
  --cmplz_button_deny_text_color: var(--ink);
  --cmplz_button_settings_background_color: var(--chrome);
  --cmplz_button_settings_border_color: var(--chrome);
  --cmplz_button_settings_text_color: var(--ink);
  --cmplz_button_border_radius: 12px;
  --cmplz_button_font_size: 16px;
  --cmplz_slider_active_color: var(--ink);
  --cmplz_slider_inactive_color: var(--ring);
  --cmplz_slider_bullet_color: var(--paper);
  --cmplz_category_header_always_active_color: var(--muted);
  width: min(28rem, calc(100vw - 2.5rem)) !important;
  max-height: min(85vh, 40rem);
  padding: 1.25rem;
  border-style: solid;
  background: var(--paper);
  color: var(--ink);
  font-family: "Barlow", "Segoe UI", sans-serif;
  box-shadow: none !important;
  animation: none !important;
}

.cmplz-cookiebanner .cmplz-header {
  display: flex !important;
  justify-content: flex-start !important;
  margin: 0 0 0.15rem;
}

.cmplz-cookiebanner .cmplz-title {
  display: block;
  width: auto !important;
  margin: 0 !important;
  text-align: left !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em;
  line-height: 1.2;
}

.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-categories,
.cmplz-cookiebanner .cmplz-links {
  font-size: 1rem;
  line-height: 1.45;
}

.cmplz-cookiebanner .cmplz-message a,
.cmplz-cookiebanner .cmplz-links .cmplz-link {
  color: var(--muted);
  text-underline-offset: 0.18em;
}

.cmplz-cookiebanner .cmplz-links.cmplz-documents {
  justify-content: flex-start !important;
}

.cmplz-cookiebanner .cmplz-divider {
  border-color: var(--line);
  background: var(--line);
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category {
  background: var(--chrome) !important;
  border-radius: 12px;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
  color: var(--muted);
}

.cmplz-cookiebanner .cmplz-buttons {
  flex-direction: column;
  gap: 0.5rem;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  min-height: 2.75rem !important;
  border-width: 0 !important;
  border-radius: 12px;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600 !important;
  white-space: normal;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences {
  background: var(--chrome);
  border-color: var(--chrome);
  color: var(--ink);
}

.cmplz-cookiebanner .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label::before {
  box-shadow: 0 0 0 2px var(--ink);
}

body.habitos-app #cmplz-manage-consent {
  display: none !important;
}

#cmplz-manage-consent .cmplz-manage-consent {
  right: 1.25rem;
  bottom: 1.25rem;
  animation: none !important;
  height: auto;
  min-height: 2.75rem;
  padding: 0 1rem;
  border: 0;
  border-radius: 12px;
  background: var(--chrome);
  color: var(--ink);
  font-family: "Barlow", "Segoe UI", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  box-shadow: none;
}

@media (max-width: 800px) {
  body.habitos-app #cmplz-manage-consent .cmplz-manage-consent {
    bottom: calc(4.6rem + env(safe-area-inset-bottom));
  }
}
