/* NOVERRA 17.14 / native Complianz visual skin, no tracking or consent overrides.
   Public fonts only: inherited system/site fonts. Zero external requests.
   CSS does not implement or replace consent. It styles the original Complianz UI. */

.cmplz-cookiebanner {
  --nvr-cookie-navy: #132E4C;
  --nvr-cookie-teal: #286A77;
  --nvr-cookie-surface: #F0F5F6;
  --nvr-cookie-line: #D9E6E9;
  --nvr-cookie-muted: #40576B;
  box-sizing: border-box !important;
  width: min(500px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  background: #FFFFFF !important;
  color: var(--nvr-cookie-navy) !important;
  border: 1px solid var(--nvr-cookie-line) !important;
  border-radius: 20px !important;
  padding: 23px 23px 17px !important;
  box-shadow: 0 0 0 8px rgba(239,246,247,.88), 0 18px 44px rgba(19,46,76,.17), 0 3px 12px rgba(19,46,76,.08) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-height: min(88vh, 780px) !important;
  z-index: 999999 !important;
  -webkit-font-smoothing: antialiased;
}
@keyframes nvr1714-consent-in {
  from { opacity: 0; transform: translate3d(0,18px,0) scale(.982); }
  to   { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}
.cmplz-cookiebanner:not(.cmplz-hidden) {
  animation: nvr1714-consent-in .48s cubic-bezier(.2,.82,.22,1) both !important;
}
.cmplz-cookiebanner .cmplz-header {
  padding: 0 !important;
  margin: 0 0 12px !important;
  min-height: auto !important;
  align-items: center !important;
}
.cmplz-cookiebanner .cmplz-title {
  display: block !important;
  color: var(--nvr-cookie-navy) !important;
  font-size: 18px !important;
  font-weight: 730 !important;
  line-height: 1.35 !important;
  letter-spacing: -.02em !important;
  margin: 0 !important;
  text-align: left !important;
}
/* No floating X: the user has explicit equal opt-in/opt-out choices. */
.cmplz-cookiebanner .cmplz-close { display: none !important; }
.cmplz-cookiebanner .cmplz-message {
  font-size: 14px !important;
  line-height: 1.62 !important;
  color: var(--nvr-cookie-muted) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  margin: 0 0 16px !important;
  text-align: left !important;
}
.cmplz-cookiebanner .cmplz-message p { margin: 0 !important; }
.cmplz-cookiebanner .cmplz-buttons {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 9px !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 46px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 10px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  white-space: normal !important;
  cursor: pointer !important;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
  background: #286A77 !important;
  color: #FFFFFF !important;
  border: 1px solid #286A77 !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
  background: #132E4C !important;
  color: #FFFFFF !important;
  border: 1px solid #132E4C !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences {
  grid-column: 1 / -1 !important;
  background: #F0F5F6 !important;
  color: #132E4C !important;
  border: 1px solid #D9E6E9 !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover {
  background: #205763 !important;
  border-color: #205763 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(40,106,119,.18) !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover {
  background: #0D253D !important;
  border-color: #0D253D !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(19,46,76,.16) !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover {
  background: #E2EEEE !important;
  border-color: #B2CFD1 !important;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn:focus-visible,
.cmplz-cookiebanner a:focus-visible,
.cmplz-manage-consent:focus-visible {
  outline: 3px solid #286A77 !important;
  outline-offset: 3px !important;
}
.cmplz-cookiebanner .cmplz-links {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px 14px !important;
  padding: 12px 0 0 !important;
  margin: 14px 0 0 !important;
  border-top: 1px solid #E5EDEE !important;
  background: transparent !important;
  text-align: center !important;
}
.cmplz-cookiebanner .cmplz-links a,
.cmplz-cookiebanner a.cmplz-link {
  color: #286A77 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.cmplz-cookiebanner .cmplz-divider { border-color: #E5EDEE !important; }
/* Expanded preference controls remain visible and readable. */
.cmplz-cookiebanner .cmplz-categories,
.cmplz-cookiebanner .cmplz-categories-wrap,
.cmplz-cookiebanner .cmplz-category-title,
.cmplz-cookiebanner .cmplz-category-header { color: #132E4C !important; }
.cmplz-manage-consent {
  background: #132E4C !important;
  color: white !important;
  border-radius: 10px 10px 0 0 !important;
  font-size: 12px !important;
  box-shadow: 0 -2px 12px rgba(19,46,76,.12) !important;
}
/* Footer links belong to the theme; no fake consent overlay or JS intercept of Complianz buttons. */
.nvr1714-legal-links { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 8px; }
.nvr1714-legal-links a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) {
  .cmplz-cookiebanner {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    padding: 18px 17px 15px !important;
    border-radius: 16px !important;
    max-height: min(86dvh, 720px) !important;
  }
  .cmplz-cookiebanner .cmplz-title { font-size: 16.5px !important; }
  .cmplz-cookiebanner .cmplz-message { font-size: 13.5px !important; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { min-height: 48px !important; font-size: 12.5px !important; }
}
@media (max-width: 340px) {
  .cmplz-cookiebanner .cmplz-buttons { grid-template-columns: 1fr !important; }
  .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { grid-column: 1 / -1 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .cmplz-cookiebanner:not(.cmplz-hidden) { animation: none !important; }
  .cmplz-cookiebanner .cmplz-btn { transition: none !important; transform: none !important; }
}
