:root {
  --cc-font-family: var(--font-sans, "Segoe UI", sans-serif);
  --cc-modal-border-radius: 1rem;
  --cc-btn-border-radius: 0.7rem;
  --cc-modal-transition-duration: var(--motion-duration-standard, 320ms);
  --cc-z-index: 2147483000;
  --cc-bg: color-mix(in srgb, var(--color-surface) 94%, transparent);
  --cc-primary-color: var(--color-text);
  --cc-secondary-color: var(--color-muted);
  --cc-link-color: var(--color-link);
  --cc-btn-primary-bg: var(--color-button-primary-bg);
  --cc-btn-primary-color: var(--color-button-primary-text);
  --cc-btn-primary-border-color: var(--color-button-primary-bg);
  --cc-btn-primary-hover-bg: var(--color-button-primary-bg-hover);
  --cc-btn-primary-hover-color: var(--color-button-primary-text);
  --cc-btn-primary-hover-border-color: var(--color-button-primary-bg-hover);
  --cc-btn-secondary-bg: var(--color-control-surface);
  --cc-btn-secondary-color: var(--color-text);
  --cc-btn-secondary-border-color: var(--color-control-border);
  --cc-btn-secondary-hover-bg: var(--color-control-surface-hover);
  --cc-btn-secondary-hover-color: var(--color-ink);
  --cc-btn-secondary-hover-border-color: var(--color-border-strong);
  --cc-separator-border-color: var(--color-border);
  --cc-toggle-on-bg: var(--color-accent-strong);
  --cc-toggle-off-bg: var(--color-surface-strong);
  --cc-toggle-on-knob-bg: var(--color-button-primary-text);
  --cc-toggle-off-knob-bg: var(--color-text);
  --cc-toggle-enabled-icon-color: var(--color-button-primary-text);
  --cc-toggle-disabled-icon-color: var(--color-muted);
  --cc-toggle-readonly-bg: var(--color-surface-strong);
  --cc-toggle-readonly-knob-bg: var(--color-muted);
  --cc-toggle-readonly-knob-icon-color: var(--color-surface);
  --cc-cookie-category-block-bg: color-mix(in srgb, var(--color-surface-alt) 82%, transparent);
  --cc-cookie-category-block-border: var(--color-border);
  --cc-cookie-category-block-hover-bg: var(--color-control-surface-hover);
  --cc-cookie-category-block-hover-border: var(--color-border-strong);
  --cc-cookie-category-expanded-block-bg: transparent;
  --cc-cookie-category-expanded-block-hover-bg: var(--color-control-surface-hover);
  --cc-overlay-bg: color-mix(in srgb, var(--color-inverse-surface) 74%, transparent);
  --cc-footer-bg: color-mix(in srgb, var(--color-surface-alt) 82%, transparent);
  --cc-footer-color: var(--color-muted);
  --cc-footer-border-color: var(--color-border);
}

#cc-main .cm,
#cc-main .pm {
  border: 1px solid color-mix(in srgb, var(--color-border-strong) 72%, transparent);
  box-shadow:
    0 1px 0 color-mix(in srgb, var(--color-control-highlight) 42%, transparent) inset,
    0 24px 70px color-mix(in srgb, var(--color-image-shadow) 72%, transparent),
    0 0 36px color-mix(in srgb, var(--color-glow-shadow) 38%, transparent);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
}

#cc-main .cm {
  max-width: 27rem;
}

#cc-main .cm__title,
#cc-main .pm__title {
  color: var(--color-ink);
  font-family: var(--font-display, var(--font-sans));
  letter-spacing: 0.015em;
}

#cc-main .cm__desc,
#cc-main .pm__section-desc {
  line-height: 1.62;
}

#cc-main .cm__btn,
#cc-main .pm__btn {
  box-shadow: var(--shadow-control);
  font-weight: 700;
  letter-spacing: 0.01em;
  transition:
    background-color var(--transition-quick),
    border-color var(--transition-quick),
    color var(--transition-quick),
    box-shadow var(--transition-quick),
    opacity var(--transition-quick);
}

#cc-main .cm__btn:hover,
#cc-main .pm__btn:hover {
  box-shadow: var(--shadow-control-hover);
}

#cc-main .cm__btn:focus-visible,
#cc-main .pm__btn:focus-visible,
#cc-main .pm__close-btn:focus-visible,
#cc-main .section__toggle:focus-visible + .toggle__icon {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

#cc-main .pm__section {
  border-radius: 0.85rem;
}

#cc-main .pm__section--toggle .pm__section-title {
  font-weight: 700;
}

#cc-main .pm__service-title {
  color: var(--color-text);
}

#cc-main .cc__link {
  color: var(--color-link);
}

#cc-main .cc__link:hover {
  color: var(--color-link-hover);
}

.footer-cookie-settings {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--color-link);
  cursor: pointer;
  font: inherit;
  margin: 0;
  padding: 0;
  text-decoration: none;
  transition: color var(--transition-quick), opacity var(--transition-quick);
}

.footer-cookie-settings:hover {
  color: var(--color-link-hover);
}

.footer-cookie-settings:focus-visible {
  border-radius: 0.2rem;
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  :root {
    --cc-modal-margin: 0.65rem;
  }

  #cc-main .cm {
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --cc-modal-transition-duration: 0s;
  }

  #cc-main *,
  #cc-main *::before,
  #cc-main *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
