/* koreec.css — единственный файл стилей шаблона koreec (светлая/тёмная тема) */

/* ---------- Переменные тем ---------- */
:root {
	--bg: #ffffff;
	--bg-alt: #f5f6f7;
	--text: #1c1e21;
	--muted: #68717a;
	--link: #0b5fbf;
	--link-hover: #084a96;
	--border: #e2e5e9;
	--card-shadow: 0 1px 3px rgba(15, 20, 25, .08);
	--header-bg: #ffffff;
	color-scheme: light;
}
:root[data-theme="dark"] {
	--bg: #14161a;
	--bg-alt: #1d2025;
	--text: #e7e9ec;
	--muted: #98a1ab;
	--link: #6db2ff;
	--link-hover: #93c5ff;
	--border: #2b3037;
	--card-shadow: 0 1px 3px rgba(0, 0, 0, .5);
	--header-bg: #14161a;
	color-scheme: dark;
}

/* ---------- База ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 1.0625rem;
	line-height: 1.65;
}
a { color: var(--link); text-decoration: none; }
a:hover { color: var(--link-hover); text-decoration: underline; }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { line-height: 1.25; margin: 1.4em 0 .5em; }
hr { border: 0; border-top: 1px solid var(--border); }
::selection { background: var(--link); color: #fff; }

/* Элементы форм (в т.ч. форма комментариев ядра) */
input[type="text"], input[type="email"], input[type="url"],
input[type="search"], input[type="password"], textarea, select {
	background: var(--bg);
	color: var(--text);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: .5em .75em;
	font: inherit;
	max-width: 100%;
}
input:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible {
	outline: 2px solid var(--link);
	outline-offset: 2px;
}
button, input[type="submit"], input[type="button"] {
	background: var(--link);
	color: #fff;
	border: 0;
	border-radius: 8px;
	padding: .5em 1.1em;
	font: inherit;
	cursor: pointer;
}
button:hover, input[type="submit"]:hover { background: var(--link-hover); }
table { border-collapse: collapse; max-width: 100%; }
td, th { border: 1px solid var(--border); padding: .4em .7em; }
pre { background: var(--bg-alt); border-radius: 8px; padding: 1em; overflow-x: auto; }
blockquote {
	margin: 1em 0;
	padding: .5em 1.2em;
	border-left: 3px solid var(--link);
	background: var(--bg-alt);
	border-radius: 0 8px 8px 0;
}

/* Наследие разметки ядра */
.mso-clearfix::after, .clearfix::after { content: ""; display: table; clear: both; }
@media print { .hide-print { display: none; } }

/* ---------- Шапка ---------- */
.site-header {
	background: var(--header-bg);
	border-bottom: 1px solid var(--border);
	padding: 1rem 1.25rem .25rem;
}
.site-header-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.site-title {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--text);
	letter-spacing: -.01em;
}
.site-title:hover { color: var(--link); text-decoration: none; }
.site-tagline { color: var(--muted); font-size: .9rem; }
.site-header-tools { display: flex; align-items: center; gap: .6rem; }
.search-form input { width: 11rem; }
#theme-toggle {
	background: transparent;
	color: var(--text);
	border: 1px solid var(--border);
	border-radius: 50%;
	width: 2.3rem;
	height: 2.3rem;
	padding: 0;
	font-size: 1.05rem;
	line-height: 1;
}
#theme-toggle:hover { border-color: var(--link); color: var(--link); background: transparent; }

/* ---------- Меню (разметка components/_menu: чекбокс-гамбургер) ---------- */
.menu1 { max-width: 1100px; margin: 0 auto; }
.menu1 input.menu-control { display: none; }
.menu1 label.menu-control { display: none; cursor: pointer; padding: .5rem 0; }
.nav-burger { font-size: 1.2rem; margin-right: .35rem; }
.menu1 ul.menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .25rem;
}
.menu1 ul.menu > li { position: relative; }
.menu1 ul.menu li a {
	display: block;
	padding: .55rem .8rem;
	color: var(--text);
	border-radius: 8px;
	font-size: .95rem;
}
.menu1 ul.menu li a:hover { background: var(--bg-alt); color: var(--link); text-decoration: none; }
/* подменю */
.menu1 ul.menu li ul {
	list-style: none;
	margin: 0;
	padding: .3rem;
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 13rem;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 10px;
	box-shadow: var(--card-shadow);
	display: none;
	z-index: 50;
}
.menu1 ul.menu li:hover > ul { display: block; }
.menu1 ul.menu li ul li ul { left: 100%; top: 0; } /* 3-й уровень вбок */

@media (max-width: 900px) {
	.menu1 label.menu-control { display: inline-block; }
	.menu1 ul.menu { display: none; flex-direction: column; padding-bottom: .5rem; }
	.menu1 input.menu-control:checked ~ ul.menu { display: flex; }
	.menu1 ul.menu li ul {
		position: static;
		display: block;
		border: 0;
		box-shadow: none;
		background: transparent;
		padding-left: 1.2rem;
	}
}

/* ---------- Каркас: контент + сайдбар ---------- */
.site-layout {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1.5rem 1.25rem 3rem;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 2.5rem;
	align-items: start;
}
@media (max-width: 900px) {
	.site-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
}
.site-content { min-width: 0; }

/* ---------- Карточки списка записей ---------- */
.post-card {
	display: flex;
	gap: 1.25rem;
	padding: 1.4rem 0;
	border-bottom: 1px solid var(--border);
}
.post-card-last, .post-card:last-child { border-bottom: 0; }
.post-card-thumb {
	flex: 0 0 220px;
	align-self: flex-start;
	overflow: hidden;
	border-radius: 10px;
	background: var(--bg-alt);
}
.post-card-thumb img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .25s ease; }
.post-card-thumb:hover img { transform: scale(1.04); }
.post-card-body { min-width: 0; }
.post-card-title { margin: 0 0 .35rem; font-size: 1.3rem; }
.post-card-title a { color: var(--text); }
.post-card-title a:hover { color: var(--link); text-decoration: none; }
.post-card-meta { color: var(--muted); font-size: .85rem; margin-bottom: .5rem; }
.post-card-meta a { color: var(--muted); }
.post-card-excerpt { margin: 0; color: var(--text); }
@media (max-width: 640px) {
	.post-card { flex-direction: column; gap: .8rem; }
	.post-card-thumb { flex-basis: auto; width: 100%; }
}

/* ---------- Одиночная запись ---------- */
.post-title { margin: .3em 0 .25em; font-size: 1.9rem; letter-spacing: -.01em; }
.post-meta { color: var(--muted); font-size: .9rem; margin-bottom: 1.2rem; }
.post-meta a { color: var(--muted); }
.mso-page-content { overflow-wrap: break-word; }
/* старые посты — плоский текст с \n и инлайн-картинками: без block текст
   продолжается на той же строке сразу после фото */
.mso-page-content img { border-radius: 8px; display: block; margin: .9rem 0 .4rem; }
/* мелкие инлайн-картинки остаются в строке */
.mso-page-content .addzakl img,
.mso-page-content img[src*="/smiles/"] {
	display: inline-block;
	margin: 0 4px 0 0;
	border-radius: 0;
	vertical-align: text-bottom;
}
.mso-page-content iframe { max-width: 100%; }

/* ---------- «Еще записи по теме» ---------- */
.related-posts { margin-top: 2.5rem; padding-top: 1.2rem; border-top: 1px solid var(--border); }
.related-title { font-weight: 700; font-size: 1.1rem; margin-bottom: 1rem; }
.related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
@media (max-width: 640px) { .related-grid { grid-template-columns: repeat(2, 1fr); } }
.related-card a { color: var(--text); font-size: .88rem; line-height: 1.35; }
.related-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 8px;
	margin-bottom: .4rem;
	background: var(--bg-alt);
}

/* ---------- Комментарии ----------
   Сайт использует Disqus (comment_other_system=1, general) — нативная
   форма/список комментариев MaxSite отключены сайтом целиком, рендерится
   только пустой контейнер #disqus_thread, который Disqus заполняет
   через iframe на клиенте (стилизовать содержимое iframe нельзя).
   Добавляем только отступ, чтобы блок не прилипал к "Еще записи по теме". */
#disqus_thread { margin-top: 2rem; }

/* ---------- Сайдбар и виджеты ---------- */
.site-sidebar { min-width: 0; }
.mso-widget { margin-bottom: 1.8rem; }
.mso-widget-header {
	font-weight: 700;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--muted);
	margin-bottom: .7rem;
	padding-bottom: .4rem;
	border-bottom: 1px solid var(--border);
}
.site-sidebar ul { list-style: none; margin: 0; padding: 0; }
.site-sidebar li { padding: .1rem 0; font-size: .95rem; line-height: 1.4; }
/* вложенные уровни (рубрики: ul.child.level1 внутри li.group) — с отступом */
.site-sidebar ul ul { padding-left: 1.1rem; }
.site-sidebar ul ul li { font-size: .9rem; padding-top: .06rem; padding-bottom: .06rem; } /* НЕ шортхенд: не сбивать padding-left маркеров рубрик */
.site-sidebar .mso-widget-list br { display: none; } /* виджет ставит <br/> после каждой ссылки */
/* маркеры у пунктов рубрик */
.mso-category_widget li { position: relative; padding-left: .85rem; }
.mso-category_widget li::before { content: "•"; position: absolute; left: 0; color: var(--muted); }
/* компактные «Последние комментарии»: h5 = заголовок записи перед каждым комментарием */
.mso-last_comments_widget h5 { margin: .55rem 0 .1rem; font-size: .88rem; line-height: 1.3; }
.mso-last_comments_widget li { font-size: .85rem; line-height: 1.35; }
.mso-last_comments_widget li a {
	color: var(--muted);
	display: -webkit-box;
	-webkit-line-clamp: 2; /* длинные комментарии обрезаются до 2 строк */
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mso-last_comments_widget li a b { color: var(--text); }
/* галерея random_gal (обычный режим): сетка миниатюр */
.random-gal-widget, .mso-random_gal_widget div:not(.mso-widget-header) { line-height: 0; }
.mso-random_gal_widget img {
	width: calc(33.333% - 4px);
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 6px;
	margin: 2px;
	display: inline-block;
	cursor: pointer;
}

/* ---------- Пагинация (классы ядра) ---------- */
.pagination { margin: 2rem 0 0; padding: 0; list-style: none; }
.pagination nav { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.pagination a, .pagination span, .pagination strong {
	display: inline-block;
	padding: .35rem .75rem;
	border: 1px solid var(--border);
	border-radius: 8px;
	color: var(--text);
	font-size: .9rem;
}
.pagination a:hover { border-color: var(--link); color: var(--link); text-decoration: none; }
.pagination strong { background: var(--link); color: #fff; border-color: var(--link); font-weight: 600; }
.pagination span:empty { display: none; }

/* ---------- Подвал ---------- */
.site-footer {
	border-top: 1px solid var(--border);
	background: var(--bg-alt);
	padding: 1.5rem 1.25rem;
	color: var(--muted);
	font-size: .9rem;
}
.site-footer-inner {
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.site-footer a { color: var(--muted); }
.site-footer a:hover { color: var(--link); }

/* ---------- Лайтбокс ---------- */
#kr-lightbox {
	border: 0;
	padding: 0;
	background: transparent;
	max-width: 92vw;
	max-height: 92vh;
}
#kr-lightbox::backdrop { background: rgba(0, 0, 0, .82); }
#kr-lightbox img {
	display: block;
	max-width: 92vw;
	max-height: 92vh;
	width: auto;
	height: auto;
	border-radius: 6px;
}

/* ---------- Поля шапки записи и карточек (Task 4) ---------- */
.post-cats, .post-card-cats { color: inherit; }
.post-edit { font-size: .85rem; margin-right: .5rem; }
.post-edit a { color: var(--muted); display: inline-flex; align-items: center; gap: .25rem; }
.post-edit .im-edit { font-style: normal; }
.post-edit .im-edit::before { content: "\270E"; }
.post-views, .post-comments { color: var(--muted); font-size: .85rem; margin-left: .75rem; }
.post-tags { margin: 1rem 0 0; font-size: .85rem; color: var(--muted); }
.post-tags a { color: var(--muted); }

/* ---------- Пред./след. запись (_next-prev.php: .next-prev-page > .b-left / .b-right) ---------- */
.next-prev-page { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
.next-prev-page .b-left, .next-prev-page .b-right { max-width: 48%; }
.next-prev-page .b-right { margin-left: auto; text-align: right; }
.next-prev-page a { color: var(--text); font-size: .95rem; }
.next-prev-page a:hover { color: var(--link); }
.next-prev-page .im-long-arrow-alt-left::before { content: "\2190"; }
.next-prev-page .im-long-arrow-alt-right::before { content: "\2192"; }
