/*
Theme Name: Seonami
Description: Gutenberg-first block theme for Seonami with a production-oriented visual system, FSE templates, and RTL-first typography.
Author: Seonami
Version: 0.7.0
Requires at least: 7.1
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: seonami
Tags: block-patterns, full-site-editing, rtl-language-support, translation-ready, wide-blocks
*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}


img,
svg,
video {
	max-width: 100%;
}

::selection {
	background: var(--wp--preset--color--lavender);
	color: var(--wp--preset--color--ink);
}

mark {
	background: linear-gradient(transparent 58%, var(--wp--preset--color--lavender) 58%);
	color: var(--wp--preset--color--ink);
	padding-inline: 0.08em;
}

/* Header ------------------------------------------------------------------ */

.seonami-site-header {
	position: relative;
	z-index: 20;
	background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.seonami-header-inner {
	min-height: 76px;
}

.seonami-header-brand {
	min-width: max-content;
}

.seonami-header-brand .wp-block-site-logo {
	margin: 0;
}

.seonami-header-brand .wp-block-site-title {
	margin: 0;
}

.seonami-primary-nav {
	min-width: 0;
}

.seonami-primary-nav .wp-block-navigation__container {
	row-gap: 0.35rem;
}

.seonami-primary-nav .wp-block-navigation-item__content,
.seonami-primary-nav .wp-block-home-link__content {
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--ink);
	padding: 0.55rem 0.72rem;
	transition: background-color 160ms ease, color 160ms ease;
}

.seonami-primary-nav .wp-block-navigation-item__content:hover,
.seonami-primary-nav .wp-block-home-link__content:hover,
.seonami-primary-nav .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--soft);
	color: var(--wp--preset--color--primary-dark);
}

.seonami-header-cta .wp-element-button {
	box-shadow: 0 8px 22px rgb(15 107 120 / 0.18);
	white-space: nowrap;
}

.wp-block-button.is-style-outline .wp-element-button {
	background: transparent;
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--ink);
}

.wp-block-button.is-style-outline .wp-element-button:hover {
	background: var(--wp--preset--color--soft);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-dark);
}

/* Front page --------------------------------------------------------------- */

.seonami-home-hero {
	position: relative;
	isolation: isolate;
	background:
		radial-gradient(circle at 12% 12%, rgb(15 107 120 / 0.10), transparent 26rem),
		linear-gradient(180deg, var(--wp--preset--color--canvas), var(--wp--preset--color--surface));
}

.seonami-home-hero::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--wp--preset--color--border), transparent);
	z-index: -1;
}

.seonami-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: fit-content;
	margin: 0;
	border: 1px solid rgb(15 107 120 / 0.18);
	border-radius: var(--wp--custom--radius--pill);
	background: rgb(255 255 255 / 0.72);
	color: var(--wp--preset--color--primary-dark);
	padding: 0.48rem 0.78rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
}

.seonami-hero-title {
	max-width: 14ch;
	margin-block: 1.25rem 1rem;
	text-wrap: balance;
}

.seonami-hero-lead {
	max-width: 39rem;
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lg);
	line-height: 1.95;
}

.seonami-hero-actions {
	margin-top: 1.75rem;
}

.seonami-trust-row {
	margin-top: 2rem;
	padding-top: 1.35rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.seonami-trust-item {
	margin: 0;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 500;
}

.seonami-system-card {
	position: relative;
	overflow: hidden;
	background: var(--wp--preset--color--ink);
	border: 1px solid rgb(255 255 255 / 0.08);
	border-radius: var(--wp--custom--radius--xl);
	box-shadow: var(--wp--preset--shadow--lg);
	color: var(--wp--preset--color--white);
}

.seonami-system-card::before {
	content: "";
	position: absolute;
	inset-inline-end: -8rem;
	top: -10rem;
	width: 22rem;
	height: 22rem;
	border-radius: 50%;
	background: rgb(15 107 120 / 0.36);
	filter: blur(2px);
	pointer-events: none;
}

.seonami-system-head {
	position: relative;
	z-index: 1;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgb(255 255 255 / 0.10);
}

.seonami-system-kicker {
	margin: 0;
	color: var(--wp--preset--color--lavender);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.05em;
}

.seonami-system-title {
	margin: 0.4rem 0 0;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--2xl);
}

.seonami-system-stack {
	position: relative;
	z-index: 1;
	margin-top: 1.25rem;
}

.seonami-system-row {
	background: rgb(255 255 255 / 0.055);
	border: 1px solid rgb(255 255 255 / 0.08);
	border-radius: var(--wp--custom--radius--md);
	padding: 1rem 1.05rem;
}

.seonami-system-row + .seonami-system-row {
	margin-top: 0.75rem;
}

.seonami-system-number {
	margin: 0;
	color: var(--wp--preset--color--lavender);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
}

.seonami-system-name {
	margin: 0;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
}

.seonami-status-pill {
	margin: 0;
	border-radius: var(--wp--custom--radius--pill);
	background: rgb(255 255 255 / 0.08);
	color: var(--wp--preset--color--lavender);
	padding: 0.35rem 0.65rem;
	font-size: 0.7rem;
	font-weight: 700;
	white-space: nowrap;
}

.seonami-section-heading {
	max-width: 18ch;
	margin-inline: auto;
	text-wrap: balance;
}

.seonami-section-lead {
	max-width: 45rem;
	margin-inline: auto;
	color: var(--wp--preset--color--muted);
	text-wrap: pretty;
}

.seonami-service-card {
	position: relative;
	height: 100%;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.seonami-service-card:hover {
	transform: translateY(-3px);
	border-color: rgb(15 107 120 / 0.30);
	box-shadow: var(--wp--preset--shadow--md);
}

.seonami-service-index {
	margin: 0 0 1.1rem;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	letter-spacing: 0.08em;
}

.seonami-service-card h3 {
	margin-top: 0;
}

.seonami-service-card p:last-child {
	margin-bottom: 0;
}

.seonami-process-shell {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
}

.seonami-process-shell h2,
.seonami-process-shell h3 {
	color: var(--wp--preset--color--white);
}

.seonami-process-shell .seonami-eyebrow {
	background: rgb(255 255 255 / 0.06);
	border-color: rgb(255 255 255 / 0.12);
	color: var(--wp--preset--color--lavender);
}

.seonami-process-step {
	border-top: 1px solid rgb(255 255 255 / 0.12);
	padding-top: 1.25rem;
}

.seonami-process-step:first-child {
	border-top: 0;
	padding-top: 0;
}

.seonami-process-step p {
	color: var(--wp--preset--color--lavender);
}

.seonami-principle-card {
	height: 100%;
	background: var(--wp--preset--color--soft);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
}

.seonami-article-card {
	height: 100%;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
}

.seonami-article-card .wp-block-post-featured-image {
	margin: 0;
}

.seonami-article-card .wp-block-post-featured-image img {
	border-radius: 0;
}

.seonami-article-card-content {
	padding: 1.35rem;
}

.seonami-home-faq .wp-block-details {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	padding: 1rem 1.1rem;
}

.seonami-home-faq .wp-block-details + .wp-block-details {
	margin-top: 0.75rem;
}

/* Generic pages ------------------------------------------------------------ */

.seonami-page-title-band {
	background:
		radial-gradient(circle at 80% 0%, rgb(15 107 120 / 0.08), transparent 22rem),
		var(--wp--preset--color--canvas);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.seonami-page-title-band .wp-block-post-title {
	max-width: 20ch;
	margin-bottom: 0;
	text-wrap: balance;
}

.seonami-page-content {
	padding-block: clamp(2.75rem, 6vw, 5.5rem);
}

.seonami-page-content > :where(p, h2, h3, h4, ul, ol, blockquote, .wp-block-list, .wp-block-table) {
	max-width: 780px;
	margin-inline: auto;
}

.seonami-page-content > p {
	font-size: 1.04rem;
	line-height: 2;
}

.seonami-page-content > h2 {
	margin-top: 2.5em;
}

.seonami-page-content > h3 {
	margin-top: 2em;
}

.seonami-page-content blockquote {
	margin-block: 2rem;
	border-inline-start: 4px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--soft);
	border-radius: var(--wp--custom--radius--md);
	padding: 1.25rem 1.4rem;
}

/* Article ------------------------------------------------------------------ */

.seonami-article-header {
	background:
		radial-gradient(circle at 15% 10%, rgb(15 107 120 / 0.09), transparent 22rem),
		var(--wp--preset--color--canvas);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.seonami-article-header .wp-block-post-title {
	max-width: 19ch;
	margin-inline: auto;
	text-align: center;
	text-wrap: balance;
}

.seonami-article-header .wp-block-post-terms {
	width: fit-content;
	margin-inline: auto;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--surface);
	padding: 0.4rem 0.75rem;
}

.seonami-article-meta {
	justify-content: center;
	color: var(--wp--preset--color--muted);
}

.seonami-article-featured {
	margin-top: -2.5rem;
	position: relative;
	z-index: 2;
}

.seonami-article-featured img {
	box-shadow: var(--wp--preset--shadow--md);
}

.seonami-article-layout {
	align-items: flex-start;
}

.seonami-article-body {
	font-size: 1.06rem;
	line-height: 2.05;
}

.seonami-article-body p {
	text-align: start;
}

.seonami-article-body a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.16em;
}

.seonami-article-body h2,
.seonami-article-body h3,
.seonami-article-body h4 {
	scroll-margin-top: 2rem;
}

.seonami-article-body h2 {
	margin-block-start: 2.5em;
}

.seonami-article-body h3 {
	margin-block-start: 2em;
}

.seonami-article-body blockquote {
	margin-inline: 0;
	border: 0;
	border-inline-start: 4px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius--md);
	background: var(--wp--preset--color--soft);
	padding: 1.25rem 1.4rem;
}

.seonami-article-body :where(ul, ol) {
	padding-inline-start: 1.4em;
}

.seonami-article-body li + li {
	margin-block-start: 0.5em;
}

.seonami-toc-slot {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
}

.seonami-article-nav {
	border-top: 1px solid var(--wp--preset--color--border);
	padding-top: 1.5rem;
}

/* Archive / search --------------------------------------------------------- */

.seonami-listing-hero {
	background: var(--wp--preset--color--canvas);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.seonami-listing-grid .wp-block-post-template {
	align-items: stretch;
}

.seonami-listing-card {
	height: 100%;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
}

.seonami-listing-card .wp-block-post-featured-image {
	margin: 0;
}

.seonami-listing-card .wp-block-post-featured-image img {
	border-radius: 0;
}

.seonami-listing-card-body {
	padding: 1.25rem;
}

.seonami-listing-card .wp-block-post-title {
	margin-bottom: 0.65rem;
}

.seonami-listing-card .wp-block-post-excerpt {
	margin-bottom: 1rem;
}

/* Shared pattern styling --------------------------------------------------- */

:root :where(.wp-block-group.is-style-seonami-card),
:root :where(.wp-block-column.is-style-seonami-card) {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	box-shadow: var(--wp--preset--shadow--sm);
}

:root :where(.wp-block-group.is-style-seonami-soft) {
	background: var(--wp--preset--color--soft);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
}

:root :where(.wp-block-group.is-style-seonami-dark) {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--white);
	border-radius: var(--wp--custom--radius--lg);
}

:root :where(.wp-block-group.is-style-seonami-dark h1,
.wp-block-group.is-style-seonami-dark h2,
.wp-block-group.is-style-seonami-dark h3,
.wp-block-group.is-style-seonami-dark h4) {
	color: inherit;
}

p.is-style-seonami-pill {
	display: inline-block;
	width: fit-content;
	border-radius: var(--wp--custom--radius--pill);
}

/* Footer ------------------------------------------------------------------ */

.seonami-site-footer {
	background:
		radial-gradient(circle at 20% 10%, rgb(15 107 120 / 0.26), transparent 24rem),
		var(--wp--preset--color--ink);
	color: var(--wp--preset--color--lavender);
}

.seonami-site-footer h2,
.seonami-site-footer h3,
.seonami-site-footer .wp-block-site-title {
	color: var(--wp--preset--color--white);
}

.seonami-site-footer a:not(.wp-element-button) {
	color: inherit;
}

.seonami-site-footer a:not(.wp-element-button):hover {
	color: var(--wp--preset--color--white);
}

.seonami-footer-link {
	margin-block: 0.45rem;
}

.seonami-footer-bottom {
	border-top: 1px solid rgb(255 255 255 / 0.10);
}

/* Responsive --------------------------------------------------------------- */

@media (max-width: 1100px) {
	.seonami-header-cta {
		display: none;
	}

	.seonami-primary-nav .wp-block-navigation__responsive-container.is-menu-open .seonami-header-cta {
		display: block;
	}

	.seonami-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
		gap: 0.15rem;
	}
}

@media (max-width: 960px) {
	.seonami-home-hero .wp-block-columns,
	.seonami-process-shell .wp-block-columns,
	.seonami-article-layout {
		gap: 2rem;
	}

	.seonami-article-layout > .wp-block-column {
		width: 100%;
		max-width: 100%;
	}

	.seonami-article-layout .seonami-article-toc-column {
		order: -1;
	}

	.seonami-toc-slot {
		position: static;
	}
}

@media (max-width: 781px) {
	.seonami-header-inner {
		min-height: 68px;
	}

	.seonami-header-brand .wp-block-site-logo img {
		max-width: 118px;
	}

	.seonami-home-hero {
		padding-block: 3.5rem;
	}

	.seonami-hero-title {
		max-width: 15ch;
	}

	.seonami-system-card {
		margin-top: 0.75rem;
	}

	.seonami-service-card,
	.seonami-principle-card {
		height: auto;
	}

	.seonami-page-title-band,
	.seonami-article-header,
	.seonami-listing-hero {
		padding-block: 2.75rem;
	}

	.seonami-article-featured {
		margin-top: -1rem;
	}
}

@media (max-width: 600px) {
	.seonami-header-brand .wp-block-site-title {
		font-size: 1.08rem;
	}

	.seonami-home-hero {
		padding-block: 3rem;
	}

	.seonami-hero-lead {
		font-size: 1rem;
	}

	.seonami-hero-actions .wp-block-button,
	.seonami-hero-actions .wp-element-button {
		width: 100%;
		text-align: center;
	}

	.seonami-trust-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.seonami-system-card {
		border-radius: var(--wp--custom--radius--lg);
		padding: 1.25rem;
	}

	.seonami-system-row {
		padding: 0.85rem;
	}

	.seonami-page-content > p,
	.seonami-article-body {
		font-size: 1rem;
		line-height: 1.95;
	}

	.seonami-article-meta {
		gap: 0.7rem;
	}

	.seonami-listing-card-body,
	.seonami-article-card-content {
		padding: 1.05rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.seonami-service-card,
	.seonami-primary-nav .wp-block-navigation-item__content,
	.seonami-primary-nav .wp-block-home-link__content {
		transition: none;
	}

	.seonami-service-card:hover {
		transform: none;
	}
}

@media (prefers-reduced-motion: no-preference) {
	html:focus-within {
		scroll-behavior: smooth;
	}
}
