.site-footer {
  margin-top: var(--space-8);
  border-top: 1px solid var(--color-border);
  background: linear-gradient(135deg, rgba(255, 245, 231, 0.94), rgba(255, 236, 203, 0.56));
}

.site-footer__inner { padding-top: var(--space-8); padding-bottom: var(--space-5); }

.site-footer__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: 31rem;
}

.site-footer__intro p,
.site-footer__group p { margin: 0; }

.site-footer__brand {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 1.375rem;
  font-weight: 800;
  letter-spacing: -0.035em;
  text-decoration: none;
}

.site-footer__brand:hover { color: var(--color-primary-hover); }
.site-footer__play { align-self: flex-start; }

.site-footer__nav {
  display: grid;
  gap: var(--space-6);
  margin-top: var(--space-7);
}

.site-footer__group { min-width: 0; font-style: normal; }
.site-footer__group h2 { margin: 0 0 var(--space-3); font-size: 1rem; }
.site-footer__group ul { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.site-footer__group li,
.site-footer__group li + li { margin: 0; padding: 0; }
.site-footer__group a { color: var(--color-text-muted); font-size: var(--font-size-meta); }
.site-footer__group a:hover { color: var(--color-primary-hover); }
.site-footer__contact { display: grid; gap: var(--space-3); }

.site-footer__bottom {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-7);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.site-footer__bottom p { margin: 0; }
.site-footer__disclaimer { max-width: 52rem; color: var(--color-text-muted); font-size: var(--font-size-meta); line-height: var(--line-height-body); }
.site-footer__copyright { color: var(--color-text-muted); font-size: var(--font-size-caption); }

.site-consent {
  position: fixed;
  z-index: 200;
  right: var(--space-3);
  bottom: var(--space-3);
  left: var(--space-3);
  display: grid;
  gap: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-glass-border);
  border-radius: var(--radius-lg);
  background: rgba(255, 253, 252, 0.96);
  box-shadow: var(--shadow-floating);
  backdrop-filter: blur(16px);
}

.site-consent[hidden] { display: none; }
.site-consent.is-hiding { opacity: 0; transform: translateY(0.75rem); transition: opacity var(--transition-base), transform var(--transition-base); }
.site-consent__content { display: grid; gap: var(--space-2); }
.site-consent__content h2 { margin: 0; font-size: 1.125rem; }
.site-consent__content p { margin: 0; color: var(--color-text-muted); font-size: var(--font-size-meta); line-height: var(--line-height-body); }
.site-consent__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.site-consent__button {
  min-height: 2.75rem;
  flex: 1 1 8rem;
  padding: 0.625rem 0.875rem;
  border: 1px solid transparent;
  border-radius: 0.875rem;
  background: var(--color-primary);
  color: #fff;
  font-size: var(--font-size-meta);
  font-weight: 700;
  transition: background-color var(--transition-fast), transform var(--transition-fast);
}
.site-consent__button:hover { background: var(--color-primary-hover); transform: translateY(-2px); }
.site-consent__button--secondary { border-color: var(--color-border); background: var(--color-background); color: var(--color-text); }
.site-consent__button--secondary:hover { background: var(--color-background-warm); color: var(--color-primary-hover); }

@media (min-width: 48rem) {
  .site-footer__inner { padding-top: var(--space-9); }
  .site-footer__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-consent { right: var(--space-5); bottom: var(--space-5); left: auto; width: min(38rem, calc(100vw - 3rem)); grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
  .site-consent__actions { flex-wrap: nowrap; }
  .site-consent__button { flex: 0 0 auto; }
}

@media (min-width: 68.75rem) {
  .site-footer__inner { display: grid; grid-template-columns: minmax(16rem, 0.85fr) minmax(0, 1.5fr); column-gap: var(--space-9); }
  .site-footer__nav { margin-top: 0; }
  .site-footer__bottom { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .site-consent { backdrop-filter: none; }
}
