/* ============================================================
   Cookiebot, dressed as BloomBridge.
   Cookiebot ships a generic blue/white dialog; these overrides put it in
   the site's own palette and type. Selectors are Cookiebot's own IDs, so
   this needs a look after any major Cookiebot version bump.
   ============================================================ */

#CybotCookiebotDialog {
  --bbc-linen: #FAF8F3;
  --bbc-line:  #E8E2D6;
  --bbc-ink:   #2C2520;
  --bbc-mid:   #5C5248;
  --bbc-light: #8A8078;
  --bbc-gold:  #C9A84C;
  --bbc-gold-d:#9A7A30;

  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif !important;
  background: var(--bbc-linen) !important;
  color: var(--bbc-ink) !important;
  border: 1px solid var(--bbc-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 50px rgba(44, 37, 32, .18) !important;
  max-width: 1080px !important;
}

/* Headings. Scoped under #CybotCookiebotDialog on purpose: the body-copy rule
   below is `#CybotCookiebotDialog div`, which is MORE specific than a lone ID
   and was flattening the title back to 14px DM Sans. */
#CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle,
#CybotCookiebotDialog #CybotCookiebotDialogBodyLevelDetailsTitle,
#CybotCookiebotDialog #CybotCookiebotDialogDetailBodyContentTextOverview h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  color: var(--bbc-ink) !important;
  letter-spacing: 0 !important;
  margin-bottom: 6px !important;
}

/* body copy */
#CybotCookiebotDialogBodyContentText,
#CybotCookiebotDialogDetailBodyContentTextAbout,
#CybotCookiebotDialogDetailBodyContentCookieContainerTypes,
#CybotCookiebotDialog p,
#CybotCookiebotDialog div,
#CybotCookiebotDialog span,
#CybotCookiebotDialog td,
#CybotCookiebotDialog th {
  font-family: inherit !important;
  color: var(--bbc-mid) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

#CybotCookiebotDialog a,
#CybotCookiebotDialogDetailBodyContentTextAbout a {
  color: var(--bbc-gold) !important;
  text-decoration: underline !important;
}

/* ---- buttons ---- */
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
#CybotCookiebotDialogBodyButtonAccept,
#CybotCookiebotDialogBodyLevelButtonAccept {
  background: var(--bbc-gold) !important;
  border: 1px solid var(--bbc-gold) !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 12px 28px !important;
  letter-spacing: 0 !important;
  transition: background .15s !important;
}
#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll:hover,
#CybotCookiebotDialogBodyButtonAccept:hover {
  background: var(--bbc-gold-d) !important;
  border-color: var(--bbc-gold-d) !important;
}

#CybotCookiebotDialogBodyButtonDecline,
#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll,
#CybotCookiebotDialogBodyLevelButtonCustomize,
#CybotCookiebotDialogBodyButtonDetails {
  background: transparent !important;
  border: 1px solid var(--bbc-line) !important;
  color: var(--bbc-mid) !important;
  border-radius: 999px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  padding: 12px 26px !important;
}
#CybotCookiebotDialogBodyButtonDecline:hover,
#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll:hover,
#CybotCookiebotDialogBodyButtonDetails:hover {
  border-color: var(--bbc-gold) !important;
  color: var(--bbc-ink) !important;
  background: #fff !important;
}

/* ---- detail / preferences view ---- */
#CybotCookiebotDialogNav,
#CybotCookiebotDialogDetailBodyContentTabs {
  border-bottom: 1px solid var(--bbc-line) !important;
  background: transparent !important;
}
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink {
  color: var(--bbc-light) !important;
  font-size: 13.5px !important;
  border-bottom: 2px solid transparent !important;
}
#CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive {
  color: var(--bbc-ink) !important;
  border-bottom-color: var(--bbc-gold) !important;
}

/* category toggles */
.CybotCookiebotDialogBodyLevelButtonSlider {
  background-color: #cfc8ba !important;
}
input:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
  background-color: var(--bbc-gold) !important;
}
.CybotCookiebotDialogBodyLevelButtonDescription {
  color: var(--bbc-mid) !important;
}

/* tables of individual cookies */
#CybotCookiebotDialogDetailBodyContentCookieContainerTypes table,
#CybotCookiebotDialog table {
  border-color: var(--bbc-line) !important;
  font-size: 13px !important;
}
#CybotCookiebotDialog table th {
  color: var(--bbc-ink) !important;
  font-weight: 600 !important;
  background: #fff !important;
}

/* ---- de-emphasise the vendor logo ---- */
#CybotCookiebotDialogPoweredbyCybot,
.CybotCookiebotDialogPoweredByText,
#CybotCookiebotDialogPoweredByText {
  opacity: .45 !important;
  filter: grayscale(1) !important;
}
#CybotCookiebotDialogPoweredbyCybot img { max-height: 18px !important; }

/* the little re-open badge */
#CookiebotWidget {
  --bbc-gold: #C9A84C;
}
#CookiebotWidget .CookiebotWidget-logo svg circle { fill: var(--bbc-gold) !important; }

/* ---- overlay + mobile ---- */
#CybotCookiebotDialogBodyUnderlay { background: rgba(44, 37, 32, .45) !important; }

@media (max-width: 600px) {
  #CybotCookiebotDialog {
    border-radius: 14px 14px 0 0 !important;
    max-height: 82vh !important;
  }
  #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll,
  #CybotCookiebotDialogBodyButtonDecline,
  #CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll {
    width: 100% !important;
    margin: 0 0 8px !important;
  }
}
