/* 1.1.13 - Public footer (replaces the Astra footer builder output on public pages). */
.vp-footer-v2 footer.site-footer { display: none !important; }

.vp-footer {
  --vf-navy: #071a3d;
  --vf-navy2: #0b2a5c;
  --vf-red: #e5262d;
  position: relative;
  margin-top: 0;
  padding: 0 0 8px;
  background:
    radial-gradient(40% 60% at 12% 0%, rgba(59, 130, 255, .22), transparent 70%),
    radial-gradient(36% 50% at 92% 10%, rgba(229, 38, 45, .16), transparent 70%),
    var(--vf-navy);
  color: #b9c8e6;
  font-size: 15px;
  line-height: 1.55;
}
.vp-footer,
.vp-footer * { box-sizing: border-box; letter-spacing: 0; }
.vp-footer svg { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.vp-footer a { color: inherit; text-decoration: none; }
.vp-footer a:focus-visible { outline: 3px solid #9db9f5; outline-offset: 3px; border-radius: 6px; }
.vp-footer__inner { width: calc(100% - 48px); max-width: 1240px; margin: 0 auto; }

/* Call to action band */
.vp-footer__cta {
  position: relative;
  top: -44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: -12px;
  padding: 34px 40px;
  border-radius: 28px;
  background: linear-gradient(135deg, #123d86, #0b2a5c 55%, #143a78);
  box-shadow: 0 30px 60px rgba(3, 12, 32, .45), inset 0 0 0 1px rgba(255, 255, 255, .08);
  overflow: hidden;
}
.vp-footer__cta::after {
  content: "";
  position: absolute;
  right: -60px;
  top: -70px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(229, 38, 45, .5), transparent 70%);
  pointer-events: none;
}
.vp-footer__cta > * { position: relative; z-index: 1; }
.vp-footer__cta h2 { margin: 0 0 4px; color: #fff; font-size: clamp(24px, 3vw, 34px); font-weight: 900; letter-spacing: -.03em; line-height: 1.1; }
.vp-footer__cta p { margin: 0; max-width: 520px; color: #cfdcf3; font-size: 15.5px; }
.vp-footer__cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.vp-footer__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 26px;
  border-radius: 16px;
  color: #fff !important;
  font-size: 16px;
  font-weight: 850;
  transition: transform .18s cubic-bezier(.2, .7, .2, 1), background .18s, box-shadow .18s;
}
.vp-footer__btn:hover { transform: translateY(-2px); }
.vp-footer__btn--red { background: var(--vf-red); box-shadow: 0 14px 30px rgba(229, 38, 45, .4); }
.vp-footer__btn--red:hover { background: #b3141a; }
.vp-footer__btn--glass { border: 1px solid rgba(255, 255, 255, .3); background: rgba(255, 255, 255, .1); backdrop-filter: blur(10px); }
.vp-footer__btn--glass:hover { background: rgba(255, 255, 255, .2); }

/* Link grid */
.vp-footer__grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
  gap: 36px 40px;
  padding: 8px 0 40px;
}
.vp-footer__brand p { max-width: 300px; margin: 14px 0 18px; color: #b9c8e6; }
.vp-footer__logo { display: inline-block; }
.vp-footer__logo img { display: block; width: 132px; height: auto; filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .4)); }
.vp-footer__social { display: flex; gap: 10px; }
.vp-footer__social a {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 21px;
  transition: background .18s, transform .18s;
}
.vp-footer__social a:hover { background: var(--vf-red); transform: translateY(-2px); }
.vp-footer h3 { margin: 4px 0 14px; color: #fff; font-size: 13px; font-weight: 850; letter-spacing: .12em !important; text-transform: uppercase; }
.vp-footer ul { margin: 0; padding: 0; list-style: none; }
.vp-footer li { margin: 0 0 9px; padding: 0; }
.vp-footer__col a { color: #b9c8e6; transition: color .15s, transform .15s; }
.vp-footer__col li > a:hover { color: #fff; }
.vp-footer__visit a { display: flex; align-items: flex-start; gap: 12px; }
.vp-footer__visit a svg { margin-top: 2px; color: #7db0ff; font-size: 20px; }
.vp-footer__visit a:hover span { color: #fff; }
.vp-footer__visit span { overflow-wrap: anywhere; }

.vp-footer__bar {
  display: flex;
  justify-content: space-between;
  gap: 10px 20px;
  flex-wrap: wrap;
  padding: 20px 0 14px;
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: #8da2c8;
  font-size: 13.5px;
}

@media (max-width: 1000px) {
  .vp-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vp-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .vp-footer__inner { width: calc(100% - 28px); }
  .vp-footer__cta { top: -32px; margin-bottom: -4px; padding: 26px 22px; border-radius: 24px; }
  .vp-footer__cta-actions { width: 100%; flex-direction: column; }
  .vp-footer__btn { width: 100%; }
  .vp-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .vp-footer__bar { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .vp-footer__btn, .vp-footer__social a { transition: none; }
}
