/* 
  ============================================================================
  K2 UI – Reset CSS v1.0.1
  ----------------------------------------------------------------------------
  Minimal modern reset with accessibility, consistency, and responsive defaults.
  Do NOT add design styles here. Keep it neutral.

  WARNING! Theme file must be loaded before loading this file as it uses theme token --k2-color-primary
  ============================================================================
*/

/* ------------------------------
   Box Sizing
------------------------------ */
/* Use border-box for predictable sizing */
html {
  box-sizing: border-box;
  scroll-behavior: smooth; /* Smooth scrolling */
}
*, *::before, *::after {
  box-sizing: inherit;
}

/* ------------------------------
   Margin, Padding, Borders, Font Reset
------------------------------ */
/* Remove all default spacing, borders, font settings */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* ------------------------------
   Core Body Defaults
------------------------------ */
body {
  line-height: 1.5;
  font-family: system-ui, -apple-system, sans-serif;
  background: #fff;
  color: #111;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ------------------------------
   HTML5 Display Role Reset
------------------------------ */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, nav, section {
  display: block;
}

/* ------------------------------
   Lists
------------------------------ */
ol, ul {
  list-style: none;
}

/* ------------------------------
   Anchors
------------------------------ */
/* Neutral link styling; hover and transitions go in common.css */
a {
  text-decoration: none;
  color: inherit;
}

/* ------------------------------
   Form Elements
------------------------------ */
button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
  background: none;
  border: none;
  outline: none; /* Keep focus handled by :focus-visible */
}
button {
  cursor: pointer;
}

/* Normalize fieldset & legend spacing for consistency */
fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem; /* default spacing; optional */
  font-weight: bold;
}

/* ------------------------------
   Focus Visibility (Accessibility)
------------------------------ */
:focus-visible {
  outline: 2px solid var(--k2-color-primary); /* Use theme token */
  outline-offset: 2px;
}

/* ------------------------------
   Images & Media
------------------------------ */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

/* ------------------------------
   Tables
------------------------------ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
th, td {
  text-align: left;       /* consistent alignment */
  font-weight: normal;    /* normalize default bold th */
  padding: 0;             /* spacing controlled via utilities or theme */
}
