/* Shared cookie consent banner for genvoice.ru and business.genvoice.ru. */
.cookie-banner {
  position: fixed;
  right: var(--s-5);
  bottom: var(--s-5);
  z-index: 190;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--s-4);
  width: min(560px, calc(100vw - 2 * var(--s-5)));
  padding: var(--s-5);
  border: 1px solid color-mix(in oklch, var(--accent) 18%, var(--border));
  border-radius: var(--r-xl);
  background: color-mix(in oklch, var(--surface) 94%, transparent);
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  opacity: 0;
  transform: translateY(12px) scale(.985);
  transition: opacity .2s ease, transform .2s ease;
}

.cookie-banner[hidden] { display: none; }
.cookie-banner.is-visible { opacity: 1; transform: none; }
.cookie-banner__text { color: var(--muted); font-size: var(--fs-ui); line-height: 1.6; }
.cookie-banner__text a { color: var(--fg); font-weight: 600; text-decoration: underline; text-decoration-color: color-mix(in oklch, var(--accent) 36%, var(--border)); text-underline-offset: 3px; transition: color .15s ease, text-decoration-color .15s ease; }
.cookie-banner__text a:hover { color: var(--accent-ink); text-decoration-color: currentColor; }
.cookie-banner__text a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 2px; }
.cookie-banner__accept { min-width: 104px; }

@media (max-width: 640px) {
  .cookie-banner {
    right: var(--s-3);
    bottom: 72px;
    grid-template-columns: 1fr;
    width: calc(100vw - 2 * var(--s-3));
    padding: var(--s-4);
    border-radius: var(--r-lg);
  }

  .cookie-banner__accept { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner { transition: none; }
}

@media print {
  .cookie-banner { display: none !important; }
}
