/* Local override of the legacy footer: no page-wide styles or runtime motion. */
#site-footer {
  --footer-text: #b9c5d2;
  --footer-bright: #f8fafc;
  --belgian-black: #151515;
  --belgian-yellow: #ffd90c;
  --belgian-red: #ed2939;
  color: var(--footer-text);
  background: radial-gradient(ellipse at 100% 0%, #ff790019, transparent 48%), #0b1926;
  padding: 48px max(20px, 4vw) 24px !important;
  isolation: isolate;
}
#site-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #ff7900, #ffb568 40%, #0b1926);
}
#site-footer .footer-main {
  max-width: 1440px;
  display: grid !important;
  grid-template-columns: 1.25fr .85fr .95fr 1fr 1.3fr;
  gap: 24px !important;
  align-items: start;
}
#site-footer .footer-main > * { min-width: 0; grid-column: auto; }
#site-footer .footer-col-brand { grid-column: 1; gap: 10px; border: 0 !important; padding: 0 !important; }
#site-footer .footer-company-card { grid-column: 5; grid-row: 1; }
#site-footer details.footer-col { display: block; border: 0 !important; padding: 0 !important; }
#site-footer .footer-logo { margin: 0; align-self: start; width:fit-content; padding:12px 18px; background:#faf7f0; border-radius:16px; }
#site-footer .footer-logo img { height: 68px !important; width: auto; max-width:100%; object-fit:contain; background: none; padding: 0; border-radius: 0; }
#site-footer .footer-brand-desc { font-size: .82rem; line-height: 1.55; color: var(--footer-text); }
#site-footer .footer-slogan { color: var(--orange-2); font-size: .8rem; }
#site-footer .footer-origin { display: flex; align-items: center; gap: 8px; margin: 4px 0 0; color: var(--footer-bright); font-size: .8rem; font-weight: 600; }
#site-footer .footer-belgian-mark {
  position: relative; overflow: hidden; flex: 0 0 28px; height: 18px;
  border-radius: 3px; border: 1px solid #ffffff30;
  background: linear-gradient(90deg, var(--belgian-black) 33.33%, var(--belgian-yellow) 33.33% 66.66%, var(--belgian-red) 66.66%);
}
#site-footer .footer-belgian-mark::after {
  content: ""; position: absolute; inset: -4px;
  background: linear-gradient(110deg, transparent 30%, #ffffff70 50%, transparent 70%);
  transform: translateX(-120%); opacity: 0;
}
#site-footer .footer-col-brand:hover .footer-belgian-mark::after { animation: footer-glint 650ms ease-out; }
@keyframes footer-glint {
  0% { transform: translateX(-120%); opacity: 0; }
  35% { opacity: .6; }
  100% { transform: translateX(120%); opacity: 0; }
}
#site-footer .footer-company-card {
  margin: 0 !important; padding: 14px !important; gap: 5px;
  border-radius: calc(var(--radius) / 2) !important;
  background: #ffffff04; border-color: #ffffff12;
  overflow-wrap: anywhere;
}
#site-footer .company-name { color:#faf7f0; font-family:var(--font-heading, 'Bricolage Grotesque', sans-serif); font-size:1rem; }
#site-footer .company-form { font-size:.75rem; line-height:1.5; }
#site-footer .footer-main > details { border-left:1px solid #ffffff24 !important; padding-left:18px !important; }
#site-footer .company-form, #site-footer .company-registrations { color: var(--footer-text); }
#site-footer .company-contact-links { gap: 0; margin-top: 2px; padding-top: 4px; }
#site-footer .footer-contact-link {
  display: flex; align-items: center; gap: 8px; margin: 0;
  min-height: 36px; color: var(--footer-bright); line-height: 1.4;
}
#site-footer .footer-contact-link svg { flex-shrink: 0; color: var(--orange-2); }
#site-footer .footer-heading {
  display: flex !important; align-items: center; justify-content: space-between;
  min-height: 32px; margin: 0 0 10px !important; padding: 0 0 8px !important;
  color: var(--footer-bright) !important; font-size: .8rem !important;
  font-weight: 700; letter-spacing: .04em; cursor: pointer; list-style: none;
}
#site-footer .footer-heading::-webkit-details-marker { display: none; }
#site-footer .footer-heading::after {
  content: "+" !important; position: static; width: auto; height: auto;
  background: none; color: var(--orange-2) !important; font-size: 1rem !important;
}
#site-footer details[open] > .footer-heading::after { content: "−" !important; }
#site-footer .footer-links {
  display: none !important; flex-direction: column; gap: 0 !important; padding: 0 !important;
}
#site-footer details[open] > .footer-links { display: flex !important; }
#site-footer .footer-links a, #site-footer .footer-btn-cookies {
  display: flex !important; align-items: center; min-height: 32px;
  margin: 0; padding: 4px 0; color: var(--footer-text); font-size: .82rem; line-height: 1.4;
  transition: transform 180ms ease-out;
}
#site-footer a:hover, #site-footer .footer-btn-cookies:hover { color: var(--footer-bright); transform: translateX(3px); }
#site-footer :is(a, button, summary):focus-visible { outline: 2px solid var(--orange-2); outline-offset: 4px; border-radius: 3px; }
#site-footer .footer-bottom {
  max-width: 1440px; margin: 20px auto 0 !important; padding-top: 14px !important;
  gap: 10px 24px; font-size: .75rem; line-height: 1.5;
}
#site-footer .footer-bottom-badges { flex-wrap: wrap; gap: 8px; }
#site-footer .footer-bottom-copy span, #site-footer .footer-bottom-badges span { color: var(--footer-text); }
@media (max-width: 1100px) {
  #site-footer .footer-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #site-footer .footer-col-brand { grid-column: 1 / 3; }
  #site-footer .footer-company-card { grid-column: 3; grid-row: 1; }
}
@media (max-width: 640px) {
  #site-footer { padding: 26px 20px 20px !important; }
  #site-footer .footer-main { grid-template-columns: minmax(0, 1fr); gap: 10px !important; }
  #site-footer .footer-main > * { grid-column: 1; grid-row: auto; }
  #site-footer .footer-col-brand { margin-bottom: 6px; }
  #site-footer .footer-company-card { margin-bottom: 10px !important; }
  #site-footer details.footer-col { border-bottom: 1px solid #ffffff14 !important; }
  #site-footer .footer-main > details { border-left:0 !important; padding-left:0 !important; }
  #site-footer .footer-heading { min-height: 48px; margin: 0 !important; padding: 10px 0 !important; }
  #site-footer details[open] > .footer-links { padding-bottom: 10px !important; }
  #site-footer .footer-links a, #site-footer .footer-btn-cookies, #site-footer .footer-contact-link { min-height: 44px !important; }
  #site-footer .footer-bottom { align-items: flex-start !important; text-align: left !important; }
  #site-footer .footer-bottom-badges { justify-content: flex-start !important; }
}
@media (prefers-reduced-motion: reduce) {
  #site-footer *, #site-footer *::after { animation: none !important; transition: none !important; }
  #site-footer a:hover, #site-footer .footer-btn-cookies:hover { transform: none; }
}
