/* consent.css — cookie banner + footer links */
:root { --z-consent: 50; }
/* bar up: nothing hides under it (WCAG 2.4.11) */
html.has-consent { scroll-padding-bottom: calc(var(--consent-h) + 8px); }
html.has-consent body { padding-bottom: var(--consent-h); }

.consent {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--z-consent);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1.25rem;
  padding: .7rem max(var(--gutter), 1rem, env(safe-area-inset-right)) calc(.7rem + env(safe-area-inset-bottom, 0px)) max(var(--gutter), 1rem, env(safe-area-inset-left));
  background: rgba(20, 13, 9, .97);
  border-top: 1px solid rgba(192, 138, 62, .5);
  box-shadow: 0 -14px 40px -18px rgba(0, 0, 0, .9);
  color: var(--bone-200);
}
.consent[hidden] { display: none; }
.consent__text { margin: 0; font-size: var(--fs-small); line-height: 1.35; max-width: 46ch; text-align: center; }
.consent__text a { color: var(--fire-8); text-underline-offset: .18em; white-space: nowrap; }
.consent__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
/* equal weight */
.consent__btn {
  min-width: 7.5rem; min-height: 44px; padding: .3rem 1.1rem;
  border: 1px solid var(--pig-ochre); border-radius: var(--r-pill);
  background: transparent; color: var(--bone-100);
  font-family: var(--font-body); font-weight: 500; font-size: 1rem; line-height: 1; letter-spacing: .02em; cursor: pointer;
  transition: background-color var(--d-xs) var(--ease-stroke), border-color var(--d-xs) var(--ease-stroke);
}
.consent__btn:hover, .consent__btn:focus-visible { background: rgba(192, 138, 62, .16); border-color: var(--fire-7); }

@media (max-width: 480px) {
  .consent { gap: .45rem; padding-block-start: .6rem; }
  .consent__text { text-align: left; max-width: none; }
  .consent__actions { width: 100%; }
  .consent__btn { flex: 1 1 0; min-width: max-content; }
}
/* short viewports: one row */
@media (max-height: 519.98px), (max-height: 32.5em) {
  .consent { flex-wrap: nowrap; gap: .75rem; padding-block: .35rem calc(.35rem + env(safe-area-inset-bottom, 0px)); }
  .consent__text { flex: 1 1 auto; font-size: .8125rem; line-height: 1.25; text-align: left; max-width: none; }
  .consent__actions { flex: none; width: auto; flex-wrap: nowrap; }
  .consent__btn { flex: 1 1 0; min-width: 6rem; min-height: 40px; font-size: .9375rem; }
}

@media (prefers-reduced-motion: no-preference) {
  .consent.is-in { animation: consent-in .4s var(--ease-stroke) both; }
  @keyframes consent-in { from { transform: translateY(100%); opacity: 0; } to { transform: none; opacity: 1; } }
}

/* footer; ::after = bigger hit area */
.foot__links { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; justify-content: center; font-size: var(--fs-small); }
.foot__links a, .foot__links button, .foot__social a { position: relative; color: var(--bone-400); text-decoration: none; }
.foot__links a::after, .foot__links button::after, .foot__social a::after { content: ""; position: absolute; inset: -.5rem -.3rem; }
.foot__links a:hover, .foot__links a:focus-visible,
.foot__links button:hover, .foot__links button:focus-visible,
.foot__social a:hover, .foot__social a:focus-visible { color: var(--fire-8); text-decoration: underline; text-underline-offset: .2em; }
.foot__social a { text-decoration: underline; text-decoration-color: rgba(192, 138, 62, .55); text-underline-offset: .35em; }
.foot__links button { padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
@media (min-width: 960px) { .foot__links { justify-content: flex-end; } }
