.gcp-card {
	--gcp-gold: #a77915;
	--gcp-ink: #172033;
	--gcp-muted: #667085;
	--gcp-line: #e5e7eb;
	--gcp-surface: #fff;
	--gcp-positive: #17603a;
	--gcp-negative: #9b2c2c;
	--gcp-neutral: #475467;
	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-status--closed, .gcp-status--history { background: #eef2f6; color: #344054; }
.gcp-direct-answer { background: #f7f8fa; border-inline-start: 4px solid var(--gcp-gold); border-radius: 10px; line-height: 1.75; margin: 0 0 1rem; padding: .8rem 1rem; }
.gcp-number { font-variant-numeric: tabular-nums; unicode-bidi: isolate; }
.gcp-featured-prices { display: grid; gap: .8rem; grid-template-columns: repeat(3, 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-market-context { border-block-start: 1px solid var(--gcp-line); margin-block-start: 1.25rem; padding-block-start: .15rem; }
.gcp-market-section { border-block-end: 1px solid var(--gcp-line); padding-block: 1.2rem; }
.gcp-market-section:last-child { border-block-end: 0; padding-block-end: .25rem; }
.gcp-market-section h3 { color: var(--gcp-ink); font-size: clamp(1.05rem, 3vw, 1.3rem); line-height: 1.4; margin: 0 0 .7rem; }
.gcp-trend { align-items: flex-start; border: 1px solid currentColor; border-radius: 12px; display: flex; gap: .75rem; line-height: 1.7; padding: .85rem 1rem; }
.gcp-trend p { margin: 0; }
.gcp-trend__marker { align-items: center; border: 1px solid currentColor; border-radius: 999px; display: inline-flex; flex: 0 0 auto; font-size: 1rem; font-weight: 800; height: 1.75rem; justify-content: center; line-height: 1; margin-block-start: .12rem; width: 1.75rem; }
.gcp-trend--up { background: #edf9f2; color: var(--gcp-positive); }
.gcp-trend--down { background: #fff2f2; color: var(--gcp-negative); }
.gcp-trend--flat { background: #f4f6f8; color: var(--gcp-neutral); }
.gcp-data-notice { background: #f7f8fa; border-radius: 10px; color: var(--gcp-muted); line-height: 1.65; margin: .7rem 0; padding: .8rem 1rem; }
.gcp-data-notice--warning { background: #fff7df; color: #765312; }
.gcp-method-note, .gcp-coverage { color: var(--gcp-muted); font-size: .82rem; line-height: 1.65; margin: .65rem 0 0; }
.gcp-market-table { margin-block-start: .8rem; }
.gcp-market-table caption { color: var(--gcp-muted); font-size: .8rem; line-height: 1.55; padding: 0 0 .55rem; text-align: start; }
.gcp-change { font-weight: 700; }
.gcp-change--up { color: var(--gcp-positive); }
.gcp-change--down { color: var(--gcp-negative); }
.gcp-change--flat, .gcp-change--unknown { color: var(--gcp-neutral); }
.gcp-range-stats { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: .9rem 0 0; }
.gcp-range-stat { background: #f8f8f7; border: 1px solid var(--gcp-line); border-radius: 12px; margin: 0; padding: 1rem; }
.gcp-range-stat dt { color: var(--gcp-muted); font-size: .85rem; font-weight: 700; }
.gcp-range-stat dd { color: var(--gcp-ink); font-size: clamp(1.15rem, 3vw, 1.45rem); font-weight: 800; margin: .4rem 0 0; }
.gcp-range-stat dd.gcp-range-stat__secondary { color: var(--gcp-muted); font-size: .9rem; font-weight: 700; }
.gcp-range-stat--high { border-block-start: 3px solid var(--gcp-positive); }
.gcp-range-stat--low { border-block-start: 3px solid var(--gcp-negative); }
.gcp-range-stat dd.gcp-range-stat__date { color: var(--gcp-muted); font-size: .8rem; 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, .gcp-range-stats { 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; }
	.gcp-trend { gap: .55rem; padding: .8rem; }
}

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