.site-footer{margin-top:var(--space-12)}
.footer-logo{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}
.footer-logo-mark{width:40px;height:40px;border-radius:50%;border:1px solid rgba(199,154,75,0.7);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1.35rem;background:radial-gradient(circle at 30% 20%,#ffffff,rgba(247,244,239,0.9));color:var(--color-primary-dark);box-shadow:var(--shadow-soft)}
.footer-logo-text{display:flex;flex-direction:column}
.footer-logo-title{font-family:var(--font-serif);letter-spacing:0.18em;text-transform:uppercase;font-size:0.95rem}
.footer-logo-subtitle{font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--color-text-muted)}
.footer-trust{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-4)}
.footer-trust-item{font-size:0.8rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-text-muted)}
.footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}
.footer-nav-group{display:flex;flex-direction:column;gap:4px}
.footer-nav-group a{font-size:0.9rem;color:var(--color-text-soft)}
.footer-nav-group a:hover{color:var(--color-text)}
.footer-newsletter{max-width:26rem;justify-self:flex-end}
.footer-form-row{display:flex;flex-direction:column;gap:var(--space-2)}
.footer-form-note{margin-top:var(--space-2);font-size:0.8rem;color:var(--color-text-muted)}
.footer-social{margin-top:var(--space-4)}
.footer-bottom{margin-top:var(--space-8);padding-top:var(--space-4);border-top:1px solid rgba(199,154,75,0.22);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:0.8rem;color:var(--color-text-muted)}
.footer-note{max-width:24rem}
@media (max-width:960px){
  .footer-top{grid-template-columns:1fr;gap:var(--space-8)}
  .footer-newsletter{max-width:none}
}
@media (min-width:576px){
  .footer-form-row{flex-direction:row;align-items:stretch}
  .footer-form-row input{flex:1}
}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;background:linear-gradient(120deg,rgba(18,14,10,0.97),rgba(38,30,20,0.98));color:#f7f4ef;box-shadow:0 -12px 35px rgba(0,0,0,0.45);transform:translateY(100%);opacity:0;transition:transform var(--transition-slow),opacity var(--transition-slow)}
.cookie-banner.is-visible{transform:translateY(0);opacity:1}
.cookie-banner-inner{max-width:var(--container-max-width);margin:0 auto;padding:var(--space-4) var(--space-5);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}
.cookie-banner-text{flex:1 1 260px}
.cookie-title{font-family:var(--font-serif);font-size:1.1rem;margin-bottom:var(--space-2);color:#fff}
.cookie-banner p{color:rgba(247,244,239,0.9);margin-bottom:var(--space-2);font-size:0.9rem}
.cookie-link{color:var(--color-primary-soft);font-size:0.85rem}
.cookie-banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-end}
.cookie-banner .btn{font-size:0.75rem}

@media (max-width:640px){
  .cookie-banner-inner{padding-inline:var(--space-4)}
  .cookie-banner-actions{width:100%;justify-content:flex-start}
  .cookie-banner .btn{flex:1 1 auto;justify-content:center}
}
.age-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center}
.age-modal[hidden]{display:none}
.age-modal-backdrop{position:absolute;inset:0;background:radial-gradient(circle at top,rgba(0,0,0,0.78),rgba(0,0,0,0.92));backdrop-filter:blur(8px)}
.age-modal-content{position:relative;max-width:460px;width:100%;margin-inline:var(--space-5);border-radius:var(--radius-xl);background:radial-gradient(circle at top,rgba(255,255,255,0.98),rgba(247,244,239,0.98));box-shadow:var(--shadow-elevated);overflow:hidden}
.age-modal-body{padding:var(--space-6)}
.age-modal-body h2{font-size:1.6rem;margin-bottom:var(--space-3)}
.age-modal-body p{font-size:0.95rem;margin-bottom:var(--space-5);color:var(--color-text-soft)}
.age-modal-actions{display:flex;flex-direction:column;gap:var(--space-3)}
.age-modal-actions .btn{width:100%;justify-content:center}
@media (min-width:576px){
  .age-modal-actions{flex-direction:row}
  .age-modal-actions .btn{width:auto;flex:1}
}
@media (prefers-reduced-motion:reduce){
  .cookie-banner{transition:none}
}