/* BOND / Complianz: native banner controls, site typography and neutral choices. */
.cmplz-cookiebanner {
  --cmplz_text_font_size: 15px;
  --cmplz_text_line_height: 1.55;
  --cmplz_category_header_always_active_color: #666;
  box-sizing: border-box;
  width: 540px;
  min-width: 0;
  max-width: calc(100vw - 64px);
  max-height: calc(100vh - 64px);
  max-height: calc(100dvh - 64px);
  right: 32px;
  bottom: 32px;
  padding: 28px;
  gap: 0;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #111;
  box-shadow: 0 8px 40px rgba(0,0,0,.13);
  font-family: Arimo, Arial, sans-serif;
  text-align: left;
  overflow-x: hidden;
}
.cmplz-cookiebanner *, .cmplz-cookiebanner *::before, .cmplz-cookiebanner *::after { box-sizing: border-box; }
.cmplz-cookiebanner.cmplz-show, .cmplz-cookiebanner.cmplz-show:hover { box-shadow: 0 8px 40px rgba(0,0,0,.13); transition: none; }
.cmplz-cookiebanner .cmplz-header { padding: 0; margin: 0 0 14px; grid-template-columns: 1fr; min-height: 0; }
.cmplz-cookiebanner .cmplz-header .cmplz-title { display: block; grid-column: 1 / -1; justify-self: start; width: 100%; text-align: left; margin: 0; font: 700 23px/1.2 Arimo,Arial,sans-serif; letter-spacing: -.45px; }
.cmplz-cookiebanner .cmplz-logo, .cmplz-cookiebanner .cmplz-close, .cmplz-cookiebanner .cmplz-divider { display: none; }
.cmplz-cookiebanner .cmplz-body { min-width: 0; width: 100%; max-height: 48vh; max-height: 48dvh; margin: 0; padding: 0; }
.cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-categories { width: 100%; padding: 0; }
.cmplz-cookiebanner .cmplz-message { font-size: 15px; line-height: 1.55; color: #444; margin: 0; }
.cmplz-cookiebanner .cmplz-message p { margin: 0; font: inherit; }
.cmplz-cookiebanner a { color: #111; text-decoration: underline; text-underline-offset: 3px; }
.cmplz-cookiebanner a:hover { color: #555; }
.cmplz-cookiebanner .cmplz-information { display: none; }
.cmplz-cookiebanner .cmplz-buttons { display: flex; flex-direction: row; gap: 10px; margin: 24px 0 0; padding: 0; width: 100%; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  height: auto;
  min-height: 46px;
  margin: 0;
  padding: 11px 10px;
  border: 1px solid #111;
  border-radius: 0;
  background: #fff;
  color: #111;
  box-shadow: none;
  font: 400 14px/1.35 Arimo,Arial,sans-serif;
  text-transform: none;
  letter-spacing: 0;
  text-decoration: none;
  text-align: center;
  white-space: normal;
  transition: color .15s ease, background-color .15s ease;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover { background: #111; color: #fff; border-color: #111; }
.cmplz-cookiebanner:not(.cmplz-categories-visible) .cmplz-buttons .cmplz-btn.cmplz-accept { background: #111; color: #fff; border-color: #111; }
.cmplz-cookiebanner:not(.cmplz-categories-visible) .cmplz-buttons .cmplz-btn.cmplz-accept:hover { background: #333; border-color: #333; }
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus-visible,
.cmplz-cookiebanner a:focus-visible,
.cmplz-cookiebanner .cmplz-category-toggle:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
.cmplz-cookiebanner .cmplz-categories { margin-top: 20px; border-bottom: 1px solid #dedede; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category { margin: 0; padding: 0; border: 0; border-top: 1px solid #dedede; border-radius: 0; background: #fff; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) { margin-bottom: 0; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { min-height: 56px; padding: 6px 0; grid-template-columns: minmax(0,1fr) 44px 44px !important; gap: 8px 0; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { font: 700 15px/1.4 Arimo,Arial,sans-serif; }
.cmplz-cookiebanner .bond-cookie-always-active { display: block; margin-top: 2px; font: 400 12px/1.4 Arimo,Arial,sans-serif; color: #666; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle { display: flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 0; background: transparent; color: #111; }
.cmplz-cookiebanner .cmplz-category-toggle .cmplz-icon { display: none; }
.cmplz-cookiebanner .cmplz-category-toggle::before { content: '\e80d' / ''; display: block; width: 18px; height: 18px; font: 400 18px/1 'bond-icons'; font-style: normal; text-transform: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.cmplz-cookiebanner .cmplz-category-toggle[aria-expanded="true"]::before { content: '\e80c' / ''; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description { padding: 0 0 18px; font: 400 14px/1.55 Arimo,Arial,sans-serif; color: #444; }
.cmplz-cookiebanner .cmplz-description span { font: inherit; }
.cmplz-cookiebanner .cmplz-banner-checkbox { flex-shrink: 0; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus-visible + .cmplz-label::before { box-shadow: none; outline: 2px solid #111; outline-offset: 3px; }
/* Keep native checkbox semantics, with BOND's square visual treatment. */
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox { display: flex; align-items: center; justify-content: flex-end; position: relative; grid-column: 2; width: 44px; height: 44px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category input.cmplz-consent-checkbox {
  display: block !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  z-index: 1;
  opacity: 1 !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px;
  margin: 0 !important;
  padding: 0;
  border: 1.5px solid #111;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  cursor: pointer;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category input.cmplz-consent-checkbox::before,
.cmplz-cookiebanner .cmplz-categories .cmplz-category input.cmplz-consent-checkbox::after { content: none; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category input.cmplz-consent-checkbox:checked { background: #111; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category input.cmplz-consent-checkbox:disabled { border-color: #777; background-color: #777; cursor: not-allowed; opacity: 1; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category input.cmplz-consent-checkbox:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-label { position: absolute; z-index: auto; inset: 0; width: 44px; height: 44px; margin: 0; padding: 0; cursor: pointer; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category.cmplz-functional .cmplz-label { cursor: not-allowed; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-label::before,
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-label::after { display: none !important; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category input.cmplz-consent-checkbox:checked + .cmplz-label::after { content: '\e80b' / ''; display: block !important; position: absolute; z-index: 2; top: 11px; right: 0; bottom: auto; left: auto; width: 22px; height: 22px; margin: 0; padding: 0; border: 0; background: none; color: #fff; font: 400 22px/1 'bond-icons'; text-align: center; text-transform: none; transform: none; pointer-events: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
#cmplz-manage-consent .cmplz-manage-consent { border: 1px solid #dedede; border-radius: 0; background: #fff; color: #111; font: 400 13px/1.4 Arimo,Arial,sans-serif; }
body:has(.bond-cookie-settings button.cmplz-manage-consent) #cmplz-manage-consent { display: none; }
.elementor-location-footer .bond-cookie-settings button.cmplz-manage-consent { position: static; min-width: 0; width: auto; margin: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-transform: none; cursor: pointer; font-family: inherit; line-height: inherit; }
.elementor-location-footer .bond-cookie-settings button.cmplz-manage-consent:hover { color: #666666; background: none; }
.elementor-location-footer .bond-cookie-settings button.cmplz-manage-consent:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 767px) {
  .cmplz-cookiebanner { width: 100%; max-width: 100%; min-width: 0; left: 0; right: 0; bottom: 0; max-height: 100vh; max-height: 100dvh; padding: 24px 24px calc(20px + env(safe-area-inset-bottom)); border-left: 0; border-right: 0; border-bottom: 0; }
  .cmplz-cookiebanner .cmplz-header .cmplz-title { display: block; font-size: 21px; letter-spacing: -.3px; }
  .cmplz-cookiebanner .cmplz-message { font-size: 14px; line-height: 1.5; }
  .cmplz-cookiebanner .cmplz-body { max-height: 48vh; max-height: 48dvh; min-width: 0; }
  .cmplz-cookiebanner .cmplz-buttons { flex-wrap: wrap; gap: 10px; margin-top: 20px; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { flex-basis: calc(50% - 5px); min-height: 44px; padding: 11px 8px; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences,
  .cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences { flex-basis: 100%; }
  .cmplz-cookiebanner .bond-cookie-always-active { font-size: 11px; }
  .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { font-size: 14px; }
}
@media (max-height: 480px) {
  .cmplz-cookiebanner { display: grid; width: 100%; max-width: 100%; min-width: 0; height: auto; max-height: 100dvh; left: 0; right: 0; bottom: 0; padding: 16px 20px calc(16px + env(safe-area-inset-bottom)) !important; border-left: 0; border-right: 0; border-bottom: 0; gap: 0; zoom: 1; }
  .cmplz-cookiebanner .cmplz-header { margin: 0 0 10px !important; max-height: none; }
  .cmplz-cookiebanner .cmplz-body { max-height: 34dvh; margin: 0 !important; }
  .cmplz-cookiebanner .cmplz-buttons { gap: 10px !important; margin-top: 14px; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { height: auto !important; min-height: 44px !important; padding: 10px !important; font-size: 14px !important; line-height: 1.35 !important; zoom: 1 !important; white-space: normal !important; }
}
/* Use the same backdrop at every size and follow native banner visibility. */
html:has(#cmplz-cookiebanner-container) { scrollbar-gutter: stable; }
#cmplz-cookiebanner-container:has(> .cmplz-cookiebanner.cmplz-show:not(.cmplz-hidden))::before { content: ""; position: fixed; inset: 0; z-index: 99998; background: rgba(0,0,0,.42); touch-action: none; }
html:has(#cmplz-cookiebanner-container > .cmplz-cookiebanner.cmplz-show:not(.cmplz-hidden)) { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .cmplz-cookiebanner *, #cmplz-manage-consent * { transition: none !important; animation: none !important; } }
