.tmo-footer{
  --tmo-green:#69b9bd; --tmo-green-dark:#1D6D72; --tmo-green-soft:#EDFBE2;
  --tmo-ink:#0F172A; --tmo-ink-2:#1E293B; --tmo-ink-3:#0B1220;
  --tmo-fg:#E2E8F0; --tmo-fg-mute:#8393A8; --tmo-border:rgba(255,255,255,.08);
  font-family:Verdana,Helvetica,Arial,sans-serif;
  background:var(--tmo-ink);
  color:var(--tmo-fg);
  margin-top:0;
  position:relative;
}
.tmo-footer *{box-sizing:border-box}
.tmo-footer a{color:var(--tmo-fg); text-decoration:none; transition:color .15s ease}
.tmo-footer a:hover{color:var(--tmo-green)}

/* accent line */
.tmo-footer::before{
  content:""; display:block; height:5px;
  background:linear-gradient(90deg, var(--tmo-green) 0%, var(--tmo-green) 18%, transparent 55%);
}

.tmo-footer__inner{
  max-width:1280px; margin-inline:auto;
  padding:60px 20px 40px;
  display:grid; gap:40px;
  grid-template-columns:1fr;
}
@media(min-width:640px){
  .tmo-footer__inner{grid-template-columns:1fr 1fr; gap:40px 32px}
}
@media(min-width:1000px){
  .tmo-footer__inner{
    grid-template-columns:1.4fr 1fr 1fr 1.2fr;
    gap:32px;
    padding:68px 20px 44px;
  }
}

/* --- Brand column --- */
.tmo-footer__brand{display:flex; flex-direction:column; align-items:flex-start; gap:18px}
.tmo-footer__logo{
  display:inline-flex; align-items:center;
  color:#fff; margin-bottom:2px;
}
img.tmo-footer__logo-img{
  height:110px; width:auto; max-width:100%;
  display:block;
}
.tmo-footer__desc{
  margin:0; font-size:14px; line-height:1.7; color:var(--tmo-fg-mute);
  max-width:34ch;
}
.tmo-footer__social{display:flex; gap:10px; margin-top:2px}
.tmo-footer__social a{
  width:36px; height:36px; border-radius:50%;
  display:grid; place-items:center;
  background:rgba(255,255,255,.05);
  border:1px solid var(--tmo-border);
  color:var(--tmo-fg); transition:all .18s ease;
}
.tmo-footer__social a:hover{
  background:var(--tmo-green); border-color:var(--tmo-green);
  color:#fff; transform:translateY(-2px);
  box-shadow:0 8px 16px -8px rgba(84,180,53,.7);
}

/* --- Nav columns --- */
.tmo-footer__col h3{
  display:inline-flex; align-items:center; gap:8px;
  margin:0 0 18px; font-size:12.5px; font-weight:700;
  color:#fff; text-transform:uppercase; letter-spacing:.12em;
}
.tmo-footer__col h3::before{
  content:""; width:8px; height:8px; border-radius:2px;
  background:var(--tmo-green); flex:0 0 auto;
  transform:rotate(45deg);
}
.tmo-footer__col ul{
  list-style:none; padding:0; margin:0;
  display:flex; flex-direction:column; gap:11px;
  font-size:14px;
}
.tmo-footer__col li{line-height:1.4}
.tmo-footer__col > ul > li > a{
  color:var(--tmo-fg-mute); display:inline-flex; align-items:center; gap:0;
  transition:color .15s ease, gap .15s ease, padding-left .15s ease;
}
.tmo-footer__col > ul > li > a:hover{
  color:#fff; padding-left:4px;
}

/* --- Contact column --- */
.tmo-footer__contact ul{gap:16px}
.tmo-footer__contact li{
  display:flex; align-items:flex-start; gap:11px;
  color:var(--tmo-fg-mute);
}
.tmo-footer__contact li > svg{
  flex:0 0 auto; margin-top:3px; color:var(--tmo-green);
}
.tmo-footer__contact address{
  font-style:normal; color:var(--tmo-fg); font-size:14px; line-height:1.5;
}
.tmo-footer__contact a{font-size:14px; color:var(--tmo-fg)}
.tmo-footer__contact a:hover{color:var(--tmo-green)}
.tmo-footer__contact span{font-size:14px; color:var(--tmo-fg); line-height:1.5}

/* --- Trust bar --- */
.tmo-footer__trust{
  border-top:1px solid var(--tmo-border);
  border-bottom:1px solid var(--tmo-border);
  background:rgba(255,255,255,.025);
}
.tmo-footer__trust-inner{
  max-width:1280px; margin-inline:auto;
  padding:0 20px;
  display:flex; flex-wrap:wrap;
  justify-content:center; align-items:stretch;
}
.tmo-footer__trust-item{
  display:inline-flex; align-items:center; gap:9px;
  font-size:13px; font-weight:bold; color:var(--tmo-fg);
  white-space:nowrap;
  padding:16px 24px;
  border-left:1px solid var(--tmo-border);
}
.tmo-footer__trust-item:first-child{border-left:none}
.tmo-footer__trust-item svg{color:var(--tmo-green); flex:0 0 auto}

/* --- Bottom bar --- */
.tmo-footer__bottom{
  background:var(--tmo-ink-3);
}
.tmo-footer__bottom-inner{
  max-width:1280px; margin-inline:auto;
  padding:20px 20px;
  display:flex; flex-wrap:wrap; gap:12px 20px;
  justify-content:space-between; align-items:center;
}
.tmo-footer__copy{
  margin:0; font-size:12px; color:var(--tmo-fg-mute);
}
.tmo-footer__legal{
  list-style:none; padding:0; margin:0;
  display:flex; flex-wrap:wrap; gap:6px 20px;
  font-size:12px;
}
.tmo-footer__legal a{color:var(--tmo-fg-mute)}
.tmo-footer__legal a:hover{color:var(--tmo-green)}

@media(max-width:479px){
  .tmo-footer__trust-item{padding:12px 14px; font-size:12px}
}

/* --- Astra overrides --- */
.site-footer .site-primary-footer-wrap:has(.tmo-footer),
.site-footer .site-primary-footer-wrap:has(.tmo-footer) .ast-builder-grid-row-container-inner,
.site-footer .site-primary-footer-wrap:has(.tmo-footer) .site-primary-footer-inner-wrap,
.site-footer .site-primary-footer-wrap:has(.tmo-footer) .site-footer-primary-section-1{
  padding:0 !important; margin:0 !important; max-width:none !important;
}
