/**
 * Тема оформления в духе Apple Human Interface Guidelines:
 * системная типографика, нейтральные серые фоны, акцент #0071e3, мягкие тени и скругления.
 * Подключается после template.css
 */

:root {
	--apple-bg-page: #f5f5f7;
	--apple-bg-elevated: #ffffff;
	--apple-text: #1d1d1f;
	--apple-text-secondary: #6e6e73;
	--apple-link: #0066cc;
	--apple-link-hover: #0077ed;
	--apple-separator: rgba(0, 0, 0, 0.08);
	--apple-radius-lg: 18px;
	--apple-radius-md: 12px;
	--apple-radius-sm: 980px;
	--apple-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
	--apple-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* ——— Базовая типографика и страница ——— */
body#body {
	background: var(--apple-bg-page) !important;
	padding-bottom: max(48px, env(safe-area-inset-bottom, 0px)) !important;
	font-family: var(--apple-font) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body#body,
body#body td,
body#body th,
body#body div,
body#body p,
body#body label,
body#body input,
body#body li {
	color: var(--apple-text);
	font-family: var(--apple-font);
	font-size: 14px;
	line-height: 1.47059;
}

body#body a,
body#body a:visited {
	color: var(--apple-link);
	text-decoration: none;
}

body#body a:hover {
	color: var(--apple-link-hover);
	text-decoration: underline;
}

/* Центрирование каркаса */
body#body .main {
	margin-left: auto;
	margin-right: auto;
	max-width: 1068px;
	width: 100% !important;
}

/* Убираем тяжёлые боковые «тени», оставляем воздух */
body#body .shadow-left,
body#body .shadow-right {
	background: transparent !important;
}

body#body .wrapper {
	background: var(--apple-bg-elevated) !important;
	border-radius: var(--apple-radius-lg);
	box-shadow: var(--apple-shadow);
	margin-left: max(12px, env(safe-area-inset-left, 0px)) !important;
	margin-right: max(12px, env(safe-area-inset-right, 0px)) !important;
	overflow: hidden;
}

/* Медиа в контенте и колонках — без горизонтального вылезания */
body#body .content img,
body#body #left .module img,
body#body video {
	max-width: 100%;
	height: auto;
}

/* ——— Шапка #nav: белый фон как у .wrapper; ряд 1 — меню; ряд 2 — лого + поиск на всю ширину ——— */
body#body #nav.nav-bar-unified,
body#body #nav {
	background: var(--apple-bg-elevated) !important;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border-bottom: 1px solid var(--apple-separator) !important;
	height: auto !important;
	min-height: 0;
	overflow: visible !important;
	margin-bottom: 5px !important;
}

body#body #nav .nav-shell,
body#body #topmenu.nav-shell {
	width: 100%;
	overflow: visible;
	padding: 0 !important;
	margin: 0;
}

body#body #nav .nav-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto auto;
	row-gap: 14px;
	align-items: start;
	justify-items: stretch;
	padding: 14px 20px 18px;
	box-sizing: border-box;
	width: 100%;
	background: var(--apple-bg-elevated) !important;
}

/* Ряд 1: главное меню на всю ширину */
body#body #nav .nav-main-menu {
	grid-column: 1;
	grid-row: 1;
	justify-self: stretch;
	width: 100%;
	min-width: 0;
}

/* Ряд 2: логотип + поиск (поиск на всю оставшуюся ширину) */
body#body #nav .nav-second-row {
	grid-column: 1;
	grid-row: 2;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 16px 20px;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body#body #nav .nav-second-row .nav-brand-block {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
	width: 100%;
	align-self: stretch;
}

body#body #nav .header-gallery-under-menu {
	width: 100%;
	max-width: 100%;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	box-sizing: border-box;
}

body#body #nav .header-gallery-under-menu .space {
	padding: 0 !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body#body #nav .header-brand-row {
	display: flex !important;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 16px 20px;
	padding: 0 !important;
	overflow: visible !important;
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
}

body#body #nav .header-brand-row.width {
	overflow: visible !important;
}

body#body #nav .header-brand-row .image {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto;
	display: flex !important;
	align-items: center;
	align-self: center;
	justify-content: flex-start;
}

body#body #nav .header-brand-row .image > a {
	display: flex;
	align-items: center;
	line-height: 0;
}

body#body .site-logo-img {
	margin: 0 !important;
	display: block;
	max-height: 72px;
	width: auto;
	vertical-align: middle;
}

body#body #nav .header-search-wrap,
body#body #nav #by_singer.header-search-wrap {
	float: none !important;
	flex: 1 1 0%;
	min-width: 0;
	width: auto;
	max-width: none;
	overflow: visible !important;
}

body#body #nav .header-search-wrap .serch {
	margin-left: 0;
	max-width: none;
	width: 100%;
	box-sizing: border-box;
}

body#body ul.menu-nav {
	width: auto !important;
	max-width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

body#body ul.menu-nav li,
body#body ul.menu-nav li.active {
	float: none !important;
	display: flex;
	align-items: center;
}

body#body ul.menu-nav li a,
body#body ul.menu-nav li a:visited,
body#body ul.menu-nav li a:hover {
	color: var(--apple-text) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em;
	text-transform: none !important;
	line-height: 1.2 !important;
	padding: 10px 16px !important;
	border-radius: var(--apple-radius-sm);
	transition: background-color 0.15s ease, color 0.15s ease;
}

body#body ul.menu-nav li a span {
	background: none !important;
}

body#body ul.menu-nav li a:hover {
	color: var(--apple-text) !important;
	background: rgba(0, 0, 0, 0.04);
	text-decoration: none !important;
}

body#body ul.menu-nav li.active a {
	color: var(--apple-link) !important;
	background: rgba(0, 102, 204, 0.08);
}

/* #gallery с логотипом и поиском — внутри #topmenu; запасной стиль для старых вставок вне шапки */
body#body .wrapper > #gallery:not(.header-gallery-under-menu) {
	background: var(--apple-bg-page);
	padding: 16px 20px !important;
}

/* ——— Заголовок страницы (H1) ——— */
body#body .container h1 {
	background: none !important;
	color: var(--apple-text) !important;
	font-family: var(--apple-font) !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em;
	padding: 20px 24px 12px !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--apple-separator);
}

body#body .container .content {
	margin: 20px 24px 32px !important;
}

/*
 * Дерево тематик (Мастерская): п. 1 — нейтральные ссылки, синий по hover / focus;
 * п. 2 — отступы, направляющая, группировка верхнего уровня;
 * п. 4 — справочный список без «моря синего», CTA в шапке не затрагиваем;
 * п. 5 — .container .content (и дубль .content для вставок без обёртки) + .style-tree / #navigation.
 */
body#body .container .content ul.style-tree,
body#body .container .content ul#navigation,
body#body .content ul.style-tree,
body#body .content ul#navigation {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	max-width: 52rem;
	box-sizing: border-box;
}

body#body .container .content ul.style-tree ul,
body#body .container .content ul#navigation ul,
body#body .content ul.style-tree ul,
body#body .content ul#navigation ul {
	list-style: none;
	margin: 6px 0 10px;
	padding: 4px 0 4px 14px;
	border-left: 2px solid var(--apple-separator);
	box-sizing: border-box;
}

body#body .container .content ul.style-tree > li.style-tree__item,
body#body .container .content ul#navigation > li,
body#body .content ul.style-tree > li.style-tree__item,
body#body .content ul#navigation > li {
	margin: 0 0 12px;
	padding: 10px 14px 12px;
	line-height: 1.5;
	border-radius: 10px;
	background: rgba(0, 0, 0, 0.02);
	border: 1px solid var(--apple-separator);
	box-sizing: border-box;
}

body#body .container .content ul.style-tree li li,
body#body .container .content ul#navigation li li,
body#body .content ul.style-tree li li,
body#body .content ul#navigation li li {
	margin: 0;
	padding: 5px 0;
	line-height: 1.45;
	background: none;
	border: none;
	border-radius: 0;
}

body#body .container .content ul.style-tree a,
body#body .container .content ul#navigation a,
body#body .content ul.style-tree a,
body#body .content ul#navigation a {
	color: var(--apple-text) !important;
	text-decoration: none !important;
	font-weight: 500;
	border-bottom: 1px solid transparent;
	transition: color 0.16s ease, border-color 0.16s ease, font-weight 0.16s ease;
}

body#body .container .content ul.style-tree a:visited,
body#body .container .content ul#navigation a:visited,
body#body .content ul.style-tree a:visited,
body#body .content ul#navigation a:visited {
	color: var(--apple-text-secondary) !important;
}

body#body .container .content ul.style-tree a:hover,
body#body .container .content ul#navigation a:hover,
body#body .content ul.style-tree a:hover,
body#body .content ul#navigation a:hover {
	color: var(--apple-link) !important;
	text-decoration: none !important;
	border-bottom-color: rgba(0, 102, 204, 0.35);
}

body#body .container .content ul.style-tree a:focus-visible,
body#body .container .content ul#navigation a:focus-visible,
body#body .content ul.style-tree a:focus-visible,
body#body .content ul#navigation a:focus-visible {
	outline: 2px solid var(--apple-link);
	outline-offset: 2px;
	border-radius: 4px;
}

body#body .container .content ul.style-tree li.closed > a,
body#body .container .content ul#navigation li.closed > a,
body#body .content ul.style-tree li.closed > a,
body#body .content ul#navigation li.closed > a {
	color: var(--apple-text-secondary) !important;
	font-weight: 400;
}

body#body .container .content ul.style-tree li.closed > a:hover,
body#body .container .content ul#navigation li.closed > a:hover,
body#body .content ul.style-tree li.closed > a:hover,
body#body .content ul#navigation li.closed > a:hover {
	color: var(--apple-link) !important;
}

body#body .container .content ul.style-tree li.style-tree__item--on-path > a,
body#body .container .content ul#navigation li:not(.closed) > a,
body#body .content ul.style-tree li.style-tree__item--on-path > a,
body#body .content ul#navigation li:not(.closed) > a {
	color: var(--apple-text) !important;
	font-weight: 600;
}

body#body .container .content ul.style-tree li.style-tree__item--on-path > a:hover,
body#body .container .content ul#navigation li:not(.closed) > a:hover,
body#body .content ul.style-tree li.style-tree__item--on-path > a:hover,
body#body .content ul#navigation li:not(.closed) > a:hover {
	color: var(--apple-link) !important;
}

body#body .container .content ul.style-tree li.style-tree__item--on-path > a:visited,
body#body .container .content ul#navigation li:not(.closed) > a:visited,
body#body .content ul.style-tree li.style-tree__item--on-path > a:visited,
body#body .content ul#navigation li:not(.closed) > a:visited {
	color: var(--apple-text-secondary) !important;
	font-weight: 600;
}

/* Левая колонка: компактный список стилей (тот же принцип, что п. 4) */
body#body #left .style-reflist__item a {
	color: var(--apple-text) !important;
	text-decoration: none !important;
	font-weight: 500;
	transition: color 0.15s ease;
}

body#body #left .style-reflist__item a:visited {
	color: var(--apple-text-secondary) !important;
}

body#body #left .style-reflist__item a:hover {
	color: var(--apple-link) !important;
	text-decoration: underline !important;
}

body#body .indent {
	padding: 0 8px 32px 8px !important;
}

/* ——— Левая колонка ——— */
body#body #left {
	width: 240px !important;
}

body#body #left .module,
body#body #left .module.s1 {
	background: var(--apple-bg-elevated);
	border-radius: var(--apple-radius-md);
	border: 1px solid var(--apple-separator);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	overflow: hidden;
	margin-bottom: 16px;
}

body#body #left .bookmarks_ch_in {
	padding: 12px 16px !important;
	border-bottom: 1px solid var(--apple-separator);
	font-weight: 600;
	font-size: 13px;
}

body#body #left .bookmarks_ch_in a {
	color: var(--apple-link) !important;
}

/* «Бесплатные минуса !!!»: перелив по тексту + пульс жирности */
@keyframes freeminus-shimmer {
	0% {
		background-position: 0% 50%;
	}
	100% {
		background-position: 200% 50%;
	}
}

@keyframes freeminus-wght {
	0%,
	100% {
		font-weight: 700;
	}
	50% {
		font-weight: 400;
	}
}

body#body #left .bookmarks_ch_in a.freeminus-link,
body#body #left .s1 .bookmarks_ch_in a.freeminus-link {
	font-weight: normal !important;
	text-decoration: none !important;
}

body#body #left .bookmarks_ch_in a.freeminus-link:hover,
body#body #left .s1 .bookmarks_ch_in a.freeminus-link:hover {
	text-decoration: underline !important;
}

body#body #left .bookmarks_ch_in a.freeminus-link .freeminus-link__inner {
	display: inline-block;
	padding: 0 0 1px;
	background-image: linear-gradient(
		90deg,
		#0066cc,
		#5856d6,
		#af52de,
		#e11d48,
		#ea580c,
		#ca8a04,
		#16a34a,
		#0d9488,
		#0066cc,
		#5856d6
	);
	background-size: 200% 100%;
	background-repeat: repeat;
	background-position: 0% 50%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
	font-weight: 700;
	animation: freeminus-shimmer 5.5s linear infinite, freeminus-wght 2.8s ease-in-out infinite;
}

body#body #left .bookmarks_ch_in a.freeminus-link:hover .freeminus-link__inner {
	filter: brightness(1.08);
}

@media (prefers-reduced-motion: reduce) {
	body#body #left .bookmarks_ch_in a.freeminus-link .freeminus-link__inner {
		animation: none;
		background: none;
		-webkit-text-fill-color: unset;
		color: var(--apple-link) !important;
		font-weight: 600;
	}
}

/* ——— Кнопки и поля (общие) ——— */
body#body input[type="button"],
body#body input[type="submit"],
body#body input[type="reset"] {
	background: var(--apple-link) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	border: none !important;
	border-radius: var(--apple-radius-sm) !important;
	padding: 8px 18px !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

body#body input[type="button"]:hover,
body#body input[type="submit"]:hover,
body#body input[type="reset"]:hover {
	background: var(--apple-link-hover) !important;
}

body#body input[type="text"],
body#body input.inputbox {
	border: 1px solid #d2d2d7 !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	font-size: 14px !important;
}

/* Подсказки поиска (jquery.autocomplete) — поверх шапки, не более 15 пунктов в скрипте */
body#body .ac_results {
	z-index: 30000 !important;
	max-height: 340px;
	overflow-y: auto;
	background: var(--apple-bg-elevated) !important;
	border: 1px solid var(--apple-separator) !important;
	border-radius: 10px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}

body#body .ac_results li {
	padding: 8px 12px !important;
	font-size: 14px !important;
	color: var(--apple-text) !important;
	text-align: left;
}

body#body .ac_results li:hover,
body#body .ac_results li.ac_over {
	background: rgba(0, 0, 0, 0.06) !important;
}

/* Блок логина / пользователя (в шапке — справа в .nav-second-row) */
body#body .bloc-login {
	float: right;
}

body#body .bloc-login .form.form-user-bar,
body#body .bloc-login .form-user-bar {
	background: rgba(255, 255, 255, 0.92) !important;
	border-radius: var(--apple-radius-md);
	border: 1px solid var(--apple-separator) !important;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	margin: 8px 12px 0 0 !important;
	padding: 10px 14px !important;
	width: auto !important;
	min-width: 0;
	height: auto !important;
	text-align: left !important;
	line-height: 1.4 !important;
	color: var(--apple-text) !important;
}

body#body .bloc-login .form-user-bar-inner {
	clear: both;
	vertical-align: top;
	margin: 0;
	padding: 0;
}

body#body .bloc-login .form-user-bar a {
	color: var(--apple-link) !important;
	font-size: 12px !important;
	opacity: 1;
}

body#body .bloc-login .form-user-bar a:hover {
	color: var(--apple-link-hover) !important;
}

body#body .bloc-login .user-bar-restore {
	font-size: 11px !important;
	line-height: 1.2 !important;
}

body#body .bloc-login .user-bar-input {
	width: 88px !important;
	padding: 6px 8px !important;
	margin: 4px 6px 0 0 !important;
	font-size: 12px !important;
	border: 1px solid #d2d2d7 !important;
	border-radius: 6px !important;
	vertical-align: middle;
}

body#body .bloc-login .form input[type="submit"] {
	background: var(--apple-link) !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	padding: 6px 12px !important;
	margin-top: 4px !important;
	vertical-align: middle;
}

body#body .bloc-login .user-bar-greeting {
	margin: 0 0 6px 0;
	font-size: 13px;
	color: var(--apple-text);
}

body#body .bloc-login .user-bar-links {
	margin: 0;
	font-size: 12px;
}

body#body .bloc-login .user-bar-links a {
	margin-right: 12px;
	white-space: nowrap;
}

body#body .bloc-login .w_text {
	float: none !important;
	width: auto !important;
	margin: 0 0 6px 0 !important;
	text-align: right;
}

/* ——— Таблицы каталога и заголовки контента ——— */
body#body .contentheading,
body#body .componentheading {
	color: var(--apple-text) !important;
	font-family: var(--apple-font) !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em;
}

/*
 * Списки минусов в каталоге (в т.ч. /style/... → catalog/style/id): здесь нет #navigation,
 * а таблица .catalog_songs — те же нейтральные ссылки, синий только при наведении.
 */
body#body .container .content table.catalog_songs td a,
body#body .content table.catalog_songs td a {
	color: var(--apple-text) !important;
	text-decoration: none !important;
	font-weight: 500;
	border-bottom: 1px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
}

body#body .container .content table.catalog_songs td a:visited,
body#body .content table.catalog_songs td a:visited {
	color: var(--apple-text-secondary) !important;
}

body#body .container .content table.catalog_songs td a:hover,
body#body .content table.catalog_songs td a:hover {
	color: var(--apple-link) !important;
	text-decoration: none !important;
	border-bottom-color: rgba(0, 102, 204, 0.3);
}

body#body .container .content table.catalog_songs td a.name_songs,
body#body .content table.catalog_songs td a.name_songs {
	font-weight: 600 !important;
	color: var(--apple-text) !important;
}

body#body .container .content table.catalog_songs td a.name_songs:hover,
body#body .content table.catalog_songs td a.name_songs:hover {
	color: var(--apple-link) !important;
}

body#body .container .content a#link_back,
body#body .container .content a.col_999,
body#body .content a#link_back,
body#body .content a.col_999 {
	color: var(--apple-text-secondary) !important;
	text-decoration: none !important;
}

body#body .container .content a#link_back:hover,
body#body .container .content a.col_999:hover,
body#body .content a#link_back:hover,
body#body .content a.col_999:hover {
	color: var(--apple-link) !important;
	text-decoration: underline !important;
}

body#body table {
	border-collapse: separate;
	border-spacing: 0;
}

body#body .catalog_songs td {
	padding: 10px 8px !important;
	border-bottom: 1px solid var(--apple-separator);
}

/* ——— Подвал ——— */
body#body #footer {
	background: var(--apple-bg-page) !important;
	border-top: 1px solid var(--apple-separator) !important;
	height: auto !important;
	min-height: 48px;
}

body#body #footer .space {
	color: var(--apple-text-secondary) !important;
	font-size: 12px !important;
	padding: 14px 24px !important;
	background: none !important; /* без логотипа из legacy footerBg.gif */
}

body#body #footer a {
	color: var(--apple-text-secondary) !important;
}

body#body #footer a:hover {
	color: var(--apple-link) !important;
}

/* ——— Мелкие утилиты ——— */
body#body h2,
body#body h3 {
	font-family: var(--apple-font);
	font-weight: 600;
	color: var(--apple-text);
	letter-spacing: -0.01em;
}

body#body h6 {
	color: var(--apple-text-secondary) !important;
	font-weight: 600 !important;
}

/* ——— Левая колонка: убрать зелёно-жёлтые подложки из legacy ——— */
body#body #left .s1 .first {
	border: none !important;
	border-bottom: 1px solid var(--apple-separator) !important;
	background: var(--apple-bg-elevated) !important;
}

body#body #left .s1 .bookmarks_ch_in {
	background: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 12px 16px !important;
	border-bottom: 1px solid var(--apple-separator);
}

body#body #left .s1 .bookmarks_ch_in a {
	color: var(--apple-link) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

body#body #left .module td,
body#body #left .module p {
	color: var(--apple-text) !important;
}

body#body #left .module a {
	color: var(--apple-link) !important;
	text-decoration: none;
}

body#body #left .module a:hover {
	text-decoration: underline;
}

body#body #left .box-indent {
	padding: 10px 14px 14px !important;
}

/* ——— Поиск в шапке: без картинки serch_bg, спокойная кнопка ——— */
body#body #gallery .serch {
	background: var(--apple-bg-elevated) !important;
	border: 1px solid var(--apple-separator);
	border-radius: var(--apple-radius-md);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
	width: auto !important;
	max-width: 720px;
	height: auto !important;
	min-height: 56px;
	padding: 8px 12px 8px 16px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

/* В #nav — полоса поиска на всю ширину ячейки (рядом с логотипом) */
body#body #nav #gallery .serch {
	max-width: none !important;
	width: 100% !important;
	flex-wrap: nowrap;
}

body#body #gallery .serch form#searchform {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
}

body#body #nav #gallery .serch form#searchform {
	flex-wrap: nowrap;
	min-width: 0;
}

body#body #gallery .serch input[type="text"] {
	width: min(100%, 520px) !important;
	margin: 0 !important;
	height: 44px !important;
	padding: 0 14px !important;
	float: none !important;
	background: #f5f5f7 !important;
	border: 1px solid #d2d2d7 !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	color: var(--apple-text) !important;
	flex: 1 1 240px;
}

body#body #nav #gallery .serch input[type="text"] {
	width: auto !important;
	max-width: none !important;
	flex: 1 1 0%;
	min-width: 0;
}

body#body #nav #gallery .serch input.submit,
body#body #nav #gallery .serch input[type="submit"] {
	flex: 0 0 auto;
}

body#body #gallery .serch input.submit,
body#body #gallery .serch input[type="submit"] {
	width: auto !important;
	min-width: 100px;
	margin: 0 !important;
	float: none !important;
	height: 44px !important;
	padding: 0 22px !important;
	background: var(--apple-link) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

body#body #gallery .serch input.submit:hover,
body#body #gallery .serch input[type="submit"]:hover {
	background: var(--apple-link-hover) !important;
}

/* ——— Страница минуса: сетка и карточки ——— */
body#body .song-page-layout {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	container-type: inline-size;
	container-name: song-page;
}

body#body .song-page-col-main {
	width: 50%;
	max-width: 460px;
	vertical-align: top;
	padding-right: 8px;
}

body#body .song-page-col-gap {
	width: 24px;
}

body#body .song-page-col-gap--narrow {
	width: 20px;
}

body#body .song-page-col-side {
	vertical-align: top;
}

/* Десктоп: ~55% текст/плеер, ~45% правая колонка — карточка «Скачать…» на всю ширину ячейки */
@media (min-width: 769px) {
	body#body .song-page-col-main {
		width: 55%;
		max-width: none;
	}

	body#body .song-page-col-side {
		width: 45%;
		max-width: none;
	}
}

body#body .pay_minus--clean {
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 24px 0 !important;
	padding: 0 0 20px 0 !important;
	border: none !important;
	border-bottom: 1px solid var(--apple-separator) !important;
	border-radius: 0 !important;
	background: transparent !important;
}

/* Платный блок «Скачать минусовку (полная версия)» — заметная подложка в правой колонке */
body#body .song-page-col-side .pay_minus--clean {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0 0 22px 0 !important;
	padding: 18px 16px 20px !important;
	border: 1px solid rgba(0, 102, 204, 0.35) !important;
	border-radius: var(--apple-radius-md) !important;
	background: linear-gradient(
		160deg,
		rgba(0, 102, 204, 0.16) 0%,
		rgba(88, 86, 214, 0.12) 48%,
		rgba(255, 149, 0, 0.08) 100%
	) !important;
	box-shadow: 0 6px 22px rgba(0, 102, 204, 0.14);
}

@media (min-width: 769px) {
	body#body .song-page-col-side .pay_minus--clean {
		width: 100%;
		max-width: 100%;
	}
}

body#body .song-page-col-side .pay_minus--clean .h3_pad {
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--apple-text) !important;
	letter-spacing: -0.02em;
}

body#body .song-page-col-side .pay_minus--clean .robocassa {
	margin-top: 4px !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

body#body .song-page-col-side .pay_minus--clean .cena {
	font-weight: 700 !important;
	font-size: 20px !important;
	color: var(--apple-link) !important;
	letter-spacing: -0.02em;
}

body#body .song-page-col-side .pay_minus--clean input.pay {
	margin-top: 14px !important;
	box-shadow: 0 2px 10px rgba(0, 102, 204, 0.25) !important;
}

/* Карточка «Скачать … тут» — без нижнего margin у .h3_pad (он для блока с Robokassa) и симметричный padding */
body#body .song-page-col-side .pay_minus--clean.pay_minus--recover {
	padding: 19px 16px !important;
}

body#body .song-page-col-side .pay_minus--clean.pay_minus--recover .h3_pad {
	margin: 0 !important;
}

body#body .song-page-col-side .pay_minus--clean .pay_minus-recover-link {
	color: var(--apple-link) !important;
	font-weight: 600;
	text-decoration: none;
}

body#body .song-page-col-side .pay_minus--clean .pay_minus-recover-link:hover {
	color: var(--apple-link-hover) !important;
	text-decoration: underline;
}

body#body .song-audio-wrap {
	margin: 12px 0 8px;
}

body#body .song-audio-wrap audio {
	width: 100%;
	max-width: 360px;
}

body#body .song-free-listen-meta {
	margin: 0 0 10px 0;
}

body#body .song-lyrics-block {
	margin-top: 8px;
}

body#body .song-lyrics-block h3 {
	margin-top: 0;
}

body#body .pasport--clean td {
	background: transparent !important;
	border-bottom: 1px solid var(--apple-separator) !important;
	font-weight: normal !important;
	padding: 10px 0 !important;
	vertical-align: top;
}

body#body .pasport--clean td a {
	font-weight: 500;
}

body#body .catalog-bookmark {
	margin: 0 0 8px 0;
}

body#body .catalog-bookmark a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
}

body#body .catalog-bookmark img {
	vertical-align: middle;
}

body#body .support-line {
	font-size: 13px;
	color: var(--apple-text-secondary);
	margin: 16px 0;
	line-height: 1.5;
}

body#body .support-email {
	font-weight: 600;
}

body#body .song-free-extras td {
	padding: 8px 0;
	vertical-align: top;
}

body#body .tab_form--clean {
	width: 100% !important;
	border-color: var(--apple-separator) !important;
}

/* Восстановление ссылки на скачивание: /catalog/robocassa/download/ */
body#body .robocassa-download-page {
	margin: 0 0 28px 0;
	padding: 4px 0 0 0;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

body#body .robocassa-download-page > p {
	margin: 0 0 18px 0;
	max-width: min(40rem, 100%);
	color: var(--apple-text-secondary);
	font-size: 14px;
	line-height: 1.5;
}

body#body .robocassa-download-page .h3_pad,
body#body .robocassa-download-page h2.h3_pad {
	margin-top: 0;
	margin-bottom: 10px;
}

body#body .robocassa-download-form {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

body#body .robocassa-download-form__layout {
	table-layout: fixed;
	width: 100%;
	max-width: min(36rem, 100%);
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--apple-separator);
	border-radius: var(--apple-radius-md);
	overflow: hidden;
	background: var(--apple-bg-elevated);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

body#body .robocassa-download-form__layout th,
body#body .robocassa-download-form__layout td {
	padding: 14px 18px;
	vertical-align: middle;
	text-align: left;
	background: transparent !important;
	border-bottom: 1px solid var(--apple-separator);
	font-weight: normal !important;
	box-sizing: border-box;
	overflow-wrap: anywhere;
	word-wrap: break-word;
	max-width: 100%;
}

body#body .robocassa-download-form__layout th {
	width: 38%;
	min-width: 0;
	padding-right: 12px;
}

@media (min-width: 769px) {
	body#body .robocassa-download-form__layout th {
		min-width: 9rem;
	}
}

body#body .robocassa-download-form__layout tr:last-child th,
body#body .robocassa-download-form__layout tr:last-child td {
	border-bottom: none;
}

body#body .robocassa-download-form__layout label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--apple-text);
	line-height: 1.35;
	margin: 0;
}

body#body .robocassa-download-form__input {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: 44px;
	padding: 0 14px;
	box-sizing: border-box;
	margin: 0;
	float: none !important;
	background: #f5f5f7 !important;
	border: 1px solid #d2d2d7 !important;
	border-radius: 10px !important;
	font-size: 15px !important;
	font-family: var(--apple-font);
	color: var(--apple-text) !important;
	line-height: 1.25;
}

body#body .robocassa-download-form__input:focus {
	outline: none;
	border-color: var(--apple-link) !important;
	box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.18);
}

body#body .robocassa-download-form__input::placeholder {
	color: var(--apple-text-secondary);
	opacity: 0.85;
}

body#body .robocassa-download-form__actions td {
	padding-top: 16px;
	padding-bottom: 16px;
	background: rgba(0, 0, 0, 0.02) !important;
}

body#body .robocassa-download-form__submit {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 26px;
	margin: 0;
	font-size: 15px !important;
	font-weight: 600 !important;
	font-family: var(--apple-font);
	color: #fff !important;
	background: var(--apple-link) !important;
	border: none !important;
	border-radius: 980px;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.15s ease;
}

body#body .robocassa-download-form__submit:hover {
	background: var(--apple-link-hover) !important;
	color: #fff !important;
}

/* Узкие экраны: одна колонка, форма не шире контейнера */
@media (max-width: 768px) {
	body#body .robocassa-download-form__layout {
		max-width: 100%;
	}

	body#body .robocassa-download-form__layout tbody,
	body#body .robocassa-download-form__layout tr,
	body#body .robocassa-download-form__layout th,
	body#body .robocassa-download-form__layout td {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
	}

	body#body .robocassa-download-form__layout tr:not(.robocassa-download-form__actions) th {
		border-bottom: none;
		padding-bottom: 8px;
		padding-top: 14px;
	}

	body#body .robocassa-download-form__layout tr:not(.robocassa-download-form__actions) td {
		padding-top: 0;
		border-bottom: 1px solid var(--apple-separator);
		padding-bottom: 16px;
	}

	body#body .robocassa-download-form__layout tr.robocassa-download-form__actions td {
		border-bottom: none;
		padding-top: 18px;
		padding-bottom: 16px;
	}
}

body#body .robocassa-download-msg--err {
	color: #b00020;
	margin: 0 0 16px 0;
	padding: 12px 14px;
	font-weight: 500;
	font-size: 14px;
	line-height: 1.45;
	background: rgba(176, 0, 32, 0.06);
	border: 1px solid rgba(176, 0, 32, 0.2);
	border-radius: var(--apple-radius-md);
	max-width: min(36rem, 100%);
	box-sizing: border-box;
}

body#body .robocassa-download-result {
	margin-top: 22px;
	padding: 18px 18px 4px 18px;
	max-width: min(36rem, 100%);
	box-sizing: border-box;
	border: 1px solid rgba(0, 102, 204, 0.25);
	border-radius: var(--apple-radius-md);
	background: linear-gradient(
		160deg,
		rgba(0, 102, 204, 0.08) 0%,
		rgba(255, 255, 255, 0.9) 100%
	);
}

body#body .form-input-wide {
	width: 100%;
	max-width: 280px;
}

body#body .form-textarea-order {
	width: 100%;
	max-width: 280px;
	min-height: 100px;
	border: 1px solid #d2d2d7;
	border-radius: 8px;
	padding: 8px 10px;
	font-family: var(--apple-font);
	font-size: 14px;
}

/* Кнопка оплаты */
body#body input.pay {
	border-radius: 980px !important;
	border: none !important;
	box-shadow: none !important;
	background: var(--apple-link) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	padding: 12px 24px !important;
	margin: 12px 0 0 0 !important;
}

body#body input.pay:hover {
	background: var(--apple-link-hover) !important;
	color: #fff !important;
}

body#body .robocassa {
	color: var(--apple-text) !important;
	font-size: 15px !important;
	margin-top: 8px;
}

body#body .cena {
	color: var(--apple-text) !important;
}

body#body .free_span {
	color: var(--apple-text-secondary) !important;
	font-weight: 600 !important;
}

/* Строки списка минусов */
body#body tr.catalog-song-row:hover td {
	background: rgba(0, 0, 0, 0.03);
}

body#body .catalog_songs th h3 {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--apple-text-secondary);
	margin: 0;
	padding: 8px 8px 12px;
}

body#body a.catalog-next-link {
	white-space: nowrap;
}

/* ===== Адаптивность: узкие экраны, тач, безопасные зоны ===== */

@media (max-width: 1068px) {
	body#body .wrapper {
		margin-left: max(8px, env(safe-area-inset-left, 0px)) !important;
		margin-right: max(8px, env(safe-area-inset-right, 0px)) !important;
	}
}

@media (max-width: 900px) {
	body#body .indent {
		display: flex;
		flex-direction: column;
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
		float: none !important;
		padding-left: 6px !important;
		padding-right: 6px !important;
	}

	/* В разметке сначала #left, затем .container — на мобильном контент сверху */
	body#body .indent > #left {
		float: none !important;
		width: 100% !important;
		max-width: 100%;
		order: 2;
		margin-top: 20px;
	}

	body#body .indent > .container {
		float: none !important;
		width: 100% !important;
		max-width: 100%;
		overflow: visible !important;
		height: auto !important;
		order: 1;
		min-width: 0;
	}

	body#body .container h1 {
		font-size: 22px !important;
		padding: 16px 14px 10px !important;
	}

	body#body .container .content,
	body#body .content {
		margin: 14px 12px 24px !important;
	}

	body#body #nav .nav-grid {
		padding: 12px 12px 14px !important;
	}

	body#body #nav .nav-second-row {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	body#body #nav .header-brand-row {
		flex-direction: column;
		align-items: stretch;
	}

	body#body #nav .header-search-wrap {
		flex: 1 1 auto;
		width: 100%;
	}
}

@media (max-width: 768px) {
	body#body table.song-page-layout,
	body#body table.song-page-layout tbody,
	body#body table.song-page-layout tr {
		display: block;
		width: 100% !important;
	}

	body#body table.song-page-layout td.song-page-col-main,
	body#body table.song-page-layout td.song-page-col-side {
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}

	body#body table.song-page-layout td.song-page-col-gap,
	body#body table.song-page-layout td.song-page-col-gap--narrow {
		display: none !important;
		height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden;
		border: none !important;
	}

	body#body .song-page-col-main {
		margin-bottom: 16px;
	}

	body#body .song-audio-wrap audio {
		max-width: 100%;
	}

	body#body .song-page-col-side {
		width: 100% !important;
		max-width: 100% !important;
	}

	body#body .song-page-col-side .pay_minus--clean {
		width: 100% !important;
		max-width: 100% !important;
	}

	body#body #footer .space {
		padding: 12px 14px !important;
		line-height: 1.6;
	}
}

@media (max-width: 640px) {
	body#body .wrapper {
		margin-left: max(4px, env(safe-area-inset-left, 0px)) !important;
		margin-right: max(4px, env(safe-area-inset-right, 0px)) !important;
		border-radius: 14px;
	}

	body#body ul.menu-nav li a,
	body#body ul.menu-nav li a:visited,
	body#body ul.menu-nav li a:hover {
		padding: 12px 14px !important;
		min-height: 44px;
		box-sizing: border-box;
		display: inline-flex;
		align-items: center;
	}

	body#body .container .content,
	body#body .content {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body#body table.catalog_songs {
		min-width: 480px;
	}

	body#body .wrapper > #gallery:not(.header-gallery-under-menu) {
		padding: 12px 14px !important;
	}
}

@media (max-width: 380px) {
	body#body .container h1 {
		font-size: 18px !important;
		padding: 12px 10px 8px !important;
		overflow-wrap: anywhere;
	}
}
