/* ============================================================
   vth-reset.css — scoped reset for the VTH ReSkin
   Neutralizes ONLY the inherited element styles Materialize v0.100
   sets, and ONLY inside the `.vth` scope. Never affects the rest of
   the legacy portal. Load AFTER Materialize, BEFORE vth-reskin.css.
   ============================================================ */
.vth,.vth *,.vth *::before,.vth *::after{box-sizing:border-box;}
.vth{font-family:var(--font-sans);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}

/* headings — Materialize sets big line-heights/weights globally */
.vth h1,.vth h2,.vth h3,.vth h4,.vth h5,.vth h6{margin:0;font-weight:var(--weight-semibold);line-height:1.2;color:var(--text-primary);}
.vth p{margin:0;}
.vth ul,.vth ol{margin:0;padding:0;list-style:none;}
.vth a{color:var(--text-link);text-decoration:none;}
.vth a:hover{color:var(--vth-blue-hover);}
.vth img{max-width:100%;display:block;}

/* buttons — strip Materialize/UA defaults inside scope */
.vth button{margin:0;font-family:inherit;background:none;border:none;cursor:pointer;}

/* form controls — Materialize styles these globally (border-bottom, height, etc.) */
.vth input:not([type]),.vth input[type=text],.vth input[type=email],.vth input[type=password],
.vth input[type=number],.vth input[type=search],.vth input[type=tel],.vth input[type=url],
.vth input[type=date],.vth textarea,.vth select{
  box-sizing:border-box;height:auto;min-height:0;margin:0;padding:0;
  border:none;border-radius:0;box-shadow:none;background:transparent;
  font-family:var(--font-sans);font-size:var(--type-size-base);color:var(--text-primary);
}
.vth input:focus,.vth textarea:focus,.vth select:focus{outline:none;box-shadow:none;border:none;}

/* tables — Materialize adds display/spacing */
.vth table{border-collapse:collapse;width:100%;}
.vth th,.vth td{padding:0;text-align:left;}
