/* ===============================================================
   LORDFILM — светлый минималистичный слой. Подключается последним,
   поэтому переопределяет токены из common.css, не трогая разметку.
   Тёмная тема (.dt) не затрагивается: её правила специфичнее :root.
   =============================================================== */

:root {
	/* поверхности: тёплый небелый холст, карточки белые */
	--bg: #ffffff;
	--bg-darker: #ffffff;
	--bg-darker-1: #f7f6f3;
	--bg-blackest: #f7f6f3;

	/* текст: не абсолютно чёрный */
	--tt: #111111;
	--tt-fade-0: #4a4a47;
	--tt-fade: #5c5c59;

	/* границы почти невидимые, теней практически нет */
	--bdc: #eaeaea;
	--bsh: none;
	--bsh-block: none;
	--bsh-long: none;
	--ui-bsh: 0 2px 8px rgba(0,0,0,0.04);

	/* цвет — редкий ресурс: акцент приглушённый, кнопки графитовые */
	--accent: #346538;
	--accent-soft: #edf3ec;
	--ui-bg-btn: #111111;
	--ui-tt-btn: #ffffff;
	--ui-bg-btn-hover: #333333;
	--ui-bdc-inp: #eaeaea;
	--ui-bdc-inp-focus: #111111;
	--ui-bg-inp: #ffffff;
	--ui-bg: #ffffff;
	--ui-bg-darker: #f7f6f3;
	--ui-bg-darkest: #f0efec;
	--ui-bdc: #eaeaea;
	--ui-accent: #111111;
	--ui-gradient: none;

	/* геометрия: крупные отступы, сдержанные скругления */
	--bdrs-card: 10px;
	--bdrs-poster: 10px;
	--ui-elem-bdrs: 6px;
	--indent: 28px;
	--indent-negative: -28px;
	--max-width: 1200px;

	--fs-2xl: 30px;

	/* типографика: гротеск в интерфейсе, антиква в заголовках */
	--font-ui: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI',
		'Helvetica Neue', Arial, sans-serif;
	--font-display: 'Instrument Serif', 'Playfair Display', Georgia, 'Times New Roman', serif;
	--font-mono: 'SF Mono', 'JetBrains Mono', 'Cascadia Mono', Consolas, monospace;
}

body {font-family: var(--font-ui); background-color: var(--bg-blackest); line-height: 1.6;}
.wrapper__container--main {background-color: var(--bg-darker); box-shadow: none;}

/* фон: тёплое пятно света вместо зелёного свечения */
.wrapper::before {height: 520px;
	background: radial-gradient(120% 100% at 50% 0%, rgba(180,150,110,0.07) 0%, transparent 62%), var(--bg-blackest);}

/* ЗАГОЛОВКИ — редакционная антиква с плотным трекингом
----------------------------------------------- */
h1, h2, h3, .sect__title, .home-title, .page__title, .carou__caption {
	font-family: var(--font-display); font-weight: 400; letter-spacing: -0.02em; line-height: 1.12;
	color: var(--tt); text-transform: none;}
.home-title {font-size: clamp(30px, 4.4vw, 46px); margin: 18px 0 10px;}
.home-subtitle {color: var(--tt-fade); font-size: var(--fs-md); max-width: 62ch; margin-bottom: 4px; font-family: var(--font-ui);}
.sect__title {font-size: clamp(22px, 2.4vw, 30px);}
.carou .carou__caption {font-size: clamp(20px, 2.2vw, 26px); color: var(--tt); opacity: 1;
	margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--bdc);}
.page__title {font-size: clamp(24px, 3vw, 36px);}

/* ШАПКА — тонкая линия вместо тени
----------------------------------------------- */
.header {background-color: var(--bg); backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--bdc); box-shadow: none; min-height: 64px;}
.logo {font-family: var(--font-display); text-transform: none; letter-spacing: -0.02em; font-size: 24px; color: var(--tt);}
.header__menu > li > a {font-family: var(--font-ui); font-weight: 500; text-transform: none;
	letter-spacing: 0; font-size: var(--fs-base); color: var(--tt-fade-0); border-bottom: 1px solid transparent;}
.header__menu > li > a:hover {color: var(--tt); border-bottom-color: var(--tt);}
.header__menu-hidden {border: 1px solid var(--bdc); box-shadow: var(--ui-bsh); border-radius: 10px;}
.search-block__input, .search-block__input:focus {background-color: var(--ui-bg-inp); border: 1px solid var(--bdc); height: 40px;}
.lt .search-block__input, .lt .search-block__input:focus {background-color: #f7f6f3;}
.lt .header {background-color: rgba(255,255,255,0.86);}
.header__btn-login {background: var(--ui-bg-btn); border-radius: 6px;}
.header__btn-login:hover {background: var(--ui-bg-btn-hover);}

.carou {background-color: var(--bg-darker); color: var(--tt); padding-top: 0;}
.lt .carou {--tt: #111111; --tt-fade: #5c5c59; --bdc: #eaeaea;}
.lt .carou .carou__caption {color: #111111;}
.sect.is-empty {display: none;}

/* СЕКЦИИ — воздух между блоками
----------------------------------------------- */
.content {padding: 28px var(--indent) 56px;}
.sect {margin-bottom: 64px;}
.sect__header {margin-bottom: 22px; padding-bottom: 14px; border-bottom: 1px solid var(--bdc);}
.sect__more {color: var(--tt-fade); font-size: var(--fs-base);}
.sect__more:hover {color: var(--tt);}
/* весь заголовок раздела — ссылка на категорию */
.sect__title a {color: inherit; display: inline-flex; align-items: baseline; gap: 10px;}
.sect__title a::after {content: '\2192'; font-size: 0.6em; color: var(--tt-fade); transition: transform .2s ease;}
.sect__title a:hover {text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px;}
.sect__title a:hover::after {transform: translateX(4px); color: var(--tt);}

/* боковой блок «Рекомендуем»: названия остались белыми от тёмной темы */
.lt .fr__title, .lt .fr__title span, .lt .fr__title:hover {color: var(--tt);}
.lt .fr__title:hover {text-decoration: underline; text-underline-offset: 3px;}
.lt .fr__desc, .lt .fr__desc span {color: var(--tt-fade);}
.speedbar {color: var(--tt-fade); font-size: var(--fs-sm);}

/* КАРТОЧКИ — плоские, с волосяной рамкой
----------------------------------------------- */
.item, .grid-items__item {background: transparent;}
.item__img {border: 1px solid var(--bdc); border-radius: var(--bdrs-poster); overflow: hidden;
	background: var(--ui-bg-darker); box-shadow: none; transition: box-shadow .2s ease, transform .2s ease;}
.item:hover .item__img {box-shadow: 0 2px 8px rgba(0,0,0,0.04); transform: translateY(-2px);}
.item__label {background: rgba(17,17,17,0.82); color: #fff; font-size: 11px; letter-spacing: 0.04em;
	text-transform: uppercase; border-radius: 999px; padding: 4px 10px; font-weight: 500;}
.item__title {color: var(--tt); font-weight: 500;}

/* КНОПКИ И ТЕГИ
----------------------------------------------- */
button, .btn, [type="button"], [type="submit"] {border-radius: 6px; font-weight: 500; box-shadow: none;}
button:active, [type="submit"]:active {transform: scale(0.98); box-shadow: none;}
.pagination__btn-loader a {background: var(--ui-bg-btn); color: var(--ui-tt-btn); border-radius: 6px;}
/* при живом JS кнопку прячем: страница добирает следующий блок сама */
.has-autoload .pagination__btn-loader a {display: none;}
.autoload-status {text-align: center; color: var(--tt-fade); font-size: var(--fs-sm);
	font-family: var(--font-mono); padding: 18px 0 8px; min-height: 20px;}

/* ПОДВАЛ — на светлой теме весь текст тёмный, белого быть не должно
----------------------------------------------- */
.footer {border-top: 1px solid var(--bdc); background: var(--bg-darker); padding-top: 28px; padding-bottom: 28px;}
/* подвал чуть темнее основного полотна — отбивает конец страницы */
.lt .footer {background: #f2f1ed;}
.footer__logo {font-family: var(--font-display); text-transform: none;}
.lt .footer, .lt .footer a, .lt .footer span, .lt .footer li,
.lt .footer__logo, .lt .footer__logo span,
.lt .footer__notify, .lt .footer__copyright, .lt .footer__menu a {color: #111111;}
.lt .footer__notify, .lt .footer__copyright {font-size: var(--fs-sm);}
.lt .footer a:hover {color: #333333; text-decoration: underline;}

/* ПОЯВЛЕНИЕ БЛОКОВ ПРИ ПРОКРУТКЕ
----------------------------------------------- */
/* класс has-reveal ставит сам скрипт: без JS блоки видимы всегда */
.has-reveal .reveal {opacity: 0; transform: translateY(12px);}
.has-reveal .reveal.is-in {opacity: 1; transform: none;
	transition: opacity .6s cubic-bezier(.16,1,.3,1), transform .6s cubic-bezier(.16,1,.3,1);}
/* раздел без публикаций не должен оставлять пустое поле.
   :empty здесь не годится — внутри остаются пробелы от шаблона,
   поэтому проверяем отсутствие дочерних элементов. */
.sect:has(> .sect__content.grid-items:not(:has(*))) {display: none;}

@media (prefers-reduced-motion: reduce) {
	.has-reveal .reveal, .has-reveal .reveal.is-in {opacity: 1; transform: none; transition: none;}
	.item:hover .item__img {transform: none;}
}

/* ===============================================================
   БЛОК ПОДБОРА «ЧТО ПОСМОТРЕТЬ» + ПОЛКИ ИСТОРИИ И СПИСКА
   =============================================================== */
.pick {border: 1px solid var(--bdc); border-radius: 10px; background: var(--bg);
	padding: 16px 18px; margin: 4px 0 40px; position: relative; overflow: hidden;
	display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px;}
.pick::after {content: ''; position: absolute; inset: auto -10% -140% auto; width: 260px; height: 260px;
	background: radial-gradient(circle, rgba(52,101,56,0.04) 0%, transparent 65%); pointer-events: none;}
.pick__head {display: flex; align-items: baseline; gap: 10px; flex: 0 0 auto;}
.pick__title {font-family: var(--font-display); font-size: 20px; letter-spacing: -0.02em; line-height: 1.15;}
.pick__sub {display: none;}
.pick__chips {display: flex; flex-wrap: wrap; gap: 6px; margin: 0; flex: 1 1 auto;}
.pick__chip {height: 26px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--bdc);
	background: var(--bg); color: var(--tt-fade-0); font-size: 11px; font-weight: 500;
	letter-spacing: 0.03em; text-transform: uppercase; cursor: pointer;}
.pick__chip:hover {border-color: #d8d8d5; color: var(--tt);}
.pick__chip.is-on {background: #edf3ec; border-color: #d8e4d7; color: #346538;}
.pick__actions {display: flex; align-items: center; gap: 8px; flex: 0 0 auto;}
.pick__btn {height: 32px; padding: 0 14px; background: var(--ui-bg-btn); color: var(--ui-tt-btn);
	border-radius: 6px; font-size: var(--fs-base);}
.pick__btn:hover {background: var(--ui-bg-btn-hover);}
.pick__again {height: 32px; padding: 0 12px; background: var(--bg); color: var(--tt);
	border: 1px solid var(--bdc); font-size: var(--fs-sm);}
.pick__again:hover {background: var(--ui-bg-darker);}
.pick__hint {color: var(--tt-fade); font-size: 11px; font-family: var(--font-mono); flex: 0 0 auto;}
.pick__result {display: grid; grid-template-columns: repeat(3, minmax(0, 168px)); gap: 12px;
	margin: 6px 0 0; flex: 0 0 100%; max-width: none;}
.pick__result:empty {display: none;}
.pick__card {border: 1px solid var(--bdc); border-radius: 10px; overflow: hidden; background: var(--bg);
	display: flex; flex-direction: column; opacity: 0; transform: translateY(10px);
	animation: pickIn .5s cubic-bezier(.16,1,.3,1) forwards; animation-delay: calc(var(--i, 0) * 80ms);}
@keyframes pickIn {to {opacity: 1; transform: none;}}
.pick__card img {width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; background: var(--ui-bg-darkest);}
.pick__card-body {padding: 10px; display: flex; flex-direction: column; gap: 8px; flex: 1;}
.pick__card-title {font-weight: 500; color: var(--tt); line-height: 1.35;}
.pick__card-title:empty {display: none;}
.pick__card-meta {color: var(--tt-fade); font-size: 11px; font-family: var(--font-mono);}
.pick__card-links {display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto;}
.pick__card-links a {flex: 1 1 100%; height: 32px; display: inline-flex; align-items: center; justify-content: center;
	background: var(--ui-bg-btn); color: var(--ui-tt-btn); border-radius: 6px; font-size: var(--fs-sm); font-weight: 500;}
.pick__card-links a:hover {background: var(--ui-bg-btn-hover);}
.pick__card-links button {flex: 1 1 calc(50% - 3px); height: 30px; padding: 0 6px; font-size: 11px; background: var(--bg); color: var(--tt-fade);
	border: 1px solid var(--bdc); font-size: var(--fs-sm);}
.pick__card-links button:hover {color: var(--tt); background: var(--ui-bg-darker);}
.pick__empty {color: var(--tt-fade); margin: 0; font-size: var(--fs-sm); flex: 1 1 100%;}

.rail {margin-bottom: 56px;}
.rail__head {display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
	padding-bottom: 14px; border-bottom: 1px solid var(--bdc); margin-bottom: 18px;}
.rail__title {font-family: var(--font-display); font-size: clamp(20px, 2.2vw, 26px); letter-spacing: -0.02em;}
.rail__clear {background: none; color: var(--tt-fade); height: auto; padding: 0; font-size: var(--fs-sm);}
.rail__clear:hover {color: var(--tt);}
.rail__items {display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px;}
.rail__item img {width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border: 1px solid var(--bdc);
	border-radius: 10px; background: var(--ui-bg-darkest); display: block; transition: box-shadow .2s ease, transform .2s ease;}
.rail__item:hover img {box-shadow: 0 2px 8px rgba(0,0,0,0.04); transform: translateY(-2px);}
.rail__item span {display: block; margin-top: 8px; font-size: var(--fs-sm); color: var(--tt-fade-0); line-height: 1.4;}

@media (max-width: 900px) {
	:root {--indent: 18px;}
	.pick {padding: 14px;}
	.pick__result {grid-template-columns: repeat(2, 1fr);}
	.rail__items {grid-template-columns: repeat(3, 1fr);}
	.sect {margin-bottom: 44px;}
}
@media (max-width: 560px) {
	.pick__result {grid-template-columns: 1fr 1fr; gap: 14px;}
	/* на узком экране три кнопки в строку не помещались и обрезались */
	.pick__card-body {padding: 12px;}
	.pick__card-links {flex-wrap: wrap; gap: 6px;}
	.pick__card-links a {flex: 1 1 100%;}
	.pick__card-links button {flex: 1 1 calc(50% - 3px); padding: 0 6px;}
	.rail__items {grid-template-columns: repeat(2, 1fr);}
	.pick__actions {width: 100%;}
	.pick__btn, .pick__again {flex: 1;}
}
