/* Shared footer layout, loaded after page styles. */
.site-footer .wrap {
  width: min(1280px, calc(100% - 48px));
  max-width: 1280px;
  margin-inline: auto;
}

.site-footer .f-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .65fr) minmax(0, 2fr) minmax(0, 1.15fr);
  gap: 32px;
  align-items: start;
}

.site-footer .f-grid > * {
  min-width: 0;
  order: 0;
}

.site-footer .f-range {
  grid-column: auto;
}

.site-footer .f-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: none;
  grid-auto-flow: row;
  gap: 0 24px;
  column-count: auto;
}

.site-footer .f-links a {
  display: block;
  min-width: 0;
  padding: 5px 0;
  font-size: .94rem;
  line-height: 1.5;
  white-space: normal;
  word-break: normal;
  overflow-wrap: break-word;
}

.site-footer .f-contact .row {
  min-width: 0;
  line-height: 1.6;
}

.site-footer .f-contact .row svg {
  flex-shrink: 0;
}

@media (max-width: 1100px) {
  .site-footer .f-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, .65fr) minmax(0, 1.15fr);
    gap: 32px 24px;
  }

  .site-footer .f-range {
    grid-column: 1 / -1;
    order: 1;
  }
}

@media (max-width: 760px) {
  .site-footer .wrap {
    width: calc(100% - 40px);
  }

  .site-footer .f-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .site-footer .f-range {
    grid-column: auto;
    order: 0;
  }

  .site-footer .f-links {
    gap: 0 20px;
  }

  .site-footer .f-bottom-in {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-footer .f-legal {
    flex-wrap: wrap;
  }
}

@media (max-width: 360px) {
  .site-footer .f-links {
    grid-template-columns: minmax(0, 1fr);
  }
}
