/* MENNOO footer v3 | 18 Oct 2026 | Desktop editorial grid + truly centered mobile stack. */
.site-footer {
  --mn-footer-muted: #c8c4d8;
  --mn-footer-rule: rgba(255,255,255,.14);
  --mn-footer-gold: #e1c891;
  position: relative;
  isolation: isolate;
  width: 100%;
  background: #08051f;
  background-image: radial-gradient(ellipse 65% 70% at 102% -18%, rgba(89,42,113,.22), transparent 75%),
                    radial-gradient(ellipse 50% 70% at -18% 105%, rgba(57,26,103,.23), transparent 73%);
  color: #fff;
  padding-inline: clamp(20px,4.6vw,76px) !important;
}
.site-footer *, .site-footer *::before, .site-footer *::after {box-sizing:border-box}
.site-footer .footer-shell { width:min(100%,1320px)!important; margin-inline:auto!important; }
.site-footer .footer-topline {
  display:flex!important; flex-direction:row; align-items:center!important; justify-content:space-between!important;
  gap:24px; padding:26px 0!important; min-height:0!important;
  border-bottom:1px solid var(--mn-footer-rule);
  color:var(--mn-footer-muted); letter-spacing:.13em; font-size:11px;
}
.site-footer .footer-topline>a {
  display:inline-flex!important; align-items:center; justify-content:center; gap:12px;
  min-height:44px; padding:10px 0 10px 16px;
  font-size:14px; font-weight:600; letter-spacing:0; line-height:1.35;
  color:#fff; text-decoration:none; white-space:normal; text-align:right;
}
.site-footer .footer-topline>a span {color:#fa659d; font-size:22px; transition:transform .2s ease}
.site-footer .footer-topline>a:hover span {transform:translate(3px,-3px)}
.site-footer .footer-main {
  display:grid!important;
  grid-template-columns:minmax(0,1.46fr) minmax(0,.78fr) minmax(0,1fr) minmax(0,.82fr)!important;
  align-items:start!important;
  gap:clamp(24px,3.6vw,60px)!important;
  padding:clamp(52px,5.6vw,78px) 0 clamp(64px,6vw,88px)!important;
  margin:0!important;
}
.site-footer .footer-main>*{min-width:0}
.site-footer .footer-brand-block {
  grid-column:auto!important;
  max-width:none!important;
  padding-right:clamp(18px,2.1vw,38px);
  border-right:1px solid var(--mn-footer-rule);
  min-height:250px;
}
.site-footer .footer-logo {display:inline-flex!important; min-height:0; align-items:center; justify-content:flex-start}
.site-footer .footer-logo img {display:block!important; width:170px!important; max-width:100%; height:auto!important; object-fit:contain}
.site-footer .footer-brand-block>p {
  max-width:360px; margin:23px 0 21px!important;
  color:#fff; font-size:clamp(24px,2.1vw,32px)!important;
  line-height:1.38!important; letter-spacing:-.035em;
  font-weight:400;
}
.site-footer .footer-origin {display:block; max-width:330px; color:var(--mn-footer-muted); font-size:12px; line-height:1.7}
.site-footer .footer-column, .site-footer .footer-contact {
  grid-column:auto!important; display:flex!important; flex-direction:column!important;
  flex-wrap:nowrap!important; justify-content:flex-start!important; align-items:flex-start!important;
  gap:0!important; min-width:0!important; margin:0!important;
}
.site-footer .footer-column h2 {
  color:var(--mn-footer-gold); margin:4px 0 23px!important;
  font-size:12px; font-weight:700; line-height:1.45; letter-spacing:.14em; text-transform:uppercase;
}
.site-footer .footer-column a, .site-footer .footer-column .footer-cookie-settings {
  display:inline-flex!important; align-items:center; justify-content:flex-start;
  width:fit-content; max-width:100%; min-height:38px;
  padding:4px 0!important; margin:0 0 6px!important;
  border:0!important; border-radius:0!important; background:transparent!important;
  color:#e5dfed!important; font:400 14px/1.5 Roboto,Arial,sans-serif!important;
  text-decoration:none!important; text-align:left!important; cursor:pointer;
  overflow-wrap:anywhere; letter-spacing:0!important;
  transition:color .2s ease, transform .2s ease;
}
.site-footer .footer-contact a {gap:6px}
.site-footer .footer-column a:hover, .site-footer .footer-column .footer-cookie-settings:hover {
  color:#ff89b6!important; transform:translateX(3px);
}
.site-footer .footer-bottom {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center!important; justify-content:initial!important;
  gap:18px 32px; width:100%; border-top:1px solid var(--mn-footer-rule);
  padding:25px 0 30px!important; margin:0!important;
  font-size:12px; line-height:1.6; letter-spacing:.01em; color:var(--mn-footer-muted);
}
.site-footer .footer-copyright {text-align:left; min-width:0}
.site-footer .footer-signature {
  display:inline-flex!important; align-items:center; gap:.32em; justify-self:center; white-space:nowrap;
  color:#fff; font:600 13px/1.5 Roboto,Arial,sans-serif; letter-spacing:.035em;
  text-transform:lowercase;
}
.site-footer .footer-heart {color:#f45390; font-weight:800}
.site-footer .footer-back-top {
  justify-self:end; text-align:right; display:inline-flex; align-items:center;
  min-height:44px; color:#f5e0ea; text-decoration:none;
  font-size:12px; white-space:normal;
}
.site-footer .footer-bottom>a:hover {color:#ff89b6; text-decoration:none}
.site-footer a:focus-visible, .site-footer button:focus-visible {outline:2px solid #ff80af!important;outline-offset:5px}
/* The cookie settings launcher must not be cropped by the viewport edge. */
.mn-cookie-launch {left:auto!important; right:max(16px,env(safe-area-inset-right,0px))!important;bottom:max(16px,env(safe-area-inset-bottom,0px))!important; max-width:calc(100vw - 32px);}
@media (max-width:1100px) and (min-width:761px) {
  .site-footer .footer-main {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:36px 38px!important; padding:52px 0 60px!important;
  }
  .site-footer .footer-brand-block {
    grid-column:1/-1!important; border-right:0; border-bottom:1px solid var(--mn-footer-rule);
    padding:0 0 32px; min-height:0; max-width:none!important;
  }
  .site-footer .footer-brand-block>p{max-width:none; margin:16px 0!important}
}
@media (max-width:760px) {
  .site-footer {padding-inline:clamp(20px,5vw,30px)!important}
  .site-footer .footer-topline {
    flex-direction:column!important; align-items:center!important; justify-content:center!important;
    gap:10px!important; padding:30px 0 27px!important;
    text-align:center; font-size:10px;
  }
  .site-footer .footer-topline>a {text-align:center; padding:7px 10px; min-height:44px; font-size:13px}
  .site-footer .footer-main {
    display:flex!important; flex-direction:column!important; align-items:center!important;
    gap:0!important; padding:44px 0 38px!important;
  }
  .site-footer .footer-brand-block {
    grid-column:auto!important; min-height:0!important; width:100%; max-width:430px!important;
    text-align:center; border:0!important; padding:0 0 34px!important;
    margin:0 auto 34px!important; border-bottom:1px solid var(--mn-footer-rule)!important;
  }
  .site-footer .footer-logo {justify-content:center!important; margin-inline:auto!important}
  .site-footer .footer-logo img {width:160px!important}
  .site-footer .footer-brand-block>p {max-width:340px; margin:18px auto 13px!important; font-size:clamp(22px,6vw,29px)!important; line-height:1.35!important}
  .site-footer .footer-origin {max-width:none; margin:0 auto; font-size:12px}
  .site-footer .footer-column, .site-footer .footer-contact {
    display:flex!important; flex-direction:column!important; justify-content:flex-start!important;
    align-items:center!important; flex-wrap:nowrap!important;
    width:100%; max-width:430px; text-align:center!important; margin:0 auto 30px!important;
    padding:0!important; gap:0!important;
  }
  .site-footer .footer-column h2 {margin:0 0 14px!important; text-align:center!important; font-size:12px}
  .site-footer .footer-column a, .site-footer .footer-column .footer-cookie-settings {
    justify-content:center!important; text-align:center!important; width:auto; max-width:100%; min-height:36px;
    margin:0 0 5px!important; padding:4px 10px!important; font-size:14px!important;
    overflow-wrap:anywhere;
  }
  .site-footer .footer-column a:hover, .site-footer .footer-column .footer-cookie-settings:hover{transform:none}
  .site-footer .footer-contact {margin-bottom:0!important}
  .site-footer .footer-bottom {
    display:flex!important; flex-direction:column!important; justify-content:center!important; align-items:center!important;
    gap:10px!important; text-align:center; padding:26px 0 36px!important;
  }
  .site-footer .footer-bottom>* {text-align:center!important; justify-self:center!important; margin:0!important}
  .site-footer .footer-signature {display:inline-flex!important; order:-1; margin-bottom:4px!important}
  .site-footer .footer-back-top {justify-self:center; justify-content:center; margin-top:6px!important}
}
@media (prefers-reduced-motion:reduce) {
  .site-footer .footer-topline>a span, .site-footer .footer-column a, .site-footer .footer-column .footer-cookie-settings {transition:none!important}
}
/* QR Stand 360° uses a bespoke footer: give it the same mobile alignment. */
@media(max-width:760px) {
  .stands-footer {display:flex!important; flex-direction:column!important; align-items:center!important; justify-content:center!important; gap:12px!important; text-align:center!important; padding:30px 20px!important}
  .stands-footer nav {display:flex!important; flex-direction:column!important; align-items:center!important; gap:5px!important}
  .stands-footer nav a {justify-content:center!important; text-align:center; padding:5px 10px}
  .stands-footer>p {text-align:center; margin:0}
}
