/* Footer styles for PenMarkk */
.site-footer {
  background: var(--color-surface);
  border-top: 1px solid var(--gray-200);
  padding-block: var(--space-12);
}
.footer__top { display: grid; gap: var(--space-10); grid-template-columns: 1.2fr 2fr; }
.footer__brand { max-width: 48ch; }
.footer__logo { font-family: var(--font-serif); font-weight: 700; font-size: var(--text-2xl); color: var(--color-primary); }
.footer__tagline { color: var(--gray-700); margin-top: var(--space-4); }

.footer__grid { display: grid; gap: var(--space-8); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.footer__heading { font-size: var(--text-lg); margin-bottom: var(--space-4); color: var(--color-text); }
.footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.footer__list a { color: var(--color-text); }
.footer__list a:hover { color: var(--color-primary); text-decoration: none; }
.footer__list a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }

.footer__bottom { margin-top: var(--space-12); padding-top: var(--space-6); border-top: 1px solid var(--gray-200); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }
.footer__copy { color: var(--gray-600); margin: 0; }

@media (max-width: 992px) {
  .footer__top { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .footer__grid { grid-template-columns: 1fr; }
}

/* Cookie banner */
.cookie-banner {
  position: fixed;
  left: 50%;
  bottom: var(--space-4);
  transform: translateX(-50%);
  width: min(100% - var(--space-6), 920px);
  background: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-lg);
  z-index: 1100;
  display: none;
}
.cookie-banner.is-visible { display: block; animation: cookie-slide-in var(--duration-slow) var(--easing-standard); }
.cookie-banner.is-hiding { animation: cookie-slide-out var(--duration-slow) var(--easing-standard) forwards; }

.cookie__inner { padding: var(--space-6); display: grid; gap: var(--space-4); }
.cookie__title { font-size: var(--text-lg); margin: 0; }
.cookie__text { margin: 0; color: var(--gray-700); }
.cookie__actions { display: flex; gap: var(--space-3); flex-wrap: wrap; justify-content: flex-end; }
.cookie__actions .btn { min-width: 160px; }

@keyframes cookie-slide-in { from { transform: translate(-50%, 12px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
@keyframes cookie-slide-out { from { transform: translate(-50%, 0); opacity: 1; } to { transform: translate(-50%, 12px); opacity: 0; } }

@media (prefers-reduced-motion: reduce) {
  .cookie-banner.is-visible, .cookie-banner.is-hiding { animation: none; }
}
