/**
 * Component — Footer
 *
 * Site footer chrome: widget columns, footer navigation, social links,
 * copyright bar. Self-contained, token-driven, consumes frozen Stage 3
 * sidebar/menu locations (rl-sidebar-footer-1/2/3, rl-footer, rl-social).
 *
 * @package    Recipes_Lola
 * @version    1.0.0
 */

.rl-footer {
  border-block-start: var(--rl-border-width) solid var(--rl-color-border);
  background-color: var(--rl-color-surface-raised);
  margin-block-start: auto;
}

.rl-footer__widgets {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--rl-space-8);
  padding-block: var(--rl-space-16);
}

@media (min-width: 768px) {
  .rl-footer__widgets {
    grid-template-columns: repeat(3, 1fr);
    gap: var(--rl-grid-gap-x);
  }
}

.rl-footer__column { min-inline-size: 0; }

.rl-widget__title {
  font-family: var(--rl-font-display);
  font-size: var(--rl-text-sm);
  font-weight: var(--rl-weight-regular);
  letter-spacing: var(--rl-tracking-wide);
  text-transform: uppercase;
  color: var(--rl-color-foreground);
  margin-block-end: var(--rl-space-4);
}

.rl-footer__nav {
  padding-block-start: var(--rl-space-8);
  border-block-start: var(--rl-border-width) solid var(--rl-color-border);
}

.rl-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rl-space-6);
}

.rl-footer__nav-link {
  font-size: var(--rl-text-sm);
  color: var(--rl-color-foreground-muted);
  text-decoration: none;
  transition: color var(--rl-transition-fast);
}

.rl-footer__nav-link:hover { color: var(--rl-color-foreground); }

.rl-footer__nav-link:focus-visible {
  outline: var(--rl-focus-outline-width) solid var(--rl-focus-outline-color);
  outline-offset: var(--rl-focus-outline-offset);
}

.rl-footer__social-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rl-space-4);
  margin-block-start: var(--rl-space-4);
}

.rl-footer__social-link {
  font-size: var(--rl-text-sm);
  color: var(--rl-color-foreground-muted);
  text-decoration: none;
  transition: color var(--rl-transition-fast);
}

.rl-footer__social-link:hover { color: var(--rl-color-primary); }

.rl-footer__social-link:focus-visible {
  outline: var(--rl-focus-outline-width) solid var(--rl-focus-outline-color);
  outline-offset: var(--rl-focus-outline-offset);
}

.rl-footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--rl-space-3);
  padding-block: var(--rl-space-6);
  border-block-start: var(--rl-border-width) solid var(--rl-color-border);
  text-align: center;
}

@media (min-width: 768px) {
  .rl-footer__bottom {
    flex-direction: row;
    justify-content: space-between;
    text-align: start;
  }
}

.rl-footer__copyright {
  font-size: var(--rl-text-xs);
  color: var(--rl-color-foreground-muted);
}
