/* Cookie consent theme: CookieConsent v3 variables mapped to the site's design tokens (style.css). */
#cc-main {
  --cc-font-family: var(--font);
  --cc-modal-border-radius: 18px;
  --cc-btn-border-radius: 999px;
  --cc-modal-margin: 1rem;
  --cc-z-index: 2147483000;

  --cc-bg: #ffffff;
  --cc-primary-color: #2b2b2b;
  --cc-secondary-color: #4a4a4a;
  --cc-link-color: #33706a;
  --cc-separator-border-color: #e3e1db;

  /* Accept all and Reject share the same strong style (no dark patterns) */
  --cc-btn-primary-bg: #2b2b2b;
  --cc-btn-primary-color: #ffffff;
  --cc-btn-primary-border-color: #2b2b2b;
  --cc-btn-primary-hover-bg: #33706a;
  --cc-btn-primary-hover-color: #ffffff;
  --cc-btn-primary-hover-border-color: #33706a;
  --cc-btn-secondary-bg: #ffffff;
  --cc-btn-secondary-color: #2b2b2b;
  --cc-btn-secondary-border-color: #2b2b2b;
  --cc-btn-secondary-hover-bg: #e8f2f0;
  --cc-btn-secondary-hover-color: #2b2b2b;
  --cc-btn-secondary-hover-border-color: #33706a;

  --cc-toggle-on-bg: #33706a;
  --cc-toggle-off-bg: #6b6b6b;
  --cc-toggle-on-knob-bg: #ffffff;
  --cc-toggle-off-knob-bg: #ffffff;
  --cc-toggle-enabled-icon-color: #ffffff;
  --cc-toggle-disabled-icon-color: #ffffff;
  --cc-toggle-readonly-bg: #9fc7c1;
  --cc-toggle-readonly-knob-bg: #ffffff;
  --cc-toggle-readonly-knob-icon-color: #33706a;

  --cc-cookie-category-block-bg: #f7f6f2;
  --cc-cookie-category-block-border: #e3e1db;
  --cc-cookie-category-block-hover-bg: #f2f1ed;
  --cc-cookie-category-block-hover-border: #d6d3cb;
  --cc-cookie-category-expanded-block-bg: #ffffff;
  --cc-cookie-category-expanded-block-hover-bg: #fbfaf7;
  --cc-footer-bg: #fbfaf7;
  --cc-footer-color: #3e3e3e;
  --cc-footer-border-color: #e3e1db;
  --cc-overlay-bg: rgba(20, 20, 20, .55);
}

/* Banner card */
#cc-main .cm {
  border: 1px solid #e3e1db;
  box-shadow: 0 2px 6px rgba(43, 43, 43, .06), 0 24px 48px -16px rgba(43, 43, 43, .28);
}
#cc-main .cm--cloud { max-width: min(1100px, calc(100% - 2rem)); }
#cc-main .cm--cloud .cm__btns { border-left: none; border-right: 1px solid var(--cc-separator-border-color); max-width: 34em; min-width: 30em; }
#cc-main .cm__btn, #cc-main .pm__btn { white-space: nowrap; }
#cc-main .cm__title { font-size: 1.2rem; font-weight: 600; }
#cc-main .cm__desc { font-size: 1rem; line-height: 1.6; color: var(--cc-secondary-color); }
#cc-main .cm__btn, #cc-main .pm__btn { min-height: 48px; font-size: .98rem; font-weight: 500; padding-inline: 1.2em; }
#cc-main .cm__footer, #cc-main .cm__links { font-size: .95rem; }
#cc-main .cm__footer a, #cc-main .pm a { text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }

/* Clear focus ring everywhere inside the consent UI */
#cc-main :focus-visible { outline: 3px solid #33706a !important; outline-offset: 3px; box-shadow: none; }
/* The library focuses a non-interactive wrapper when a modal opens; no ring there, only on real controls */
#cc-main .cm:focus, #cc-main .pm:focus, #cc-main [tabindex="-1"]:focus { outline: none !important; }

/* "Always active" label on the necessary category */
#cc-main .cc-always { display: inline-block; margin-inline-end: .4em; padding: .1em .7em; border-radius: 999px; background: #e8f2f0; color: #1f4f49; font-size: .85em; font-weight: 600; }

/* Preferences modal */
#cc-main .pm { border: 1px solid #e3e1db; }
#cc-main .pm__title { font-size: 1.25rem; font-weight: 600; }
#cc-main .pm__section-title { font-size: 1.02rem; font-weight: 600; }
#cc-main .pm__section-desc { line-height: 1.6; }

/* Mobile: floating card, full-width stacked buttons, inner scroll keeps buttons visible */
@media (max-width: 640px) {
  #cc-main .cm__btn, #cc-main .pm__btn { white-space: normal; }
  #cc-main .cm--cloud .cm__btns { min-width: 0; }
  #cc-main .cm,
  #cc-main .cm--cloud {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    margin: 0 !important;
    max-height: calc(100dvh - 24px);
    display: flex;
    flex-direction: column;
  }
  #cc-main .cm__body { flex-direction: column !important; min-height: 0; flex: 1 1 auto; overflow: hidden; }
  #cc-main .cm__texts { overflow-y: auto; min-height: 0; flex: 1 1 auto; }
  #cc-main .cm__desc { max-height: none !important; }
  #cc-main .cm__btns { border-right: none !important; max-width: none !important; flex: none; }
  #cc-main .cm__btn-group { flex-direction: column !important; }
  #cc-main .cm__btn { width: 100%; }
  #cc-main .cm__btn + .cm__btn, #cc-main .cm__btn-group + .cm__btn-group { margin: .5rem 0 0 !important; }
}

/* Saved-choice feedback */
.cc-toast { position: fixed; z-index: 2147483001; inset-inline: 0; bottom: calc(20px + var(--cc-offset, 0px)); width: max-content; max-width: calc(100% - 32px); margin-inline: auto; padding: .75rem 1.25rem; border-radius: 999px; background: #2b2b2b; color: #fff; font-weight: 500; box-shadow: 0 12px 32px -12px rgba(0, 0, 0, .4); opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity .3s, transform .3s; }
.cc-toast.is-shown { opacity: 1; transform: none; }
.cc-toast:empty { display: none; }

/* Future floating widgets (accessibility, WhatsApp, chat): give them .float-safe and they move above the banner */
.float-safe { bottom: calc(var(--float-bottom, 20px) + var(--cc-offset, 0px)) !important; transition: bottom .3s; }

/* Consent-gated embeds */
[data-consent-embed] { position: relative; width: 100%; border-radius: var(--radius, 20px); overflow: hidden; background: #f2f1ed; }
[data-consent-embed] iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.consent-embed-ph { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 1rem; padding: 1.5rem; text-align: center; border: 1px dashed #b8b4aa; border-radius: inherit; color: #3e3e3e; }
.consent-embed-ph p { max-width: 36ch; }

/* Footer "cookie settings" button looks like the other footer links */
.footer-cookie-btn { padding: .2rem 0; border: 0; background: none; font: inherit; color: inherit; cursor: pointer; text-decoration: none; }
.footer-cookie-btn:hover { color: var(--green-ink); }

@media (prefers-reduced-motion: reduce) { .cc-toast, .float-safe { transition: none; } }

@media (min-width: 641px) and (max-width: 1000px) { #cc-main .cm--cloud .cm__body { flex-direction: column; } #cc-main .cm--cloud .cm__btns { border-right: none; border-top: 1px solid var(--cc-separator-border-color); max-width: none; min-width: 0; } }
#cc-main .cm__footer a { display: inline-block; padding-block: .6rem; }
