:root{
  --ks-footer-bg:#020617;
  --ks-footer-border:#1f2933;
  --ks-footer-text:#e5e7eb;
  --ks-footer-muted:#9ca3af;
  --ks-footer-accent:#fbbf24;
}

/* Hide blue header contact strip (phone, email, Schedule CTA) */
.header-top{
  display:none !important;
}

/* Scroll-up button: only show when explicitly activated near footer */
.scroll-up-button{
  opacity:0 !important;
  pointer-events:none !important;
}

.scroll-up-button.visible.scroll-up-footer-active{
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Hide old React footer rendered inside #root */
#root .footer{
  display:none !important;
}

.site-footer{
  margin-top:40px;
  background:var(--ks-footer-bg);
  color:var(--ks-footer-text);
  font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  border-top:1px solid rgba(148,163,184,0.35);
}

.site-footer__inner{
  max-width:1200px;
  margin:0 auto;
  padding:40px 24px 28px;
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1.3fr) minmax(0,1.2fr) minmax(260px,1fr);
  gap:32px;
}

.site-footer__col{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.site-footer__brand{
  gap:16px;
}

.site-footer__logo-block{
  display:flex;
  align-items:center;
  gap:14px;
}

.site-footer__logo{
  width:48px;
  height:48px;
  border-radius:10px;
  object-fit:cover;
  box-shadow:0 10px 25px rgba(15,23,42,0.85);
}

.site-footer__brand-text{
  display:flex;
  flex-direction:column;
}

.site-footer__brand-name{
  font-size:1.1rem;
  font-weight:600;
  color:#f9fafb;
}

.site-footer__brand-tagline{
  font-size:0.8rem;
  color:var(--ks-footer-accent);
}

.site-footer__intro{
  margin:4px 0 0;
  font-size:0.9rem;
  line-height:1.7;
  color:var(--ks-footer-muted);
  max-width:420px;
}

.site-footer__title{
  font-size:0.95rem;
  text-transform:none;
  letter-spacing:0.02em;
  font-weight:600;
  color:var(--ks-footer-accent);
  margin:0 0 6px;
}

.site-footer__list{
  list-style:none;
  margin:0;
  padding:0;
  font-size:0.9rem;
  color:var(--ks-footer-text);
}

.site-footer__hours-list li{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-bottom:8px;
}

.site-footer__hours-list li div:first-child{
  font-weight:500;
}

.site-footer__list--two-col .site-footer__row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:6px;
}

.site-footer__row dt{
  font-weight:500;
}

.site-footer__row dd{
  margin:0;
  color:var(--ks-footer-text);
}

.site-footer__link{
  display:inline-flex;
  align-items:flex-start;
  gap:8px;
  flex-wrap:nowrap;
  max-width:100%;
  color:var(--ks-footer-text);
  text-decoration:none;
  transition:color 0.2s ease;
}

.site-footer__link:hover{
  color:var(--ks-footer-accent);
}

.site-footer__icon{
  width:16px;
  height:16px;
  flex-shrink:0;
  margin-top:2px;
  color:var(--ks-footer-accent);
}

.site-footer__icon svg{
  width:100%;
  height:100%;
  display:block;
}

.site-footer__email{
  word-break:break-word;
  overflow-wrap:break-word;
}

.site-footer__address{
  color:var(--ks-footer-text);
  line-height:1.6;
}

.site-footer__address-row{
  display:flex;
  align-items:flex-start;
  gap:8px;
}

.site-footer__col--map{
  justify-self:end;
}

.site-footer__col--contact{
  margin-left:-8px;
}

.site-footer__col--map{
  justify-self:end;
}

.site-footer__map{
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(15,23,42,0.85);
}

.site-footer__map iframe{
  width:100%;
  height:160px;
  border:0;
}

.site-footer__bottom{
  border-top:1px solid rgba(148,163,184,0.35);
  padding:12px 24px 18px;
  max-width:1200px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 18px;
  font-size:0.82rem;
  color:var(--ks-footer-muted);
}

.site-footer__copy{
  margin:0;
}

.site-footer__meta{
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.site-footer__meta span{
  position:relative;
}

.site-footer__meta span+span::before{
  content:"";
  position:absolute;
  left:-7px;
  top:50%;
  width:1px;
  height:12px;
  background:rgba(148,163,184,0.65);
  transform:translateY(-50%);
}

.site-footer__credit{
  color:var(--ks-footer-accent);
  font-weight:500;
}

@media (max-width:1024px){
  .site-footer__inner{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
  }
}

@media (max-width:768px){
  .site-footer__inner{
    grid-template-columns:minmax(0,1fr);
    padding:28px 20px 20px;
  }

  .site-footer__bottom{
    flex-direction:column;
    align-items:flex-start;
    padding-inline:20px;
  }
}
