/* Подзаг: the portal look. Bootstrap 5.3 underneath; one colour from the Customizer makes the whole palette
   (inline :root variables). Widths like the portal: left 210 · content 640 · right 300, from 1500px
   left 250 · content 970 · right 300, gaps 30. */

:root {
	--pz-text: #1e2332;
	--pz-text-2: rgba(45, 55, 80, .62);
	--pz-card: #fff;
	--pz-glass: rgba(255, 255, 255, .35);
	--pz-glass-line: rgba(255, 255, 255, .6);
	--pz-line: rgba(45, 55, 80, .1);
	--pz-hover: rgba(255, 255, 255, .7);
	--pz-shadow: 0 2px 10px rgba(30, 35, 50, .06);
	--pz-radius: 20px;
	--pz-gap: 30px;
	--bs-body-font-family: var(--pz-font);
	--bs-body-color: var(--pz-text);
	--bs-heading-color: var(--pz-text);
	--bs-link-color: var(--pz-text);
	--bs-link-color-rgb: 30, 35, 50;
	--bs-link-hover-color: var(--pz-chip);
	--bs-link-hover-color-rgb: var(--pz-chip-rgb);
	--bs-primary: var(--pz-primary);
	--bs-primary-rgb: var(--pz-primary-rgb);
	--bs-border-color: var(--pz-line);
	--bs-body-bg: var(--pz-bg2);
	--pz-page1: var(--pz-bg1);
	--pz-page-mid: var(--pz-bg-mid);
	--pz-page2: var(--pz-bg2);
}
[data-bs-theme=dark] {
	--pz-text: #e9ebf1;
	--pz-text-2: rgba(233, 235, 241, .55);
	--pz-card: #1d2029;
	--pz-glass: rgba(255, 255, 255, .045);
	--pz-glass-line: rgba(255, 255, 255, .08);
	--pz-line: rgba(255, 255, 255, .09);
	--pz-hover: rgba(255, 255, 255, .07);
	--pz-shadow: none;
	--pz-page1: var(--pz-dark1);
	--pz-page-mid: #161a24;
	--pz-page2: #13151b;
	--bs-body-bg: #13151b;
	--bs-body-color: var(--pz-text);
	--bs-heading-color: var(--pz-text);
	--bs-link-color: var(--pz-text);
	--bs-link-color-rgb: 233, 235, 241;
	--bs-border-color: var(--pz-line);
	--bs-secondary-color: var(--pz-text-2);
	--bs-tertiary-bg: #262a35;
	--bs-dropdown-bg: #232733;
}

html { scroll-padding-top: 90px; }
body {
	min-height: 100vh;
	font-family: var(--pz-font);
	color: var(--pz-text);
	background: var(--pz-page2);
	-webkit-font-smoothing: antialiased;
}
/* The page colour stays put while scrolling, like on the portal: light tint on top, almost white below. */
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg, var(--pz-page1) 0%, var(--pz-page-mid) 50%, var(--pz-page2) 100%); }
a { text-decoration: none; color: inherit; }
a:hover { color: var(--pz-chip); }
h1, h2, h3, h4, h5, h6 { font-weight: 600; letter-spacing: -.01em; }
img { max-width: 100%; }
button { color: inherit; }
.pz-skip { position: absolute; left: 16px; top: 8px; z-index: 3000; padding: .5rem 1rem; background: var(--pz-card); border-radius: 10px; }
.min-w-0 { min-width: 0; }

/* ---------- Layout ---------- */
.pz-wrap { width: 100%; max-width: 1250px; margin: 0 auto; padding: 0 20px; }
.pz-main > .pz-wrap { display: flex; gap: var(--pz-gap); align-items: stretch; padding-top: 8px; padding-bottom: 48px; }
.pz-left { flex: 0 1 210px; min-width: 0; }
.pz-left-in { position: sticky; top: 96px; max-height: calc(100vh - 104px); transition: top .25s, max-height .25s; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; padding-bottom: 24px; }
.pz-left-in::-webkit-scrollbar { display: none; }
.pz-body { flex: 0 0 970px; min-width: 0; align-self: flex-start; }
.pz-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--pz-gap); align-items: start; }
.pz-center { min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.pz-right { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.pz-sticky { position: sticky; top: 96px; transition: top .25s; display: flex; flex-direction: column; gap: 20px; }
@media (min-width: 1500px) {
	.pz-wrap { max-width: 1620px; }
	.pz-left { flex-basis: 250px; }
	.pz-body { flex-basis: 1300px; }
}
@media (max-width: 1199.98px) {
	.pz-wrap { max-width: 1010px; }
	.pz-body { flex: 1 1 auto; }
}
@media (max-width: 575.98px) { .pz-wrap { padding: 0 16px; } }
@media (max-width: 991.98px) {
	.pz-grid { grid-template-columns: minmax(0, 1fr); }
	.pz-right { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
	.pz-sticky { position: static; display: contents; }
}

/* ---------- Header ---------- */
.pz-header { position: sticky; top: 0; z-index: 1030; transition: transform .25s ease; background: color-mix(in srgb, var(--pz-page1) 72%, transparent); -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4); }
.pz-header.is-hidden { transform: translateY(-100%); }
.pz-head-hidden .pz-left-in { top: 20px; max-height: calc(100vh - 28px); }
.admin-bar .pz-header { top: 32px; }
.admin-bar .pz-left-in { top: 128px; max-height: calc(100vh - 136px); }
.admin-bar.pz-head-hidden .pz-left-in { top: 52px; max-height: calc(100vh - 60px); }
@media (max-width: 782px) { .admin-bar .pz-header { top: 0; } }
.pz-header-in { display: flex; align-items: center; gap: 24px; height: 80px; }
.pz-logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.pz-logo-img { height: 38px; width: auto; display: block; }
.pz-logo-text { font-size: 1.6rem; font-weight: 700; letter-spacing: -.02em; color: var(--pz-primary); }
.pz-logo-dark, [data-bs-theme=dark] .pz-logo-light { display: none; }
[data-bs-theme=dark] .pz-logo-dark { display: block; }
.pz-top-nav { gap: 26px; margin-left: auto; align-items: center; }
.pz-top-link { font-size: 15px; font-weight: 500; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
.pz-top-link i { font-size: 1.2rem; color: var(--pz-primary); }
.pz-header-tools { display: flex; align-items: center; gap: 10px; margin-left: auto; flex-shrink: 0; } /* the search gives way, not the buttons */
.pz-top-nav + .pz-header-tools { margin-left: 18px; }
.pz-icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; border-radius: 12px; background: transparent; color: var(--pz-text); font-size: 1.25rem; transition: background .15s; }
.pz-icon-btn:hover { background: var(--pz-hover); color: var(--pz-text); }
.pz-icon-sm { width: 32px; height: 32px; font-size: 1rem; border-radius: 10px; }
.pz-burger { margin-left: -8px; font-size: 1.6rem; }
.pz-when-dark, [data-bs-theme=dark] .pz-when-light { display: none; }
[data-bs-theme=dark] .pz-when-dark { display: inline; }
.pz-write { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 15px; border-radius: 10px; background: var(--pz-primary); color: var(--pz-primary-text); font-size: 15px; font-weight: 500; white-space: nowrap; }
.pz-write:hover { color: var(--pz-primary-text); filter: brightness(1.06); }
.pz-login { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 6px 0 10px; font-size: 15px; font-weight: 500; }
.pz-login i { font-size: 1.2rem; }
.pz-avatar-btn { border: 0; padding: 0; background: none; border-radius: 50%; flex-shrink: 0; }
.pz-avatar-btn .pz-avatar { display: block; width: 36px; height: 36px; max-width: none; } /* img max-width:100% squeezed it into an oval in a narrow window */
.pz-dot { position: absolute; top: 8px; right: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--pz-primary); box-shadow: 0 0 0 2px var(--pz-page1); }
.pz-weather-mini { align-items: center; gap: 6px; font-size: 15px; font-weight: 500; margin-right: 6px; white-space: nowrap; }
@media (max-width: 575.98px) {
	.pz-header-in { gap: 8px; height: 60px; }
	.pz-logo-img { height: 30px; }
	.pz-write { width: 40px; padding: 0; justify-content: center; }
	.pz-write span, .pz-login span { display: none; }
	.pz-header-tools { gap: 2px; }
}

/* Dropdowns */
.pz-dropdown { --bs-dropdown-border-color: var(--pz-line); --bs-dropdown-border-radius: 16px; --bs-dropdown-link-hover-bg: var(--pz-hover); --bs-dropdown-link-active-bg: rgba(var(--pz-primary-rgb), .1); --bs-dropdown-link-active-color: var(--pz-text); padding: 8px; box-shadow: 0 12px 32px rgba(20, 25, 40, .14); }
.pz-dropdown .dropdown-item { display: flex; align-items: center; gap: 10px; border-radius: 10px; padding: 8px 10px; font-size: 15px; }
.pz-dropdown .dropdown-item i { font-size: 1.1rem; opacity: .7; }
.pz-dropdown-head { padding: 6px 10px 10px; display: flex; flex-direction: column; }
.pz-dropdown-head small { color: var(--pz-text-2); }
.pz-notif-menu { width: min(360px, 92vw); }
.pz-notif-head { display: flex; align-items: center; gap: 8px; padding: 6px 8px 10px; }
.pz-notif-list { max-height: 60vh; overflow-y: auto; }
.pz-notif { display: flex; gap: 10px; padding: 10px; border-radius: 12px; font-size: 14px; line-height: 1.35; }
.pz-notif:hover { background: var(--pz-hover); color: inherit; }
.pz-notif.is-unread { background: rgba(var(--pz-primary-rgb), .07); }
.pz-notif-text small { display: block; color: var(--pz-text-2); margin-top: 3px; }
.pz-notif-empty { padding: 18px; text-align: center; color: var(--pz-text-2); font-size: 14px; }
.pz-notif-all { display: block; text-align: center; padding: 8px; font-size: 14px; font-weight: 500; color: var(--pz-chip); }
.pz-avatar-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(var(--pz-primary-rgb), .12); color: var(--pz-primary); flex-shrink: 0; }

/* Mobile drawer */
.pz-drawer { --bs-offcanvas-width: 300px; --bs-offcanvas-bg: var(--pz-page2); }
.pz-drawer .offcanvas-body { padding-top: 0; }
.pz-search-mini { display: flex; gap: 6px; margin-bottom: 14px; }
.pz-search-mini input { flex: 1; min-width: 0; height: 42px; border: 1px solid var(--pz-line); border-radius: 12px; padding: 0 12px; background: var(--pz-card); color: var(--pz-text); }
.pz-search-mini button { width: 42px; border: 0; border-radius: 12px; background: var(--pz-primary); color: var(--pz-primary-text); }

/* ---------- Left menu ---------- */
.pz-side { display: flex; flex-direction: column; gap: calc(5px * var(--pz-mk, 1)); }
.pz-side + .pz-side { margin-top: calc(30px * var(--pz-mk, 1)); }
.pz-side-title { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--pz-text-2); padding: 0 8px 6px; }
.pz-side-link, .pz-side-menu a { display: flex; align-items: center; gap: calc(8px * var(--pz-mk, 1)); min-height: calc(30px * var(--pz-mk, 1)); padding: 5px 12px 5px 6px; border: 0; border-radius: 10px; background: transparent; font-size: calc(13px * var(--pz-mk, 1)); font-weight: 500; line-height: calc(20px * var(--pz-mk, 1)); color: var(--pz-text); text-align: left; width: 100%; }
.pz-side-link:hover, .pz-side-menu a:hover { background: var(--pz-hover); color: var(--pz-text); }
.pz-side-link.active, .pz-side-menu a.active { background: var(--pz-card); box-shadow: var(--pz-shadow); }
.pz-side-link > span:not(.pz-side-ico) { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pz-side-ico { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 calc(20px * var(--pz-mk, 1)); width: calc(20px * var(--pz-mk, 1)); height: calc(20px * var(--pz-mk, 1)); border-radius: calc(6px * var(--pz-mk, 1)); font-size: calc(16px * var(--pz-mk, 1)); line-height: 1; object-fit: cover; }
.pz-side-ico.is-letter { background: rgba(var(--pz-primary-rgb), .14); color: var(--pz-primary); font-size: calc(12px * var(--pz-mk, 1)); font-weight: 700; }
.pz-ico-more { background: rgba(var(--pz-primary-rgb), .12); color: var(--pz-primary); font-size: calc(12px * var(--pz-mk, 1)); }
.pz-ico-line { color: var(--pz-text-2); font-size: calc(17px * var(--pz-mk, 1)); }
.pz-side-menu a i { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 calc(20px * var(--pz-mk, 1)); width: calc(20px * var(--pz-mk, 1)); height: calc(20px * var(--pz-mk, 1)); border-radius: calc(6px * var(--pz-mk, 1)); background: rgba(var(--pz-primary-rgb), .12); color: var(--pz-primary); font-size: calc(12px * var(--pz-mk, 1)); }
.pz-count { margin-left: auto; min-width: 22px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--pz-primary); color: var(--pz-primary-text); font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
.pz-drawer .pz-side-link, .pz-drawer .pz-side-menu a { min-height: 40px; font-size: 15px; }

/* ---------- Boxes, chips, buttons, tabs ---------- */
.pz-box { background: var(--pz-card); border-radius: var(--pz-radius); padding: 20px; box-shadow: var(--pz-shadow); }
.pz-glass { background: var(--pz-glass); border: 1px solid var(--pz-glass-line); box-shadow: none; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pz-box-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 600; line-height: 1.3; margin: 0 0 14px; }
.pz-title-ico { font-size: 20px; line-height: 1; }
.pz-box-more { font-size: 13px; font-weight: 500; color: var(--pz-chip); }
.pz-empty { padding: 40px 20px; text-align: center; color: var(--pz-text-2); }
.pz-chip { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 10px; border-radius: 15px; background: rgba(var(--pz-chip-rgb), .1); color: var(--pz-chip); font-size: 13px; font-weight: 500; white-space: nowrap; }
.pz-chip:hover { background: rgba(var(--pz-chip-rgb), .16); color: var(--pz-chip); }
.pz-chip-on { position: absolute; top: 10px; left: 10px; z-index: 2; height: 28px; background: var(--pz-primary); color: var(--pz-primary-text); }
.pz-btn, .pz-btn-soft { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 40px; padding: 0 15px; border: 0; border-radius: 10px; font-size: 15px; font-weight: 500; white-space: nowrap; transition: filter .15s, background .15s; }
.pz-btn { background: var(--pz-primary); color: var(--pz-primary-text); }
.pz-btn:hover { color: var(--pz-primary-text); filter: brightness(1.06); }
.pz-btn-soft { background: rgba(var(--pz-chip-rgb), .1); color: var(--pz-chip); }
.pz-btn-soft:hover { background: rgba(var(--pz-chip-rgb), .17); color: var(--pz-chip); }
.pz-link-btn { border: 0; background: none; padding: 0; color: var(--pz-chip); font-size: 14px; font-weight: 500; }
.pz-more-wrap { display: flex; justify-content: center; margin-top: 4px; }
.pz-tabs { display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; margin-bottom: -4px; }
.pz-tabs::-webkit-scrollbar { display: none; }
.pz-tab { display: inline-flex; align-items: center; height: 40px; padding: 0 15px; border: 0; border-radius: 10px; background: transparent; font-size: 15px; font-weight: 500; color: color-mix(in srgb, var(--pz-text) 78%, transparent); white-space: nowrap; }
.pz-tab:hover { color: var(--pz-text); background: var(--pz-hover); }
.pz-tab.active { background: var(--pz-card); color: var(--pz-text); box-shadow: 0 2px 8px rgba(30, 35, 50, .1), inset 0 -2px 0 rgba(30, 35, 50, .12); }
.pz-badge { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 10px; font-size: 12px; font-weight: 500; background: rgba(var(--pz-primary-rgb), .12); color: var(--pz-primary); }
.pz-badge-ok { background: rgba(12, 188, 135, .12); color: #0a9a6f; align-self: flex-start; }
.pz-dot-sep { margin: 0 5px; opacity: .6; }
.pz-avatar { border-radius: 50%; object-fit: cover; flex-shrink: 0; background: var(--pz-line); }
.pz-src { width: 20px; height: 20px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
.pz-byline { display: inline-flex; align-items: center; min-width: 0; font-size: 14px; color: var(--pz-text-2); }
.pz-byline .pz-avatar { width: 20px; height: 20px; margin-right: 7px; }
.pz-byline > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- Home: search and «Главное» ---------- */
.pz-search { border-radius: var(--pz-radius); padding: 10px 10px 12px 20px; background: linear-gradient(90deg, var(--pz-card) 35%, var(--pz-accent-soft) 100%); border: 1px solid var(--pz-glass-line); box-shadow: var(--pz-shadow); }
[data-bs-theme=dark] .pz-search { background: var(--pz-card); }
.pz-search-row { display: flex; align-items: center; gap: 10px; }
.pz-search-row input { flex: 1; min-width: 0; height: 40px; border: 0; outline: 0; background: transparent; font-size: 18px; color: var(--pz-text); }
.pz-search-row input::placeholder { color: var(--pz-text-2); }
.pz-search-btn { width: 44px; height: 40px; border: 0; border-radius: 12px; background: var(--pz-primary); color: var(--pz-primary-text); font-size: 18px; }
.pz-search-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--pz-line); }
.pz-main { display: flex; flex-direction: column; gap: 4px; }
.pz-main-tabs { display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding: 4px 2px 8px; }
.pz-main-tabs::-webkit-scrollbar { display: none; }
.pz-main-mark { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; margin-right: 6px; color: var(--pz-primary); flex-shrink: 0; }
.pz-main-mark img { width: 24px; height: 24px; border-radius: 7px; }
.pz-pill-time { margin-left: auto; display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border-radius: 15px; background: rgba(45, 55, 80, .06); color: var(--pz-text-2); font-size: 13px; font-weight: 500; white-space: nowrap; }
.pz-main[data-pz-main] { gap: 20px; }
.pz-main-body { display: flex; flex-direction: column; gap: 20px; transition: opacity .2s; }
.pz-main-body.is-loading { opacity: .4; }
.pz-main-top { display: flex; gap: 20px; padding: 5px 0; }
.pz-main-top-text { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.pz-main-top h2 { font-size: calc(20px * var(--pz-hk, 1)); line-height: 1.25; font-weight: 600; margin: 0; }
.pz-main-top p { font-size: calc(15px * var(--pz-hk, 1)); line-height: 1.67; margin: 0; color: color-mix(in srgb, var(--pz-text) 85%, transparent); }
.pz-main-top-img { flex: 0 0 240px; height: 180px; border-radius: 20px; overflow: hidden; }
.pz-main-top-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pz-main-top-img:hover img { transform: scale(1.03); }
.pz-main-item { display: flex; align-items: flex-start; gap: 10px; font-size: calc(15px * var(--pz-hk, 1)); line-height: 1.34; }
.pz-main-item .pz-src { margin-top: 5px; }
.pz-main-thumb { display: none; }
.pz-main-item-body { flex: 1; min-width: 0; display: flex; align-items: flex-start; gap: 10px; }
.pz-main-item-title { flex: 1; min-width: 0; padding: 5px 0; }
.pz-main-item:hover .pz-main-item-title { color: var(--pz-chip); }
.pz-main-foot { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 575.98px) {
	/* Phones: every story is a line with a picture, like the portal's phone version. */
	.pz-main-top { flex-direction: row-reverse; gap: 10px; padding: 0; }
	.pz-main-top-img { flex: 0 0 115px; height: 115px; border-radius: 15px; }
	.pz-main-top h2 { font-size: calc(16px * var(--pz-hk, 1)); line-height: 1.25; font-weight: 500; }
	.pz-main-top p { display: none; }
	.pz-main-item.has-thumb { position: relative; }
	.pz-main-thumb { display: block; flex: 0 0 115px; height: 115px; border-radius: 15px; overflow: hidden; }
	.pz-main-thumb img { width: 100%; height: 100%; object-fit: cover; }
	.pz-main-item.has-thumb .pz-src { position: absolute; left: 8px; top: 87px; box-shadow: 0 0 0 2px var(--pz-card); }
	.pz-main-item-body { flex-direction: column; gap: 10px; }
	.pz-main-item-title { padding: 0; font-size: calc(16px * var(--pz-hk, 1)); }
	.pz-pill-time { display: none; }
	.pz-search { display: none; }
}

/* ---------- Home: rubric sections ---------- */
.pz-sec { margin-top: 44px; }
.pz-sec-title { font-size: calc(28px * var(--pz-hk, 1)); line-height: 1.25; font-weight: 600; margin: 0 0 30px; }
.pz-sec .pz-center, .pz-cat-top { display: flex; flex-direction: column; gap: var(--pz-gap); }
.pz-sec-title a { display: inline-flex; align-items: center; gap: 14px; }
.pz-sec-title i { font-size: .9em; transition: transform .2s; }
.pz-sec-title a:hover i { transform: translateX(4px); }
.pz-sec-big { display: block; }
.pz-sec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pz-gap); }
.pz-ov { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 360px; border-radius: var(--pz-radius); overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--pz-primary), #7b2d0b); isolation: isolate; }
.pz-ov.is-big { min-height: 360px; }
.pz-ov-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .5s; }
.pz-ov::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10, 12, 20, 0) 22%, rgba(10, 12, 20, .62) 56%, rgba(10, 12, 20, .88) 100%); }
.pz-ov:hover { color: #fff; }
.pz-ov:hover .pz-ov-img { transform: scale(1.03); }
.pz-ov-body { display: flex; flex-direction: column; gap: 8px; padding: 50px 20px 20px; } /* the top room keeps a long text off the chip */
.pz-ov-title { font-size: calc(20px * var(--pz-hk, 1)); line-height: 1.3; font-weight: 600; text-wrap: pretty; }
.pz-ov.is-big .pz-ov-title { font-size: calc(28px * var(--pz-hk, 1)); line-height: 1.25; }
.pz-ov-lead { font-size: calc(15px * var(--pz-hk, 1)); line-height: 1.5; opacity: .9; }
.pz-ov .pz-byline { color: rgba(255, 255, 255, .78); }
.pz-wc { display: flex; flex-direction: column; border-radius: var(--pz-radius); overflow: hidden; background: var(--pz-card); box-shadow: var(--pz-shadow); }
.pz-wc-img { position: relative; display: block; height: 220px; overflow: hidden; }
.pz-wc-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pz-wc:hover img { transform: scale(1.03); }
.pz-wc-body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 20px; flex: 1; }
.pz-wc-title { font-size: calc(18px * var(--pz-hk, 1)); line-height: 1.35; font-weight: 600; }
.pz-wc:hover .pz-wc-title { color: var(--pz-chip); }
.pz-ti-list { display: flex; flex-direction: column; }
.pz-ti { display: flex; flex-direction: column; gap: 4px; padding: 14px 10px; }
.pz-ti + .pz-ti { border-top: 1px solid var(--pz-line); }
.pz-ti-title { font-size: calc(15px * var(--pz-hk, 1)); line-height: 1.45; }
.pz-ti-meta { font-size: 14px; color: var(--pz-text-2); }
.pz-ti:hover .pz-ti-title { color: var(--pz-chip); }
.pz-bullets { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.pz-bullets li { position: relative; padding-left: 20px; font-size: calc(15px * var(--pz-hk, 1)); line-height: 1.4; }
.pz-bullets li::before { content: ""; position: absolute; left: 6px; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: var(--pz-primary); }
.pz-home-ad { margin-top: 40px; }
/* Ads: under the widgets next to a section (it stays in view while the section scrolls) and inside the text of a post. */
.pz-sec-ad { min-width: 0; }
@media (min-width: 1200px) { .pz-sec-ad { position: sticky; top: 96px; } }
.pz-ad-inline { margin: 24px 0; } /* the Yandex block draws itself in the page (no iframe): the text rules above skip it, or its picture gets height:auto and is cut askew */
@media (max-width: 767.98px) {
	.pz-sec { margin-top: 32px; }
	.pz-sec-title { font-size: calc(23px * var(--pz-hk, 1)); margin-bottom: 16px; }
	.pz-sec-grid { grid-template-columns: 1fr; gap: 16px; }
	.pz-center { gap: 16px; }
	.pz-ov, .pz-ov.is-big { min-height: 300px; }
	.pz-ov.is-big .pz-ov-title { font-size: calc(22px * var(--pz-hk, 1)); }
	.pz-ov-lead { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
}

/* ---------- Right column widgets ---------- */
.pz-wx-now { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.pz-wx-ico { font-size: 40px; line-height: 1; }
.pz-wx-temp { font-size: 34px; font-weight: 600; line-height: 1; }
.pz-wx-text { display: flex; flex-direction: column; font-size: 15px; line-height: 1.3; }
.pz-wx-text small { color: var(--pz-text-2); font-size: 13px; }
.pz-rates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pz-rate { display: flex; flex-direction: column; gap: 3px; }
.pz-rate-code { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 500; }
.pz-flag { font-size: 18px; line-height: 1; }
.pz-rate b { font-size: 18px; line-height: 25px; font-weight: 600; }
.pz-rate small { font-size: 13px; font-weight: 500; }
.pz-rate .is-up { color: #0c9f5f; }
.pz-rate .is-down { color: #e0453a; }
.pz-rates-note { margin-top: 10px; font-size: 12px; color: var(--pz-text-2); }
.pz-pop { display: flex; flex-direction: column; gap: 16px; }
.pz-pop-author { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--pz-text-2); margin-bottom: 4px; }
.pz-pop-author .pz-avatar { width: 20px; height: 20px; }
.pz-pop-title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; line-height: 1.4; }
.pz-leaders { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; counter-reset: pz; }
.pz-leaders li { display: flex; align-items: center; gap: 10px; counter-increment: pz; }
.pz-leaders li::before { content: counter(pz); width: 16px; font-size: 13px; color: var(--pz-text-2); text-align: right; }
.pz-leaders a { display: inline-flex; align-items: center; gap: 10px; min-width: 0; font-size: 15px; }
.pz-leaders a span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pz-leaders .pz-avatar { width: 32px; height: 32px; }
.pz-leaders b { margin-left: auto; font-size: 14px; font-weight: 600; color: var(--pz-text-2); }
.pz-pc + .pz-pc { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--pz-line); }
.pz-pc-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.pz-pc-head .pz-avatar { width: 24px; height: 24px; }
.pz-pc-author { font-size: 14px; font-weight: 600; }
.pz-pc-text { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; line-height: 1.45; }
.pz-pc-post { display: block; margin-top: 6px; font-size: 13px; color: var(--pz-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pz-ad { display: block; border-radius: var(--pz-radius); overflow: hidden; }
.pz-ad-banner img { display: block; width: 100%; }
.pz-side-card .pz-card { padding: 18px; }
.pz-side-card .pz-card-title { font-size: 17px; }

/* ---------- Feed cards ---------- */
.pz-feed, .pz-feed-items { display: flex; flex-direction: column; gap: 20px; }
.pz-card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 20px; border-radius: var(--pz-radius); background: var(--pz-card); box-shadow: var(--pz-shadow); }
.pz-card.pz-highlight { background: var(--pz-highlight); }
[data-bs-theme=dark] .pz-card.pz-highlight { background: color-mix(in srgb, var(--pz-highlight) 10%, var(--pz-card)); }
.pz-card-head { display: flex; align-items: center; gap: 10px; }
.pz-card-ava { flex-shrink: 0; }
.pz-card-ava .pz-avatar { width: 36px; height: 36px; display: block; }
.pz-card-who { min-width: 0; line-height: 1.25; }
.pz-card-author { font-size: 15px; font-weight: 600; }
.pz-card-sub { font-size: 13px; color: var(--pz-text-2); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pz-card-sub a:hover { color: var(--pz-chip); }
.pz-card-label { color: var(--pz-chip); font-weight: 500; }
.pz-pinned { margin-left: 8px; color: var(--pz-primary); }
.pz-card-tools { margin-left: auto; display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.pz-card-title { font-size: 21px; line-height: 1.3; font-weight: 600; margin: 0; text-wrap: pretty; }
.pz-card-title a:hover { color: var(--pz-chip); }
.pz-q-mark { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin-right: 8px; border-radius: 8px; background: rgba(var(--pz-primary-rgb), .14); color: var(--pz-primary); font-size: 16px; vertical-align: 3px; }
.pz-card-lead { font-size: 16px; line-height: 1.55; margin: 0; color: color-mix(in srgb, var(--pz-text) 88%, transparent); }
.pz-card-content, .pz-nsfw { display: flex; flex-direction: column; gap: 12px; }
.pz-card-img { display: block; border-radius: 16px; overflow: hidden; background: var(--pz-line); }
.pz-card-img img { display: block; width: 100%; max-height: 380px; object-fit: cover; }
.pz-answer-btn { align-self: flex-start; height: 34px; font-size: 14px; }
.pz-tags { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 14px; }
.pz-tags a { color: var(--pz-chip); }
.pz-card-reacts:empty { display: none; }
.pz-card-foot { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding-top: 4px; }
.pz-act { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 10px; border: 0; border-radius: 10px; background: transparent; font-size: 14px; color: var(--pz-text-2); }
.pz-act i { font-size: 1.05rem; }
.pz-act:hover, .pz-act.active { background: var(--pz-hover); color: var(--pz-text); }
.pz-act.active i { color: var(--pz-primary); }
.pz-act-muted:hover { background: transparent; color: var(--pz-text-2); }
.pz-card .pz-act:hover { background: rgba(45, 55, 80, .06); }
[data-bs-theme=dark] .pz-card .pz-act:hover { background: var(--pz-hover); }
.pz-share { width: 250px; padding: 12px; }
.pz-share-nets { display: flex; gap: 8px; margin: 10px 0; }
.pz-share-nets a { flex: 1; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; color: #fff; font-weight: 700; font-size: 13px; }
.pz-share-nets a:hover { color: #fff; filter: brightness(1.1); }
.is-vk { background: #0077ff; } .is-tg { background: #27a7e7; } .is-wa { background: #25d366; } .is-ok { background: #ee8208; } .is-th { background: #111; }
.pz-share .pz-btn-soft { height: 36px; font-size: 14px; }

/* Votes and reactions (from the shared engine) */
.pz-vote-pill { display: inline-flex; align-items: center; height: 34px; border-radius: 10px; background: rgba(45, 55, 80, .05); overflow: hidden; }
[data-bs-theme=dark] .pz-vote-pill { background: var(--pz-hover); }
.pz-vote-pill .btn { display: inline-flex; align-items: center; gap: 4px; height: 34px; padding: 0 10px; border: 0; border-radius: 0; font-size: 14px; color: var(--pz-text-2); }
.pz-vote-pill .pz-vote-up:hover, .pz-vote-pill .pz-vote-up.active { color: #0c9f5f; background: rgba(12, 159, 95, .1); }
.pz-vote-pill .pz-vote-down:hover, .pz-vote-pill .pz-vote-down.active { color: #e0453a; background: rgba(224, 69, 58, .1); }
.pz-vote { --bs-btn-hover-bg: transparent; }
.btn-vote { border: 0; color: var(--pz-text-2); }
.btn-vote.active { color: var(--pz-primary); }
.pz-reactions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pz-react { display: inline-flex; align-items: center; gap: 5px; height: 32px; padding: 0 10px; border: 1px solid transparent; border-radius: 16px; background: rgba(45, 55, 80, .05); font-size: 15px; line-height: 1; color: var(--pz-text); }
[data-bs-theme=dark] .pz-react { background: var(--pz-hover); }
.pz-react:hover { border-color: var(--pz-line); }
.pz-react.active { border-color: rgba(var(--pz-primary-rgb), .5); background: rgba(var(--pz-primary-rgb), .1); }
.pz-react span { font-size: 13px; font-weight: 500; }
.pz-react-add { color: var(--pz-text-2); padding: 0 9px; }
.pz-react-picker { min-width: 0; width: 15rem; padding: 8px; border-radius: 16px; }
.pz-react-picker .btn { width: 2.4rem; height: 2.4rem; font-size: 1.2rem; line-height: 1; margin: 1px; border-radius: 10px; }
.pz-react-picker .btn:hover, .pz-react-picker .btn.active { background: rgba(var(--pz-primary-rgb), .12); }
.pz-react-sum { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 13px; color: var(--pz-text-2); }
.pz-react-sum > span { letter-spacing: -.15em; }
.pz-reactions-sm .pz-react { height: 28px; padding: 0 8px; font-size: 13px; }

/* Follow buttons */
.pz-follow { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 36px; padding: 0 16px; border: 0; border-radius: 12px; background: var(--pz-follow); color: var(--pz-follow-text); font-size: 14px; font-weight: 500; white-space: nowrap; }
.pz-follow:hover { color: var(--pz-follow-text); filter: brightness(1.06); }
.pz-follow.is-on, .pz-follow.btn-success-soft, .pz-follow.btn-light { background: rgba(45, 55, 80, .07); color: var(--pz-text-2); filter: none; }
[data-bs-theme=dark] .pz-follow.is-on, [data-bs-theme=dark] .pz-follow.btn-success-soft, [data-bs-theme=dark] .pz-follow.btn-light { background: var(--pz-hover); }
.pz-follow-sm { height: 30px; padding: 0 12px; font-size: 13px; border-radius: 10px; }

/* Polls */
.pz-poll { display: flex; flex-direction: column; gap: 8px; }
.pz-poll-opt { width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid var(--pz-line); border-radius: 12px; background: transparent; text-align: left; font-size: 15px; transition: border-color .15s, background .15s; }
.pz-poll-opt:hover { border-color: var(--pz-poll); background: color-mix(in srgb, var(--pz-poll) 8%, transparent); }
[data-pz-poll] .progress { height: 34px; border-radius: 10px; background: rgba(45, 55, 80, .06); }
[data-pz-poll] .progress-bar.bg-success { background-color: color-mix(in srgb, var(--pz-poll) 30%, transparent) !important; color: var(--pz-text); }
[data-pz-poll] .bi-check-circle-fill.text-success { color: var(--pz-poll) !important; }

/* 18+ */
.pz-nsfw { position: relative; }
.pz-nsfw:not(.is-shown) > :not(.pz-nsfw-cover) { filter: blur(28px); pointer-events: none; user-select: none; }
.pz-nsfw .pz-nsfw-cover { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.pz-nsfw.is-shown .pz-nsfw-cover { display: none; }

/* ---------- Post page ---------- */
.pz-story { padding: 28px 32px; }
.pz-story-head { display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; }
.pz-story-title { font-size: 34px; line-height: 1.2; font-weight: 700; letter-spacing: -.02em; margin: 0; text-wrap: pretty; }
.pz-story-lead { font-size: 19px; line-height: 1.5; font-weight: 500; margin: 0; }
.pz-story-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: 14px; color: var(--pz-text-2); }
.pz-story-meta i { margin-right: 4px; }
.pz-story-cover { margin: 0 0 20px; }
.pz-story-cover img { display: block; width: 100%; height: auto; border-radius: 16px; max-height: 560px; object-fit: cover; }
.pz-caption, .entry-content figcaption { font-size: 13px; line-height: 1.4; color: var(--pz-text-2); margin-top: 8px; }
.pz-story-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--pz-line); }
.pz-author-box { display: flex; align-items: center; gap: 14px; }
.pz-author-box .pz-avatar { width: 48px; height: 48px; }
.pz-author-box b { display: block; font-size: 16px; }
.pz-author-box small { color: var(--pz-text-2); }
.pz-source { font-size: 15px; color: var(--pz-text-2); margin: 18px 0 0; }
.pz-source a { color: var(--pz-chip); }
@media (max-width: 575.98px) {
	.pz-story { padding: 20px 16px; border-radius: 16px; }
	.pz-story-title { font-size: 26px; }
	.pz-story-lead { font-size: 17px; }
	.pz-card { padding: 16px; border-radius: 16px; }
	.pz-card-title { font-size: 19px; }
}

/* Article text */
.entry-content { font-size: 18px; line-height: 1.65; word-wrap: break-word; }
.entry-content > * + * { margin-top: 1em; }
.entry-content p { margin: 0 0 1em; }
.entry-content h2 { font-size: 26px; margin: 1.4em 0 .6em; }
.entry-content h3 { font-size: 22px; margin: 1.3em 0 .5em; }
.entry-content a:not(.btn):not(.pz-gallery a):not(.pz-ad-inline a) { color: var(--pz-chip); text-decoration: underline; text-decoration-color: rgba(var(--pz-chip-rgb), .35); text-underline-offset: 3px; }
.entry-content a:not(.pz-ad-inline a):hover { text-decoration-color: currentColor; }
.entry-content img:not(.pz-ad-inline img), .entry-content video:not(.pz-ad-inline video) { max-width: 100%; height: auto; border-radius: 14px; }
.entry-content iframe:not(.pz-ad-inline iframe) { max-width: 100%; border: 0; border-radius: 14px; }
.entry-content figure { margin: 1.4em 0; }
.entry-content blockquote, .entry-content .blockquote { margin: 1.4em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--pz-primary); font-size: 19px; }
.entry-content .blockquote-footer:empty { display: none; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content li + li { margin-top: .35em; }
.entry-content b, .entry-content strong { font-weight: 600; }
.entry-content table { width: 100%; font-size: 15px; }
.entry-content table td, .entry-content table th { padding: 8px 10px; border-bottom: 1px solid var(--pz-line); }
.entry-content .wp-block-image, .entry-content .wp-block-embed { margin: 1.4em 0; }
.entry-content .wp-block-image img { width: 100%; }
.entry-content img:not(.pz-ad-inline img), .pz-zoomable img, .pz-gallery a img { cursor: zoom-in; }
.entry-content a:not(.pz-gallery a) img { cursor: pointer; }
.pz-gallery { display: flex; flex-wrap: wrap; gap: 8px; margin: 1.4em 0; }
.pz-gallery a { flex: 1 1 calc(50% - 4px); min-width: 0; }
.pz-gallery a:first-child:nth-last-child(n+5), .pz-gallery a:first-child:nth-last-child(n+5) ~ a { flex-basis: calc(33.333% - 6px); }
.pz-gallery img { display: block; width: 100%; height: clamp(140px, 28vw, 220px); object-fit: cover; border-radius: 12px; }
.pz-gallery a:last-child:nth-child(odd):not(:nth-child(n+5)) img { height: clamp(200px, 50vw, 360px); }
.pz-zoom { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0, 0, 0, .9); cursor: zoom-out; }
.pz-zoom img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 10px; }
.pz-embed-social { margin: 1.4em 0; }
.pz-embed-social iframe { display: block; width: 100%; max-width: 540px; margin: 0 auto; border: 0; border-radius: 12px; background: transparent; color-scheme: light dark; }
/* Telegram posts pasted as a script (old posts): with a dark OS the browser painted the sides black. */
iframe[id^="telegram-post"] { background: transparent; color-scheme: light dark; }

/* Comments */
.pz-comments { padding: 24px 28px; }
.pz-comments h3, .comment-reply-title { font-size: 22px; font-weight: 600; margin: 0 0 16px; }
.comment-list, .comment-list .children { list-style: none; padding: 0; margin: 0; }
.comment-list .children { padding-left: 24px; border-left: 2px solid var(--pz-line); margin-left: 16px; }
.pz-comment { padding: 14px 0; }
.pz-comment-author { font-weight: 600; font-size: 15px; }
.pz-comment-text { font-size: 16px; line-height: 1.55; }
.pz-comment-text p { margin-bottom: .4rem; }
.pz-comment-reply a { color: var(--pz-text-2); font-size: 14px; }
.pz-comment-reply a:hover { color: var(--pz-text); }
.pz-best-answer > .d-flex { background: rgba(12, 188, 135, .07); border-radius: 12px; padding: 10px; }
.comment-form textarea, .comment-form input[type=text], .comment-form input[type=email], .pz-input { width: 100%; padding: 12px 14px; border: 1px solid var(--pz-line); border-radius: 12px; background: var(--pz-card); color: var(--pz-text); font-size: 16px; }
.comment-form textarea:focus, .pz-input:focus, .form-control:focus, .form-select:focus { outline: 0; border-color: rgba(var(--pz-primary-rgb), .6); box-shadow: 0 0 0 3px rgba(var(--pz-primary-rgb), .15); }
.comment-form .submit, .form-submit .submit { height: 42px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--pz-primary); color: var(--pz-primary-text); font-weight: 500; }

/* Page headers: rubric, community, author, search */
.pz-head { display: flex; align-items: center; gap: 18px; padding: 24px; }
.pz-head-ico { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 20px; display: inline-flex; align-items: center; justify-content: center; font-size: 40px; overflow: hidden; background: rgba(var(--pz-primary-rgb), .1); }
.pz-head-ico img { width: 100%; height: 100%; object-fit: cover; }
.pz-head-ico.is-letter { font-size: 30px; font-weight: 700; color: var(--pz-primary); }
.pz-head-text { min-width: 0; flex: 1; }
.pz-head-text h1 { font-size: 28px; line-height: 1.2; margin: 0 0 6px; }
.pz-head-text p { margin: 0; color: color-mix(in srgb, var(--pz-text) 80%, transparent); font-size: 15px; }
.pz-head-stats { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; font-size: 14px; color: var(--pz-text-2); }
.pz-head-stats b { color: var(--pz-text); font-weight: 600; }
.pz-head-cover { height: 180px; border-radius: var(--pz-radius) var(--pz-radius) 0 0; background: center / cover no-repeat, linear-gradient(135deg, rgba(var(--pz-primary-rgb), .35), rgba(var(--pz-primary-rgb), .1)); }
.pz-head-box { padding: 0; overflow: hidden; }
@media (max-width: 575.98px) { .pz-head { flex-wrap: wrap; padding: 18px; } .pz-head-text h1 { font-size: 23px; } }

/* Pagination */
.pz-pagination .nav-links { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; }
.pz-pagination .page-numbers { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border-radius: 12px; background: var(--pz-card); font-weight: 500; }
.pz-pagination .page-numbers.current { background: var(--pz-primary); color: var(--pz-primary-text); }

/* ---------- Footer ---------- */
.pz-footer { padding: 36px 0 28px; margin-top: 24px; font-size: 15px; }
.pz-footer-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; }
.pz-footer-about { max-width: 700px; margin: 0; color: var(--pz-text-2); }
.pz-footer-social { display: flex; align-items: center; gap: 8px; color: var(--pz-text-2); }
.pz-footer-social span { margin-right: 8px; }
.pz-footer-social a { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: rgba(var(--pz-primary-rgb), .1); color: var(--pz-primary); font-size: 18px; }
.pz-footer-social a b { font-size: 12px; }
.pz-footer-social a:hover { background: var(--pz-primary); color: var(--pz-primary-text); }
.pz-footer-nav { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 18px; }
.pz-foot-link { font-size: 15px; }
.pz-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--pz-line); font-size: 13px; color: var(--pz-text-2); }
.pz-age { font-size: 18px; color: var(--pz-text-2); }
.pz-up { position: fixed; right: 24px; bottom: 24px; z-index: 1020; width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--pz-card); box-shadow: 0 6px 18px rgba(20, 25, 40, .14); font-size: 1.2rem; }

/* ---------- Forms and the remaining pages (Bootstrap markup) ---------- */
.card { --bs-card-bg: var(--pz-card); --bs-card-border-color: transparent; --bs-card-border-radius: var(--pz-radius); --bs-card-inner-border-radius: var(--pz-radius); box-shadow: var(--pz-shadow); }
.card-header, .card-footer { background: transparent; border-color: var(--pz-line); }
.form-control, .form-select { min-height: 44px; border-radius: 12px; border-color: var(--pz-line); background-color: var(--pz-card); color: var(--pz-text); }
.form-label { font-weight: 500; }
.btn { --bs-btn-border-radius: 12px; --bs-btn-font-weight: 500; }
.btn-primary { --bs-btn-bg: var(--pz-primary); --bs-btn-border-color: var(--pz-primary); --bs-btn-color: var(--pz-primary-text); --bs-btn-hover-bg: color-mix(in srgb, var(--pz-primary) 88%, #000); --bs-btn-hover-border-color: color-mix(in srgb, var(--pz-primary) 88%, #000); --bs-btn-hover-color: var(--pz-primary-text); --bs-btn-active-bg: color-mix(in srgb, var(--pz-primary) 80%, #000); --bs-btn-active-border-color: transparent; --bs-btn-disabled-bg: var(--pz-primary); --bs-btn-disabled-border-color: var(--pz-primary); }
.btn-light { --bs-btn-bg: rgba(45, 55, 80, .06); --bs-btn-border-color: transparent; --bs-btn-hover-bg: rgba(45, 55, 80, .1); --bs-btn-hover-border-color: transparent; --bs-btn-color: var(--pz-text); --bs-btn-hover-color: var(--pz-text); }
.btn-primary-soft, .btn-success-soft { background: rgba(var(--pz-chip-rgb), .1); color: var(--pz-chip); border: 0; }
.btn-primary-soft:hover, .btn-success-soft:hover { background: rgba(var(--pz-chip-rgb), .17); color: var(--pz-chip); }
.btn-danger-soft { background: rgba(224, 69, 58, .1); color: #e0453a; border: 0; }
.btn-danger-soft:hover { background: #e0453a; color: #fff; }
.pz-btn-xs { --bs-btn-padding-y: .2rem; --bs-btn-padding-x: .65rem; --bs-btn-font-size: .8125rem; }
.nav-tabs { --bs-nav-tabs-border-color: var(--pz-line); --bs-nav-tabs-link-active-bg: transparent; --bs-nav-tabs-link-active-color: var(--pz-text); --bs-nav-tabs-link-active-border-color: transparent; }
.nav-tabs .nav-link { border: 0; border-bottom: 2px solid transparent; color: var(--pz-text-2); font-weight: 500; }
.nav-tabs .nav-link.active { border-bottom-color: var(--pz-primary); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--pz-primary); --bs-nav-pills-link-active-color: var(--pz-primary-text); }
.nav-link { color: var(--pz-text); }
.text-primary { color: var(--pz-primary) !important; }
.bg-primary { background-color: var(--pz-primary) !important; }
.heading-color { color: var(--pz-text); }
.text-primary-hover:hover { color: var(--pz-chip) !important; }
.bg-mode { background: var(--pz-card); }
.cursor-pointer { cursor: pointer; }
.avatar:not(img) { position: relative; display: inline-block; width: 3rem; height: 3rem; flex-shrink: 0; }
.avatar-img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.avatar .pz-avatar { width: 100%; height: 100%; }
.avatar-xxs:not(img) { width: 1.5rem; height: 1.5rem; } .avatar-xs:not(img) { width: 2.2rem; height: 2.2rem; } .avatar-sm:not(img) { width: 2.6rem; height: 2.6rem; } .avatar-md:not(img) { width: 3.5rem; height: 3.5rem; } .avatar-lg:not(img) { width: 4.5rem; height: 4.5rem; } .avatar-xl:not(img) { width: 6rem; height: 6rem; } .avatar-xxl:not(img) { width: 8rem; height: 8rem; }
.pz-term-ico { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 100%; border-radius: 50%; background: rgba(var(--pz-primary-rgb), .1); font-size: 1.4em; object-fit: cover; }
.pz-term-ico.is-letter { color: var(--pz-primary); font-weight: 700; }
.pz-company-check { color: #1d9bf0; margin-left: 4px; font-size: .9em; }
.pz-moderation-bar { border: 2px solid #ffc107; }
.pz-line-clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
iframe[id^="telegram-login"] { border-radius: 8px; color-scheme: normal; }
.dropdown-menu { --bs-dropdown-bg: var(--pz-card); --bs-dropdown-color: var(--pz-text); --bs-dropdown-link-color: var(--pz-text); --bs-dropdown-border-color: var(--pz-line); }
.alert { border-radius: 14px; }

/* Communities */
.pz-comm-row { display: flex; align-items: center; gap: 14px; padding: 12px 0; }
.pz-comm-row + .pz-comm-row { border-top: 1px solid var(--pz-line); }
.pz-comm-ico { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 16px; font-size: 28px; }
.pz-comm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.pz-comm-card { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: var(--pz-radius); background: var(--pz-card); box-shadow: var(--pz-shadow); }
.pz-comm-card-head { display: flex; align-items: center; gap: 12px; }
.pz-comm-card h3 { font-size: 17px; margin: 0; }
.pz-comm-card p { font-size: 14px; color: var(--pz-text-2); margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pz-comm-card .pz-follow { margin-top: auto; align-self: flex-start; }
.pz-comm-form { display: grid; gap: 14px; }
.pz-comm-form label { font-weight: 500; font-size: 15px; }
.pz-comm-form .pz-hint { font-size: 13px; color: var(--pz-text-2); }
.pz-cover-pos { display: grid; gap: 8px; margin-top: -4px; }
.pz-cover-pos > span { font-size: 14px; color: var(--pz-text-2); }
.pz-cover-preview { aspect-ratio: 970 / 180; border-radius: 10px; background: center / cover no-repeat; background-color: rgba(var(--pz-primary-rgb), .12); cursor: grab; touch-action: none; user-select: none; }
.pz-cover-preview:active { cursor: grabbing; }
.pz-status-pill { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 12px; background: rgba(255, 170, 0, .15); color: #a86700; font-size: 12px; font-weight: 600; }
.pz-comment-form { gap: 10px; padding: 12px; border-radius: 16px; background: rgba(45, 55, 80, .04); }
[data-bs-theme=dark] .pz-comment-form, [data-bs-theme=dark] .pz-comment-login { background: var(--pz-hover); }
.pz-comment-form .input-group { gap: 8px; }
.pz-comment-form .btn { border-radius: 12px !important; }
.pz-comment-login { padding: 14px 16px; border-radius: 14px; background: rgba(var(--pz-primary-rgb), .07); font-size: 15px; }
.pz-comment-login a { color: var(--pz-chip); font-weight: 500; }
.comment-wrap .children { list-style: none; padding-left: 20px; margin-left: 16px; border-left: 2px solid var(--pz-line); }
.pz-side-card .pz-card-tools { display: none; }
.pz-head { flex-wrap: wrap; align-items: flex-start; }
.pz-head-text { flex: 1 1 300px; }
.pz-head-actions { display: flex; flex-wrap: wrap; gap: 8px; flex-basis: 100%; padding-left: 90px; }
@media (max-width: 575.98px) { .pz-head-actions { padding-left: 0; } }
.pz-card .pz-follow:not(.is-on):not(.btn-success-soft) { background: rgba(var(--pz-chip-rgb), .1); color: var(--pz-chip); }
.pz-card .pz-follow:not(.is-on):not(.btn-success-soft):hover { background: rgba(var(--pz-chip-rgb), .18); }
.pz-footer-nav li, .pz-side-menu li, .pz-top-nav li { list-style: none; display: contents; }
.pz-story-video { position: relative; aspect-ratio: 16 / 9; margin: 0 0 20px; border-radius: 16px; overflow: hidden; background: #000; }
.pz-story-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pz-card-img.is-video { position: relative; }
.pz-card-img.is-video::after { content: "\F4F4"; font-family: bootstrap-icons; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; font-size: 30px; }

/* ---------- Portal details (1.0.1) ---------- */
/* A sticky column needs a parent as tall as the row. */
.pz-right-stick { align-self: stretch; }
.pz-cat-top { margin-bottom: 4px; }

/* Phones and tablets: weather and rates as a row of small cards above the news, like the portal. */
.pz-m-strip .pz-wx { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; padding: 0; background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.pz-m-strip .pz-wx::-webkit-scrollbar { display: none; }
.pz-m-strip .pz-rates { display: contents; }
.pz-m-strip .pz-wx-now, .pz-m-strip .pz-rate { flex: 0 0 auto; margin: 0; padding: 12px 16px; border-radius: 20px; background: var(--pz-glass); border: 1px solid var(--pz-glass-line); }
.pz-m-strip .pz-wx-now { gap: 10px; }
.pz-m-strip .pz-wx-ico { font-size: 30px; }
.pz-m-strip .pz-wx-temp { font-size: 26px; }
.pz-m-strip .pz-rate b { font-size: 17px; line-height: 22px; }
.pz-m-strip .pz-rates-note { display: none; }
@media (max-width: 991.98px) { .pz-home-top > .pz-right > .pz-wx { display: none; } }

/* Phones: the search is a round button in the corner (opens the menu with the search field). */
.pz-fab-search { position: fixed; right: 16px; bottom: 16px; z-index: 1020; width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--pz-primary); color: var(--pz-primary-text); font-size: 1.2rem; box-shadow: 0 6px 18px rgba(20, 25, 40, .18); }
@media (max-width: 575.98px) {
	.pz-up { right: 18px; bottom: 76px; }
	/* «Популярное у авторов» as cards to swipe. */
	.pz-box-pop { background: none; border: 0; padding: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; min-width: 0; }
	.pz-box-pop .pz-pop { flex-direction: row; gap: 10px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
	.pz-box-pop .pz-pop::-webkit-scrollbar { display: none; }
	.pz-box-pop .pz-pop-item { flex: 0 0 78%; scroll-snap-align: start; padding: 16px; border-radius: 20px; background: var(--pz-glass); border: 1px solid var(--pz-glass-line); }
}

/* ---------- 1.1: logo, wide screens, section formats, video ---------- */
/* Drawn logos (Customizer → Цвета и шрифт → Логотип): the sign takes the site colour. */
.pz-logo-mark { display: inline-flex; align-items: center; gap: 9px; color: var(--pz-primary); line-height: 1; white-space: nowrap; }
.pz-logo-ico { width: 34px; height: 34px; flex-shrink: 0; display: block; }
.pz-lw { font-family: var(--pz-font); font-size: 27px; font-weight: 800; letter-spacing: -.045em; color: var(--pz-text); }
.pz-logo-v3 .pz-lw { font-size: 30px; }
.pz-lw b { font-weight: 800; color: var(--pz-primary); }
.pz-main-mark svg { width: 24px; height: 24px; color: var(--pz-primary); }
@media (max-width: 575.98px) {
	.pz-logo-ico { width: 28px; height: 28px; }
	.pz-lw { font-size: 22px; }
	.pz-logo-v3 .pz-lw { font-size: 24px; }
}

/* «Главное» on wide screens: a bigger picture, chips right after the title. */
@media (min-width: 1500px) {
	.pz-main-top-img { flex-basis: 340px; height: 190px; }
	.pz-main-item-body { justify-content: flex-start; }
	.pz-main-item-title { flex: 0 1 auto; }
}

/* Sections: the cards change their places with the screen width, like on the portal.
   A: big + photo / photo card + white card / lines + photo;  B: big / photo + colour card / lines + photo. */
.pz-sec-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--pz-gap); }
.pz-sec-cards > * { min-width: 0; }
.pz-fmt-a { grid-template-areas: "big big" "t1 wc" "list t2"; }
.pz-fmt-b { grid-template-areas: "big big" "t1 acc" "list t2"; }
.pz-fmt-s .pz-c-big { grid-column: 1 / -1; }
.pz-c-big { grid-area: big; } .pz-c-t1 { grid-area: t1; } .pz-c-t2 { grid-area: t2; } .pz-c-wc { grid-area: wc; } .pz-c-list { grid-area: list; } .pz-c-acc { grid-area: acc; }
.pz-fmt-s > * { grid-area: auto; }
@media (min-width: 1500px) {
	.pz-sec-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pz-fmt-a { grid-template-areas: "big big t1" "wc list t2"; }
	.pz-fmt-b { grid-template-areas: "t1 acc list" "big big t2"; }
}
@media (max-width: 767.98px) {
	.pz-sec-cards, .pz-sec-cards.pz-fmt-a, .pz-sec-cards.pz-fmt-b { grid-template-columns: minmax(0, 1fr); grid-template-areas: none; gap: 16px; }
	.pz-sec-cards > * { grid-area: auto !important; grid-column: auto !important; }
}
/* Colour card: the post on the site colour, no picture. */
.pz-acc { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 360px; padding: 28px 24px; border-radius: 40px; text-align: center; color: #fff; background: linear-gradient(170deg, color-mix(in srgb, var(--pz-primary) 62%, #fff) 0%, var(--pz-primary) 58%, color-mix(in srgb, var(--pz-primary) 86%, #000) 100%); }
.pz-acc:hover { color: #fff; filter: brightness(1.04); }
.pz-acc-rub { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; opacity: .9; }
.pz-acc-rub .pz-term-ico, .pz-acc-rub .pz-side-ico { width: 18px; height: 18px; flex-basis: 18px; font-size: 14px; }
.pz-acc-title { font-size: calc(20px * var(--pz-hk, 1)); line-height: 1.3; font-weight: 600; text-wrap: balance; }
.pz-acc .pz-chip { background: rgba(255, 255, 255, .2); color: #fff; }
@media (max-width: 767.98px) { .pz-acc { min-height: 260px; border-radius: var(--pz-radius); } }

/* Right column: several widgets one under another. */
.pz-right-stack { display: flex; flex-direction: column; gap: 20px; }
/* «Выбор редакции» next to «Новости СМИ»: on a wide screen the cards are lower than the column, so it goes under them */
.pz-picks-wide { display: none; }
@media (min-width: 1500px) {
	.pz-grid:has(.pz-smi) .pz-picks-wide { display: block; }
	.pz-grid:has(.pz-smi) .pz-picks-side { display: none; }
	.pz-picks-wide .pz-bullets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 28px; }
}

/* «Видео Подзага»: the latest videos of the YouTube channel; a click plays it right here. */
.pz-video { border-radius: var(--pz-radius); background: #232837; color: #fff; padding: 14px 14px 16px; }
.pz-video-head { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 15px; font-weight: 600; color: #fff; }
.pz-video-head a { color: inherit; }
.pz-video-head i { color: #ff2d3c; font-size: 20px; line-height: 1; }
.pz-video-main { position: relative; display: block; width: 100%; padding: 0; border: 0; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #000; cursor: pointer; }
.pz-video-main img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pz-video-main:hover img { transform: scale(1.03); }
.pz-video-main iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pz-video-play { position: absolute; inset: 0; margin: auto; width: 58px; height: 40px; border-radius: 12px; background: rgba(255, 45, 60, .94); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 24px; pointer-events: none; }
.pz-video-title { display: block; margin-top: 10px; font-size: 14px; line-height: 19px; color: #fff; }
.pz-video-list { display: flex; flex-direction: column; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .1); }
.pz-video-item { display: flex; align-items: flex-start; gap: 10px; padding: 0; border: 0; background: none; text-align: left; font-size: 13px; line-height: 17px; color: rgba(255, 255, 255, .88); cursor: pointer; }
.pz-video-item:hover { color: #fff; }
.pz-video-item img { width: 88px; height: 50px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.pz-sec-cards > div { display: grid; }
.pz-sec-cards > .pz-c-list { display: flex; flex-direction: column; align-self: start; }
.pz-sec-cards .pz-ov { min-height: 360px; }
@media (max-width: 767.98px) { .pz-sec-cards .pz-ov { min-height: 300px; } }

/* ---------- Post page like the portal's news page ---------- */
.pz-art-wrap { max-width: 1300px; }
@media (max-width: 1299.98px) { .pz-art-wrap { max-width: 1010px; } }
.single .pz-footer .pz-wrap { max-width: 1300px; }
@media (max-width: 1299.98px) { .single .pz-footer .pz-wrap { max-width: 1010px; } }
/* Two-row header: rubric links, then the logo, the search, weather and rates. */
.pz-hn-top { align-items: center; gap: 20px; height: 50px; padding-top: 10px; }
.pz-hn-links { display: flex; align-items: center; gap: 22px; min-width: 0; overflow: hidden; }
.pz-hn-link { display: inline-flex; align-items: center; gap: 8px; height: 30px; font-size: 15px; white-space: nowrap; }
.pz-hn-link .pz-side-ico { width: 22px; height: 22px; flex-basis: 22px; font-size: 18px; }
.pz-hn-top .pz-top-nav { margin-left: auto; }
.pz-header-news .pz-hn-main { height: 70px; gap: 28px; }
.pz-hn-search { flex: 0 1 500px; min-width: 0; position: relative; align-items: center; }
.pz-hn-search input { width: 100%; height: 40px; padding: 0 44px 0 18px; border: 1px solid rgba(var(--pz-primary-rgb), .18); border-radius: 20px; background: var(--pz-card); color: var(--pz-text); font-size: 15px; font-weight: 500; outline: 0; }
.pz-hn-search input:focus { border-color: rgba(var(--pz-primary-rgb), .5); }
.pz-hn-search button { position: absolute; right: 6px; top: 4px; width: 32px; height: 32px; border: 0; border-radius: 50%; background: none; color: var(--pz-primary); font-size: 16px; }
.pz-hn-info { align-items: center; gap: 18px; margin-left: auto; font-size: 15px; font-weight: 700; white-space: nowrap; }
.pz-hn-wx { display: inline-flex; align-items: center; gap: 10px; }
.pz-hn-city { font-weight: 600; }
.pz-hn-rate { display: inline-flex; align-items: center; gap: 4px; }
.pz-hn-cur { color: var(--pz-text-2); font-weight: 600; }
.pz-hn-rate .is-up { color: #0c9f5f; } .pz-hn-rate .is-down { color: #e0453a; }
.pz-header-news .pz-hn-info + .pz-header-tools { margin-left: 18px; }
.pz-header-news .pz-header-tools .pz-weather-mini { display: none !important; }
@media (max-width: 991.98px) { .pz-header-news .pz-hn-main { height: 60px; gap: 10px; } }

.pz-art-page { padding: 4px 0 48px; }
/* Rubric chips. */
.pz-art-chips { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; overflow-x: auto; scrollbar-width: none; padding: 2px 0; }
.pz-art-chips::-webkit-scrollbar { display: none; }
.pz-art-chip { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; height: 40px; padding: 0 15px; border: 2px solid transparent; border-radius: 20px; background: rgba(var(--pz-primary-rgb), .09); color: var(--pz-primary); font-size: 15px; font-weight: 500; white-space: nowrap; }
.pz-art-chip:hover { background: rgba(var(--pz-primary-rgb), .15); color: var(--pz-primary); }
.pz-art-chip.is-current, .pz-art-chip.is-more { background: var(--pz-card); border-color: rgba(var(--pz-primary-rgb), .3); color: var(--pz-text); }
.pz-art-chip-home { width: 40px; padding: 0; }
.pz-art-chip-home svg, .pz-art-chip-home img { width: 22px; height: 22px; border-radius: 6px; color: var(--pz-primary); }
/* Columns: post 600 · «Главное» and videos 300 · popular and authors 300 (two columns below 1300px, one on phones). */
.pz-art-grid { display: grid; grid-template-columns: 600px 300px 300px; gap: 30px; align-items: start; }
.pz-art-aside { display: contents; }
.pz-art-main, .pz-art-mid, .pz-art-side { min-width: 0; }
.pz-art-mid, .pz-art-side { align-self: stretch; }
.pz-art-mid .pz-sticky, .pz-art-side .pz-sticky { gap: 20px; }
@media (max-width: 1299.98px) {
	.pz-art-grid { grid-template-columns: minmax(0, 650px) 300px; gap: 20px; }
	.pz-art-aside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
	.pz-art-mid .pz-sticky, .pz-art-side .pz-sticky { position: static; }
}
@media (max-width: 991.98px) {
	.pz-art-grid { grid-template-columns: minmax(0, 1fr); }
	.pz-art-mid, .pz-art-side { display: flex; flex-direction: column; gap: 20px; } /* .pz-sticky is display: contents here, so the gap between the widgets comes from the column */
}
/* The article. */
.pz-art { --pz-fs: 15px; }
.pz-art-next { margin-top: 40px; padding-top: 36px; border-top: 1px solid var(--pz-line); }
.pz-art-kinds { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.pz-art-kind { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 8px; background: rgba(var(--pz-primary-rgb), .1); color: var(--pz-chip); font-size: 13px; font-weight: 500; }
.pz-art-title { font-size: 28px; line-height: 35px; font-weight: 800; letter-spacing: -.01em; margin: 0 0 12px; text-wrap: pretty; }
.pz-art-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px; margin-bottom: 20px; font-size: 15px; line-height: 20px; }
.pz-art-author { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; min-width: 0; }
.pz-art-author .pz-avatar { width: 24px; height: 24px; }
.pz-art-date { color: var(--pz-text-2); font-weight: 500; }
.pz-art-tools { display: inline-flex; align-items: center; gap: 2px; margin-left: auto; }
.pz-art-tool, .pz-art-tools .pz-act { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--pz-text-2); font-size: 15px; font-weight: 600; }
.pz-art-tool sup { font-size: 11px; top: -.45em; }
.pz-art-tool:hover, .pz-art-tools .pz-act:hover { background: rgba(var(--pz-primary-rgb), .08); color: var(--pz-text); }
.pz-art-tool.is-on { color: var(--pz-primary); }
.pz-art-lead, .pz-art .pz-art-text { font-size: var(--pz-fs); line-height: 1.667; }
.pz-art-lead { margin: 0 0 20px; font-weight: 600; } /* a lead written in the editor: always bold */
.pz-art-cover { margin: 0 0 20px; }
.pz-art-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; }
.pz-art-cover figcaption { margin-top: 8px; font-size: 13px; color: var(--pz-text-2); }
.pz-art .pz-art-text h2 { font-size: 22px; line-height: 28px; margin: 1.4em 0 .6em; }
.pz-art .pz-art-text h3 { font-size: 19px; line-height: 25px; margin: 1.3em 0 .5em; }
.pz-art-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; }
.pz-art-rub { display: inline-flex; align-items: center; height: 30px; padding: 0 10px; border-radius: 8px; background: rgba(var(--pz-primary-rgb), .1); color: var(--pz-chip); font-size: 14px; font-weight: 500; }
.pz-art-tag { font-size: 14px; color: var(--pz-chip); padding: 0 4px; }
.pz-art-react { margin-top: 18px; }
.pz-art .pz-story-actions { margin-top: 14px; }
.pz-art-views { margin-left: auto; color: var(--pz-text-2); pointer-events: none; }
.pz-art .pz-author-box { margin-top: 20px; }
.pz-art-main > .pz-comments { margin-top: 28px; }
.pz-next-btn { margin-top: 28px; }
@media (max-width: 575.98px) {
	.pz-art-title { font-size: 24px; line-height: 30px; }
	.pz-art-tools { margin-left: -6px; width: 100%; }
}
/* «Подзаг: главное» next to the post. */
.pz-mainlist { display: flex; flex-direction: column; gap: 16px; }
.pz-mainlist .pz-box-title { margin: 0; font-weight: 800; }
.pz-mainlist-item { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 20px; }
.pz-mainlist-item .pz-src { width: 16px; height: 16px; margin-top: 2px; border-radius: 4px; }
.pz-mainlist-item:hover span { color: var(--pz-chip); }
.pz-hn-city { margin-left: 6px; }
.pz-hn-wx [data-pz-weather-mini] { padding-right: 2px; }
.pz-art .pz-art-text blockquote, .pz-art .pz-art-text blockquote p { font-size: calc(var(--pz-fs) + 1px); line-height: 1.6; }
@media (max-width: 1399.98px) { .pz-hn-rate { display: none; } }

/* Profile tabs scroll inside the card on phones instead of widening the page */
.pz-profile-tabs { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.pz-profile-tabs::-webkit-scrollbar { display: none; }

/* Social sign-in buttons: visible on the white form card */
.pz-social-btn { display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--bs-border-color); background: var(--bs-body-bg); color: var(--bs-body-color); font-weight: 500; }
.pz-social-btn:hover, .pz-social-btn:focus { border-color: var(--pz-primary); background: var(--bs-body-bg); color: var(--bs-body-color); }
.pz-ico-google { color: #4285f4; }
.pz-ico-ya::before, .pz-ico-vk::before { font-style: normal; font-weight: 700; }
.pz-ico-ya::before { content: 'Я'; color: #fc3f1d; }
.pz-ico-vk::before { content: 'VK'; color: #0077ff; font-size: .85em; }

/* Under «Главное»: pinned and highlighted posts as wide cards, then the ad */
.pz-main-promo { display: flex; flex-direction: column; gap: 16px; margin-top: 30px; }
.pz-promo-card { display: flex; gap: 20px; padding: 16px; border-radius: var(--pz-radius); background: var(--pz-card); box-shadow: var(--pz-shadow); color: inherit; }
.pz-promo-card.pz-highlight { background: var(--pz-highlight); }
[data-bs-theme=dark] .pz-promo-card.pz-highlight { background: color-mix(in srgb, var(--pz-highlight) 12%, var(--pz-card)); }
.pz-promo-img { flex: 0 0 38%; max-width: 38%; border-radius: 14px; overflow: hidden; background: var(--pz-accent-soft); }
.pz-promo-img img { display: block; width: 100%; height: 100%; min-height: 160px; max-height: 230px; object-fit: cover; }
.pz-promo-body { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 2px 0; }
.pz-promo-badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 8px; background: rgba(var(--pz-chip-rgb), .12); color: var(--pz-chip); font-size: 13px; font-weight: 600; }
.pz-promo-title { font-size: calc(20px * var(--pz-hk, 1)); line-height: 1.3; font-weight: 700; color: var(--bs-heading-color); }
.pz-promo-card:hover .pz-promo-title { color: var(--pz-chip); }
.pz-promo-lead { font-size: calc(15px * var(--pz-hk, 1)); line-height: 1.45; color: var(--bs-secondary-color); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pz-promo-meta { margin-top: auto; display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--bs-secondary-color); }
.pz-promo-meta .pz-avatar { width: 20px; height: 20px; border-radius: 50%; flex-shrink: 0; }
.pz-main-ad { min-width: 0; overflow: hidden; border-radius: var(--pz-radius); }
@media (max-width: 575.98px) {
	.pz-promo-card { flex-direction: column; gap: 12px; padding: 12px; }
	.pz-promo-img { flex-basis: auto; max-width: 100%; }
	.pz-promo-img img { min-height: 0; max-height: 200px; }
	.pz-promo-title { font-size: calc(18px * var(--pz-hk, 1)); }
}

/* «Новости компаний»: the label on posts and the block */
.pz-company-label { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; color: var(--pz-chip); font-weight: 500; white-space: nowrap; }
.pz-company-label:hover { text-decoration: underline; }
.pz-art-kind.pz-kind-company { display: inline-flex; align-items: center; gap: 6px; margin-left: 0; }
.pz-company-news .pz-box-title a:hover { color: var(--pz-chip); }

/* «Опросы и вопросы»: the newest poll without its card chrome, questions, buttons */
.pz-qa .pz-side-card { margin-bottom: 16px; }
.pz-qa .pz-side-card .pz-card { padding: 0; background: none; box-shadow: none; gap: 10px; }
.pz-qa .pz-side-card :is(.pz-card-head, .pz-card-img, .pz-embed, .pz-card-lead, .pz-tags, .pz-card-reacts, .pz-card-foot) { display: none; }
.pz-qa .pz-side-card .pz-card-title { font-size: 16px; }
.pz-qa-list { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-direction: column; gap: 12px; }
.pz-qa-list li { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.35; }
.pz-qa-list a:hover { color: var(--pz-chip); }
.pz-qa-list small, .pz-qa-empty { color: var(--bs-secondary-color); font-size: 13px; }
.pz-qa-empty { margin: -4px 0 14px; font-size: 14px; }
.pz-qa-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.pz-qa-actions .pz-btn-soft { flex: 1 1 auto; height: 36px; padding: 0 12px; font-size: 14px; }

.pz-contact textarea { min-height: 160px; resize: vertical; }

/* «Пожаловаться» */
.pz-report-link { display: flex; align-items: center; gap: 8px; width: 100%; margin-top: 8px; padding: 6px 4px 0; border: 0; border-top: 1px solid var(--pz-line); background: none; color: var(--pz-muted); font-size: 14px; }
.pz-report-link:hover { color: #dc3545; }
.pz-report.modal-content { border: 0; border-radius: 18px; }
.pz-report .modal-header, .pz-report .modal-footer, .pz-modal .modal-header, .pz-modal .modal-footer { border: 0; }
.pz-modal .modal-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 600; }
.pz-modal-check { display: flex; align-items: center; gap: 8px; margin-top: -6px; font-size: 14px !important; font-weight: 400 !important; color: var(--pz-text-2); }
.pz-report .modal-title { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 600; }
.pz-report .modal-body { padding-top: 0; padding-bottom: 0; }
.pz-report-sub { margin: 0 0 8px; color: var(--pz-muted); font-size: 14px; }
.pz-report-opt { display: flex; align-items: center; gap: 10px; padding: 8px 10px; margin: 0 -10px; border-radius: 10px; cursor: pointer; font-size: 15px; }
.pz-report-opt:hover { background: var(--pz-hover); }
.pz-report-opt input { flex-shrink: 0; width: 18px; height: 18px; accent-color: var(--pz-primary); }
.pz-report textarea { margin-top: 10px; border-radius: 12px; font-size: 15px; resize: vertical; }

/* 18+: the mark, and the cover guests get instead of the content */
.pz-18 { display: inline-flex; align-items: center; justify-content: center; height: 18px; padding: 0 5px; margin-left: 6px; border-radius: 5px; background: #e5484d; color: #fff; font-size: 11px; font-weight: 700; line-height: 1; vertical-align: middle; }
.pz-art-kinds .pz-18 { height: 26px; padding: 0 9px; margin-left: 0; border-radius: 8px; font-size: 13px; }
.pz-nsfw-cover .pz-18 { height: 32px; padding: 0 11px; margin: 0; border-radius: 9px; font-size: 16px; }
.pz-nsfw-locked { min-height: 220px; border-radius: 14px; background: linear-gradient(135deg, rgba(229, 72, 77, .14), var(--pz-hover)); }
.pz-art-body.pz-nsfw-locked { min-height: 280px; margin-bottom: 20px; }

/* «Новости СМИ» (inc/smi.php): headlines of other outlets with their logo, tabs by region. */
.pz-smi-tabs { display: flex; gap: 4px; margin: -4px 0 12px; overflow-x: auto; scrollbar-width: none; }
.pz-smi-tabs::-webkit-scrollbar { display: none; }
.pz-smi-tab { flex: 0 0 auto; height: 30px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; font-size: 13px; font-weight: 500; color: color-mix(in srgb, var(--pz-text) 75%, transparent); }
.pz-smi-tab:hover { background: var(--pz-hover); color: var(--pz-text); }
.pz-smi-tab.active { background: var(--pz-card); color: var(--pz-text); box-shadow: 0 1px 4px rgba(30, 35, 50, .12); }
.pz-smi-list { list-style: none; padding: 0; margin: 0; }
.pz-smi-list li + li { margin-top: 12px; }
.pz-smi-list a { display: block; color: inherit; text-decoration: none; }
.pz-smi-list a:hover .pz-smi-title { color: var(--pz-primary); }
.pz-smi-meta { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; font-size: 12px; font-weight: 500; color: color-mix(in srgb, var(--pz-text) 60%, transparent); }
.pz-smi-meta img { flex: 0 0 16px; width: 16px; height: 16px; border-radius: 4px; }
.pz-smi-meta time::before { content: "·"; margin-right: 6px; }
.pz-smi-title { display: block; font-size: 14px; font-weight: 500; line-height: 1.35; }

/* ---------- 1.7: pages in blocks (topics, communities, tags, «Свежее», «Популярное»…) ---------- */
.pz-river { display: flex; flex-direction: column; gap: var(--pz-gap); }
.pz-river-main { min-width: 0; display: flex; flex-direction: column; gap: var(--pz-gap); }
.pz-river-mid { display: none; }
@media (min-width: 1500px) { /* the portal's middle column: the story and the rows on the left, lists next to them */
	.pz-river-split { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--pz-gap); align-items: start; }
	.pz-river-mid { display: flex; flex-direction: column; gap: 20px; }
}
.pz-head-ico .bi { font-size: 34px; color: var(--pz-primary); }
/* The first story: a big picture, the title under it */
.pz-hero { display: flex; flex-direction: column; gap: 12px; }
.pz-hero-img { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: var(--pz-radius); overflow: hidden; background: var(--pz-glass); }
.pz-hero-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pz-hero:hover .pz-hero-img img { transform: scale(1.03); }
.pz-hero-title { margin-top: 4px; font-size: calc(30px * var(--pz-hk, 1)); line-height: 1.2; font-weight: 700; letter-spacing: -.01em; text-wrap: pretty; }
.pz-hero:hover .pz-hero-title { color: var(--pz-chip); }
.pz-hero-lead { font-size: calc(16px * var(--pz-hk, 1)); line-height: 1.5; color: color-mix(in srgb, var(--pz-text) 80%, transparent); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pz-hero-lead:empty { display: none; }
.pz-hero.no-img { padding: 24px; border-radius: var(--pz-radius); background: var(--pz-card); box-shadow: var(--pz-shadow); }
/* Rows: the picture on the left, the title, the author */
.pz-rows { display: flex; flex-direction: column; gap: 20px; }
.pz-row { display: flex; min-height: 165px; border-radius: var(--pz-radius); overflow: hidden; background: var(--pz-card); box-shadow: var(--pz-shadow); }
.pz-row-img { flex: 0 0 220px; overflow: hidden; }
.pz-row-img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.pz-row:hover .pz-row-img img { transform: scale(1.03); }
.pz-row-body { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px; min-width: 0; }
.pz-row-title { font-size: calc(18px * var(--pz-hk, 1)); line-height: 1.4; font-weight: 600; text-wrap: pretty; }
.pz-row:hover .pz-row-title { color: var(--pz-chip); }
.pz-row-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; min-width: 0; max-width: 100%; }
.pz-row.no-img { min-height: 0; }
.pz-row .pz-byline { max-width: 100%; }
.pz-row .pz-byline > span:not(.pz-avatar):not(.pz-dot-sep):not(:last-child) { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* a long name gives way to the time */
.pz-row .pz-byline > span:last-child { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 575.98px) {
	.pz-hero-title { font-size: calc(22px * var(--pz-hk, 1)); }
	.pz-hero-lead { font-size: calc(15px * var(--pz-hk, 1)); }
	.pz-rows { gap: 12px; }
	.pz-row { min-height: 108px; }
	.pz-row-img { flex-basis: 118px; }
	.pz-row-body { gap: 8px; padding: 12px 14px; }
	.pz-row-title { font-size: calc(15px * var(--pz-hk, 1)); line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
	.pz-row-meta .pz-chip { display: none; }
}
