/**
 * D7 layout comparison.
 *
 * The existing menu and content flex-bases are deliberately retained. Only
 * their containing desktop canvas is centered. The footer follows the same
 * raster on desktop and stacks without Oliveros old black edge on mobile.
 */

/* Aufgabe 14771: Oliveros alter schwarzer content-left-Rand und sein
 * begrenzter Footer-Container passen nicht mehr zum zentrierten FPL-Raster.
 * Der Footer belegt deshalb wieder die ganze Viewportbreite. */
body.fpl-layout-compare-enabled .site-footer {
  border-inline-start: 0 !important;
  box-sizing: border-box;
  margin-inline-start: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body.fpl-layout-compare-enabled .site-footer__inner {
  box-sizing: border-box;
  margin-inline: 0;
  max-width: none;
  width: 100%;
}

@media (min-width: 1025px) {
  body.fpl-layout-compare-enabled .main-content {
    width: 100%;
    margin-inline: 0;
  }

  body.fpl-layout-compare-enabled .main-content__container {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: 0;
  }

  body.fpl-layout-compare-enabled .sidebar-grid {
    justify-content: center;
  }

  body.fpl-layout-compare-enabled .sidebar-grid > [data-region="sidebar"] {
    flex: 0 0 248px;
  }

  body.fpl-layout-compare-enabled .sidebar-grid > .site-main {
    flex: 0 0 760px;
  }

  /* Footer und Seiteninhalt verwenden dasselbe 248/760-px-Raster. */
  body.fpl-layout-compare-enabled .site-footer__inner {
    padding-inline: 0;
  }

  body.fpl-layout-compare-enabled .site-footer .region--footer-top,
  body.fpl-layout-compare-enabled .site-footer .region--footer-bottom {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: 248px 760px;
    justify-content: center;
    margin-inline: 0;
    max-width: none;
    width: 100%;
  }

  body.fpl-layout-compare-enabled .site-footer .region--footer_top__inner {
    grid-column: 1 / -1 !important;
    margin-inline: 0;
    max-width: none;
    width: 100%;
  }

  body.fpl-layout-compare-enabled
    .site-footer
    #block-fpl-olivero-footermenublock {
    box-sizing: border-box;
    flex: none !important;
    grid-column: 1;
    min-width: 0;
    width: 248px;
  }

  body.fpl-layout-compare-enabled
    .site-footer
    #block-fpl-olivero-footertextneu {
    box-sizing: border-box;
    flex: none !important;
    grid-column: 2;
    min-width: 0;
    padding-left: 0;
    width: 760px;
  }

  /*
   * On the start page, keep the menu under the beginning of the embedded
   * lettering and start the content roughly 5 mm after its visible end.
   * The asymmetric start padding moves the complete pair 22.3 px to the
   * right once enough space is available. The ordinary-page layout remains
   * unchanged. At narrow desktop widths the padding and gap contract only
   * as far as the viewport requires; both column widths remain unchanged.
   */
  body.fpl-layout-compare-enabled.path-frontpage .sidebar-grid {
    column-gap: min(80.6px, calc(100vw - 1008px));
    padding-inline-start: min(44.6px, max(0px, calc(100vw - 1088.6px)));
  }

  body.fpl-layout-compare-enabled.path-frontpage
    .site-footer
    .region--footer-top,
  body.fpl-layout-compare-enabled.path-frontpage
    .site-footer
    .region--footer-bottom {
    column-gap: min(80.6px, calc(100vw - 1008px));
    padding-inline-start: min(44.6px, max(0px, calc(100vw - 1088.6px)));
  }

  body.fpl-layout-compare-enabled:not(.path-frontpage) .sidebar-grid {
    column-gap: min(79px, calc(100vw - 1008px));
  }

  body.fpl-layout-compare-enabled:not(.path-frontpage)
    .site-footer
    .region--footer-top,
  body.fpl-layout-compare-enabled:not(.path-frontpage)
    .site-footer
    .region--footer-bottom {
    column-gap: min(79px, calc(100vw - 1008px));
  }
}

/* Am unteren Desktop-Rand füllt die 248/760-px-Gruppe den Viewport exakt aus,
 * ohne die beiden Containerbreiten anzutasten. */
@media (min-width: 1025px) and (max-width: 1043px) {
  body.fpl-layout-compare-enabled .sidebar-grid {
    column-gap: calc(100vw - 1008px);
  }

  body.fpl-layout-compare-enabled .site-footer .region--footer-top,
  body.fpl-layout-compare-enabled .site-footer .region--footer-bottom {
    column-gap: calc(100vw - 1008px);
  }
}

/* Unterhalb des zweispaltigen Layouts bleibt der Footer einspaltig und
 * nutzt ohne schwarzen Rand die verfügbare Breite. */
@media (max-width: 1024px) {
  body.fpl-layout-compare-enabled .site-footer__inner {
    padding-inline: 18px;
  }

  body.fpl-layout-compare-enabled .site-footer .region--footer-top,
  body.fpl-layout-compare-enabled .site-footer .region--footer-bottom {
    margin-inline: 0;
    max-width: none;
    width: 100%;
  }

  body.fpl-layout-compare-enabled .site-footer .region--footer_top__inner {
    grid-column: 1 / -1 !important;
    margin-inline: 0;
    max-width: none;
    width: 100%;
  }

  body.fpl-layout-compare-enabled .site-footer .region--footer-bottom {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
  }

  body.fpl-layout-compare-enabled
    .site-footer
    .region--footer-bottom
    > #block-fpl-olivero-footermenublock,
  body.fpl-layout-compare-enabled
    .site-footer
    .region--footer-bottom
    > #block-fpl-olivero-footertextneu {
    box-sizing: border-box;
    flex: 0 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body.fpl-layout-compare-enabled
    .site-footer
    #block-fpl-olivero-footertextneu {
    padding-left: 0;
  }
}
