/* ==========================================================
   Smiles To Miles — CENTRAL PREMIUM FOOTER V6.7
   Brand: Grey + Orange
   Branding lock-up: Logo + Smiles To Miles
   Legal copyright: Smiles To Miles Vacations Private Limited
   ========================================================== */

body .stm-site-footer{
  --sf-orange:#f79400;
  --sf-orange-dark:#df7900;
  --sf-bg-1:#56565b;
  --sf-bg-2:#45454a;
  --sf-bg-3:#323236;
  --sf-white:#ffffff;
  --sf-text:#d7d7da;
  --sf-muted:#aaaab0;
  --sf-line:rgba(255,255,255,.10);

  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:74px 0 0!important;
  overflow:hidden!important;
  color:var(--sf-text)!important;
  background:
    radial-gradient(circle at 6% 7%,rgba(247,148,0,.10),transparent 23%),
    radial-gradient(circle at 96% 0%,rgba(247,148,0,.08),transparent 22%),
    linear-gradient(135deg,var(--sf-bg-1) 0%,var(--sf-bg-2) 52%,var(--sf-bg-3) 100%)!important;
  border-top:1px solid rgba(247,148,0,.45)!important;
  font-family:"Poppins",Arial,sans-serif!important;
}

body .stm-site-footer *,
body .stm-site-footer *::before,
body .stm-site-footer *::after{
  box-sizing:border-box!important;
}

body .stm-site-footer .container{
  width:min(1440px,calc(100% - 64px))!important;
  max-width:1440px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

.stm-footer-glow{
  position:absolute!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
.stm-footer-glow-one{
  width:360px!important;height:360px!important;
  right:-155px!important;top:-165px!important;
  background:rgba(247,148,0,.07)!important;
}
.stm-footer-glow-two{
  width:420px!important;height:420px!important;
  left:-210px!important;bottom:-220px!important;
  background:rgba(255,255,255,.025)!important;
}

/* ---------- MAIN LAYOUT ---------- */

body .stm-site-footer .stm-footer-main{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1.42fr) minmax(145px,.72fr) minmax(170px,.82fr) minmax(190px,.90fr) minmax(300px,1.30fr)!important;
  gap:42px!important;
  align-items:start!important;
}

/* ---------- BRAND LOCK-UP ---------- */

body .stm-site-footer .stm-footer-brand-panel{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0 14px 0 0!important;
}

body .stm-site-footer .stm-footer-brand-lockup{
  display:grid!important;
  grid-template-columns:74px max-content!important;
  align-items:center!important;
  justify-content:start!important;
  column-gap:14px!important;

  width:max-content!important;
  max-width:100%!important;
  min-height:74px!important;

  margin:0!important;
  padding:0!important;

  color:var(--sf-white)!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

body .stm-site-footer .stm-footer-brand-lockup img{
  display:block!important;
  width:74px!important;
  height:74px!important;
  max-width:74px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  align-self:center!important;
}

body .stm-site-footer .stm-footer-brand-name{
  display:block!important;
  width:max-content!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;

  color:var(--sf-orange)!important;
  font-family:"Shrikhand",cursive!important;
  font-size:1.78rem!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:0!important;

  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;

  align-self:center!important;
  transform:none!important;
}

body .stm-site-footer .stm-footer-tagline{
  max-width:385px!important;
  margin:29px 0 10px!important;
  padding:0!important;
  color:#fff!important;
  font-size:.82rem!important;
  font-weight:750!important;
  line-height:1.58!important;
}

body .stm-site-footer .stm-footer-about{
  max-width:390px!important;
  margin:0!important;
  padding:0!important;
  color:#c8c8cc!important;
  font-size:.69rem!important;
  font-weight:400!important;
  line-height:1.88!important;
}

body .stm-site-footer .stm-footer-socials{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  margin:21px 0 0!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-socials a{
  display:grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;

  color:#fff!important;
  background:rgba(255,255,255,.05)!important;
  border:1px solid rgba(255,255,255,.17)!important;
  border-radius:50%!important;
  text-decoration:none!important;
}

body .stm-site-footer .stm-footer-socials a:hover{
  color:#fff!important;
  background:var(--sf-orange)!important;
  border-color:var(--sf-orange)!important;
  transform:translateY(-2px)!important;
}

/* ---------- LINK COLUMNS ---------- */

body .stm-site-footer .stm-footer-column{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  margin:0!important;
  padding:4px 0 0!important;
}

body .stm-site-footer .stm-footer-column h3{
  position:relative!important;
  display:block!important;
  margin:0 0 25px!important;
  padding:0!important;

  color:#fff!important;
  background:none!important;

  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

body .stm-site-footer .stm-footer-column h3::after{
  content:""!important;
  display:block!important;
  width:30px!important;
  height:2px!important;
  margin-top:10px!important;
  border-radius:3px!important;
  background:var(--sf-orange)!important;
}

body .stm-site-footer .stm-footer-column>a:not(.stm-footer-cta){
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 11px!important;
  padding:0!important;

  color:#d1d1d4!important;
  background:none!important;
  border:0!important;

  font-size:.66rem!important;
  font-weight:500!important;
  line-height:1.46!important;
  text-decoration:none!important;
}

body .stm-site-footer .stm-footer-column>a:not(.stm-footer-cta):hover{
  color:#fff!important;
  transform:translateX(3px)!important;
}

/* ---------- CONTACT ---------- */

body .stm-site-footer .stm-footer-contact-item{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:start!important;
  margin:0 0 17px!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-contact-item>i{
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;

  color:var(--sf-orange)!important;
  background:rgba(247,148,0,.14)!important;
  border:1px solid rgba(247,148,0,.09)!important;
  border-radius:11px!important;
  font-size:.80rem!important;
}

body .stm-site-footer .stm-footer-contact-item>div{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-contact-item small{
  display:block!important;
  margin:1px 0 4px!important;
  padding:0!important;

  color:#aaaab0!important;
  font-size:.49rem!important;
  font-weight:850!important;
  line-height:1.3!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}

body .stm-site-footer .stm-footer-contact-item span,
body .stm-site-footer .stm-footer-contact-item a{
  display:block!important;
  margin:0 0 2px!important;
  padding:0!important;

  color:#ececee!important;
  background:none!important;
  border:0!important;

  font-size:.62rem!important;
  font-weight:500!important;
  line-height:1.62!important;
  text-decoration:none!important;

  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

body .stm-site-footer .stm-footer-contact-item a:hover{
  color:#fff!important;
}

body .stm-site-footer .stm-footer-cta{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;

  width:max-content!important;
  min-height:48px!important;
  margin:7px 0 0!important;
  padding:0 18px!important;

  color:#fff!important;
  background:linear-gradient(135deg,var(--sf-orange),#ff9f25)!important;
  border:1px solid var(--sf-orange)!important;
  border-radius:13px!important;

  font-size:.66rem!important;
  font-weight:900!important;
  text-decoration:none!important;
  box-shadow:0 12px 28px rgba(247,148,0,.18)!important;
}

body .stm-site-footer .stm-footer-cta:hover{
  background:var(--sf-orange-dark)!important;
  border-color:var(--sf-orange-dark)!important;
  transform:translateY(-2px)!important;
}

/* ---------- TRUST + PAYMENT BAND ---------- */

body .stm-site-footer .stm-footer-assurance{
  position:relative!important;
  z-index:2!important;
  margin-top:58px!important;
  padding:0!important;
  border-top:1px solid var(--sf-line)!important;
}

body .stm-site-footer .stm-footer-trust{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid var(--sf-line)!important;
}

body .stm-site-footer .stm-footer-trust>div{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
  min-height:82px!important;

  margin:0!important;
  padding:18px 20px!important;
  border-right:1px solid var(--sf-line)!important;
}

body .stm-site-footer .stm-footer-trust>div:last-child{
  border-right:0!important;
}

body .stm-site-footer .stm-footer-trust i{
  margin:0!important;
  color:var(--sf-orange)!important;
  font-size:1rem!important;
  text-align:center!important;
}

body .stm-site-footer .stm-footer-trust span{
  display:flex!important;
  flex-direction:column!important;
  margin:0!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-trust strong{
  margin:0!important;
  color:#fff!important;
  font-size:.65rem!important;
  font-weight:800!important;
  line-height:1.35!important;
}

body .stm-site-footer .stm-footer-trust small{
  margin:4px 0 0!important;
  color:#aaaab0!important;
  font-size:.50rem!important;
  font-weight:500!important;
  line-height:1.35!important;
}

body .stm-site-footer .stm-footer-payments{
  display:grid!important;
  grid-template-columns:minmax(220px,.8fr) minmax(0,2.2fr)!important;
  gap:24px!important;
  align-items:center!important;

  width:100%!important;
  min-height:92px!important;
  margin:0!important;
  padding:19px 20px!important;

  background:rgba(255,255,255,.025)!important;
  border-bottom:1px solid var(--sf-line)!important;
}

body .stm-site-footer .stm-footer-payments-title{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:11px!important;
  align-items:center!important;
}

body .stm-site-footer .stm-footer-payments-title>i{
  display:grid!important;
  place-items:center!important;
  width:38px!important;
  height:38px!important;
  border-radius:11px!important;
  background:rgba(247,148,0,.14)!important;
  color:var(--sf-orange)!important;
}

body .stm-site-footer .stm-footer-payments-title span{
  display:flex!important;
  flex-direction:column!important;
}

body .stm-site-footer .stm-footer-payments-title strong{
  color:#fff!important;
  font-size:.66rem!important;
  font-weight:850!important;
}

body .stm-site-footer .stm-footer-payments-title small{
  margin-top:3px!important;
  color:#aaaab0!important;
  font-size:.50rem!important;
}

body .stm-site-footer .stm-payment-badges{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:9px!important;
}

body .stm-site-footer .stm-payment-badges span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;

  min-height:38px!important;
  padding:0 12px!important;

  color:#ececee!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:11px!important;

  font-size:.57rem!important;
  font-weight:750!important;
  line-height:1!important;
  white-space:nowrap!important;
}

body .stm-site-footer .stm-payment-badges span i{
  color:var(--sf-orange)!important;
  font-size:.76rem!important;
}

/* ---------- BOTTOM LEGAL BAR ---------- */

body .stm-site-footer .stm-footer-bottom{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:rgba(22,22,24,.42)!important;
}

body .stm-site-footer .stm-footer-bottom>.container{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  min-height:70px!important;
  margin:auto!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-bottom p{
  margin:0!important;
  padding:0!important;
  color:#b7b7bc!important;
  font-size:.58rem!important;
  font-weight:550!important;
  line-height:1.5!important;
}

body .stm-site-footer .stm-footer-bottom-links{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:17px!important;
  margin:0!important;
  padding:0!important;
}

body .stm-site-footer .stm-footer-bottom-links a{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;

  color:#d0d0d3!important;
  background:none!important;
  border:0!important;

  font-size:.57rem!important;
  font-weight:750!important;
  text-decoration:none!important;
}

body .stm-site-footer .stm-footer-bottom-links a:hover{
  color:#fff!important;
}

/* Stop legacy footer/bootstrap rules bleeding into the central footer */
body .stm-site-footer p,
body .stm-site-footer a,
body .stm-site-footer span,
body .stm-site-footer strong,
body .stm-site-footer small,
body .stm-site-footer nav,
body .stm-site-footer section{
  float:none!important;
}

body .stm-site-footer ul,
body .stm-site-footer li{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1220px){
  body .stm-site-footer .stm-footer-main{
    grid-template-columns:minmax(300px,1.3fr) repeat(2,minmax(170px,1fr))!important;
    gap:36px!important;
  }

  body .stm-site-footer .stm-footer-contact{
    grid-column:2 / 4!important;
  }
}

@media(max-width:850px){
  body .stm-site-footer{
    padding-top:60px!important;
  }

  body .stm-site-footer .container{
    width:min(100% - 36px,1440px)!important;
  }

  body .stm-site-footer .stm-footer-main{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:32px 25px!important;
  }

  body .stm-site-footer .stm-footer-brand-panel{
    grid-column:1 / -1!important;
    padding-right:0!important;
  }

  body .stm-site-footer .stm-footer-contact{
    grid-column:auto!important;
  }

  body .stm-site-footer .stm-footer-trust{
    grid-template-columns:repeat(2,1fr)!important;
  }

  body .stm-site-footer .stm-footer-trust>div:nth-child(2){
    border-right:0!important;
  }

  body .stm-site-footer .stm-footer-trust>div:nth-child(-n+2){
    border-bottom:1px solid var(--sf-line)!important;
  }

  body .stm-site-footer .stm-footer-payments{
    grid-template-columns:1fr!important;
  }

  body .stm-site-footer .stm-payment-badges{
    justify-content:flex-start!important;
  }
}

@media(max-width:560px){
  body .stm-site-footer{
    padding-top:52px!important;
  }

  body .stm-site-footer .container{
    width:min(100% - 30px,1440px)!important;
  }

  body .stm-site-footer .stm-footer-main{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }

  body .stm-site-footer .stm-footer-brand-panel{
    grid-column:auto!important;
  }

  body .stm-site-footer .stm-footer-brand-lockup{
    grid-template-columns:58px max-content!important;
    column-gap:10px!important;
    min-height:58px!important;
  }

  body .stm-site-footer .stm-footer-brand-lockup img{
    width:58px!important;
    height:58px!important;
    max-width:58px!important;
  }

  body .stm-site-footer .stm-footer-brand-name{
    font-size:1.38rem!important;
  }

  body .stm-site-footer .stm-footer-trust{
    grid-template-columns:1fr!important;
  }

  body .stm-site-footer .stm-footer-trust>div{
    border-right:0!important;
    border-bottom:1px solid var(--sf-line)!important;
  }

  body .stm-site-footer .stm-footer-trust>div:last-child{
    border-bottom:0!important;
  }

  body .stm-site-footer .stm-payment-badges{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  body .stm-site-footer .stm-payment-badges span{
    width:100%!important;
  }

  body .stm-site-footer .stm-footer-bottom>.container{
    min-height:0!important;
    padding-top:20px!important;
    padding-bottom:20px!important;
    flex-direction:column!important;
    align-items:flex-start!important;
  }
}

@media(max-width:390px){
  body .stm-site-footer .stm-footer-brand-lockup{
    grid-template-columns:50px max-content!important;
    column-gap:8px!important;
    min-height:50px!important;
  }

  body .stm-site-footer .stm-footer-brand-lockup img{
    width:50px!important;
    height:50px!important;
    max-width:50px!important;
  }

  body .stm-site-footer .stm-footer-brand-name{
    font-size:1.18rem!important;
  }

  body .stm-site-footer .stm-payment-badges{
    grid-template-columns:1fr!important;
  }
}
