/* ===== Thousand Oaks Facial Spa – Footer Styles ===== */
:root{
  --tofs-ink:#1f2a2e;          /* deep slate text */
  --tofs-teal:#0c8a7f;         /* brand teal */
  --tofs-teal-600:#0b7b72;
  --tofs-sand:#f6f4f1;         /* warm background */
  --tofs-stone:#e8e5e1;        /* subtle borders */
}
.tofs-footer{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--tofs-sand);
  color:var(--tofs-ink);
  border-top:1px solid var(--tofs-stone);
}
.tofs-wrap{
  max-width:1200px; margin:0 auto; padding:36px 20px;
  display:grid; gap:28px; grid-template-columns:1.2fr 1fr 1fr 1fr;
}
.tofs-brand h3{ margin:0 0 8px; font-size:1.35rem; letter-spacing:.3px; color:var(--tofs-teal); }
.tofs-tagline{ margin:6px 0 16px; font-size:.95rem; color:#3a4447; }
.tofs-address a, .tofs-links a, .tofs-contact a{ color:var(--tofs-ink); text-decoration:none; }
.tofs-address a:hover, .tofs-links a:hover, .tofs-contact a:hover{ color:var(--tofs-teal); }
.tofs-btn{
  display:inline-block; background:var(--tofs-teal); color:#fff;
  padding:10px 14px; border-radius:10px; font-weight:600; text-decoration:none;
  transition:.2s ease; box-shadow:0 2px 0 rgba(12,138,127,.25);
}
.tofs-btn:hover{ background:var(--tofs-teal-600); transform:translateY(-1px); }
.tofs-section h4{
  margin:0 0 10px; font-size:1.05rem; color:#2b363a;
  border-bottom:1px solid var(--tofs-stone); padding-bottom:6px;
}
.tofs-links ul, .tofs-hours ul{ list-style:none; padding:0; margin:0; }
.tofs-links li, .tofs-hours li{ margin:8px 0; }

/* Socials */
.tofs-social{ display:flex; gap:12px; margin-top:10px; }
.tofs-social a{
  width:34px; height:34px; display:inline-grid; place-items:center;
  border-radius:50%; background:#fff; border:1px solid var(--tofs-stone);
  transition:.2s; color:var(--tofs-ink);
}
.tofs-social a:hover{ border-color:var(--tofs-teal); color:var(--tofs-teal); }
.tofs-social svg{ width:18px; height:18px; }

/* Bottom bar */
.tofs-bottom{ border-top:1px solid var(--tofs-stone); padding:12px 20px; font-size:.85rem; color:#5a6366; }
.tofs-bottom .tofs-bottom-wrap{
  max-width:1200px; margin:0 auto; display:flex; gap:10px; flex-wrap:wrap;
  align-items:center; justify-content:space-between;
}

/* Responsive */
@media (max-width:980px){ .tofs-wrap{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .tofs-wrap{ grid-template-columns:1fr; } }
