/* ============================================================
   footer.css – Sanitär Löffler
   Styles nur für den Footer
   ============================================================ */

.sl-footer {
  background: var(--anthrazit);
  color: rgba(255,255,255,.78);
  font-family: var(--font-body);
}

/* Farbbalken oben */
.sl-footer-wave {
  height: 5px;
  background: linear-gradient(90deg, var(--blau-dunkel), var(--orange), var(--rot), var(--blau-hell));
}

.sl-footer-main { padding: 3.5rem 0 2rem; }

/* Grid */
.sl-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1.3fr 1.3fr 1.4fr;
  gap: 2.5rem;
}

/* Spalte 1: Firma */
.sl-footer-brand img {
  height: 70px;
  width: auto;
  background: rgba(255,255,255,.08);
  border-radius: var(--radius-sm);
  padding: .4rem .6rem;
  margin-bottom: 1rem;
}
.sl-footer-brand p {
  font-size: .9rem;
  line-height: 1.65;
  margin-bottom: 1.2rem;
  color: rgba(255,255,255,.68);
}

/* Social Icons */
.sl-footer-social {
  display: flex;
  gap: .65rem;
}
.sl-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  background: rgba(255,255,255,.1);
  border-radius: 50%;
  color: var(--weiss);
  transition: background var(--transition), transform var(--transition);
}
.sl-footer-social a:hover {
  background: var(--orange);
  transform: translateY(-3px);
}
.sl-footer-social svg {
  width: 18px; height: 18px;
  fill: var(--weiss);
}

/* Spalten-Titel */
.sl-footer h4 {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--weiss);
  letter-spacing: .8px;
  text-transform: uppercase;
  margin-bottom: 1.2rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--orange);
  display: inline-block;
}

/* Spalte 2: Links */
.sl-footer-links ul {
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.sl-footer-links ul li a {
  color: rgba(255,255,255,.72);
  font-size: .9rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  transition: color var(--transition), padding-left var(--transition);
}
.sl-footer-links ul li a::before {
  content: '';
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--orange);
  flex-shrink: 0;
}
.sl-footer-links ul li a:hover {
  color: var(--orange);
  padding-left: 4px;
}

/* Spalte 3: Kontakt */
.sl-footer-kontakt ul {
  display: flex;
  flex-direction: column;
  gap: .8rem;
}
.sl-footer-kontakt ul li {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  font-size: .9rem;
  color: rgba(255,255,255,.72);
  line-height: 1.4;
}
.sl-footer-kontakt svg {
  width: 16px; height: 16px;
  fill: var(--orange);
  flex-shrink: 0;
  margin-top: 2px;
}
.sl-footer-kontakt a {
  color: rgba(255,255,255,.72);
  transition: color var(--transition);
}
.sl-footer-kontakt a:hover { color: var(--orange); }

/* Spalte 4: Öffnungszeiten */
.sl-footer-zeiten table {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
}
.sl-footer-zeiten tr td {
  padding: .35rem 0;
  color: rgba(255,255,255,.72);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.sl-footer-zeiten tr:last-child td { border-bottom: none; }
.sl-footer-zeiten tr td:first-child {
  font-weight: 600;
  color: rgba(255,255,255,.9);
  width: 55%;
}

/* Notfall-Button im Footer */
.sl-footer-notfall-btn {
  display: block;
  margin-top: 1rem;
  background: linear-gradient(135deg, var(--rot), #c0301a);
  color: var(--weiss);
  padding: .65rem 1rem;
  border-radius: var(--radius-sm);
  font-family: var(--font-head);
  font-size: .92rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: .4px;
  transition: opacity var(--transition);
}
.sl-footer-notfall-btn:hover {
  color: var(--weiss);
  opacity: .88;
}

/* Bottom Bar */
.sl-footer-bottom {
  background:#0e4e8d;
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 1rem 0;
}
.sl-footer-bottom .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem;
}
.sl-footer-bottom p {
  font-size: .82rem;
  color: rgba(255,255,255,.5);
}
.sl-footer-bottom-links {
  display: flex;
  gap: 1.2rem;
}
.sl-footer-bottom-links a {
  color: rgba(255,255,255,.5);
  font-size: .82rem;
  transition: color var(--transition);
}
.sl-footer-bottom-links a:hover { color: var(--orange); }

/* ── RESPONSIVE FOOTER ── */
@media (max-width: 900px) {
  .sl-footer-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (max-width: 560px) {
  .sl-footer-grid { grid-template-columns: 1fr; }
  .sl-footer-bottom .container { flex-direction: column; text-align: center; }
}