.fs-cookie-card {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 2147483647;
  width: min(410px, calc(100vw - 32px));
  max-height: calc(100svh - 40px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 17px;
  border: 1px solid rgba(244, 86, 107, 0.32);
  border-radius: 16px;
  background: #080d0c;
  color: #f8f1e7;
  font-family: var(--font-sans, "Inter Tight", system-ui, sans-serif);
  opacity: 0;
  transform: translate3d(0, 10px, 0) scale(0.985);
  transform-origin: bottom right;
  transition:
    opacity 180ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.fs-cookie-card[hidden] { display: none; }
.fs-cookie-card.is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.fs-cookie-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fs-cookie-brand {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(248, 241, 231, 0.62);
  font: 650 0.6rem/1 var(--font-mono, "Geist Mono", monospace);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fs-cookie-brand i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f4566b;
}

.fs-cookie-close {
  display: grid;
  width: 44px;
  height: 44px;
  margin: -9px -9px -9px 0;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: rgba(248, 241, 231, 0.68);
  cursor: pointer;
  transition: color 160ms cubic-bezier(0.22, 1, 0.36, 1), background-color 160ms cubic-bezier(0.22, 1, 0.36, 1), transform 120ms cubic-bezier(0.22, 1, 0.36, 1);
}

.fs-cookie-close[hidden] { display: none; }
.fs-cookie-close:hover { background: rgba(248, 241, 231, 0.08); color: #f8f1e7; }
.fs-cookie-close:active { transform: scale(0.97); }
.fs-cookie-close svg { width: 15px; height: 15px; }
.fs-cookie-close path { fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.5; }

.fs-cookie-card h2 {
  margin: 11px 0 0;
  color: #f8f1e7;
  font-family: var(--font-display, "Inter Tight", system-ui, sans-serif);
  font-size: 1.18rem;
  font-weight: 680;
  line-height: 1.15;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.fs-cookie-card p {
  max-width: 48ch;
  margin: 7px 0 0;
  color: rgba(248, 241, 231, 0.74);
  font-size: 0.8rem;
  line-height: 1.48;
  text-wrap: pretty;
}

.fs-cookie-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.fs-cookie-action {
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 10px;
  font: 680 0.78rem/1.15 var(--font-sans, "Inter Tight", system-ui, sans-serif);
  cursor: pointer;
  transition: background-color 160ms cubic-bezier(0.22, 1, 0.36, 1), color 160ms cubic-bezier(0.22, 1, 0.36, 1), border-color 160ms cubic-bezier(0.22, 1, 0.36, 1), transform 120ms cubic-bezier(0.22, 1, 0.36, 1);
}

.fs-cookie-action:active { transform: scale(0.98); }
.fs-cookie-action--secondary {
  border: 1px solid rgba(248, 241, 231, 0.3);
  background: rgba(248, 241, 231, 0.07);
  color: #f8f1e7;
}
.fs-cookie-action--secondary:hover { border-color: rgba(248, 241, 231, 0.52); background: rgba(248, 241, 231, 0.11); }
.fs-cookie-action--primary { border: 1px solid #f4566b; background: #f4566b; color: #2a070f; }
.fs-cookie-action--primary:hover { border-color: #ff6a7d; background: #ff6a7d; }
.fs-cookie-action[aria-pressed="true"] { box-shadow: inset 0 0 0 2px #080d0c, 0 0 0 1px rgba(248, 241, 231, 0.66); }

.fs-cookie-detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 11px;
}

.fs-cookie-details {
  color: rgba(248, 241, 231, 0.72);
  font-size: 0.73rem;
  font-weight: 630;
  text-underline-offset: 3px;
}
.fs-cookie-details:hover { color: #f8f1e7; }
.fs-cookie-current {
  color: rgba(248, 241, 231, 0.58);
  font: 620 0.62rem/1.2 var(--font-mono, "Geist Mono", monospace);
}

.fs-cookie-settings {
  appearance: none;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  cursor: pointer;
}
.fs-cookie-settings:hover { color: inherit; text-decoration-color: currentColor; }

.fs-cookie-card :is(button, a):focus-visible,
.fs-cookie-settings:focus-visible {
  outline: 2px solid #f4566b;
  outline-offset: 3px;
}

html[data-fs-cookie-panel="open"] #fsVisibilityResume {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) !important;
  transition: none !important;
  pointer-events: none !important;
}

@media (max-width: 560px) {
  .fs-cookie-card {
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    width: calc(100vw - 20px);
    max-height: calc(100svh - 20px - env(safe-area-inset-bottom));
    padding: 15px;
  }
}

@media (max-width: 380px) {
  .fs-cookie-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .fs-cookie-card,
  .fs-cookie-close,
  .fs-cookie-action { transition: none; }
}
