/* ============================================================
   Cookie consent banner.

   Same vocabulary as the site's dark bands: --ink ground, --paper
   text, 2px radii, --violet primary. Sits above the sticky nav's
   z-index:50 so it is never obscured.
   ============================================================ */

.csw-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 200;
  background: var(--ink);
  color: var(--paper);
  border-top: 1px solid var(--hair-dark);
  padding: 20px clamp(20px, 4vw, 56px);
  box-shadow: 0 -12px 40px rgba(2, 6, 23, 0.28);
  transform: translateY(100%);
  transition: transform 240ms var(--ease-standard);
}

/* Revealed by csw-consent.js on the frame after [hidden] is removed, so the
   bar animates in rather than appearing fully formed. */
.csw-consent[data-open="true"] { transform: none; }
.csw-consent[hidden] { display: none; }

.csw-consent__inner {
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 3vw, 40px);
  flex-wrap: wrap;
}

.csw-consent__text {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: #B9B0C6;
  max-width: 70ch;
}

.csw-consent__text a {
  color: var(--paper);
  border-bottom: 1px solid var(--violet-soft);
}
.csw-consent__text a:hover { color: var(--violet-soft); }

.csw-consent__actions {
  display: flex;
  gap: 12px;
  flex-shrink: 0;
}

/* Decline is a real, equally reachable choice — same size and hit area as
   Accept, just without the fill. A ghost button that is hard to find is the
   pattern regulators object to. */
.csw-consent__decline {
  background: transparent;
  color: var(--paper);
  border-color: var(--hair-dark);
}
.csw-consent__decline:hover {
  background: rgba(245, 242, 236, 0.08);
  border-color: var(--violet-soft);
  color: var(--paper);
}

@media (max-width: 700px) {
  .csw-consent__inner { flex-direction: column; align-items: stretch; }
  .csw-consent__actions > .ep-btn { flex: 1; }
}

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