/*
 * Unified public page system. Loaded only for an explicit page allowlist and
 * only while the independent Site Pages v2 flag is enabled.
 */
body.gcp-site-pages-v2 {
	--gcp-page-width: 920px;
	--gcp-reading-width: 820px;
	background: #f6f8fb;
}

body.gcp-site-pages-v2 .site-main {
	background:
		radial-gradient(circle at 88% 5%, rgba(31, 94, 140, .055), transparent 27rem),
		linear-gradient(#fafbfc, #f6f8fb 36rem);
	padding-block-end: clamp(3rem, 7vw, 5rem);
}

body.gcp-site-pages-v2 article > .hero-section,
body.gcp-site-page-home .entry-content > h1:first-child,
body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section + .entry-content > p:first-child {
	box-sizing: border-box;
	max-width: var(--gcp-page-width);
	width: calc(100% - 2rem);
}

/* A single joined hero: title from Blocksy and the page's first paragraph. */
body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section {
	background: #172033;
	border: 1px solid #2c3952;
	border-block-end: 0;
	border-radius: 22px 22px 0 0;
	box-shadow: 0 18px 44px rgba(23, 32, 51, .14);
	margin: 0 auto !important;
	overflow: hidden;
	padding: clamp(1.65rem, 4vw, 2.5rem) clamp(1.35rem, 5vw, 2.75rem) .65rem;
	position: relative;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section::before,
body.gcp-site-page-home .entry-content > h1:first-child::before {
	background: #f4c95d;
	border-radius: 999px;
	content: "";
	display: block;
	height: 4px;
	margin-block-end: 1rem;
	width: 54px;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section .entry-header {
	max-width: 760px;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section h1,
body.gcp-site-page-home .entry-content > h1:first-child {
	border: 0;
	color: #fff;
	font-size: clamp(2rem, 4.4vw, 2.85rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0;
	padding: 0;
	text-align: start;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section + .entry-content {
	margin-block-start: 0;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section + .entry-content > p:first-child,
body.gcp-site-page-home .entry-content > h1:first-child + p {
	background: #172033;
	border: 1px solid #2c3952;
	border-block-start: 0;
	border-radius: 0 0 22px 22px;
	box-shadow: 0 18px 44px rgba(23, 32, 51, .14);
	color: #dce4ef;
	font-size: clamp(.98rem, 2vw, 1.08rem);
	line-height: 1.85;
	margin: 0 auto 1rem !important;
	max-width: var(--gcp-page-width);
	padding: .35rem clamp(1.35rem, 5vw, 2.75rem) clamp(1.7rem, 4vw, 2.55rem);
	text-align: start;
}

/* Homepage uses an authored H1, so it receives the same joined hero in-place. */
body.gcp-site-page-home .entry-content > h1:first-child {
	background: #172033;
	border: 1px solid #2c3952;
	border-block-end: 0;
	border-radius: 22px 22px 0 0;
	box-shadow: 0 18px 44px rgba(23, 32, 51, .14);
	margin: 0 auto !important;
	padding: clamp(1.65rem, 4vw, 2.5rem) clamp(1.35rem, 5vw, 2.75rem) .65rem;
}

body.gcp-site-page-home .entry-content > h1:first-child + p {
	box-sizing: border-box;
	width: calc(100% - 2rem);
}

/* Keep every migrated page on the same visual and reading grid. */
body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > :where(h2, h3, p, ul, ol, pre, figure, details, section),
body.gcp-site-page-home .entry-content > .gcp-card,
body.gcp-site-page-home .entry-content > .gcp-home-guide {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--gcp-page-width);
	width: calc(100% - 2rem);
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > :where(p, ul, ol, pre, figure, details):not(.gcp-card) {
	max-width: var(--gcp-reading-width);
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > h2 {
	align-items: center;
	border: 0;
	color: var(--gcp-brand-ink);
	display: flex;
	font-size: clamp(1.45rem, 3vw, 1.85rem);
	font-weight: 850;
	gap: .8rem;
	line-height: 1.4;
	margin-block: clamp(2.5rem, 6vw, 4rem) 1rem;
	padding: 0;
	text-align: start;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > h2::before {
	background: #c49a37;
	border-radius: 999px;
	content: "";
	flex: 0 0 5px;
	height: 1.6em;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > p:not(:first-child) {
	color: #475467;
	font-size: 1rem;
	line-height: 1.95;
	text-align: start;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > :where(ul, ol) {
	background: #fff;
	border: 1px solid #dde3ea;
	border-radius: 15px;
	box-shadow: 0 7px 20px rgba(23, 32, 51, .045);
	color: #344054;
	line-height: 1.8;
	padding: 1.15rem 2.35rem 1.15rem 1.2rem;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > :where(ul, ol) li + li {
	margin-block-start: .65rem;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > pre {
	background: #172033;
	border: 1px solid #32405a;
	border-radius: 15px;
	box-shadow: 0 10px 26px rgba(23, 32, 51, .13);
	color: #f8fafc;
	direction: rtl;
	font-family: inherit;
	font-size: .93rem;
	line-height: 2;
	overflow: auto;
	padding: 1.25rem 1.4rem;
	text-align: start;
	white-space: pre-wrap;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > figure.wp-block-table {
	background: #fff;
	border: 1px solid #dbe2e9;
	border-radius: 15px;
	box-shadow: 0 7px 20px rgba(23, 32, 51, .045);
	overflow-x: auto;
	padding: .35rem;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .wp-block-table table {
	border: 0;
	margin: 0;
	min-width: 560px;
	width: 100%;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .wp-block-table :where(th, td) {
	border-color: #e1e6ec;
	padding: .8rem .75rem;
	text-align: start;
}

body.gcp-site-pages-v2:not(.gcp-site-page-home) .wp-block-table thead th {
	background: #f1f5f8;
	color: #344054;
}

/* Tool pages: the utility remains the visual focus and explanatory copy scans faster. */
body.gcp-site-role-tool .entry-content > .gcp-card {
	margin-block: 1rem clamp(2.5rem, 6vw, 4rem);
}

body.gcp-site-page-history .gcp-history-summary {
	display: grid;
	gap: .7rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 0 1rem;
}

body.gcp-site-page-history .gcp-history-summary > div {
	background: #f7f8fa;
	border: 1px solid var(--gcp-line);
	border-radius: 12px;
	min-width: 0;
	padding: .85rem;
}

body.gcp-site-page-history .gcp-history-summary > div.gcp-history-summary__high {
	border-block-start: 3px solid var(--gcp-positive);
}

body.gcp-site-page-history .gcp-history-summary > div.gcp-history-summary__low {
	border-block-start: 3px solid var(--gcp-negative);
}

body.gcp-site-page-history .gcp-history-summary dt {
	color: var(--gcp-muted);
	font-size: .77rem;
	font-weight: 700;
	line-height: 1.45;
}

body.gcp-site-page-history .gcp-history-summary dd {
	color: var(--gcp-ink);
	font-size: clamp(1rem, 2.5vw, 1.25rem);
	font-weight: 800;
	margin: .35rem 0 .15rem;
}

body.gcp-site-page-history .gcp-history-summary dd.gcp-history-summary__date {
	color: var(--gcp-muted);
	font-size: .72rem;
	font-weight: 500;
	margin: 0;
}

body.gcp-site-page-history .gcp-table-shell {
	min-width: 0;
	position: relative;
}

body.gcp-site-page-history .gcp-table-wrap {
	overscroll-behavior-inline: contain;
	scrollbar-gutter: stable;
}

body.gcp-site-page-history .gcp-table-wrap:focus-visible {
	border-radius: 10px;
	outline: 3px solid #8a6500;
	outline-offset: 3px;
}

body.gcp-site-page-history .gcp-table-hint {
	color: var(--gcp-muted);
	display: none;
	font-size: .78rem;
	line-height: 1.55;
	margin: 0 0 .55rem;
}

body.gcp-site-page-history .gcp-history .gcp-market-table :where(th, td):first-child {
	background: var(--gcp-surface);
	inset-inline-start: 0;
	position: sticky;
	z-index: 1;
}

body.gcp-site-page-history .gcp-history .gcp-market-table thead th:first-child {
	background: #f7f8fa;
	z-index: 2;
}

body.gcp-site-page-history .gcp-history .gcp-market-table tbody tr:nth-child(even) :where(th, td):first-child {
	background: #fffdf8;
}

body.gcp-site-page-history .gcp-history .gcp-market-table td:last-child {
	min-width: 11rem;
	white-space: normal;
}

body.gcp-site-page-calculator .gcp-calculator input,
body.gcp-site-page-calculator .gcp-calculator select {
	border-color: #7b8491;
	min-height: 48px;
}

body.gcp-site-page-calculator .gcp-calculator input[aria-invalid="true"] {
	border-color: #8f2929;
	box-shadow: 0 0 0 3px rgba(143, 41, 41, .14);
}

body.gcp-site-page-calculator .gcp-calculator__error {
	background: #fff0f0;
	border-inline-start: 4px solid #8f2929;
	border-radius: 8px;
	color: #8f2929;
	font-size: .85rem;
	line-height: 1.55;
	margin: .7rem 0 0;
	padding: .65rem .8rem;
}

body.gcp-site-page-calculator .gcp-calculator__error[hidden] {
	display: none;
}

body.gcp-site-page-calculator .gcp-calculator__output {
	color: #77530c;
	font-size: clamp(1.65rem, 5vw, 2.25rem);
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	unicode-bidi: isolate;
}

body.gcp-site-role-tool .entry-content > ul {
	display: grid;
	gap: .75rem 1.5rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style-position: inside;
}

body.gcp-site-role-tool .entry-content > p:last-child,
body.gcp-site-role-guide .entry-content > p:last-child {
	background: #eaf4fa;
	border: 1px solid #c9dce8;
	border-inline-start: 5px solid var(--gcp-brand-blue);
	border-radius: 12px;
	color: #263b4a;
	font-weight: 650;
	margin-block-start: 2rem;
	padding: 1rem 1.15rem;
}

/* FAQ is intentionally a focused accordion rather than a wall of text. */
body.gcp-site-role-faq .entry-content > details {
	background: #fff;
	border: 1px solid #dce2e8;
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(23, 32, 51, .045);
	margin-block: .8rem 0;
	overflow: clip;
	padding: 0;
}

body.gcp-site-role-faq .entry-content > details:first-of-type {
	margin-block-start: 2rem;
}

body.gcp-site-role-faq .entry-content > details[open] {
	border-color: #c9ad60;
	box-shadow: 0 10px 24px rgba(23, 32, 51, .07);
}

body.gcp-site-role-faq .entry-content > details summary {
	color: var(--gcp-brand-ink);
	cursor: pointer;
	font-size: 1.04rem;
	font-weight: 800;
	line-height: 1.6;
	min-height: 52px;
	padding: .95rem 1.1rem;
	text-align: start;
}

body.gcp-site-role-faq .entry-content > details summary::marker {
	color: var(--gcp-brand-gold-strong);
}

body.gcp-site-role-faq .entry-content > details summary:focus-visible {
	border-radius: 10px;
	outline: 3px solid var(--gcp-brand-gold);
	outline-offset: -4px;
}

body.gcp-site-role-faq .entry-content > details > *:not(summary) {
	border-block-start: 1px solid #e8ecf0;
	color: #475467;
	line-height: 1.9;
	margin: 0;
	padding: 1rem 1.15rem 1.15rem;
}

body.gcp-site-role-faq .entry-content > p:last-child {
	background: #fff7df;
	border: 1px solid #ead69c;
	border-inline-start: 5px solid #b98517;
	border-radius: 12px;
	color: #554117;
	margin-block-start: 1.5rem;
	padding: 1rem 1.15rem;
}

/* Knowledge, trust and local guides receive stronger scannable components. */
body:is(.gcp-site-role-knowledge, .gcp-site-role-trust, .gcp-site-role-guide) .entry-content > :where(ul, ol) li::marker {
	color: var(--gcp-brand-gold-strong);
	font-weight: 800;
}

body.gcp-site-page-methodology .entry-content > ul,
body.gcp-site-page-about-us .entry-content > ul,
body.gcp-site-page-gold-investment .entry-content > ul,
body.gcp-site-page-gold-shops-in-netherlands .entry-content > ul {
	display: grid;
	gap: .8rem 1.6rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.gcp-site-page-about-us .entry-content > ul li,
body.gcp-site-page-gold-investment .entry-content > ul li,
body.gcp-site-page-gold-shops-in-netherlands .entry-content > ul li {
	background: #f7f9fb;
	border: 1px solid #e0e6ec;
	border-radius: 11px;
	list-style-position: inside;
	padding: .8rem .9rem;
}

/* Contact and legal pages use a calm document presentation. */
body:is(.gcp-site-role-contact, .gcp-site-role-legal) .entry-content > :where(h2, p, ul, ol) {
	max-width: 800px;
}

body.gcp-site-role-contact .entry-content > ul,
body.gcp-site-role-legal .entry-content > ul {
	box-shadow: none;
}

body.gcp-site-role-contact .entry-content > h2:nth-of-type(2),
body.gcp-site-role-contact .entry-content > h2:nth-of-type(2) + p {
	background: #fff7df;
	border-color: #ead69c;
	color: #554117;
}

body.gcp-site-page-disclaimer .entry-content > p:not(:first-child) {
	background: #fff;
	border: 1px solid #dfe4ea;
	border-inline-start: 4px solid #c49a37;
	border-radius: 12px;
	box-shadow: 0 5px 16px rgba(23, 32, 51, .035);
	margin-block: .75rem;
	padding: 1rem 1.15rem;
}

body.gcp-site-role-legal .entry-content > h2 {
	font-size: clamp(1.3rem, 2.5vw, 1.6rem);
	margin-block-start: 2.5rem;
}

body.gcp-site-pages-v2 :where(.gcp-card, .entry-content) a:focus-visible {
	border-radius: 3px;
	outline: 3px solid var(--gcp-brand-gold);
	outline-offset: 3px;
}

@media (max-width: 820px) {
	body.gcp-site-pages-v2 .site-main {
		padding-block-end: 3rem;
	}

	body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section,
	body.gcp-site-page-home .entry-content > h1:first-child {
		border-radius: 17px 17px 0 0;
		margin-block-start: 0 !important;
	}

	body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section + .entry-content > p:first-child,
	body.gcp-site-page-home .entry-content > h1:first-child + p {
		border-radius: 0 0 17px 17px;
		margin-block-end: 1.25rem !important;
	}

	body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section h1,
	body.gcp-site-page-home .entry-content > h1:first-child {
		font-size: clamp(1.75rem, 8vw, 2.15rem);
	}

	body.gcp-site-role-tool .entry-content > ul,
	body.gcp-site-page-history .entry-content > ul,
	body.gcp-site-page-methodology .entry-content > ul,
	body.gcp-site-page-about-us .entry-content > ul,
	body.gcp-site-page-gold-investment .entry-content > ul,
	body.gcp-site-page-gold-shops-in-netherlands .entry-content > ul {
		grid-template-columns: 1fr;
	}

	body.gcp-site-page-history .gcp-history .gcp-table {
		min-width: 780px;
	}

	body.gcp-site-page-history .gcp-history-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.gcp-site-page-history .gcp-table-hint {
		display: block;
	}
}

@media (max-width: 480px) {
	body.gcp-site-pages-v2 article > .hero-section,
	body.gcp-site-page-home .entry-content > h1:first-child,
	body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section + .entry-content > p:first-child,
	body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > :where(h2, h3, p, ul, ol, pre, figure, details, section),
	body.gcp-site-page-home .entry-content > .gcp-card,
	body.gcp-site-page-home .entry-content > .gcp-home-guide {
		width: calc(100% - 1.25rem);
	}

	body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section,
	body.gcp-site-page-home .entry-content > h1:first-child {
		padding: 1.35rem 1.1rem .5rem;
	}

	body.gcp-site-pages-v2:not(.gcp-site-page-home) article > .hero-section + .entry-content > p:first-child,
	body.gcp-site-page-home .entry-content > h1:first-child + p {
		font-size: .94rem;
		line-height: 1.75;
		padding: .25rem 1.1rem 1.35rem;
	}

	body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > h2 {
		font-size: 1.35rem;
		gap: .65rem;
		margin-block-start: 2.4rem;
	}

	body.gcp-site-pages-v2:not(.gcp-site-page-home) .entry-content > :where(ul, ol) {
		padding: 1rem 1.8rem 1rem .9rem;
	}

	body.gcp-site-role-faq .entry-content > details summary {
		font-size: .98rem;
		padding: .85rem .9rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.gcp-site-pages-v2 *,
	body.gcp-site-pages-v2 *::before,
	body.gcp-site-pages-v2 *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
