/* ===========================================================================
   av-reset.css — replaces hello-elementor's reset.css entirely.
   ---------------------------------------------------------------------------
   The theme's reset is dequeued in functions.php. It was carrying a whole
   opinionated look this design then had to undo, rule by rule:

       a                       color:#c36            (magenta links)
       button, [type=submit]   #c36 border + text, and a #c36 HOVER FILL
       table td, th            1px grey border, 15px padding
       tbody tr:nth-child(odd) grey zebra stripe
       tbody tr:hover          grey hover fill        <- the "weird gray bg"
       h1–h6                   2.5rem…1rem, weight 500
       body                    -apple-system, #333
       input, select, textarea 1px #666, radius 3px

   None of that is this design, and every one of those rules had to be
   out-specified somewhere. What IS load-bearing is kept below — verified by
   measuring, not guessed: dropping the reset outright left non-Elementor markup
   (all of WooCommerce) at `content-box`, which overflows every width in
   av-shop.css. Elementor only applies border-box inside `.elementor`.
   =========================================================================== */

/* 1. The one that actually matters. Elementor scopes border-box to its own
      elements, so plain plugin markup needs it declared globally. */
*, *::before, *::after { box-sizing: border-box; }

/* 2. Page baseline. The design's own values come from the kit; this only stops
      the browser's default margin and keeps text rendering consistent. */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* 3. Media. Without this images overflow their column at any width. */
img, svg, video, canvas { max-width: 100%; height: auto; border-style: none; }
img { display: block; }

/* 4. Form controls do not inherit type by default — without this every input
      and button reverts to the browser's 13px system font. */
button, input, optgroup, select, textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: inherit;
	margin: 0;
	color: inherit;
}
button, [type="button"], [type="submit"], [type="reset"] {
	-webkit-appearance: button;
	appearance: button;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}
button:disabled, [type="submit"]:disabled { cursor: not-allowed; }
textarea { overflow: auto; resize: vertical; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

/* 5. Tables carry no chrome. The shop declares its own layout; the guide and
      any editor table inherit the design's type rather than a 0.9em shrink. */
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
th { text-align: inherit; font-weight: inherit; }

/* 6. Lists carry no default vertical margin. This is the one rule from the
      theme's reset whose loss actually showed: without it the route lists in
      the kontakt directions picked up the browser's 1em block margins and the
      page grew 40px. The design spaces lists from its own classes. */
dl, dd, dt, ol, ul, li { margin-block-start: 0; margin-block-end: 0; }
ol, ul { padding-inline-start: 0; }

/* 7. Small normalisations worth keeping. */
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre, code, kbd, samp { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1em; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
[hidden] { display: none !important; }
summary { display: list-item; }
