/* Polygon – CookieYes banner & preference center styling (matches Elementor global kit) */
.cky-consent-container, .cky-modal, .cky-btn-revisit-wrapper, .cky-overlay {
  --pg-primary: #2F80ED; --pg-primary-dark: #1E5FC0; --pg-accent: #38BDF8;
  --pg-ink: #121B30; --pg-navy: #172A55; --pg-navy4: #070F22;
  --pg-textmid: #5B6577; --pg-surface: #F5F7FA; --pg-border: #E2E6EE;
  --pg-success: #1F9D57;
  --pg-head: "Plus Jakarta Sans", "PJS Fallback", sans-serif;
  --pg-body: "Lato", "Lato Fallback", sans-serif;
}

/* ---------- Banner ---------- */
.cky-consent-container .cky-consent-bar {
  background-color: #FFFFFF !important;
  border: 1px solid var(--pg-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 60px rgba(18, 27, 48, .18), 0 4px 12px rgba(18, 27, 48, .06) !important;
  padding: 28px 28px 24px !important;
  font-family: var(--pg-body) !important;
}
.cky-consent-container .cky-title {
  font-family: var(--pg-head) !important; font-weight: 800 !important;
  font-size: 18px !important; line-height: 1.3 !important; letter-spacing: -.01em;
  color: var(--pg-ink) !important; margin-bottom: 10px !important;
}
.cky-consent-container .cky-notice-des,
.cky-consent-container .cky-notice-des * {
  font-family: var(--pg-body) !important; font-size: 14px !important;
  line-height: 1.6 !important; color: var(--pg-textmid) !important;
}
.cky-consent-container .cky-notice-des a,
.cky-consent-container .cky-notice-des a *,
.cky-preference-center .cky-preference-content-wrapper a,
.cky-preference-center .cky-show-desc-btn {
  color: var(--pg-primary) !important; font-weight: 700 !important; text-decoration: none !important;
}
.cky-consent-container .cky-notice-des a:hover,
.cky-preference-center .cky-preference-content-wrapper a:hover,
.cky-preference-center .cky-show-desc-btn:hover { text-decoration: underline !important; }

/* ---------- Buttons (banner + preference center) ---------- */
.cky-consent-container .cky-btn,
.cky-preference-center .cky-btn {
  font-family: var(--pg-head) !important; font-weight: 700 !important;
  font-size: 14.5px !important; line-height: 1.2 !important; letter-spacing: 0 !important;
  border-radius: 10px !important; padding: 12px 18px !important; opacity: 1 !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.cky-consent-container .cky-btn-customize,
.cky-consent-container .cky-btn-reject,
.cky-preference-center .cky-btn-reject,
.cky-preference-center .cky-btn-preferences {
  background-color: #FFFFFF !important; color: var(--pg-primary) !important;
  border: 1px solid rgba(47, 128, 237, .28) !important; box-shadow: none !important;
}
.cky-consent-container .cky-btn-customize:hover,
.cky-consent-container .cky-btn-reject:hover,
.cky-preference-center .cky-btn-reject:hover,
.cky-preference-center .cky-btn-preferences:hover {
  background-color: var(--pg-surface) !important; border-color: var(--pg-primary) !important;
}
.cky-consent-container .cky-btn-accept,
.cky-preference-center .cky-btn-accept {
  background-color: var(--pg-primary) !important; color: #FFFFFF !important;
  border: 1px solid var(--pg-primary) !important;
  box-shadow: 0 6px 16px rgba(47, 128, 237, .25) !important;
}
.cky-consent-container .cky-btn-accept:hover,
.cky-preference-center .cky-btn-accept:hover {
  background-color: var(--pg-primary-dark) !important; border-color: var(--pg-primary-dark) !important;
  box-shadow: 0 8px 20px rgba(47, 128, 237, .32) !important; transform: translateY(-1px);
}
.cky-consent-container .cky-btn:focus-visible,
.cky-preference-center .cky-btn:focus-visible,
.cky-preference-center .cky-btn-close:focus-visible,
.cky-btn-revisit-wrapper .cky-btn-revisit:focus-visible {
  outline: 2px solid var(--pg-accent) !important; outline-offset: 2px !important;
}

/* ---------- Preference center (modal) ---------- */
.cky-overlay { background-color: var(--pg-navy4) !important; }
.cky-modal .cky-preference-center {
  background-color: #FFFFFF !important; color: var(--pg-textmid) !important;
  border: 1px solid var(--pg-border) !important; border-radius: 16px !important;
  box-shadow: 0 30px 80px rgba(7, 15, 34, .35) !important; overflow: hidden;
  font-family: var(--pg-body) !important;
}
.cky-preference-center .cky-preference-header { border-bottom: 1px solid var(--pg-border) !important; }
.cky-preference-center .cky-preference-title {
  font-family: var(--pg-head) !important; font-weight: 800 !important;
  font-size: 18px !important; letter-spacing: -.01em; color: var(--pg-ink) !important;
}
.cky-preference-center .cky-preference-content-wrapper,
.cky-preference-center .cky-preference-content-wrapper p,
.cky-preference-center .cky-accordion-header-des,
.cky-preference-center .cky-accordion-header-des * {
  font-family: var(--pg-body) !important; font-size: 14px !important;
  line-height: 1.6 !important; color: var(--pg-textmid) !important;
}
.cky-preference-center .cky-accordion-btn {
  font-family: var(--pg-head) !important; font-weight: 700 !important;
  font-size: 15px !important; color: var(--pg-ink) !important;
}
.cky-preference-center .cky-always-active {
  font-family: var(--pg-head) !important; font-weight: 700 !important; color: var(--pg-success) !important;
}
.cky-preference-center .cky-horizontal-separator,
.cky-preference-center .cky-accordion { border-color: var(--pg-border) !important; }
.cky-preference-center .cky-footer-wrapper { border-top: 1px solid var(--pg-border) !important; }
.cky-preference-center .cky-audit-table {
  background-color: var(--pg-surface) !important; border-color: var(--pg-border) !important;
  border-radius: 10px !important; color: var(--pg-textmid) !important;
}
.cky-preference-center .cky-chevron-right { border-color: var(--pg-ink) !important; }
.cky-preference-center .cky-switch input[type="checkbox"]:checked {
  background-color: var(--pg-primary) !important;
}
.cky-preference-center .cky-switch input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--pg-accent) !important; outline-offset: 2px !important;
}

/* ---------- Revisit-consent floating button ---------- */
.cky-btn-revisit-wrapper {
  background-color: var(--pg-navy) !important;
  box-shadow: 0 8px 20px rgba(18, 27, 48, .25) !important;
}
.cky-btn-revisit-wrapper:hover { background-color: var(--pg-primary) !important; }
.cky-btn-revisit-wrapper::before { font-family: var(--pg-body) !important; }

/* ---------- Mobile ---------- */
@media (max-width: 576px) {
  .cky-consent-container .cky-consent-bar {
    border-radius: 16px 16px 0 0 !important; padding: 22px 18px 18px !important;
  }
  .cky-consent-container .cky-title { font-size: 17px !important; }
}

/* ---------- Keep the reCAPTCHA badge clear of the Sherpa chatbot launcher ---------- */
.grecaptcha-badge { bottom: 84px !important; }
