*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
html {
  width: 100%;
  height: auto;
  min-height: 100%;
  padding: 0;
  margin: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  text-rendering: optimizelegibility;
  text-size-adjust: 100%;

  &:has(
      .page-leave-from,
      .page-enter-active,
      .page-leave-active,
      .page-enter-to
    ) {
    scroll-behavior: unset;
  }
}

body {
  @extend %text;

  min-width: multiple(80);
  color: $color-black;
  background-color: $color-gray-warm;

  @include media-up(md) {
    @include text;
  }

  &.header-is-open {
    overflow: hidden;

    @include media-up(xl) {
      overflow: initial;
    }
  }

  transition: background-color $transition-default;
}

*:focus,
*:focus-visible {
  outline: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
pre {
  @include reset-text;
}

p {
  a {
    @include link-inline;

    font: inherit !important;
  }
}

ol,
ul {
  @include reset-list;
}

button {
  @include reset-button;
}

a {
  @include reset-link;
}

img {
  @include reset-img;
}

figure {
  @include reset-figure;
}

figcaption {
  @include reset-figcaption;
}

fieldset {
  @include reset-fieldset;
}

svg,
.nuxt-icon {
  @include reset-svg;
}

[hidden],
.hidden {
  display: none;
}

[disabled],
.disabled {
  pointer-events: none;
}

.no-scroll {
  overflow: hidden;
}

.anchor-offset {
  position: absolute;
  top: -76px;

  @include media-up(md) {
    top: -88px;
  }
}

section.block:has(.anchor-offset) {
  margin: 0;

  .grid-container {
    // width: auto;
    padding-top: $spacing-48;
    padding-bottom: $spacing-48;

    @include media-down(md) {
      padding-top: $spacing-32;
      padding-bottom: $spacing-32;
    }
  }
}
