/* 
Theme Name: Webmister
Theme URI: https://webmister.pro/
Description: Hello Elementor Child theme by Webmister
Author: Webmister
Author URI: https://webmister.pro/
Template: hello-elementor
Version: 1.0.1
Text Domain: webmister
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ==========================================================================
   Оформление блога WordsPost. 2026-09-07.

   Цвета и шрифты не выдуманы: сняты с самого wordspost.com — там они заданы
   переменными --bg, --lamp, --text и так далее. Здесь повторены один в один,
   чтобы блог и продуктовый сайт выглядели одним целым.

   Светлая тема у них тоже есть, поэтому здесь она не «инверсия наугад»,
   а их же вторая палитра.
   ========================================================================== */

:root {
	--ws-bg:      #0a0e1a;   /* фон */
	--ws-panel:   #121829;   /* карточка на фоне */
	--ws-edge:    #232c45;   /* линии и рамки */
	--ws-text:    #ece7dc;   /* основной текст */
	--ws-muted:   #a8b3cc;   /* второстепенный */
	--ws-lamp:    #f2a93b;   /* акцент, «лампа» */
	--ws-glow:    rgba(242, 169, 59, .16);

	--ws-display: "Unbounded", "Trebuchet MS", system-ui, sans-serif;
	--ws-body:    "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
	--ws-mono:    "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

	--ws-measure: 1120px;    /* та же ширина колонки, что на сайте */
	--ws-radius:  14px;
}

/* Светлая палитра — их же, а не осветлённая тёмная. */
@media (prefers-color-scheme: light) {
	:root {
		--ws-bg:    #eef0f4;
		--ws-panel: #ffffff;
		--ws-edge:  #d5dae3;
		--ws-text:  #10151f;
		--ws-muted: #59637a;
		--ws-lamp:  #b26c07;
		--ws-glow:  rgba(178, 108, 7, .14);
	}
}

body {
	background: var(--ws-bg);
	color: var(--ws-text);
	font-family: var(--ws-body);
	font-size: 18px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

.site-header,
.site-footer {
	background: var(--ws-bg);
	border-color: var(--ws-edge);
}

.site-header { border-bottom: 1px solid var(--ws-edge); }
.site-footer { border-top: 1px solid var(--ws-edge); color: var(--ws-muted); }

/* Заголовки — фирменный Unbounded, плотно и без разрядки. */
h1, h2, h3, h4, h5, h6,
.site-title,
.entry-title {
	font-family: var(--ws-display);
	font-weight: 600;
	letter-spacing: -.02em;
	line-height: 1.15;
	text-wrap: balance;
	color: var(--ws-text);
}

h1, .entry-title { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.2rem); }
h2 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.1rem); margin-top: 2.2em; }
h3 { font-size: 1.35rem; margin-top: 1.8em; }

a {
	color: var(--ws-lamp);
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
}
a:hover { text-decoration-thickness: 2px; }

/* Ширина колонки как на сайте: длинную строку читать тяжело. */
.site-main,
.page-content,
.entry-content {
	max-width: var(--ws-measure);
	margin-inline: auto;
	padding-inline: 20px;
}
.entry-content > * { max-width: 68ch; }
.entry-content > .alignwide,
.entry-content > figure,
.entry-content > .wp-block-image { max-width: none; }

/* Лента записей: карточка с тонкой рамкой и подсветкой при наведении. */
.post {
	background: var(--ws-panel);
	border: 1px solid var(--ws-edge);
	border-radius: var(--ws-radius);
	padding: 28px 30px;
	margin-bottom: 26px;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.post:hover {
	border-color: var(--ws-lamp);
	box-shadow: 0 0 0 3px var(--ws-glow);
}

.entry-meta,
.post-meta,
.entry-date {
	font-family: var(--ws-mono);
	font-size: .8rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ws-muted);
}

.entry-title a { color: var(--ws-text); text-decoration: none; }
.entry-title a:hover { color: var(--ws-lamp); }

blockquote {
	border-left: 3px solid var(--ws-lamp);
	background: var(--ws-panel);
	margin-inline: 0;
	padding: 16px 24px;
	border-radius: 0 var(--ws-radius) var(--ws-radius) 0;
	color: var(--ws-text);
}

code, kbd, pre, samp { font-family: var(--ws-mono); font-size: .9em; }
:not(pre) > code {
	background: var(--ws-panel);
	border: 1px solid var(--ws-edge);
	border-radius: 5px;
	padding: .12em .4em;
	color: var(--ws-lamp);
}
pre {
	background: var(--ws-panel);
	border: 1px solid var(--ws-edge);
	border-radius: var(--ws-radius);
	padding: 18px 20px;
	overflow-x: auto;   /* длинный код прокручивается сам, страница — нет */
	line-height: 1.55;
}

img, figure img { border-radius: var(--ws-radius); }

/* Кнопки Elementor и формы — тем же акцентом. */
.elementor-button,
input[type="submit"],
button {
	font-family: var(--ws-display);
	font-weight: 600;
	letter-spacing: .01em;
	background: var(--ws-lamp);
	color: #1a1206;
	border: 0;
	border-radius: 999px;
	padding: 12px 26px;
}
.elementor-button:hover,
input[type="submit"]:hover,
button:hover { filter: brightness(1.08); }

input[type="text"], input[type="email"], input[type="search"], textarea, select {
	background: var(--ws-panel);
	border: 1px solid var(--ws-edge);
	border-radius: 10px;
	color: var(--ws-text);
	padding: 10px 14px;
}

/* Видимая рамка при переходе с клавиатуры — иначе по сайту нельзя ходить табом. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.elementor-button:focus-visible {
	outline: 2px solid var(--ws-lamp);
	outline-offset: 3px;
}

/* Переключатель языков WPML — четыре языка, как на сайте. */
.wpml-ls-legacy-list-horizontal a { font-family: var(--ws-mono); font-size: .82rem; }
.wpml-ls-current-language > a { color: var(--ws-lamp); }

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
}

/* --------------------------------------------------------------------------
   Правка после первого взгляда на живую страницу: в ленте заголовок брал
   размер как у одиночной записи и занимал полстраницы, а карточка вверху
   пустовала под несуществующей картинкой.
   -------------------------------------------------------------------------- */

/* Крупный размер оставляем ТОЛЬКО одиночной записи и заголовку архива. */
.post .entry-title,
.post-list .entry-title {
	font-size: clamp(1.25rem, 1.05rem + .7vw, 1.65rem);
	margin: 0 0 .35em;
	letter-spacing: -.015em;
}
.single .entry-title,
.page .entry-title { font-size: clamp(2rem, 1.4rem + 2.4vw, 3.2rem); }

/* Карточка без картинки не должна оставлять пустое место сверху. */
.post > *:first-child { margin-top: 0; }
.post .post-thumbnail:empty,
.post .entry-thumbnail:empty { display: none; }
.post { padding: 22px 26px; }

/* Дата — моноширинным, мелко, над заголовком: так лента читается сканированием. */
.post .entry-meta { margin: 0 0 .5em; display: block; }

/* Краткое описание приглушаем, чтобы заголовки держали ритм. */
.post .entry-excerpt,
.post .entry-summary,
.post .entry-content > p:only-child {
	color: var(--ws-muted);
	font-size: .96rem;
	margin: 0;
}

/* Заголовок «Archives» и подобные — тише, это служебная строка, а не витрина. */
.page-header .entry-title,
.archive .page-title {
	font-size: clamp(1.4rem, 1.2rem + .8vw, 1.9rem);
	color: var(--ws-muted);
	font-weight: 400;
	letter-spacing: .02em;
	margin-bottom: 1.2em;
}

/* Шапка сайта: имя блога и подпись в одну плотную группу. */
.site-header { padding-block: 22px; }
.site-header .site-title { font-size: 1.6rem; margin: 0; }
.site-header .site-description { color: var(--ws-muted); font-size: .95rem; margin: .2em 0 0; }
