#cv-cookie-banner,
#cv-cookie-open {
  box-sizing: border-box;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
}

#cv-cookie-banner[hidden], #cv-cookie-open[hidden],
#cv-cookie-banner [hidden] { display: none !important; }

#cv-cookie-banner {
  position: fixed;
  z-index: 2147483647;
  bottom: 16px;
  left: 50%;
  width: min(920px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  overflow-y: auto;
  transform: translateX(-50%);
  border: 1px solid #075b70;
  background: #fff;
  color: #17292e;
  padding: 20px 24px;
  box-shadow: 0 14px 40px #0004;
}

#cv-cookie-banner * { box-sizing: border-box; }
#cv-cookie-banner h2 { margin: 0 0 8px; font-size: 20px; line-height: 1.3; }
#cv-cookie-banner p { margin: 0 0 16px; line-height: 1.5; }
#cv-cookie-banner a { color: #006b83; text-decoration: underline; }
.cv-cookie-options { margin: 0 0 14px; }
.cv-cookie-options label { display: block; margin: 8px 0; line-height: 1.45; }
.cv-cookie-options input { accent-color: #006b83; width: 18px; height: 18px; vertical-align: middle; }
.cv-cookie-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cv-cookie-button {
  min-height: 44px;
  border: 1px solid #006b83;
  border-radius: 3px;
  background: #fff;
  color: #00576b;
  padding: 8px 14px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
}
.cv-cookie-button:hover { background: #e9f5f7; }
.cv-cookie-button:focus-visible { outline: 3px solid #133e9c; outline-offset: 2px; }
.cv-cookie-primary { background: #006b83; color: #fff; }
.cv-cookie-primary:hover { background: #00556a; }
#cv-cookie-open {
  position: fixed;
  z-index: 2147483646;
  bottom: 12px;
  left: 12px;
  min-height: 36px;
  padding: 5px 10px;
  border: 1px solid #006b83;
  background: #fff;
  color: #00576b;
  cursor: pointer;
}
@media (max-width: 620px) {
  #cv-cookie-banner { bottom: 8px; width: calc(100% - 16px); padding: 16px; }
  .cv-cookie-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-cookie-primary { grid-column: 1 / -1; }
}
