.site-footer{margin-top:var(--space-12)}
.footer-inner{padding-top:var(--space-8);padding-bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}
.footer-main{display:flex;flex-direction:column;gap:var(--space-6)}
.footer-brand-block{display:flex;gap:var(--space-4);align-items:flex-start}
.footer-brand-mark{width:40px;height:40px;border-radius:16px;background:linear-gradient(135deg,#f4e3c7,#c2995d);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.5rem;color:#1f1305;box-shadow:var(--shadow-sm)}
.footer-brand-text{max-width:420px}
.footer-brand-name{font-family:var(--font-serif);font-size:1.2rem;margin-bottom:var(--space-1)}
.footer-brand-tagline{font-size:var(--font-size-sm);color:var(--color-text-soft);margin-bottom:var(--space-2)}
.footer-note{font-size:var(--font-size-xs);color:var(--gray-600);line-height:var(--line-height-relaxed)}
.footer-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.footer-column{min-width:0}
.footer-heading{font-family:var(--font-serif);font-size:var(--font-size-base);letter-spacing:0.16em;text-transform:uppercase;margin-bottom:var(--space-3);color:var(--gray-800)}
.footer-link-list{display:flex;flex-direction:column;gap:var(--space-2)}
.footer-link{font-size:var(--font-size-sm);color:var(--color-text-soft)}
.footer-address{font-size:var(--font-size-sm);color:var(--color-text-soft);line-height:var(--line-height-relaxed)}
.footer-link:hover,.footer-link:focus-visible{color:var(--color-primary-strong);outline:none}
.footer-bottom{border-top:1px solid rgba(15,23,42,0.06);padding-top:var(--space-4);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2)}
.footer-copy{font-size:var(--font-size-xs);color:var(--gray-600)}
@media (min-width:768px){.footer-main{flex-direction:row;justify-content:space-between;align-items:flex-start}
.footer-links-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px}}
.cookie-banner{position:fixed;left:50%;bottom:var(--space-4);transform:translateX(-50%);width:calc(100% - 2*var(--space-4));max-width:var(--container-max);background-color:var(--color-surface);box-shadow:var(--shadow-soft-elevated);border-radius:var(--radius-lg);padding:var(--space-4);z-index:40;opacity:0;pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-base);transform-origin:bottom center}
.cookie-banner.is-visible{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.cookie-content{display:flex;flex-direction:column;gap:var(--space-3)}
.cookie-text{max-width:640px}
.cookie-title{font-weight:500;font-size:var(--font-size-sm);margin-bottom:var(--space-1);color:var(--color-text)}
.cookie-body{font-size:var(--font-size-sm);margin:0;color:var(--color-text-soft)}
.cookie-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.btn-cookie{font-size:var(--font-size-xs);padding:8px 16px}
.btn-cookie-secondary{background-color:transparent;color:var(--color-text);border:1px solid var(--gray-300)}
.btn-cookie-secondary:hover{background-color:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary-strong)}
@media (max-width:600px){.cookie-content{gap:var(--space-2)}
.cookie-actions{flex-direction:column}}
.age-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,0.36);backdrop-filter:blur(10px);z-index:50;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}
.age-overlay.is-visible{opacity:1;pointer-events:auto}
.age-modal{max-width:460px;width:calc(100% - 2*var(--space-4));background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft-elevated);padding:var(--space-6);text-align:left}
.age-title{font-size:var(--font-size-2xl);margin-bottom:var(--space-3)}
.age-desc{font-size:var(--font-size-sm);color:var(--color-text-soft);margin-bottom:var(--space-4);line-height:var(--line-height-relaxed)}
.age-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.age-btn{flex:1 1 auto;justify-content:center}
@media (max-width:480px){.age-modal{padding:var(--space-5)}
.age-actions{flex-direction:column}}
@media (prefers-reduced-motion:reduce){.cookie-banner,.age-overlay{transition:none}}
