.site-footer{border-top:1px solid rgba(201,190,177,0.9);background:rgba(247,245,240,0.97);margin-top:var(--space-10);padding-block:var(--space-6)}
.footer-inner{max-width:var(--layout-max-width-wide);margin-inline:auto}
.footer-top{display:grid;gap:var(--space-6);margin-bottom:var(--space-4)}
.footer-brand{display:flex;align-items:flex-start;gap:14px}
.footer-brand-mark{width:30px;height:30px;border-radius:999px;border:1px solid rgba(112,63,66,0.55);background:radial-gradient(circle at 30% 30%,rgba(182,154,112,0.65),rgba(112,63,66,0.95));box-shadow:0 8px 22px rgba(64,53,52,0.3);margin-top:4px}
.footer-brand-text{display:flex;flex-direction:column;gap:2px}
.footer-brand-title{font-family:var(--font-serif);font-size:var(--text-md);letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text)}
.footer-brand-subtitle{font-size:var(--text-sm);color:var(--color-text-soft)}
.footer-column{font-size:var(--text-sm)}
.footer-heading{font-family:var(--font-serif);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:0.12em;margin-bottom:var(--space-3);color:var(--color-text-soft)}
.footer-nav{display:flex;flex-direction:column;gap:6px}
.footer-link{font-size:var(--text-sm);color:var(--color-text-soft);text-decoration:none}
.footer-link:hover,.footer-link:focus-visible{color:var(--color-text)}
.footer-contact-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin:6px 0 0}
.footer-contact-list li{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--color-text-soft)}
.footer-contact-list a{color:inherit;text-decoration:none}
.footer-contact-list a:hover,.footer-contact-list a:focus-visible{color:var(--color-text)}
.footer-contact-list i{color:var(--color-primary-soft);font-size:0.85rem}
.footer-text{font-size:var(--text-sm);color:var(--color-text-soft)}
.footer-bottom{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid rgba(201,190,177,0.7);font-size:var(--text-xs);color:var(--color-text-soft)}
.footer-copy{font-weight:500;color:var(--color-text-soft)}
.footer-note{max-width:44rem}
@media (min-width:768px){.footer-top{grid-template-columns:1.5fr 1.1fr 1.1fr 1.4fr}.footer-bottom{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(41,38,37,0.96);color:#fdfbf6;box-shadow:0 -10px 30px rgba(0,0,0,0.45);transform:translateY(100%);opacity:0;pointer-events:none;transition:transform var(--transition-base),opacity var(--transition-base)}
.cookie-banner.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.cookie-inner{max-width:var(--layout-max-width);margin-inline:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}
.cookie-title{font-family:var(--font-serif);font-size:var(--text-md);margin-bottom:4px;color:#fdfbf6}
.cookie-description{font-size:var(--text-sm);color:rgba(247,245,240,0.85);margin-bottom:6px}
.cookie-link{font-size:var(--text-xs);color:var(--color-accent);text-decoration:underline}
.cookie-link:hover,.cookie-link:focus-visible{color:#fdfbf6}
.cookie-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.cookie-btn{font-size:var(--text-xs)}
.cookie-btn.btn-outline{background:transparent;color:#fdfbf6;border-color:rgba(247,245,240,0.55)}
.cookie-btn.btn-outline:hover{background:rgba(247,245,240,0.08);border-color:rgba(247,245,240,0.9)}
@media (min-width:768px){.cookie-inner{flex-direction:row;justify-content:space-between;align-items:center;gap:var(--space-6)}.cookie-text{max-width:60%}.cookie-actions{justify-content:flex-end}}
@media (max-width:767.98px){.cookie-inner{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0))}}
