/* Keys Concept 1.1.0: scoped presentation only; CookieYes owns consent. */
html body.kc-global-1100 .cky-consent-container,
html body.kc-global-1100 .cky-modal {
  --kc-cookie-ink: #243642;
  --kc-cookie-muted: #4a5e6c;
  --kc-cookie-blue: #086890;
  --kc-cookie-border: #dce7ec;
  font-family: inherit !important;
}
html body.kc-global-1100 .cky-consent-container {
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
  box-sizing: border-box !important;
}
html body.kc-global-1100 .cky-box-bottom-left,
html body.kc-global-1100 .cky-box-bottom-right,
html body.kc-global-1100 .cky-box-top-left,
html body.kc-global-1100 .cky-box-top-right {
  width: 430px !important;
}
html body.kc-global-1100 .cky-consent-container .cky-consent-bar {
  box-sizing: border-box !important;
  padding: 25px !important;
  border: 1px solid var(--kc-cookie-border, #dce7ec) !important;
  border-top: 3px solid var(--kc-cookie-blue, #086890) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: var(--kc-cookie-ink, #243642) !important;
  box-shadow: 0 10px 38px rgba(24, 53, 68, .18) !important;
  max-height: calc(100vh - 40px) !important;
  max-height: calc(100dvh - 40px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}
html body.kc-global-1100 .cky-consent-container .cky-title {
  color: var(--kc-cookie-ink, #243642) !important;
  font-family: inherit !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -.015em !important;
  text-transform: none !important;
  margin: 0 0 12px !important;
}
html body.kc-global-1100 .cky-consent-container .cky-notice-des,
html body.kc-global-1100 .cky-consent-container .cky-notice-des p {
  font-family: inherit !important;
  color: var(--kc-cookie-muted, #4a5e6c) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  word-break: normal !important;
  overflow-wrap: anywhere;
}
html body.kc-global-1100 .cky-consent-container .cky-notice-des p {margin: 0 0 10px !important;}
html body.kc-global-1100 .cky-notice-btn-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  margin-top: 20px !important;
}
html body.kc-global-1100 .cky-notice-btn-wrapper .cky-btn {
  flex: 1 1 110px !important;
  margin: 0 !important;
}
html body.kc-global-1100 .cky-consent-container .cky-btn,
html body.kc-global-1100 .cky-modal .cky-btn,
html body.kc-global-1100 .cky-preference-center .cky-btn {
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  min-height: 44px !important;
  padding: 11px 12px !important;
  border-radius: 8px !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  transition: background-color .15s ease, color .15s ease !important;
}
/* Accept and reject receive the same visual prominence. */
html body.kc-global-1100 .cky-consent-container .cky-btn-accept,
html body.kc-global-1100 .cky-consent-container .cky-btn-reject,
html body.kc-global-1100 .cky-modal .cky-btn-accept,
html body.kc-global-1100 .cky-modal .cky-btn-reject,
html body.kc-global-1100 .cky-modal .cky-btn-preferences {
  color: #fff !important;
  background: #086890 !important;
  border: 1px solid #086890 !important;
}
html body.kc-global-1100 .cky-consent-container .cky-btn-customize {
  color: #075e83 !important;
  background: #fff !important;
  border: 1px solid #8eabb9 !important;
}
html body.kc-global-1100 .cky-consent-container .cky-btn:hover,
html body.kc-global-1100 .cky-modal .cky-btn:hover {
  color: #fff !important;
  background: #075575 !important;
  border-color: #075575 !important;
}
html body.kc-global-1100 .cky-consent-container button:focus-visible,
html body.kc-global-1100 .cky-consent-container a:focus-visible,
html body.kc-global-1100 .cky-modal button:focus-visible,
html body.kc-global-1100 .cky-modal a:focus-visible,
html body.kc-global-1100 .cky-modal input:focus-visible,
html body.kc-global-1100 .cky-btn-revisit-wrapper:focus-visible {
  outline: 3px solid #086890 !important;
  outline-offset: 3px !important;
}
html body.kc-global-1100 .cky-notice-des a,
html body.kc-global-1100 .cky-preference-content a,
html body.kc-global-1100 .cky-accordion-body a {
  color: #075e83 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
html body.kc-global-1100 .cky-preference-center {
  font-family: inherit !important;
  background: #fff !important;
  color: #243642 !important;
  border: 1px solid #dce7ec !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 48px rgba(24, 53, 68, .2) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 40px) !important;
  max-height: calc(100dvh - 40px) !important;
}
html body.kc-global-1100 .cky-preference-title {
  color: #243642 !important;
  font-family: inherit !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
html body.kc-global-1100 .cky-preference-content,
html body.kc-global-1100 .cky-preference-content p,
html body.kc-global-1100 .cky-accordion-body,
html body.kc-global-1100 .cky-accordion-body p {
  color: #4a5e6c !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere;
}
html body.kc-global-1100 .cky-preference-header,
html body.kc-global-1100 .cky-preference-body-wrapper,
html body.kc-global-1100 .cky-footer-wrapper {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
html body.kc-global-1100 .cky-preference-body-wrapper {overscroll-behavior: contain;}
html body.kc-global-1100 .cky-accordion {border-color: #e4ecf0 !important;}
html body.kc-global-1100 .cky-accordion-btn,
html body.kc-global-1100 .cky-always-active {
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
html body.kc-global-1100 .cky-accordion-btn {color: #243642 !important;}
html body.kc-global-1100 .cky-always-active {color: #14683f !important;}
html body.kc-global-1100 .cky-btn-revisit-wrapper {
  background: #086890 !important;
  box-shadow: 0 4px 18px rgba(24,53,68,.16) !important;
}
html body.kc-global-1100 .cky-cookie-des-table {overflow-x: auto;}
/* No rules hide branding, consent controls, categories, or the site itself. */
@media (max-width: 600px) {
  html body.kc-global-1100 .cky-consent-container {
    max-width: calc(100vw - 24px) !important;
  }
  html body.kc-global-1100 .cky-box-bottom-left,
  html body.kc-global-1100 .cky-box-bottom-right {left: 12px !important;right: 12px !important;bottom: 12px !important;width: auto !important;}
  html body.kc-global-1100 .cky-consent-container .cky-consent-bar {padding: 19px !important;border-radius: 12px !important;}
  html body.kc-global-1100 .cky-notice-btn-wrapper {gap: 8px !important;}
  html body.kc-global-1100 .cky-notice-btn-wrapper .cky-btn {flex-basis: 100px !important;}
  html body.kc-global-1100 .cky-preference-center {max-width: calc(100vw - 24px) !important;border-radius: 12px !important;}
  html body.kc-global-1100 .cky-preference-header,
  html body.kc-global-1100 .cky-preference-body-wrapper,
  html body.kc-global-1100 .cky-footer-wrapper {padding-left: 18px !important;padding-right: 18px !important;}
  html body.kc-global-1100 .cky-prefrence-btn-wrapper {gap: 8px !important;flex-wrap: wrap !important;}
}
@media (prefers-reduced-motion: reduce) {
  html body.kc-global-1100 .cky-consent-container .cky-btn,
  html body.kc-global-1100 .cky-modal .cky-btn {transition: none !important;}
}
/* Narrow screens: do not split long Italian/French labels mid-word. */
html body.kc-global-1100 .cky-consent-container .cky-btn,
html body.kc-global-1100 .cky-modal .cky-btn {
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}
html body.kc-global-1100 .cky-modal .cky-btn-close {
  min-width: 40px !important;
  min-height: 40px !important;
  flex: 0 0 auto;
}
html body.kc-global-1100 .cky-preference-body-wrapper {
  min-height: 0;
  flex: 1 1 auto;
  overflow-y: auto;
}
html body.kc-global-1100 .cky-preference-header,
html body.kc-global-1100 .cky-footer-wrapper {flex-shrink: 0;}
@media (max-width: 600px) {
  html body.kc-global-1100 .cky-notice-btn-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  html body.kc-global-1100 .cky-notice-btn-wrapper .cky-btn-customize {
    grid-column: 1 / -1 !important;
  }
}
