/* RDW Theme — minimal reset */

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

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body,
dl, dd,
ol, ul { margin: 0; }

/*
 * Base typography for raw HTML.
 *
 * These values reproduce Hello Elementor's reset exactly. Elementor styles its
 * own widgets, but content coming through the Post Content widget — the body of
 * every location and blog page — is raw HTML, and Elementor leaves that to the
 * theme. Zeroing it out flattens the whole heading scale: every h1 to h6 loses
 * its size, weight, line-height and spacing, and headings collide with the
 * text around them.
 */
h1, h2, h3, h4, h5, h6 {
	color: inherit;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	margin-block-start: .5rem;
	margin-block-end: 1rem;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

p {
	margin-block-start: 0;
	margin-block-end: .9rem;
}

blockquote { margin-block: 1rem; }
figure { margin-block: 0 1rem; }

h2, h3, p { orphans: 3; widows: 3; }
h2, h3 { break-after: avoid; }

ol[class], ul[class] { padding: 0; list-style: none; }

img, picture, video, canvas, svg {
	display: block;
	max-width: 100%;
	height: auto;
}

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

button { cursor: pointer; }

/*
 * Tables in raw post content, matching Hello Elementor. Without the cell
 * padding and borders a table renders as an unstyled grid of text.
 */
table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9rem;
	margin-bottom: 15px;
}

th, td {
	padding: 15px;
	border: 1px solid rgba(128, 128, 128, .5);
	vertical-align: top;
}

/*
 * hr is deliberately left to the browser default (1px inset, 8px margins),
 * which is what Hello Elementor does. Restyling it to a flat 15% opacity rule
 * made every horizontal rule in existing content noticeably fainter.
 */

:where(iframe, embed, object) { max-width: 100%; }

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
