/* ==========================================================================
   Complianz cookie banner — styled to match the theme (white card, red top
   border, navy buttons, Barlow fonts). Loaded only when Complianz is active.
   Complianz sets its colours as CSS variables on :root from its own settings;
   declaring them on the banner itself overrides those settings.
   ========================================================================== */

body .cmplz-cookiebanner {
  --cmplz_banner_width: 560px;
  --cmplz_banner_background_color: #fff;
  --cmplz_banner_border_color: transparent;
  --cmplz_banner_border_width: 0;
  --cmplz_banner_border_radius: 18px;
  --cmplz_banner_margin: 10px;
  --cmplz_text_color: var(--muted);
  --cmplz_hyperlink_color: var(--navy);
  --cmplz_text_font_size: 15px;
  --cmplz_text_line_height: 1.55;
  --cmplz_title_font_size: 23px;
  --cmplz_link_font_size: 14px;
  --cmplz_button_border_radius: 12px;
  --cmplz_button_font_size: 15px;
  --cmplz_button_accept_background_color: var(--navy);
  --cmplz_button_accept_border_color: var(--navy);
  --cmplz_button_accept_text_color: #fff;
  --cmplz_button_deny_background_color: var(--navy);
  --cmplz_button_deny_border_color: var(--navy);
  --cmplz_button_deny_text_color: #fff;
  --cmplz_button_settings_background_color: #fff;
  --cmplz_button_settings_border_color: var(--navy);
  --cmplz_button_settings_text_color: var(--navy);
  --cmplz_slider_active_color: var(--navy);
  --cmplz_slider_inactive_color: var(--grey-300);
  --cmplz_slider_bullet_color: #fff;
  --cmplz_category_header_always_active_color: var(--red-700);
  --cmplz_category_header_title_font_size: 16px;
  --cmplz_category_body_font_size: 14px;

  font-family: var(--body);
  border-top: 5px solid var(--red) !important;
  box-shadow: 0 24px 80px rgba(1, 15, 36, .35) !important;
  padding: 26px !important;
}

/* Heading — same style as the site's headings */
body .cmplz-cookiebanner .cmplz-title {
  font-family: var(--head);
  font-weight: 800;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: .01em;
  color: var(--navy);
}
body .cmplz-cookiebanner .cmplz-close { color: var(--grey-400); }
body .cmplz-cookiebanner .cmplz-close:hover { color: var(--navy); }
body .cmplz-cookiebanner .cmplz-divider { display: none; }

/* Buttons: Accept + Deny side by side, preferences full width underneath */
body .cmplz-cookiebanner .cmplz-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  min-height: 48px;
  padding: 10px 14px;
  font-family: var(--head);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border-width: 2px;
  border-style: solid;
  transition: background-color .2s, color .2s, border-color .2s;
}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences { grid-column: 1 / -1; }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-accept:hover,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-deny:hover { background-color: var(--navy-800); border-color: var(--navy-800); }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences:hover,
body .cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences:hover { background-color: var(--navy-50); }
body .cmplz-cookiebanner .cmplz-btn:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }

/* Preference categories */
body .cmplz-cookiebanner .cmplz-category {
  background: var(--surface);
  border-radius: 10px;
}
body .cmplz-cookiebanner .cmplz-category-title {
  font-family: var(--head);
  font-weight: 700;
  color: var(--navy);
}

/* Policy links under the buttons */
body .cmplz-cookiebanner .cmplz-links .cmplz-link {
  color: var(--navy);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* "Manage consent" tab shown after a choice is made */
body .cmplz-manage-consent {
  font-family: var(--head);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: var(--navy);
  color: #fff;
  border-radius: 10px 10px 0 0;
  border-top: 3px solid var(--red);
}

@media (max-width: 600px) {
  body .cmplz-cookiebanner { padding: 20px !important; }
  body .cmplz-cookiebanner .cmplz-buttons { grid-template-columns: 1fr; }
  /* Keep the floating banner clear of the mobile Call / Enquire bar */
  body .cmplz-manage-consent { bottom: 64px; }
}
