/* Тема Sofia. Дополнительные стили. Палитра и типографика заданы в theme.json.
   Здесь: арка, ботаническая веточка, деликатные появления, мелкие правки. */

:root {
	--sofia-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Заголовки Prata: не подделывать жир и наклон, не рвать слова, ровнять строки. */
h1, h2, h3,
.has-heading-font-family {
	font-synthesis: none;
}
.wp-block-heading {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	text-wrap: balance;
}

/* Отступ якорей под липкую шапку. */
:where(#products, #about) {
	scroll-margin-top: 90px;
}

/* Плавный цвет ссылок и кнопок. */
a { transition: color 0.2s ease; }
.wp-block-button__link { transition: background-color 0.2s ease, color 0.2s ease; }

/* Видимый фокус в фирменном цвете. */
a:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation-item__content:focus-visible {
	outline: 2px solid var(--wp--preset--color--glina);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Арка: фото Софии заполняет арочную форму целиком, без пустот и подложки. */
.sofia-arch {
	position: relative;
	overflow: hidden;
	border-radius: 46% 46% 14px 14px / 30% 30% 14px 14px;
	aspect-ratio: 4 / 5;
}
.sofia-arch .wp-block-image,
.sofia-arch .sofia-arch-img {
	position: absolute;
	inset: 0;
	margin: 0;
	width: 100%;
	height: 100%;
}
.sofia-arch .sofia-arch-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Иллюстрация буклета: аккуратный прямоугольник со скруглением, единая пропорция. */
.sofia-book-img { margin: 0; }
.sofia-book-img img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 16px;
	display: block;
}

/* Карточки консультаций: равная высота, цена прижата к низу для ровного ряда. */
.sofia-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}
.sofia-card .sofia-card-meta { margin-top: auto; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* Абзацы: меньше «сирот» в конце строк. */
p { text-wrap: pretty; }

/* --- Редакторские детали (утончённый минимализм) --- */

/* Заголовки Prata: чуть плотнее для выразительной подачи. */
h1.wp-block-heading,
h2.wp-block-heading {
	letter-spacing: -0.015em;
}

/* Карточки: деликатный подъём при наведении. */
.sofia-card {
	transition: transform 0.35s var(--sofia-ease), box-shadow 0.35s var(--sofia-ease);
}
@media (hover: hover) {
	.sofia-card:hover {
		transform: translateY(-4px);
		box-shadow: 0 22px 45px -30px rgba(44, 35, 32, 0.35);
	}
}

/* Кнопки: тонкий трекинг и мягкий отклик. */
.wp-block-button__link {
	letter-spacing: 0.01em;
	transition: background-color 0.2s ease, transform 0.2s ease;
}
@media (hover: hover) {
	.wp-block-button__link:hover { transform: translateY(-1px); }
}

/* Обложка: одно оркестрированное появление при загрузке. */
@keyframes sofiaRise {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
	.sofia-hero h1 { animation: sofiaRise 0.9s var(--sofia-ease) both; }
	.sofia-hero p { animation: sofiaRise 0.9s var(--sofia-ease) 0.12s both; }
	.sofia-hero .wp-block-buttons { animation: sofiaRise 0.9s var(--sofia-ease) 0.24s both; }
	.sofia-hero .sofia-arch { animation: sofiaRise 1.1s var(--sofia-ease) 0.1s both; }
}

/* Заголовки карточек: единый кегль и резерв под две строки, ровные ряды. */
.sofia-card > .wp-block-heading {
	font-size: 1.2rem;
	line-height: 1.22;
	min-height: 2.44em;
}

/* Фотополосы во всю ширину: атмосферный ритм между секциями. */
.sofia-band { margin: 0; }
.sofia-band img {
	display: block;
	width: 100%;
	height: clamp(260px, 40vw, 560px);
	object-fit: cover;
	object-position: center;
}

/* Портрет «Обо мне»: кадр целиком; max-height как страховка от нестандартных пропорций. */
.sofia-portrait { margin: 0; }
.sofia-portrait img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 40rem;
	object-fit: cover;
	object-position: 50% 18%;
	border-radius: 16px;
}

/* Витрина Welcome Book в блоке продуктов. */
.sofia-book-showcase { max-width: 340px; }
.sofia-book-showcase img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 30%;
	border-radius: 16px;
	box-shadow: 0 24px 48px -32px rgba(44, 35, 32, 0.45);
}
.sofia-book-showcase figcaption {
	text-align: center;
	font-size: 0.875rem;
	color: var(--wp--preset--color--hvoya);
	margin-top: 0.7rem;
}

/* Услуги: список строк с разделителями (не карточки) — отличает «Работу со мной» от продуктовой сетки. */
.sofia-service {
	margin: 0;
	padding-block: clamp(1.25rem, 3.5vw, 2rem);
}
.sofia-service + .sofia-service {
	border-top: 1px solid var(--wp--custom--line);
}
.sofia-service-meta .wp-block-buttons {
	margin-top: 0.7rem;
}
@media (min-width: 782px) {
	.sofia-service-meta { text-align: right; }
	.sofia-service-meta .wp-block-buttons { justify-content: flex-end; }
}

/* Мягкая (вторичная) кнопка для бесплатного лид-магнита, чтобы не конкурировала с платными. */
.sofia-btn-soft .wp-block-button__link {
	background-color: transparent;
	color: var(--wp--custom--glina-deep);
	box-shadow: inset 0 0 0 1.5px var(--wp--custom--glina-deep);
}
@media (hover: hover) {
	.sofia-btn-soft .wp-block-button__link:hover {
		background-color: var(--wp--custom--glina-deep);
		color: var(--wp--preset--color--holst);
	}
}
