/* Site footer (all public pages). Self-contained: works under both the Atlas and the Tailwind layouts. */
.mf {
  --mf-bg: #081121;
  --mf-bg-soft: #0b1a2e;
  --mf-accent: #4a82f0;
  --mf-accent-soft: #8fb0f6;
  --mf-ink-100: #f1f3f8;
  --mf-ink-300: #9aa5ba;
  --mf-ink-500: #7a8599;
  --mf-line: rgba(255, 255, 255, 0.09);
  background: var(--mf-bg);
  color: var(--mf-ink-100);
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
html[data-theme="dark"] .mf {
  --mf-bg: #050b16;
  --mf-bg-soft: #08121f;
  border-top: 1px solid var(--mf-line);
}
.mf *, .mf *::before, .mf *::after { box-sizing: border-box; }
.mf p, .mf ul, .mf h4 { margin: 0; padding: 0; }
.mf ul { list-style: none; }
.mf a { color: inherit; text-decoration: none; }
.mf a:focus-visible { outline: 2px solid var(--mf-accent-soft); outline-offset: 3px; border-radius: 4px; }

.mf-inner { max-width: 1200px; margin: 0 auto; width: 100%; }
.mf-top { padding: 52px 40px 36px; }
.mf-grid { display: grid; grid-template-columns: 1.15fr 1.35fr 1fr 1.1fr; gap: 32px; }

/* Brand: the site's own emblem + wordmark */
.mf-logo { display: inline-flex; align-items: center; gap: 9px; margin-top: -6px; margin-bottom: 6px; }
.mf-logo img { width: 34px; height: 34px; object-fit: contain; flex-shrink: 0; }
.mf .mf-logo__text { font-size: 18px; font-weight: 800; color: #fff; letter-spacing: 0.2px; line-height: 1; }
.mf-tagline {
  font-size: 9.5px; font-weight: 700; color: var(--mf-accent-soft);
  letter-spacing: 1.4px; text-transform: uppercase; margin-inline-start: 43px !important;
}
[dir="rtl"] .mf-tagline { letter-spacing: 0; font-size: 12px; }

.mf-col h4 { font-size: 12.5px; font-weight: 700; color: var(--mf-ink-100); letter-spacing: 0.3px; margin-bottom: 16px; }
[dir="rtl"] .mf-col h4 { font-size: 14px; letter-spacing: 0; }
.mf-col ul { display: flex; flex-direction: column; gap: 11px; }
.mf-col ul a { color: var(--mf-ink-300); font-size: 13px; font-weight: 500; transition: color 0.15s ease; }
[dir="rtl"] .mf-col ul a { font-size: 14px; }
.mf-col ul a:hover { color: var(--mf-accent-soft); }
.mf-links-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }

.mf-contact ul { gap: 14px; }
.mf-contact__item { display: flex; gap: 10px; align-items: flex-start; }
.mf-contact__item svg { flex-shrink: 0; margin-top: 2px; color: var(--mf-accent-soft); }
.mf-contact__item span, .mf-contact__item a { font-size: 13px; color: var(--mf-ink-300); line-height: 1.5; overflow-wrap: anywhere; }
[dir="rtl"] .mf-contact__item a[dir="ltr"] { unicode-bidi: isolate; }

.mf-social { display: flex; gap: 9px; margin-top: 16px; }
.mf-social a {
  width: 32px; height: 32px; border-radius: 7px; display: flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, 0.06); border: 1px solid var(--mf-line); color: var(--mf-ink-300);
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.mf-social a:hover { background: var(--mf-accent); border-color: var(--mf-accent); color: #fff; }

/* Bottom bar: legal links at the start, copyright + company registration stacked at the end */
.mf-bottom { background: var(--mf-bg-soft); border-top: 1px solid var(--mf-line); padding: 18px 40px; }
.mf-bottom__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px 32px; }
.mf-legal { display: flex; gap: 6px 18px; flex-wrap: wrap; }
.mf-legal a { font-size: 12.5px; color: var(--mf-ink-300); }
.mf-legal a:hover { color: var(--mf-accent-soft); }
.mf-legal-text { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: end; }
.mf-copyright { font-size: 12px; color: var(--mf-ink-500); }
.mf-company { font-size: 11.5px; color: var(--mf-ink-500); letter-spacing: 0.2px; }

/* The floating WhatsApp / Ask AI buttons: instead of the body's bottom padding (a white strip under the
   footer), the footer's own bottom bar holds that space, so the buttons never cover the copyright line. */
body:has(footer.mf) { padding-bottom: 0; }
body:has(> .mciq > footer.mf) { margin: 0; } /* Atlas pages: the browser's default 8px margin framed the dark footer */
/* Only where the buttons would actually reach the text (wide screens keep the content aligned to the grid). */
@media (min-width: 1024px) and (max-width: 1499px) {
  .mf-bottom__inner { padding-right: 150px; }
}
@media (min-width: 1024px) and (max-width: 1659px) {
  [dir="rtl"] .mf-bottom__inner { padding-right: 230px; } /* the Arabic button labels are wider */
}
@media (max-width: 1023px) {
  .mf-bottom { padding-bottom: calc(16px + 5.75rem + env(safe-area-inset-bottom, 0px)) !important; }
}

/* Tablet */
@media (max-width: 1024px) {
  .mf-top { padding: 44px 30px 30px; }
  .mf-grid { grid-template-columns: 1fr 1fr; row-gap: 32px; }
  .mf-bottom { padding: 16px 30px; }
}
/* Mobile */
@media (max-width: 640px) {
  .mf-top { padding: 36px 22px 26px; }
  .mf-grid { grid-template-columns: 1fr; row-gap: 30px; }
  .mf-bottom { padding: 16px 22px; }
  .mf-bottom__inner { flex-direction: column; align-items: flex-start; }
  .mf-legal-text { align-items: flex-start; text-align: start; }
}
