/* Carte Blanche theme for CookieConsent v3 (Figma Case 1 tokens) */
#cc-main {
  --cc-font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  --cc-modal-border-radius: 0;
  --cc-btn-border-radius: 0;
  --cc-bg: #ffffff;
  --cc-primary-color: #181818;
  --cc-secondary-color: #4a4a4a;
  --cc-link-color: #0B4B36;
  --cc-btn-primary-bg: #0B4B36;
  --cc-btn-primary-color: #ffffff;
  --cc-btn-primary-border-color: #0B4B36;
  --cc-btn-primary-hover-bg: #083a2a;
  --cc-btn-primary-hover-color: #ffffff;
  --cc-btn-primary-hover-border-color: #083a2a;
  --cc-btn-secondary-bg: #F7F8F9;
  --cc-btn-secondary-color: #181818;
  --cc-btn-secondary-border-color: #E0E0E0;
  --cc-btn-secondary-hover-bg: #E0E0E0;
  --cc-btn-secondary-hover-color: #181818;
  --cc-btn-secondary-hover-border-color: #E0E0E0;
  --cc-toggle-on-bg: #0B4B36;
  --cc-separator-border-color: #E0E0E0;
  --cc-cookie-category-block-bg: #F7F8F9;
  --cc-cookie-category-block-border: #E0E0E0;
}
#cc-main .cm__title, #cc-main .pm__title { font-weight: 700; }
#cc-main .cm__btn, #cc-main .pm__btn { font-weight: 700; }
#cc-main .cm__desc a, #cc-main .pm__section-desc a { color: #0B4B36; }
/* Banner button hierarchy: Accept/OK = solid, Manage = outline, Reject/Opt out = underlined text */
#cc-main .cm__btn[data-role="all"] { background: #0B4B36; color: #fff; border: 0; }
#cc-main .cm__btn[data-role="all"]:hover { background: #083a2a; color: #fff; }
#cc-main .cm__btn[data-role="show"] { background: transparent; color: #0B4B36; border: 1px solid #0B4B36; }
#cc-main .cm__btn[data-role="show"]:hover { background: #F7F8F9; color: #083a2a; border: 1px solid #083a2a; }
#cc-main .cm__btn[data-role="necessary"] { background: transparent; color: #181818; border: 0; text-decoration: underline; text-underline-offset: 3px; }
#cc-main .cm__btn[data-role="necessary"]:hover { background: transparent; color: #0B4B36; border: 0; }

#cc-main .cm__btns { display: flex !important; flex-direction: row !important; align-items: center; gap: 8px; }
#cc-main .cm__btn-group { display: contents !important; }
#cc-main .cm__btn + .cm__btn, #cc-main .cm__btn-group + .cm__btn-group { margin: 0 !important; }
#cc-main .cm__btn[data-role="all"] { order: 1; }
#cc-main .cm__btn[data-role="show"] { order: 2; }
#cc-main .cm__btn[data-role="necessary"] { order: 3; flex: 0 0 auto !important; min-width: 0 !important; width: auto !important; padding-left: 10px !important; padding-right: 6px !important; }

/* Phones: compact one-row banner so it doesn't cover the first call-to-action */
@media screen and (max-width: 640px) {
  #cc-main .cm { left: 0 !important; right: 0 !important; width: 100% !important; max-width: 100vw !important; }
  #cc-main .cm__body, #cc-main .cm__texts, #cc-main .cm__desc { min-width: 0 !important; max-width: 100% !important; width: auto !important; }
  #cc-main .cm__desc { white-space: normal !important; overflow-wrap: break-word; }
  #cc-main .cm__title { display: none; }
  #cc-main .cm__texts { padding-top: 0 !important; padding-bottom: 0 !important; }
  #cc-main .cm__desc { font-size: 13px; line-height: 1.4; padding-top: 12px !important; padding-bottom: 10px !important; }
  #cc-main .cm__btns { flex-direction: row !important; gap: 6px; padding-top: 10px !important; padding-bottom: 12px !important; }
  #cc-main .cm__btn + .cm__btn, #cc-main .cm__btn-group + .cm__btn-group { margin: 0 !important; }
  #cc-main .cm__btn { flex: 1 1 0; min-height: 40px; padding: 6px 4px; font-size: 13px; }
  #cc-main .cm__btn[data-role="all"], #cc-main .cm__btn[data-role="show"] { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
}
