/* V117 / V6 final layout corrections */

/* ---------- Global footer: stable grid and legal row ---------- */
.site-footer{
  width:100%!important;
  margin-top:auto!important;
  padding:64px 0 0!important;
  background:#020711!important;
  color:#fff!important;
  overflow:hidden!important;
}
.site-footer>.container{
  width:min(1180px,calc(100% - 48px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:0!important;
}
.site-footer .footer-top{
  display:grid!important;
  grid-template-columns:minmax(300px,1.25fr) minmax(180px,.55fr) minmax(320px,1fr)!important;
  gap:clamp(34px,5vw,72px)!important;
  align-items:start!important;
  width:100%!important;
  padding:0 0 46px!important;
}
.site-footer .footer-top>*{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
}
.site-footer .footer-brand{
  display:block!important;
  padding:0!important;
}
.site-footer .footer-brand .brand{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
}
.site-footer .footer-brand .brand-logo{
  display:block!important;
  width:auto!important;
  max-width:190px!important;
  height:auto!important;
  max-height:82px!important;
  object-fit:contain!important;
}
.site-footer .footer-brand p{
  max-width:440px!important;
  margin:20px 0 0!important;
  color:#aebed0!important;
  font-size:.93rem!important;
  line-height:1.75!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.site-footer .footer-col{
  display:block!important;
  min-width:0!important;
}
.site-footer .footer-col h4{
  margin:0 0 18px!important;
  color:#8296ad!important;
  font-size:.68rem!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.site-footer .footer-links{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:11px!important;
  width:100%!important;
}
.site-footer .footer-links a{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  padding:0!important;
  color:#d9e7f5!important;
  font-size:.86rem!important;
  line-height:1.4!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.site-footer .contact-line{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:14px 0!important;
  border-bottom:1px solid rgba(184,211,236,.2)!important;
}
.site-footer .contact-line span{
  display:block!important;
  margin-bottom:7px!important;
  color:#8296ad!important;
  font-size:.63rem!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
.site-footer .contact-line strong,
.site-footer .contact-line a{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  color:#fff!important;
  font-size:.9rem!important;
  font-weight:650!important;
  line-height:1.55!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
.site-footer .contact-line a[href^="mailto:"]{
  white-space:nowrap!important;
  font-size:clamp(.76rem,1vw,.9rem)!important;
}
.site-footer .footer-bottom{
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:28px!important;
  width:100%!important;
  padding:22px 0 26px!important;
  border-top:1px solid rgba(184,211,236,.2)!important;
  color:#8296ad!important;
  font-size:.72rem!important;
  text-align:left!important;
}
.site-footer .footer-bottom>span{
  display:block!important;
  width:auto!important;
  margin:0!important;
  text-align:left!important;
  white-space:nowrap!important;
}
.site-footer .footer-legal{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:24px!important;
  width:auto!important;
  margin-left:auto!important;
  text-align:right!important;
}
.site-footer .footer-legal a{
  color:#b9d7f2!important;
  white-space:nowrap!important;
}

/* ---------- Homepage hero benefit strip ---------- */
.hero-strip{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  padding-inline:4vw!important;
}
.hero-strip span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 20px!important;
  text-align:center!important;
}
.hero-strip span:first-child{padding-left:20px!important}
.hero-strip span:last-child{border-right:0!important}

/* ---------- £149 package final CTA contrast ---------- */
.v109-final{
  background:radial-gradient(circle at 88% 30%,rgba(58,142,247,.42),transparent 31%),#082a55!important;
  color:#fff!important;
}
.v109-final .v109-kicker{
  color:#9fd4ff!important;
  opacity:1!important;
}
.v109-final h2{
  color:#fff!important;
  opacity:1!important;
}
.v109-final p{
  color:#d7e8f8!important;
  opacity:1!important;
}
.v109-final .btn-primary{
  background:linear-gradient(120deg,#0d7ee8,#0758af)!important;
  color:#fff!important;
  border-color:transparent!important;
}

@media(max-width:980px){
  .site-footer>.container{width:min(100% - 36px,1180px)!important}
  .site-footer .footer-top{
    grid-template-columns:minmax(0,1.15fr) minmax(170px,.7fr)!important;
    gap:38px!important;
  }
  .site-footer .footer-brand{grid-column:1/-1!important}
  .site-footer .footer-brand p{max-width:620px!important}
}
@media(max-width:760px){
  .hero-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    height:auto!important;
    gap:0!important;
    padding:10px 16px!important;
  }
  .hero-strip span{
    min-height:38px!important;
    padding:7px 10px!important;
    border-right:0!important;
    font-size:.69rem!important;
  }
  .site-footer{padding-top:48px!important}
  .site-footer .footer-top{
    grid-template-columns:1fr!important;
    gap:30px!important;
    padding-bottom:34px!important;
  }
  .site-footer .footer-brand{grid-column:auto!important}
  .site-footer .contact-line a[href^="mailto:"]{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .site-footer .footer-bottom{
    flex-wrap:wrap!important;
    gap:12px 24px!important;
  }
  .site-footer .footer-bottom>span{white-space:normal!important}
}
@media(max-width:540px){
  .site-footer>.container{width:min(100% - 28px,1180px)!important}
  .site-footer .footer-bottom{
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left!important;
  }
  .site-footer .footer-legal{
    justify-content:flex-start!important;
    margin-left:0!important;
    text-align:left!important;
    gap:16px!important;
  }
}
