
/* Hub V414 — Final Footer Image + Spacing Fix
   Fixes oversized dark footer spacing, tiny/cut logo, and dark-on-dark STL text.
*/

/* Hide older footer/member bridge styles when the new footer is present. */
.hub411-footer,
.hub411-disclosure{
  display:none !important;
}

.hub414-membership-strip{
  max-width:1180px;
  margin:34px auto 0 !important;
  padding:18px 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  border-radius:28px 28px 0 0 !important;
  border:1px solid rgba(191,219,254,.85) !important;
  border-bottom:0 !important;
  background:
    radial-gradient(circle at 12% 10%,rgba(14,165,233,.16),transparent 36%),
    linear-gradient(135deg,#ffffff,#f8fbff 65%,#eef6ff) !important;
  box-shadow:0 16px 44px rgba(15,23,42,.07) !important;
}

.hub414-membership-strip span{
  display:inline-flex !important;
  margin-bottom:4px !important;
  color:#0369a1 !important;
  font-size:.76rem !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.hub414-membership-strip b{
  display:block !important;
  color:#0f172a !important;
  font-size:1rem !important;
  line-height:1.35 !important;
}

.hub414-membership-strip nav{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

.hub414-membership-strip nav a{
  display:inline-flex !important;
  min-height:38px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:linear-gradient(135deg,#0ea5e9,#2563eb) !important;
  color:#ffffff !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:0 10px 24px rgba(37,99,235,.14) !important;
}

/* Compact premium footer. */
.hub414-footer{
  max-width:1180px !important;
  margin:0 auto !important;
  padding:22px 20px !important;
  display:grid !important;
  grid-template-columns:minmax(260px,.72fr) minmax(320px,1fr) !important;
  gap:18px 26px !important;
  align-items:center !important;
  border:1px solid rgba(125,211,252,.24) !important;
  background:
    radial-gradient(circle at 14% 8%,rgba(14,165,233,.20),transparent 34%),
    radial-gradient(circle at 92% 4%,rgba(37,99,235,.14),transparent 30%),
    linear-gradient(135deg,#10233a,#07111f 72%) !important;
  box-shadow:0 18px 52px rgba(2,6,23,.18) !important;
}

.hub414-footer-main{
  display:grid !important;
  grid-template-columns:170px minmax(0,1fr) !important;
  align-items:center !important;
  gap:14px !important;
  min-width:0 !important;
}

.hub414-footer-brand{
  display:block !important;
  width:170px !important;
  max-width:170px !important;
  height:auto !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#f8fbff !important;
  border:1px solid rgba(191,219,254,.90) !important;
  box-shadow:0 12px 30px rgba(14,165,233,.14) !important;
  text-decoration:none !important;
}

.hub414-footer-brand img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#f8fbff !important;
}

.hub414-footer-main p{
  margin:0 !important;
  color:#dbeafe !important;
  line-height:1.42 !important;
  font-size:.95rem !important;
  max-width:240px !important;
}

.hub414-footer-links,
.hub414-footer-small{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  gap:8px 14px !important;
  align-items:center !important;
  min-width:0 !important;
}

.hub414-footer-links a,
.hub414-footer-small a{
  color:#dbeafe !important;
  text-decoration:none !important;
  font-weight:850 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
}

.hub414-footer-links a:hover,
.hub414-footer-small a:hover{
  color:#67e8f9 !important;
}

.hub414-footer-small{
  grid-column:1 / -1 !important;
  justify-content:center !important;
  padding-top:14px !important;
  border-top:1px solid rgba(191,219,254,.14) !important;
  opacity:.94 !important;
}

.hub414-footer-small a{
  color:#bfdbfe !important;
  font-size:.88rem !important;
}

.hub414-disclosure{
  max-width:1180px !important;
  margin:0 auto 22px !important;
  padding:12px 16px 16px !important;
  border-radius:0 0 22px 22px !important;
  background:#ffffff !important;
  border:1px solid rgba(191,219,254,.85) !important;
  border-top:0 !important;
  color:#64748b !important;
  line-height:1.48 !important;
  font-size:.9rem !important;
  box-shadow:0 12px 30px rgba(15,23,42,.06) !important;
}

.hub414-disclosure strong{
  color:#0f172a !important;
}

/* Defensive fix for any legacy footer still using .footer .logo */
.footer .logo,
.footer .logo span,
.footer .logo .blue{
  color:#ffffff !important;
  text-shadow:none !important;
}
.footer .logo img{
  width:72px !important;
  height:72px !important;
  object-fit:contain !important;
  background:#f8fbff !important;
  border-radius:16px !important;
  padding:4px !important;
}

/* Remove overly tall old dark sections before footer if they appear */
.hub144-member-bridge.dark + .hub414-footer,
.hub144-member-bridge.dark + .hub411-footer{
  margin-top:0 !important;
}

@media(max-width:900px){
  .hub414-membership-strip{
    display:block !important;
  }
  .hub414-membership-strip nav{
    margin-top:12px !important;
  }
  .hub414-footer{
    grid-template-columns:1fr !important;
  }
  .hub414-footer-main{
    grid-template-columns:150px minmax(0,1fr) !important;
  }
  .hub414-footer-brand{
    width:150px !important;
    max-width:150px !important;
  }
  .hub414-footer-links{
    justify-content:flex-start !important;
  }
}

@media(max-width:560px){
  .hub414-membership-strip{
    margin:24px 10px 0 !important;
    border-radius:22px 22px 0 0 !important;
  }
  .hub414-footer{
    margin:0 10px !important;
    padding:18px 16px !important;
    border-radius:0 !important;
  }
  .hub414-footer-main{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .hub414-footer-brand{
    width:100% !important;
    max-width:260px !important;
  }
  .hub414-footer-main p{
    max-width:none !important;
  }
  .hub414-footer-links{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }
  .hub414-footer-links a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:40px !important;
    padding:8px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.08) !important;
  }
  .hub414-footer-small{
    justify-content:flex-start !important;
  }
  .hub414-disclosure{
    margin:0 10px 18px !important;
    border-radius:0 0 18px 18px !important;
  }
}
