/*
Theme Name: dds_latoyawofford.com
Author: Анна Соколова
Description: Тема «Оценочное дело» для аналитического блога о самостоятельной оценке квартир: бумажная фактура, миллиметровая сетка, штампы оценщика и карточки из картотеки.
Version: 1.1
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: ocbr
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

:root {
    --paper: #E9E2D0;
    --sheet: #F4EFE2;
    --sheet-soft: #EFE8D6;
    --under: #D8CDB2;
    --graphite: #1F2420;
    --graphite-2: #2A302B;
    --ink: #23261F;
    --mute: #6E6A5C;
    --brick: #C4402E;
    --brick-dark: #A3301F;
    --green: #2E6F5E;
    --navy: #1D3A4F;
    --rust: #D97B3A;
    --grid: #B9BFA8;
    --steel: #3F6E96;
    --bar: #8DA8BC;
    --line: #CFC5AC;
    --on-dark: #E4DFD0;
    --head: 'Oswald', 'Arial Narrow', 'Roboto Condensed', Impact, sans-serif;
    --serif: 'PT Serif', Georgia, 'Times New Roman', serif;
    --mono: 'IBM Plex Mono', 'Courier New', Consolas, monospace;
}

/* ---------- hidden-правила до основных стилей ---------- */
.cookie-banner[hidden] { display: none !important; }
[hidden] { display: none !important; }

/* ---------- База ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    overflow-x: hidden;
    background-color: var(--paper);
    background-image:
        linear-gradient(to right, rgba(185, 191, 168, .55) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(185, 191, 168, .55) 1px, transparent 1px),
        linear-gradient(to right, rgba(185, 191, 168, .35) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(185, 191, 168, .35) 1px, transparent 1px);
    background-size: 110px 110px, 110px 110px, 22px 22px, 22px 22px;
    color: var(--ink);
    font-family: var(--serif);
    font-size: 1.0625rem;
    line-height: 1.65;
}

img { max-width: 100%; height: auto; }

a { color: var(--green); text-decoration-color: var(--green); text-underline-offset: 3px; }
a:hover { color: var(--brick); text-decoration-color: var(--brick); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px dashed var(--brick);
    outline-offset: 3px;
}

p { margin: 0 0 1em; }
h1, h2, h3, h4, h5, h6 {
    font-family: var(--head);
    font-weight: 700;
    line-height: 1.15;
    margin: 1.4em 0 .55em;
    color: var(--ink);
}
p, li, h1, h2, h3, h4, h5, h6, td, th, figcaption, .card-title, .tag__note {
    overflow-wrap: break-word;
    hyphens: auto;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
}
.skip-link {
    position: absolute;
    left: 1rem; top: -60px;
    z-index: 100;
    padding: .6rem 1rem;
    background: var(--brick);
    color: #fff;
    font-family: var(--mono);
}
.skip-link:focus { top: 1rem; color: #fff; }

/* Единственный контейнер ширины */
.shell { width: min(92%, 1240px); margin-inline: auto; }
@media (min-width: 961px) {
    .shell { width: min(85%, 1240px); }
}

/* ---------- Кнопки-штампы ---------- */
.stamp-btn,
.comment-form .submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4em;
    padding: .62rem 1.15rem;
    background: var(--brick);
    color: #fff;
    border: 1.5px solid #111;
    border-radius: 0;
    box-shadow: 3px 3px 0 #111;
    font-family: var(--mono);
    font-weight: 500;
    font-size: .9rem;
    line-height: 1.3;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.stamp-btn:hover,
.comment-form .submit:hover {
    background: var(--brick-dark);
    color: #fff;
    transform: translate(2px, 2px);
    box-shadow: 1px 1px 0 #111;
}
.stamp-btn:active { transform: translate(3px, 3px); box-shadow: 0 0 0 #111; }
.stamp-btn--sm { padding: .42rem .8rem; font-size: .8rem; }
.stamp-btn--cream { background: var(--sheet); color: var(--ink); }
.stamp-btn--cream:hover { background: #fff; color: var(--brick); }

/* ---------- Заголовки с линейкой ---------- */
.ruled-title {
    display: inline-block;
    margin: 0 0 1.2rem;
    padding-bottom: .22em;
    font-family: var(--head);
    font-weight: 700;
    font-size: clamp(1.9rem, 4.2vw, 3.4rem);
    line-height: 1.02;
    text-transform: uppercase;
    letter-spacing: -.005em;
    color: var(--ink);
    background: linear-gradient(var(--green), var(--green)) left bottom / 100% 3px no-repeat;
}
.ruled-title--light { color: #fff; background-image: linear-gradient(rgba(255, 255, 255, .7), rgba(255, 255, 255, .7)); }
.ruled-title--cream { color: var(--sheet); background-image: linear-gradient(rgba(244, 239, 226, .75), rgba(244, 239, 226, .75)); }

/* ---------- Шапка ---------- */
.masthead {
    position: relative;
    background: var(--graphite);
    color: #fff;
    border-bottom: 4px solid #151916;
}
.masthead__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem 2.5rem;
    padding: 1.1rem 0;
}
.brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1 1 auto;
    min-width: 0;
    color: #fff;
    text-decoration: none;
}
.brand:hover { color: #fff; }
.brand__mark { flex: none; display: block; }
.brand__stamp { display: block; width: 56px; height: 56px; filter: drop-shadow(3px 3px 0 #0B0D0B); transform: rotate(-3deg); transition: transform .2s ease; }
.brand:hover .brand__stamp { transform: rotate(2deg) scale(1.04); }
.brand-logo { display: block; max-height: 64px; width: auto; }
.brand__text { display: flex; flex-direction: column; gap: .25rem; min-width: 0; max-width: 720px; }
.brand__name {
    font-family: var(--head);
    font-weight: 600;
    font-size: 1.12rem;
    line-height: 1.25;
    letter-spacing: .01em;
    color: #fff;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.brand__desc {
    font-family: var(--mono);
    font-size: .72rem;
    line-height: 1.45;
    color: #A9AA9D;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.topnav { flex: none; }
.topnav__list {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem 1.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.topnav__list a {
    display: inline-block;
    padding: .3rem 0;
    font-family: var(--mono);
    font-size: .95rem;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(var(--green), var(--green)) left bottom / 0 2px no-repeat;
    transition: background-size .2s ease, color .2s ease;
}
.topnav__list a:hover,
.topnav__list .current-menu-item > a,
.topnav__list .current_page_item > a {
    color: #fff;
    background-size: 100% 2px;
}
.topnav__list .sub-menu { list-style: none; margin: 0; padding: 0 0 0 1rem; }

.menu-toggle {
    display: none;
    align-items: center;
    gap: .6rem;
    padding: .55rem .8rem;
    background: transparent;
    color: #fff;
    border: 1.5px solid #fff;
    border-radius: 0;
    font-family: var(--mono);
    font-size: .85rem;
    cursor: pointer;
}
.menu-toggle__bars,
.menu-toggle__bars::before,
.menu-toggle__bars::after {
    display: block;
    width: 18px;
    height: 2px;
    background: #fff;
    position: relative;
}
.menu-toggle__bars::before, .menu-toggle__bars::after { content: ''; position: absolute; left: 0; }
.menu-toggle__bars::before { top: -6px; }
.menu-toggle__bars::after { top: 6px; }

/* ---------- Листы ---------- */
.page-body { display: block; padding-bottom: 3rem; }

.page-body { isolation: isolate; }
.sheet {
    position: relative;
    background-color: var(--sheet);
    background-image:
        linear-gradient(to right, rgba(185, 191, 168, .28) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(185, 191, 168, .28) 1px, transparent 1px);
    background-size: 22px 22px;
    border: 1px solid var(--line);
    box-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 6px 14px rgba(35, 38, 31, .08);
}
.sheet::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--under);
    transform: translate(7px, 8px) rotate(.35deg);
    box-shadow: 2px 3px 8px rgba(35, 38, 31, .12);
}

.paperclip {
    position: absolute;
    top: -22px;
    left: 20px;
    z-index: 2;
    width: 22px;
    height: 62px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 62'%3E%3Cpath d='M15 18 V48 a5 5 0 0 1-10 0 V10 a7 7 0 0 1 14 0 V50 a8 8 0 0 1-16 0 V20' fill='none' stroke='%23878C88' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / contain;
    transform: rotate(-8deg);
    pointer-events: none;
}
.paperclip--right { left: auto; right: 26px; transform: rotate(10deg); }

/* ---------- Цветные полосы с рваным краем ---------- */
.band {
    position: relative;
    padding: 3rem 2.6rem 3.2rem;
    clip-path: polygon(0 1.4%, 5% .3%, 12% 1.7%, 19% .2%, 27% 1.3%, 35% 0, 43% 1.5%, 51% .4%, 59% 1.8%, 67% .2%, 75% 1.4%, 83% 0, 91% 1.6%, 100% .5%, 100% 98.7%, 94% 99.9%, 86% 98.4%, 78% 99.8%, 70% 98.6%, 62% 100%, 54% 98.5%, 46% 99.7%, 38% 98.3%, 30% 99.8%, 22% 98.6%, 14% 100%, 7% 98.5%, 0 99.6%);
}
.band--ink {
    background-color: var(--navy);
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, .045) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, .045) 1px, transparent 1px),
        radial-gradient(ellipse at 20% 0, rgba(255, 255, 255, .06), transparent 60%);
    background-size: 22px 22px, 22px 22px, 100% 100%;
    color: var(--on-dark);
}
.band--rust {
    background-color: var(--rust);
    background-image:
        radial-gradient(rgba(255, 255, 255, .08) 1px, transparent 1.4px),
        linear-gradient(180deg, rgba(0, 0, 0, .04), rgba(0, 0, 0, .1));
    background-size: 6px 6px, 100% 100%;
    color: var(--ink);
}

/* ---------- Главная ---------- */
.front { display: block; padding-top: 2.4rem; }
.front > section { margin-bottom: 2.6rem; }

/* Блок 1 — Разбор по частям */
.parts { padding: 2.4rem 2.2rem 2.2rem; }
.parts__board {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 2rem;
}
.parts__main { min-width: 0; }
.parts__lead { max-width: 46rem; color: var(--mute); margin-bottom: 1rem; }
.parts__scheme { position: relative; aspect-ratio: 2 / 1; }
.parts__img {
    display: block;
    position: absolute;
    left: 50%;
    top: 2%;
    width: 50%;
    height: auto;
    transform: translateX(-50%);
    filter: drop-shadow(6px 10px 10px rgba(35, 38, 31, .18));
}
.parts__leaders {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.parts__leaders polyline {
    fill: none;
    stroke: var(--green);
    stroke-width: 1.4;
    vector-effect: non-scaling-stroke;
}
.tags { margin: 0; padding: 0; list-style: none; }
.tag {
    position: absolute;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: .55rem;
    align-items: center;
    max-width: 30%;
    padding: .55rem .8rem .6rem;
    background: #F8F4EA;
    border: 1px solid #CDC3A9;
    box-shadow: 3px 3px 0 rgba(35, 38, 31, .14);
    transition: transform .2s ease, box-shadow .2s ease;
}
.tag:hover { transform: translate(-2px, -2px) rotate(0deg) !important; box-shadow: 5px 5px 0 rgba(46, 111, 94, .35); }
.tag__no {
    grid-row: span 2;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border: 1.5px solid var(--green);
    color: var(--green);
    font-family: var(--mono);
    font-size: .78rem;
    font-weight: 500;
}
.tag__name { font-family: var(--mono); font-weight: 500; font-size: .92rem; line-height: 1.25; color: var(--ink); }
.tag__note { font-size: .8rem; line-height: 1.35; color: var(--mute); }
.tag--loc   { left: 3%;  top: 8%;  transform: rotate(-1deg); }
.tag--floor { right: 1%; top: 1%;  transform: rotate(.8deg); }
.tag--house { left: 0;   top: 38%; transform: rotate(.6deg); }
.tag--area  { right: 0;  top: 52%; transform: rotate(-.8deg); }
.tag--law   { left: 5%;  top: 72%; transform: rotate(-.5deg); }

.gauge {
    min-width: 0;
    padding: 1.4rem 1.2rem 1.2rem;
    background: rgba(255, 255, 255, .35);
    border-left: 1px dashed var(--grid);
    font-family: var(--mono);
}
.gauge__label { margin: 0; font-weight: 500; font-size: 1.05rem; }
.gauge__sum { margin: 0 0 1.4rem; color: var(--brick); font-weight: 500; font-size: 1.45rem; line-height: 1.2; }
.gauge__scale {
    position: relative;
    height: 360px;
    margin-left: 6px;
    padding-left: 48px;
    background:
        linear-gradient(var(--ink), var(--ink)) 0 0 / 3px 100% no-repeat,
        repeating-linear-gradient(to bottom, var(--ink) 0 1.5px, transparent 1.5px 12px) 3px 0 / 12px 100% no-repeat;
}
.gauge__ticks {
    position: absolute;
    inset: 0 0 0 3px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: .8rem;
    color: var(--mute);
}
.gauge__ticks li {
    position: absolute;
    left: 0;
    bottom: var(--at);
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1;
    white-space: nowrap;
    transform: translateY(50%);
}
.gauge__ticks li::before {
    content: '';
    flex: none;
    width: 28px;
    height: 2px;
    background: var(--ink);
}
.gauge__pin {
    position: absolute;
    left: 0;
    bottom: var(--pos);
    z-index: 1;
    display: flex;
    align-items: center;
    transform: translateY(50%);
}
.gauge__pin::before {
    content: '';
    flex: none;
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-right: 18px solid var(--brick);
    margin-left: 4px;
}
.gauge__pin span {
    margin-left: 18px;
    padding: .1rem .35rem;
    background: var(--sheet);
    border: 1px solid var(--brick);
    color: var(--brick);
    font-size: .78rem;
    font-weight: 500;
    white-space: nowrap;
}
.gauge__note { margin: 1.6rem 0 0; font-size: .72rem; line-height: 1.5; color: var(--mute); }

/* Блок 2 — Три цены */
.prices__chart {
    display: grid;
    grid-template-columns: auto minmax(2rem, 1fr) auto minmax(0, 42%);
    align-items: center;
    column-gap: 1.2rem;
    row-gap: 1.6rem;
    margin-top: .6rem;
}
.prices__row { display: contents; }
.prices__name {
    font-family: var(--mono);
    font-size: 1.05rem;
    color: var(--on-dark);
    padding-bottom: .3rem;
    border-bottom: 1px solid rgba(228, 223, 208, .45);
}
.prices__dots { height: 1px; background: rgba(228, 223, 208, .35); align-self: center; }
.prices__num {
    font-family: var(--mono);
    font-weight: 500;
    font-size: 1.25rem;
    color: #fff;
    white-space: nowrap;
    padding-bottom: .3rem;
    border-bottom: 2px solid rgba(255, 255, 255, .7);
}
.prices__track {
    position: relative;
    display: block;
    height: 26px;
    background: rgba(255, 255, 255, .07);
    border-bottom: 3px solid rgba(255, 255, 255, .75);
}
.prices__track::after {
    content: '';
    position: absolute;
    left: 70.4%;
    top: -14px;
    bottom: -16px;
    width: 3px;
    background: var(--brick);
}
.prices__bar {
    display: block;
    height: 100%;
    width: var(--w);
    background:
        linear-gradient(to right, transparent 0 var(--cut), rgba(196, 64, 46, .55) var(--cut) 100%),
        repeating-linear-gradient(-45deg, var(--bar) 0 6px, #7D98AC 6px 9px);
    transform-origin: left center;
    animation: ocbr-grow 1.1s ease-out both;
}
@keyframes ocbr-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.prices__legend {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 1.8rem 0 .8rem;
    font-family: var(--mono);
    font-size: .8rem;
    letter-spacing: .02em;
    text-transform: uppercase;
    color: #F0A898;
}
.prices__legend-mark { flex: none; width: 3px; height: 18px; background: var(--brick); }
.prices__text { max-width: 52rem; margin: 0; color: var(--on-dark); }

/* Последние записи */
.latest { padding: 1rem 0; }
.card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.8rem;
}
.card-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.card {
    --stripe: var(--green);
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: var(--sheet);
    border: 1px solid var(--line);
    border-left: 12px solid var(--stripe);
    box-shadow: 4px 5px 0 rgba(35, 38, 31, .12);
    transition: transform .2s ease, box-shadow .2s ease;
}
.card.is-orange { --stripe: var(--rust); }
.card.is-blue { --stripe: var(--steel); }
.card:hover { transform: translate(-3px, -3px); box-shadow: 8px 9px 0 rgba(35, 38, 31, .16); }
.card-thumb { padding: 14px 14px 0; }
.card-thumb a { display: block; overflow: hidden; border: 1px solid #D5CCB5; }
.card-thumb img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 26 / 10;
    object-fit: cover;
    filter: saturate(.85) contrast(1.02);
    transition: transform .35s ease, filter .35s ease;
}
.card:hover .card-thumb img { transform: scale(1.04); filter: saturate(1); }
.card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1.1rem 1.2rem 1.2rem;
}
.card-flag {
    align-self: flex-start;
    margin-bottom: .55rem;
    padding: .1rem .45rem;
    border: 1.5px solid var(--brick);
    color: var(--brick);
    font-family: var(--mono);
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    transform: rotate(-2deg);
}
.card-title { margin: 0 0 .6rem; font-family: var(--mono); font-weight: 500; font-size: 1.02rem; line-height: 1.4; }
.card-title a { color: var(--ink); text-decoration: none; }
.card-title a:hover { color: var(--green); text-decoration: underline; }
.card-excerpt { flex: 1; color: var(--mute); font-size: .93rem; line-height: 1.55; }
.card-excerpt p { margin: 0 0 .5em; background: none; }
.card-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    margin-top: 1rem;
    padding-top: .9rem;
    border-top: 1px dashed var(--grid);
}
.card-date { font-family: var(--mono); font-size: .82rem; color: var(--mute); }
.empty-note { font-family: var(--mono); color: var(--mute); }

/* Блок 3 — Чек-лист */
.checklist {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 36%);
    gap: 2rem;
    padding: 2.4rem 1.6rem 2.2rem 2.2rem;
}
.checklist__text { min-width: 0; }
.checklist__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.3rem 2rem;
    margin: .6rem 0 0;
    padding: 0;
    list-style: none;
}
.checklist__item {
    display: grid;
    grid-template-columns: 1.6rem 26px minmax(0, 1fr);
    align-items: start;
    gap: .7rem;
}
.checklist__no { font-family: var(--mono); color: var(--mute); padding-top: .1rem; }
.checklist__box {
    position: relative;
    width: 26px;
    height: 26px;
    margin-top: .05rem;
    border: 2px solid var(--ink);
    background: #FBF8F0;
}
.checklist__item:hover .checklist__box::after {
    content: '';
    position: absolute;
    left: 6px; top: 1px;
    width: 8px; height: 15px;
    border: solid var(--green);
    border-width: 0 3px 3px 0;
    transform: rotate(40deg);
}
.checklist__body { display: flex; flex-direction: column; gap: .2rem; min-width: 0; }
.checklist__name { font-family: var(--mono); font-weight: 500; font-size: .98rem; line-height: 1.35; }
.checklist__hint { font-size: .88rem; line-height: 1.45; color: var(--mute); }
.checklist__photo { margin: 0; align-self: stretch; min-width: 0; }
.checklist__photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 260px;
    object-fit: cover;
    border: 6px solid #fff;
    box-shadow: 4px 6px 0 rgba(35, 38, 31, .16);
    transform: rotate(.6deg);
}

/* Блок 4 — Аналогия */
.analogy__lead { max-width: 44rem; margin: 0 0 1.6rem; font-size: 1.05rem; color: #2B1D12; }
.analogy__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr) 64px minmax(0, 1fr);
    align-items: center;
    margin-bottom: 1.8rem;
}
.analogy__card {
    min-width: 0;
    padding: 1.6rem 1.4rem 1.5rem;
    background: var(--sheet);
    border: 1px solid #B9AE92;
    box-shadow: 5px 6px 0 rgba(35, 38, 31, .22);
    text-align: center;
    transition: transform .2s ease;
}
.analogy__card:nth-child(1) { transform: rotate(-.6deg); }
.analogy__card:nth-child(5) { transform: rotate(.5deg); }
.analogy__card:hover { transform: translateY(-4px); }
.analogy__icon {
    display: block;
    width: 52px;
    height: 52px;
    margin: 0 auto .7rem;
    fill: none;
    stroke: var(--ink);
    stroke-width: 2.2;
    stroke-linejoin: round;
    stroke-linecap: round;
}
.analogy__title { margin: 0 0 .4rem; font-family: var(--mono); font-weight: 500; font-size: 1.15rem; }
.analogy__text { margin: 0; font-family: var(--mono); font-size: .86rem; line-height: 1.5; color: #4F4A3E; }
.analogy__arrow {
    position: relative;
    justify-self: center;
    width: 44px;
    height: 2px;
    background: var(--ink);
}
.analogy__arrow::before,
.analogy__arrow::after {
    content: '';
    position: absolute;
    top: -5px;
    width: 10px;
    height: 10px;
    border: solid var(--ink);
    border-width: 2px 2px 0 0;
}
.analogy__arrow::before { left: 0; transform: rotate(-135deg); }
.analogy__arrow::after { right: 0; transform: rotate(45deg); }

/* ---------- Хлебные крошки ---------- */
.trail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .3rem .5rem;
    margin: 1.8rem 0 1.4rem;
    font-family: var(--mono);
    font-size: .82rem;
    color: var(--mute);
}
.trail a { color: var(--green); }
.trail__sep { color: var(--brick); }
.trail__here { color: var(--ink); min-width: 0; overflow-wrap: anywhere; }

/* ---------- Раскладки внутренних страниц ---------- */
.layout-single { display: block; }
.layout-with-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 67fr) minmax(0, 27fr);
    column-gap: 6%;
    align-items: start;
}
.content-area { min-width: 0; }

.page-head { padding: 2rem 2.2rem 1.4rem; margin-bottom: 2rem; }
.page-head__lead { max-width: 46rem; color: var(--mute); margin: 0; }
.page-head__lead p { margin: 0; }

/* ---------- Сайдбар ---------- */
.sidebar {
    min-width: 0;
    padding: 1.6rem 1.4rem;
    background: var(--sheet-soft);
    border: 1px solid var(--line);
    border-top: 6px solid var(--green);
    box-shadow: 4px 5px 0 rgba(35, 38, 31, .1);
    color: var(--ink);
}
.sidebar .dossier-widget + .dossier-widget { margin-top: 1.8rem; }
.sidebar .dossier-widget__title {
    margin: 0 0 .9rem;
    padding-bottom: .3rem;
    font-family: var(--head);
    font-size: 1.3rem;
    text-transform: uppercase;
    color: var(--ink);
    border-bottom: 2px solid var(--green);
}
.sidebar ul { margin: 0; padding: 0; list-style: none; }
.sidebar li { padding: .55rem 0; border-bottom: 1px dashed var(--grid); font-family: var(--mono); font-size: .88rem; line-height: 1.45; color: var(--ink); }
.sidebar li:last-child { border-bottom: 0; }
.sidebar a { color: var(--ink); text-decoration: none; }
.sidebar a:hover { color: var(--brick); text-decoration: underline; }
.sidebar .post-date { display: block; font-size: .78rem; color: var(--mute); }
.sidebar p, .sidebar .textwidget { color: var(--ink); }

/* ---------- Запись и страница ---------- */
.entry { padding: 2.2rem 2.4rem 2.4rem; margin-bottom: 2rem; }
.entry__title { font-size: clamp(1.8rem, 3.6vw, 2.8rem); }
.entry__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem 1.2rem;
    margin: 0 0 1.4rem;
    font-family: var(--mono);
    font-size: .85rem;
    color: var(--mute);
}
.entry__cat a {
    padding: .1rem .5rem;
    border: 1.5px solid var(--brick);
    color: var(--brick);
    text-decoration: none;
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: .05em;
}
.entry__cover { margin: 0 0 1.6rem; }
.entry__cover img { display: block; width: 100%; height: auto; border: 6px solid #fff; box-shadow: 4px 5px 0 rgba(35, 38, 31, .14); }
.entry__content { min-width: 0; }
.entry__content > *:first-child { margin-top: 0; }
.entry__content h2 { font-size: 1.9rem; text-transform: uppercase; }
.entry__content h3 { font-size: 1.45rem; }
.entry__content h4 { font-size: 1.2rem; }
.entry__content ul, .entry__content ol { padding-left: 1.4rem; margin: 0 0 1.2em; }
.entry__content li { margin-bottom: .35em; }
.entry__content ul li::marker { color: var(--green); content: '■  '; font-size: .75em; }
.entry__content ol li::marker { color: var(--green); font-family: var(--mono); }
.entry__content blockquote {
    margin: 1.6rem 0;
    padding: 1.2rem 1.4rem 1.2rem 1.6rem;
    background: var(--sheet-soft);
    border-left: 6px solid var(--navy);
    font-style: italic;
}
.entry__content blockquote p:last-child { margin-bottom: 0; }
.entry__content figure { margin: 1.6rem 0; }
.entry__content figcaption { font-family: var(--mono); font-size: .8rem; color: var(--mute); margin-top: .5rem; }
.entry__content img { display: block; height: auto; }
.entry__content pre {
    overflow-x: auto;
    padding: 1rem;
    background: var(--graphite);
    color: var(--on-dark);
    font-family: var(--mono);
    font-size: .88rem;
}
.entry__content code { font-family: var(--mono); font-size: .9em; background: rgba(185, 191, 168, .3); padding: .05em .3em; }
.entry__content pre code { background: none; padding: 0; }
.entry__content hr { border: 0; border-top: 2px dashed var(--grid); margin: 2rem 0; }
.entry__content .wp-block-table { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin: 1.4rem 0; font-size: .95rem; border: 1.5px solid var(--ink); }
th, td { border: 1px solid var(--ink); padding: .55rem .7rem; text-align: left; vertical-align: top; }
th { background: var(--navy); color: #fff; font-family: var(--mono); font-weight: 500; font-size: .88rem; }
tr:nth-child(even) td { background: rgba(185, 191, 168, .18); }
.alignleft { float: left; margin: .3rem 1.4rem 1rem 0; }
.alignright { float: right; margin: .3rem 0 1rem 1.4rem; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption-text { font-family: var(--mono); font-size: .8rem; color: var(--mute); }

.entry__tags { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.8rem 0 0; font-family: var(--mono); font-size: .82rem; }
.entry__tags a { padding: .15rem .55rem; background: rgba(46, 111, 94, .12); color: var(--green); text-decoration: none; }
.entry__tags a:hover { background: var(--green); color: #fff; }

.neighbors {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
    margin-bottom: 2rem;
}
.neighbors__link {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    padding: 1rem 1.2rem;
    background: var(--sheet);
    border: 1px solid var(--line);
    border-left: 6px solid var(--rust);
    color: var(--ink);
    font-family: var(--mono);
    font-size: .92rem;
    text-decoration: none;
    transition: transform .15s ease;
}
.neighbors__link span { font-size: .75rem; color: var(--mute); text-transform: uppercase; letter-spacing: .05em; }
.neighbors__link:hover { transform: translateY(-2px); color: var(--brick); }
.neighbors__link--next { grid-column: 2; text-align: right; border-left: 1px solid var(--line); border-right: 6px solid var(--rust); }

/* ---------- Пагинация ---------- */
.pager {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin: 2.4rem 0 1rem;
    font-family: var(--mono);
}
.pager .page-numbers,
.pager a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.6rem;
    padding: .45rem .75rem;
    background: var(--sheet);
    border: 1.5px solid var(--ink);
    box-shadow: 2px 2px 0 var(--ink);
    color: var(--ink);
    font-size: .9rem;
    text-decoration: none;
    transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease;
}
.pager a.page-numbers:hover,
.pager a:hover { background: var(--green); color: #fff; transform: translate(1px, 1px); box-shadow: 1px 1px 0 var(--ink); }
.pager .page-numbers.current { background: var(--brick); color: #fff; }
.pager .page-numbers.dots { background: none; border: 0; box-shadow: none; min-width: 0; }

/* ---------- Поиск ---------- */
.finder { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1rem 0; max-width: 34rem; }
.finder__field {
    flex: 1 1 14rem;
    min-width: 0;
    padding: .65rem .8rem;
    background: #FBF8F0;
    border: 1.5px solid var(--ink);
    border-radius: 0;
    font-family: var(--mono);
    font-size: .9rem;
    color: var(--ink);
}
.finder__btn { flex: none; }
.empty-sheet { padding: 2rem 2.2rem; }

/* ---------- 404 ---------- */
.lost { padding: 2.6rem 2.4rem; margin: 0 0 2rem; overflow: hidden; }
.lost__code {
    position: absolute;
    right: 1.5rem;
    top: .5rem;
    z-index: -1;
    margin: 0;
    font-family: var(--head);
    font-weight: 700;
    font-size: clamp(6rem, 18vw, 13rem);
    line-height: 1;
    color: rgba(196, 64, 46, .14);
}
.lost__text { max-width: 36rem; color: var(--mute); }

/* ---------- Комментарии ---------- */
.remarks { padding: 2rem 2.2rem; margin-bottom: 2rem; }
.remarks__title { font-size: 1.8rem; }
.remarks__list, .remarks__list .children { list-style: none; margin: 0; padding: 0; }
.remarks__list .children { margin-left: 1.6rem; border-left: 2px dashed var(--grid); padding-left: 1rem; }
.remark__body { padding: 1rem 0; border-bottom: 1px dashed var(--grid); }
.remark__head { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; margin-bottom: .5rem; }
.remark__ava { display: block; border: 2px solid var(--ink); }
.remark__author { font-family: var(--mono); font-weight: 500; }
.remark__date { font-family: var(--mono); font-size: .78rem; color: var(--mute); }
.remark__wait { font-family: var(--mono); font-size: .85rem; color: var(--brick); }
.remark__reply a { font-family: var(--mono); font-size: .82rem; }
.comment-respond { margin-top: 1.6rem; }
.comment-reply-title { font-family: var(--head); text-transform: uppercase; font-size: 1.4rem; }
.comment-reply-title small { margin-left: .6rem; font-family: var(--mono); font-size: .8rem; text-transform: none; }
.remark-form__note { font-family: var(--mono); font-size: .82rem; color: var(--mute); }
.remark-form__field { display: flex; flex-direction: column; gap: .3rem; }
.remark-form__field label { font-family: var(--mono); font-size: .85rem; }
.remark-form__field input,
.remark-form__field textarea {
    width: 100%;
    padding: .6rem .75rem;
    background: #FBF8F0;
    border: 1.5px solid var(--ink);
    border-radius: 0;
    font-family: var(--serif);
    font-size: 1rem;
    color: var(--ink);
}
.remark-form__check { display: flex; gap: .5rem; align-items: flex-start; font-size: .88rem; }

/* ---------- Подвал ---------- */
.colophon {
    position: relative;
    padding: 3rem 0 1.4rem;
    background-color: var(--graphite);
    background-image:
        linear-gradient(to right, rgba(255, 255, 255, .03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, .03) 1px, transparent 1px);
    background-size: 22px 22px;
    color: var(--on-dark);
    border-top: 4px solid #151916;
}
.colophon__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.4rem;
}
.colophon__col { min-width: 0; }
.colophon .dossier-widget + .dossier-widget { margin-top: 1.4rem; }
.colophon .dossier-widget__title {
    margin: 0 0 .9rem;
    font-family: var(--mono);
    font-weight: 500;
    font-size: 1.05rem;
    color: #fff;
}
.colophon .dossier-widget,
.colophon .textwidget,
.colophon p { font-family: var(--mono); font-size: .84rem; line-height: 1.6; color: var(--on-dark); }
.colophon ul { margin: 0; padding: 0; list-style: none; }
.colophon li { padding: .2rem 0; color: var(--on-dark); }
.colophon a { color: #E9E4D6; text-decoration: none; border-bottom: 1px solid rgba(46, 111, 94, .9); padding-bottom: .12rem; font-family: var(--mono); font-size: .84rem; }
.colophon a:hover { color: #fff; border-bottom-color: var(--brick); }
.colophon .post-date { display: block; font-size: .75rem; color: #A9AA9D; }
.colophon__copy {
    margin: 2.4rem 0 0;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(228, 223, 208, .18);
    text-align: center;
    font-family: var(--mono);
    font-size: .78rem;
    color: #B5B3A6;
}

/* ---------- Cookie-баннер ---------- */
.cookie-banner {
    position: fixed;
    left: 16px;
    right: 16px;
    bottom: 16px;
    z-index: 90;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.4rem;
    max-width: 780px;
    margin-inline: auto;
    padding: 1.1rem 1.4rem;
    background: var(--graphite);
    color: var(--on-dark);
    border: 1.5px dashed rgba(228, 223, 208, .45);
    box-shadow: 6px 6px 0 rgba(0, 0, 0, .35);
}
.cookie-banner__text { flex: 1 1 18rem; margin: 0; font-family: var(--mono); font-size: .82rem; line-height: 1.55; color: var(--on-dark); }
.cookie-banner__btn { flex: none; }

/* ---------- Адаптив ---------- */
@media (max-width: 1100px) {
    .tag { max-width: 34%; padding: .45rem .6rem; }
    .tag__note { display: none; }
}

@media (max-width: 960px) {
    .masthead__row { flex-wrap: wrap; }
    .menu-toggle { display: inline-flex; }
    .topnav { flex-basis: 100%; display: none; }
    .topnav.is-open { display: block; }
    .topnav__list { flex-direction: column; gap: 0; padding: .4rem 0 .6rem; border-top: 1px solid rgba(255, 255, 255, .15); }
    .topnav__list a { display: block; padding: .6rem 0; }

    .parts__board { grid-template-columns: minmax(0, 1fr); }
    .parts__scheme { aspect-ratio: auto; }
    .parts__img { position: static; width: min(80%, 520px); margin: 0 auto 1.4rem; transform: none; }
    .parts__leaders { display: none; }
    .tags { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
    .tag { position: static; max-width: none; transform: none !important; }
    .tag__note { display: block; }
    .gauge { border-left: 0; border-top: 1px dashed var(--grid); padding: 1.4rem 0 0; background: none; }
    .gauge__scale { height: 280px; }

    .prices__chart { grid-template-columns: auto minmax(1rem, 1fr) auto; row-gap: .7rem; }
    .prices__track { grid-column: 1 / -1; margin-bottom: 1rem; }

    .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .checklist { grid-template-columns: minmax(0, 1fr); }
    .checklist__photo img { height: auto; aspect-ratio: 3 / 2; }

    .analogy__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .analogy__arrow { margin: 1.2rem 0; transform: rotate(90deg); }
    .analogy__card:nth-child(n) { transform: none; }

    .layout-with-sidebar { grid-template-columns: minmax(0, 1fr); row-gap: 2rem; }
    .colophon__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    body { font-size: 1rem; }
    .front { padding-top: 1.6rem; }
    .parts { padding: 2rem 1.2rem 1.6rem; }
    .tags { grid-template-columns: minmax(0, 1fr); }
    .band { padding: 2.4rem 1.3rem 2.6rem; }
    .prices__name { font-size: .92rem; }
    .prices__num { font-size: 1.05rem; }
    .prices__dots { display: none; }
    .prices__chart { grid-template-columns: minmax(0, 1fr) auto; column-gap: .8rem; }
    .card-grid, .card-grid--two { grid-template-columns: minmax(0, 1fr); }
    .checklist { padding: 2rem 1.2rem 1.6rem; }
    .checklist__list { grid-template-columns: minmax(0, 1fr); }
    .page-head, .entry, .remarks, .lost, .empty-sheet { padding: 1.6rem 1.2rem; }
    .sidebar { padding: 1.4rem 1.1rem; }
    .neighbors { grid-template-columns: minmax(0, 1fr); }
    .neighbors__link--next { grid-column: auto; }
    .colophon__grid { grid-template-columns: minmax(0, 1fr); gap: 1.8rem; }
    .brand__stamp { width: 46px; height: 46px; }
    .brand__name { font-size: 1rem; }
    .cookie-banner { left: 10px; right: 10px; bottom: 10px; padding: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
}
