.site-footer{margin-top:var(--space-16)}.footer-inner{padding-top:var(--space-10);padding-bottom:var(--space-8);display:flex;flex-direction:column;gap:var(--space-8)}.footer-main{display:flex;justify-content:space-between;gap:var(--space-10);align-items:flex-start;flex-wrap:wrap}.footer-brand-block{max-width:360px}.footer-brand-link{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.footer-brand-mark{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 0,#fff9f2,#e1d2be);border:1px solid rgba(176,138,70,0.9);box-shadow:0 10px 24px rgba(26,10,8,0.3);font-family:var(--font-display);font-size:1.1rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-primary-deep)}.footer-brand-text{display:flex;flex-direction:column}.footer-brand-title{font-family:var(--font-display);font-size:1.25rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-primary-deep)}.footer-brand-subtitle{font-family:var(--font-serif);font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-text-muted)}.footer-description{font-size:0.9rem;color:var(--color-text-muted);max-width:32rem}.footer-links-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8);min-width:0}.footer-heading{font-size:0.85rem;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:var(--space-3);color:var(--gray-800)}.footer-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.4rem}.footer-link-list a{font-size:0.9rem;color:var(--color-text-muted);position:relative;display:inline-flex;align-items:center}.footer-link-list a::before{content:"";width:6px;height:6px;border-radius:999px;border:1px solid rgba(176,138,70,0.8);margin-right:0.5rem;transform:scale(0.6);transition:transform var(--transition-base),background-color var(--transition-base)}.footer-link-list a:hover,.footer-link-list a:focus-visible{color:var(--color-primary-deep)}.footer-link-list a:hover::before,.footer-link-list a:focus-visible::before{background-color:rgba(176,138,70,0.9);transform:scale(1)}.footer-bottom{border-top:1px solid rgba(219,202,180,0.9);padding-top:var(--space-4);display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-4);align-items:center}.footer-note{display:flex;align-items:flex-start;gap:var(--space-3);max-width:560px}.footer-age-badge{min-width:32px;height:32px;border-radius:999px;border:1px solid rgba(179,38,33,0.9);display:inline-flex;align-items:center;justify-content:center;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--color-primary-deep);background:radial-gradient(circle at 30% 0,#fff9f2,#f2e6d7);box-shadow:0 10px 24px rgba(26,10,8,0.24)}.footer-note p{margin:0;font-size:0.8rem;color:var(--color-text-muted);max-width:none}.footer-copy{margin:0;font-size:0.8rem;color:var(--color-text-muted)}.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;transform:translateY(100%);opacity:0;pointer-events:none;transition:transform var(--transition-base),opacity var(--transition-base)}.cookie-banner-visible{transform:translateY(0);opacity:1;pointer-events:auto}.cookie-banner-inner{margin:0 auto var(--space-4);max-width:960px;border-radius:26px 26px 0 0;background:radial-gradient(circle at top,#fff9f2,#f2e6d7);box-shadow:0 -18px 40px rgba(26,10,8,0.35);padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-top:1px solid rgba(176,138,70,0.7)}.cookie-banner-text{max-width:620px}.cookie-title{font-size:0.95rem;margin-bottom:var(--space-2);color:var(--gray-900)}.cookie-banner-text p{margin:0;font-size:0.85rem;color:var(--color-text-muted)}.cookie-banner-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.cookie-btn-secondary{border-radius:999px;border:1px solid rgba(176,138,70,0.9);background:transparent;color:var(--color-text);padding-inline:1.2rem}.cookie-btn-secondary:hover{background:rgba(255,249,242,0.9)}.cookie-btn-primary{padding-inline:1.6rem}.cookie-banner-hiding{opacity:0;transform:translateY(100%)}.age-modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center}.age-modal-active{display:flex}.age-modal-backdrop{position:absolute;inset:0;background:rgba(12,4,3,0.6);backdrop-filter:blur(6px)}.age-modal-dialog{position:relative;max-width:480px;width:100%;margin:0 var(--space-5);border-radius:34px;background:radial-gradient(circle at top,#fff9f2,#f2e6d7);box-shadow:0 24px 70px rgba(12,4,3,0.85);padding:var(--space-6);border:1px solid rgba(176,138,70,0.9);display:flex;flex-direction:column;gap:var(--space-4)}.age-modal-header{display:flex;align-items:center;gap:var(--space-3)}.age-modal-badge{min-width:40px;height:40px;border-radius:999px;border:1px solid rgba(179,38,33,0.95);display:inline-flex;align-items:center;justify-content:center;font-size:0.8rem;letter-spacing:0.18em;text-transform:uppercase;background:radial-gradient(circle at 30% 0,#fff9f2,#f4ddd0);color:var(--color-primary-deep);box-shadow:0 16px 36px rgba(26,10,8,0.4)}.age-modal-header h2{margin:0;font-size:1.3rem;color:var(--gray-900)}.age-modal-body p{margin:0;font-size:0.95rem;color:var(--color-text-muted)}.age-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap}.age-btn-secondary{border-radius:999px;border:1px solid rgba(176,138,70,0.9);background:transparent;color:var(--color-text);padding-inline:1.2rem}.age-btn-secondary:hover{background:rgba(255,249,242,0.9)}.age-btn-primary{padding-inline:1.6rem}@media (max-width:900px){.footer-main{flex-direction:column}.footer-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.footer-inner{padding-top:var(--space-8);padding-bottom:var(--space-6)}.footer-links-grid{grid-template-columns:1fr}.footer-note{align-items:center}.cookie-banner-inner{border-radius:20px 20px 0 0;padding:var(--space-4) var(--space-4);flex-direction:column;align-items:flex-start}.cookie-banner-actions{width:100%;justify-content:flex-start}.age-modal-dialog{margin:0 var(--space-4);padding:var(--space-5)}}