/* Sidfoten på alla publika sidor (templates/public/partials/site_footer.html). Samma skala som den tidigare
   sidfoten: rubriker i versaler 0.6875rem, länkar 0.8125rem. .zf .zf__… väger tyngre än startsidans gamla
   .public-home__footer-regler. Ingen rörelse. */
.zf { border-top: 1px solid #dce3dd; background: #fff; font-family: Inter, system-ui, sans-serif; }
.zf .zf__inner { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
/* Varumärket över sex kolumner (fem navsidor och Zimla AB), så att namnen ryms på en eller två rader. */
.zf .zf__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.75rem; align-items: start; padding: 3rem 0 2rem; }
.zf .zf__brand { grid-column: 1 / -1; }
.zf .zf__logo { display: inline-flex; align-items: center; gap: 9px; color: #17201b; font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em; text-decoration: none; }
.zf .zf__mark { display: grid; grid-template-columns: repeat(2, 6px); gap: 2px; }
.zf .zf__mark i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.zf .zf__mark i:last-child { background: #2fb47a; }
.zf .zf__brand p { max-width: 20rem; margin: .65rem 0 0; color: #5f6b63; font-size: .75rem; line-height: 1.55; }
/* Sociala medier (Driftcentralen): bara ikoner, 44 px träffyta, samma grå som länkarna. */
.zf .zf__social { display: flex; flex-wrap: wrap; gap: 2px; margin: .75rem 0 0 -10px; padding: 0; list-style: none; --zf-social-bg: #fff; }
.zf .zf__social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; color: #3f4a43; }
.zf .zf__social a:hover { background: #f1f4f2; color: #075f45; }
.zf .zf__social svg { width: 20px; height: 20px; }
.zf .zf__col { display: block; gap: 0; font-size: inherit; }
.zf .zf__h { margin: 0 0 .5rem; color: #3f4a43; font-size: .6875rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.zf summary.zf__h { display: block; list-style: none; cursor: default; }
.zf summary.zf__h::-webkit-details-marker { display: none; }
.zf ul { display: grid; margin: 0; padding: 0; list-style: none; }
.zf .zf__col a, .zf .zf__col span[aria-current] { display: flex; align-items: center; min-height: 2rem; padding: .2rem 0; color: #526057; font-size: .8125rem; line-height: 1.35; text-decoration: none; }
.zf .zf__col span[aria-current] { color: #17201b; font-weight: 500; }
.zf .zf__col a:hover, .zf .zf__bottom a:hover { color: #075f45; }
.zf .zf__all a, .zf .zf__all span[aria-current] { margin-top: .25rem; color: #17201b; font-weight: 500; }
/* Bolagsuppgifterna i klartext ovanför bottenraden. */
.zf .zf__company { margin: 0; padding: 1rem 0 0; border-top: 1px solid #e9eeea; color: #5f6b63; font-size: .75rem; line-height: 1.6; }
.zf .zf__company a { color: #526057; text-decoration: none; }
.zf .zf__company a:hover { color: #075f45; }
.zf .zf__company + .zf__bottom { border-top: 0; padding-top: .5rem; }
.zf .zf__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; padding: 1.25rem 0 2rem; border-top: 1px solid #e9eeea; color: #5f6b63; font-size: .75rem; }
.zf .zf__bottom nav { display: flex; flex-wrap: wrap; gap: 0 1.25rem; font-size: inherit; }
.zf .zf__bottom a { display: inline-flex; align-items: center; min-height: 2rem; color: #526057; text-decoration: none; }
@media (min-width: 768px) and (max-width: 1023px) {
  .zf .zf__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.75rem; }
  .zf .zf__brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .zf .zf__inner { width: calc(100% - 40px); }
  .zf .zf__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; padding: 2rem 0 1.25rem; }
  .zf .zf__brand { grid-column: 1 / -1; }
  /* Grupperna som rader att fälla ut: hela raden är knappen (48 px), en chevron som vrids. */
  .zf .zf__grid { grid-template-columns: 1fr; gap: 0; }
  .zf .zf__brand { margin-bottom: 1rem; }
  .zf details.zf__col { border-top: 1px solid #e9eeea; }
  .zf details.zf__col:last-of-type { border-bottom: 1px solid #e9eeea; }
  .zf summary.zf__h { display: flex; align-items: center; justify-content: space-between; min-height: 48px; margin: 0; cursor: pointer; font-size: .75rem; }
  .zf summary.zf__h::after { content: ""; width: 8px; height: 8px; margin-right: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform 150ms ease; }
  .zf details[open] > summary.zf__h::after { transform: translateY(2px) rotate(-135deg); }
  .zf details.zf__col nav { padding-bottom: .75rem; }
  .zf .zf__col a, .zf .zf__col span[aria-current] { min-height: 44px; font-size: .875rem; line-height: 1.3; border-bottom: 1px solid #e9eeea; }
  .zf .zf__col li:last-child a, .zf .zf__col li:last-child span[aria-current] { border-bottom: 0; }
  .zf .zf__bottom { flex-direction: column; align-items: flex-start; }
  .zf .zf__bottom a { min-height: 44px; font-size: .8125rem; }
}
