[data-cookie-consent] {
  box-sizing: border-box;
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1000;
  width: min(680px, calc(100vw - 48px));
  padding: 26px 28px 24px;
  border: 1px solid rgba(0, 46, 107, .2);
  border-left: 5px solid #ff0000;
  background: #fff;
  box-shadow: 0 24px 64px rgba(1, 20, 46, .24);
  color: #041f43;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(18px);
  transition: opacity .28s cubic-bezier(.16, 1, .3, 1), transform .28s cubic-bezier(.16, 1, .3, 1), visibility 0s .28s;
}

[data-cookie-consent].is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  transition-delay: 0s;
}

[data-cookie-kicker] {
  display: block;
  margin-bottom: 9px;
  color: #ff0000;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

[data-cookie-title] {
  margin: 0;
  color: #002e6b;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.12;
}

[data-cookie-text] {
  margin: 12px 0 0;
  color: #5b6b7f;
  font-size: 14px;
  line-height: 1.58;
}

[data-cookie-text] a { color: #002e6b; text-decoration: underline; text-underline-offset: 3px; }
[data-cookie-actions] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }

[data-cookie-action] {
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid #002e6b;
  background: #fff;
  color: #002e6b;
  font: 750 13px/1.2 Inter, "Helvetica Neue", Arial, sans-serif;
  cursor: pointer;
}

[data-cookie-action="accept"] { background: #002e6b; color: #fff; }
[data-cookie-action]:hover, [data-cookie-action]:focus-visible { border-color: #ff0000; outline: 0; }
[data-cookie-action="accept"]:hover, [data-cookie-action="accept"]:focus-visible { background: #ff0000; }

.cookie-settings-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(190, 204, 225, .86);
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}

.cookie-settings-link:hover, .cookie-settings-link:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.cookie-map-placeholder {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: grid;
  place-content: center;
  gap: 14px;
  padding: 32px;
  background: linear-gradient(145deg, #e8eef7, #f7f9fc);
  color: #041f43;
  text-align: center;
}

.cookie-map-placeholder[hidden] { display: none; }
.cookie-map-placeholder strong { color: #002e6b; font-size: 20px; }
.cookie-map-placeholder p { max-width: 430px; margin: 0; color: #5b6b7f; font-size: 14px; line-height: 1.55; }
.cookie-map-placeholder__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

.cookie-map-placeholder button,
.cookie-map-placeholder a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid #002e6b;
  background: #002e6b;
  color: #fff;
  font: 750 13px/1.2 Inter, "Helvetica Neue", Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
}

.cookie-map-placeholder a { background: #fff; color: #002e6b; }
.cookie-map-placeholder button:hover, .cookie-map-placeholder button:focus-visible { border-color: #ff0000; background: #ff0000; }
.cookie-map-placeholder a:hover, .cookie-map-placeholder a:focus-visible { border-color: #ff0000; color: #ff0000; }

@media (max-width: 600px) {
  [data-cookie-consent] { left: 14px; right: 14px; bottom: 14px; width: auto; padding: 22px 20px 20px; }
  [data-cookie-actions] { grid-template-columns: 1fr; }
  [data-cookie-action="accept"] { order: -1; }
  .cookie-map-placeholder { padding: 24px 18px; }
  .cookie-map-placeholder__actions { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  [data-cookie-consent] { transition: none; }
}
