/*
Theme Name: Aay'han
Theme URI: https://aayhan.ru/
Author: Aay'han
Description: Тема сообщества Aay'han — Russian Mandalorian Community. Тёмная «кузня», бордовая вышивка из эмблемы и тёплый закатный акцент.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aayhan
Tags: dark, block-theme, full-site-editing, one-column, wide-blocks
*/

/* ---------- Фон: едва заметное зарево углей сверху ---------- */
body {
	background:
		radial-gradient(ellipse 80% 40% at 50% 0%, rgba(163, 22, 29, 0.14), transparent 70%),
		var(--wp--preset--color--base);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--white);
}

:where(a) {
	text-decoration-color: var(--wp--preset--color--accent);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
	transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

:where(a):hover {
	text-decoration-color: var(--wp--preset--color--accent-3);
}

:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-3);
	outline-offset: 3px;
}

/* ---------- Вышивка: полоса орнамента ---------- */
.aayhan-ornament,
.wp-block-separator.is-style-ornament {
	display: block;
	width: 100%;
	max-width: none;
	height: 34px;
	margin-block: 0;
	border: 0;
	background: url("assets/images/ornament.svg?v=3") repeat-x center / auto 100%;
	opacity: 1;
}

.wp-block-separator.is-style-ornament.alignwide,
.wp-block-separator.is-style-ornament:not(.alignfull) {
	max-width: var(--wp--style--global--wide-size);
}

/* Короткий ромбовидный разделитель */
.wp-block-separator.is-style-rhomb {
	position: relative;
	width: 100%;
	max-width: 240px;
	height: 1px;
	border: 0;
	background: linear-gradient(90deg, transparent, var(--wp--preset--color--accent) 30%, var(--wp--preset--color--accent) 70%, transparent);
	overflow: visible;
}

.wp-block-separator.is-style-rhomb::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	background: var(--wp--preset--color--base);
	border: 2px solid var(--wp--preset--color--accent-2);
	transform: translate(-50%, -50%) rotate(45deg);
}

/* ---------- Шапка ---------- */
.aayhan-header {
	position: relative;
	z-index: 20;
}

/* Логотип на чёрном фоне: убираем «квадрат» вокруг эмблемы */
.wp-block-site-logo img,
.aayhan-emblem img {
	mix-blend-mode: lighten;
}

.aayhan-brand-name {
	line-height: 1;
}

.aayhan-brand-name a {
	text-decoration: none;
}

.aayhan-brand-sub {
	line-height: 1.2;
}

.aayhan-header .wp-block-navigation-item__content {
	padding-block: 0.35em;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.aayhan-header .wp-block-navigation-item__content:hover,
.aayhan-header .current-menu-item > .wp-block-navigation-item__content {
	border-bottom-color: var(--wp--preset--color--accent);
}

/* Единый размер пунктов меню, даже если у отдельных ссылок в редакторе задан свой */
.wp-block-navigation .wp-block-navigation-item[class*="-font-size"] {
	font-size: inherit !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	font-size: 1.4rem;
}

/* Соцсети: монохромные иконки, алые при наведении */
.wp-block-social-links.is-style-logos-only .wp-social-link {
	color: var(--wp--preset--color--contrast-2);
	transition: color 0.15s ease, transform 0.15s ease;
}

.wp-block-social-links.is-style-logos-only .wp-social-link:hover {
	color: var(--wp--preset--color--accent-2);
	transform: translateY(-1px);
}

/* ---------- Заголовок страницы ---------- */
.aayhan-page-head .wp-block-post-title {
	text-wrap: balance;
}

.aayhan-kicker {
	font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 0.85rem;
	color: var(--wp--preset--color--accent-3);
}

/* ---------- Контент ---------- */
.wp-block-post-content :where(h2, h3) {
	margin-top: 2.2em;
}

.wp-block-post-content :where(h2)::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin-top: 0.45em;
	background: var(--wp--preset--color--accent);
}

.wp-block-post-content :where(h2.has-text-align-center)::after {
	margin-inline: auto;
}

.wp-block-image img {
	border-radius: 2px;
}

/* Изображение в «бескаровой» рамке */
.wp-block-image.is-style-beskar img {
	border: 1px solid var(--wp--preset--color--base-3);
	box-shadow: 0 0 0 4px var(--wp--preset--color--base-2), 0 0 0 5px var(--wp--preset--color--accent), 0 18px 40px rgba(0, 0, 0, 0.55);
}

/* Светлая подложка для значков и логотипов с прозрачным фоном (тёмные иначе не видны) */
.wp-block-image.is-style-plate img {
	box-sizing: border-box;
	padding: clamp(0.75rem, 3vw, 1.5rem);
	background: var(--wp--preset--color--contrast);
	border-radius: 4px;
	box-shadow: 0 0 0 1px var(--wp--preset--color--base-3), 0 0 0 4px var(--wp--preset--color--base), 0 0 0 5px var(--wp--preset--color--accent);
}

.wp-block-gallery .wp-block-image.is-style-plate img {
	object-fit: contain !important;
}

/* Плашка (дисклеймер, примечание).
   Селектор с .wp-block-group: в редакторе ядро обнуляет боковые отступы вложенных .has-global-padding
   правилом той же специфичности, загружаемым позже стилей темы. */
.is-style-panel,
.wp-block-group.is-style-panel {
	background: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--base-3);
	border-left: 4px solid var(--wp--preset--color--accent);
	padding-block: var(--wp--preset--spacing--30);
	padding-inline: var(--wp--preset--spacing--40);
	border-radius: 2px;
}

/* Карточка */
.is-style-card,
.wp-block-group.is-style-card,
.wp-block-column.is-style-card {
	background: var(--wp--preset--color--base-2);
	border: 1px solid var(--wp--preset--color--base-3);
	border-radius: 2px;
	padding: var(--wp--preset--spacing--40);
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.is-style-card:hover {
	border-color: var(--wp--preset--color--accent);
}

/* Карточка записи в ленте */
.aayhan-post-card {
	height: 100%;
}

.aayhan-post-card .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	filter: saturate(0.9);
	transition: filter 0.25s ease;
}

.aayhan-post-card:hover .wp-block-post-featured-image img {
	filter: saturate(1.1);
}

/* Кнопка-контур */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 2px solid var(--wp--preset--color--contrast);
	background: transparent;
	color: var(--wp--preset--color--contrast);
	padding: calc(0.8rem - 2px) calc(1.6rem - 2px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--accent-3);
	color: var(--wp--preset--color--accent-3);
	background: transparent;
}

/* QR-коды сообществ: белая подложка, чтобы код считывался */
.aayhan-qr img {
	background: #fff;
	padding: 8px;
	border-radius: 4px;
	width: 100%;
	max-width: 240px;
	height: auto;
}

/* Таблицы и списки */
.wp-block-table thead {
	border-bottom: 2px solid var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.wp-block-post-content ul:not([class*="wp-block-social"]) li::marker {
	color: var(--wp--preset--color--accent-2);
}

/* Таблица характеристик (раздел «Техника») */
.wp-block-table.aayhan-specs table {
	border-collapse: collapse;
	font-size: 0.95em;
}

.wp-block-table.aayhan-specs td {
	padding: 0.45em 0.8em;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--base-3);
	vertical-align: top;
}

.wp-block-table.aayhan-specs td:first-child {
	width: 38%;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.85em;
	color: var(--wp--preset--color--accent-3);
}

.wp-block-table.aayhan-specs tr:nth-child(odd) td {
	background: var(--wp--preset--color--base-2);
}

/* Таблица с шапкой (элементы брони в «Снаряжении») */
.wp-block-table.aayhan-armor {
	overflow-x: auto;

	table {
		border-collapse: collapse;
		font-size: 0.95em;
	}

	th,
	td {
		padding: 0.45em 0.8em;
		border: 0;
		border-bottom: 1px solid var(--wp--preset--color--base-3);
		text-align: left;
		vertical-align: top;
	}

	th {
		font-family: var(--wp--preset--font-family--heading);
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		font-size: 0.85em;
		color: var(--wp--preset--color--accent-3);
		border-bottom: 2px solid var(--wp--preset--color--accent);
	}

	td:first-child {
		white-space: nowrap;
		color: var(--wp--preset--color--contrast-2);
	}

	tbody tr:nth-child(odd) td {
		background: var(--wp--preset--color--base-2);
	}
}

/* Оглавление в две колонки */
.aayhan-toc {
	columns: 2 18rem;
	column-gap: 2rem;
}

.aayhan-toc li {
	break-inside: avoid;
}

.aayhan-toc a {
	text-decoration-thickness: 1px;
}

/* Ссылки-якоря не прячутся под краем окна */
.wp-block-post-content h2[id],
.wp-block-post-content h3[id] {
	scroll-margin-top: 1.5rem;
}

/* Сноски: [n] в тексте ведёт к источнику, номер источника — обратно к тексту */
.aayhan-ref a,
.aayhan-src {
	text-decoration: none;
	color: var(--wp--preset--color--accent-3);
}

.aayhan-ref a:hover,
a.aayhan-src:hover {
	text-decoration: underline;
}

.aayhan-ref a,
.aayhan-src {
	scroll-margin-top: 30vh;
}

.aayhan-ref a:target,
.aayhan-src:target {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--contrast);
	border-radius: 2px;
}

/* Пагинация */
.wp-block-query-pagination {
	font-family: var(--wp--preset--font-family--heading);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-block;
	min-width: 2.2em;
	padding: 0.2em 0.5em;
	text-align: center;
	text-decoration: none;
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--accent);
}

/* Поиск */
.wp-block-search__input {
	background: var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--base-3);
	border-radius: 2px;
}

/* Комментарии */
.wp-block-comment-template li {
	border-top: 1px solid var(--wp--preset--color--base-3);
	padding-top: var(--wp--preset--spacing--20);
}

.comment-form input:not([type="submit"]):not([type="checkbox"]),
.comment-form textarea {
	background: var(--wp--preset--color--base-2);
	color: var(--wp--preset--color--contrast);
	border: 1px solid var(--wp--preset--color--base-3);
	border-radius: 2px;
}

/* ---------- Главная: герой ---------- */
.aayhan-hero {
	min-height: min(78vh, 760px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.aayhan-hero .aayhan-emblem img {
	width: 100%;
	max-width: 440px;
	height: auto;
}

@media (max-width: 781px) {
	/* Эмблема над текстом */
	.aayhan-hero .wp-block-column:has(.aayhan-emblem) {
		order: -1;
	}

	.aayhan-hero .aayhan-emblem img {
		max-width: 220px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
	}
}

/* ---------- Главная: разделы ---------- */
/* Описание растягивается, «Читать →» во всех карточках ряда стоит на одной линии */
.aayhan-sections > .wp-block-group.is-style-card {
	height: 100%;
}

.aayhan-sections > .is-style-card > p:nth-child(3) {
	flex-grow: 1;
}

/* ---------- Главная: сообщества ---------- */
/* Карточки одной высоты: описание растягивается, QR-коды и кнопки встают на одну линию */
.aayhan-communities > .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.aayhan-communities > .wp-block-column > * {
	margin-block: 0;
}

.aayhan-communities > .wp-block-column > p {
	flex-grow: 1;
}
