/* ===== Divi-safe wrapper ===== */
.vituity-footer { width:100%; }
.vituity-footer, .vituity-footer * { box-sizing:border-box; }
.vituity-footer { text-align:left; }              /* Divi can center footers */
.vituity-footer p { margin:0; }                   /* Divi adds default margins */
.vituity-footer img { max-width:100%; height:auto; display:block; }

/* ===== Parent footer.css (scoped) ===== */
.vituity-footer .mainFooter { width: 100%; }

.vituity-footer .desktop-footerLogo { padding-bottom: 70px; }
.vituity-footer .mobile-footerLogo { display: none; }

.vituity-footer .mainFooter-container {
  padding: 100px 112px;
  width: 100%;
}

.vituity-footer .navigation-container { display: flex; }

.vituity-footer .navigation-container a,
.vituity-footer .footer-textLink a {
  text-decoration: none;
  color: inherit;
}

.vituity-footer .mainFooter .navigation-container .healthcare-services { padding-right: 160px; }

.vituity-footer .healthcare-services p:not(.secondary-nav-item p) { padding-bottom: 13px; }
.vituity-footer .healthcare-services p:first-child:not(.secondary-nav-item p) { padding-bottom: 24px; }

.vituity-footer .careers-whoweare { padding-right: 160px; }
.vituity-footer .careers-whoweare p { padding-bottom: 13px; }

.vituity-footer .whoweare p { padding-bottom: 13px; }
.vituity-footer .whoweare p:first-child { padding-bottom: 24px; }

.vituity-footer .insights-utility { padding-right: 160px; }

.vituity-footer .healthcare-insights { padding-bottom: 57px; }
.vituity-footer .healthcare-insights p:not(.secondary-nav-item p) { padding-bottom: 13px; }
.vituity-footer .healthcare-insights p:first-child:not(.secondary-nav-item p) { padding-bottom: 24px; }

.vituity-footer .careers { padding-bottom: 57px; }

.vituity-footer .text-link {
  padding-top: 120px;
  width: 100% !important;
}

.vituity-footer .utility-nav-style{
  display: flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
}
.vituity-footer .utility-nav-style:not(:last-child){ padding-bottom: 16px; }

.vituity-footer .utility-logo { padding-right: 16px; }

.vituity-footer .social { padding-bottom: 24px; }

.vituity-footer .first-row{
  padding-bottom: 26px;
  display: flex;
  gap: 32px;
}
.vituity-footer .second-row{
  display: flex;
  gap: 32px;
}

.vituity-footer .text-link-mobile { display: none; }

@media only screen and (max-width: 1079px){

  /* Mobile legal rows — fix wrapped-line spacing */
  .vituity-footer .footer-mobile-row {
    margin: 0;
    padding-bottom: 8px;
    text-align: center;
    line-height: 50px; /* KEY FIX */
  }

  .vituity-footer .footer-mobile-row a,
  .vituity-footer .footer-mobile-row .footer-bar {
    line-height: 22px;
    vertical-align: baseline;
  }

  .vituity-footer .footer-mobile-row .footer-bar {
    font-size: 10px;
    color: #D6D4D0;
    margin: 0 8px;
    display: inline-block;
  }

  .vituity-footer .mainFooter-container{ padding: 65px 20px 110px 20px; }

  .vituity-footer .mobile-logo-1{ padding-bottom: 24px; }

  .vituity-footer .desktop-footerLogo{ display: none; }
  .vituity-footer .mobile-footerLogo{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: 38.5px;
  }

  .vituity-footer .healthcare-services,
  .vituity-footer .careers-whoweare,
  .vituity-footer .healthcare-insights,
  .vituity-footer .text-link { display: none; }

  .vituity-footer .text-link-mobile{ display: block; }

  .vituity-footer .utility-nav img{ display: none; }
  .vituity-footer .social a{ display: none; }

  .vituity-footer .insights-utility{ padding-right: 0px; }

  .vituity-footer .navigation-container{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 64px;
    text-align: center;
  }

  .vituity-footer .utility-nav{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  .vituity-footer .all-social{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-bottom: 40px;
    justify-content: center;
    width: 100%;
  }

  .vituity-footer .first-row{
    padding-right: 32px;
    padding-bottom: 0px;
  }

  .vituity-footer .footer-bar{ font-size: 9px !important; }

  .vituity-footer .utility-nav-style:not(:last-child){ padding-bottom: 21px; }
}

@media only screen and (max-width: 415px){
  .vituity-footer .text-link-mobile a,
  .vituity-footer .text-link-mobile p{ letter-spacing: 0.1em !important; }
}

@media only screen and (max-width: 393px){
  .vituity-footer .first-row{
    padding-right: 26px !important;
    gap: 26px;
  }
  .vituity-footer .second-row{ gap: 26px; }

  .vituity-footer .text-link-mobile a,
  .vituity-footer .text-link-mobile p{ letter-spacing: 0 !important; }

  .vituity-footer .all-social{ padding-bottom: 30px; }

  .vituity-footer .footer-bar{ font-size: 9px !important; }
}

@media screen and (max-width: 450px){
  .vituity-footer .mainFooter-container{ padding: 65px 20px 110px 20px; }
  .vituity-footer .first-row{ padding-right: 32px; }
  .vituity-footer .footer-bar{ font-size: 9px !important; }
}

/* Force Divi Theme Builder footer containers to full width */
.et_pb_theme_builder_footer .et_pb_row,
.et_pb_theme_builder_footer .et_pb_row_inner{
  width: 100% !important;
  max-width: 100% !important;
}
.et_pb_theme_builder_footer .et_pb_section{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Keep Vituity footer centered with the correct interior max width */
.vituity-footer .mainFooter-container{
  max-width: 1440px;
  margin: 0 auto;
}

/* =================================================
   Footer typography — SINGLE SOURCE OF TRUTH
   (ported from parent master stylesheet)
   ================================================= */

.vituity-footer .footer-basetica-medium-16{
  font-family:'Basetica';
  font-weight:500;
  font-size:16px;
  line-height:22px;
  color:#000000;
}

.vituity-footer .footer-basetica-regular-16{
  font-family:'Basetica';
  font-weight:400;
  font-size:16px;
  line-height:22px;
  color:#000000;
}

.vituity-footer .footer-textLink{
  font-family:'Basetica';
  font-weight:400;
  font-size:10px;
  line-height:14px;
  color:#666363;
  text-align:center;
}

.vituity-footer .footer-link{
  font-family:'Basetica';
  font-weight:400;
  font-size:10px;
  line-height:14px;
  letter-spacing:0.2em;
  text-decoration:none;
  color:#666363;
}

.vituity-footer .footer-mobile-link-first{
  font-family:'Basetica';
  font-weight:400;
  font-size:9px;
  line-height:12px;
  letter-spacing:0.2em;
  color:#524e4e;
  text-decoration:none;
  margin-right:8px;
  margin-left:12px;
}

.vituity-footer .footer-mobile-link-second{
  font-family:'Basetica';
  font-weight:400;
  font-size:9px;
  line-height:12px;
  letter-spacing:0.2em;
  color:#666363;
  text-decoration:none;
  margin-right:8px;
}

/* =========================================
   Footer legal links — NOT ad hoc
   One system: links + separators control spacing
   ========================================= */

/* Desktop legal line layout */
.vituity-footer .text-link .footer-legal-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  row-gap:8px;
}

/* Desktop separator */
.vituity-footer .text-link .footer-bar{
  font-size:12px;
  line-height:14px;
  color:#D6D4D0;
  margin:0 8px;
  display:inline-block;
}

/* Ensure links don't add their own spacing */
.vituity-footer .text-link .footer-link{
  margin:0;
  padding:0;
  display:inline-block;
}

/* Desktop copyright styling (matches live intent) */
.vituity-footer .text-link .footer-copyright span{
  font-size:10px;
  font-family:'Montserrat';
  letter-spacing:0;
  margin-left:16px;
  display:inline-block;
  margin-top: 12px;
}

/* Mobile legal rows */
.vituity-footer .text-link-mobile .footer-mobile-row{
  text-align:center;
  padding-bottom:8px;
}

/* Mobile separator */
.vituity-footer .text-link-mobile .footer-bar{
  font-size:10px !important;
  line-height:12px;
  color:#D6D4D0;
  margin:0 8px;
  display:inline-block;
}

/* Mobile links: no random left margin — bars control spacing */
.vituity-footer .text-link-mobile .footer-mobile-link-first{
  margin:0;
  padding:0;
}

.vituity-footer .neutral-cool-900  { color:#333331; }
.vituity-footer .neutral-cool-1000 { color:#141414; }

/* ===========================
   Footer social icon lock
   =========================== */

.vituity-footer .all-social img{
  width: 29px;
  height: 28px;
  max-width: 29px;
  max-height: 28px;
  object-fit: contain;
  flex-shrink: 0;
}