/* === tokens === */
:root {
	--wp--style--global--content-size: 1180px;
	--wp--style--global--wide-size: 1320px;
	--sf-ink: var(--wp--preset--color--ink);
	--sf-navy: var(--wp--preset--color--navy);
	--sf-muted: var(--wp--preset--color--muted);
	--sf-surface: var(--wp--preset--color--surface);
	--sf-border: var(--wp--preset--color--border);
	--sf-base: var(--wp--preset--color--base);
	--sf-flare: var(--wp--preset--color--flare);
	--sf-flare-dark: var(--wp--preset--color--flare-dark);
	--sf-flare-light: var(--wp--preset--color--flare-light);
	--sf-sky: var(--wp--preset--color--sky);
}

html {
	scroll-behavior: smooth;
}

@font-face {
	font-family: "Space Grotesk";
	src: local("Space Grotesk");
	font-display: swap;
}
/* === base === */
body.full-width-content {
	color: var(--sf-ink);
	background: var(--sf-base);
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	line-height: 1.65;
}

.full-width-content .wp-block-heading {
	font-family: "Space Grotesk", "Inter", sans-serif;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--sf-ink);
	margin: 0;
}

.full-width-content .entry-content p:last-child {
	margin: 0;
}

.full-width-content ul.wp-block-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.full-width-content .entry-content code {
	background: var(--sf-surface);
	border: 1px solid var(--sf-border);
	border-radius: 4px;
	padding: 1px 6px;
	font-size: 0.9em;
}

.site-main .wp-block-group__inner-container {
	padding: 0 !important;
}
/* === header-nav === */
.site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: var(--wp--preset--color--base);
	border-bottom: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 8px 24px -18px rgba(17, 19, 26, 0.25);
}

.main-navigation ul.menu > li.menu-item > a {
	display: flex;
	align-items: center;
	height: auto;
	line-height: 1.2;
	padding: 10px 16px;
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-size: 15px;
	font-weight: 500;
	border-radius: 8px;
	background: transparent;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.main-navigation ul.menu > li.menu-item > a:hover,
.main-navigation ul.menu > li.menu-item > a:focus {
	color: var(--wp--preset--color--flare-dark);
	background: var(--wp--preset--color--surface);
}

.main-navigation ul.menu > li.current-menu-item > a,
.main-navigation ul.menu > li.current_page_item > a {
	color: var(--wp--preset--color--flare-dark);
	background: var(--wp--preset--color--surface);
}

.main-navigation ul.menu > li.menu-item.menu-cta {
	margin-left: 10px;
}

.main-navigation ul.menu > li.menu-item.menu-cta > a {
	height: auto;
	line-height: 1.2;
	background: var(--wp--preset--color--flare);
	color: #fff !important;
	padding: 10px 20px !important;
	border-radius: 8px;
	font-weight: 600;
	font-size: 14.5px;
	box-shadow: 0 1px 2px rgba(17, 19, 26, 0.08);
	transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.main-navigation ul.menu > li.menu-item.menu-cta > a:hover,
.main-navigation ul.menu > li.menu-item.menu-cta > a:focus {
	background: var(--wp--preset--color--flare-dark);
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 14px -4px rgba(255, 90, 31, 0.45);
}

@media (max-width: 768px) {
	.main-navigation:not(.mobile-menu-control-wrapper) #main-nav {
		background: var(--wp--preset--color--base);
	}

	.main-navigation ul.menu {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
		padding: 12px 20px 20px;
	}

	.main-navigation ul.menu > li.menu-item > a {
		width: 100%;
		padding: 12px 14px;
	}

	.main-navigation ul.menu > li.menu-item.menu-cta {
		margin-left: 0;
		margin-top: 6px;
	}

	.main-navigation ul.menu > li.menu-item.menu-cta > a {
		display: flex;
		justify-content: center;
	}
}
/* === buttons === */
.full-width-content .wp-block-buttons {
	gap: 14px;
}

.full-width-content .wp-element-button {
	font-family: "Space Grotesk", sans-serif;
	font-size: 15px;
	font-weight: 600;
	padding: 14px 28px;
	border-radius: 8px;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.sf-btn-primary .wp-element-button {
	background: var(--sf-flare) !important;
	color: #fff !important;
	box-shadow: 0 8px 24px -8px rgba(255, 90, 31, 0.55);
}

.sf-btn-primary .wp-element-button:hover {
	background: var(--sf-flare-dark) !important;
	transform: translateY(-1px);
}

.sf-btn-secondary .wp-element-button {
	background: transparent !important;
	color: var(--sf-ink) !important;
	border: 1px solid var(--sf-border);
}

.sf-btn-secondary .wp-element-button:hover {
	border-color: var(--sf-ink);
	transform: translateY(-1px);
}

.sf-btn-outline .wp-element-button {
	background: transparent !important;
	color: var(--sf-ink) !important;
	border: 1px solid var(--sf-border);
	width: 100%;
	text-align: center;
	justify-content: center;
}

.sf-btn-outline .wp-element-button:hover {
	border-color: var(--sf-ink);
}

.sf-btn-value .wp-element-button {
	background: var(--sf-sky) !important;
	color: #fff !important;
	border: none;
}

.sf-btn-value .wp-element-button:hover {
	background: #1c4fa8 !important;
	transform: translateY(-1px);
}

/* === eyebrow-section === */
.sf-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--sf-flare-dark);
	margin-bottom: 16px;
}

.sf-eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--sf-flare);
	display: inline-block;
}

.sf-section-head {
	max-width: 640px;
	margin: 0 auto 56px;
	text-align: center;
}

.sf-section-title {
	font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
}
/* === faq === */
.sf-faq {
	padding: 48px 24px;
}

.sf-faq-list {
	max-width: 960px;
	margin: 0 auto
}

.sf-faq-item {
	border-bottom: 1px solid var(--sf-border);
	padding: 6px 0;
}

.sf-faq-question {
	font-size: 17px;
	font-weight: 600;
	padding: 18px 32px 18px 0;
	position: relative;
	cursor: pointer;
}

.sf-faq-question::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 14px;
	font-size: 24px;
	font-weight: 400;
	color: var(--sf-flare);
	transition: transform 0.2s ease;
}

.sf-faq-item.is-open .sf-faq-question::after {
	transform: rotate(45deg);
}

.sf-faq-answer {
	color: var(--sf-muted);
	font-size: 15px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease, margin 0.25s ease;
}

.sf-faq-item.is-open .sf-faq-answer {
	max-height: 220px;
	padding-bottom: 18px;
}
/* === final-cta === */
.sf-final-cta {
	background: var(--sf-navy);
	padding: 60px 24px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.sf-final-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 0%, rgba(255, 90, 31, 0.25), transparent 60%);
	pointer-events: none;
}

.sf-final-cta .sf-final-heading {
	color: #fff;
	font-size: clamp(1.9rem, 1.5rem + 1.6vw, 2.6rem);
	max-width: 640px;
	margin: 0 auto 18px;
	position: relative;
}

.sf-final-text {
	color: rgba(255, 255, 255, 0.7);
	font-size: 17px;
	margin-bottom: 34px;
	position: relative;
}

.sf-final-buttons {
	justify-content: center;
	position: relative;
}
/* === footer === */
.footer-widgets,
.site-footer,
.site-info {
	background-color: var(--sf-ink) !important;
	color: rgba(255, 255, 255, 0.4);
}

.sf-footer-columns {
	max-width: 1180px;
	margin: 0 auto;
	gap: 40px !important;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sf-footer-logo {
	color: #fff;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 10px;
}

.site-footer,
.site-info,
.footer-widgets {
	color: rgba(255, 255, 255, 0.5);
	font-size: 14px;
}

.site-footer .wp-block-heading {
	color: #fff;
	font-family: "Space Grotesk", sans-serif;
	font-weight: 600;
	font-size: 16px;
	margin-bottom: 18px;
}

.sf-footer-list li {
	margin-bottom: 12px;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.55);
	font-size: 14px;
	text-decoration: none;
}

.site-footer a:hover {
	color: #fff;
}

.copyright-bar {
	max-width: 1180px;
	margin: 24px auto 0;
	color: rgba(255, 255, 255, 0.4);
	font-size: 13px;
	text-align: center;
}

.footer-widgets-container {
	padding: 80px 40px !important;
}
/* === docs-page === */
.page-id-2 .wp-block-heading {
	line-height: 1.2;
}

.page-id-2 .sf-final-cta .sf-final-heading {
	color: #fff;
	margin: 0 auto 18px;
}

.sf-doc-toc {
	max-width: 1180px;
	margin: 0 auto;
	padding: 22px 24px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 12px;
	border: 1px solid var(--sf-border);
	border-radius: 999px;
	background: var(--sf-surface);
}

.sf-doc-toc li {
	list-style: none;
}

.sf-doc-toc a {
	display: inline-flex;
	color: var(--sf-ink);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	padding: 6px 14px;
	border-radius: 999px;
	border: 1px solid transparent;
}

.sf-doc-toc a:hover {
	color: var(--sf-flare-dark);
	background: var(--sf-base);
	border-color: var(--sf-border);
}

.sf-doc-section {
	max-width: 1180px;
	margin: 0 auto;
	padding: 44px 24px;
	border-top: 1px solid var(--sf-border);
	scroll-margin-top: 96px;
}

.sf-doc-section__head {
	max-width: 720px;
	margin: 0 0 28px;
}

.sf-doc-section__eyebrow {
	color: var(--sf-flare-dark);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin: 0 0 8px;
}

.sf-doc-section__title {
	font-size: 28px;
	margin: 0 0 10px;
}

.sf-doc-section__desc {
	color: var(--sf-muted);
	margin: 0;
}

.sf-doc-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	align-items: start;
}

.sf-doc-card {
	border: 1px solid var(--sf-border);
	border-radius: 14px;
	padding: 22px 24px;
	background: var(--sf-base);
	transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.sf-doc-card:hover {
	border-color: var(--sf-flare-light);
	box-shadow: 0 10px 24px -16px rgba(17, 19, 26, 0.35);
	transform: translateY(-2px);
}

.sf-doc-card__title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 17px;
	margin: 0 0 8px;
}

.sf-doc-card__body {
	color: var(--sf-muted);
	margin: 0;
}

.sf-doc-card__body + .sf-doc-card__body {
	margin-top: 10px;
}

.sf-badge-free,
.sf-badge-pro {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	padding: 3px 9px;
	border-radius: 999px;
	line-height: 1.4;
}

.sf-badge-free {
	color: #1a7f4b;
	background: rgba(26, 127, 75, 0.12);
}

.sf-badge-pro {
	color: var(--sf-flare-dark);
	background: rgba(255, 90, 31, 0.12);
}

.sf-doc-note {
	border-left: 3px solid var(--sf-sky);
	background: var(--sf-surface);
	border-radius: 0 10px 10px 0;
	padding: 14px 18px;
	color: var(--sf-ink);
	margin: 22px 0 0;
}

.sf-doc-note strong {
	color: var(--sf-navy);
}

.sf-doc-steps {
	counter-reset: sf-doc-step;
	margin: 0;
	padding: 0;
}

.sf-doc-steps li {
	list-style: none;
	counter-increment: sf-doc-step;
	position: relative;
	padding: 0 0 16px 38px;
	color: var(--sf-muted);
}

.sf-doc-steps li::before {
	content: counter(sf-doc-step);
	position: absolute;
	left: 0;
	top: 0;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--sf-flare);
	color: #fff;
	font-size: 12.5px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* === info-hero === */
.sf-info-hero {
	padding: 72px 24px 48px;
	text-align: center;
}

.sf-info-hero__inner {
	max-width: 720px;
	margin: 0 auto;
}

.sf-info-eyebrow {
	color: var(--sf-flare-dark);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.sf-info-title {
	font-family: "Space Grotesk", "Inter", sans-serif;
	font-weight: 600;
	font-size: clamp(2rem, 1.6rem + 1.6vw, 2.8rem);
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: var(--sf-ink);
	margin: 0 0 16px;
}

.sf-info-desc {
	color: var(--sf-muted);
	font-size: 17px;
	line-height: 1.6;
	margin: 0;
}

/* === info-section === */
.sf-info-section {
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 24px;
}

.sf-info-section.is-tinted {
	max-width: none;
	background: var(--sf-surface);
	border-top: 1px solid var(--sf-border);
	border-bottom: 1px solid var(--sf-border);
}

.sf-info-section.is-tinted .sf-info-section__inner {
	max-width: 1080px;
	margin: 0 auto;
}

.sf-info-section__head {
	max-width: 640px;
	margin: 0 0 28px;
}

.sf-info-section__eyebrow {
	color: var(--sf-flare-dark);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 8px;
}

.sf-info-section__title {
	font-family: "Space Grotesk", "Inter", sans-serif;
	font-weight: 600;
	font-size: 26px;
	line-height: 1.25;
	color: var(--sf-ink);
	margin: 0 0 8px;
}

.sf-info-section__desc {
	color: var(--sf-muted);
	font-size: 15.5px;
	line-height: 1.6;
	margin: 0;
}

.sf-info-section__body {
	max-width: 680px;
	color: var(--sf-muted);
	font-size: 15.5px;
	line-height: 1.7;
	margin: 0 0 16px;
}

.sf-info-section__body:last-child {
	margin-bottom: 0;
}

/* === info-cards === */
.sf-info-grid > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	align-items: stretch;
}

.sf-info-grid.has-2-cols > .wp-block-group__inner-container {
	grid-template-columns: repeat(2, 1fr);
}

.sf-info-card {
	background: var(--sf-base);
	border: 1px solid var(--sf-border);
	border-radius: 14px;
	padding: 24px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.sf-info-card:hover {
	border-color: var(--sf-flare-light);
	box-shadow: 0 12px 28px rgba(16, 20, 42, 0.08);
	transform: translateY(-2px);
}

.sf-info-card__title {
	font-family: "Space Grotesk", "Inter", sans-serif;
	font-weight: 600;
	font-size: 17px;
	color: var(--sf-ink);
	margin: 0 0 8px;
}

.sf-info-card__body {
	color: var(--sf-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.sf-info-card__body a {
	color: var(--sf-flare-dark);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid var(--sf-flare-light);
}

/* === info-cta === */
.sf-info-cta {
	background: var(--sf-navy);
	border-radius: 20px;
	padding: 44px 32px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.sf-info-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 50% 0%, rgba(255, 90, 31, 0.22), transparent 60%);
	pointer-events: none;
}

.sf-info-cta__inner {
	position: relative;
	max-width: 480px;
	margin: 0 auto;
}

.sf-info-cta__label {
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 10px;
}

.sf-info-cta .sf-info-cta__inner .sf-info-cta__title {
	font-family: "Space Grotesk", "Inter", sans-serif;
	font-weight: 600;
	font-size: 24px;
	color: #fff;
	margin: 0 0 10px;
}

.sf-info-cta__text {
	color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
	line-height: 1.6;
	margin: 0 0 22px;
}

.sf-info-cta__buttons {
	position: relative;
	justify-content: center;
}

.sf-info-cta .sf-btn-secondary .wp-element-button {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.35);
}

.sf-info-cta .sf-btn-secondary .wp-element-button:hover {
	border-color: #fff;
	background: rgba(255, 255, 255, 0.06) !important;
}

/* === info-note === */
.sf-info-note {
	background: var(--sf-surface);
	border: 1px solid var(--sf-border);
	border-left: 3px solid var(--sf-flare);
	border-radius: 10px;
	padding: 16px 20px;
	margin: 24px 0 0;
}

.sf-info-note p {
	color: var(--sf-ink);
	font-size: 14.5px;
	line-height: 1.6;
	margin: 0;
}

.sf-info-note strong {
	color: var(--sf-ink);
}

/* === info-steps === */
.sf-info-steps {
	counter-reset: sf-info-step;
	margin: 0;
	padding: 0;
	max-width: 640px;
}

.sf-info-steps li {
	list-style: none;
	counter-increment: sf-info-step;
	position: relative;
	padding: 0 0 14px 34px;
	color: var(--sf-muted);
	font-size: 15px;
	line-height: 1.6;
}

.sf-info-steps li::before {
	content: counter(sf-info-step);
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--sf-flare);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sf-info-steps li strong {
	color: var(--sf-ink);
}

/* === info-quick-links === */
.sf-info-links > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

.sf-info-link {
	background: var(--sf-base);
	border: 1px solid var(--sf-border);
	border-radius: 10px;
	padding: 14px 18px;
	font-size: 14.5px;
	font-weight: 500;
	margin: 0;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.sf-info-link a {
	color: var(--sf-ink);
	text-decoration: none;
	display: block;
}

.sf-info-link:hover {
	border-color: var(--sf-flare-light);
	background: var(--sf-surface);
}

.sf-info-link:hover a {
	color: var(--sf-flare-dark);
}

.sf-info-link a::after {
	content: "\2192";
	color: var(--sf-flare);
	font-weight: 700;
	margin-left: 6px;
}

/* === legal-content === */
.sf-legal-meta {
	text-align: center;
	color: var(--sf-muted);
	font-size: 14px;
}

.sf-legal-content {
	padding: 8px 0 4px;
}

.sf-legal-content .wp-block-heading {
	margin-top: 40px;
	margin-bottom: 14px;
}

.sf-legal-content > .wp-block-heading:first-child {
	margin-top: 0;
}

.sf-legal-content h2.wp-block-heading {
	font-size: 24px;
	padding-top: 28px;
	border-top: 1px solid var(--sf-border);
}

.sf-legal-content > .wp-block-heading:first-child.wp-block-heading {
	padding-top: 0;
	border-top: none;
}

.sf-legal-content h3.wp-block-heading {
	font-size: 18px;
}

.sf-legal-content p {
	color: var(--sf-muted);
	line-height: 1.7;
	margin-bottom: 16px;
}

.full-width-content .sf-legal-content ul.wp-block-list,
.full-width-content .sf-legal-content ol.wp-block-list {
	color: var(--sf-muted);
	line-height: 1.7;
	margin: 0 0 16px 22px;
	list-style: revert;
}

.sf-legal-content li {
	margin-bottom: 8px;
}

.sf-legal-content strong {
	color: var(--sf-ink);
}

.sf-legal-content a {
	color: var(--sf-flare);
	text-decoration: underline;
}

.sf-legal-content a:hover {
	color: var(--sf-flare-dark);
}

/* === animations === */
.sf-reveal {
	opacity: 1;
	transform: none;
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-reveal-ready .sf-reveal {
	opacity: 0;
	transform: translateY(24px);
}

.js-reveal-ready .sf-reveal.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.sf-reveal,
	.js-reveal-ready .sf-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	html {
		scroll-behavior: auto;
	}

	.sf-doc-card {
		transition: none;
	}

	.sf-doc-card:hover {
		transform: none;
	}

	.sf-info-card {
		transition: none;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
	}
}
/* === responsive === */
@media (max-width: 782px) {
	.sf-eyebrow {
		font-size: 11px;
	}

	.sf-faq {
		padding: 36px 20px;
	}

	.sf-final-cta {
		padding: 44px 20px;
	}

	.sf-doc-toc {
		border-radius: 14px;
	}

	.sf-doc-grid > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.sf-info-grid > .wp-block-group__inner-container,
	.sf-info-grid.has-2-cols > .wp-block-group__inner-container,
	.sf-info-links > .wp-block-group__inner-container {
		grid-template-columns: 1fr;
	}

	.sf-info-hero {
		padding: 56px 20px 40px;
	}

	.sf-legal-content h2.wp-block-heading {
		font-size: 21px;
	}
}
