/* Legal-document family — Website Terms of Use, Privacy Policy,
 * and Complaints & Dispute Resolution.
 * Scoped via .mgc-terms-page. Do not use for commercial landing sections.
 *
 * Website Terms identify the separate SA and AU entities in compact
 * prose. Privacy and Complaints retain the shared entity-card layout.
 */

.mgc-terms-page .site-main {
	overflow-x: clip;
}

.mgc-terms-page .fx-hero.legal-hero,
.editor-styles-wrapper .fx-hero.legal-hero {
	padding-block: var(--mgc-space-40) var(--mgc-space-32);
}

.mgc-terms-page .legal-hero > .fx-hero-kicker,
.mgc-terms-page .legal-hero > h1,
.mgc-terms-page .legal-hero > p,
.editor-styles-wrapper .legal-hero > .fx-hero-kicker,
.editor-styles-wrapper .legal-hero > h1,
.editor-styles-wrapper .legal-hero > p {
	max-width: 40rem;
	text-align: left;
}

.mgc-terms-page .legal-hero h1,
.editor-styles-wrapper .legal-hero h1 {
	max-width: 14em;
	margin-bottom: 0.4em;
	font-size: var(--mgc-font-size-page-title);
	letter-spacing: -0.03em;
	line-height: 1.12;
}

.mgc-terms-page .legal-hero > p:not(.fx-hero-kicker),
.editor-styles-wrapper .legal-hero > p:not(.fx-hero-kicker) {
	margin-bottom: 0;
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
}

.mgc-terms-page .legal-entities,
.editor-styles-wrapper .legal-entities {
	padding-block: calc(var(--mgc-space-40) * 0.875);
	padding-inline: var(--mgc-gutter);
	background-color: var(--mgc-color-surface-subtle);
}

.mgc-terms-page .legal-entities > h2,
.editor-styles-wrapper .legal-entities > h2 {
	max-width: 20em;
	margin: 0 auto var(--mgc-space-16);
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading-heading);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.2;
	text-align: center;
	overflow-wrap: break-word;
	text-wrap: wrap;
}

.mgc-terms-page .legal-lede,
.editor-styles-wrapper .legal-lede {
	max-width: 42rem;
	margin: 0 auto var(--mgc-space-32);
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
	text-align: center;
}

.mgc-terms-page .legal-section,
.editor-styles-wrapper .legal-section {
	padding-block: var(--mgc-space-32);
	padding-inline: var(--mgc-gutter);
}

.mgc-terms-page .legal-section + .legal-section,
.editor-styles-wrapper .legal-section + .legal-section {
	padding-top: var(--mgc-space-40);
	border-top: 1px solid var(--mgc-color-border);
}

.mgc-terms-page .legal-section.is-layout-constrained,
.mgc-terms-page .legal-section.is-layout-flow,
.editor-styles-wrapper .legal-section.is-layout-constrained,
.editor-styles-wrapper .legal-section.is-layout-flow {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
}

.mgc-terms-page .legal-section.is-layout-constrained > *,
.editor-styles-wrapper .legal-section.is-layout-constrained > * {
	width: 100%;
	max-width: min(100%, 888px);
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

.mgc-terms-page .legal-section > h2,
.editor-styles-wrapper .legal-section > h2 {
	margin: 0 0 var(--mgc-space-12);
	padding-top: 0;
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading-heading);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.2;
	text-align: left;
	overflow-wrap: break-word;
	text-wrap: wrap;
}

.mgc-terms-page .legal-section > h2:not(:first-child),
.editor-styles-wrapper .legal-section > h2:not(:first-child) {
	margin-top: var(--mgc-space-32);
	padding-top: var(--mgc-space-24);
	border-top: 1px solid color-mix(in srgb, var(--mgc-color-primary) 10%, var(--mgc-color-border));
}

.mgc-terms-page .legal-section > h2:has(+ p + h2),
.mgc-terms-page .legal-section > h2:has(+ p:last-child),
.editor-styles-wrapper .legal-section > h2:has(+ p + h2),
.editor-styles-wrapper .legal-section > h2:has(+ p:last-child) {
	margin-top: var(--mgc-space-24);
	padding-top: var(--mgc-space-16);
}

.mgc-terms-page .legal-section > p,
.editor-styles-wrapper .legal-section > p {
	margin: 0 0 0.85em;
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
	text-align: left;
}

.mgc-terms-page .legal-section > p:last-child,
.editor-styles-wrapper .legal-section > p:last-child {
	margin-bottom: 0;
}

.mgc-terms-page .legal-section > ul,
.mgc-terms-page .legal-section > ol,
.editor-styles-wrapper .legal-section > ul,
.editor-styles-wrapper .legal-section > ol {
	margin: 0 0 1.15em;
	padding-left: 1.2em;
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
	text-align: left;
}

.mgc-terms-page .legal-section > ul:last-child,
.mgc-terms-page .legal-section > ol:last-child,
.editor-styles-wrapper .legal-section > ul:last-child,
.editor-styles-wrapper .legal-section > ol:last-child {
	margin-bottom: 0;
}

.mgc-terms-page .legal-section > ul li,
.mgc-terms-page .legal-section > ol li,
.editor-styles-wrapper .legal-section > ul li,
.editor-styles-wrapper .legal-section > ol li {
	margin: 0 0 0.35em;
}

.mgc-terms-page .legal-section > ul li:last-child,
.mgc-terms-page .legal-section > ol li:last-child,
.editor-styles-wrapper .legal-section > ul li:last-child,
.editor-styles-wrapper .legal-section > ol li:last-child {
	margin-bottom: 0;
}

.mgc-terms-page .legal-section > h3,
.editor-styles-wrapper .legal-section > h3 {
	margin: var(--mgc-space-24) 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-size: clamp(1.25rem, 1.18rem + 0.25vw, 1.375rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
	text-align: left;
	text-transform: none;
}

.mgc-terms-page .legal-section > h2 + h3,
.editor-styles-wrapper .legal-section > h2 + h3 {
	margin-top: var(--mgc-space-4);
}

.mgc-terms-page .legal-section > h3 ~ h3,
.editor-styles-wrapper .legal-section > h3 ~ h3 {
	margin-top: var(--mgc-space-40);
}

.mgc-terms-page .legal-entity-grid.wp-block-columns,
.editor-styles-wrapper .legal-entity-grid.wp-block-columns {
	margin: 0;
	align-items: start;
	gap: var(--mgc-space-40);
	text-align: left;
}

.mgc-terms-page .legal-entity,
.mgc-terms-page .legal-entity.is-layout-constrained,
.editor-styles-wrapper .legal-entity,
.editor-styles-wrapper .legal-entity.is-layout-constrained {
	height: auto;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-align: left;
}

.mgc-terms-page .legal-entity.is-layout-constrained > *,
.editor-styles-wrapper .legal-entity.is-layout-constrained > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.mgc-terms-page .legal-entity > * + *,
.editor-styles-wrapper .legal-entity > * + * {
	margin-block-start: 0;
}

.mgc-terms-page .legal-entity-jurisdiction,
.editor-styles-wrapper .legal-entity-jurisdiction {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-primary);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.mgc-terms-page .legal-entity h3,
.editor-styles-wrapper .legal-entity h3 {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-primary);
	font-size: clamp(1.15rem, 1.08rem + 0.25vw, 1.35rem);
	letter-spacing: -0.025em;
	text-align: left;
	text-transform: none;
}

.mgc-terms-page .legal-entity p,
.editor-styles-wrapper .legal-entity p {
	margin: 0 0 0.35em;
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
}

.mgc-terms-page .legal-entity-number,
.editor-styles-wrapper .legal-entity-number {
	margin: 0.45em 0 0 !important;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.3;
	overflow-wrap: break-word;
	text-wrap: wrap;
}

.mgc-terms-page .legal-contact,
.editor-styles-wrapper .legal-contact {
	padding-bottom: var(--mgc-space-48);
}

.mgc-terms-page .legal-contact-link,
.editor-styles-wrapper .legal-contact-link {
	margin: var(--mgc-space-8) 0 0;
}

.mgc-terms-page .entry-content .legal-contact-link a,
.mgc-terms-page .legal-contact-link a,
.editor-styles-wrapper .legal-contact-link a {
	color: var(--mgc-color-primary);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.mgc-terms-page .legal-contact-link a:hover,
.editor-styles-wrapper .legal-contact-link a:hover {
	color: var(--mgc-color-primary-hover);
}

.mgc-terms-page .legal-contact-link a:focus-visible,
.editor-styles-wrapper .legal-contact-link a:focus-visible {
	outline: 2px solid var(--mgc-color-primary);
	outline-offset: 2px;
}

.mgc-privacy-page .legal-section > ul li,
.mgc-privacy-page .legal-section > ol li,
.mgc-complaints-page .legal-section > ul li,
.mgc-complaints-page .legal-section > ol li {
	margin-bottom: 0.55em;
}

.mgc-privacy-page .legal-section > .legal-contact-link {
	margin-bottom: 0.85em;
}

.mgc-terms-page .legal-updated,
.mgc-privacy-page .legal-updated,
.editor-styles-wrapper .legal-updated {
	margin: 0;
	color: var(--mgc-color-muted-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
}

@media (min-width: 782px) {
	.mgc-terms-page .fx-hero.legal-hero,
	.editor-styles-wrapper .fx-hero.legal-hero {
		padding-block: var(--mgc-space-48) var(--mgc-space-40);
	}

	.mgc-terms-page .legal-entities,
	.editor-styles-wrapper .legal-entities {
		padding-block: calc(var(--mgc-space-48) * 0.875);
	}

	.mgc-terms-page .legal-section,
	.editor-styles-wrapper .legal-section {
		padding-block: var(--mgc-space-40);
	}

	.mgc-terms-page .legal-section + .legal-section,
	.editor-styles-wrapper .legal-section + .legal-section {
		padding-top: var(--mgc-space-48);
	}

	.mgc-terms-page .legal-entity-grid.wp-block-columns,
	.editor-styles-wrapper .legal-entity-grid.wp-block-columns {
		gap: 0;
	}

	.mgc-terms-page .legal-entity-grid > .wp-block-column:first-child .legal-entity,
	.editor-styles-wrapper .legal-entity-grid > .wp-block-column:first-child .legal-entity {
		padding-right: var(--mgc-space-48);
	}

	.mgc-terms-page .legal-entity-grid > .wp-block-column:last-child .legal-entity,
	.editor-styles-wrapper .legal-entity-grid > .wp-block-column:last-child .legal-entity {
		padding-left: var(--mgc-space-48);
		border-left: 1px solid color-mix(in srgb, var(--mgc-color-primary) 12%, var(--mgc-color-border));
	}

	.mgc-terms-page .legal-contact,
	.editor-styles-wrapper .legal-contact {
		padding-bottom: var(--mgc-space-64);
	}
}

/* Complaints routing — stronger than Terms/Privacy entity blocks.
 * Lead with service names, then jurisdiction. Not marketing cards.
 */
.mgc-terms-page .legal-section[id],
.editor-styles-wrapper .legal-section[id] {
	scroll-margin-top: calc(var(--mgc-header-height) + var(--mgc-space-16));
}

.mgc-terms-page .complaints-routing > h2,
.editor-styles-wrapper .complaints-routing > h2 {
	max-width: 22em;
	font-size: var(--mgc-font-size-reading-heading);
}

.mgc-terms-page .complaints-route-grid.wp-block-columns,
.editor-styles-wrapper .complaints-route-grid.wp-block-columns {
	margin: 0 0 var(--mgc-space-32);
	align-items: stretch;
	gap: var(--mgc-space-40);
	text-align: left;
}

.mgc-terms-page .complaints-route,
.mgc-terms-page .complaints-route.is-layout-constrained,
.editor-styles-wrapper .complaints-route,
.editor-styles-wrapper .complaints-route.is-layout-constrained {
	height: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-align: left;
}

.mgc-terms-page .complaints-route.is-layout-constrained > *,
.editor-styles-wrapper .complaints-route.is-layout-constrained > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.mgc-terms-page .complaints-route > * + *,
.editor-styles-wrapper .complaints-route > * + * {
	margin-block-start: 0;
}

.mgc-terms-page .complaints-route > h3,
.editor-styles-wrapper .complaints-route > h3 {
	margin: 0 0 var(--mgc-space-16);
	color: var(--mgc-color-primary);
	font-size: clamp(1.375rem, 1.22rem + 0.5vw, 1.6875rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.15;
	text-align: left;
	text-transform: none;
	text-wrap: balance;
}

.mgc-terms-page .complaints-route-label,
.editor-styles-wrapper .complaints-route-label {
	margin: 0 0 var(--mgc-space-12);
	color: var(--mgc-color-muted-foreground);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.mgc-terms-page .complaints-route-services,
.mgc-terms-page .complaints-route-services.wp-block-list,
.editor-styles-wrapper .complaints-route-services,
.editor-styles-wrapper .complaints-route-services.wp-block-list {
	margin: 0 0 var(--mgc-space-24);
	padding: 0;
	list-style: none;
}

.mgc-terms-page .complaints-route-services li,
.editor-styles-wrapper .complaints-route-services li {
	margin: 0 0 0.45em;
	color: var(--mgc-color-primary);
	font-family: var(--mgc-font-display);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.35;
}

.mgc-terms-page .complaints-route-services li:last-child,
.editor-styles-wrapper .complaints-route-services li:last-child {
	margin-bottom: 0;
}

.mgc-terms-page .complaints-route-cta,
.editor-styles-wrapper .complaints-route-cta {
	margin: var(--mgc-space-8) 0 0;
}

.mgc-terms-page .entry-content .complaints-route-cta a,
.mgc-terms-page .complaints-route-cta a,
.editor-styles-wrapper .complaints-route-cta a {
	color: var(--mgc-color-primary);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.mgc-terms-page .complaints-route-cta a:hover,
.editor-styles-wrapper .complaints-route-cta a:hover {
	color: var(--mgc-color-primary-hover);
}

.mgc-terms-page .complaints-route-cta a:focus-visible,
.editor-styles-wrapper .complaints-route-cta a:focus-visible {
	outline: 2px solid var(--mgc-color-primary);
	outline-offset: 2px;
}

.mgc-terms-page .complaints-route-note,
.editor-styles-wrapper .complaints-route-note {
	max-width: 42rem;
	margin: 0 auto;
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
	text-align: center;
}

.mgc-terms-page .complaints-include,
.editor-styles-wrapper .complaints-include {
	padding-block: var(--mgc-space-24);
	padding-bottom: calc(var(--mgc-space-24) + 10px);
}

.mgc-terms-page .complaints-include > h2,
.editor-styles-wrapper .complaints-include > h2 {
	margin-bottom: var(--mgc-space-8);
	font-size: var(--mgc-font-size-reading-heading);
}

.mgc-terms-page .complaints-include > p,
.editor-styles-wrapper .complaints-include > p {
	margin-bottom: 0.55em;
}

.mgc-terms-page .complaints-include > ul,
.editor-styles-wrapper .complaints-include > ul {
	margin-bottom: 0;
}

.mgc-terms-page .complaints-include > ul li,
.editor-styles-wrapper .complaints-include > ul li {
	margin-bottom: 0.2em;
}

.mgc-terms-page .complaints-entity,
.mgc-terms-page .complaints-entity.is-layout-constrained,
.editor-styles-wrapper .complaints-entity,
.editor-styles-wrapper .complaints-entity.is-layout-constrained {
	margin: 0 0 var(--mgc-space-24);
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-align: left;
}

.mgc-terms-page .complaints-entity.is-layout-constrained > *,
.editor-styles-wrapper .complaints-entity.is-layout-constrained > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.mgc-terms-page .complaints-entity > * + *,
.editor-styles-wrapper .complaints-entity > * + * {
	margin-block-start: 0;
}

.mgc-terms-page .complaints-entity .legal-entity-jurisdiction,
.editor-styles-wrapper .complaints-entity .legal-entity-jurisdiction {
	margin: 0 0 var(--mgc-space-12);
}

.mgc-terms-page .complaints-entity h3,
.editor-styles-wrapper .complaints-entity h3 {
	margin: 0 0 var(--mgc-space-8);
	color: var(--mgc-color-primary);
	font-size: clamp(1.15rem, 1.08rem + 0.25vw, 1.35rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	text-align: left;
	text-transform: none;
}

.mgc-terms-page .complaints-entity p,
.editor-styles-wrapper .complaints-entity p {
	margin: 0 0 0.35em;
	color: var(--mgc-color-foreground);
	font-size: var(--mgc-font-size-reading);
	line-height: var(--mgc-line-height-reading);
	text-transform: none;
}

@media (min-width: 782px) {
	.mgc-terms-page .complaints-include,
	.editor-styles-wrapper .complaints-include {
		padding-block: var(--mgc-space-32);
		padding-bottom: calc(var(--mgc-space-32) + 10px);
	}

	.mgc-terms-page .complaints-route-grid.wp-block-columns,
	.editor-styles-wrapper .complaints-route-grid.wp-block-columns {
		gap: 0;
	}

	.mgc-terms-page .complaints-route-grid > .wp-block-column:first-child .complaints-route,
	.editor-styles-wrapper .complaints-route-grid > .wp-block-column:first-child .complaints-route {
		padding-right: var(--mgc-space-48);
	}

	.mgc-terms-page .complaints-route-grid > .wp-block-column:last-child .complaints-route,
	.editor-styles-wrapper .complaints-route-grid > .wp-block-column:last-child .complaints-route {
		padding-left: var(--mgc-space-48);
		border-left: 1px solid color-mix(in srgb, var(--mgc-color-primary) 12%, var(--mgc-color-border));
	}
}

@media (max-width: 781px) {
	.mgc-terms-page .legal-section,
	.editor-styles-wrapper .legal-section {
		padding-block: var(--mgc-space-32);
	}

	.mgc-terms-page .legal-entities,
	.editor-styles-wrapper .legal-entities {
		padding-block: calc(var(--mgc-space-32) * 0.875);
	}

	.mgc-terms-page .legal-entity-grid.wp-block-columns,
	.editor-styles-wrapper .legal-entity-grid.wp-block-columns {
		flex-wrap: wrap !important;
		gap: 0 !important;
	}

	.mgc-terms-page .legal-entity-grid > .wp-block-column,
	.editor-styles-wrapper .legal-entity-grid > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}

	.mgc-terms-page .legal-entity-grid > .wp-block-column:not(:first-child) .legal-entity,
	.editor-styles-wrapper .legal-entity-grid > .wp-block-column:not(:first-child) .legal-entity {
		padding-top: var(--mgc-space-24);
		border-top: 1px solid color-mix(in srgb, var(--mgc-color-primary) 12%, var(--mgc-color-border));
	}

	.mgc-terms-page .legal-entity-number,
	.editor-styles-wrapper .legal-entity-number {
		font-size: 1.0625rem;
	}

	.mgc-terms-page .complaints-route-grid.wp-block-columns,
	.editor-styles-wrapper .complaints-route-grid.wp-block-columns {
		flex-wrap: wrap !important;
		gap: 0 !important;
	}

	.mgc-terms-page .complaints-route-grid > .wp-block-column,
	.editor-styles-wrapper .complaints-route-grid > .wp-block-column {
		flex-basis: 100% !important;
		width: 100%;
	}

	.mgc-terms-page .complaints-route-grid > .wp-block-column:not(:first-child) .complaints-route,
	.editor-styles-wrapper .complaints-route-grid > .wp-block-column:not(:first-child) .complaints-route {
		padding-top: var(--mgc-space-32);
		border-top: 1px solid color-mix(in srgb, var(--mgc-color-primary) 12%, var(--mgc-color-border));
	}

	.mgc-terms-page .complaints-route-note,
	.editor-styles-wrapper .complaints-route-note {
		text-align: left;
	}
}
