/*
  reset.css
  Reset moderno + protecciones base contra overflow accidental.
*/

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

html {
  max-inline-size: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  inline-size: 100%;
  min-block-size: 100vh;
  min-block-size: 100svh;
  margin: 0;
  overflow-x: clip;
  background: var(--color-bg, #fff);
  color: var(--color-text, #172033);
  font-family: var(--font-sans, system-ui, sans-serif);
  font-size: var(--fs-0, 1rem);
  line-height: var(--leading-base, 1.55);
  text-rendering: optimizeLegibility;
}

@supports not (overflow-x: clip) {
  body {
    overflow-x: hidden;
  }
}

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

img,
video {
  block-size: auto;
}

iframe {
  border: 0;
}

input,
button,
textarea,
select {
  max-inline-size: 100%;
  font: inherit;
}

textarea {
  resize: vertical;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin-block: 0;
}

:where(ul, ol)[role="list"] {
  padding: 0;
  list-style: none;
}

address {
  font-style: normal;
}

table {
  inline-size: 100%;
  border-collapse: collapse;
}

pre {
  max-inline-size: 100%;
  overflow-x: auto;
  white-space: pre;
}

:where(p, li, td, th, blockquote) {
  overflow-wrap: break-word;
}

:where(
  main,
  section,
  article,
  aside,
  header,
  footer,
  nav,
  form,
  .container,
  .container-xs,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-2xl,
  .container-ultra,
  .grid,
  .grid-fit,
  .grid-fill,
  .grid-2,
  .grid-3,
  .grid-4,
  .grid-5,
  .grid-6,
  .flex,
  .stack,
  .cluster,
  .split,
  .switcher,
  .sidebar,
  .card
) > * {
  min-inline-size: 0;
}

:focus-visible {
  outline: 0;
  box-shadow: var(--focus-ring, 0 0 0 3px rgb(15 118 110 / 0.22));
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
  }
}
