/* GardenLite Footer Styles */
.site-footer { padding-block: var(--space-10); }
.footer-grid { display: grid; gap: var(--space-8); grid-template-columns: 2fr 1fr 1fr; }
@media (max-width: 960px) { .footer-grid { grid-template-columns: 1fr; } }

.footer-col { display: grid; align-content: start; gap: var(--space-4); }
.footer-heading { font-size: var(--fs-500); font-family: var(--font-serif); }
.footer-links { display: grid; gap: var(--space-2); }
.footer-links a { color: #e8ece8; }
.footer-links a:hover { color: #ffffff; }

.footer-brand .brand { color: #ffffff; display: inline-flex; align-items: center; gap: var(--space-3); text-decoration: none; }
.footer-brand .brand-mark { width: 36px; height: 36px; border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }
.footer-desc { max-width: 52ch; color: #cfd5cf; }

.footer-bottom { border-top: 1px solid rgba(255,255,255,0.12); margin-top: var(--space-8); padding-top: var(--space-6); display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); color: #cfd5cf; }
@media (max-width: 640px) { .footer-bottom { flex-direction: column; align-items: flex-start; } }

/* Cookie Banner */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100; background: var(--color-surface); color: var(--color-text); border-top: 1px solid var(--gray-200); box-shadow: 0 -10px 20px rgba(0,0,0,0.12); transform: translateY(100%); opacity: 0; visibility: hidden; transition: transform var(--transition-medium) var(--ease-standard), opacity var(--transition-medium) var(--ease-standard), visibility 0s linear var(--transition-medium); }
.cookie-banner.is-visible { transform: translateY(0); opacity: 1; visibility: visible; transition-delay: 0s; }
.cookie-banner.is-hiding { transform: translateY(100%); opacity: 0; visibility: hidden; }
.cookie-inner { display: grid; grid-template-columns: 1fr auto; gap: var(--space-6); padding: var(--space-6) var(--space-6); max-width: var(--container-max); margin: 0 auto; }
.cookie-text h2 { font-size: var(--fs-500); margin-bottom: var(--space-2); font-family: var(--font-serif); }
.cookie-text p { margin: 0; }
.cookie-text a { color: var(--color-link); }
.cookie-actions { display: flex; gap: var(--space-3); align-items: center; }
@media (max-width: 768px) {
  .cookie-inner { grid-template-columns: 1fr; }
  .cookie-actions { justify-content: start; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-banner, .cookie-banner.is-visible, .cookie-banner.is-hiding { transition-duration: 1ms; }
}
