/* Shared footer sizing replaces the old fixed, viewport-dependent offsets. */
footer .footertartalom {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
  width: calc(100% - 2rem);
  max-width: 1200px;
  box-sizing: border-box;
  margin: 0 auto !important;
  padding: 2.5rem 1rem !important;
}
footer .footertartalom > .footerelso,
footer .footertartalom > .linkdiv,
footer .footertartalom > .listadiv {
  width: auto !important;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
}
footer .footertartalom p { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
footer .footertartalom .listadiv { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: .4rem; }
footer .listadiv p { margin: 0 !important; }
footer .listadiv .footerlink {
  display: inline-block;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 1rem;
  line-height: 1.6;
}
footer .footerfelso, footer .footeralso { max-width: 100%; }
@media (max-width: 991px) {
  footer .footertartalom { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  footer .footertartalom > .listadiv { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1rem; }
}
@media (max-width: 575px) {
  footer .footertartalom { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding: 1.5rem .5rem !important; }
  footer .footertartalom > .listadiv { grid-template-columns: minmax(0, 1fr); }
}
