.fizz-layout-1-col-narrow-header-footer {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas: 
    "header"
    "main"
    "footer";
  background-color: $color-background-surface;
}

.fizz-layout-1-col-narrow-header-footer [data-grid-area="header"] {
  grid-area: header;
  background-color: $color-background-surface;
  position: sticky;
  top: 0;
  display: grid;
  grid-template-columns: 1fr minmax(0, $one-col-max-width) 1fr;
  grid-template-rows: 1fr 1fr;
  
  > :nth-child(1), 
  > :nth-child(3) {
    padding: $spacing-16;
  }

  > :nth-child(3) {
    grid-column-start: 3;
    grid-column-end: -1;
    align-self: center;
  }

  > :nth-child(2) {
    grid-row-start: 2;
    grid-column-start: 1;
    grid-column-end: -1;
    border-top: $border-width-thin solid $color-border-default;
    padding: $spacing-16;

    > * {
      max-width: $one-col-max-width;
      margin: 0 auto;
    }
  }

}

.fizz-layout-1-col-narrow-header-footer [data-grid-area="main"] {
  grid-area: main;
  width: 100%;
  max-width: $one-col-max-width;
  margin: 0 auto;
  padding: $spacing-16;
}

.fizz-layout-1-col-narrow-header-footer [data-grid-area="footer"] {
  grid-area: footer;
  background-color: $color-background-surface;
  padding: $spacing-24;
  border-top: $border-width-thin solid $color-border-default;
  position: sticky;
  bottom: 0;
}

@media (min-width: $breakpoint-l) {
  .fizz-layout-1-col-narrow-header-footer [data-grid-area="header"] {
    grid-template-columns: min(1fr) minmax(0, $one-col-max-width) min(1fr);
    grid-template-rows: auto;
    gap: $spacing-16;
    align-items: center;
    border-bottom: $border-width-thin solid $color-border-default;  

    > :nth-child(1), 
    > :nth-child(3) {
      padding: $spacing-24;
    }

    > :nth-child(2) {
      min-width: 0;
      grid-row-start: 1;
      grid-column-start: 2;
      grid-column-end: 3;
      border-top: none;
      padding: $spacing-24 0;
    }
  }

}