/*
Theme Name: Своё Время
Description: Блочная тема театров «Своё Время» и «ТеНер». Оформление сайта — вариация стилей («Своё Время» — по умолчанию, «ТеНер» — styles/tener.json).
Author: Loran A. Rendel
Author URI: https://xpor.org
Version: 2026.10.01
Requires at least: 6.9
Tested up to: 7.1
Requires PHP: 8.4
License: GPLv2 or later
Text Domain: svoevremya
*/

/*
 * Сетка страницы из четырёх ячеек на чёрном фоне.
 * Стили отдельных блоков — assets/blocks/,
 * цвета, шрифты и переменные для блоков плагина — theme.json:
 * логотип | название театра и следующий спектакль
 * меню    | содержимое страницы
 */

:root {

	/* Страница во всю высоту окна, не шире окна */
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	min-height: calc(100% - var(--wp-admin--admin-bar--height, 0px));
	overflow-y: scroll;
}

* {
	box-sizing: border-box;
	text-decoration-skip-ink: none;
}

.wp-site-blocks {
	display: grid;
	grid-template-columns: var(--aside-size) minmax(0, 1fr);
	grid-template-rows: var(--aside-size) 1fr;
	gap: var(--separator-size);
	margin: auto;
	padding: 0 10px;
	min-height: 100%;
	background: var(--separator-color);
	user-select: none;

	@media (min-width: 1215px) {
		width: 1215px;
	}

	> *,
	> header > * {
		margin-block: 0;
	}

	/* Ячейки шапки — прямо в сетке страницы */
	> header {
		display: contents;
	}

	> footer:not(:has(*)) {
		display: none;
	}

	> footer {
		grid-column: 1 / -1;
	}
}

.theatre-logo,
.theatre-head,
.theatre-menu {
	background: var(--frame-color);
}

.theatre-logo {
	grid-area: 1 / 1;
}

/* Название театра и следующий спектакль */
.theatre-head {
	grid-area: 1 / 2;
	display: flex;

	/* Разделительные полосы */
	&::before {
		content: "";
		flex: 0 0 auto;
		width: 10px;
		margin-left: 10px;
		border-left: 20px solid var(--separator-color);
		border-right: 20px solid var(--separator-color);
		box-sizing: content-box;
	}
}

/* Меню */
.theatre-menu {
	grid-area: 2 / 1;
	padding-bottom: 5px;

	/* Без зазора между блоками: меню — сразу под полосами */
	.wp-site-blocks & > * {
		margin-block: 0;
	}

	/* Разделительные полосы */
	&::before {
		content: "";
		display: block;
		height: 10px;
		margin: 10px 0;
		border-top: 20px solid var(--separator-color);
		border-bottom: 20px solid var(--separator-color);
		box-sizing: content-box;
	}
}

/* Содержимое страницы */
.wp-site-blocks > main {
	grid-area: 2 / 2;
	padding: 10px 20px;
	background: var(--wp--preset--color--content);
	color: var(--text-color);
	user-select: text;

	a {
		transition: color 0.15s ease;
	}

	p:empty {
		display: none;
	}
}

/* Карта на странице контактов */
#map {
	height: 350px;
	margin-top: 10px;

	/* stylelint-disable-next-line selector-type-no-unknown -- Яндекс.Карты */
	> ymaps > ymaps {
		width: 100% !important;
	}
}

#lightbox > div {
	background: var(--frame-color);
}

/* Узкий экран: одна колонка, меню — полоса сверху */
@media (max-width: 1231.98px) {

	.wp-site-blocks {
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0;
		gap: 0;

		> *,
		> header > * {
			min-width: 0;
		}
	}

	.theatre-logo {
		display: none;
	}

	.theatre-menu {
		order: -1;
		position: sticky;
		top: var(--wp-admin--admin-bar--height, 0px);
		z-index: 5;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 8px 12px;
		background: #000;

		&::before {
			display: none;
		}
	}

	.theatre-head {
		display: block;
		padding: 0 5px;

		&::before {
			display: none;
		}
	}

	.wp-site-blocks > main {
		padding: 0 5px;
	}
}
