/* Cross-cutting additions layered on top of the ported design (kept separate
   from the verbatim source CSS). */

/* Legal links appended to the footer */
.footer-legal-links {
  display: inline-flex;
  gap: 18px;
  flex-wrap: wrap;
}
.footer-legal-links a {
  color: inherit;
  opacity: 0.7;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.footer-legal-links a:hover {
  opacity: 1;
  text-decoration: underline;
}

/* Cookie consent banner */
.cookie-consent {
  position: fixed;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  z-index: 2147483000;
  width: calc(100% - 32px);
  max-width: 720px;
  background: #ffffff;
  color: #18181b;
  border: 1px solid #e4e4e7;
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(9, 9, 11, 0.18);
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  animation: cookie-rise 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
}
@keyframes cookie-rise {
  from { opacity: 0; transform: translateX(-50%) translateY(14px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.cookie-consent-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 20px;
}
.cookie-consent-text {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: #3f3f46;
}
.cookie-consent-text a {
  color: #4f46e5;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cookie-consent-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.cookie-btn {
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: 10px;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
  transition: background 0.18s ease, border-color 0.18s ease, opacity 0.18s ease;
}
.cookie-btn-primary {
  background: #6366f1;
  color: #ffffff;
}
.cookie-btn-primary:hover { background: #4f46e5; }
.cookie-btn-ghost {
  background: transparent;
  color: #3f3f46;
  border-color: #d4d4d8;
}
.cookie-btn-ghost:hover { border-color: #a1a1aa; }
@media (max-width: 560px) {
  .cookie-consent-inner { flex-direction: column; align-items: stretch; gap: 14px; }
  .cookie-consent-actions { justify-content: flex-end; }
}
