@charset "UTF-8";

/*
 * Текст Песенок — стили темы, версия 1.2.
 *
 * Работают поверх Bootstrap 2.3.2: сетка (.row, .span*) не трогается,
 * переопределяется только оформление.
 *
 * Из файла убрано ~13 КБ стилей Яндекс-формы поиска (#ya-site-form0/1):
 * такой формы на сайте нет, обёртка осталась от прошлой вёрстки.
 */

:root {
	--tp-ground: #F5F6F8;
	--tp-surface: #FFFFFF;
	--tp-surface-2: #EFF1F4;
	--tp-line: #DFE3E8;
	--tp-line-soft: #EAEDF1;
	--tp-ink: #16181D;
	--tp-ink-2: #3C424E;
	--tp-muted: #6A7280;
	--tp-accent: #0E6E5C;
	--tp-accent-dark: #0A5648;
	--tp-accent-soft: #E4F1EE;
	--tp-radius: 8px;
	--tp-shadow: 0 1px 2px rgba(22, 24, 29, .05), 0 1px 3px rgba(22, 24, 29, .04);

	/* Размер текста песни. Меняется кнопками А− / А+ и хранится в localStorage. */
	--tp-lyrics-size: 17px;
}

/* -------------------------------------------------------------------------
 *  Починка «липкого подвала»
 *
 *  В bootstrap.min.css лежит старая схема: .wrapper { margin: 0 auto -60px },
 *  .push { height: 80px }, .footer-wrapper { height: 60px } и
 *  .container, .content, body, html { height: 100% }.
 *
 *  Из-за фиксированной высоты 100% подвал прилипал к высоте экрана и наезжал
 *  на середину длинной страницы, перехватывая выделение текста. Схема здесь
 *  отключается: страницы на сайте длинные, прижимать подвал не нужно.
 * ---------------------------------------------------------------------- */

html,
body,
.container,
.content {
	height: auto !important;
	min-height: 0;
}

.wrapper {
	min-height: 0 !important;
	height: auto !important;
	margin: 0 auto !important;
}

.push {
	display: none !important;
}

.footer-wrapper {
	height: auto !important;
	position: static;
}

/* -------------------------------------------------------------------------
 *  База
 * ---------------------------------------------------------------------- */

body {
	background: var(--tp-ground);
	color: var(--tp-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--tp-accent);
	text-underline-offset: 2px;
}

a:hover,
a:focus {
	color: var(--tp-accent-dark);
}

h1, h2, h3, h4 {
	color: var(--tp-ink);
	font-weight: 600;
	letter-spacing: -.01em;
	text-wrap: balance;
}

h1 {
	font-size: 28px;
	line-height: 1.25;
	margin: 0 0 10px;
}

@media (min-width: 768px) {
	h1 { font-size: 34px; }
}

.proper-content {
	padding-top: 80px;
	padding-bottom: 40px;
}

/* -------------------------------------------------------------------------
 *  Доступность
 * ---------------------------------------------------------------------- */

.tp-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.tp-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 2000;
	padding: 10px 16px;
	background: #fff;
	border: 2px solid var(--tp-accent);
}

.tp-skip-link:focus {
	left: 8px;
	top: 8px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
	outline: 2px solid var(--tp-accent);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
 *  Шапка
 * ---------------------------------------------------------------------- */

.navbar-fixed-top .navbar-inner {
	background: #14161B;
	background-image: none;
	border: 0;
	box-shadow: 0 1px 0 rgba(0, 0, 0, .2);
	padding: 0;
	min-height: 56px;
	border-radius: 0;
}

.navbar .brand {
	color: #fff;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -.01em;
	text-shadow: none;
	padding: 16px 20px 16px 0;
	margin-left: 0;
}

.navbar .brand:hover {
	color: #fff;
}

.tp-nav {
	float: left;
}

.tp-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: 2px;
}

.tp-nav a {
	display: block;
	padding: 17px 14px;
	color: #A8B0BC;
	text-decoration: none;
	font-size: 15px;
}

.tp-nav a:hover,
.tp-nav a:focus {
	color: #fff;
	background: rgba(255, 255, 255, .06);
}

.tp-search-wrap {
	margin: 0;
	padding: 11px 0;
	border: 0;
	box-shadow: none;
}

.tp-search-wrap .form-search {
	margin: 0;
	display: flex;
	gap: 6px;
}

.navbar .search-query,
.tp-search-wrap input[type="search"] {
	height: auto;
	min-height: 34px;
	padding: 6px 12px;
	border-radius: var(--tp-radius);
	border: 1px solid #363B45;
	background: #1E2128;
	color: #fff;
	font-size: 14px;
	width: 260px;
	box-shadow: none;
}

.navbar .search-query::placeholder {
	color: #79808D;
}

.navbar .search-query:focus {
	background: #262A32;
	border-color: var(--tp-accent);
	color: #fff;
	outline: none;
}

@media (max-width: 767px) {
	/* Шапка перестаёт быть фиксированной — на маленьком экране она съедает треть высоты */
	.navbar-fixed-top {
		position: static;
	}

	.proper-content {
		padding-top: 16px;
	}

	/*
	 * Bootstrap 2 раскладывает шапку флоатами (.brand, .pull-right), и на узком
	 * экране поиск наезжал на ссылку «Исполнители». Переводим на flex.
	 */
	.navbar-fixed-top .navbar-inner > .container {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 10px;
		padding: 6px 20px 4px;
	}

	.navbar .brand {
		float: none;
		padding: 8px 0;
		margin: 0;
	}

	.tp-nav {
		float: none;
		margin-left: auto;
	}

	.tp-nav a {
		padding: 8px 10px;
	}

	.navbar-form.pull-right.tp-search-wrap {
		float: none;
		width: 100%;
		padding: 6px 0 10px;
	}

	.navbar .search-query {
		width: auto;
		flex: 1 1 auto;
		min-width: 0;
	}

	/*
	 * Поля страницы. Bootstrap оставляет всего 10px, и карточки почти упираются
	 * в края экрана. Шапка и подвал компенсируют отступ отрицательным полем,
	 * чтобы их тёмный фон оставался во всю ширину.
	 */
	body {
		padding-left: 14px;
		padding-right: 14px;
	}

	.navbar-fixed-top,
	.footer-wrapper {
		margin-left: -14px;
		margin-right: -14px;
	}

	.footer-wrapper > .container {
		padding-left: 14px;
		padding-right: 14px;
		box-sizing: border-box;
	}
}

/* -------------------------------------------------------------------------
 *  Кнопки
 * ---------------------------------------------------------------------- */

.btn {
	background: var(--tp-surface);
	background-image: none;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: none;
	color: var(--tp-ink-2);
	font-size: 14px;
	font-weight: 500;
	padding: 7px 14px;
	text-shadow: none;
	transition: background-color .12s ease, border-color .12s ease;
}

.btn:hover,
.btn:focus {
	background: var(--tp-surface-2);
	border-color: #CBD1DA;
	color: var(--tp-ink);
}

.btn-success {
	background: var(--tp-accent);
	background-image: none;
	border-color: var(--tp-accent);
	color: #fff;
	text-shadow: none;
}

.btn-success:hover,
.btn-success:focus {
	background: var(--tp-accent-dark);
	border-color: var(--tp-accent-dark);
	color: #fff;
}

/* -------------------------------------------------------------------------
 *  Хлебные крошки
 * ---------------------------------------------------------------------- */

.breadcrumb,
.tp-breadcrumb {
	background: none;
	border: 0;
	box-shadow: none;
	padding: 0;
	margin: 0 0 14px;
	font-size: 13.5px;
	color: var(--tp-muted);
}

.breadcrumb > li {
	text-shadow: none;
}

.breadcrumb .divider {
	color: #C3C9D2;
	padding: 0 4px;
}

.breadcrumb .active {
	color: var(--tp-muted);
}

/* -------------------------------------------------------------------------
 *  Карточки-блоки
 * ---------------------------------------------------------------------- */

.tp-card,
.tp-block {
	background: var(--tp-surface);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: var(--tp-shadow);
	padding: 20px 22px;
	margin-top: 20px;
}

.tp-block h2 {
	font-size: 19px;
	line-height: 1.3;
	margin: 0 0 14px;
}

.tp-sidebar-title {
	font-size: 15px !important;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--tp-muted) !important;
	margin-bottom: 12px !important;
}

.tp-block-note {
	margin: -8px 0 14px;
	color: var(--tp-muted);
	font-size: 14px;
}

.well {
	background: var(--tp-surface);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: var(--tp-shadow);
	padding: 22px 24px;
}

.tp-intro p {
	color: var(--tp-ink-2);
	line-height: 1.7;
	margin-bottom: 12px;
	max-width: 68ch;
}

/* -------------------------------------------------------------------------
 *  Страница песни
 * ---------------------------------------------------------------------- */

.tp-song-head {
	background: var(--tp-surface);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: var(--tp-shadow);
	padding: 22px 24px;
	margin-bottom: 20px;
}

.tp-song-title {
	word-break: break-word;
	margin: 0 0 10px;
}

.tp-song-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 18px;
	margin: 0;
	color: var(--tp-muted);
	font-size: 14px;
}

.tp-song-meta strong {
	color: var(--tp-ink-2);
	font-weight: 600;
}

.tp-admin-bar {
	margin: 0 0 12px;
	display: flex;
	gap: 14px;
	font-size: 13px;
}

.tp-audio {
	width: 100%;
	max-width: 460px;
	margin: 16px 0 0;
	display: block;
}

/* Панель инструментов над текстом */
.tp-lyrics-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
}

.tp-font-size {
	display: inline-flex;
	gap: 4px;
	margin-left: auto;
}

.tp-font-size .btn {
	min-width: 40px;
	font-variant-numeric: tabular-nums;
}

/* -------------------------------------------------------------------------
 *  Текст песни
 * ---------------------------------------------------------------------- */

.tp-lyrics-wrap {
	background: var(--tp-surface);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: var(--tp-shadow);
	padding: 22px 24px;
}

.tp-lyrics {
	font-size: var(--tp-lyrics-size);
	line-height: 1.75;
	color: var(--tp-ink);
	word-break: break-word;
	overflow-wrap: anywhere;
}

/*
 * Размер наследуется всеми потомками принудительно.
 * Тексты в базе приходят с собственной разметкой и инлайновыми размерами —
 * без !important кнопки А− / А+ не действовали ни на что.
 */
.tp-lyrics *,
.tp-translate td * {
	font-size: inherit !important;
	line-height: inherit !important;
	font-family: inherit !important;
}

.tp-lyrics p {
	margin: 0 0 15px;
}

.tp-lyrics p:last-child {
	margin-bottom: 0;
}

/*
 * Текст и перевод — настоящая таблица: содержимое приходит из базы вместе
 * со своей разметкой, и колонки должны оставаться ячейками.
 * На узком экране ячейки становятся блоками и встают друг под друга.
 */
.tp-translate {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	table-layout: fixed;
}

.tp-translate th {
	width: 50%;
	text-align: left;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--tp-muted);
	padding: 0 0 10px;
	border-bottom: 1px solid var(--tp-line);
}

.tp-translate th + th {
	padding-left: 28px;
}

.tp-translate td {
	width: 50%;
	vertical-align: top;
	padding: 16px 0 0;
	font-size: var(--tp-lyrics-size);
	line-height: 1.75;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.tp-translate td + td {
	padding-left: 28px;
	border-left: 1px solid var(--tp-line-soft);
}

@media (max-width: 720px) {
	.tp-translate,
	.tp-translate tbody,
	.tp-translate tr,
	.tp-translate td {
		display: block;
		width: 100%;
	}

	.tp-translate thead {
		display: none;
	}

	.tp-translate td {
		padding: 0 0 22px;
		border-left: 0;
	}

	.tp-translate td + td {
		padding-left: 0;
		border-top: 1px solid var(--tp-line);
		padding-top: 18px;
	}

	/* Заголовок колонки возвращается подписью над ячейкой */
	.tp-translate td::before {
		content: attr(data-label);
		display: block;
		margin-bottom: 10px;
		font-size: 13px !important;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: .06em;
		color: var(--tp-muted);
	}
}

.tp-credit {
	margin: 18px 0 0;
	color: var(--tp-muted);
	font-size: 13.5px;
}

.tp-description {
	word-break: break-word;
}

.tp-description h2 {
	font-size: 19px;
	margin-top: 0;
}

.tp-description p {
	color: var(--tp-ink-2);
	line-height: 1.7;
}

.ya-share2 {
	margin-top: 18px;
}

/* -------------------------------------------------------------------------
 *  Списки песен в контенте (похожие, другие песни исполнителя)
 *
 *  Раньше это была сетка из карточек в рамках — на узкой колонке она
 *  ломалась на ряды разной высоты и выглядела мусорно. Теперь простой
 *  список строками, в две колонки на широком экране.
 * ---------------------------------------------------------------------- */

.tp-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tp-list-2col {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0 34px;
}

@media (min-width: 620px) {
	.tp-list-2col {
		grid-template-columns: 1fr 1fr;
	}
}

.tp-list > li {
	margin: 0;
	border-bottom: 1px solid var(--tp-line-soft);
}

.tp-list a {
	display: block;
	padding: 10px 10px 10px 14px;
	margin: 0 -10px 0 -14px;
	border-radius: 6px;
	text-decoration: none;
	color: var(--tp-ink);
	position: relative;
}

/* Маркер-точка слева вместо рамки вокруг каждой строки */
.tp-list a::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 17px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--tp-line);
	transition: background-color .12s ease;
}

.tp-list a:hover,
.tp-list a:focus {
	background: var(--tp-accent-soft);
	color: var(--tp-accent-dark);
}

.tp-list a:hover::before,
.tp-list a:focus::before {
	background: var(--tp-accent);
}

.tp-list-title {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

/*
 * Исполнитель отдельной строкой под названием.
 *
 * Раньше он стоял справа в одну строку с названием, был обрезан по 45% ширины
 * колонки и набран слишком светлым — длинные имена вроде «Владимир Высоцкий»
 * просто пропадали в многоточии. Теперь строка своя, обрезки нет.
 */
.tp-list-sub {
	display: block;
	margin-top: 3px;
	color: #5A6270;
	font-size: 13px;
	line-height: 1.35;
}

.tp-list-sub::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 1px;
	margin: 0 7px 4px 0;
	background: #C3C9D2;
	vertical-align: middle;
}

.tp-list a:hover .tp-list-sub,
.tp-list a:focus .tp-list-sub {
	color: var(--tp-accent-dark);
}

.tp-list a:hover .tp-list-sub::before,
.tp-list a:focus .tp-list-sub::before {
	background: var(--tp-accent);
}

.tp-similar .tp-block-note {
	display: none;
}

/* -------------------------------------------------------------------------
 *  Списки песен
 * ---------------------------------------------------------------------- */

.tp-song-list {
	margin: 0;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	overflow: hidden;
}

.tp-song-list > li {
	margin: 0;
}

.tp-song-list > li + li {
	border-top: 1px solid var(--tp-line-soft);
}

.nav-tabs.nav-stacked.tp-song-list > li > a {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: var(--tp-surface);
	padding: 11px 15px;
	font-size: 14.5px;
	line-height: 1.4;
	color: var(--tp-ink-2);
}

.nav-tabs.nav-stacked.tp-song-list > li > a:hover,
.nav-tabs.nav-stacked.tp-song-list > li > a:focus {
	background: var(--tp-accent-soft);
	color: var(--tp-accent-dark);
}

/* -------------------------------------------------------------------------
 *  Пагинация
 *
 *  wp_corenavi() выводит ссылки через paginate_links(): a.page-numbers,
 *  span.page-numbers.current и span.dots. Раньше они шли голым текстом.
 * ---------------------------------------------------------------------- */

.paginate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 24px 0 0;
}

.paginate .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 13px;
	background: var(--tp-surface);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	color: var(--tp-ink-2);
	font-size: 14.5px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	text-decoration: none;
	box-shadow: var(--tp-shadow);
	transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}

.paginate a.page-numbers:hover,
.paginate a.page-numbers:focus {
	background: var(--tp-accent-soft);
	border-color: var(--tp-accent);
	color: var(--tp-accent-dark);
}

.paginate .page-numbers.current {
	background: var(--tp-accent);
	border-color: var(--tp-accent);
	color: #fff;
	box-shadow: none;
}

.paginate .page-numbers.dots {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--tp-muted);
	min-width: 24px;
	padding: 0 4px;
}

.paginate .prev,
.paginate .next {
	font-size: 17px;
	line-height: 1;
	padding: 0 15px;
}

@media (max-width: 480px) {
	.paginate .page-numbers {
		min-width: 36px;
		height: 36px;
		padding: 0 10px;
		font-size: 14px;
	}
}

/* -------------------------------------------------------------------------
 *  Таблицы
 * ---------------------------------------------------------------------- */

.tp-songs-table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: var(--tp-surface);
}

.tp-songs-table th {
	background: var(--tp-surface-2);
	border-bottom: 1px solid var(--tp-line);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--tp-muted);
	padding: 10px 14px;
	text-align: left;
}

.table-striped.tp-songs-table tbody tr td {
	border-top: 1px solid var(--tp-line-soft);
	padding: 10px 14px;
	font-size: 14.5px;
	vertical-align: middle;
}

.table-striped.tp-songs-table tbody tr:first-child td {
	border-top: 0;
}

.table-striped.tp-songs-table tbody tr:nth-child(odd) td {
	background: transparent;
}

.table-striped.tp-songs-table tbody tr:hover td {
	background: var(--tp-accent-soft);
}

.tp-marker {
	margin-right: 5px;
}

.tp-marker-link {
	margin-left: 8px;
	font-size: 12px;
	color: #C0392B;
}

/* -------------------------------------------------------------------------
 *  Страница исполнителя и каталог
 * ---------------------------------------------------------------------- */

.tp-artist-desc {
	margin: 0 0 20px;
	padding: 16px 18px;
	background: var(--tp-accent-soft);
	border: 1px solid #CFE4DF;
	border-radius: var(--tp-radius);
	line-height: 1.7;
	color: var(--tp-ink-2);
}

.tp-artist-desc p:last-child {
	margin-bottom: 0;
}

.tp-alphabet {
	margin: 0 0 8px;
	padding: 16px 18px;
	background: var(--tp-surface);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: var(--tp-shadow);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.tp-alphabet-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.tp-alphabet-label {
	flex: 0 0 62px;
	padding-top: 8px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--tp-muted);
}

.tp-alphabet-keys {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	min-width: 0;
}

.tp-alphabet-key {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 7px;
	border: 1px solid var(--tp-line);
	border-radius: 6px;
	background: var(--tp-surface);
	color: var(--tp-ink-2);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

a.tp-alphabet-key:hover,
a.tp-alphabet-key:focus {
	background: var(--tp-accent);
	border-color: var(--tp-accent);
	color: #fff;
}

.tp-alphabet-key.is-current {
	background: var(--tp-accent);
	border-color: var(--tp-accent);
	color: #fff;
}

/* Раздел без исполнителей — не ссылка */
.tp-alphabet-key.is-empty {
	color: #BFC5CE;
	background: var(--tp-surface-2);
	border-color: transparent;
	font-weight: 500;
}

@media (max-width: 600px) {
	.tp-alphabet-row {
		flex-direction: column;
		gap: 6px;
	}

	.tp-alphabet-label {
		flex: none;
		padding-top: 0;
	}

	.tp-alphabet-key {
		min-width: 32px;
		height: 32px;
		font-size: 13.5px;
	}
}

.tp-letter-group {
	margin-top: 20px;
	scroll-margin-top: 20px;
	background: var(--tp-surface);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: var(--tp-shadow);
	padding: 18px 22px;
}

.tp-letter-group h2 {
	font-size: 22px;
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--tp-accent-soft);
	color: var(--tp-accent);
}

.tp-artist-columns {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
	gap: 2px 24px;
}

.tp-artist-columns li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 10px;
	padding: 5px 0;
	border-bottom: 1px solid var(--tp-line-soft);
}

.tp-artist-count {
	color: var(--tp-muted);
	font-size: 12.5px;
	font-variant-numeric: tabular-nums;
}

/* -------------------------------------------------------------------------
 *  Поиск и 404
 * ---------------------------------------------------------------------- */

.tp-empty {
	margin: 0 0 20px;
	padding: 20px 22px;
	background: var(--tp-surface);
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: var(--tp-shadow);
}

.tp-empty-search,
.tp-404-search {
	display: flex;
	gap: 8px;
	margin: 16px 0;
	max-width: 460px;
}

.tp-empty-search .search-query,
.tp-404-search .search-query {
	flex: 1 1 auto;
	min-width: 0;
	height: auto;
	min-height: 36px;
	padding: 7px 12px;
	border: 1px solid var(--tp-line);
	border-radius: var(--tp-radius);
	box-shadow: none;
}

.alert.tp-404 {
	background: #FDF3E7;
	border: 1px solid #F0DCC0;
	border-radius: var(--tp-radius);
	color: #7A4B12;
	text-shadow: none;
	padding: 14px 16px;
}

.alert.tp-404 p {
	margin: 0;
}

/* -------------------------------------------------------------------------
 *  Рекламные блоки
 * ---------------------------------------------------------------------- */

.tp-ad-pc {
	width: 100%;
	max-width: 1200px;
	margin: 24px auto;
	padding: 5px;
	box-sizing: border-box;
	min-height: 235px;
}

.tp-ad-pc-inner {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: 5px;
	overflow-x: hidden;
}

.tp-ad-mob {
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	min-height: 245px;
}

/* -------------------------------------------------------------------------
 *  Видео
 * ---------------------------------------------------------------------- */

#videobar {
	padding-bottom: 10px;
}

#videobar iframe {
	width: 100%;
	border: 0;
	border-radius: var(--tp-radius);
}

#video ul {
	padding-left: 0;
	margin: 0 !important;
	list-style: none;
}

#video li {
	min-height: 100px;
	cursor: pointer;
	overflow: hidden;
	margin-bottom: 15px;
}

.videoitem {
	display: block;
	padding-bottom: 10px;
	overflow: hidden;
}

.videoStill {
	position: relative;
	width: 120px;
	height: 90px;
	display: block;
	float: left;
	background-color: #000;
	margin-right: 10px;
	border-radius: 6px;
	overflow: hidden;
}

.video-play {
	width: 32px;
	position: absolute;
	left: 45px;
	top: 30px;
}

/* -------------------------------------------------------------------------
 *  Подвал
 * ---------------------------------------------------------------------- */

.footer-wrapper {
	background: #14161B;
	margin-top: 40px;
	padding: 26px 0;
}

.tp-footer {
	color: #8B93A0;
	font-size: 13.5px;
	border: 0;
	padding: 0;
	margin: 0;
}

.tp-footer p {
	margin: 0 0 10px;
	line-height: 1.65;
}

.tp-footer a {
	color: #C9D1DB;
}

.tp-footer a:hover,
.tp-footer a:focus {
	color: #fff;
}

/* -------------------------------------------------------------------------
 *  Печать
 * ---------------------------------------------------------------------- */

@media print {
	.navbar,
	.tp-lyrics-tools,
	.tp-ad-pc,
	.tp-ad-mob,
	.ya-share2,
	.footer-wrapper,
	aside,
	.tp-similar,
	.tp-breadcrumb,
	.tp-admin-bar {
		display: none !important;
	}

	.tp-lyrics-wrap,
	.tp-song-head {
		border: 0;
		box-shadow: none;
		padding: 0;
	}

	.tp-lyrics,
	.tp-translate td {
		font-size: 12pt !important;
	}
}
