/*
 * Website Toolkit - component styles for the ported pages.
 * Colours come from the Kadence global palette (Customizer > Colors):
 *   1 primary #059669 · 2 accent #047857 · 3 headings #0f172a · 4 body #334155
 *   5 muted #475569 · 6 subtle #64748b · 7 border #e2e8f0 · 8 page bg #ffffff · 9 tint #f8fafc
 */
:root {
	--wt-primary: var(--global-palette1, #059669);
	--wt-accent: var(--global-palette2, #047857);
	--wt-fg: var(--global-palette3, #0f172a);
	--wt-muted: var(--global-palette5, #475569);
	--wt-subtle: var(--global-palette6, #64748b);
	--wt-border: var(--global-palette7, #e2e8f0);
	--wt-bg: var(--global-palette8, #ffffff);
	--wt-card: var(--global-palette9, #f8fafc);
	--wt-radius: 12px;
	--wt-radius-lg: 24px;
	--wt-primary-soft: color-mix(in srgb, var(--wt-primary) 10%, transparent);
	--wt-primary-line: color-mix(in srgb, var(--wt-primary) 22%, transparent);
}

/* Pages are built full-width; strip Kadence's boxed padding around them. */
.wt-page .entry-content-wrap { padding: 0; }
.wt-page .content-container.site-container { max-width: none; padding: 0; }
.wt-page #primary.content-area { margin-top: 0; margin-bottom: 0; }
.wt-page .entry.single-entry { box-shadow: none; background: transparent; }
.wt-page .entry-content > * { margin-block-start: 0; }

/* Classic themes wrap group content in an extra div; let it fall away so grid/flex rules apply. */
.wp-block-group[class*="wt-"] > .wp-block-group__inner-container { display: contents; }

/* ---- layout ---- */
.wt-section { padding: clamp(56px, 8vw, 96px) 16px; position: relative; overflow: hidden; }
.wt-section--alt { background: color-mix(in srgb, var(--wt-card) 30%, transparent); }
.wt-section--tight { padding-block: 64px; }
.wt-section--flush { padding-top: 0; }
.wt-hero { padding-top: clamp(48px, 7vw, 80px); }
.wt-container { margin-inline: auto; width: 100%; }
.wt-container--wide { max-width: 1280px; }
.wt-container--medium { max-width: 1024px; }
.wt-container--narrow { max-width: 860px; }
.wt-container > * + * { margin-top: 0; }

.wt-grid { display: grid; gap: 24px; }
.wt-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wt-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wt-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wt-grid--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.wt-grid > * { margin: 0 !important; }
@media (max-width: 1024px) {
	.wt-grid--3, .wt-grid--4, .wt-grid--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	.wt-grid--2, .wt-grid--3, .wt-grid--4, .wt-grid--5 { grid-template-columns: 1fr; }
}
.wt-mt { margin-top: 48px !important; }
.wt-mt-xl { margin-top: 96px !important; }
.wt-center, .wt-center * { text-align: center; }
.wt-justify-center { justify-content: center; }

.wt-hero-split { gap: clamp(32px, 6vw, 64px) !important; }
.wt-hero-center { max-width: 900px; margin-inline: auto; text-align: center; display: flex; flex-direction: column; align-items: center; }
.wt-hero-center > * { margin-top: 0; margin-bottom: 24px; }

/* glow orbs behind the home hero */
.wt-orbs::before, .wt-orbs::after {
	content: ""; position: absolute; width: 384px; height: 384px; border-radius: 50%;
	filter: blur(120px); pointer-events: none; z-index: 0;
}
.wt-orbs::before { top: -96px; right: -96px; background: color-mix(in srgb, var(--wt-primary) 14%, transparent); }
.wt-orbs::after { bottom: -96px; left: -96px; background: color-mix(in srgb, var(--wt-accent) 14%, transparent); }
.wt-orbs > * { position: relative; z-index: 1; }

/* ---- typography ---- */
.wt-display { font-size: clamp(2.5rem, 5vw, 3.75rem); font-weight: 800; letter-spacing: -0.025em; line-height: 1.1; margin-bottom: 24px; }
.wt-display--xl { font-size: clamp(2.75rem, 6vw, 4.5rem); }
.wt-h-lg { font-size: 1.875rem; }
.wt-h-md { font-size: 1.5rem; }
.wt-h-sm { font-size: 1.15rem; }
.wt-text-primary, .wt-text-primary a { color: var(--wt-primary) !important; }
.wt-text-danger { color: #f87171; }
.wt-lead { font-size: 1.2rem; line-height: 1.7; color: var(--wt-muted); }
.wt-lead-sm { font-size: 1.1rem; line-height: 1.7; color: var(--wt-muted); }
.wt-muted { color: var(--wt-muted); }
.wt-small { font-size: 0.9rem; }
.wt-note { font-size: 0.85rem; color: var(--wt-subtle); }
.wt-italic { font-style: italic; }
.wt-strong { font-weight: 700; }
.wt-strong-note { margin-top: 32px; font-size: 1.1rem; font-weight: 500; color: rgba(255, 255, 255, 0.85); }
.wt-hero-note { color: var(--wt-primary); font-size: 0.9rem; font-weight: 500; font-style: italic; }
.wt-eyebrow { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--wt-primary); margin-bottom: 8px; }
.wt-code-lg code { font-size: 1.2rem; color: var(--wt-primary); }
.wt-arrow-link a { color: var(--wt-primary); font-weight: 700; text-decoration: none; transition: letter-spacing .2s; }
.wt-arrow-link a:hover { letter-spacing: 0.01em; text-decoration: underline; }

.wt-section-heading { margin-bottom: 48px; }
.wt-section-heading.wt-align-center { text-align: center; }
.wt-section-heading.wt-align-center .wt-lead { max-width: 42rem; margin-inline: auto; }
.wt-section-heading h1, .wt-section-heading h2, .wt-section-heading h3 { font-size: clamp(1.9rem, 3.5vw, 2.25rem); letter-spacing: -0.02em; margin-bottom: 16px; }
.wt-section-heading .wt-lead { font-size: 1.125rem; }

/* ---- badges / chips ---- */
.wt-badge {
	display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px; border-radius: 999px;
	background: var(--wt-primary-soft); border: 1px solid var(--wt-primary-line); color: var(--wt-primary);
	font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
}
.wt-badge--accent { color: var(--wt-accent); background: color-mix(in srgb, var(--wt-accent) 12%, transparent); }
.wt-badge--pulse::before {
	content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wt-primary);
	box-shadow: 0 0 0 0 var(--wt-primary); animation: wt-ping 1.6s infinite;
}
@keyframes wt-ping { 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.wt-pill-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin-bottom: 32px; color: var(--wt-subtle); }
.wt-chip-row { display: flex; flex-wrap: wrap; gap: 12px; }
.wt-chip {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 999px;
	background: color-mix(in srgb, var(--wt-card) 50%, transparent); border: 1px solid var(--wt-border);
	font-size: 0.875rem; color: var(--wt-muted);
}
.wt-chip svg { color: var(--wt-primary); }

/* ---- cards ---- */
.wt-card {
	background: color-mix(in srgb, var(--wt-card) 60%, transparent); border: 1px solid color-mix(in srgb, var(--wt-primary) 8%, var(--wt-border));
	border-radius: var(--wt-radius); padding: 32px; transition: border-color .3s, transform .3s, box-shadow .3s;
}
.wt-card:hover { border-color: var(--wt-primary-line); }
.wt-card > :last-child { margin-bottom: 0; }
.wt-card h2, .wt-card h3, .wt-card h4 { margin-top: 0; margin-bottom: 12px; }
.wt-card .wt-arrow-link { margin-top: auto; }
.wt-grid > .wt-card { display: flex; flex-direction: column; }
.wt-card--center { text-align: center; }
.wt-card--center .wt-icon { margin-inline: auto; }
.wt-card--soft { background: color-mix(in srgb, var(--wt-card) 25%, transparent); border-color: transparent; }
.wt-card--dark { background: var(--wt-bg); }
.wt-card--form { background: color-mix(in srgb, var(--wt-card) 30%, transparent); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .5); }
.wt-card--feature { border-color: var(--wt-primary-line); box-shadow: 0 20px 40px -20px rgba(16, 185, 129, .25); }
.wt-card--primary { background: var(--wt-primary-soft); border-color: var(--wt-primary-line); }
.wt-card--amber { background: rgba(245, 158, 11, .06); border-color: rgba(245, 158, 11, .25); }
.wt-card + .wt-card { margin-top: 24px; }
.wt-grid > .wt-card + .wt-card { margin-top: 0; }

.wt-link-card {
	display: block; padding: 24px; border-radius: 16px; background: var(--wt-bg); border: 1px solid var(--wt-border);
	transition: border-color .3s, box-shadow .3s; position: relative;
}
.wt-link-card:hover { border-color: color-mix(in srgb, var(--wt-primary) 50%, transparent); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .3); }
.wt-link-card h3, .wt-link-card h4 { margin: 12px 0 4px; }
.wt-link-card h3 a, .wt-link-card h4 a { color: var(--wt-fg); text-decoration: none; }
.wt-link-card h3 a::after, .wt-link-card h4 a::after { content: ""; position: absolute; inset: 0; }
.wt-link-card:hover h3 a, .wt-link-card:hover h4 a { color: var(--wt-primary); }

.wt-callout { background: var(--wt-primary-soft); border-color: var(--wt-primary-line); padding: clamp(32px, 5vw, 48px); }

/* ---- icons ---- */
.wt-icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 16px; margin-bottom: 24px; transition: transform .3s; }
.wt-icon--round { border-radius: 50%; width: 64px; height: 64px; }
.wt-icon--plain { width: auto; height: auto; background: none !important; margin-bottom: 12px; }
.wt-card:hover .wt-icon, .wt-link-card:hover .wt-icon { transform: scale(1.1); }
.wt-icon--primary { color: var(--wt-primary); background: var(--wt-primary-soft); }
.wt-icon--blue { color: #60a5fa; background: rgba(96, 165, 250, .1); }
.wt-icon--green { color: #4ade80; background: rgba(74, 222, 128, .1); }
.wt-icon--rose { color: #fb7185; background: rgba(251, 113, 133, .1); }
.wt-icon--purple { color: #c084fc; background: rgba(192, 132, 252, .1); }
.wt-icon--emerald { color: #34d399; background: rgba(52, 211, 153, .1); }
.wt-icon--orange { color: #fb923c; background: rgba(251, 146, 60, .1); }
.wt-icon--amber { color: #fbbf24; background: rgba(251, 191, 36, .1); }
.wt-icon--cyan { color: #22d3ee; background: rgba(34, 211, 238, .1); }
.wt-icon--indigo { color: #818cf8; background: rgba(129, 140, 248, .1); }
.wt-icon--yellow { color: #facc15; background: rgba(250, 204, 21, .1); }

.wt-num {
	width: 48px; height: 48px; border-radius: 50%; background: var(--wt-primary); color: #fff;
	display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 1.25rem; margin-bottom: 20px;
}
.wt-num--square { border-radius: 12px; }

/* ---- lists ---- */
.wt-checks, .entry-content ul.wt-checks { list-style: none; padding-left: 0 !important; margin-left: 0 !important; }
.wt-checks li { position: relative; padding-left: 30px; margin-bottom: 12px; color: var(--wt-muted); }
.wt-checks li::before {
	content: ""; position: absolute; left: 0; top: 0.3em; width: 18px; height: 18px; background: var(--wt-primary);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10 -10'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5l10 -10'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wt-checks--lg li { font-size: 1.1rem; margin-bottom: 18px; }
.wt-checks--2col { columns: 2; column-gap: 32px; }
@media (max-width: 680px) { .wt-checks--2col { columns: 1; } }

/* ---- step rows (alternating screenshots) ---- */
.wt-steps > * + * { margin-top: 96px !important; }
.wt-step-row { gap: clamp(32px, 6vw, 80px) !important; }
@media (max-width: 781px) { .wt-step-row--reverse { flex-direction: column-reverse; } }
.wt-shot img, .wt-shot.wp-block-image img {
	border-radius: 16px; border: 1px solid var(--wt-border); background: color-mix(in srgb, var(--wt-card) 30%, transparent);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .5); padding: 12px; width: 100%; height: auto; transition: transform .5s;
}
.wt-shot:hover img { transform: scale(1.02); }
.wt-shot figcaption { text-align: center; color: var(--wt-subtle); font-size: .875rem; }

.wt-process-step { text-align: center; }
.wt-process-step .wt-num { margin-inline: auto; }

.wt-media-row { gap: 20px !important; align-items: flex-start; margin-bottom: 24px; }
.wt-media-row .wt-icon { margin-bottom: 0; }
@media (max-width: 781px) { .wt-media-row { flex-wrap: nowrap !important; } .wt-media-row > .wp-block-column:last-child:nth-child(3) { flex-basis: auto !important; } }

/* ---- CTA boxes ---- */
.wt-cta-box { text-align: center; border-radius: var(--wt-radius-lg); padding: clamp(32px, 6vw, 48px); border: 1px solid var(--wt-border); }
.wt-cta-box .wt-lead { max-width: 42rem; margin-inline: auto; }
.wt-cta-box h2, .wt-cta-box h3 { margin-top: 0; }
.wt-cta-box--muted { background: color-mix(in srgb, var(--wt-card) 30%, transparent); }
.wt-cta-box--primary { background: color-mix(in srgb, var(--wt-primary) 5%, transparent); border-color: var(--wt-primary-line); }
.wt-cta-box.wt-align-left { text-align: left; }
.wt-cta-primary {
	background: var(--wt-primary); border-radius: var(--wt-radius-lg); padding: clamp(48px, 8vw, 80px) clamp(24px, 6vw, 80px);
	text-align: center; position: relative; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(16, 185, 129, .2);
}
.wt-cta-primary::before, .wt-cta-primary::after { content: ""; position: absolute; width: 256px; height: 256px; border-radius: 50%; filter: blur(64px); }
.wt-cta-primary::before { top: -128px; left: -128px; background: rgba(255, 255, 255, .1); }
.wt-cta-primary::after { bottom: -128px; right: -128px; background: rgba(0, 0, 0, .1); }
.wt-cta-primary > * { position: relative; z-index: 1; }
.wt-cta-primary h2 { color: #fff; font-size: clamp(2.25rem, 4vw, 3rem); font-weight: 800; }
.wt-cta-primary .wt-lead { color: rgba(255, 255, 255, .9); max-width: 42rem; margin-inline: auto; }

/* ---- buttons ---- */
.wp-block-button__link, .wt-btn { border-radius: 8px; font-weight: 600; transition: all .2s; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; border: 1px solid var(--wt-border); color: var(--wt-fg);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wt-card); color: var(--wt-fg); }
.wp-block-button.is-style-wt-light > .wp-block-button__link { background: #fff; color: var(--wt-primary); min-width: 240px; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1); }
.wp-block-button.is-style-wt-light > .wp-block-button__link:hover { background: #f3f4f6; color: var(--wt-primary); }
.wp-block-button.wt-btn-xl > .wp-block-button__link { font-size: 1.5rem; font-weight: 700; padding: 28px 64px; border-radius: 16px; box-shadow: 0 20px 25px -5px rgba(16, 185, 129, .2); }
.wt-btn-block .wp-block-button, .wt-btn-block .wp-block-button__link { width: 100%; text-align: center; }
.wt-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; cursor: pointer;
	background: var(--wt-primary); color: #fff; padding: 14px 24px; font-size: 1.05rem;
}
.wt-btn:hover { background: var(--wt-accent); color: #fff; }
.wt-btn--block { width: 100%; }
.wt-btn--disabled { opacity: .5; pointer-events: none; }

/* ---- forms ---- */
.wt-audit-form { display: flex; flex-direction: column; gap: 8px; }
.wt-audit-form .wt-label { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wt-subtle); margin-top: 8px; }
.wt-audit-form input[type=url], .wt-audit-form input[type=email] {
	width: 100%; background: var(--wt-bg); border: 1px solid var(--wt-border); border-radius: 8px; padding: 12px 16px; color: var(--wt-fg);
}
.wt-audit-form input:focus { outline: 2px solid var(--wt-primary); outline-offset: 1px; }
.wt-audit-form .wt-checkbox { display: flex; gap: 8px; align-items: center; font-size: .8rem; color: var(--wt-subtle); padding: 8px 0; cursor: pointer; }
.wt-audit-form .wt-note { text-align: center; margin: 4px 0 0; }
.wt-audit-form .wt-note a { color: var(--wt-subtle); }
.wt-audit-form .wt-note a:hover { color: var(--wt-primary); }
.wt-audit-form.is-sent > :not(.wt-form-success) { display: none; }
.wt-form-success { text-align: center; padding: 32px 0; }
.wt-form-success .wt-icon { margin-inline: auto; }

/* ---- modal (CSS :target) ---- */
.wt-modal { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: 16px; margin: 0 !important; }
html:not(.wt-js) .wt-modal:target, .wt-modal.is-open { display: flex; }
.wt-modal__backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .8); backdrop-filter: blur(8px); }
.wt-modal__panel {
	position: relative; width: 100%; max-width: 512px; background: var(--wt-card); border: 1px solid var(--wt-border);
	border-radius: var(--wt-radius-lg); padding: 32px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .6);
}
.wt-modal:has(.wp-block-embed) .wt-modal__panel { max-width: 1024px; padding: 0; overflow: hidden; background: #000; }
.wt-modal:has(.wp-block-embed) .wp-block-embed { margin: 0; }
.wt-modal__close { position: absolute; top: 16px; right: 16px; z-index: 2; color: var(--wt-fg); padding: 8px; border-radius: 50%; line-height: 0; background: rgba(0, 0, 0, .3); }
.wt-modal__close:hover { background: rgba(255, 255, 255, .1); color: var(--wt-fg); }
.wt-demo-links { display: grid; gap: 16px; }
.wt-demo-link {
	display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 16px; text-decoration: none;
	background: color-mix(in srgb, var(--wt-bg) 40%, transparent); border: 1px solid var(--wt-border); color: var(--wt-fg);
}
.wt-demo-link:hover { border-color: color-mix(in srgb, var(--wt-primary) 50%, transparent); color: var(--wt-fg); }
.wt-demo-link .wt-icon { margin: 0; width: 48px; height: 48px; flex: none; }
.wt-demo-link > span:nth-child(2) { flex: 1; display: flex; flex-direction: column; }
.wt-demo-link small { color: var(--wt-muted); }
.wt-demo-link > svg { color: var(--wt-subtle); }

/* ---- video ---- */
.wt-video .wp-block-embed { border-radius: var(--wt-radius-lg); overflow: hidden; border: 1px solid var(--wt-border); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .5); margin: 0; }

/* ---- pricing ---- */
.wt-plan { display: flex; flex-direction: column; position: relative; }
.wt-plan .wt-checks { flex: 1; }
.wt-plan--featured { border: 2px solid var(--wt-primary); box-shadow: 0 25px 50px -12px rgba(16, 185, 129, .25); }
@media (min-width: 1025px) { .wt-plans .wt-plan--featured { transform: scale(1.04); z-index: 1; } }
.wt-ribbon {
	position: absolute; top: -14px; left: 50%; transform: translateX(-50%); white-space: nowrap;
	background: var(--wt-primary); color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	padding: 6px 16px; border-radius: 999px;
}
.wt-price { margin: 12px 0; }
.wt-price span { font-size: 2.5rem; font-weight: 800; color: var(--wt-fg); font-family: var(--global-heading-font-family); }
.wt-price small { color: var(--wt-subtle); }
.wt-stat { display: flex; flex-direction: column; align-items: center; margin: 0; }
.wt-stat span { font-size: 1.9rem; font-weight: 800; color: var(--wt-primary); font-family: var(--global-heading-font-family); }
.wt-stat small { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: var(--wt-subtle); }

/* ---- FAQ / details ---- */
.wt-faq { background: color-mix(in srgb, var(--wt-card) 15%, transparent); border: 1px solid var(--wt-border); border-radius: var(--wt-radius-lg); padding: 24px 32px; margin-bottom: 24px; }
.wt-faq--primary { background: color-mix(in srgb, var(--wt-primary) 5%, transparent); border-color: var(--wt-primary-line); }
.wt-faq summary { font-family: var(--global-heading-font-family); font-weight: 700; font-size: 1.25rem; color: var(--wt-fg); cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.wt-faq summary::-webkit-details-marker { display: none; }
.wt-faq summary::after { content: "⌄"; font-size: 1.5rem; transition: transform .3s; color: var(--wt-subtle); }
.wt-faq[open] summary::after { transform: rotate(180deg); }
.wt-faq[open] summary { margin-bottom: 24px; }
.wt-yes { text-align: center; }
.wt-yes span { display: block; font-size: 4rem; font-weight: 900; color: var(--wt-primary); font-family: var(--global-heading-font-family); line-height: 1; }
.wt-yes small { font-size: 1.2rem; font-weight: 700; color: var(--wt-fg); }

/* ---- about portrait ---- */
.wt-portrait { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid var(--wt-border); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .5); }
.wt-portrait figure { margin: 0; }
.wt-portrait img { width: 100%; height: auto; display: block; }
.wt-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15, 23, 42, .8), transparent 50%); pointer-events: none; }
.wt-portrait__caption { position: absolute; left: 32px; bottom: 32px; z-index: 1; }
.wt-portrait__caption p { margin: 0; color: var(--wt-muted); font-size: .9rem; }
.wt-portrait__caption strong { font-size: 1.25rem; color: var(--wt-fg); font-family: var(--global-heading-font-family); }

/* ---- scroll-tracking settings mock ---- */
.wt-mock h3 { display: flex; align-items: center; gap: 12px; font-size: 1.25rem; }
.wt-mock h3 svg { color: var(--wt-primary); }
.wt-mock__row { display: flex; justify-content: space-between; align-items: center; padding: 16px; background: var(--wt-bg); border: 1px solid var(--wt-border); border-radius: 12px; margin-bottom: 16px; }
.wt-mock__row--stack { flex-direction: column; align-items: stretch; gap: 12px; }
.wt-mock__row--stack > div { display: flex; justify-content: space-between; }
.wt-mock__row strong { color: var(--wt-primary); }
.wt-toggle { width: 44px; height: 24px; border-radius: 999px; background: var(--wt-primary); position: relative; }
.wt-toggle::after { content: ""; position: absolute; right: 4px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: #fff; }
.wt-meter { display: block; height: 8px; border-radius: 999px; background: var(--wt-border); overflow: hidden; }
.wt-meter span { display: block; height: 100%; background: var(--wt-primary); }

/* ---- docs / help ---- */
.wt-docs-layout { gap: 48px !important; }
.wt-sticky { position: sticky; top: 112px; }
@media (max-width: 781px) { .wt-sticky { position: static; } }
.wt-doc-section { padding-top: 48px; margin-top: 48px; border-top: 1px solid color-mix(in srgb, var(--wt-border) 60%, transparent); scroll-margin-top: 112px; }
.wt-doc-section p, .wt-doc-section li { color: var(--wt-muted); line-height: 1.75; }
.wt-step-head .wt-num { width: 40px; height: 40px; font-size: 1rem; margin-bottom: 12px; }
.wt-toc { background: color-mix(in srgb, var(--wt-card) 30%, transparent); border: 1px solid var(--wt-border); border-radius: 16px; padding: 24px; margin-bottom: 24px; }
.wt-toc__title { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wt-subtle); margin-bottom: 12px; }
.wt-toc ul { list-style: none; margin: 0; padding: 0; }
.wt-toc li { margin: 0; }
.wt-toc a { display: block; padding: 6px 0; color: var(--wt-muted); text-decoration: none; font-size: .9rem; }
.wt-toc a:hover, .wt-toc a.is-active { color: var(--wt-primary); }
.wt-toc__extra:first-of-type { border-top: 1px solid var(--wt-border); margin-top: 12px; padding-top: 12px; }
.wt-breadcrumb, .wt-back-link { font-size: .875rem; color: var(--wt-subtle); }
.wt-breadcrumb a, .wt-back-link a { color: var(--wt-subtle); text-decoration: none; }
.wt-breadcrumb a:hover, .wt-back-link a:hover { color: var(--wt-primary); }
.wt-title-row { display: flex; align-items: center; gap: 20px; }
.wt-title-row .wt-icon { margin: 0; flex: none; }
.wt-title-row h1 { margin: 0; }
.wt-prose h2 { margin-top: 48px; }
.wt-note-box { background: var(--wt-primary-soft); border-left: 4px solid var(--wt-primary); border-radius: 8px; padding: 16px 20px; margin: 24px 0; }
.wt-note-box p:last-child { margin-bottom: 0; }
.wt-danger-box { background: rgba(239, 68, 68, .05); border: 1px solid rgba(239, 68, 68, .25); border-radius: 16px; padding: 32px; margin-top: 48px; }
.wt-danger-title { display: flex; align-items: center; gap: 8px; color: #f87171; }
.wt-contact-row { display: flex; flex-wrap: wrap; gap: 16px; margin: 24px 0; }
.wt-contact { display: inline-flex; align-items: center; gap: 12px; padding: 16px 24px; border-radius: 16px; border: 1px solid var(--wt-border); background: color-mix(in srgb, var(--wt-card) 40%, transparent); color: var(--wt-fg); text-decoration: none; font-weight: 600; }
.wt-contact:hover { border-color: var(--wt-primary); color: var(--wt-primary); }
.wt-endpoints { display: grid; gap: 8px; margin: 16px 0 24px; }
.wt-endpoint { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 14px; background: var(--wt-bg); border: 1px solid var(--wt-border); border-radius: 10px; font-size: .875rem; }
.wt-endpoint code { background: none; color: var(--wt-fg); padding: 0; }
.wt-endpoint__note { color: var(--wt-subtle); }
.wt-method { padding: 2px 8px; border-radius: 4px; font-size: .65rem; font-weight: 700; }
.wt-method--get { background: rgba(16, 185, 129, .1); color: #34d399; }
.wt-method--post { background: rgba(59, 130, 246, .1); color: #60a5fa; }
.wt-tool-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 16px 0 32px; }
.wt-tool { padding: 14px; border: 1px solid var(--wt-border); border-radius: 12px; background: color-mix(in srgb, var(--wt-card) 30%, transparent); }
.wt-tool code { color: var(--wt-primary); background: none; padding: 0; display: block; margin-bottom: 4px; }
.wt-tool span { font-size: .8rem; color: var(--wt-subtle); }
.wt-copy-fields { display: grid; gap: 16px; margin: 16px 0 32px; }
.wt-copy-field { padding: 16px; border: 1px solid var(--wt-border); border-radius: 12px; background: color-mix(in srgb, var(--wt-card) 30%, transparent); }
.wt-copy-field__label { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wt-subtle); margin-bottom: 8px; display: flex; gap: 8px; align-items: center; }
.wt-copy-field__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: var(--wt-bg); padding: 10px 14px; border-radius: 8px; }
.wt-copy-field__row code { background: none; padding: 0; color: var(--wt-primary); }
.wt-copy { background: none; border: 0; color: var(--wt-subtle); cursor: pointer; padding: 4px; }
.wt-copy:hover, .wt-copy.is-copied { color: var(--wt-primary); }
.wt-status-list { list-style: none; padding: 0; margin: 0; border: 1px solid var(--wt-border); border-radius: 16px; overflow: hidden; }
.wt-status-list li { display: flex; justify-content: space-between; padding: 16px 24px; border-bottom: 1px solid var(--wt-border); margin: 0; }
.wt-status-list li:last-child { border-bottom: 0; }
.wt-status { color: var(--wt-primary); font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.wt-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wt-primary); }

/* code + tables (pages and blog posts) */
.wp-block-code { background: #020617; border: 1px solid var(--wt-border); border-radius: 12px; padding: 20px; color: #e2e8f0; font-size: .85rem; overflow-x: auto; }
.wp-block-code code { background: none; color: inherit; white-space: pre; }
.wp-block-table { border: 1px solid rgba(255, 255, 255, .2); border-radius: 12px; overflow-x: auto; margin: 32px 0; }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: .9rem; }
.wp-block-table th { background: rgba(255, 255, 255, .08); color: var(--wt-fg); text-align: left; }
.wp-block-table th, .wp-block-table td { padding: 14px 16px; border: 1px solid rgba(255, 255, 255, .15); vertical-align: top; }
.wp-block-table td { color: var(--wt-muted); }
:not(pre) > code { background: rgba(255, 255, 255, .08); padding: 2px 6px; border-radius: 4px; font-size: .875em; }

/* ---- blog ---- */
.single-post .entry-content p, .single-post .entry-content li { color: var(--wt-muted); line-height: 1.8; }
.single-post .entry-content h2, .single-post .entry-content h3 { margin-top: 56px; }
.single-post .entry-content a { color: var(--wt-primary); font-weight: 600; text-underline-offset: 4px; text-decoration-color: color-mix(in srgb, var(--wt-primary) 30%, transparent); }
.single-post .entry-content .is-style-cta-link { font-weight: 700; }
.single-post .entry-content .wp-block-image img { border-radius: 16px; border: 1px solid var(--wt-border); }

.entry-taxonomies .category-links a, .loop-entry .entry-taxonomies a {
	display: inline-block; padding: 4px 12px; border-radius: 999px; background: var(--wt-primary-soft); border: 1px solid var(--wt-primary-line);
	color: var(--wt-primary) !important; font-size: .65rem !important; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; text-decoration: none;
}
.loop-entry { border: 1px solid color-mix(in srgb, var(--wt-primary) 10%, transparent); border-radius: var(--wt-radius) !important; transition: border-color .3s; }
.loop-entry:hover { border-color: color-mix(in srgb, var(--wt-primary) 30%, transparent); }
.loop-entry .entry-title a:hover { color: var(--wt-primary); }
.loop-entry .post-more-link { color: var(--wt-primary); font-weight: 700; }
.loop-entry.sticky { background: color-mix(in srgb, var(--wt-primary) 5%, var(--wt-card)); box-shadow: 0 0 0 1px var(--wt-primary-line); position: relative; }
.loop-entry.sticky::before {
	content: "📌 Pinned"; position: absolute; top: 0; right: 0; padding: 4px 10px; border-radius: 0 12px 0 12px;
	background: var(--wt-primary-soft); color: var(--wt-primary); font-size: .65rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.wt-blog-intro { text-align: center; max-width: 48rem; margin: 0 auto 64px; }
.wt-post-cta { margin-top: 64px; padding-top: 48px; border-top: 1px solid var(--wt-border); }
.wt-post-back { text-align: center; margin-top: 48px; }
.wt-post-back a { color: var(--wt-muted); text-decoration: none; font-weight: 500; }
.wt-post-back a:hover { color: var(--wt-primary); }

/* ---- header & footer polish ---- */
/* Border + blur live on the sticky row itself: a backdrop-filter on an ancestor would break Kadence's position:fixed sticky header. */
#masthead .site-main-header-wrap .site-header-row-container-inner { border-bottom: 1px solid color-mix(in srgb, var(--wt-border) 60%, transparent); }
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner { backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.header-navigation .header-menu-container ul ul.sub-menu { border: 1px solid var(--wt-border); border-radius: 12px; overflow: hidden; }
.header-navigation .menu-item .menu-item-description, .wt-menu-desc { display: block; font-size: .75rem; color: var(--wt-subtle); font-weight: 400; margin-top: 2px; }
.wt-footer-brand { font-family: var(--global-heading-font-family); font-weight: 700; font-size: 1.25rem; color: var(--wt-fg); text-decoration: none; }
.wt-footer-brand span { color: var(--wt-primary); }
.wt-social { display: flex; gap: 12px; margin-top: 16px; }
.wt-social a { display: inline-flex; padding: 8px; border-radius: 50%; background: var(--wt-card); color: var(--wt-fg); }
.wt-social a:hover { background: var(--wt-primary-soft); color: var(--wt-primary); }
.site-footer .widget-title, .site-footer h3 { font-size: 1rem; }
.site-footer ul.wt-footer-links { list-style: none; padding: 0; margin: 0; }
.site-footer ul.wt-footer-links li {  font-size: .875rem; }
.site-footer ul.wt-footer-links a { color: var(--wt-muted); text-decoration: none; }
.site-footer ul.wt-footer-links a:hover { color: var(--wt-primary); }
.wt-copy--code { position: absolute; top: 8px; right: 8px; font-size: .7rem; border: 1px solid var(--wt-border); border-radius: 6px; padding: 2px 8px; background: var(--wt-card); }
@media (min-width: 768px) {
	.site-bottom-footer-inner-wrap .site-footer-section:last-child { justify-content: flex-end; }
}

/* Same child rules, reaching through the classic-theme inner container. */
.wt-grid > .wp-block-group__inner-container > * { margin: 0 !important; }
.wt-grid > .wp-block-group__inner-container > .wt-card { display: flex; flex-direction: column; }
.wt-hero-center > .wp-block-group__inner-container > * { margin-top: 0; margin-bottom: 24px; }
.wt-steps > .wp-block-group__inner-container > * + * { margin-top: 96px !important; }
.wt-card > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.wt-card > .wp-block-group__inner-container > :first-child,
.wt-cta-box > .wp-block-group__inner-container > :first-child,
.wt-container > :first-child { margin-top: 0; }
.wt-orbs > .wp-block-group__inner-container > *, .wt-cta-primary > .wp-block-group__inner-container > * { position: relative; z-index: 1; }
.wt-card .wt-arrow-link { margin-top: auto; padding-top: 8px; }

/* Demo modal: matches the React "Choose a Demo" dialog */
.wt-modal__panel h3 { margin: 0 40px 4px 0; font-size: 1.5rem; }
.wt-modal__panel h3 + .wt-muted { font-size: .875rem; margin-bottom: 32px; }
.wt-modal__close { top: 28px; right: 24px; background: none; }
.wt-modal__footer { margin-top: 32px !important; padding-top: 32px; border-top: 1px solid var(--wt-border); }
.wt-modal__footer .wp-block-button__link { color: var(--wt-fg) !important; }
.wt-demo-link .wt-icon { background: var(--wt-card); border-radius: 12px; }
.wt-demo-link strong { font-size: 1.1rem; font-family: var(--global-heading-font-family); }
.wt-demo-link:hover > svg { color: var(--wt-primary); }

/* Cards only stretch to fill height when they are the sole item in a grid cell / column. */
.wt-grid > .wt-card, .wt-grid > .wp-block-group__inner-container > .wt-card,
.wp-block-column > .wt-card:only-child { height: 100%; }
.wt-card .wp-block-separator { width: 100%; max-width: none; border: 0; border-top: 1px solid var(--wt-border); margin: 24px 0; opacity: 1; }
.wt-card .wt-title-row { margin-bottom: 16px; gap: 12px; }
.wt-card .wt-title-row h2, .wt-card .wt-title-row h3 { margin: 0; }
.wt-price--primary { margin-bottom: 0; }
.wt-price--primary span { color: var(--wt-primary); font-size: 2rem; }
.wt-price--primary + .wt-note { margin-top: 0; }
.wt-card--dark { border-color: var(--wt-border); border-radius: var(--wt-radius-lg); }
.wt-mt-sm { margin-top: 32px !important; }
.wp-block-button.wt-btn-xl > .wp-block-button__link { display: block; }
.wt-card .wp-block-separator, .wt-card .wp-block-separator:not(.is-style-wide):not(.is-style-dots) { width: 100% !important; max-width: none !important; }
.wt-price--primary { margin-top: 0; }
.wt-price--primary + .wt-note, .wt-card .wt-price + p { margin-top: -4px; }
.wp-block-button.is-style-outline > .wp-block-button__link, .wp-block-button.is-style-outline > .wp-block-button__link:hover { color: var(--wt-fg) !important; border-color: var(--wt-border) !important; }
/* Card titles stay card-sized even when they are H2s (Focus Mode, Feedback). */
.wt-card h2:not(.wt-h-md):not(.wt-h-lg), .wt-card h3:not(.wt-h-md):not(.wt-h-lg) { font-size: 1.25rem; line-height: 1.35; }
.wt-shot--hero img { padding: 0; background: #fff; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .6), 0 0 0 1px var(--wt-border); }
.wt-shot--hero img { max-height: 460px; object-fit: cover; object-position: top center; }

/* ==========================================================================
   Light scheme: overrides for colours that are not palette-driven.
   ========================================================================== */

/* Pastel wash behind the header + top of every page, fading into white. */
body #wrapper.site {
	position: relative;
	background:
		radial-gradient(38% 55% at 48% 0%, rgba(244, 208, 240, .75), transparent 70%),
		radial-gradient(32% 50% at 18% 38%, rgba(221, 214, 254, .6), transparent 70%),
		radial-gradient(40% 55% at 55% 62%, rgba(186, 230, 253, .7), transparent 72%),
		radial-gradient(30% 45% at 88% 45%, rgba(204, 251, 241, .7), transparent 70%),
		linear-gradient(#f8fafc, #f8fafc);
	background-size: 100% 900px;
	background-repeat: no-repeat;
	background-color: var(--wt-bg);
}
body #wrapper.site::before {
	content: ""; position: absolute; left: 0; right: 0; top: 600px; height: 300px; pointer-events: none;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--wt-bg));
}
body #wrapper.site > * { position: relative; }
.wt-page .entry.single-entry, .wt-page .content-bg, .single-post .content-bg, .blog .content-bg { background: transparent; }

/* Header sits on the wash; becomes frosted white once stuck. */
#masthead .site-main-header-wrap .site-header-row-container-inner { border-bottom-color: rgba(15, 23, 42, .06); }
.header-navigation .header-menu-container ul ul.sub-menu { box-shadow: 0 12px 32px -8px rgba(15, 23, 42, .15); }

/* Cards: white on tint, hairline border, soft shadow. */
.wt-card { background: #fff; border-color: var(--wt-border); box-shadow: 0 1px 3px rgba(15, 23, 42, .05); }
.wt-card:hover { box-shadow: 0 10px 30px -12px rgba(15, 23, 42, .15); }
.wt-card--soft { background: var(--wt-card); border-color: transparent; box-shadow: none; }
.wt-card--form, .wt-card--feature { box-shadow: 0 20px 40px -20px rgba(15, 23, 42, .18); }
.wt-card--primary, .wt-callout { background: color-mix(in srgb, var(--wt-primary) 6%, #fff); }
.wt-section--alt { background: var(--wt-card); }
.wt-link-card { background: #fff; }
.wt-link-card:hover { box-shadow: 0 16px 30px -12px rgba(15, 23, 42, .18); }
.wt-cta-box--muted { background: var(--wt-card); }
.wt-cta-box--primary { background: color-mix(in srgb, var(--wt-primary) 5%, #fff); }
.wt-faq { background: #fff; }
.wt-toc, .wt-chip { background: rgba(255, 255, 255, .7); }

/* Screenshots, video, portrait, modal */
.wt-shot img, .wt-shot.wp-block-image img { background: #fff; box-shadow: 0 20px 40px -18px rgba(15, 23, 42, .25); }
.wt-shot--hero img { box-shadow: 0 25px 50px -20px rgba(15, 23, 42, .3), 0 0 0 1px var(--wt-border); }
.wt-video .wp-block-embed, .wt-portrait { box-shadow: 0 25px 50px -20px rgba(15, 23, 42, .3); }
.wt-portrait__caption p { color: rgba(255, 255, 255, .85); }
.wt-portrait__caption strong { color: #fff; }
.wt-modal__backdrop { background: rgba(15, 23, 42, .45); }
.wt-modal__panel { background: #fff; box-shadow: 0 25px 50px -12px rgba(15, 23, 42, .35); }
.wt-modal__close { background: none; }
.wt-modal__close:hover { background: rgba(15, 23, 42, .06); }
.wt-demo-link { background: var(--wt-card); }
.wt-demo-link .wt-icon { background: #fff; }
.wt-plan--featured { box-shadow: 0 25px 50px -20px rgba(5, 150, 105, .35); }

/* Icon tiles: darker tints so they read on white */
.wt-icon--blue { color: #2563eb; background: rgba(37, 99, 235, .08); }
.wt-icon--green { color: #16a34a; background: rgba(22, 163, 74, .08); }
.wt-icon--rose { color: #e11d48; background: rgba(225, 29, 72, .08); }
.wt-icon--purple { color: #9333ea; background: rgba(147, 51, 234, .08); }
.wt-icon--emerald { color: #059669; background: rgba(5, 150, 105, .08); }
.wt-icon--orange { color: #ea580c; background: rgba(234, 88, 12, .08); }
.wt-icon--amber { color: #d97706; background: rgba(217, 119, 6, .08); }
.wt-icon--cyan { color: #0891b2; background: rgba(8, 145, 178, .08); }
.wt-icon--indigo { color: #4f46e5; background: rgba(79, 70, 229, .08); }
.wt-icon--yellow { color: #ca8a04; background: rgba(202, 138, 4, .08); }
.wt-text-danger, .wt-danger-title { color: #dc2626; }
.wt-method--get { color: #047857; }
.wt-method--post { color: #1d4ed8; }

/* Tables + inline code on white (code blocks stay dark for contrast) */
.wp-block-table { border-color: var(--wt-border); }
.wp-block-table th { background: var(--wt-card); }
.wp-block-table th, .wp-block-table td { border-color: var(--wt-border); }
:not(pre) > code { background: #f1f5f9; color: #0f172a; }
.wt-copy-field__row, .wt-endpoint, .wt-mock__row { background: #fff; }
.wt-copy--code { background: #1e293b; color: #e2e8f0; border-color: #334155; }

/* Blog cards */
.loop-entry { background: #fff; box-shadow: 0 1px 3px rgba(15, 23, 42, .05); }
.loop-entry.sticky { background: color-mix(in srgb, var(--wt-primary) 5%, #fff); }
.wt-portrait .wp-block-image, .wt-portrait figure { margin: 0 !important; }
.wt-portrait img { vertical-align: top; }

/* Tighter vertical rhythm between sections. */
.wt-section { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(40px, 5vw, 64px); }
.wt-hero { padding-top: clamp(40px, 5vw, 64px); padding-bottom: clamp(24px, 3vw, 40px); }
.wt-section--flush { padding-top: 0; }
.wt-section-heading { margin-bottom: 36px; }
.wt-section-heading > .wp-block-group__inner-container > :first-child { margin-top: 0; }
.wt-steps > * + *, .wt-steps > .wp-block-group__inner-container > * + * { margin-top: 64px !important; }
.wt-step-row h3, .wt-num + h3, .wt-num + .wp-block-heading { margin-top: 0 !important; }
.wt-step-row .wt-num { margin-bottom: 16px; }
.wt-mt-xl { margin-top: 64px !important; }
.wt-hero-split p:last-child, .wt-hero-split .wp-block-buttons:last-child { margin-bottom: 0; }
/* No stray theme margins at the top/bottom edge of a section. */
.wt-section .wp-block-columns { margin-bottom: 0; }
.wt-container > .wp-block-group__inner-container > :first-child,
.wt-container > :first-child { margin-top: 0 !important; }
.wt-container > .wp-block-group__inner-container > :last-child,
.wt-container > :last-child { margin-bottom: 0 !important; }
.wt-section-heading h1, .wt-section-heading h2, .wt-section-heading h3 { margin-top: 0 !important; }
.wt-section-heading .wt-lead { margin-bottom: 0; }
.wt-section, .wt-section.wp-block-group { margin-top: 0 !important; margin-bottom: 0 !important; }
