/**
 * Section layouts — homepage, landings, blog, legal
 * Strict 8px spacing scale from tokens.css
 */

.teya-section {
	padding-block: var(--teya-section-y);
}

.teya-section + .teya-section {
	padding-block-start: var(--teya-space-xl);
}

.teya-main--landing > .teya-section:first-of-type {
	padding-block-start: var(--teya-space-lg);
}

.teya-band {
	background: var(--teya-color-surface-low);
	border-block: var(--teya-border-hairline);
}

.teya-container--narrow {
	max-width: var(--teya-content-max);
}

.teya-section__header {
	margin-bottom: var(--teya-space-2xl);
}

.teya-section__header .teya-section__intro {
	margin-top: var(--teya-space-sm);
}

.teya-section__title {
	font-size: var(--teya-text-headline-md);
	margin-bottom: var(--teya-space-md);
}

.teya-section__intro {
	color: var(--teya-color-on-background-muted);
	font-size: var(--teya-text-body-lg);
	max-width: var(--teya-content-max);
}

.teya-section__cta {
	margin-top: var(--teya-space-xl);
	margin-bottom: 0;
}

.teya-muted {
	color: var(--teya-color-on-background-muted);
	font-size: var(--teya-text-body-sm);
}

.teya-geo-answer {
	font-size: var(--teya-text-body-lg);
	color: var(--teya-color-on-background);
	margin-bottom: var(--teya-space-lg);
}

.teya-prose a {
	color: var(--teya-color-secondary);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.teya-prose a:hover,
.teya-prose a:focus-visible {
	color: var(--teya-color-on-background);
}

.teya-line-clamp-2 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.teya-line-clamp-3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.teya-blog-card__excerpt {
	margin: 0;
	font-size: var(--teya-text-body-sm);
	line-height: 1.5;
}

/* Hero */
.hero {
	position: relative;
	padding-block: clamp(var(--teya-space-3xl), 12vw, var(--teya-space-4xl));
	overflow: hidden;
}

.hero--compact {
	padding-block: var(--teya-space-3xl);
}

.hero__glow {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 60% 50% at 70% 30%, var(--teya-color-glow-purple), transparent 70%),
		radial-gradient(ellipse 50% 40% at 20% 80%, var(--teya-color-glow-cyan), transparent 65%);
}

.hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	gap: var(--teya-space-2xl);
	align-items: center;
}

.hero__grid--copy-only {
	grid-template-columns: minmax(0, 1fr);
	max-width: var(--teya-content-max);
}

.hero__title {
	font-size: var(--teya-text-display-xl);
	margin-bottom: var(--teya-space-md);
}

.hero--compact .hero__title {
	font-size: var(--teya-text-display-lg);
}

.hero__lead {
	font-size: var(--teya-text-body-lg);
	color: var(--teya-color-on-background-muted);
	margin-bottom: var(--teya-space-xl);
	max-width: 38rem;
}

.hero__cta-group {
	display: flex;
	flex-wrap: wrap;
	gap: var(--teya-space-md);
	margin-bottom: var(--teya-space-md);
}

.hero__trust {
	font-size: var(--teya-text-body-sm);
	color: var(--teya-color-on-background-subtle);
	margin: 0;
}

.hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 16rem;
}

.hero__canvas {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.hero__orb {
	position: relative;
	z-index: 2;
	max-width: min(100%, 28rem);
	margin-inline: auto;
}

.hero__visual--inline .hero__visual-img {
	border-radius: var(--teya-radius-lg);
	border: var(--teya-border-hairline);
	box-shadow: var(--teya-shadow-card);
}

/* Trust strip */
.teya-trust-strip {
	display: flex;
	flex-wrap: wrap;
	gap: var(--teya-space-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.teya-trust-chip,
.trust-chip {
	display: inline-flex;
	align-items: center;
	min-height: var(--teya-touch-target);
	padding: var(--teya-space-xs) var(--teya-space-md);
	font-size: var(--teya-text-label-sm);
	color: var(--teya-color-on-background-muted);
	background: var(--teya-color-surface-container);
	border: var(--teya-border-hairline);
	border-radius: var(--teya-radius-full);
}

/* Features */
.teya-features-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--teya-space-lg);
}

@media (min-width: 1025px) {
	.teya-features-grid {
		gap: var(--teya-space-xl);
	}
}

.teya-feature-card__title {
	font-size: var(--teya-text-headline-sm);
	margin-bottom: var(--teya-space-sm);
}

.teya-feature-card__media {
	margin-top: var(--teya-space-md);
	border-radius: var(--teya-radius-md);
	overflow: hidden;
	border: var(--teya-border-hairline);
}

.teya-feature-card__img {
	width: 100%;
}

.teya-feature-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--teya-space-2xl);
	align-items: center;
}

.teya-feature-split--reverse .teya-feature-split__media {
	order: -1;
}

/* Compare */
.teya-compare-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: var(--teya-space-2xl);
	align-items: start;
}

.teya-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: var(--teya-space-md);
	border-radius: var(--teya-radius-md);
	border: var(--teya-border-hairline);
}

.teya-table {
	width: 100%;
	min-width: 36rem;
	border-collapse: collapse;
	font-size: var(--teya-text-body-sm);
}

.teya-table th,
.teya-table td {
	padding: var(--teya-space-md);
	text-align: left;
	vertical-align: top;
	border-bottom: var(--teya-border-hairline);
	word-break: break-word;
}

.teya-table th {
	background: var(--teya-color-surface-container);
	font-weight: 600;
	white-space: normal;
}

.teya-table tbody tr:last-child td {
	border-bottom: 0;
}

.teya-compare-visual__img {
	border-radius: var(--teya-radius-lg);
	border: var(--teya-border-hairline);
}

/* Vlex bridge */
.teya-vlex-bridge__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
	gap: var(--teya-space-2xl);
	align-items: center;
}

.teya-steps {
	margin: 0 0 var(--teya-space-lg);
	padding: 0;
	list-style: none;
}

.teya-steps--numbered {
	counter-reset: teya-step;
}

.teya-steps--numbered .teya-steps__item {
	counter-increment: teya-step;
	padding-left: var(--teya-space-2xl);
	position: relative;
	margin-bottom: var(--teya-space-md);
}

.teya-steps--numbered .teya-steps__item::before {
	content: counter(teya-step);
	position: absolute;
	left: 0;
	top: 0;
	width: var(--teya-space-xl);
	height: var(--teya-space-xl);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: var(--teya-text-label-sm);
	color: var(--teya-color-secondary);
	background: rgba(123, 47, 255, 0.15);
	border-radius: var(--teya-radius-full);
}

.teya-vlex-mockup__img {
	border-radius: var(--teya-radius-lg);
	border: var(--teya-border-hairline);
	box-shadow: var(--teya-shadow-card);
}

.teya-vlex-mockup__img--centered {
	max-width: 35rem;
	margin-inline: auto;
}

/* Audience / chips */
.teya-audience-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--teya-card-gap);
	margin-bottom: var(--teya-space-lg);
}

.teya-audience-card__title {
	font-size: var(--teya-text-headline-sm);
	margin-bottom: var(--teya-space-sm);
}

.teya-chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--teya-space-sm);
	margin: 0 0 var(--teya-space-md);
	padding: 0;
	list-style: none;
}

.teya-checklist {
	padding-left: var(--teya-space-lg);
	margin: 0 0 var(--teya-space-md);
}

.teya-checklist li + li {
	margin-top: var(--teya-space-sm);
}

/* FAQ */
.teya-faq__list {
	display: flex;
	flex-direction: column;
	gap: var(--teya-space-md);
}

.teya-faq__item {
	background: var(--teya-color-surface-container);
	border: var(--teya-border-hairline);
	border-radius: var(--teya-radius-md);
	padding: 0 var(--teya-card-padding);
}

.teya-faq__question {
	padding: var(--teya-space-md) 0;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	word-break: break-word;
}

.teya-faq__question::-webkit-details-marker {
	display: none;
}

.teya-faq__question::after {
	content: '+';
	float: right;
	color: var(--teya-color-secondary);
}

.teya-faq__item[open] .teya-faq__question::after {
	content: '−';
}

.teya-faq__answer {
	padding-bottom: var(--teya-space-md);
	color: var(--teya-color-on-background-muted);
}

/* Blog cards */
.teya-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--teya-card-gap);
}

.teya-blog-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.teya-blog-card__media {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--teya-color-surface-high);
}

.teya-blog-card__media--placeholder {
	background: linear-gradient(135deg, rgba(123, 47, 255, 0.2), rgba(0, 212, 255, 0.12));
}

.teya-blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.teya-blog-card__body {
	padding: var(--teya-card-padding);
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--teya-space-sm);
}

.teya-blog-card__title {
	font-size: var(--teya-text-headline-sm);
	margin: 0;
	line-height: 1.35;
}

.teya-blog-card:hover .teya-blog-card__title,
.teya-blog-card:focus-within .teya-blog-card__title {
	color: var(--teya-color-secondary);
}

/* CTA band */
.teya-cta-band__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--teya-space-lg);
	padding: var(--teya-space-xl);
	background: var(--teya-gradient-card-border);
	border-radius: var(--teya-radius-lg);
	background-clip: padding-box;
	border: var(--teya-border-accent);
	background-color: var(--teya-color-surface-container);
}

.teya-cta-band__text {
	flex: 1 1 16rem;
	margin: 0;
	color: var(--teya-color-on-background-muted);
}

.teya-final-cta__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
	gap: var(--teya-space-2xl);
	align-items: center;
	padding: var(--teya-space-xl);
	background: var(--teya-color-surface-container);
	border: var(--teya-border-hairline);
	border-radius: var(--teya-radius-lg);
}

/* Archive / single */
.teya-archive-hero {
	margin-bottom: var(--teya-space-2xl);
}

.teya-archive-hero__intro {
	font-size: var(--teya-text-body-lg);
	color: var(--teya-color-on-background-muted);
}

.teya-single-post__header {
	margin-bottom: var(--teya-space-xl);
}

.teya-single-post__cover {
	margin-top: var(--teya-space-lg);
	border-radius: var(--teya-radius-lg);
	overflow: hidden;
}

.teya-text-link {
	color: var(--teya-color-secondary);
	text-decoration: none;
}

.teya-text-link:hover {
	text-decoration: underline;
}

/* Legal */
.teya-legal-prose {
	padding-block: var(--teya-space-2xl);
}

.teya-legal-section {
	margin-top: var(--teya-space-2xl);
}

.teya-legal-section__title {
	font-size: var(--teya-text-headline-sm);
}

/* EN layout safety */
.teya-lang-en .hero__cta-group,
html[lang="en"] .hero__cta-group {
	gap: var(--teya-space-sm);
}

.teya-lang-en .teya-table th,
.teya-lang-en .teya-table td,
html[lang="en"] .teya-table th,
html[lang="en"] .teya-table td {
	font-size: var(--teya-text-body-sm);
	padding: var(--teya-space-sm) var(--teya-space-md);
}

@media (max-width: 1024px) {
	.hero__grid,
	.teya-compare-layout,
	.teya-vlex-bridge__grid,
	.teya-feature-split,
	.teya-final-cta__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.teya-feature-split--reverse .teya-feature-split__media {
		order: 0;
	}

	.teya-features-grid,
	.teya-audience-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.teya-blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.teya-blog-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.hero__title {
		font-size: var(--teya-text-display-lg);
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-motion-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
}
