/* V49 common footer: unified to the index-page footer on every route. */
.site-footer{
  margin-top:0!important;
  padding:30px 0 46px!important;
  background:linear-gradient(180deg,#719b08,#577d02)!important;
  color:#fff!important;
}
.site-footer .container{
  width:min(1180px,calc(100vw - 32px));
  margin-inline:auto;
}
.site-footer .footer-inner{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:16px 34px!important;
  align-items:center!important;
  max-width:none!important;
  margin-inline:auto!important;
  text-align:left!important;
}
.site-footer .footer-brand{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
}
.site-footer .footer-logo-mark{
  display:block;
  width:250px!important;
  height:52px!important;
  flex:0 0 250px;
  background:url("../imgs/head3.gif") left center/auto 52px no-repeat!important;
}
.site-footer .footer-brand img{
  display:block!important;
  width:auto!important;
  height:40px!important;
  max-width:none!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  filter:none!important;
}
.site-footer .footer-contact{
  font-size:.86rem!important;
  line-height:1.65!important;
  text-align:left!important;
}
.site-footer .footer-contact p{margin:0!important}
.site-footer .footer-nav{
  grid-column:1/-1!important;
  margin:0!important;
  padding-top:14px!important;
  border-top:1px solid rgba(255,255,255,.24)!important;
  display:flex!important;
  justify-content:flex-start!important;
  gap:10px 20px!important;
  flex-wrap:wrap!important;
  font-size:.86rem!important;
  font-weight:700!important;
}
.site-footer .footer-nav a{
  padding:0!important;
  color:#fff!important;
  font-size:inherit!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.site-footer .footer-nav a:hover{text-decoration:underline!important}

/* V51: common back-to-top control on desktop and mobile. */
.to-top{
  position:fixed;
  z-index:800;
  right:20px;
  bottom:20px;
  display:block;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:50%;
  background:rgba(67,107,0,.90);
  color:#fff;
  box-shadow:0 10px 24px rgba(31,54,0,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
  opacity:0;
  transform:translateY(12px);
  pointer-events:none;
  transition:opacity .25s ease,transform .25s ease;
}
.to-top.is-show{
  opacity:1;
  transform:none;
  pointer-events:auto;
}

@media(max-width:760px){
  .site-footer{
    padding:30px 0 calc(38px + var(--mobile-dock-h,0px) + env(safe-area-inset-bottom))!important;
  }
  .site-footer .container{width:min(100% - 22px,680px)}
  .site-footer .footer-inner{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .site-footer .footer-brand{flex-wrap:wrap!important}
  .site-footer .footer-logo-mark{
    width:210px!important;
    height:44px!important;
    flex-basis:210px;
    background-size:auto 44px!important;
  }
  .site-footer .footer-brand img{height:34px!important}
  .site-footer .footer-nav{
    grid-column:auto!important;
    display:flex!important;
    gap:10px 16px!important;
    margin:0!important;
  }
  /* Keep the same floating arrow on mobile, positioned above the bottom dock. */
  .to-top{
    display:block!important;
    right:12px;
    bottom:calc(var(--mobile-dock-h,72px) + 18px + env(safe-area-inset-bottom));
    width:46px;
    height:46px;
    z-index:1150;
  }
}
@media(prefers-reduced-motion:reduce){
  .to-top{transition:none!important}
}
