/* Pay Gap Desk MVP: styles for the generated pages, header, footer and form.
   Everything is scoped to .pgd-* classes, so the rest of a site is untouched. */

:root {
	--pgd-ink: #0f172a;
	--pgd-text: #1e293b;
	--pgd-muted: #475569;
	--pgd-navy: #0b1f3a;
	--pgd-brand: #0f766e;
	--pgd-brand-dark: #115e59;
	--pgd-brand-tint: #e7f5f2;
	--pgd-bright: #2dd4bf;
	--pgd-sand: #f7f5f0;
	--pgd-line: #e2e8f0;
	--pgd-radius: 16px;
	--pgd-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 10px 28px rgba(15, 23, 42, .06);
}

/* ---------- Sections ---------- */
.pgd-section {
	padding-top: clamp(3rem, 6vw, 5.25rem);
	padding-bottom: clamp(3rem, 6vw, 5.25rem);
	color: var(--pgd-text);
	font-size: clamp(1rem, .96rem + .2vw, 1.0625rem);
	font-weight: 400;
	line-height: 1.6;
}
.pgd-header, .pgd-footer { font-weight: 400; }
.pgd-card p, .pgd-steps > li { font-size: .98rem; line-height: 1.55; }
.wp-block-post-content > .pgd-section,
.is-root-container > .pgd-section {
	margin-block-start: 0 !important;
	margin-block-end: 0;
}
.wp-site-blocks > .wp-block-template-part:has(.pgd-footer) { margin-block-start: 0; }
.pgd-main { margin-block-end: 0; }

.pgd-sand { background: var(--pgd-sand); }
.pgd-tint { background: var(--pgd-brand-tint); }
.pgd-head { background: var(--pgd-sand); border-bottom: 1px solid var(--pgd-line); }

.pgd-section h1,
.pgd-section h2,
.pgd-section h3 {
	color: var(--pgd-ink);
	font-weight: 750;
	letter-spacing: -0.015em;
}
.pgd-display {
	font-size: clamp(2.1rem, 4.6vw, 3.5rem) !important;
	line-height: 1.08 !important;
	max-width: 20ch;
	margin-top: .35rem;
	margin-bottom: 0;
}
.pgd-h2 {
	font-size: clamp(1.6rem, 3vw, 2.25rem) !important;
	line-height: 1.15 !important;
	margin-bottom: 1.6rem;
	max-width: 30ch;
}
.pgd-h3 { font-size: 1.15rem !important; margin-top: 2rem; }
.pgd-section h3 { font-size: 1.14rem; line-height: 1.3; margin: 0 0 .45rem; }
.pgd-section strong { font-weight: 700; }

.pgd-eyebrow {
	text-transform: uppercase;
	letter-spacing: .12em;
	font-size: .78rem !important;
	font-weight: 750;
	color: var(--pgd-brand);
	margin: 0;
}
.pgd-lead {
	font-size: clamp(1.08rem, 1.7vw, 1.28rem) !important;
	line-height: 1.55;
	color: var(--pgd-muted);
	max-width: 62ch;
}
.pgd-small { font-size: .92rem !important; color: var(--pgd-muted); }
.pgd-more a, .pgd-section p a { color: var(--pgd-brand-dark); text-underline-offset: 3px; }
.pgd-more { margin-top: 1.5rem; font-weight: 650; }

/* ---------- Hero ---------- */
.pgd-hero {
	background:
		radial-gradient(900px 420px at 88% -12%, rgba(45, 212, 191, .28), transparent 62%),
		radial-gradient(700px 360px at -10% 110%, rgba(45, 212, 191, .12), transparent 60%),
		var(--pgd-navy);
	color: #e2e8f0;
	padding-top: clamp(3.75rem, 8vw, 6.5rem);
	padding-bottom: clamp(3.75rem, 8vw, 6.5rem);
}
.pgd-hero h1 { color: #fff; }
.pgd-hero .pgd-eyebrow { color: var(--pgd-bright); }
.pgd-hero .pgd-lead { color: #cbd5e1; }
.pgd-hero .pgd-small { color: #94a3b8; margin-top: 1.25rem; }

/* ---------- Buttons ---------- */
.pgd-section .wp-block-buttons { gap: .75rem; margin-top: 1.75rem; }
.pgd-section .wp-block-button__link,
.pgd-header-cta .wp-block-button__link,
.pgd-form-wrap .pgd-submit {
	border-radius: 999px;
	font-weight: 700;
	font-size: 1rem;
	padding: .85em 1.45em;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.pgd-section .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.pgd-form-wrap .pgd-submit {
	background: var(--pgd-brand);
	color: #fff;
	border: 2px solid var(--pgd-brand);
}
.pgd-section .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.pgd-form-wrap .pgd-submit:hover {
	background: var(--pgd-brand-dark);
	border-color: var(--pgd-brand-dark);
	color: #fff;
}
.pgd-section .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--pgd-brand-dark);
	border: 2px solid currentColor;
}
.pgd-section .is-style-outline .wp-block-button__link:hover { background: rgba(15, 118, 110, .08); }

.pgd-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--pgd-bright);
	border-color: var(--pgd-bright);
	color: #042f2e;
}
.pgd-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #5eead4; border-color: #5eead4; color: #042f2e; }
.pgd-hero .is-style-outline .wp-block-button__link { color: #fff; }
.pgd-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .08); }

/* ---------- Cards and grids ---------- */
.pgd-grid { gap: 1.25rem !important; margin-bottom: 1.25rem; }
.pgd-grid:last-child { margin-bottom: 0; }
.pgd-card {
	background: #fff;
	border: 1px solid var(--pgd-line);
	border-radius: var(--pgd-radius);
	padding: 1.6rem 1.6rem 1.4rem;
	box-shadow: var(--pgd-shadow);
}
.pgd-card p { color: var(--pgd-muted); margin: 0; }
.pgd-card > * + * { margin-block-start: .5rem; }
.pgd-card-accent { border: 2px solid var(--pgd-brand); }
.pgd-label {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .74rem !important;
	font-weight: 750;
	color: var(--pgd-brand) !important;
}
.pgd-big {
	font-size: clamp(1.55rem, 2.6vw, 2.05rem) !important;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--pgd-ink) !important;
}

.pgd-split { gap: clamp(1.5rem, 4vw, 4rem) !important; }

/* ---------- Steps ---------- */
.pgd-steps {
	list-style: none;
	counter-reset: pgd-step;
	padding: 0 !important;
	margin: 0;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.pgd-steps > li {
	counter-increment: pgd-step;
	position: relative;
	background: #fff;
	border: 1px solid var(--pgd-line);
	border-radius: var(--pgd-radius);
	padding: 3.6rem 1.25rem 1.3rem;
	margin: 0 !important;
	color: var(--pgd-muted);
	line-height: 1.5;
	box-shadow: var(--pgd-shadow);
}
.pgd-steps > li::before {
	content: counter(pgd-step);
	position: absolute;
	top: 1.2rem;
	left: 1.25rem;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--pgd-brand-tint);
	color: var(--pgd-brand-dark);
	font-weight: 800;
	display: grid;
	place-items: center;
}
.pgd-steps > li strong { display: block; color: var(--pgd-ink); margin-bottom: .3rem; }

/* ---------- Tick lists ---------- */
.pgd-ticks { list-style: none; padding: 0 !important; margin: 1rem 0 0; }
.pgd-ticks > li { position: relative; padding-left: 1.75rem; margin: .5rem 0; line-height: 1.45; color: var(--pgd-text); }
.pgd-ticks > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: var(--pgd-brand-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%230f766e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 75% no-repeat;
}

/* ---------- Pricing ---------- */
.pgd-price { display: flex; flex-direction: column; position: relative; }
.pgd-price .pgd-price-name { font-size: 1.2rem !important; margin: 0; }
.pgd-price .pgd-amount {
	font-size: clamp(2.2rem, 3.6vw, 2.8rem) !important;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--pgd-ink) !important;
	margin-top: 1rem !important;
}
.pgd-price .pgd-per { font-size: .88rem !important; margin-bottom: .75rem !important; }
.pgd-price .wp-block-buttons { margin-top: auto !important; padding-top: 1.5rem; }
.pgd-price .wp-block-button, .pgd-price .wp-block-button__link { width: 100%; text-align: center; }
.pgd-popular { border: 2px solid var(--pgd-brand); box-shadow: 0 18px 44px rgba(15, 118, 110, .16); }
.pgd-badge {
	position: absolute;
	top: -0.85rem;
	left: 1.6rem;
	margin: 0 !important;
	background: var(--pgd-brand);
	color: #fff !important;
	font-size: .75rem !important;
	font-weight: 750;
	letter-spacing: .04em;
	padding: .3rem .75rem;
	border-radius: 999px;
}

/* ---------- CTA band ---------- */
.pgd-cta { background: linear-gradient(135deg, #0f766e 0%, #0b4f4b 100%); color: #e6fffb; }
.pgd-cta h2 { color: #fff !important; }
.pgd-cta p { color: #d5f5ef; font-size: 1.08rem; }
.pgd-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #fff; border-color: #fff; color: var(--pgd-brand-dark); }
.pgd-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #e6fffb; border-color: #e6fffb; color: var(--pgd-brand-dark); }
.pgd-cta .is-style-outline .wp-block-button__link { color: #fff; }
.pgd-cta .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); }

/* ---------- FAQ ---------- */
.pgd-faq {
	border: 1px solid var(--pgd-line);
	border-radius: 12px;
	padding: 1.05rem 1.3rem;
	background: #fff;
	margin-block-start: .75rem !important;
}
.pgd-faq summary {
	font-weight: 700;
	cursor: pointer;
	color: var(--pgd-ink);
	list-style-position: outside;
}
.pgd-faq summary:focus-visible { outline: 3px solid #99f6e4; outline-offset: 4px; border-radius: 6px; }
.pgd-faq[open] summary { margin-bottom: .6rem; }
.pgd-faq p { color: var(--pgd-muted); margin: 0; }

/* ---------- Table ---------- */
.pgd-table { margin: 1.25rem 0 0; }
.pgd-table table { border-collapse: collapse; width: 100%; background: #fff; border-radius: 12px; overflow: hidden; font-size: .97rem; }
.pgd-table th, .pgd-table td { border: 1px solid var(--pgd-line); padding: .75rem .9rem; text-align: left; vertical-align: top; }
.pgd-table thead th { background: var(--pgd-navy); color: #fff; font-weight: 700; border-color: var(--pgd-navy); }
.pgd-table td:first-child { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .88rem; color: var(--pgd-brand-dark); white-space: nowrap; width: 12rem; }
.pgd-table table.has-fixed-layout { table-layout: auto; }

/* ---------- Prose (privacy notice) ---------- */
.pgd-prose h2 { font-size: 1.3rem; margin-top: 2rem; }
.pgd-prose h2:first-child { margin-top: 0; }
.pgd-prose p { color: var(--pgd-text); line-height: 1.65; }

/* ---------- Form ---------- */
.pgd-form-wrap {
	background: #fff;
	border: 1px solid var(--pgd-line);
	border-radius: var(--pgd-radius);
	padding: clamp(1.25rem, 3vw, 2rem);
	box-shadow: var(--pgd-shadow);
	color: var(--pgd-text);
	scroll-margin-top: 2rem;
}
.pgd-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.pgd-field { margin: 0 0 1.05rem; border: 0; padding: 0; min-width: 0; }
.pgd-field label,
.pgd-field legend { display: block; font-weight: 650; margin-bottom: .35rem; color: var(--pgd-ink); font-size: .95rem; }
.pgd-opt { font-weight: 400; color: var(--pgd-muted); font-size: .88em; }
.pgd-field input[type="text"],
.pgd-field input[type="email"],
.pgd-field select,
.pgd-field textarea {
	width: 100%;
	box-sizing: border-box;
	padding: .7rem .8rem;
	border: 1px solid #94a3b8;
	border-radius: 10px;
	font: inherit;
	font-size: 1rem;
	background: #fff;
	color: var(--pgd-ink);
}
.pgd-field input:focus-visible,
.pgd-field select:focus-visible,
.pgd-field textarea:focus-visible,
.pgd-check input:focus-visible,
.pgd-radios input:focus-visible {
	outline: 3px solid #99f6e4;
	outline-offset: 1px;
	border-color: var(--pgd-brand);
}
.pgd-radios { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.pgd-radios label { display: inline-flex; gap: .45rem; align-items: center; font-weight: 400; margin: 0; }
.pgd-radios input, .pgd-check input { width: 1.15rem; height: 1.15rem; accent-color: var(--pgd-brand); }
.pgd-check { display: flex; gap: .65rem; align-items: flex-start; }
.pgd-check label { font-weight: 400; margin: 0; }
.pgd-check input { margin-top: .2rem; flex: none; }
.pgd-hint { font-size: .85rem; color: var(--pgd-muted); margin: .35rem 0 0; }
.pgd-submit-row { margin: 1.25rem 0 0; }
.pgd-form-wrap .pgd-submit { cursor: pointer; font-family: inherit; }
.pgd-error-summary {
	border: 2px solid #b91c1c;
	background: #fef2f2;
	color: #7f1d1d;
	padding: 1rem 1.25rem;
	border-radius: 12px;
	margin-bottom: 1.25rem;
}
.pgd-error-summary:focus { outline: 3px solid #fca5a5; }
.pgd-error-summary p { margin: 0 0 .4rem; }
.pgd-error-summary ul { margin: 0; padding-left: 1.2rem; }
.pgd-error-summary a { color: #7f1d1d; }
.pgd-field-error { color: #b91c1c; font-size: .9rem; margin: .35rem 0 0; font-weight: 600; }
.pgd-invalid input, .pgd-invalid select { border-color: #b91c1c; border-width: 2px; }
.pgd-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.pgd-thanks { background: var(--pgd-brand-tint); border-color: #99d6cd; }
.pgd-thanks-title { font-size: 1.35rem; font-weight: 800; color: var(--pgd-ink); margin-top: 0; }
.pgd-form-wrap.pgd-thanks .pgd-submit { display: inline-block; }

/* ---------- Header ---------- */
.pgd-header { background: #fff; border-bottom: 1px solid var(--pgd-line); padding-top: .9rem; padding-bottom: .9rem; }
.pgd-header-inner { gap: 1rem 2rem; }
.pgd-header .wp-block-site-title { font-weight: 800; font-size: 1.2rem; letter-spacing: -0.01em; }
.pgd-header .wp-block-site-title a { color: var(--pgd-ink); text-decoration: none; }
.pgd-header-right { gap: 1.5rem; }
.pgd-header .wp-block-navigation { font-size: .95rem; font-weight: 600; gap: 1.5rem; }
.pgd-header .wp-block-navigation a { text-decoration: none; color: var(--pgd-text); }
.pgd-header .wp-block-navigation a:hover { color: var(--pgd-brand-dark); }
.pgd-header-buttons { margin: 0; }
.pgd-header-cta .wp-block-button__link {
	background: var(--pgd-brand);
	color: #fff;
	border: 2px solid var(--pgd-brand);
	font-size: .9rem;
	padding: .55em 1.15em;
}
.pgd-header-cta .wp-block-button__link:hover { background: var(--pgd-brand-dark); border-color: var(--pgd-brand-dark); color: #fff; }

/* ---------- Footer ---------- */
.pgd-footer { background: var(--pgd-navy); color: #cbd5e1; padding-top: 3.25rem; padding-bottom: 2rem; font-size: .95rem; }
.pgd-footer p { color: #cbd5e1; }
.pgd-footer a { color: #fff; text-underline-offset: 3px; }
.pgd-footer-brand { font-weight: 800; font-size: 1.2rem; color: #fff !important; margin-bottom: .5rem; }
.pgd-footer-h { font-size: .8rem !important; text-transform: uppercase; letter-spacing: .1em; color: #94a3b8 !important; font-weight: 700 !important; margin: 0 0 .75rem; }
.pgd-footer-links { list-style: none; padding: 0 !important; margin: 0; }
.pgd-footer-links li { margin: .4rem 0; }
.pgd-footer-links a { text-decoration: none; }
.pgd-footer-links a:hover { text-decoration: underline; }
.pgd-legal { border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 1.25rem; margin-top: 2.25rem !important; font-size: .84rem !important; color: #94a3b8 !important; }

/* ---------- Small screens ---------- */
@media (max-width: 781px) {
	.pgd-row { grid-template-columns: 1fr; }
	.pgd-grid { margin-bottom: 1rem; gap: 1rem !important; }
	.pgd-badge { left: 1.25rem; }
	.pgd-table td:first-child { white-space: normal; width: auto; }
	.pgd-header-right { gap: .75rem; }
	.pgd-header-cta .wp-block-button__link { padding: .5em .9em; }
}
