.cookie-banner,
.cookie-banner__panel {
  box-sizing: border-box;
  color: var(--cb-text, #172033);
  font: 16px/1.5 system-ui, sans-serif;
}

.cookie-banner * { box-sizing: border-box; }

.cookie-banner {
  background: var(--cb-background, #fff);
  border: 1px solid var(--cb-border, #cbd5e1);
  bottom: 0;
  left: 0;
  padding: 1rem;
  position: fixed;
  right: 0;
  z-index: 10000;
}

.cookie-banner--top-bar { bottom: auto; top: 0; }
.cookie-banner--square { bottom: 1rem; left: auto; max-width: min(28rem, calc(100vw - 2rem)); right: 1rem; }
.cookie-banner--square.cookie-banner--top-left { left: 1rem; right: auto; top: 1rem; }
.cookie-banner--square.cookie-banner--top-right { top: 1rem; }
.cookie-banner--square.cookie-banner--bottom-left { left: 1rem; right: auto; }
.cookie-banner--square.cookie-banner--center { bottom: auto; left: 50%; right: auto; top: 50%; transform: translate(-50%, -50%); }
.cookie-banner__content { margin: auto; max-width: 75rem; }
.cookie-banner h2, .cookie-banner__panel h2 { font-size: 1.2rem; margin: 0 0 .5rem; font-weight: 500; }
.cookie-banner p { margin: 0 0 .5rem; }
.cookie-banner a { color: var(--cb-primary, #155eef); }
.cookie-banner__actions { align-items: center; display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.cookie-banner__button { border: 1px solid var(--cb-border, #cbd5e1); border-radius: .35rem; cursor: pointer; font: inherit; padding: .55rem .8rem; color:}
.cookie-banner__button--primary { background: var(--cb-primary, #155eef); color: #fff; }
.cookie-banner__button--primary:hover {background: transparent; border: 1px solid var(--cb-primary, #155eef);color: var(--cb-primary, #155eef); text-decoration: none;}
.cookie-banner__button--secondary { background: var(--cb-secondary, #e7eefc); color: var(--cb-primary, #172033); }
.cookie-banner__button--secondary:hover{background: transparent; border: 1px solid var(--cb-primary, #155eef);color: var(--cb-primary, #155eef); text-decoration: none; }
.cookie-banner__button--link { background: transparent; border: 1px solid var(--cb-primary, #155eef);color: var(--cb-primary, #155eef); text-decoration: none; }
.cookie-banner__button--link:hover {background-color: var(--cb-primary, #155eef);color: #fff;}
.cookie-banner__preferences-trigger { background: #fff; border: 1px solid #cbd5e1; bottom: .75rem; box-shadow: 0 2px 8px rgb(0 0 0 / 15%); color: #172033; left: .75rem; padding: .45rem .65rem; position: fixed; z-index: 9999; }
.cookie-banner__button:focus-visible, .cookie-banner a:focus-visible, .cookie-banner__category input:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.cookie-banner__panel { background: rgb(0 0 0 / 45%); inset: 0; overflow: auto; padding: 1rem; position: fixed; z-index: 10001; }
.cookie-banner__panel-card { background: var(--cb-background, #fff); border: 1px solid var(--cb-border, #cbd5e1); border-radius: .5rem; margin: 5vh auto; max-width: 40rem; padding: 1.25rem; }
.cookie-banner__panel-heading { align-items: center; display: flex; justify-content: space-between; gap: 1rem; }
.cookie-banner__button--close { background: transparent; color: var(--cb-text, #172033); }
.cookie-banner__category { align-items: flex-start; display: flex; gap: .6rem; margin: 1rem 0; }
.cookie-banner__category input { flex: 0 0 auto; margin-top: .3rem; }
@media (max-width: 40rem) { .cookie-banner__actions { align-items: stretch; flex-direction: column; } .cookie-banner__button { width: 100%; } }
