/* One shared footer is rendered by the root layout on every route. */
/* Text links stay readable in every state; social icons retain navy on white. */
.sophistec-site-footer .footer-quick-links a,
.sophistec-site-footer .signle-footer-contact-8 .inner-content a,
.sophistec-site-footer .copyright-8-wrapper a,
.sophistec-site-footer .copyright-8-wrapper a:is(:visited, :hover, :focus, :active) {
  color: #fff !important;
}

.sophistec-site-footer .copyright-8-wrapper a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.sophistec-site-footer .footer-navigation-groups {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(150px, 1fr);
  gap: 32px;
}

.sophistec-site-footer .footer-policy-links ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sophistec-site-footer .footer-policy-links li { margin: 0 0 12px; padding: 0; }

.sophistec-site-footer .footer-policy-links a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #fff !important;
  font-size: 14px;
  line-height: 1.5;
}

.sophistec-site-footer .footer-policy-links a i {
  flex: 0 0 14px;
  margin-top: 4px;
}

.sophistec-site-footer .footer-policy-links a span { min-width: 0; }
.sophistec-site-footer .footer-policy-links a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 4px; }
.sophistec-site-footer .footer-policy-links a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

.sophistec-site-footer .footer-one-single-wized.footer-quick-links .quick-link-inner {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 20px;
}

.sophistec-site-footer .footer-quick-links .quick-link-inner .links li a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
}

.sophistec-site-footer .footer-quick-links .quick-link-inner .links li a i {
  flex: 0 0 14px;
  margin: 5px 0 0;
}

.sophistec-site-footer .footer-quick-links .quick-link-inner .links li a span {
  min-width: 0;
}

@media (min-width: 992px) {
  .sophistec-site-footer .footer-quick-links { padding-left: 20px; }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .sophistec-site-footer .footer-quick-links { padding-left: 20px; }
  .sophistec-site-footer .footer-one-single-wized.footer-quick-links .quick-link-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .sophistec-site-footer .footer-navigation-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 36px 0; }
}

@media (max-width: 575px) {
  .sophistec-site-footer .footer-navigation-groups { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

@media (max-width: 575px) {
  .sophistec-site-footer .footer-one-single-wized.footer-quick-links .quick-link-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 359px) {
  .sophistec-site-footer .footer-one-single-wized.footer-quick-links .quick-link-inner {
    grid-template-columns: minmax(0, 1fr);
  }
}

.sophistec-site-footer .social-area-wrapper-two li a,
.sophistec-site-footer .social-area-wrapper-two li a:hover,
.sophistec-site-footer .social-area-wrapper-two li a:focus-visible {
  background: #fff;
  border-color: #fff;
  color: var(--sophistec-navy-deep) !important;
  box-shadow: 0 4px 12px rgba(16, 30, 75, 0.14);
  transition: transform 0.2s ease;
}

.sophistec-site-footer .social-area-wrapper-two li a i {
  color: var(--sophistec-navy-deep) !important;
}

.sophistec-site-footer .social-area-wrapper-two li a:hover,
.sophistec-site-footer .social-area-wrapper-two li a:focus-visible {
  transform: translateY(-5px);
}

.footer-8-area-bg:not(.sophistec-site-footer),
.rts-footer-main-wrapper,
.footer-twenty-two,
.footer-twenty,
.rts-footer-area:not(.mt-dec-footer-map),
.rts-copyright-area,
.copyright-area {
  display: none !important;
}

/* The home footer contains a useful map above its legacy columns. Keep it. */
.rts-footer-area.footer-two.mt-dec-footer-map > .container.bg-shape-f1,
.rts-footer-area.footer-two.mt-dec-footer-map > .rts-copyright-area {
  display: none !important;
}

.rts-footer-area.footer-two.mt-dec-footer-map {
  padding-bottom: 0 !important;
}

/* The map is inside Home's page tree, while the shared footer is a separate
   body child. Space the actual siblings instead of the hidden legacy columns. */
body:has(.mt-dec-footer-map) > .sophistec-site-footer {
  margin-top: 64px !important;
  box-shadow: 0 -64px 0 var(--sophistec-navy-deep);
}

@media (max-width: 767px) {
  body:has(.mt-dec-footer-map) > .sophistec-site-footer {
    margin-top: 40px !important;
    box-shadow: 0 -40px 0 var(--sophistec-navy-deep);
  }
}
