.gcp-card {
	--gcp-gold: #a77915;
	--gcp-ink: #172033;
	--gcp-muted: #667085;
	--gcp-line: #e5e7eb;
	--gcp-surface: #fff;
	background: var(--gcp-surface);
	border: 1px solid var(--gcp-line);
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(23, 32, 51, .07);
	color: var(--gcp-ink);
	font: inherit;
	margin-block: 1.25rem;
	max-width: 920px;
	overflow: hidden;
	padding: clamp(1rem, 3vw, 1.5rem);
}

.gcp-card *, .gcp-card *::before, .gcp-card *::after { box-sizing: border-box; }
.gcp-card__header { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-block-end: 1rem; }
.gcp-card h2 { color: inherit; font-size: clamp(1.25rem, 4vw, 1.7rem); line-height: 1.25; margin: 0; }
.gcp-eyebrow { color: var(--gcp-muted); font-size: .82rem; font-weight: 700; letter-spacing: .04em; margin: 0 0 .3rem; text-transform: uppercase; }
.gcp-status { border-radius: 999px; flex: 0 0 auto; font-size: .78rem; font-weight: 700; padding: .38rem .7rem; }
.gcp-status--fresh { background: #e9f8ef; color: #17603a; }
.gcp-status--stale { background: #fff7df; color: #765312; }
.gcp-status--old { background: #fff0f0; color: #8b2525; }
.gcp-featured-prices { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-block-end: 1rem; }
.gcp-featured-price { align-items: end; background: linear-gradient(135deg, #fff9e9, #fff); border: 1px solid #f0dfad; border-radius: 12px; display: flex; gap: .75rem; justify-content: space-between; min-width: 0; padding: 1rem; }
.gcp-featured-price span { color: var(--gcp-muted); }
.gcp-featured-price strong { color: #77530c; font-size: clamp(1.2rem, 3.4vw, 1.85rem); font-variant-numeric: tabular-nums; line-height: 1.1; }
.gcp-history-chart { background: #fbfaf6; border: 1px solid #eee4c9; border-radius: 12px; margin: 0 0 1.25rem; padding: .75rem; }
.gcp-history-chart__svg { color: var(--gcp-gold); display: block; height: auto; max-height: 260px; overflow: visible; width: 100%; }
.gcp-history-chart__grid line { stroke: #e6dfcc; stroke-width: 1; }
.gcp-history-chart__line { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }
.gcp-history-chart__point { fill: #fff; stroke: currentColor; stroke-width: 3; }
.gcp-history-chart__point--single { fill: currentColor; }
.gcp-history-chart figcaption { color: var(--gcp-muted); font-size: .78rem; line-height: 1.5; margin-block-start: .45rem; }
.gcp-table-wrap { overflow-x: auto; }
.gcp-table { border-collapse: collapse; font-variant-numeric: tabular-nums; margin: 0; min-width: 100%; width: 100%; }
.gcp-table th, .gcp-table td { border-block-end: 1px solid var(--gcp-line); padding: .72rem .6rem; text-align: start; white-space: nowrap; }
.gcp-table thead th { color: var(--gcp-muted); font-size: .8rem; }
.gcp-table tbody th small { color: var(--gcp-muted); font-weight: 500; }
.gcp-card__footer { color: var(--gcp-muted); font-size: .82rem; line-height: 1.55; margin-block-start: 1rem; }
.gcp-card__footer p { margin: .35rem 0 0; }
.gcp-calculator__grid { display: grid; gap: .9rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gcp-calculator label { display: grid; font-size: .88rem; font-weight: 650; gap: .35rem; }
.gcp-calculator input, .gcp-calculator select { background: #fff; border: 1px solid #cfd4dc; border-radius: 9px; color: var(--gcp-ink); font: inherit; min-height: 44px; padding: .55rem .7rem; width: 100%; }
.gcp-calculator input:focus, .gcp-calculator select:focus { border-color: var(--gcp-gold); box-shadow: 0 0 0 3px rgba(167, 121, 21, .14); outline: none; }
.gcp-calculator__result { align-items: center; background: #f7f8fa; border-radius: 12px; display: flex; gap: 1rem; justify-content: space-between; margin-block-start: 1rem; padding: 1rem; }
.gcp-calculator__result span { color: var(--gcp-muted); }
.gcp-calculator__result strong { color: #77530c; font-size: 1.5rem; font-variant-numeric: tabular-nums; }
.gcp-empty { color: var(--gcp-muted); }

/* Scoped to public pages that actually render a GCP shortcode. */
.gcp-shortcode-page :where(.entry-content, .wp-block-post-content, .gcp-card) a:not(.button):not(.btn):not(.wp-element-button):not(.wp-block-button__link):not([role="button"]):not([class*="button"]):not([class*="btn"]) {
	color: #6b4f00;
	text-decoration-color: currentColor;
	text-decoration-line: underline;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: .1em;
	text-underline-offset: .18em;
}

.gcp-shortcode-page :where(.entry-content, .wp-block-post-content, .gcp-card) a:not(.button):not(.btn):not(.wp-element-button):not(.wp-block-button__link):not([role="button"]):not([class*="button"]):not([class*="btn"]):hover,
.gcp-shortcode-page :where(.entry-content, .wp-block-post-content, .gcp-card) a:not(.button):not(.btn):not(.wp-element-button):not(.wp-block-button__link):not([role="button"]):not([class*="button"]):not([class*="btn"]):focus {
	color: #4d3900;
	text-decoration-thickness: .14em;
}

.gcp-shortcode-page :where(.entry-content, .wp-block-post-content, .gcp-card) a:not(.button):not(.btn):not(.wp-element-button):not(.wp-block-button__link):not([role="button"]):not([class*="button"]):not([class*="btn"]):focus {
	border-radius: 2px;
	outline: 3px solid #8a6500;
	outline-offset: 3px;
}

@media (max-width: 640px) {
	.gcp-calculator__grid, .gcp-featured-prices { grid-template-columns: 1fr; }
	.gcp-card__header, .gcp-featured-price, .gcp-calculator__result { align-items: stretch; flex-direction: column; }
	.gcp-status { align-self: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
	.gcp-card * { scroll-behavior: auto !important; transition: none !important; }
}
