.cookie-notice {
  position: fixed;
  z-index: 10000;
  left: 50%;
  bottom: max(16px, env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(760px, calc(100% - 32px));
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  color: #172433;
  background: #fff;
  border: 1px solid #dce8f2;
  border-radius: 18px;
  box-shadow: 0 18px 52px rgba(18, 63, 111, .22);
  font: 14px/1.5 Inter, "Segoe UI", Arial, sans-serif;
}
.cookie-notice__icon {
  position: relative;
  width: 38px;
  height: 38px;
  flex: none;
  border-radius: 50%;
  background: #eaf5ff;
}
.cookie-notice__icon::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 50%;
  background: #1f6fb8;
}
.cookie-notice__icon::after {
  content: "";
  position: absolute;
  left: 16px;
  top: 14px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 7px 4px #fff, 1px 10px #fff;
}
.cookie-notice__content { min-width: 0; }
.cookie-notice__content strong { display: block; margin-bottom: 3px; color: #123f6f; font-size: 15px; line-height: 1.3; }
.cookie-notice__content p { margin: 0; color: #4d6276; }
.cookie-notice__content a { color: #145d9d; text-decoration: underline; text-underline-offset: 2px; }
.cookie-notice__content a:focus-visible, .cookie-notice__accept:focus-visible { outline: 3px solid #1f6fb8; outline-offset: 3px; }
.cookie-notice__accept {
  min-width: 112px;
  min-height: 44px;
  padding: 9px 18px;
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: #1f6fb8;
  font: 700 14px/1.2 Inter, "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}
.cookie-notice__accept:hover { background: #155a97; }
@media (max-width: 600px) {
  .cookie-notice { bottom: max(10px, env(safe-area-inset-bottom)); width: calc(100% - 20px); grid-template-columns: 34px minmax(0, 1fr); gap: 8px 12px; padding: 14px; border-radius: 16px; }
  .cookie-notice__icon { width: 34px; height: 34px; }
  .cookie-notice__icon::before { inset: 7px; }
  .cookie-notice__icon::after { left: 14px; top: 12px; }
  .cookie-notice__accept { grid-column: 1 / -1; width: 100%; margin-top: 2px; }
}
