body,
html {
  min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px));
}

* {
  box-sizing: border-box;
}

html[scroll-lock] {
  overflow: hidden;
}

body .wp-site-blocks {
  display: flex;
  flex-direction: column;
  min-height: calc(100svh - var(--wp-admin--admin-bar--height, 0px));

  & > footer {
    margin-top: auto;
  }

  & main > div, 
  & main > section {
    box-sizing: border-box;
  }
}

a {
  color: var(--wp--preset--color--light-primary);
  text-decoration: underline;
  transition: all 0.15s ease-in-out;

  &:hover {
    color: var(--wp--preset--color--light-green);
  }

  &:active {
    text-decoration: none;
  }

  &:focus-visible {
    outline: 1px solid var(--wp--preset--color--light-primary);
    background-color: rgb(from var(--wp--preset--color--light-primary) r g b / 0.15);
  }
}

header {
  z-index: 2;
}

footer .footer-content {
  width: 100%;
  max-width: 1620px;
  margin: 0 auto;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: var(--wp--preset--spacing--50);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--wp--preset--spacing--60);

  @media (min-width: 1024px) {
    padding: var(--wp--preset--spacing--60);
    display: grid;
    grid-template-columns: 175px auto 1fr auto;
    gap: var(--wp--preset--spacing--80);
  }

  & .footer-content__logo {
    width: 114px;
    min-width: 114px;

    @media (min-width: 1024px) {
      width: 175px;
      min-width: 175px;
    }
  }

  & .footer-content__socials {
    width: max-content;
    justify-self: flex-end;
    & > p {
      width: max-content;
    }

    & svg {
      transition: all 0.15s ease-in-out;
      fill: currentColor;
      &:hover {
        fill: var(--wp--preset--color--light-green);
      }
    }
  }

  & .footer-content__description {
    display: none;

    @media (min-width: 1024px) {
      display: block;
    }
  }

  & .footer-content__links {
    grid-column-end: span 2;
    @media (min-width: 1024px) {
      grid-column-end: span 2;
    }

    @media (min-width: 1280px) {
      grid-column-end: span 1;
    }

    & > p,
    & > div > p {
      width: max-content;
    }
  }
}

:where(.wp-site-blocks) > * {
  margin-block-start: 0;
}
