/* ПровансДекор — тема «Прованс»: журнал о доме на льняной бумаге.
   Палитра: молоко и лён, лаванда, оливка, выцветшие серо-голубые ставни, терракота и охра акцентом.
   Шрифты: Prata (заголовки, название журнала), Alegreya Sans (текст), Marck Script (рукописные подписи). OFL, свои woff2. */

@font-face { font-family: "Prata"; font-weight: 400; font-display: swap; src: url(fonts/prata-cyrillic-400-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Prata"; font-weight: 400; font-display: swap; src: url(fonts/prata-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-weight: 400; font-display: swap; src: url(fonts/alegreya-sans-cyrillic-400-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Alegreya Sans"; font-weight: 400; font-display: swap; src: url(fonts/alegreya-sans-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-weight: 400; font-style: italic; font-display: swap; src: url(fonts/alegreya-sans-cyrillic-400-italic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Alegreya Sans"; font-weight: 400; font-style: italic; font-display: swap; src: url(fonts/alegreya-sans-latin-400-italic.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-weight: 500; font-display: swap; src: url(fonts/alegreya-sans-cyrillic-500-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Alegreya Sans"; font-weight: 500; font-display: swap; src: url(fonts/alegreya-sans-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Alegreya Sans"; font-weight: 700; font-display: swap; src: url(fonts/alegreya-sans-cyrillic-700-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Alegreya Sans"; font-weight: 700; font-display: swap; src: url(fonts/alegreya-sans-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Marck Script"; font-weight: 400; font-display: swap; src: url(fonts/marck-script-cyrillic-400-normal.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Marck Script"; font-weight: 400; font-display: swap; src: url(fonts/marck-script-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
	--milk: #f6f1e6;       /* молоко: основа страницы */
	--paper: #fcfaf4;      /* бумага карточек */
	--linen: #ece3d1;      /* лён */
	--linen-d: #d8cbb1;
	--board: #d9ccb2;      /* льняная доска */
	--ink: #3a3128;        /* тёплый тёмно-коричневый текст */
	--ink-2: #5a4e42;
	--muted: #6a5e51;
	--wall: #4a3f35;       /* стены на плане */
	--lav: #8c7cb6;        /* лаванда, декор */
	--lav-d: #54447f;      /* лаванда, текст и ссылки */
	--lav-l: #ebe6f3;
	--olive: #6f7a4a;
	--olive-d: #4a5330;
	--olive-l: #e6e8d2;
	--blue: #8fa7b3;       /* выцветшие ставни */
	--blue-d: #44606e;
	--blue-l: #e0e8eb;
	--terra: #c0683f;
	--terra-d: #94431f;
	--ochre: #d6a650;
	--ochre-l: #f4e6c6;
	--wood: #c9a77c;
	--line: #ddd1bb;
	--shadow: 0 1px 0 rgba(58, 49, 40, .05), 0 14px 30px -18px rgba(70, 50, 25, .45);
	--f-head: "Prata", Georgia, "Times New Roman", serif;
	--f-text: "Alegreya Sans", "Segoe UI", Arial, sans-serif;
	--f-hand: "Marck Script", "Segoe Script", cursive;
	--gut: clamp(16px, 3.4vw, 44px);
	--max: 1360px;
	--linen-tex:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .35 0 0 0 0 .25 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
		repeating-linear-gradient(0deg, rgba(110, 90, 60, .045) 0 1px, transparent 1px 3px),
		repeating-linear-gradient(90deg, rgba(110, 90, 60, .04) 0 1px, transparent 1px 4px);
	--vichy: repeating-linear-gradient(90deg, rgba(140, 124, 182, .5) 0 6px, transparent 6px 12px), repeating-linear-gradient(0deg, rgba(140, 124, 182, .5) 0 6px, rgba(252, 250, 244, .9) 6px 12px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0; min-width: 320px; color: var(--ink); font: 400 17px/1.6 var(--f-text);
	background-color: var(--milk); background-image: var(--linen-tex);
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--lav-d); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--terra-d); }
:focus-visible { outline: 3px solid var(--lav); outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--f-head); font-weight: 400; color: var(--ink); line-height: 1.15; margin: 0; }
p { margin: 0 0 .8em; }
.pv-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pv-skip { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--ink); color: var(--paper); padding: 10px 16px; border-radius: 6px; }
.pv-skip:focus { top: 10px; }
.pv-site { min-height: 100vh; display: flex; flex-direction: column; }
.pv-main { flex: 1; width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gut) 56px; }
.pv-h1 { font-size: clamp(32px, 4.4vw, 54px); letter-spacing: -.005em; }
.pv-h2 { font-size: clamp(26px, 3vw, 38px); }

/* ---------- кнопки */
.pv-btn, .button, input.button, button.button, a.button, input[type="submit"].button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 9px 20px;
	border: 1.5px solid var(--ink); border-radius: 999px; background: var(--paper); color: var(--ink);
	font: 500 16px/1.2 var(--f-text); text-decoration: none; cursor: pointer; transition: background .2s, color .2s, transform .2s;
}
.pv-btn:hover, .button:hover { background: var(--lav-l); color: var(--lav-d); border-color: var(--lav-d); }
.pv-btn--lav, .new_thread_button, .new_reply_button, input.button[type="submit"] { background: var(--lav-d); border-color: var(--lav-d); color: #fff; }
.pv-btn--lav:hover, .new_thread_button:hover, .new_reply_button:hover, input.button[type="submit"]:hover { background: #45376b; color: #fff; }
.button span { display: inline; }
.pv-more { font-weight: 500; font-size: 15px; color: var(--lav-d); }
.pv-more::after { content: " →"; }

/* ---------- метки статуса */
.pv-tag { display: inline-flex; align-items: center; gap: 6px; padding: 2px 10px 2px 8px; border-radius: 4px; font: 700 12.5px/1.5 var(--f-text); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; }
.pv-tag::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pv-tag--idea { background: var(--lav-l); color: var(--lav-d); }
.pv-tag--process { background: var(--ochre-l); color: #7a5212; }
.pv-tag--done { background: var(--olive-l); color: var(--olive-d); }
.pv-tag--help { background: #f5ddd0; color: var(--terra-d); }
.pv-tag--find { background: var(--blue-l); color: var(--blue-d); }

/* ---------- лица и звания */
.pv-face { display: inline-grid; place-items: center; flex: none; border-radius: 50%; overflow: hidden; background: var(--linen); box-shadow: 0 0 0 2px var(--paper), 0 0 0 3px var(--line); }
.pv-face img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv-face--xs { width: 24px; height: 24px; font-size: 10px; }
.pv-face--s { width: 32px; height: 32px; font-size: 12px; }
.pv-face--m { width: 44px; height: 44px; font-size: 16px; }
.pv-face--l { width: 56px; height: 56px; font-size: 20px; }
.pv-face--xl { width: 168px; height: 168px; font-size: 54px; }
.pv-face--mono { font-family: var(--f-head); color: #fff; letter-spacing: .02em; }
.pv-mono-0 { background: #7b6aa8; }
.pv-mono-1 { background: #66713f; }
.pv-mono-2 { background: #4f6c7a; }
.pv-mono-3 { background: #a65a35; }
.pv-rank { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: var(--olive-d); font-weight: 500; }
.pv-rank__sprig { color: var(--olive); flex: none; }
.pv-rank__sprig ellipse { fill: #d6cfe3; }
.pv-rank__sprig ellipse.is-on { fill: var(--lav); }

/* ---------- шапка */
.pv-top { position: relative; z-index: 40; background: var(--paper); border-bottom: 1px solid var(--line); }
.pv-top::before { content: ""; display: block; height: 6px; background: var(--vichy); }
.pv-top__in { max-width: var(--max); margin: 0 auto; padding: 10px var(--gut); display: flex; align-items: center; gap: 14px 24px; }
.pv-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); flex: none; }
.pv-logo__text { display: flex; flex-direction: column; }
.pv-logo__name { font: 400 26px/1 var(--f-head); letter-spacing: -.01em; }
.pv-logo__name i, .pv-mast__name i, .pv-foot__name i { font-style: normal; color: var(--lav-d); }
.pv-logo__sub { font: 400 17px/1.2 var(--f-hand); color: var(--olive-d); margin-top: 3px; }
.pv-top__issue { display: none; margin: 0; font-size: 14px; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.pv-top__issue b { font-weight: 700; color: var(--ink); margin-left: 8px; }
.pv-top__tools { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.pv-search { position: relative; display: flex; align-items: center; }
.pv-search input { width: 270px; height: 42px; padding: 8px 44px 8px 16px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--milk); font: 400 15px var(--f-text); color: var(--ink); }
.pv-search input::placeholder { color: #85786a; }
.pv-search input:focus { outline: none; border-color: var(--lav); box-shadow: 0 0 0 3px var(--lav-l); }
.pv-search__go { position: absolute; right: 4px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--ink-2); cursor: pointer; display: grid; place-items: center; }
.pv-search__go:hover { background: var(--lav-l); color: var(--lav-d); }
.pv-user { display: flex; align-items: center; }
.pv-login { display: inline-flex; align-items: center; min-height: 42px; padding: 8px 18px; border-radius: 999px; border: 1.5px solid var(--ink); color: var(--ink); text-decoration: none; font-weight: 500; }
.pv-login:hover { background: var(--lav-l); color: var(--lav-d); border-color: var(--lav-d); }
.pv-me { position: relative; }
.pv-me summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; padding: 4px 12px 4px 4px; border-radius: 999px; border: 1.5px solid var(--line); }
.pv-me summary::-webkit-details-marker { display: none; }
.pv-me__name { font-weight: 500; max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pv-pm { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--terra); color: #fff; font-size: 12px; }
.pv-pm[data-n="0"] { display: none; }
.pv-me__drop { position: absolute; right: 0; top: calc(100% + 8px); min-width: 220px; margin: 0; padding: 8px 0; list-style: none; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }
.pv-me__drop a { display: block; padding: 8px 16px; color: var(--ink); text-decoration: none; }
.pv-me__drop a:hover { background: var(--lav-l); color: var(--lav-d); }

/* план дома в шапке: кнопка и выезжающая панель */
.pv-drawer { position: static; }
.pv-drawer__btn { list-style: none; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 16px; border-radius: 999px; background: var(--olive-l); color: var(--olive-d); font-weight: 700; cursor: pointer; border: 1.5px solid #c9cda7; }
.pv-drawer__btn::-webkit-details-marker { display: none; }
.pv-drawer__btn:hover, .pv-drawer[open] .pv-drawer__btn { background: var(--olive-d); color: #fff; border-color: var(--olive-d); }
.pv-drawer__panel { position: absolute; left: 0; right: 0; top: 100%; z-index: 50; max-height: calc(100vh - 90px); overflow: auto; background: var(--milk); background-image: var(--linen-tex); border-bottom: 1px solid var(--line); box-shadow: 0 24px 40px -24px rgba(60, 40, 20, .5); }
.pv-drawer__head { max-width: var(--max); margin: 0 auto; padding: 16px var(--gut) 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.pv-drawer__t { margin: 0; font: 400 24px/1.2 var(--f-head); }
.pv-drawer__x { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--ink); background: var(--paper); font-size: 26px; line-height: 1; cursor: pointer; color: var(--ink); }
.pv-drawer__body { max-width: var(--max); margin: 0 auto; padding: 12px var(--gut) 24px; }
.pv-drawer__body .pv-plan__frame { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(260px, 1fr); gap: 20px; align-items: start; }

/* компактный план-полоса: крылья дома, комнаты со стенами и проёмами */
.pv-strip { background: var(--milk); border-top: 1px solid var(--line); }
.pv-strip__in { max-width: var(--max); margin: 0 auto; padding: 8px var(--gut) 12px; display: flex; gap: 14px; }
.pv-strip__wing { display: flex; flex-direction: column; min-width: 0; }
.pv-strip__wing--komnaty { flex: 6 1 0; }
.pv-strip__wing--cvet { flex: 3 1 0; }
.pv-strip__wing--svoimi-rukami { flex: 4 1 0; }
.pv-strip__wing--obshchenie { flex: 3.2 1 0; }
.pv-strip__cap { font: 700 12px/1.2 var(--f-text); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); text-decoration: none; margin: 0 0 5px 2px; }
.pv-strip__cap:hover, .pv-strip__wing.is-in .pv-strip__cap { color: var(--lav-d); }
.pv-strip__rooms { display: flex; border: 3px solid var(--wall); background: var(--paper); border-radius: 2px; }
.pv-strip__wing--obshchenie .pv-strip__rooms { border-style: dashed; border-color: var(--olive); border-radius: 12px; background: #eef0de; }
.pv-strip__room { position: relative; flex: 1 1 auto; min-width: 0; padding: 9px 6px 10px; text-align: center; font: 500 14.5px/1.15 var(--f-text); color: var(--ink); text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pv-strip__room + .pv-strip__room { border-left: 2px solid var(--wall); }
.pv-strip__wing--obshchenie .pv-strip__room + .pv-strip__room { border-left: 1.5px dashed var(--olive); }
.pv-strip__room::after { content: ""; position: absolute; left: 50%; bottom: -3px; width: 26px; height: 3px; margin-left: -13px; background: var(--paper); }
.pv-strip__wing--obshchenie .pv-strip__room::after { display: none; }
.pv-strip__room:hover { background: var(--lav-l); color: var(--lav-d); }
.pv-strip__room:hover::after { background: var(--lav-l); }
.pv-strip__room.is-on { background: var(--lav-d); color: #fff; }
.pv-strip__room.is-on::after { background: var(--lav-d); }
.pv-page--index .pv-strip { display: none; }

/* крошки */
.pv-crumbs-wrap { max-width: var(--max); width: 100%; margin: 0 auto; padding: 14px var(--gut) 0; }
.pv-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 14px; color: var(--muted); }
.pv-crumbs a { color: var(--ink-2); text-decoration: none; }
.pv-crumbs a:hover { color: var(--lav-d); text-decoration: underline; }
.pv-crumbs .active { color: var(--ink); }
.pv-crumbs__sep { color: var(--lav); }
.pv-page--index .pv-crumbs-wrap { display: none; }

/* ---------- главная: обложка журнала */
.pv-page--index .pv-logo { display: none; }
.pv-page--index .pv-top__issue { display: block; }
.pv-cover { padding: 26px 0 30px; }
.pv-mast { text-align: center; padding: 14px 0 16px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); box-shadow: 0 -5px 0 -4px var(--ink), 0 5px 0 -4px var(--ink); margin: 0 0 30px; }
.pv-mast__name { display: block; font: 400 clamp(40px, 10.6vw, 150px)/.95 var(--f-head); letter-spacing: -.02em; }
.pv-mast__sub { display: block; margin-top: 10px; font: 400 clamp(21px, 2.4vw, 30px)/1.2 var(--f-hand); color: var(--olive-d); }
.pv-cover__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 4vw, 60px); align-items: center; }
.pv-cover__issue { margin: 0 0 12px; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.pv-cover__issue span { color: var(--lav-d); font-weight: 700; }
.pv-cover__lede { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.55; color: var(--ink-2); max-width: 36em; }
.pv-cover__h { margin: 26px 0 8px; font: 400 15px/1 var(--f-text); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--terra-d); }
.pv-cover__lines { list-style: none; margin: 0; padding: 0; counter-reset: cl; }
.pv-cover__lines li { counter-increment: cl; display: grid; grid-template-columns: 52px 1fr; column-gap: 8px; padding: 12px 0; border-top: 1px solid var(--line); }
.pv-cover__lines li::before { content: "0" counter(cl); grid-row: span 2; font: 400 30px/1 var(--f-head); color: var(--lav); }
.pv-cover__rub { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--olive-d); font-weight: 700; }
.pv-cover__lines a { font: 400 19px/1.3 var(--f-head); color: var(--ink); text-decoration: none; }
.pv-cover__lines a:hover { color: var(--lav-d); text-decoration: underline; }
.pv-cover__act { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
.pv-cover__art { margin: 0; position: relative; }
.pv-window { display: block; width: 100%; height: auto; border-radius: 48% 48% 8px 8px / 20% 20% 8px 8px; box-shadow: var(--shadow), 0 0 0 10px var(--paper), 0 0 0 11px var(--line); }
.pv-cover__cap { margin-top: 18px; text-align: center; font: 400 19px/1.3 var(--f-hand); color: var(--ink-2); }
.pv-shutter { transform-box: fill-box; animation: pv-open 2s .35s cubic-bezier(.3, .7, .2, 1) both; }
.pv-shutter--l { transform-origin: 100% 50%; }
.pv-shutter--r { transform-origin: 0 50%; animation-delay: .5s; }
.pv-sway { transform-box: fill-box; transform-origin: 50% 100%; animation: pv-sway 6s ease-in-out infinite alternate; }
.pv-curtain { transform-box: fill-box; transform-origin: 50% 0; animation: pv-breeze 7s ease-in-out infinite alternate; }
@keyframes pv-open { 0% { transform: scaleX(-1); } 100% { transform: scaleX(1); } }
@keyframes pv-sway { 0% { transform: rotate(-2.2deg); } 100% { transform: rotate(2.4deg); } }
@keyframes pv-breeze { 0% { transform: skewX(0deg); } 100% { transform: skewX(-1.6deg); } }

/* «фолио» — заголовок журнальной полосы */
.pv-folio { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 16px; padding: 0 0 12px; margin: 0 0 24px; border-bottom: 1px solid var(--ink); }
.pv-folio > span { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding-bottom: 6px; }
.pv-folio > span:last-child { text-align: right; }
.pv-folio .pv-h2 { text-align: center; }
.pv-folio--toile { position: relative; padding-top: 70px; border-bottom: 0; }
.pv-folio--toile::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 56px; background: var(--toile) center / 240px auto repeat-x; opacity: .9; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }

/* разворот «В этом номере» */
.pv-spread { margin: 34px 0 56px; }
.pv-spread__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.5fr) minmax(0, .8fr); gap: 0; }
.pv-spread__grid > * { padding: 0 clamp(16px, 2vw, 28px); }
.pv-spread__grid > * + * { border-left: 1px solid var(--line); }
.pv-spread__grid > :first-child { padding-left: 0; }
.pv-spread__grid > :last-child { padding-right: 0; }
.pv-spread__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 28px; align-content: start; }
.pv-art__rub { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pv-art__rub a { color: var(--olive-d); text-decoration: none; }
.pv-art__rub a:hover { color: var(--lav-d); text-decoration: underline; }
.pv-art__t { font-size: 21px; line-height: 1.25; margin: 0 0 8px; }
.pv-art__t a { color: var(--ink); text-decoration: none; }
.pv-art__t a:hover { color: var(--lav-d); }
.pv-art__lead { color: var(--ink-2); font-size: 16px; line-height: 1.55; margin: 0 0 10px; }
.pv-art__by { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; color: var(--muted); }
.pv-art__by span { display: flex; flex-direction: column; line-height: 1.35; }
.pv-art__by b { color: var(--ink); font-weight: 700; }
.pv-art__by a { color: var(--lav-d); }
.pv-art--main .pv-art__t { font-size: clamp(26px, 2.2vw, 32px); line-height: 1.15; margin-bottom: 16px; }
.pv-art--main .pv-art__lead { font-size: 18px; line-height: 1.6; }
.pv-art--main .pv-art__lead::first-letter { float: left; font: 400 64px/.82 var(--f-head); color: var(--lav-d); margin: 6px 10px 0 0; }
.pv-art--main::before { content: ""; display: block; height: 220px; margin: 0 0 18px; border-radius: 6px; background:
	radial-gradient(circle at 74% 30%, #fbe3a6 0 22px, rgba(246, 213, 143, .55) 23px 60px, transparent 61px),
	linear-gradient(176deg, transparent 0 44%, #c9c08f 44% 50%, transparent 50%),
	repeating-linear-gradient(100deg, #8b79b7 0 14px, #8f9a5f 14px 22px) 0 100% / 100% 50% no-repeat,
	linear-gradient(#f7ecd2, #eed9b2); box-shadow: inset 0 0 0 8px var(--paper), 0 0 0 1px var(--line); }
.pv-art--col { padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.pv-short__h { font: 700 14px/1 var(--f-text); letter-spacing: .14em; text-transform: uppercase; color: var(--terra-d); margin: 0 0 12px; }
.pv-short__list { list-style: none; margin: 0 0 16px; padding: 0; }
.pv-short__list li { padding: 10px 0; border-bottom: 1px dashed var(--line); }
.pv-short__t { display: block; font: 400 16.5px/1.3 var(--f-head); color: var(--ink); text-decoration: none; }
.pv-short__t:hover { color: var(--lav-d); text-decoration: underline; }
.pv-short__m { display: block; margin-top: 3px; font-size: 13.5px; color: var(--muted); }

/* ---------- план дома (навигация) */
.pv-plan { margin: 0 0 60px; }
.pv-plan__sub { max-width: 52em; color: var(--ink-2); margin: -6px 0 20px; }
.pv-plan__wrap { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(260px, 1fr); gap: 24px; align-items: start; }
.pv-plan__frame { padding: 16px; border-radius: 8px; background: var(--paper); box-shadow: var(--shadow); background-image: linear-gradient(rgba(143, 167, 179, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(143, 167, 179, .12) 1px, transparent 1px); background-size: 20px 20px; }
.pv-plan__svg { display: block; width: 100%; height: auto; }
.pv-z { cursor: pointer; }
.pv-z__floor { stroke: none; transition: fill .2s; }
.pv-z--ochre .pv-z__floor { fill: #f4e7c9; }
.pv-z--lav .pv-z__floor { fill: #ebe5f2; }
.pv-z--milk .pv-z__floor { fill: #f8f3e8; }
.pv-z--olive .pv-z__floor { fill: #eaebd7; }
.pv-z--blue .pv-z__floor { fill: #e2eaed; }
.pv-z--deck .pv-z__floor { fill: var(--deck); }
.pv-z--grass .pv-z__floor { fill: var(--grass); }
.pv-z__t { font: 400 21px var(--f-head); fill: var(--ink); text-anchor: middle; }
.pv-z__t--s { font-size: 16px; }
.pv-z__n { font: 500 14px var(--f-text); fill: var(--muted); text-anchor: middle; }
.pv-ico { fill: none; stroke: #8b7c69; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: stroke .2s; }
.pv-ico__lav { stroke: var(--lav); stroke-width: 3; }
.pv-ico__fire { fill: var(--ochre); stroke: var(--terra); }
.pv-ico__s1 { fill: var(--lav-l); } .pv-ico__s2 { fill: var(--olive-l); } .pv-ico__s3 { fill: var(--blue-l); }
.pv-z:hover .pv-z__floor, .pv-z:focus-visible .pv-z__floor, .pv-z.is-on .pv-z__floor { fill: #d9cfec; }
.pv-z:hover .pv-z__t, .pv-z:focus-visible .pv-z__t, .pv-z.is-on .pv-z__t { fill: var(--lav-d); }
.pv-z:hover .pv-ico, .pv-z:focus-visible .pv-ico { stroke: var(--lav-d); }
.pv-z:focus-visible { outline: none; }
.pv-z:focus-visible .pv-z__floor { stroke: var(--lav-d); stroke-width: 5; }
.pv-wall { fill: none; stroke: var(--wall); stroke-width: 5; pointer-events: none; }
.pv-wall--out { stroke-width: 9; }
.pv-door { stroke: #f8f3e8; stroke-width: 7; }
.pv-swing { stroke: var(--wall); stroke-width: 1.3; stroke-dasharray: 4 4; }
.pv-win { stroke: var(--blue); stroke-width: 9; }
.pv-rail { stroke: var(--wall); stroke-width: 3; stroke-dasharray: 2 6; }
.pv-annex rect { fill: none; stroke: var(--wall); stroke-width: 4; pointer-events: none; }
.pv-annex rect:last-child { stroke: var(--olive); stroke-dasharray: 10 6; }
.pv-plan__cap text { font: 700 14px var(--f-text); letter-spacing: .08em; text-transform: uppercase; fill: var(--olive-d); }
.pv-plan__cap:hover text { fill: var(--lav-d); text-decoration: underline; }
.pv-compass circle { fill: var(--paper); stroke: var(--wall); stroke-width: 1.5; }
.pv-compass path { fill: var(--terra); }
.pv-compass text { font: 700 13px var(--f-text); fill: var(--wall); text-anchor: middle; }
.pv-rooms { display: grid; gap: 14px; }
.pv-rooms__g ul { list-style: none; margin: 0; padding: 0; }
.pv-rooms__h { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 0 0 6px; border-bottom: 1px solid var(--ink); font: 400 20px/1.2 var(--f-head); color: var(--ink); text-decoration: none; }
.pv-rooms__h span { font: 400 13px/1.2 var(--f-text); color: var(--muted); text-align: right; }
.pv-rooms__h:hover { color: var(--lav-d); }
.pv-roomlink { display: flex; justify-content: space-between; gap: 10px; padding: 7px 4px; border-bottom: 1px dotted var(--linen-d); color: var(--ink); text-decoration: none; font-size: 16px; }
.pv-roomlink b { font-weight: 500; color: var(--muted); font-size: 14px; }
.pv-roomlink:hover, .pv-roomlink.is-on { color: var(--lav-d); background: var(--lav-l); }

/* ---------- конструктор комнаты */
.pv-studio { margin: 0 0 64px; }
.pv-studio__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: clamp(20px, 3vw, 40px); align-items: start; }
.pv-studio__stage { padding: 12px; background: #efe7d6; border-radius: 6px; box-shadow: var(--shadow), inset 0 0 0 1px #e0d4bd; }
.pv-room { display: block; width: 100%; height: auto; border-radius: 3px; background: #f3ecdd; }
.pv-room { --wall: #f3ecdd; --wall-d: #e6dcc7; --vx: #8c7cb6; --fl: #c98fb4; --tx: url(#tx-vichy); --fn: #9fb4bd; --fn-d: #89a0aa; --fn-ov: url(#fin-rub); }
.pv-room[data-wall="milk"] { --wall: #f3ecdd; --wall-d: #e6dcc7; --vx: #8c7cb6; --fl: #b98ab8; }
.pv-room[data-wall="lav"] { --wall: #d9d0e6; --wall-d: #c8bddb; --vx: #6f8a5a; --fl: #8c7cb6; }
.pv-room[data-wall="olive"] { --wall: #d6d8b6; --wall-d: #c4c79f; --vx: #8c7cb6; --fl: #b2704f; }
.pv-room[data-wall="blue"] { --wall: #cbd8dd; --wall-d: #b6c8cf; --vx: #5d7a88; --fl: #c98fb4; }
.pv-room[data-wall="ochre"] { --wall: #ecd6a8; --wall-d: #dcc18c; --vx: #b0683f; --fl: #8c7cb6; }
.pv-room[data-wall="clay"] { --wall: #e9d0c1; --wall-d: #dbbba8; --vx: #a35d45; --fl: #6f7a4a; }
.pv-room[data-fin="patina"] { --fn: #ddd3c1; --fn-d: #cbbfa8; --fn-ov: url(#fin-patina); }
.pv-room[data-fin="blue"] { --fn: #9fb4bd; --fn-d: #89a0aa; --fn-ov: url(#fin-rub); }
.pv-room[data-fin="wood"] { --fn: #c49a6c; --fn-d: #ad8456; --fn-ov: url(#fin-grain); }
.pv-room[data-fin="crack"] { --fn: #efe3c4; --fn-d: #e0cfa8; --fn-ov: url(#fin-crack); }
.pv-room[data-tx="linen"] { --tx: url(#tx-linen); }
.pv-room[data-tx="vichy"] { --tx: url(#tx-vichy); }
.pv-room[data-tx="floral"] { --tx: url(#tx-floral); }
.pv-room .wall { fill: var(--wall); transition: fill .5s; }
.pv-room .wall-d { fill: var(--wall-d); transition: fill .5s; }
.pv-room .vx { fill: var(--vx); }
.pv-room .fl { fill: var(--fl); }
.pv-room .tx { fill: var(--tx); stroke: rgba(58, 49, 40, .18); stroke-width: 1.5; }
.pv-room .fn { fill: var(--fn); transition: fill .4s; }
.pv-room .fn-d { fill: var(--fn-d); stroke: rgba(58, 49, 40, .16); stroke-width: 1.5; transition: fill .4s; }
.pv-room .fn-ov { fill: var(--fn-ov); pointer-events: none; }
.pv-r, .acc { display: none; }
.pv-room[data-room="kitchen"] .pv-r--kitchen, .pv-room[data-room="bed"] .pv-r--bed, .pv-room[data-room="living"] .pv-r--living { display: inline; }
.pv-room[data-acc="lav"] .acc--lav, .pv-room[data-acc="sun"] .acc--sun, .pv-room[data-acc="dry"] .acc--dry { display: inline; }
.pv-rwin { transition: transform .6s ease; }
.pv-room[data-room="kitchen"] .pv-rwin { transform: translate(505px, 70px); }
.pv-room[data-room="bed"] .pv-rwin { transform: translate(40px, 66px); }
.pv-room[data-room="living"] .pv-rwin { transform: translate(208px, 56px); }
.pv-rsh { transform-box: fill-box; transition: transform 1.6s cubic-bezier(.3, .7, .2, 1) .2s; }
.pv-rsh--l { transform-origin: 100% 50%; }
.pv-rsh--r { transform-origin: 0 50%; }
.pv-js .pv-room:not(.is-seen) .pv-rsh { transform: scaleX(-1); transition: none; }
.pv-acc-sway { transform-box: fill-box; transform-origin: 50% 100%; animation: pv-sway 5s ease-in-out infinite alternate; }

.pv-studio__ctl { display: grid; gap: 14px; }
.pv-ctl { margin: 0; padding: 0; border: 0; min-width: 0; }
.pv-ctl legend { padding: 0; margin: 0 0 8px; font: 400 19px/1.2 var(--f-head); color: var(--ink); }
.pv-ctl input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pv-seg { display: inline-flex; flex-wrap: wrap; border: 1.5px solid var(--ink); border-radius: 999px; overflow: hidden; background: var(--paper); }
.pv-seg label { cursor: pointer; }
.pv-seg span { display: block; padding: 9px 20px; font-weight: 500; }
.pv-seg label + label span { border-left: 1.5px solid var(--ink); }
.pv-seg input:checked + span { background: var(--lav-d); color: #fff; }
.pv-seg input:focus-visible + span { outline: 3px solid var(--lav); outline-offset: -5px; }
.pv-sw-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.pv-sw { display: flex; flex-direction: column; align-items: center; gap: 5px; cursor: pointer; font-size: 13.5px; color: var(--ink-2); text-align: center; }
.pv-sw i { display: block; width: 46px; height: 46px; border-radius: 50%; background: var(--c); box-shadow: inset 0 0 0 1px rgba(58, 49, 40, .18), 0 0 0 3px var(--paper), 0 0 0 4px var(--line); transition: box-shadow .2s; }
.pv-sw input:checked + i { box-shadow: inset 0 0 0 1px rgba(58, 49, 40, .2), 0 0 0 3px var(--paper), 0 0 0 6px var(--lav-d); }
.pv-sw input:checked ~ span { color: var(--lav-d); font-weight: 700; }
.pv-sw input:focus-visible + i { outline: 3px dashed var(--lav); outline-offset: 8px; }
.pv-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pv-chips label { cursor: pointer; }
.pv-chips span { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 6px 14px 6px 8px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--paper); font-size: 15px; }
.pv-studio__ctl fieldset:last-child .pv-chips span { padding-left: 14px; }
.pv-chips input:checked + span { border-color: var(--lav-d); background: var(--lav-l); color: var(--lav-d); font-weight: 700; }
.pv-chips input:focus-visible + span { outline: 3px solid var(--lav); outline-offset: 2px; }
.pv-fin, .pv-txs { width: 26px; height: 26px; border-radius: 50%; flex: none; box-shadow: inset 0 0 0 1px rgba(58, 49, 40, .2); }
.pv-fin--patina { background: repeating-linear-gradient(170deg, #f8f4ea 0 3px, #d3c7b1 3px 6px); }
.pv-fin--blue { background: radial-gradient(circle at 30% 30%, #c9a679 0 3px, transparent 4px), #9fb4bd; }
.pv-fin--wood { background: repeating-linear-gradient(80deg, #c49a6c 0 4px, #a97f52 4px 5px); }
.pv-fin--crack { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26'%3E%3Cpath d='M0 8l7 2 6-5 8 4 5-2 M7 10l-1 8 7 5 9-3 M13 5l-2-5 M20 9l2 11' stroke='%23a7875a' fill='none'/%3E%3C/svg%3E"), #efe3c4; }
.pv-txs--linen { background: repeating-linear-gradient(0deg, #ddd1b8 0 1px, #ebe2cf 1px 3px); }
.pv-txs--vichy { background: repeating-linear-gradient(90deg, rgba(140, 124, 182, .55) 0 4px, transparent 4px 8px), repeating-linear-gradient(0deg, rgba(140, 124, 182, .55) 0 4px, #f7f2e7 4px 8px); }
.pv-txs--floral { background: radial-gradient(circle at 35% 35%, #c98fb4 0 3px, transparent 4px), radial-gradient(circle at 70% 70%, #c98fb4 0 3px, transparent 4px), #f5efe2; }

.pv-recipe { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: clamp(20px, 3vw, 40px); margin-top: 26px; }
.pv-recipe__card { padding: 22px 24px; background: var(--paper); border-radius: 6px; box-shadow: var(--shadow); position: relative; }
.pv-recipe__card::before { content: ""; position: absolute; left: 50%; top: -10px; width: 120px; height: 22px; margin-left: -60px; background: var(--vichy); opacity: .85; transform: rotate(-2deg); }
.pv-recipe__k { margin: 0 0 4px; font: 400 22px/1 var(--f-hand); color: var(--olive-d); }
.pv-recipe__t { font-size: 22px; margin: 0 0 16px; }
.pv-recipe__pal { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.pv-recipe__pal li { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.pv-recipe__pal i { display: block; height: 70px; background: var(--c); border-bottom: 1px solid var(--line); }
.pv-recipe__pal b { display: block; padding: 8px 10px 2px; font: 400 15px/1.2 var(--f-head); }
.pv-recipe__pal span { display: block; padding: 0 10px 10px; font-size: 13.5px; line-height: 1.35; color: var(--ink-2); }
.pv-recipe__tips { padding: 4px 0 0; }
.pv-recipe__h { font-size: 21px; margin: 0 0 10px; }
.pv-recipe__tips ul { list-style: none; margin: 0 0 16px; padding: 0; }
.pv-recipe__tips li { position: relative; padding: 0 0 10px 26px; color: var(--ink-2); line-height: 1.5; }
.pv-recipe__tips li::before { content: ""; position: absolute; left: 4px; top: 4px; width: 12px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath d='M6 1v15' stroke='%236f7a4a'/%3E%3Cg fill='%238c7cb6'%3E%3Cellipse cx='4' cy='3' rx='2' ry='1.4' transform='rotate(-30 4 3)'/%3E%3Cellipse cx='8' cy='5' rx='2' ry='1.4' transform='rotate(30 8 5)'/%3E%3Cellipse cx='4' cy='7' rx='2' ry='1.4' transform='rotate(-30 4 7)'/%3E%3Cellipse cx='8' cy='9' rx='2' ry='1.4' transform='rotate(30 8 9)'/%3E%3C/g%3E%3C/svg%3E") no-repeat; }
.pv-recipe__links { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.pv-recipe__links a { display: inline-flex; align-items: center; min-height: 38px; padding: 6px 14px; border-radius: 999px; background: var(--olive-l); color: var(--olive-d); font-weight: 700; font-size: 15px; text-decoration: none; }
.pv-recipe__links a:hover { background: var(--olive-d); color: #fff; }

/* рубрики */
.pv-rubrics { margin: 0 0 30px; }
.pv-rubrics__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.pv-rubrics__grid > .pv-rub { padding: 0 20px; }
.pv-rubrics__grid > .pv-rub + .pv-rub { border-left: 1px solid var(--line); }
.pv-rubrics__grid > .pv-rub:first-child { padding-left: 0; }
.pv-rubrics__grid > .pv-rub:last-child { padding-right: 0; }
.pv-rub__t { font-size: 24px; margin: 0 0 10px; padding-bottom: 10px; border-bottom: 3px double var(--ink); }
.pv-rub__t a { color: var(--ink); text-decoration: none; }
.pv-rub__t a:hover { color: var(--lav-d); }
.pv-rub__list { list-style: none; margin: 0; padding: 0; }
.pv-frow { padding: 12px 0; border-bottom: 1px solid var(--line); display: grid; gap: 4px; }
.pv-frow__t { font: 400 18px/1.25 var(--f-head); color: var(--ink); text-decoration: none; }
.pv-frow__t:hover { color: var(--lav-d); text-decoration: underline; }
.pv-new { display: inline-block; width: 9px; height: 9px; margin-left: 8px; border-radius: 50%; vertical-align: middle; }
.pv-new--on { background: var(--terra); }
.pv-new--off, .pv-new--offlock { background: transparent; }
.pv-frow__d { margin: 2px 0 0; font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.pv-frow__last { margin: 4px 0 0; font-size: 14px; }
.pv-frow__lt { display: flex; flex-direction: column; }
.pv-frow__lt a { color: var(--lav-d); overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pv-frow__lt span { color: var(--muted); font-size: 13.5px; }
.pv-frow__lt--none { color: var(--muted); font-style: italic; }
.pv-frow__n { margin: 2px 0 0; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13.5px; color: var(--muted); }
.pv-frow__n b { color: var(--ink); font-weight: 700; }

/* ---------- раздел: оглавление журнала */
.pv-fhead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 30px; margin: 18px 0 26px; padding: 26px clamp(18px, 3vw, 36px) 24px; background: var(--paper); border-radius: 6px; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.pv-fhead::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 8px; background: var(--vichy); }
.pv-fhead__txt { max-width: 860px; }
.pv-fhead__k { margin: 0 0 6px; font: 400 23px/1.1 var(--f-hand); color: var(--olive-d); }
.pv-fhead__d { margin: 12px 0 8px; font-size: 18px; color: var(--ink-2); }
.pv-fhead__n { margin: 0; font-size: 14.5px; color: var(--muted); }
.pv-fhead__n b { color: var(--ink); }
.pv-toc { background: var(--paper); border-radius: 6px; box-shadow: var(--shadow); padding: 22px clamp(16px, 3vw, 36px) 10px; }
.pv-toc__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding-bottom: 14px; border-bottom: 1px solid var(--ink); }
.pv-toc__h { font-size: 26px; }
.pv-filter { display: flex; flex-wrap: wrap; gap: 6px; }
.pv-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 6px 13px; border-radius: 999px; border: 1.5px solid var(--line); background: var(--milk); color: var(--ink); font: 500 14.5px var(--f-text); cursor: pointer; }
.pv-chip i { width: 9px; height: 9px; border-radius: 50%; }
.pv-chip--idea i { background: var(--lav); } .pv-chip--process i { background: var(--ochre); } .pv-chip--done i { background: var(--olive); } .pv-chip--help i { background: var(--terra); } .pv-chip--find i { background: var(--blue); }
.pv-chip__n { color: var(--muted); font-size: 13px; }
.pv-chip:hover { border-color: var(--lav-d); }
.pv-chip.is-on { background: var(--lav-d); border-color: var(--lav-d); color: #fff; }
.pv-chip.is-on .pv-chip__n { color: #e3ddf0; }
.pv-sort { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 12px 0 2px; font-size: 14px; color: var(--muted); }
.pv-toc__list { list-style: none; margin: 0; padding: 0; }
.pv-entry { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 4px 18px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--line); }
.pv-entry[hidden] { display: none; }
.pv-entry__no { font: 400 30px/1 var(--f-head); color: var(--lav); padding-top: 4px; }
.pv-entry__top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0 0 6px; font-size: 13.5px; color: var(--muted); }
.pv-entry__h { font-size: 22px; line-height: 1.25; margin: 0 0 6px; }
.pv-entry__t { color: var(--ink); text-decoration: none; }
.pv-entry__t:hover { color: var(--lav-d); text-decoration: underline; }
.pv-entry__lead { margin: 0 0 8px; color: var(--ink-2); font-size: 16px; line-height: 1.5; max-width: 62em; }
.pv-entry__lead:empty { display: none; }
.pv-entry__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; font-size: 14px; color: var(--muted); }
.pv-entry__meta a { color: var(--ink); font-weight: 700; text-decoration: none; }
.pv-entry__n { display: flex; align-items: baseline; gap: 6px; min-width: 150px; padding-top: 34px; text-decoration: none; color: var(--muted); font-size: 14px; }
.pv-entry__dots { flex: 1; border-bottom: 2px dotted var(--linen-d); min-width: 30px; transform: translateY(-4px); }
.pv-entry__n b { font: 400 24px/1 var(--f-head); color: var(--ink); }
.pv-entry__n:hover b { color: var(--lav-d); }
.pv-entry__mod { grid-column: 3; }
.pv-sep { padding: 14px 0 4px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--terra-d); border-bottom: 1px solid var(--line); }
.pv-pages { font-size: 14px; font-family: var(--f-text); margin-left: 8px; }
.pv-empty { padding: 18px 0; color: var(--muted); font-style: italic; list-style: none; }
.pv-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 20px; margin: 18px 0; }
.pv-bar__r { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.pv-rub--sub { background: var(--paper); border-radius: 6px; box-shadow: var(--shadow); padding: 8px clamp(16px, 3vw, 36px); margin: 0 0 24px; }
.pv-rub--sub .pv-rub__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 0 28px; }

/* ---------- тема: заметки на льняной доске */
.pv-board { margin: 18px calc(-1 * var(--gut)) 0; padding: 28px var(--gut) 36px; background-color: var(--board); background-image: var(--linen-tex), repeating-linear-gradient(45deg, rgba(255, 255, 255, .05) 0 2px, transparent 2px 5px); border-top: 14px solid #efe8da; border-bottom: 14px solid #efe8da; box-shadow: inset 0 10px 20px -12px rgba(60, 40, 20, .35), 0 1px 0 var(--line); }
.pv-thead { max-width: 960px; margin: 6px auto 30px; padding: 30px clamp(20px, 4vw, 48px) 26px; background: var(--paper); box-shadow: var(--shadow); position: relative; text-align: center; }
.pv-thead::before, .pv-thead::after { content: ""; position: absolute; top: -12px; width: 110px; height: 26px; background: var(--vichy); opacity: .85; }
.pv-thead::before { left: 18px; transform: rotate(-4deg); }
.pv-thead::after { right: 18px; transform: rotate(3deg); }
.pv-thead__k { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px 12px; margin: 0 0 12px; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pv-thead__k a { color: var(--olive-d); text-decoration: none; }
.pv-thead__k a:hover { text-decoration: underline; }
.pv-thead__h1 { font-size: clamp(28px, 3.4vw, 44px); }
.pv-thead__meta { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 20px; margin: 16px 0 0; font-size: 15px; color: var(--muted); }
.pv-thead__meta b { color: var(--ink); }
.pv-thead__by { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); }
.pv-bar--board { max-width: 900px; margin-left: auto; margin-right: auto; }
.pv-notes { max-width: 860px; margin: 0 auto; padding: 10px 0 0; }
.pv-note { position: relative; margin: 0 0 38px; padding: 26px 30px 16px; background: var(--paper); box-shadow: 0 1px 0 rgba(58, 49, 40, .06), 0 16px 26px -16px rgba(60, 40, 20, .55); }
.pv-note--r1 { transform: rotate(-.55deg) translateX(-18px); }
.pv-note--r2 { transform: rotate(.45deg) translateX(22px); background: #fbf8ee; }
.pv-note--r3 { transform: rotate(-.25deg) translateX(10px); }
.pv-note--r4 { transform: rotate(.6deg) translateX(-24px); background: #fdfaf2; }
.pv-note--op { box-shadow: inset 4px 0 0 var(--lav), 0 16px 26px -16px rgba(60, 40, 20, .55); }
.pv-note--main { margin: 0 -30px 46px; padding: 40px clamp(22px, 4vw, 52px) 22px; background: var(--paper); }
.pv-note--main .pv-note__body { font-size: 19px; line-height: 1.7; }
.pv-note--main .pv-note__body::first-letter { float: left; font: 400 66px/.8 var(--f-head); color: var(--lav-d); margin: 8px 12px 0 0; }
.pv-hold { position: absolute; pointer-events: none; }
.pv-hold--pin { left: 50%; top: -10px; width: 26px; height: 26px; margin-left: -13px; border-radius: 50%; background: radial-gradient(circle at 35% 32%, #b7a9da 0 3px, #7b6aa8 4px 9px, #54447f 10px 13px); box-shadow: 2px 5px 6px rgba(40, 25, 10, .35); }
.pv-note--r3 .pv-hold--pin { background: radial-gradient(circle at 35% 32%, #f1b896 0 3px, #c0683f 4px 9px, #94431f 10px 13px); }
.pv-hold--tape { left: 50%; top: -13px; width: 130px; height: 28px; margin-left: -65px; background: var(--vichy); opacity: .82; transform: rotate(-2.5deg); box-shadow: 0 2px 3px rgba(40, 25, 10, .12); }
.pv-note--main .pv-hold--tape { left: 30px; margin-left: 0; transform: rotate(-5deg); }
.pv-note--main::after { content: ""; position: absolute; right: 30px; top: -12px; width: 130px; height: 28px; background: var(--vichy); opacity: .82; transform: rotate(4deg); }
.pv-hold--clip { right: 70px; top: -26px; width: 18px; height: 54px; border-radius: 4px 4px 3px 3px; background: linear-gradient(90deg, #c9a77c, #e3c9a0 40%, #b58e60); box-shadow: 2px 4px 5px rgba(40, 25, 10, .3); }
.pv-hold--clip::before { content: ""; position: absolute; left: -3px; right: -3px; top: 18px; height: 7px; border-radius: 3px; background: linear-gradient(#9aa0a4, #dfe3e5 50%, #8a9094); }
.pv-note__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 14px; }
.pv-note__who { min-width: 0; }
.pv-note__name { margin: 0 0 2px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.pv-note__name b { font: 400 19px/1.2 var(--f-head); }
.pv-note__name b a { color: var(--ink); text-decoration: none; }
.pv-note__name b a:hover { color: var(--lav-d); text-decoration: underline; }
.pv-role { font: 400 17px/1 var(--f-hand); color: var(--terra-d); }
.pv-note__date { align-self: start; font-size: 14px; color: var(--muted); text-decoration: none; white-space: nowrap; }
.pv-note__date:hover { color: var(--lav-d); text-decoration: underline; }
.pv-note__dl { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 10px 0 0; padding: 8px 0 0; border-top: 1px dashed var(--line); }
.pv-note__dl div { display: flex; align-items: baseline; gap: 6px; }
.pv-note__dl dt { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.pv-note__dl dd { margin: 0; font: 400 19px/1.2 var(--f-hand); color: var(--olive-d); }
.pv-note__body { margin: 16px 0 6px; font-size: 17.5px; line-height: 1.66; overflow-wrap: anywhere; }
.pv-note .post_meta { font-size: 13.5px; color: var(--muted); }
.pv-note .post_meta:empty { display: none; }
.pv-note__foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--line); }
.postbit_buttons { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.postbit_buttons a { display: inline-flex; align-items: center; min-height: 32px; padding: 2px 4px; font-size: 14.5px; color: var(--ink-2); text-decoration: none; border-bottom: 1px dotted transparent; }
.postbit_buttons a:hover { color: var(--lav-d); border-bottom-color: var(--lav); }
.postbit_buttons a span { display: inline; }
.pv-guest { max-width: 860px; margin: 10px auto 20px; padding: 18px 24px; background: var(--paper); box-shadow: var(--shadow); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; }
.pv-guest p { margin: 0; max-width: 560px; color: var(--ink-2); }
.pv-tfoot { max-width: 900px; margin: 26px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 24px; padding: 14px 20px; background: rgba(252, 250, 244, .82); border-radius: 6px; }
.pv-tfoot__people { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font: 400 19px/1 var(--f-hand); color: var(--ink-2); }
.pv-stack { display: inline-flex; flex-wrap: wrap; }
.pv-stack .pv-face { margin-right: -6px; }
.pv-nextprev { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 15px; }
.pv-tools { max-width: 900px; margin: 14px auto 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 14.5px; }
.thread_tools { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.thread_tools li { list-style: none; background: none !important; padding: 0 !important; }
.pv-board #quick_reply_form, .pv-board .tborder { max-width: 900px; margin-left: auto; margin-right: auto; }

/* стиль ссылок в сообщениях: «колос лаванды» — ряд бутонов на стебле под ссылкой */
:is(.post_body, .signature, [class*="-post__body"]) a.mycode_url {
	color: #4e3f80; font-weight: 700; text-decoration: none; padding-bottom: 5px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6'%3E%3Cpath d='M0 3.2h12' stroke='%236f7a4a' stroke-width='.9'/%3E%3Cellipse cx='3' cy='2.2' rx='2' ry='1.25' transform='rotate(-28 3 2.2)' fill='%239a8bc4'/%3E%3Cellipse cx='9' cy='4' rx='2' ry='1.25' transform='rotate(28 9 4)' fill='%239a8bc4'/%3E%3C/svg%3E") repeat-x 0 100% / 12px 6px;
	-webkit-box-decoration-break: clone; box-decoration-break: clone;
}
:is(.post_body, .signature, [class*="-post__body"]) a.mycode_url:hover {
	color: #3d2f6b;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6'%3E%3Cpath d='M0 3.2h12' stroke='%234a5330' stroke-width='1.1'/%3E%3Cellipse cx='3' cy='2.2' rx='2.4' ry='1.5' transform='rotate(-28 3 2.2)' fill='%2354447f'/%3E%3Cellipse cx='9' cy='4' rx='2.4' ry='1.5' transform='rotate(28 9 4)' fill='%2354447f'/%3E%3C/svg%3E") repeat-x 0 100% / 12px 6px, linear-gradient(#ece6f6, #ece6f6) no-repeat 0 0 / 100% calc(100% - 5px);
}

/* цитаты и код в сообщениях */
.post_body blockquote, .mycode_quote { margin: 12px 0; padding: 12px 18px 10px; background: var(--linen); border-left: 4px solid var(--lav); border-radius: 0 6px 6px 0; font-size: .96em; color: var(--ink-2); }
.mycode_quote cite, .post_body blockquote cite { display: block; font: 400 18px/1.2 var(--f-hand); font-style: normal; color: var(--olive-d); margin-bottom: 4px; }
.mycode_quote cite > span { font-family: var(--f-text); font-size: 13px; color: var(--muted); margin-left: 6px; }
.codeblock { background: #f3eee3; border: 1px solid var(--line); border-radius: 6px; padding: 10px 14px; margin: 12px 0; overflow: auto; }
.codeblock .title { font-weight: 700; font-size: 13px; color: var(--muted); margin-bottom: 6px; }
.codeblock code { font: 14px/1.5 ui-monospace, Menlo, Consolas, monospace; }
.post_body .mycode_img { max-width: 100%; border-radius: 4px; }
.post_body ul, .post_body ol { padding-left: 24px; }
.post_body hr { border: 0; border-top: 1px dashed var(--linen-d); }
.signature { margin-top: 12px; padding-top: 10px; border-top: 1px dashed var(--line); font-size: 15px; color: var(--ink-2); }

/* ---------- профиль: журнальная карточка хозяйки или мастера */
.pv-prof { margin: 18px 0 30px; }
.pv-prof__cover { text-align: center; padding: 26px 0 22px; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); box-shadow: 0 -5px 0 -4px var(--ink), 0 5px 0 -4px var(--ink); margin-bottom: 30px; }
.pv-prof__k { margin: 0 0 8px; font: 400 26px/1.1 var(--f-hand); color: var(--olive-d); }
.pv-prof__name { font-size: clamp(40px, 6vw, 76px); margin-bottom: 12px; overflow-wrap: anywhere; }
.pv-prof__grid { display: grid; grid-template-columns: minmax(220px, .9fr) minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 44px); align-items: start; }
.pv-prof__photo { margin: 0; text-align: center; }
.pv-prof__frame { position: relative; display: inline-grid; place-items: center; padding: 16px; border-radius: 50% / 50%; background: var(--paper); box-shadow: var(--shadow), inset 0 0 0 3px #3b342c, inset 0 0 0 7px var(--paper), inset 0 0 0 8px #3b342c; }
.pv-prof__frame::before { content: ""; position: absolute; left: 50%; top: -26px; width: 90px; height: 34px; margin-left: -45px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 34'%3E%3Cpath d='M45 34V14 M45 14c-8-12-24-12-26-2-1 6 6 9 9 5 M45 14c8-12 24-12 26-2 1 6-6 9-9 5 M30 26c-10 0-20-4-26-12 M60 26c10 0 20-4 26-12' fill='none' stroke='%233b342c' stroke-width='2.6' stroke-linecap='round'/%3E%3Ccircle cx='45' cy='8' r='3' fill='%233b342c'/%3E%3C/svg%3E") no-repeat center / contain; }
.pv-prof__frame .pv-face { box-shadow: none; }
.pv-prof__photo figcaption { margin-top: 14px; font: 400 22px/1.2 var(--f-hand); color: var(--ink-2); }
.pv-prof__card { background: var(--paper); box-shadow: var(--shadow); padding: 22px 26px; border-radius: 4px; }
.pv-prof__dl { margin: 0; display: grid; gap: 0; }
.pv-prof__dl div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-bottom: 1px dotted var(--linen-d); }
.pv-prof__dl dt { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
.pv-prof__dl dd { margin: 0; font: 400 18px/1.35 var(--f-head); color: var(--ink); }
.pv-prof__nums { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 16px 0 10px; color: var(--muted); }
.pv-prof__nums b { font: 400 32px/1 var(--f-head); color: var(--lav-d); margin-right: 4px; }
.pv-prof__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 8px; }
.pv-prof__note { margin: 0; font-size: 13.5px; color: var(--muted); font-style: italic; }
.pv-ladder__h { font-size: 21px; margin: 0 0 12px; }
.pv-ladder__list { list-style: none; margin: 0; padding: 0; counter-reset: ld; }
.pv-ladder__list li { counter-increment: ld; display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--muted); }
.pv-ladder__list li::before { content: ""; grid-row: span 2; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; border: 2px solid var(--linen-d); }
.pv-ladder__list li.is-past::before { background: var(--lav-l); border-color: var(--lav); }
.pv-ladder__list li.is-now::before { background: var(--lav-d); border-color: var(--lav-d); box-shadow: 0 0 0 3px var(--lav-l); }
.pv-ladder__list li.is-now { color: var(--ink); }
.pv-ladder__t { font: 400 17px/1.3 var(--f-head); color: inherit; }
.pv-ladder__list li.is-now .pv-ladder__t, .pv-ladder__list li.is-past .pv-ladder__t { color: var(--ink); }
.pv-ladder__n { font-size: 13.5px; }
.pv-plist { margin-top: 40px; }
.pv-plist .pv-h2 { padding-bottom: 10px; border-bottom: 1px solid var(--ink); margin-bottom: 4px; }
.pv-plist__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 30px; }
.pv-plist__row { padding: 16px 0; border-bottom: 1px solid var(--line); }
.pv-plist__t { font: 400 20px/1.25 var(--f-head); color: var(--ink); text-decoration: none; }
.pv-plist__t:hover { color: var(--lav-d); text-decoration: underline; }
.pv-plist__lead { margin: 6px 0; font-size: 15px; color: var(--ink-2); }
.pv-plist__meta { font-size: 13.5px; color: var(--muted); }
.pv-prof__extra { margin-top: 20px; }

/* ---------- подвал с туалью */
:root { --toile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='56' viewBox='0 0 240 56'%3E%3Cg fill='none' stroke='%237b6aa8' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 46h40 M20 46V32l14-10 14 10v14 M30 46v-8h8v8 M24 34h4 M40 34h4'/%3E%3Cpath d='M70 46c0-10 2-20 2-30 M72 20c-8-2-12-8-10-12 6 0 10 6 10 12z M72 26c8-4 12-10 10-14-6 2-10 8-10 14z M72 34c-6 0-10-4-10-8 6 0 9 4 10 8z'/%3E%3Cpath d='M96 46h46 M104 46c0-8 6-14 15-14s15 6 15 14 M110 40c4-2 14-2 18 0 M119 32v-6 M113 26h12'/%3E%3Cpath d='M160 14c4-3 8-3 10 0 2-3 6-3 10 0 M186 22c3-2 6-2 8 0 2-2 5-2 8 0'/%3E%3Cpath d='M170 46c0-6 4-10 10-10h14c6 0 10 4 10 10 M176 36l-2-8h26l-2 8 M186 28c-2-6 0-10 4-12 M192 28c2-6 6-8 10-8'/%3E%3Cpath d='M216 46v-22 M216 24c-6-4-6-12 0-16 6 4 6 12 0 16z M210 46h12'/%3E%3C/g%3E%3Cg fill='%238c7cb6'%3E%3Ccircle cx='62' cy='10' r='1.6'/%3E%3Ccircle cx='150' cy='30' r='1.6'/%3E%3Ccircle cx='230' cy='14' r='1.6'/%3E%3C/g%3E%3C/svg%3E"); }
.pv-foot { margin-top: auto; background: #3f3830; color: #efe7d7; }
.pv-foot__toile { height: 64px; background: var(--toile) center / 240px auto repeat-x, var(--paper); border-top: 1px solid var(--line); border-bottom: 6px solid transparent; border-image: var(--vichy) 6; }
.pv-foot__in { max-width: var(--max); margin: 0 auto; padding: 30px var(--gut) 34px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 40px; }
.pv-foot__brand { display: flex; flex-direction: column; gap: 4px; }
.pv-foot__name { font: 400 30px/1 var(--f-head); color: #fff; }
.pv-foot__name i { color: #cbbfe8; }
.pv-foot__sub { font-size: 15px; color: #d9cfbe; max-width: 34em; }
.pv-foot__links { display: flex; flex-wrap: wrap; gap: 8px 22px; align-content: start; justify-content: flex-end; }
.pv-foot__links a { color: #fff; font-weight: 500; font-size: 15px; }
.pv-foot__links a:hover { color: #cbbfe8; }
.pv-foot__note { grid-column: 1 / -1; margin: 0; font-size: 13.5px; color: #cfc4b2; max-width: 900px; }

/* ---------- сообщения и служебные страницы */
.pv-panel { background: var(--paper); box-shadow: var(--shadow); border-radius: 6px; padding: 28px clamp(18px, 3vw, 36px); margin: 24px 0; }
.pv-msg { max-width: 760px; margin: 40px auto; text-align: center; }
.pv-msg__stamp { display: inline-block; margin: 0 0 12px; font: 400 26px/1 var(--f-hand); color: var(--terra-d); transform: rotate(-3deg); }
.pv-msg__stamp--go { color: var(--olive-d); }
.pv-msg__t { font-size: clamp(28px, 3.4vw, 40px); margin-bottom: 14px; }
.pv-msg__body { text-align: left; color: var(--ink-2); }
.pv-msg__foot { margin: 16px 0 0; }
.pv-page--redirect { display: grid; place-items: center; padding: 16px; }

/* ---------- стандартные блоки MyBB */
.tborder { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; margin: 0 0 18px; box-shadow: var(--shadow); overflow: hidden; }
.tborder td, .tborder th { padding: 10px 14px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.thead { background: var(--lav-d); color: #fff; font: 400 21px/1.2 var(--f-head); }
.thead a, .thead strong { color: #fff; font-weight: 400; }
.thead .expcolimage { float: right; }
.tcat { background: var(--linen); color: var(--ink); font-weight: 700; font-size: 14px; letter-spacing: .03em; }
.tcat a { color: var(--ink); }
.trow1 { background: var(--paper); }
.trow2 { background: #f6f1e5; }
.trow_shaded, .trow_selected td { background: var(--lav-l); }
.trow_sep { background: var(--linen); font-weight: 700; }
.tfoot { background: var(--linen); color: var(--ink); font-size: 14px; }
.tfoot a { color: var(--lav-d); }
.smalltext { font-size: 14px; }
.largetext { font: 400 24px/1.2 var(--f-head); }
.float_left { float: left; }
.float_right { float: right; }
.clear { clear: both; }
fieldset { border: 1px solid var(--line); border-radius: 6px; padding: 12px 16px; margin: 0 0 14px; }
legend { font-weight: 700; padding: 0 6px; }
input.textbox, textarea, select { max-width: 100%; border: 1.5px solid var(--linen-d); background: #fff; padding: 8px 12px; border-radius: 8px; font: 400 16px var(--f-text); color: var(--ink); }
input.textbox:focus, textarea:focus, select:focus { border-color: var(--lav); outline: none; box-shadow: 0 0 0 3px var(--lav-l); }
textarea { width: 100%; line-height: 1.5; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--lav-d); }
.pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; font-size: 15px; padding: 0; margin: 0; }
.pagination .pages { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-right: 6px; }
.pagination a, .pagination .pagination_current { display: inline-grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; border-radius: 50%; border: 1.5px solid var(--line); background: var(--paper); color: var(--ink); text-decoration: none; font: 400 16px var(--f-head); }
.pagination a:hover { border-color: var(--lav-d); color: var(--lav-d); }
.pagination .pagination_current { background: var(--lav-d); border-color: var(--lav-d); color: #fff; }
.pagination .pagination_previous, .pagination .pagination_next { border-radius: 999px; }
.popup_menu { background: var(--paper); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); padding: 6px 0; z-index: 60; }
.popup_menu .popup_item_container { margin: 0; }
.popup_menu .popup_item { display: block; padding: 8px 16px; color: var(--ink); text-decoration: none; background: none; }
.popup_menu .popup_item:hover { background: var(--lav-l); color: var(--lav-d); }
.popup_button { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border: 1.5px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--ink); font-weight: 500; font-size: 14.5px; cursor: pointer; text-decoration: none; }
.blocker { position: fixed; inset: 0; z-index: 9998; padding: 16px; background: rgba(58, 49, 40, .62); display: flex; align-items: center; justify-content: center; }
.modal { display: none; width: 100%; max-width: 520px; background: var(--paper); border-radius: 8px; box-shadow: 0 30px 60px -20px rgba(30, 20, 10, .6); padding: 0; position: relative; text-align: left; overflow: hidden; }
.modal::before { content: ""; display: block; height: 8px; background: var(--vichy); }
.modal .tborder { margin: 0; border: 0; box-shadow: none; border-radius: 0; }
.modal a.close-modal { position: absolute; top: 16px; right: 12px; width: 34px; height: 34px; display: grid; place-items: center; text-indent: 0; font-size: 0; background: var(--paper); border: 1.5px solid var(--ink); border-radius: 50%; }
.modal a.close-modal::before { content: "×"; font-size: 22px; line-height: 1; color: var(--ink); }
.modal .thead { padding-right: 56px; }
.pv-modal td { display: block; border: 0; padding: 6px 18px; }
.pv-modal .trow1 strong, .pv-modal .trow2 strong { font-weight: 500; }
.pv-modal input.textbox { width: 100%; }
.pv-modal tr:last-child td { padding-bottom: 18px; }
.red_alert, .pm_alert { background: var(--ochre-l); color: var(--ink); border: 1px solid #e2c98f; border-radius: 6px; padding: 10px 16px; margin: 16px 0; font-weight: 500; }
.red_alert a, .pm_alert a { color: var(--lav-d); }
.error, .inline_message { background: #f8e5da; border: 1px solid #e6b79e; border-radius: 6px; padding: 12px 16px; margin: 0 0 16px; }
.highlight { background: var(--ochre-l); padding: 0 2px; }
.deleted_post_hidden, .ignored_post { background: var(--linen); border: 1.5px dashed var(--linen-d); padding: 10px 14px; font-size: 14.5px; }
.editor { max-width: 100%; }
#posts_container { max-width: 100%; }
@media (max-width: 767px) {
	.tborder, .tborder tbody, .tborder tr { display: block; width: 100%; }
	.tborder td, .tborder th { display: block; width: auto !important; }
	.tborder .thead { font-size: 20px; }
}

/* ---------- адаптивность */
@media (max-width: 1240px) {
	.pv-strip__room { font-size: 13.5px; padding: 9px 3px 10px; }
	.pv-strip__in { gap: 10px; }
}
@media (max-width: 1120px) {
	.pv-strip { display: none; }
	.pv-spread__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.pv-spread__grid > .pv-short { grid-column: 1 / -1; border-left: 0; padding: 24px 0 0; margin-top: 24px; border-top: 1px solid var(--ink); }
	.pv-short__list { columns: 2; column-gap: 28px; }
	.pv-short__list li { break-inside: avoid; }
	.pv-spread__cols { grid-template-columns: 1fr; }
	.pv-rubrics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 0; }
	.pv-rubrics__grid > .pv-rub:nth-child(odd) { padding-left: 0; border-left: 0; }
	.pv-rubrics__grid > .pv-rub:nth-child(even) { padding-right: 0; }
	.pv-prof__grid { grid-template-columns: minmax(200px, .8fr) minmax(0, 1.4fr); }
	.pv-ladder { grid-column: 1 / -1; }
	.pv-plist__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
	.pv-cover__grid { grid-template-columns: 1fr; }
	.pv-cover__art { order: -1; max-width: 640px; margin: 0 auto 8px; width: 100%; }
	.pv-plan__wrap, .pv-drawer__body .pv-plan__frame { grid-template-columns: 1fr; }
	.pv-rooms { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
	.pv-studio__grid, .pv-recipe { grid-template-columns: 1fr; }
	.pv-recipe__pal { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
	.pv-search input { width: 200px; }
}
@media (max-width: 900px) {
	.pv-top__in { flex-wrap: wrap; gap: 10px 12px; padding-top: 8px; padding-bottom: 10px; }
	.pv-top__tools { margin-left: 0; width: 100%; flex-wrap: wrap; }
	.pv-search { order: 3; flex: 1 1 100%; }
	.pv-search input { width: 100%; }
	.pv-user { margin-left: auto; }
	.pv-top__issue { display: none !important; }
}
@media (max-width: 1000px) {
	.pv-note--r1 { transform: rotate(-.5deg); }
	.pv-note--r2 { transform: rotate(.4deg); }
	.pv-note--r3 { transform: rotate(-.25deg); }
	.pv-note--r4 { transform: rotate(.5deg); }
	.pv-note--main { margin-left: 0; margin-right: 0; }
}
@media (max-width: 760px) {
	body { font-size: 16.5px; }
	.pv-logo__name { font-size: 23px; }
	.pv-logo__mark { width: 40px; height: 40px; }
	.pv-folio { grid-template-columns: 1fr; text-align: center; gap: 4px; }
	.pv-folio > span { padding: 0; text-align: center !important; }
	.pv-folio > span:last-child { display: none; }
	.pv-folio--toile { padding-top: 66px; }
	.pv-spread__grid { grid-template-columns: 1fr; }
	.pv-spread__grid > * { padding: 0 !important; border-left: 0 !important; }
	.pv-spread__cols { margin-top: 26px; padding-top: 22px !important; border-top: 1px solid var(--ink); }
	.pv-short__list { columns: 1; }
	.pv-art--main::before { height: 150px; }
	.pv-plan__frame { padding: 10px; }
	.pv-plan__frame { overflow-x: auto; overscroll-behavior-x: contain; }
	.pv-plan__svg { min-width: 760px; }
	.pv-drawer__body .pv-plan__frame { overflow: visible; padding: 0; box-shadow: none; background: none; }
	.pv-drawer__body .pv-plan__svg { display: none; }
	.pv-rooms { grid-template-columns: 1fr; }
	.pv-sw-row { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 12px; }
	.pv-rubrics__grid { grid-template-columns: 1fr; }
	.pv-rubrics__grid > .pv-rub { padding: 0 !important; border-left: 0 !important; }
	.pv-entry { grid-template-columns: 34px minmax(0, 1fr); padding: 16px 0; }
	.pv-entry__no { font-size: 22px; }
	.pv-entry__n { grid-column: 2; padding-top: 4px; min-width: 0; }
	.pv-entry__h { font-size: 20px; }
	.pv-toc__head { align-items: flex-start; }
	.pv-board { padding: 20px 16px 28px; margin-left: calc(-1 * var(--gut)); margin-right: calc(-1 * var(--gut)); border-top-width: 8px; border-bottom-width: 8px; }
	.pv-thead { padding: 26px 18px 20px; margin-bottom: 26px; }
	.pv-note, .pv-note--r1, .pv-note--r2, .pv-note--r3, .pv-note--r4 { transform: none; padding: 22px 16px 12px; margin-bottom: 30px; }
	.pv-note--main { margin: 0 0 34px; padding: 30px 16px 16px; }
	.pv-note--main .pv-note__body { font-size: 18px; }
	.pv-note__head { grid-template-columns: auto minmax(0, 1fr); }
	.pv-note__date { grid-column: 1 / -1; }
	.pv-prof__grid { grid-template-columns: 1fr; }
	.pv-prof__dl div { grid-template-columns: 1fr; gap: 2px; }
	.pv-plist__list { grid-template-columns: 1fr; }
	.pv-foot__in { grid-template-columns: 1fr; }
	.pv-foot__links { justify-content: flex-start; }
	.pv-fhead { padding: 22px 16px 22px; }
	.pv-drawer__btn span { display: inline; }
}
@media (max-width: 420px) {
	.pv-seg span { padding: 9px 14px; }
	.pv-recipe__pal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pv-recipe__card { padding: 20px 14px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.pv-js .pv-room:not(.is-seen) .pv-rsh { transform: none; }
}

/* добавки: скрытые фильтры и виньетка туали в шапке раздела */
.pv-chip[hidden] { display: none; }
.pv-fhead::before { content: ""; position: absolute; right: 0; bottom: 8px; width: min(46%, 520px); height: 56px; background: var(--toile) right bottom / 240px auto repeat-x; opacity: .5; pointer-events: none; }
@media (max-width: 760px) { .pv-fhead::before { display: none; } }
