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

* {
  margin: 0;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-primary) var(--scrollbar-bg);

  &:focus-visible {
    outline-style: solid;
    outline-color: var(--clr-primary);
  }
}

html:has(app-treatment-details, app-service-packages) {
  scroll-behavior: smooth;
}

@media screen and (max-width: 840px) {
  html:has(app-contact-us) {
    scroll-behavior: smooth;
  }
}

html,
input,
select,
textarea {
  overscroll-behavior: auto;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
textarea,
select {
  font: inherit;
}

input,
input:focus-visible {
  outline: transparent;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
  max-width: 80ch;
}

#root,
#__next {
  isolation: isolate;
}

li::marker {
  font-size: 0.875rem;
  color: inherit;
}
