/* Shared public notice: scope every rule to the injected card. */
.cookie-notice {
  position: fixed;
  z-index: 1000;
  left: max(24px, env(safe-area-inset-left, 0px));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  display: flex;
  align-items: flex-end;
  gap: 18px;
  box-sizing: border-box;
  width: min(520px, calc(100% - 48px));
  max-height: calc(100dvh - 48px - env(safe-area-inset-bottom, 0px));
  overflow: auto;
  padding: 20px;
  border: 1px solid #d8d9cf;
  border-radius: 10px;
  background: #fffefa;
  color: #252720;
  box-shadow: 0 8px 32px rgb(37 39 32 / 12%), 0 2px 6px rgb(37 39 32 / 4%);
  font: 400 13px/1.6 'Golos Text', 'Segoe UI', sans-serif;
  text-align: left;
  animation: cookie-notice-enter 220ms ease-out both;
}

.cookie-notice .cookie-notice-text {
  flex: 1;
  min-width: 0;
  margin: 0;
  color: #66695f;
  font: inherit;
  overflow-wrap: anywhere;
}

.cookie-notice .cookie-notice-text a {
  color: #c44229;
  font: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.cookie-notice .cookie-notice-text a:hover { color: #aa3420; }

.cookie-notice .cookie-notice-button {
  flex: 0 0 auto;
  box-sizing: border-box;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 10px 16px;
  border: 1px solid #252720;
  border-radius: 5px;
  background: #252720;
  color: #fff;
  font: 500 13px/1.5 'Golos Text', 'Segoe UI', sans-serif;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease;
}
.cookie-notice .cookie-notice-button:hover { border-color: #424c35; background: #424c35; }
.cookie-notice a:focus-visible,
.cookie-notice .cookie-notice-button:focus-visible { outline: 3px solid #c44229; outline-offset: 3px; }

@keyframes cookie-notice-enter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
  .cookie-notice {
    left: calc(16px + env(safe-area-inset-left, 0px));
    right: calc(16px + env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: auto;
    max-width: none;
    max-height: calc(100dvh - 32px - env(safe-area-inset-bottom, 0px));
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 16px;
  }
  .cookie-notice .cookie-notice-button { align-self: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-notice, .cookie-notice * { animation: none !important; transition: none !important; }
}
@media print { .cookie-notice { display: none !important; } }
