/* Footer (Paprino) */
.site-footer { background: var(--color-surface); border-top: 1px solid var(--gray-200); padding-block: var(--space-10) var(--space-7); }
.footer-inner { display: grid; gap: var(--space-10); grid-template-columns: 1.2fr 2fr; align-items: start; }

@media (max-width: 860px) { .footer-inner { grid-template-columns: 1fr; } }

.footer-brand .brand-link { display: inline-flex; align-items: center; gap: var(--space-3); color: var(--color-text); font-weight: 700; font-family: var(--font-heading); font-size: var(--fs-2xl); }
.footer-brand .brand-link:hover { color: var(--color-accent-700); text-decoration: none; }
.footer-brand .brand-mark { font-size: 1.25em; }
.footer-tagline { margin-top: var(--space-4); color: var(--color-text-muted); max-width: 42ch; }

.footer-links { display: grid; gap: var(--space-8); grid-template-columns: repeat(3, minmax(160px, 1fr)); }
@media (max-width: 640px) { .footer-links { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .footer-links { grid-template-columns: 1fr; } }

.links-title { font-size: var(--fs-base); text-transform: uppercase; letter-spacing: 0.06em; color: var(--gray-700); margin-bottom: var(--space-4); }
.footer-links a { color: var(--color-text); opacity: 0.92; display: inline-block; padding-block: 6px; }
.footer-links a:hover { opacity: 1; color: var(--color-primary-700); text-decoration: none; }
.footer-links a:focus-visible { outline: 2px solid var(--color-primary-700); outline-offset: 2px; border-radius: var(--radius-sm); }

.footer-bottom { border-top: 1px solid var(--gray-200); padding-top: var(--space-6); margin-top: var(--space-7); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-4); }

/* Cookie banner */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100; background: var(--color-surface); border-top: 1px solid var(--gray-200); box-shadow: 0 -10px 30px rgba(0,0,0,0.12); transform: translateY(100%); opacity: 0; transition: transform var(--duration-slow) var(--easing-standard), opacity var(--duration-normal) var(--easing-standard); }
.cookie-banner.is-open { transform: translateY(0); opacity: 1; }
.cookie-inner { display: grid; gap: var(--space-6); grid-template-columns: 1fr auto; padding-block: var(--space-7); }
@media (max-width: 720px) { .cookie-inner { grid-template-columns: 1fr; } }
.cookie-text h2 { margin: 0 0 var(--space-2) 0; font-size: var(--fs-lg); }
.cookie-text p { margin: 0; color: var(--color-text); }
.cookie-text a { color: var(--color-primary-700); }
.cookie-actions { display: inline-flex; gap: var(--space-4); align-items: center; justify-content: flex-end; }
.cookie-actions .btn { white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  .cookie-banner { transition: none; }
}

/* Focus styles */
.cookie-banner :is(a, button):focus-visible { outline: 2px solid var(--color-primary-700); outline-offset: 2px; }