/* =========================================================
   TUevento — Base / Reset
   Mobile-first, no horizontal overflow
   ========================================================= */

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

html{
  width:100%;
  max-width:100%;
  min-height:100%;
  overflow-x:hidden;
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
}

body{
  width:100%;
  max-width:100%;
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% -10%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 34%),
    radial-gradient(circle at 92% 2%, color-mix(in srgb, var(--gold) 13%, transparent), transparent 28%),
    var(--bg);
  color:var(--text);
  font-family:var(--font-ui);
  font-size:16px;
  line-height:1.5;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

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

img,
video{
  height:auto;
  display:block;
}

a{
  color:inherit;
  text-decoration:none;
}

button,
input,
select,
textarea{
  font:inherit;
}

button{
  cursor:pointer;
}

input,
select,
textarea{
  width:100%;
  font-size:16px; /* avoids iOS zoom */
}

textarea{
  resize:vertical;
}

table{
  width:100%;
  border-collapse:collapse;
}

ul,
ol{
  padding-left:1.25rem;
}

::selection{
  background:var(--accent);
  color:#fff;
}

:focus-visible{
  outline:3px solid color-mix(in srgb, var(--accent) 42%, transparent);
  outline-offset:3px;
}

body.no-scroll{
  overflow:hidden;
}

.hide{
  display:none !important;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
