/* FluxiMark Blocks — site-wide styles: footer and the Services dropdown in the header. */

/* ---------- Header dropdown (Astra) ---------- */
/* No overflow:hidden here: it would clip the third-level flyouts (e.g. Digital Marketing > SEO). */
.main-header-menu .sub-menu { min-width: 290px; border-radius: 10px; box-shadow: 0 12px 32px rgba(14,34,68,.14); }
.main-header-menu .sub-menu > .menu-item:first-child > .menu-link { border-radius: 10px 10px 0 0; }
.main-header-menu .sub-menu > .menu-item:last-child > .menu-link { border-radius: 0 0 10px 10px; }
.main-header-menu .sub-menu .menu-link { padding-top: .8em; padding-bottom: .8em; font-size: .95em; }
.main-header-menu .sub-menu .menu-item:hover > .menu-link,
.main-header-menu .sub-menu .current-menu-item > .menu-link { color: #0E2244; background: #EEF6E3; }

/* ---------- Footer ---------- */
.fx-footer {
  --ff-navy: #0E2244; --ff-navy-2: #0A1A36; --ff-green: #84BD3A; --ff-text: #C3CCDD; --ff-muted: #8E9AB3;
  font-family: "Manrope", system-ui, sans-serif; font-size: 15px; line-height: 1.6;
  background: var(--ff-navy-2); color: var(--ff-text);
}
.fx-footer *, .fx-footer *::before, .fx-footer *::after { box-sizing: border-box; }
.fx-footer p { margin: 0; }
.fx-footer ul { list-style: none; margin: 0; padding: 0; }
.fx-footer a { color: inherit; text-decoration: none; }
.fx-footer-wrap { max-width: 1160px; margin: 0 auto; padding: 0 20px; }

/* CTA band */
.fx-footer-cta { background: var(--ff-navy); border-bottom: 1px solid rgba(255,255,255,.08);
  background-image: radial-gradient(600px 240px at 90% 0%, rgba(132,189,58,.18), transparent 70%); }
.fx-footer-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap; padding-top: 44px; padding-bottom: 44px; }
.fx-footer-cta-title { font-family: "Sora", system-ui, sans-serif; font-weight: 700; font-size: clamp(1.35rem, 2.6vw, 1.75rem); color: #fff; line-height: 1.25; }
.fx-footer-cta-text { margin-top: 6px !important; color: var(--ff-text); }
.fx-footer-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.fx-footer .fx-footer-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px; border-radius: 999px;
  font-family: "Sora", system-ui, sans-serif; font-weight: 600; font-size: .95rem; line-height: 1.2;
  background: var(--ff-green); color: var(--ff-navy); border: 2px solid var(--ff-green); transition: transform .15s ease, background .15s ease;
}
.fx-footer .fx-footer-btn:hover { background: #93CB48; border-color: #93CB48; color: var(--ff-navy); transform: translateY(-1px); }
.fx-footer .fx-footer-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
.fx-footer .fx-footer-btn--ghost:hover { background: transparent; border-color: #fff; color: #fff; }

/* Main columns */
.fx-footer-main { padding: 64px 0 48px; }
.fx-footer-grid { display: grid; grid-template-columns: 1.3fr 1.2fr .75fr 1.35fr; gap: 40px; }
.fx-footer-cta + .fx-footer-main, .fx-footer-main:first-child { border-top: 1px solid rgba(255,255,255,.06); }
.fx-footer .fx-fc-mail { overflow-wrap: normal; white-space: nowrap; font-size: .92rem; }
.fx-footer-logo { display: inline-block; margin-bottom: 18px; }
.fx-footer-logo img { display: block; width: 200px; height: auto; }
.fx-footer-brand > p { max-width: 330px; }
.fx-footer-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px !important; }
.fx-footer-badges li {
  font-size: .78rem; font-weight: 600; color: #DDE4F0; padding: 5px 10px 5px 26px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16); position: relative;
}
.fx-footer-badges li::before {
  content: ""; position: absolute; left: 9px; top: 50%; width: 11px; height: 11px; margin-top: -5.5px; background: var(--ff-green);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.fx-footer-head {
  font-family: "Sora", system-ui, sans-serif; font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: #fff; margin-bottom: 18px !important; padding-bottom: 12px; position: relative;
}
.fx-footer-head::after { content: ""; position: absolute; left: 0; bottom: 0; width: 28px; height: 2px; background: var(--ff-green); }
.fx-footer-col li { margin: 0 0 10px; }
.fx-footer-col a { transition: color .15s ease; }
.fx-footer-col a:hover, .fx-footer-col a:focus-visible { color: #fff; }
.fx-footer-col nav a, .fx-footer-col li a { display: inline-block; }
.fx-footer-col li a:hover { text-decoration: underline; text-decoration-color: var(--ff-green); text-underline-offset: 4px; }

.fx-footer-contact address { font-style: normal; display: grid; gap: 14px; }
.fx-footer .fx-fc { position: relative; padding-left: 30px; display: block; overflow-wrap: anywhere; }
.fx-footer .fx-fc::before {
  content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; background: var(--ff-green);
  -webkit-mask: var(--fc-icon) center/contain no-repeat; mask: var(--fc-icon) center/contain no-repeat;
}
.fx-footer .fx-fc-phone { --fc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2Z'/%3E%3C/svg%3E"); color: #fff; font-weight: 700; }
.fx-footer .fx-fc-wa { --fc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20.5l1.4-4.9A8 8 0 1 1 21 12Z'/%3E%3C/svg%3E"); }
.fx-footer .fx-fc-mail { --fc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
.fx-footer .fx-fc-pin { --fc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); font-size: .92rem; }
.fx-footer .fx-fc:hover { color: #fff; }

/* Bottom bar */
.fx-footer-bottom { border-top: 1px solid rgba(255,255,255,.08); }
.fx-footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; font-size: .85rem; color: var(--ff-muted); }
.fx-footer-legal { display: flex; gap: 20px; }
.fx-footer-legal a:hover { color: #fff; }
.fx-footer a:focus-visible { outline: 2px solid var(--ff-green); outline-offset: 3px; border-radius: 4px; }

@media (max-width: 1100px) {
  .fx-footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
}
@media (max-width: 600px) {
  .fx-footer-wrap { padding: 0 16px; }
  .fx-footer-cta-actions, .fx-footer .fx-footer-btn { width: 100%; }
  .fx-footer-main { padding: 48px 0 32px; }
  .fx-footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .fx-footer-bottom-inner { flex-direction: column; align-items: flex-start; }
}
