/**
 * css/reset.css — Modern CSS reset for the lrxd theme.
 * Based on Josh Comeau's reset (https://www.joshwcomeau.com/css/custom-css-reset/ 2023)
 * adapted for zero visual change against style.css. Replaces normalize.css v3.0.3.
 *
 * Deviations from the standard Comeau reset:
 *   - img NOT set to display:block (style.css keeps img inline via vertical-align:top)
 *   - No global margin:0 (style.css sets per-element margins precisely)
 *   - No global outline:0 (per-element rules in style.css preserved for accessibility)
 *   - No font-smoothing (would alter text rendering site-wide)
 *
 * Documented form-control shifts (permitted per issue #49):
 *   A. input[type="search"] inherits border-box instead of content-box (normalize set
 *      content-box). style.css re-applies border-box to all themed inputs; no regression.
 *   B. -webkit-appearance:button removed from submit inputs (Chrome 80+/Safari 15+
 *      don't need it; style.css uses -webkit-appearance:none on all themed inputs).
 *   C. button::-moz-focus-inner reset omitted (Firefox bug fixed in FF53/2017).
 *   D. input { line-height:normal } omitted (Firefox 4 fix; style.css sets via `font:`).
 */

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

/* Body */
body {
	margin: 0;
}

/* Prevent iOS/IE text-size inflate after orientation change */
html {
	-ms-text-size-adjust:     100%;
	-webkit-text-size-adjust: 100%;
}

/* Text-level semantics */
b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

mark {
	background: #ff0;
	color:      #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size:      75%;
	line-height:    0;
	position:       relative;
	vertical-align: baseline;
}

sup { top: -0.5em; }
sub { bottom: -0.25em; }

/* Prevent long words / URLs from overflowing containers */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

abbr[title] {
	text-decoration: underline dotted;
}

/* HTML5 display normalization */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display:        inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height:  0;
}

[hidden],
template {
	display: none;
}

/* Embedded */
svg:not(:root) {
	overflow: hidden;
}

/* Grouping */
hr {
	height:   0;
	overflow: visible;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size:   1em;
}

/* Forms — inherit font/color so controls match surrounding text */
button,
input,
optgroup,
select,
textarea {
	color:  inherit;
	font:   inherit;
	margin: 0;
}

button,
select {
	text-transform: none;
}

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

button[disabled],
input[disabled] {
	cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding:    0;
}

legend {
	border:  0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

/* Tables */
table {
	border-collapse: collapse;
	border-spacing:  0;
}

td,
th {
	padding: 0;
}
