/* ==========================================================================
   WeAdapt — consent bar

   Loaded as an asset rather than inlined per page, the same exception the
   scroll engine gets: this is chrome, not content, and it has to behave
   identically on all 43 pages. Tokens come from the page, so the bar inherits
   whatever palette that page already defines.
   ========================================================================== */

.wa-consent {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 200;
  background: var(--bg, #FAFAF8);
  border-top: 1px solid var(--line, rgba(10,10,10,.12));
  padding: 20px 0;
  font-family: var(--font, system-ui, sans-serif);
  color: var(--ink, #0A0A0A);
  transform: translateY(100%);
  transition: transform .45s cubic-bezier(.22,.68,0,1);
}
.wa-consent[data-open] { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .wa-consent { transition: none; }
}

.wa-consent__inner {
  width: 100%;
  padding: 0 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px 40px;
  align-items: center;
}
.wa-consent__copy { font-size: 14px; line-height: 1.6; color: var(--ink-mid, #57554F); max-width: 68ch; }
.wa-consent__copy a { color: var(--ink, #0A0A0A); text-decoration: underline; text-underline-offset: 2px; }
.wa-consent__acts { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

.wa-consent__btn {
  height: 40px;
  padding: 0 20px;
  border-radius: 20px;
  border: 1px solid transparent;
  background: var(--ink, #0A0A0A);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .2s cubic-bezier(.22,.68,0,1), background .2s;
}
.wa-consent__btn:hover { transform: scale(1.03); }
/* Refusing must be no harder than accepting, so it is the same size and shape
   and sits next to it. */
.wa-consent__btn--ghost {
  background: transparent;
  color: var(--ink, #0A0A0A);
  border-color: var(--line-strong, rgba(10,10,10,.28));
}
.wa-consent__btn--ghost:hover { background: rgba(10,10,10,.05); }
.wa-consent__link {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  font-size: 13px;
  color: var(--ink-mid, #57554F);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.wa-consent__link:hover { color: var(--ink, #0A0A0A); }

/* the per-category panel, hidden until asked for.
   The [hidden] rule is not optional: `display: grid` below outranks the
   browser default for the attribute, so without it the panel ships open. */
.wa-consent__panel[hidden] { display: none; }
.wa-consent__panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 16px;
  border-top: 1px solid var(--line, rgba(10,10,10,.12));
  padding-top: 20px;
}
.wa-consent__row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; align-items: start; }
.wa-consent__row input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--ink, #0A0A0A); }
.wa-consent__row b { font-size: 14px; font-weight: 500; }
.wa-consent__row span { grid-column: 2; font-size: 13px; line-height: 1.55; color: var(--ink-mid, #57554F); }

@media (max-width: 860px) {
  .wa-consent { padding: 18px 0; max-height: 88vh; overflow-y: auto; }
  .wa-consent__inner { grid-template-columns: minmax(0, 1fr); padding: 0 22px; gap: 18px; }
  .wa-consent__acts { gap: 10px; }
  .wa-consent__btn { flex: 1 1 auto; justify-content: center; }
}

/* The footer link that reopens the bar. Lives here because every page already
   loads this file, and the alternative is the same rule in 49 inline blocks. */
.wa-consent-open {
  display: block;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.wa-consent-open:hover { color: var(--ink-mid, #57554F); text-decoration: underline; text-underline-offset: 3px; }
