/* Point Consulting legal text pages (Terms of Service, Privacy Policy): navy banner and numbered sections. Sections are marked with pct-* classes in Elementor. */

body.pc-legal {
	--pct-navy: #16224F;
	--pct-paper: #F8F9FB;
	--pct-ink: #111827;
	--pct-text: #3F4458;
	--pct-font: "Manrope", "Heebo", sans-serif;
	background: var(--pct-paper);
}

body.pc-legal [data-elementor-type="wp-page"] :is(h1, h2, h3, p, li, .elementor-heading-title) {
	font-family: var(--pct-font) !important;
}

body.pc-legal [data-elementor-type="wp-page"] .elementor-section > .elementor-container {
	max-width: 1520px;
	padding: 0 24px;
}

/* Banner */

body.pc-legal .pct-banner {
	padding: 64px 0 112px;
	background: var(--pct-navy);
	text-align: center;
}

body.pc-legal .pct-title .elementor-heading-title {
	margin: 0;
	font-size: clamp(32px, 4vw, 40px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-align: center;
	color: #FFFFFF !important;
}

/* Sections */

body.pc-legal .pct-body {
	padding: 56px 0 80px;
	background: var(--pct-paper);
}

body.pc-legal .pct-text h2 {
	margin: 40px 0 14px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--pct-ink) !important;
}

body.pc-legal .pct-text h2:first-child {
	margin-top: 0;
}

body.pc-legal .pct-text :is(p, li) {
	font-size: 16px;
	line-height: 1.7;
	color: var(--pct-text) !important;
}

body.pc-legal .pct-text p {
	margin: 0 0 14px;
}

body.pc-legal .pct-text p:last-child {
	margin-bottom: 0;
}

body.pc-legal .pct-text ul {
	margin: 0 0 14px;
	padding-left: 22px;
}

body.pc-legal .pct-text li + li {
	margin-top: 4px;
}

body.pc-legal .pct-text h3 {
	margin: 28px 0 12px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--pct-ink) !important;
}

body.pc-legal .pct-text p strong {
	color: var(--pct-ink);
}

body.pc-legal .pct-text .pct-updated {
	margin: 0 0 28px;
	font-size: 14px;
	color: #6B7080 !important;
}

body.pc-legal .pct-text a {
	color: inherit;
	text-decoration: none;
}

body.pc-legal .pct-text a:hover {
	text-decoration: underline;
}

/* Legal basis items */

body.pc-legal .pct-basis {
	margin: 0 0 12px;
	padding-left: 16px;
	border-left: 4px solid #166534;
}

body.pc-legal .pct-basis h3,
body.pc-legal .pct-basis p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
}

/* Two columns, bordered boxes and the contact panel */

body.pc-legal .pct-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 20px 0 0;
	padding: 0 16px;
}

body.pc-legal .pct-box {
	margin: 0 0 16px;
	padding: 20px 16px;
	border: 1px solid #E2E5EC;
	border-radius: 6px;
}

body.pc-legal .pct-panel {
	margin: 16px 0;
	padding: 24px;
	border-radius: 6px;
	background: #EEF4FF;
}

body.pc-legal .pct-text :is(.pct-columns, .pct-box, .pct-panel) h3 {
	margin: 0 0 12px;
	font-size: 16px;
}

body.pc-legal .pct-text :is(.pct-columns, .pct-box) ul {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

body.pc-legal .pct-text :is(.pct-columns, .pct-box) li {
	margin: 0;
	line-height: 1.6;
}

body.pc-legal .pct-text :is(.pct-columns, .pct-box) li::before {
	content: "• ";
}

body.pc-legal .pct-text .pct-columns li {
	font-size: 14px;
}

body.pc-legal .pct-text .pct-box li {
	font-size: 15px;
}

@media (max-width: 767px) {
	body.pc-legal [data-elementor-type="wp-page"] .elementor-section > .elementor-container {
		padding: 0 16px;
	}

	body.pc-legal .pct-banner {
		padding: 48px 0 64px;
	}

	body.pc-legal .pct-body {
		padding: 40px 0 56px;
	}

	body.pc-legal .pct-text h2 {
		margin-top: 32px;
		font-size: 20px;
	}

	body.pc-legal .pct-text :is(p, li) {
		font-size: 15px;
	}

	body.pc-legal .pct-columns {
		grid-template-columns: minmax(0, 1fr);
	}
}
