/* ─────────────────────────────────────────────
   COOKIEBOT BANNER: dark navy bottom bar (option B)
   Restyles the Cookiebot dialog (#CybotCookiebotDialog) to match the site.
   Loaded on /bg/ for testing. Not an officially supported Cookiebot feature:
   re-check the banner after Cookiebot releases.
   Rule: Deny and Allow all keep the same size and weight (GDPR).
   ───────────────────────────────────────────── */
html body #CybotCookiebotDialog {
  --cb-dark: #0B1E3F; --cb-blue: #1875CC; --cb-cyan: #00C2C7; --cb-text: #D6E2F5;
  font-family: 'DM Sans', sans-serif;
  position: fixed !important; top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
  width: 100% !important; max-width: none !important; min-width: 0 !important; height: auto !important; max-height: 90vh !important;
  transform: none !important; margin: 0 !important;
  border-radius: 0; border: 0; border-top: 3px solid var(--cb-cyan);
  background: var(--cb-dark); color: var(--cb-text);
  box-shadow: 0 -8px 30px rgba(11, 30, 63, .35);
  overflow-y: auto;
}
html body #CybotCookiebotDialog * { font-family: inherit; letter-spacing: normal; }

/* Layout: text + toggles on the left, logo + buttons on the right */
html body #CybotCookiebotDialog .CybotCookiebotDialogContentWrapper {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 2rem; row-gap: .5rem;
  max-width: 1800px; margin: 0 auto; padding: 1rem clamp(1.25rem, 4vw, 2rem);
  align-items: center;
}
html body #CybotCookiebotDialog #CybotCookiebotDialogHeader { grid-column: 2; grid-row: 1; justify-self: end; padding: 0; background: none; border: 0; }
html body #CybotCookiebotDialog #CybotCookiebotDialogPoweredbyCybot svg { height: 22px; width: auto; filter: brightness(0) invert(1); }
html body #CybotCookiebotDialog #CybotCookiebotDialogNav { display: none; }
html body #CybotCookiebotDialog #CybotCookiebotDialogTabContent { grid-column: 1; grid-row: 1 / span 2; padding: 0; background: none; }
html body #CybotCookiebotDialog #CybotCookiebotDialogFooter { grid-column: 2; grid-row: 2; padding: 0; background: none; border: 0; box-shadow: none; }

/* Text */
html body #CybotCookiebotDialog #CybotCookiebotDialogBody,
html body #CybotCookiebotDialog .CybotCookiebotScrollContainer,
html body #CybotCookiebotDialog .CybotCookiebotScrollArea { background: none; padding: 0; max-height: none; overflow: visible; }
html body #CybotCookiebotDialog .CybotCookiebotFader { display: none; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyContentTitle { color: #fff; font: 700 1.05rem 'Montserrat', sans-serif; margin: 0 0 .25rem; padding: 0; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyContentText { color: var(--cb-text); font-size: .95rem; line-height: 1.5; padding: 0; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyContentText a { color: var(--cb-cyan); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* Category toggles in one row, no divider lines */
html body #CybotCookiebotDialog #CybotCookiebotDialogTabContent *,
html body #CybotCookiebotDialog #CybotCookiebotDialogTabContent { border: 0 !important; box-shadow: none; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyBottomWrapper { padding: 0; margin-top: .6rem; background: none; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtons,
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsTable,
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsRow,
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonsSelectPane { padding: 0; background: none; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyFieldsetInnerContainer { display: flex; flex-wrap: wrap; gap: .5rem 2rem; padding: 0; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonWrapper { display: flex; flex-direction: row; align-items: center; gap: .6rem; padding: 0; margin: 0; width: auto; background: none; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonLabel,
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDescription { color: #fff; font-weight: 700; font-size: .9rem; margin: 0; padding: 0; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider { background-color: #5A6F94; }
html body #CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider { background-color: var(--cb-cyan); }

/* Keep Cookiebot's hidden US-only "do not sell" toggle hidden */
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonWrapper:has(#CybotCookiebotDialogBodyContentCheckboxPersonalInformation),
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonWrapper[style*="display: none"] { display: none !important; }

/* Buttons: same size for Deny, Allow selection and Allow all */
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper { display: flex !important; flex-direction: row !important; gap: .6rem; padding: 0; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyButton {
  flex: 1 1 0; min-width: 8.5rem; margin: 0; padding: .7rem 1.1rem; border-radius: 8px;
  font: 700 .9rem 'DM Sans', sans-serif; border: 2px solid rgba(255, 255, 255, .6) !important;
  background: transparent !important; color: #fff !important; cursor: pointer;
}
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll {
  background: linear-gradient(90deg, #1875CC, #00C2C7) !important; border-color: transparent !important; color: #fff !important;
}
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyButtonDecline { order: 1; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection { order: 2; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll { order: 3; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyButton:hover { filter: brightness(1.12); }
html body #CybotCookiebotDialog a:focus-visible,
html body #CybotCookiebotDialog button:focus-visible,
html body #CybotCookiebotDialog input:focus-visible + label { outline: 3px solid var(--cb-cyan); outline-offset: 2px; }

/* Phones: stack text, toggles and buttons */
@media (max-width: 860px) {
  html body #CybotCookiebotDialog .CybotCookiebotDialogContentWrapper { grid-template-columns: minmax(0, 1fr); padding: .9rem 1.25rem 1.1rem; }
  html body #CybotCookiebotDialog #CybotCookiebotDialogHeader { grid-column: 1; grid-row: 3; justify-self: start; }
  html body #CybotCookiebotDialog #CybotCookiebotDialogTabContent { grid-column: 1; grid-row: 1; }
  html body #CybotCookiebotDialog #CybotCookiebotDialogFooter { grid-column: 1; grid-row: 2; }
  html body #CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper { flex-wrap: wrap; }
  html body #CybotCookiebotDialog .CybotCookiebotDialogBodyButton { min-width: 0; }
}

/* Compact sizes and no custom scrollbars (Cookiebot draws white scrollbar bars) */
html body #CybotCookiebotDialog .CybotCookiebotScrollbarContainer,
html body #CybotCookiebotDialog [class*="CybotCookiebotScrollbar"] { display: none !important; }
html body #CybotCookiebotDialog,
html body #CybotCookiebotDialog * { scrollbar-width: none; }
html body #CybotCookiebotDialog::-webkit-scrollbar,
html body #CybotCookiebotDialog *::-webkit-scrollbar { display: none; }

html body #CybotCookiebotDialog .CybotCookiebotDialogBodyButton {
  height: 40px !important; min-height: 0 !important; width: auto !important; min-width: 7.5rem !important;
  padding: 0 1rem !important; font-size: .85rem !important; line-height: 1.15 !important; border-radius: 8px !important;
  display: inline-flex !important; align-items: center; justify-content: center; text-align: center;
}
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyButtonsWrapper { gap: .5rem !important; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSliderWrapper { width: 38px !important; height: 22px !important; min-width: 0; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider { width: 38px !important; height: 22px !important; border-radius: 22px !important; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonSlider:before { width: 16px !important; height: 16px !important; left: 3px !important; bottom: 3px !important; top: auto !important; }
html body #CybotCookiebotDialog input:checked + .CybotCookiebotDialogBodyLevelButtonSlider:before { transform: translateX(16px) !important; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonLabel,
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyLevelButtonDescription { font-size: .85rem !important; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyFieldsetInnerContainer { gap: .4rem 1.5rem !important; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyBottomWrapper { margin-top: .4rem !important; }
html body #CybotCookiebotDialog .CybotCookiebotDialogContentWrapper { padding-top: .75rem !important; padding-bottom: .75rem !important; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyContentText { font-size: .9rem !important; line-height: 1.45 !important; }

/* The categories are already inline, so Cookiebot's "Customize" button is not needed */
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyButtonDetails { display: none !important; }
html body #CybotCookiebotDialog .CybotCookiebotDialogBodyButton { white-space: nowrap; min-width: 8.5rem !important; }
html body #CybotCookiebotDialog #CybotCookiebotDialogBodyLevelButtonCustomize,
html body #CybotCookiebotDialog .CybotCookiebotDialogHide { display: none !important; }

/* ─────────────────────────────────────────────
   COOKIEBOT WIDGET: round badge + "Cookie settings" popup (shown after consent)
   Same navy and gradient as the bar.
   ───────────────────────────────────────────── */
html body #CookiebotWidget { font-family: 'DM Sans', sans-serif !important; color: #D6E2F5; }
html body #CookiebotWidget *:not(svg):not(path):not(circle) { font-family: 'DM Sans', sans-serif !important; color: inherit; }

/* Closed: round gradient badge */
html body #CookiebotWidget:not(.CookiebotWidget-open) { background: linear-gradient(135deg, #1875CC, #00C2C7) !important; border-radius: 50% !important; box-shadow: 0 4px 16px rgba(11, 30, 63, .35) !important; }
html body #CookiebotWidget .CookiebotWidget-logo svg circle { fill: transparent !important; }
html body #CookiebotWidget .CookiebotWidget-logo svg path { fill: #fff !important; }

/* Open: navy card with cyan top line */
html body #CookiebotWidget.CookiebotWidget-open { background: #0B1E3F !important; border-radius: 14px !important; border-top: 3px solid #00C2C7 !important; box-shadow: 0 10px 40px rgba(11, 30, 63, .45) !important; }
html body #CookiebotWidget .CookiebotWidget-contents,
html body #CookiebotWidget .CookiebotWidget-header,
html body #CookiebotWidget .CookiebotWidget-body,
html body #CookiebotWidget .CookiebotWidget-body-inner { background: transparent !important; color: #D6E2F5 !important; }
html body #CookiebotWidget .CookiebotWidget-header { border-bottom: 1px solid rgba(255, 255, 255, .15) !important; }
html body #CookiebotWidget .CookiebotWidget-header strong,
html body #CookiebotWidget .CookiebotWidget-state { color: #fff !important; font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; }
html body #CookiebotWidget .CookiebotWidget-consents-list li { color: #D6E2F5 !important; }
html body #CookiebotWidget .CookiebotWidget-close svg path { fill: #fff !important; }
html body #CookiebotWidget .Cookiebotwidget-consent-icon,
html body #CookiebotWidget .Cookiebotwidget-consent-icon * { filter: brightness(0) invert(1); }
html body #CookiebotWidget .CookiebotWidget-approved .Cookiebotwidget-consent-icon { filter: brightness(0) saturate(100%) invert(68%) sepia(86%) saturate(2200%) hue-rotate(137deg) brightness(95%); }
html body #CookiebotWidget .CookiebotWidget-show-consent-details { color: #00C2C7 !important; font-weight: 700 !important; }
html body #CookiebotWidget .CookiebotWidget-show-consent-details svg path { fill: #00C2C7 !important; }
html body #CookiebotWidget .CookiebotWidget-consent-details-box { background: rgba(255, 255, 255, .08) !important; color: #D6E2F5 !important; }
html body #CookiebotWidget .CookiebotWidget-consent-details-box strong { color: #fff !important; }
html body #CookiebotWidget .CookiebotWidget-main-logo svg { filter: brightness(0) invert(1); }
html body #CookiebotWidget .CybotCookiebotScrollbarContainer { display: none !important; }

/* Buttons: equal size, withdraw outlined, change filled with the brand gradient */
html body #CookiebotWidget #CookiebotWidget-buttons { border-top: 1px solid rgba(255, 255, 255, .15) !important; background: transparent !important; gap: .5rem; }
html body #CookiebotWidget #CookiebotWidget-btn-withdraw,
html body #CookiebotWidget #CookiebotWidget-btn-change { height: 40px !important; min-height: 0 !important; padding: 0 1rem !important; border-radius: 8px !important; font: 700 .85rem 'DM Sans', sans-serif !important; color: #fff !important; cursor: pointer; }
html body #CookiebotWidget #CookiebotWidget-btn-withdraw { background: transparent !important; border: 2px solid rgba(255, 255, 255, .6) !important; }
html body #CookiebotWidget #CookiebotWidget-btn-change { background: linear-gradient(90deg, #1875CC, #00C2C7) !important; border: 2px solid transparent !important; }
html body #CookiebotWidget #CookiebotWidget-btn-withdraw[disabled],
html body #CookiebotWidget #CookiebotWidget-btn-withdraw[aria-disabled="true"] { opacity: .55; cursor: default; }
html body #CookiebotWidget :focus-visible { outline: 3px solid #00C2C7 !important; outline-offset: 2px; }
html body #CookiebotWidget #CookiebotWidget-widgetContent,
html body #CookiebotWidget #CookiebotWidget-widgetContent .CookiebotWidget-contents { background: #0B1E3F !important; border-radius: 12px; }
