/**
 * UI polish — make-interfaces-feel-better skill
 * Typography, surfaces, press states, concentric radii, image outlines.
 */

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body {
	text-wrap: pretty;
}

h1,
h2,
h3,
.hero__title,
.teya-section-title,
.teya-page-header__title,
.teya-page-hero__title,
.teya-article__title,
.teya-final-cta__title,
.teya-cta-band__title,
.teya-blog-card__title,
.teya-post-card__title {
	text-wrap: balance;
}

img,
.teya-post-card__img,
.teya-blog-card__img,
.teya-article__cover-img,
.teya-model-card__img,
.hero__gallery-img,
.teya-demo-card__img {
	outline: var(--teya-image-outline);
	outline-offset: -1px;
}

time,
.teya-post-card__date,
.teya-article__meta,
.teya-blog-card__time,
.stat-counter__value {
	font-variant-numeric: tabular-nums;
}

/* Buttons — scale on press, interruptible transitions */
.button-primary,
.button-secondary {
	transition-property: transform, box-shadow, border-color, opacity;
	transition-duration: var(--teya-duration-base);
	transition-timing-function: var(--teya-easing);
}

.button-primary:active,
.button-secondary:active {
	transform: scale(0.96);
	transition-timing-function: var(--teya-easing-press);
}

.button-primary:hover:not(:active),
.button-primary:focus-visible:not(:active),
.button-secondary:hover:not(:active),
.button-secondary:focus-visible:not(:active) {
	transform: translateY(-2px);
}

/* Cards — shadow ring instead of heavy borders */
.card-glass,
.teya-faq__item {
	border: none;
	box-shadow: var(--teya-shadow-border);
	transition-property: box-shadow, transform;
	transition-duration: var(--teya-duration-base);
	transition-timing-function: ease-out;
}

.card-glass:hover,
.teya-post-card.card-glass:hover,
.teya-blog-card.card-glass:hover,
.card-model:hover {
	box-shadow: var(--teya-shadow-border-hover);
}

.card-model {
	border: none;
	box-shadow: var(--teya-shadow-border);
}

/* Blog cards — concentric radius (outer 24px, body padding 16px) */
.teya-post-card.card-glass,
.teya-blog-card.card-glass {
	border-radius: var(--teya-radius-xxl);
}

.teya-post-card__media,
.teya-blog-card__media {
	border-radius: var(--teya-radius-xxl) var(--teya-radius-xxl) 0 0;
	overflow: hidden;
}

.teya-post-card__body,
.teya-blog-card__body {
	padding: var(--teya-space-md) var(--teya-space-lg) var(--teya-space-lg);
}

/* Model cards — image flush top, concentric outer lg */
.card-model,
.teya-model-card {
	border-radius: var(--teya-radius-xl);
}

.teya-model-card__media,
.card-model > .teya-model-card__img:first-child,
.card-model > img:first-child {
	border-radius: var(--teya-radius-xl) var(--teya-radius-xl) 0 0;
}

/* Hero gallery — shadow ring, concentric media */
.hero__gallery-card {
	border: none;
	border-radius: var(--teya-radius-xxl);
	box-shadow: var(--teya-shadow-border);
	overflow: hidden;
}

.hero__gallery-card:hover {
	box-shadow: var(--teya-shadow-border-hover), 0 0 48px rgba(123, 47, 255, 0.12);
}

/* Demo cards — inset image radius inside section */
.teya-demo-card__img {
	border: none;
	border-radius: var(--teya-radius-md);
	box-shadow: var(--teya-shadow-border);
}

/* Nav — minimum 44px hit area */
.teya-nav__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 12px;
	border-radius: var(--teya-radius-sm);
	transition-property: color, background-color;
	transition-duration: var(--teya-duration-fast);
	transition-timing-function: var(--teya-easing);
}

.teya-nav__link:hover,
.teya-nav__link:focus-visible {
	background: rgba(255, 255, 255, 0.04);
}

.teya-site-header__logo {
	min-height: 44px;
	padding-inline: 4px;
}

/* FAQ — softer open state */
.teya-faq__item[open] {
	box-shadow: var(--teya-shadow-border-hover);
}

.teya-faq__question {
	padding: var(--teya-space-md) var(--teya-space-lg);
}

.teya-faq__answer {
	padding: 0 var(--teya-space-lg) var(--teya-space-lg);
	line-height: 1.65;
}

/* Article body readability */
.teya-article__content {
	text-wrap: pretty;
}

.teya-article__content h2,
.teya-article__content h3 {
	text-wrap: balance;
}

.teya-article__cover {
	border-radius: var(--teya-radius-xxl);
	box-shadow: var(--teya-shadow-border);
}

/* Section rhythm — softer band separation */
.teya-main--front > section:nth-child(even):not(.section-hero):not(.teya-final-cta),
.teya-main--landing > section:nth-child(even):not(.teya-page-hero):not(.teya-cta-band):not(.teya-final-cta) {
	border-block: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* Blog archive header */
.teya-page-header--blog {
	margin-bottom: var(--teya-space-2xl);
}

.teya-page-header__lead {
	text-wrap: pretty;
	line-height: 1.65;
}

/* Post card link — full card feel */
.teya-post-card__title a {
	display: inline-block;
	transition-property: color;
	transition-duration: var(--teya-duration-fast);
}

.teya-blog-card__link:hover .teya-blog-card__title,
.teya-post-card:hover .teya-post-card__title a {
	color: var(--teya-color-secondary);
}

@media (prefers-reduced-motion: reduce) {
	.button-primary:active,
	.button-secondary:active {
		transform: none;
	}

	.card-glass,
	.card-model,
	.teya-faq__item {
		transition: none;
	}
}
