/* =====================================================================
   Cookie consent bar
   Fixed to the bottom of the viewport until the visitor chooses. Kept in
   its own file so it is only downloaded on the page where it is shown.
   ===================================================================== */
.consent-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 900;
  background: var(--surface, #ffffff);
  border-top: 1px solid var(--line, #eaebed);
  box-shadow: var(--shadow-lg, 0 16px 40px rgba(45,62,81,.13));
  padding: 16px 20px;
  animation: consent-in .25s ease both;
}

@keyframes consent-in {
  from { transform: translateY(100%); }
  to   { transform: translateY(0); }
}

.consent-inner {
  max-width: var(--wrap, 1240px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
}

.consent-text {
  margin: 0;
  flex: 1 1 320px;
  font-size: .9rem;
  line-height: 1.55;
  color: var(--ink, #2d3e51);
}

.consent-text a {
  color: var(--accent, #2bb58e);
  font-weight: 600;
  text-decoration: underline;
}

.consent-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.consent-actions .btn {
  white-space: nowrap;
}

@media (max-width: 600px) {
  .consent-inner { flex-direction: column; align-items: stretch; }
  .consent-actions { justify-content: stretch; }
  .consent-actions .btn { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .consent-bar { animation: none; }
}
