/* SPRIM skin for TermsFeed Cookie Consent 4.2.0.
   Mirrors the previous in-house banner: white card centred at the bottom,
   navy text, pill buttons, Montserrat. No floating badge: the preferences
   centre opens only from the footer link. */

:root {
  --sprim-cc-navy: #1b1f5e;
  --sprim-cc-sky: #00b0f0;
  --sprim-cc-ink-soft: rgba(27, 31, 94, 0.82);
  --sprim-cc-pale: #eef8fd;
}

/* ---------- Notice banner ---------- */
.termsfeed-com---nb {
  position: fixed !important;
  left: 0.75rem !important;
  right: 0.75rem !important;
  bottom: calc(0.75rem + env(safe-area-inset-bottom)) !important;
  top: auto !important;
  margin: 0 auto !important;
  z-index: 60 !important;
  max-width: 56rem !important;
  width: auto !important;
  border: 1px solid rgba(0, 176, 240, 0.25) !important;
  border-radius: 1rem !important;
  background: #fff !important;
  box-shadow: 0 10px 30px -10px rgba(27, 31, 94, 0.25) !important;
  color: var(--sprim-cc-navy) !important;
  font-family: "Montserrat", system-ui, sans-serif !important;
}
@media (min-width: 640px) {
  .termsfeed-com---nb { left: 1rem !important; right: 1rem !important; bottom: 1rem !important; }
}

.termsfeed-com---nb .cc-nb-main-container { padding: 1.25rem !important; }

.termsfeed-com---nb .cc-nb-title {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--sprim-cc-navy) !important;
  margin-bottom: 0.5rem !important;
  padding-right: 2.5rem !important;
}

.termsfeed-com---nb .cc-nb-text {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  color: var(--sprim-cc-ink-soft) !important;
}

.termsfeed-com---nb .cc-nb-text a {
  color: var(--sprim-cc-navy) !important;
  font-weight: 500 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  margin-left: 0.25rem;
}

.termsfeed-com---nb .cc-nb-buttons-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
  margin-top: 1rem !important;
}

.termsfeed-com---palette-light .cc-nb-okagree,
.termsfeed-com---palette-light .cc-nb-reject,
.termsfeed-com---palette-light .cc-nb-changep {
  margin: 0 !important;
  min-height: 2.75rem !important;
  border-radius: 9999px !important;
  padding: 0.5rem 1.25rem !important;
  font-family: inherit !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  transition: background-color 0.15s ease !important;
}

/* Accept and decline carry the same visual weight (EDPB / Garante). */
.termsfeed-com---palette-light .cc-nb-okagree {
  background: var(--sprim-cc-navy) !important;
  color: #fff !important;
  border: 1px solid var(--sprim-cc-navy) !important;
}
.termsfeed-com---palette-light .cc-nb-reject {
  background: #fff !important;
  color: var(--sprim-cc-navy) !important;
  border: 1px solid var(--sprim-cc-navy) !important;
}
.termsfeed-com---palette-light .cc-nb-changep {
  background: transparent !important;
  color: var(--sprim-cc-navy) !important;
  border: 1px solid transparent !important;
}
.termsfeed-com---palette-light .cc-nb-reject:hover,
.termsfeed-com---palette-light .cc-nb-changep:hover {
  background: var(--sprim-cc-pale) !important;
}

.termsfeed-com---nb button:focus-visible,
.termsfeed-com---nb a:focus-visible,
.termsfeed-com---pc-dialog button:focus-visible,
.termsfeed-com---pc-dialog a:focus-visible,
.termsfeed-com---pc-dialog select:focus-visible {
  outline: 2px solid var(--sprim-cc-navy) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

.termsfeed-com---nb .sprim-cc-close {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--sprim-cc-navy);
  border-radius: 9999px;
}
.termsfeed-com---nb .sprim-cc-close:hover { background: var(--sprim-cc-pale); }

/* ---------- Preferences centre ---------- */
.termsfeed-com---pc-dialog .cc-pc-container {
  border-radius: 1rem !important;
  color: var(--sprim-cc-navy) !important;
  font-family: "Montserrat", system-ui, sans-serif !important;
  overflow: hidden !important;
}
.termsfeed-com---pc-dialog .cc-pc-head-title-headline,
.termsfeed-com---pc-dialog .cc-pc-head-title-text,
.termsfeed-com---pc-dialog .cc-cp-body-tabs-item-link,
.termsfeed-com---pc-dialog .cc-cp-body-content-entry-title {
  color: var(--sprim-cc-navy) !important;
  font-family: inherit !important;
}
.termsfeed-com---pc-dialog .cc-pc-head-title-headline { font-weight: 700 !important; }
.termsfeed-com---pc-dialog .cc-cp-body-content-entry-text { color: var(--sprim-cc-ink-soft) !important; font-size: 0.9375rem !important; }
.termsfeed-com---pc-dialog .cc-cp-body-tabs-item[active="true"] { background: var(--sprim-cc-pale) !important; }
.termsfeed-com---pc-dialog .cc-cp-foot-save {
  background: var(--sprim-cc-navy) !important;
  color: #fff !important;
  border-radius: 9999px !important;
  border: none !important;
  min-height: 2.75rem !important;
  font-family: inherit !important;
  font-weight: 600 !important;
}
.termsfeed-com---pc-dialog .cc-cp-foot-byline { display: none !important; }

/* Toggles: Sky only as a line/fill accent, never behind text. */
.termsfeed-com---pc-dialog .cc-custom-checkbox + label:before {
  background: rgba(27, 31, 94, 0.12) !important;
  border-color: rgba(27, 31, 94, 0.2) !important;
}
.termsfeed-com---pc-dialog .cc-custom-checkbox:checked + label:before {
  background: var(--sprim-cc-navy) !important;
  border-color: var(--sprim-cc-navy) !important;
}
.termsfeed-com---pc-dialog .cc-custom-checkbox:focus + label:before {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--sprim-cc-navy) !important;
}

.termsfeed-com---pc-dialog .cc-pc-head-lang-select {
  border: 1px solid rgba(27, 31, 94, 0.25) !important;
  border-radius: 9999px !important;
  padding: 0.25rem 0.6rem !important;
  color: var(--sprim-cc-navy) !important;
  background: #fff !important;
}

@media (max-width: 639px) {
  .termsfeed-com---nb .cc-nb-main-container { padding: 1rem !important; }
  .termsfeed-com---palette-light .cc-nb-okagree,
  .termsfeed-com---palette-light .cc-nb-reject { flex: 1 1 0 !important; min-width: 0 !important; text-align: center !important; }
  .termsfeed-com---palette-light .cc-nb-changep { flex: 1 1 100% !important; text-align: center !important; }
}


