/* ==========================================================================
   Policy pages (terms, privacy, cookies)
   Enqueued only on the Policy Page template (see functions.php).

   NOTE ON UNITS: this site sets a 10px root font-size, so 1rem = 10px here.
   Container matches Bricks: 1100px max, flat 20px gutter.
   ========================================================================== */

.ue-policy {
	--maxw: 1100px;
	--pad: 20px;
	color: var(--ue-dark-grey, #272727);
	overflow-x: clip;
}
.ue-policy img { max-width: 100%; height: auto; }

.pol-container {
	width: min(100% - (var(--pad) * 2), var(--maxw));
	margin-inline: auto;
}

/* ------------------------------------------------------------------ Hero --- */
.pol-hero {
	background: var(--ue-blue, #3faff0);
	color: var(--ue-white, #fff);
	padding-block: clamp(3rem, 6vw, 6rem);
}
.pol-hero__title {
	font-size: clamp(3.2rem, 5vw, 5rem);
	line-height: 1.1;
	margin: 0;
	color: var(--ue-white, #fff);
}
.pol-hero__lead {
	font-size: clamp(1.8rem, 2vw, 2.2rem);
	margin: 1.2rem 0 0;
	max-width: 60ch;
}
.pol-splat { width: 100%; display: block; }

/* ------------------------------------------------------------------ Body --- */
.pol-body { padding-block: clamp(3rem, 5vw, 5rem) clamp(4rem, 7vw, 7rem); }

/* Legal copy is long, so it gets a reading measure rather than the full
   container width, while headings and the container itself stay aligned
   with every other page. */
.pol-body__inner > * { max-width: 80ch; }

.pol-body__inner h2 {
	font-size: clamp(2.2rem, 3vw, 2.8rem);
	line-height: 1.25;
	margin: 4rem 0 1.2rem;
	color: var(--ue-dark-blue, #0d3f5e);
}
.pol-body__inner h3 {
	font-size: clamp(1.8rem, 2.2vw, 2.1rem);
	margin: 3rem 0 1rem;
	color: var(--ue-dark-blue, #0d3f5e);
}
.pol-body__inner h2:first-child,
.pol-body__inner h3:first-child { margin-top: 0; }

.pol-body__inner p,
.pol-body__inner li {
	font-size: 1.7rem;
	line-height: 1.65;
}
.pol-body__inner p { margin: 0 0 1.6rem; }
.pol-body__inner ul,
.pol-body__inner ol { margin: 0 0 1.6rem; padding-left: 2.4rem; }
.pol-body__inner li { margin-bottom: .6rem; }

.pol-body__inner a {
	color: var(--ue-blue, #3faff0);
	font-weight: 700;
	overflow-wrap: anywhere;
}
.pol-body__inner table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 2.4rem;
	font-size: 1.5rem;
}
.pol-body__inner th,
.pol-body__inner td {
	border: 1px solid #ddd;
	padding: 1rem 1.2rem;
	text-align: left;
	vertical-align: top;
}
/* long legal tables must scroll rather than widen the page */
.pol-body__inner > table { display: block; overflow-x: auto; max-width: 100%; }
