.site-footer{margin-top:var(--space-16);padding-top:var(--space-10);padding-bottom:var(--space-8);background-color:#F7F6F2;border-top:1px solid var(--color-border-soft)}
.footer-inner{display:flex;flex-direction:column;gap:var(--space-8)}
.footer-top{display:flex;flex-direction:column;gap:var(--space-8)}
.footer-brand{display:flex;gap:var(--space-4);align-items:flex-start}
.footer-brand-mark{width:44px;height:44px;border-radius:999px;background:radial-gradient(circle at 30% 20%,#FFFFFF,#C5A880,#4A6B5D);box-shadow:var(--shadow-soft-gold)}
.footer-brand-text{max-width:320px}
.footer-kicker{font-size:var(--font-size-xs);letter-spacing:0.16em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-1)}
.footer-name{font-family:var(--font-serif);font-size:var(--font-size-xl);letter-spacing:0.16em;text-transform:uppercase;color:var(--color-text)}
.footer-copy{margin-top:var(--space-2);font-size:var(--font-size-sm)}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-6);width:100%}
.footer-column{}
.footer-heading{font-size:var(--font-size-sm);letter-spacing:0.16em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-3)}
.footer-links{display:flex;flex-direction:column;gap:var(--space-2)}
.footer-links a{font-size:var(--font-size-sm);color:var(--color-text-muted)}
.footer-links a:hover{color:var(--color-text)}
.footer-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}
.footer-cta-group {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
}

.footer-btn {
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  padding-inline: var(--space-4);
  justify-content: center;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
  line-height: var(--line-height-snug);
}
.footer-meta-text{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-3)}
.footer-bottom{border-top:1px solid var(--color-border-soft);padding-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}
.footer-disclaimer{font-size:var(--font-size-xs);color:var(--color-text-muted);max-width:54rem}
.footer-bottom-meta{display:flex;flex-direction:column;gap:var(--space-2)}
.footer-copyright{font-size:var(--font-size-xs);color:var(--color-text-muted)}
.footer-region{font-size:var(--font-size-xs);color:var(--color-text-muted)}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.footer-bottom-meta{flex-direction:row;justify-content:space-between;align-items:center}
}
@media(min-width:1024px){.footer-top{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2.5fr);align-items:start;gap:var(--space-8)}
.footer-grid{grid-template-columns:minmax(140px,.75fr) minmax(170px,.9fr) minmax(300px,1.45fr);gap:var(--space-6)}
}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:rgba(250,250,250,0.98);border-top:1px solid var(--color-border-soft);box-shadow:0 -10px 30px rgba(0,0,0,0.06);z-index:45;transform:translateY(100%);opacity:0;pointer-events:none;transition:transform var(--transition-medium),opacity var(--transition-medium)}
.cookie-banner-visible{transform:translateY(0);opacity:1;pointer-events:auto}
.cookie-banner-inner{max-width:var(--container-max-width);margin:0 auto;padding:var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}
.cookie-title{font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--space-1);color:var(--color-text)}
.cookie-copy{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}
.cookie-link{font-size:var(--font-size-xs);color:var(--color-accent-sage);text-decoration:underline}
.cookie-link:hover{color:var(--color-text)}
.cookie-banner-actions{display:flex;flex-direction:column;gap:var(--space-2)}
.cookie-btn{width:100%;justify-content:center}
@media(min-width:768px){.cookie-banner-inner{padding:var(--space-3) var(--space-6);flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-6)}
.cookie-banner-text{flex:1.6}
.cookie-banner-actions{flex:1;flex-direction:row;justify-content:flex-end;gap:var(--space-3)}
.cookie-btn{width:auto;min-width:150px}
}
.cookie-banner-hidden{transform:translateY(100%);opacity:0;pointer-events:none}
.age-modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;pointer-events:auto}
.age-modal-hidden{display:none}
.age-modal-backdrop{position:absolute;inset:0;background:rgba(10,10,10,0.45);backdrop-filter:blur(4px)}
.age-modal-content{position:relative;max-width:480px;width:100%;padding:0 var(--space-4)}
.age-modal-body{position:relative;z-index:1;border-radius:var(--radius-xl);background:linear-gradient(150deg,#FFFFFF,#F0EFEA);border:1px solid rgba(197,168,128,0.5);box-shadow:var(--shadow-lg);padding:var(--space-6) var(--space-5)}
.age-modal-kicker{font-size:var(--font-size-xs);letter-spacing:0.18em;text-transform:uppercase;color:var(--color-accent-sage);margin-bottom:var(--space-2)}
.age-modal-title{font-size:var(--font-size-2xl);margin-bottom:var(--space-3)}
.age-modal-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}
.age-modal-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-3)}
.age-btn{width:100%;justify-content:center}
.age-modal-note{font-size:var(--font-size-xs);color:var(--color-text-muted)}
@media(min-width:640px){.age-modal-actions{flex-direction:row}
.age-btn{width:auto;flex:1}
}
.age-modal-lock-scroll{overflow:hidden}
