.fkt-entry-content > * { margin-block-start: 0; margin-block-end: var(--fkt-space-md); }
.fkt-entry-content > .alignwide { width: min(var(--fkt-content-width), calc(100vw - clamp(2rem, 5vw, 5rem))); max-width: none; margin-inline: 50%; transform: translateX(-50%); }
.fkt-entry-content > .alignfull { width: 100vw; max-width: none; margin-inline: 50%; transform: translateX(-50%); }

.fkt-front-page .fkt-entry-content > :not(.alignfull) {
	width: min(calc(100% - clamp(2rem, 5vw, 5rem)), var(--fkt-content-width));
	margin-inline: auto;
}

.fkt-front-page .fkt-entry-content > .alignwide {
	width: min(calc(100% - clamp(2rem, 5vw, 5rem)), var(--fkt-content-width));
	margin-inline: auto;
	max-width: none;
	transform: none;
}

.fkt-front-page .fkt-entry-content > .alignfull {
	width: 100%;
	margin-inline: 0;
	transform: none;
}

.fkt-front-page-content { width: 100%; overflow: clip; }
.fkt-front-page-content > .wp-block-group.alignfull > .wp-block-group__inner-container,
.fkt-front-page-content > .wp-block-cover.alignfull > .wp-block-cover__inner-container { width: min(calc(100% - clamp(2rem, 5vw, 5rem)), var(--fkt-content-width)); margin-inline: auto; }

/* Startpage presets use the configured site width, including pages created by older theme versions. */
.fkt-front-page-content > .wp-block-group.alignwide > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.fkt-front-page-content > .fkt-home-section > * {
	width: 100%;
	max-width: none !important;
}

.fkt-page-header { margin-bottom: var(--fkt-space-lg); }
.fkt-page-header h1 { max-width: 20ch; }
.fkt-page-header time { display: block; margin-bottom: .55rem; color: var(--fkt-color-muted); font-size: var(--fkt-text-sm); }

.fkt-entry-hero { margin-bottom: var(--fkt-space-lg); overflow: hidden; border-radius: var(--fkt-radius-lg); }
.fkt-entry-hero img { display: block; width: 100%; }

.fkt-post-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: var(--fkt-space-md); }
.fkt-post-card { overflow: hidden; background: var(--fkt-color-surface); border: 1px solid var(--fkt-color-line); border-radius: var(--fkt-radius-lg); box-shadow: var(--fkt-shadow-sm); }
.fkt-post-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.fkt-post-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.fkt-post-card:hover .fkt-post-card-media img { transform: scale(1.025); }
.fkt-post-card-body { padding: var(--fkt-space-md); }
.fkt-post-card-body time { color: var(--fkt-color-muted); font-size: var(--fkt-text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.fkt-post-card h2 { margin-top: .7rem; font-size: var(--fkt-text-xl); }
.fkt-post-card h2 a { color: var(--fkt-color-heading); text-decoration: none; }
.fkt-text-link { font-weight: 750; }

.fkt-empty-state { display: grid; justify-items: start; align-content: center; min-height: 58vh; }
.fkt-empty-state > span { color: var(--fkt-color-primary); font-size: var(--fkt-text-xl); font-weight: 850; }
.fkt-empty-state h1 { max-width: 16ch; }

.wp-block-group.is-style-fkt-panel,
.wp-block-columns.is-style-fkt-panel { padding: var(--fkt-space-lg); background: var(--fkt-color-surface); border: 1px solid var(--fkt-color-line); border-radius: var(--fkt-radius-lg); box-shadow: var(--fkt-shadow-sm); }

.wp-block-cover.fkt-hero { min-height: clamp(520px, 68vh, 760px); }
.wp-block-cover.fkt-hero .wp-block-cover__inner-container { width: min(calc(100% - clamp(2rem, 5vw, 5rem)), var(--fkt-content-width)); }
.wp-block-cover.fkt-hero h1 { max-width: 13ch; font-size: var(--fkt-text-hero); }
.wp-block-cover.fkt-hero p { max-width: 48ch; font-size: var(--fkt-text-lg); }
.wp-block-cover.fkt-hero .wp-block-cover__background,
.fkt-hero-slider__slide .wp-block-cover__background { background: #0b1220 !important; }
.wp-block-cover.fkt-hero .wp-block-cover__inner-container > .wp-block-group > h1,
.wp-block-cover.fkt-hero .wp-block-cover__inner-container > .wp-block-group > p,
.fkt-hero-slider__slide .wp-block-cover__inner-container > h1,
.fkt-hero-slider__slide .wp-block-cover__inner-container > p { color: #fff !important; }

.fkt-home-section {
	padding-block: var(--fkt-space-2-xl);
}

.fkt-hero--search {
	position: relative;
}

.fkt-hero--search .wp-block-cover__inner-container {
	display: grid;
	align-content: center;
	gap: clamp(1.5rem, 3vw, 2.75rem);
	min-height: inherit;
	padding-block: clamp(4rem, 7vw, 6.5rem);
}

.fkt-hero--search .wp-block-cover__inner-container > .wp-block-group {
	display: grid;
	gap: var(--fkt-space-md);
	width: 100%;
	max-width: none !important;
	margin-inline: 0;
}

.fkt-hero--search .wp-block-cover__inner-container > .wp-block-group > :where(h1, p) {
	width: min(100%, 760px);
	max-width: 760px;
	margin-right: auto;
	margin-left: 0;
}

.fkt-hero--search .fkt-hero-copy {
	width: min(100%, 760px) !important;
}

.fkt-hero--search .fk-shortcode-shell,
.fkt-hero-slider__search .fk-shortcode-shell {
	width: 100%;
	max-width: none;
	margin: 0;
	padding-block: 0;
	background: transparent !important;
}

.fkt-hero--search .fk-quick-search,
.fkt-hero-slider__search .fk-quick-search {
	box-shadow: var(--fkt-shadow-md);
}

.fkt-split-hero {
	padding-block: clamp(4rem, 8vw, 8rem);
	background: var(--fkt-color-page);
}

.fkt-split-hero .wp-block-columns {
	gap: clamp(2rem, 6vw, 6rem);
}

.fkt-split-hero__image {
	overflow: hidden;
	border-radius: var(--fkt-radius-lg);
	box-shadow: var(--fkt-shadow-lg);
}

.fkt-split-hero__image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.fkt-kicker {
	margin-bottom: .65rem;
	color: var(--fkt-color-primary);
	font-size: var(--fkt-text-xs);
	font-weight: 850;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.fkt-hero-slider {
	position: relative;
	overflow: hidden;
	background: var(--fkt-color-ink);
}

.fkt-hero-slider__slide {
	display: none;
	min-height: clamp(580px, 72vh, 760px);
}

.fkt-hero-slider__slide:first-child,
.fkt-hero-slider__slide.is-active {
	display: flex;
}

.fkt-hero-slider__slide .wp-block-cover__inner-container {
	width: min(calc(100% - clamp(2rem, 5vw, 5rem)), var(--fkt-content-width));
}

.fkt-hero-slider__slide h1,
.fkt-hero-slider__slide p {
	max-width: 14ch;
}

.fkt-hero-slider__slide p {
	max-width: 48ch;
}

.fkt-hero-slider__search {
	position: absolute;
	right: 0;
	bottom: clamp(2rem, 5vw, 4.5rem);
	left: 0;
	z-index: 3;
	width: min(calc(100% - clamp(2rem, 5vw, 5rem)), var(--fkt-content-width));
	margin-inline: auto;
}

.fkt-hero-slider__controls {
	display: flex;
	align-items: center;
	gap: .55rem;
	position: absolute;
	right: max(clamp(1rem, 4vw, 3rem), calc((100% - var(--fkt-content-width)) / 2));
	top: clamp(1.5rem, 4vw, 3rem);
	z-index: 4;
}

.fkt-hero-slider__controls button {
	display: grid;
	width: 46px;
	height: 46px;
	padding: 0;
	place-items: center;
	border: 1px solid rgba(255,255,255,.38);
	border-radius: 999px;
	background: rgba(13,23,38,.56);
	color: #fff;
	backdrop-filter: blur(12px);
	cursor: pointer;
}

.fkt-hero-slider__controls button:hover,
.fkt-hero-slider__controls button:focus-visible {
	background: var(--fkt-color-primary);
	border-color: var(--fkt-color-primary);
}

.fkt-hero-slider__status {
	min-width: 4.2rem;
	color: #fff;
	font-size: var(--fkt-text-sm);
	font-weight: 750;
	text-align: center;
}

.fkt-comments { margin-top: var(--fkt-space-xl); padding-top: var(--fkt-space-lg); border-top: 1px solid var(--fkt-color-line); }

.nav-links { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: var(--fkt-space-lg); }
.page-numbers { display: grid; place-items: center; min-width: 42px; min-height: 42px; padding: .4rem; border: 1px solid var(--fkt-color-line); border-radius: var(--fkt-radius-sm); background: var(--fkt-color-surface); text-decoration: none; }
.page-numbers.current { background: var(--fkt-color-primary); color: var(--fkt-color-on-primary); border-color: var(--fkt-color-primary); }

/* Core buttons and plugin buttons share one restrained interaction language. */
body.fkt-theme .wp-block-button__link.wp-element-button {
	border: 1px solid transparent;
	background: var(--fkt-color-primary);
	color: var(--fkt-color-on-primary) !important;
	box-shadow: none;
	transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.fkt-theme .wp-block-button__link.wp-element-button:is(:hover, :focus-visible) {
	background: color-mix(in srgb, var(--fkt-color-primary) 88%, #000);
	color: var(--fkt-color-on-primary) !important;
	box-shadow: inset 0 0 0 999px rgba(0, 0, 0, .025);
	transform: translateY(-1px);
}

body.fkt-theme .wp-block-button__link.wp-element-button:active {
	transform: none;
}

@media (max-width: 760px) {
	.fkt-entry-content > .alignwide,
	.fkt-entry-content > .alignfull { width: 100%; margin-inline: 0; transform: none; }

	.fkt-home-section {
		padding-block: var(--fkt-space-xl);
	}

	.fkt-hero--search .wp-block-cover__inner-container {
		padding-block: 3.5rem;
	}

	.fkt-hero-slider__slide {
		min-height: 760px;
	}

	.fkt-hero-slider__search {
		bottom: 1.25rem;
	}

	.fkt-hero-slider__controls {
		top: 1rem;
		right: 1rem;
	}
}
