/*
Theme Name: dds_barmani.ru
Theme URI: https://barmani.ru/
Author: Алексей Гусев
Description: Тема информационного блога об истории медицины и врачебного дела. Оформление в духе старинного анатомического атласа: коленкоровый переплёт, страницы старой бумаги, гравюры и каталожные карточки.
Version: 1.1
Requires at least: 6.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: brmn
*/

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

/* ---------- Палитра и основа ---------- */
:root {
    --kolenkor: #1F2E24;
    --kolenkor-deep: #18241C;
    --bumaga: #E8DFC8;
    --bumaga-light: #F1EAD7;
    --chernila-sin: #16283C;
    --tekst: #2A2418;
    --tekst-tih: #6B6350;
    --tekst-svet: #D9D2BE;
    --kinovar: #C2452D;
    --kinovar-deep: #A33A25;
    --shalfey: #8A9A5B;
    --zoloto: #C9A227;
    --linejka: #2A3B2E;
    --font-head: "Literata", "PT Serif", Georgia, "Times New Roman", serif;
    --font-text: "Spectral", "PT Serif", Georgia, "Times New Roman", serif;
    --paper-tex: url("images/bumaga-faktura.jpg");
    --torn: polygon(0.00% 4px, 2.08% 5px, 4.17% 2px, 6.25% 1px, 8.33% 3px, 10.42% 3px, 12.50% 4px, 14.58% 1px, 16.67% 7px, 18.75% 1px, 20.83% 3px, 22.92% 2px, 25.00% 2px, 27.08% 3px, 29.17% 7px, 31.25% 3px, 33.33% 2px, 35.42% 1px, 37.50% 3px, 39.58% 7px, 41.67% 1px, 43.75% 2px, 45.83% 1px, 47.92% 7px, 50.00% 1px, 52.08% 5px, 54.17% 9px, 56.25% 2px, 58.33% 5px, 60.42% 3px, 62.50% 9px, 64.58% 5px, 66.67% 3px, 68.75% 7px, 70.83% 4px, 72.92% 3px, 75.00% 3px, 77.08% 1px, 79.17% 7px, 81.25% 6px, 83.33% 2px, 85.42% 4px, 87.50% 6px, 89.58% 6px, 91.67% 4px, 93.75% 9px, 95.83% 7px, 97.92% 5px, 100.00% 7px, 100.00% calc(100% - 3px), 97.92% calc(100% - 9px), 95.83% calc(100% - 6px), 93.75% calc(100% - 4px), 91.67% calc(100% - 6px), 89.58% calc(100% - 9px), 87.50% calc(100% - 3px), 85.42% calc(100% - 3px), 83.33% calc(100% - 2px), 81.25% calc(100% - 5px), 79.17% calc(100% - 4px), 77.08% calc(100% - 5px), 75.00% calc(100% - 6px), 72.92% calc(100% - 2px), 70.83% calc(100% - 1px), 68.75% calc(100% - 3px), 66.67% calc(100% - 4px), 64.58% calc(100% - 4px), 62.50% calc(100% - 4px), 60.42% calc(100% - 6px), 58.33% calc(100% - 6px), 56.25% calc(100% - 3px), 54.17% calc(100% - 3px), 52.08% calc(100% - 9px), 50.00% calc(100% - 6px), 47.92% calc(100% - 3px), 45.83% calc(100% - 1px), 43.75% calc(100% - 9px), 41.67% calc(100% - 6px), 39.58% calc(100% - 9px), 37.50% calc(100% - 2px), 35.42% calc(100% - 4px), 33.33% calc(100% - 1px), 31.25% calc(100% - 6px), 29.17% calc(100% - 4px), 27.08% calc(100% - 5px), 25.00% calc(100% - 3px), 22.92% calc(100% - 6px), 20.83% calc(100% - 1px), 18.75% calc(100% - 7px), 16.67% calc(100% - 9px), 14.58% calc(100% - 5px), 12.50% calc(100% - 7px), 10.42% calc(100% - 2px), 8.33% calc(100% - 2px), 6.25% calc(100% - 6px), 4.17% calc(100% - 3px), 2.08% calc(100% - 5px), 0.00% calc(100% - 6px));
}

*, *::before, *::after { box-sizing: border-box; }

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

body {
    margin: 0;
    overflow-x: hidden;
    font-family: var(--font-text);
    font-size: 1.0625rem;
    line-height: 1.65;
    letter-spacing: 0.012em;
    color: var(--tekst-svet);
    background-color: var(--kolenkor);
    background-image:
        radial-gradient(ellipse 420px 300px at 18% 22%, rgba(0, 0, 0, 0.2), transparent 70%),
        radial-gradient(ellipse 360px 260px at 82% 70%, rgba(0, 0, 0, 0.18), transparent 70%),
        radial-gradient(ellipse 300px 200px at 52% 96%, rgba(201, 162, 39, 0.045), transparent 70%),
        linear-gradient(rgba(217, 210, 190, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(217, 210, 190, 0.04) 1px, transparent 1px),
        repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.06) 0 1px, transparent 1px 5px);
    background-size: 1500px 1300px, 1500px 1300px, 1500px 1300px, 22px 22px, 22px 22px, auto;
}

.kcard-title { hyphens: manual; }
p, li, dd, td, th, figcaption, blockquote, .brand-name, .brand-desc, .entry-title, .list-title, .sec-title {
    overflow-wrap: break-word;
    hyphens: auto;
}

p { margin: 0 0 1em; }

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-head);
    font-weight: 700;
    line-height: 1.2;
    margin: 1.4em 0 0.55em;
}

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

a {
    color: var(--kinovar);
    text-decoration: underline dashed;
    text-decoration-color: var(--kinovar);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.15s ease, background-color 0.15s ease;
}
a:hover { color: var(--kinovar-deep); text-decoration-style: solid; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--zoloto);
    outline-offset: 2px;
}

.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: -4rem;
    z-index: 200;
    padding: 0.6rem 1rem;
    background: var(--bumaga);
    color: var(--tekst);
}
.skip-link:focus { top: 1rem; }

.shell {
    width: min(85%, 1240px);
    margin-inline: auto;
}

/* ---------- Бумажные поверхности ---------- */
.masthead,
.leaf--paper,
.sheet,
.list-head {
    background-color: var(--bumaga);
    background-image:
        radial-gradient(ellipse 22% 30% at 8% 20%, rgba(150, 110, 50, 0.08), transparent 70%),
        radial-gradient(ellipse 18% 26% at 92% 78%, rgba(150, 110, 50, 0.09), transparent 70%),
        radial-gradient(ellipse 30% 20% at 60% 8%, rgba(120, 90, 40, 0.05), transparent 70%),
        linear-gradient(90deg, rgba(90, 70, 40, 0.06), transparent 4%, transparent 96%, rgba(90, 70, 40, 0.07)),
        var(--paper-tex);
    background-size: auto, auto, auto, auto, 960px auto;
    color: var(--tekst);
}

/* ---------- Кнопки-штампы ---------- */
.stamp-btn {
    display: inline-block;
    padding: 0.72rem 1.4rem;
    border: 4px double var(--shalfey);
    border-radius: 0;
    background: transparent;
    color: var(--tekst);
    font-family: var(--font-head);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.3;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease, transform 0.12s ease;
}
.stamp-btn:hover {
    background: var(--shalfey);
    color: var(--kolenkor);
    transform: translate(2px, 2px);
}
.stamp-btn--light { color: var(--tekst-svet); }
.stamp-btn--light:hover { color: var(--kolenkor); }

/* ---------- Шапка ---------- */
.masthead {
    margin: 10px 10px 0;
    padding-bottom: 12px;
    clip-path: var(--torn);
}
.masthead-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.2rem 2.5rem;
    align-items: start;
    padding: 1.9rem 0 1.1rem;
}
.brand {
    display: flex;
    align-items: flex-start;
    gap: 1.3rem;
    min-width: 0;
    color: var(--tekst);
    text-decoration: none;
}
.brand:hover { color: var(--tekst); }
.brand-mark { flex: 0 0 104px; display: block; align-self: flex-start; }
.brand-seal, .brand-logo { display: block; width: 104px; height: auto; }
.brand-text { min-width: 0; display: block; }
.brand-name {
    display: block;
    font-family: var(--font-head);
    font-weight: 800;
    font-size: clamp(1.05rem, 1.45vw, 1.38rem);
    line-height: 1.25;
    color: var(--tekst);
}
.brand-desc {
    display: block;
    margin-top: 0.45rem;
    max-width: 72ch;
    font-size: 0.9rem;
    font-style: italic;
    line-height: 1.5;
    color: var(--tekst-tih);
}
.masthead-rule {
    height: 6px;
    border-top: 2px solid var(--linejka);
    border-bottom: 1px solid var(--linejka);
    margin-bottom: 1.4rem;
}

.topnav { position: relative; }
.topnav-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    list-style: none;
    margin: 0.2rem 0 0;
    padding: 0;
}
.topnav-list li { position: relative; }
.topnav-list li + li { border-left: 1px solid var(--linejka); }
.topnav-list a {
    display: block;
    padding: 0.15rem 0.85rem;
    font-family: var(--font-head);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--tekst);
    text-decoration: none;
    white-space: nowrap;
}
.topnav-list li:last-child a { padding-right: 0; }
.topnav-list a:hover,
.topnav-list .current-menu-item > a { color: var(--kinovar); }
.topnav-list .current-menu-item > a { text-decoration: underline dashed var(--kinovar); text-underline-offset: 5px; }

.topnav-toggle {
    display: none;
    align-items: center;
    gap: 0.6rem;
    padding: 0.55rem 0.9rem;
    border: 4px double var(--shalfey);
    background: transparent;
    color: var(--tekst);
    font-family: var(--font-head);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    cursor: pointer;
}
.topnav-toggle-bars,
.topnav-toggle-bars::before,
.topnav-toggle-bars::after {
    display: block;
    width: 18px;
    height: 2px;
    background: var(--tekst);
    position: relative;
}
.topnav-toggle-bars::before, .topnav-toggle-bars::after { content: ""; position: absolute; left: 0; }
.topnav-toggle-bars::before { top: -6px; }
.topnav-toggle-bars::after { top: 6px; }

/* ---------- Секции главной ---------- */
.leaf { padding: 4.6rem 0; position: relative; }
.leaf--torn {
    margin: 14px 10px;
    clip-path: var(--torn);
}
.leaf--green { background: transparent; color: var(--tekst-svet); }
.leaf--ink {
    color: var(--tekst-svet);
    background-color: var(--chernila-sin);
    background-image:
        radial-gradient(ellipse 50% 60% at 50% 0%, rgba(201, 162, 39, 0.07), transparent 70%),
        repeating-linear-gradient(135deg, rgba(217, 210, 190, 0.035) 0 1px, transparent 1px 7px);
    overflow: hidden;
}

.sec-head { margin-bottom: 2.6rem; }
.sec-kicker {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin: 0 0 0.4rem;
    font-family: var(--font-head);
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--tekst-tih);
}
.sec-kicker::after {
    content: "";
    flex: 1 1 auto;
    min-width: 2rem;
    border-top: 1px solid currentColor;
    opacity: 0.6;
}
.sec-head--center .sec-kicker::before {
    content: "";
    flex: 1 1 auto;
    min-width: 2rem;
    border-top: 1px solid currentColor;
    opacity: 0.6;
}
.sec-num {
    font-size: 1.15rem;
    font-style: italic;
    letter-spacing: 0.05em;
    color: var(--kinovar);
}
.sec-title {
    margin: 0.15em 0 0.35em;
    font-size: clamp(2.1rem, 4.6vw, 3.8rem);
    font-weight: 750;
    line-height: 1.06;
    letter-spacing: -0.01em;
}
.sec-lead {
    max-width: 62ch;
    margin: 0;
    font-style: italic;
    color: var(--tekst-tih);
}
.sec-head--center { text-align: center; }
.sec-head--center .sec-lead { margin-inline: auto; }

.leaf--green .sec-kicker,
.leaf--ink .sec-kicker { color: rgba(217, 210, 190, 0.75); }
.leaf--green .sec-num,
.leaf--ink .sec-num { color: var(--zoloto); }
.leaf--green .sec-title,
.leaf--ink .sec-title { color: var(--bumaga); }
.leaf--green .sec-lead,
.leaf--ink .sec-lead { color: rgba(217, 210, 190, 0.8); }
.leaf--green a:not(.stamp-btn),
.leaf--ink a:not(.stamp-btn) { color: var(--zoloto); text-decoration-color: var(--zoloto); }

/* Блок I — лента времени */
.vehi {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0 1.8rem;
    list-style: none;
    margin: 0;
    padding: 0 1.4rem 0 0;
}
.vehi::before {
    content: "";
    position: absolute;
    left: -1.4rem;
    right: 0;
    bottom: 2.7rem;
    border-top: 2px solid var(--tekst);
}
.vehi::after {
    content: "";
    position: absolute;
    right: -4px;
    bottom: calc(2.7rem - 7px);
    border-left: 16px solid var(--tekst);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
}
.veha {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.veha-fig { margin: 0; }
.veha-fig img {
    display: block;
    width: 100%;
    max-width: 190px;
    aspect-ratio: 10 / 11;
    object-fit: contain;
    object-position: left bottom;
}
.veha-note {
    flex: 1;
    margin: 0.9rem 0 1.4rem;
    padding-left: 0.75rem;
    border-left: 1px solid var(--shalfey);
    font-size: 0.9rem;
    line-height: 1.5;
    font-style: italic;
    color: var(--tekst-tih);
}
.veha-note p { margin: 0; }
.veha-name {
    margin: 0 0 0.3rem;
    font-size: 1.02rem;
    font-style: normal;
    font-weight: 650;
    color: var(--tekst);
}
.veha-year {
    position: relative;
    display: block;
    padding-top: 1.1rem;
    font-family: var(--font-head);
    font-size: 1.6rem;
    line-height: 1;
    color: var(--tekst);
}
.veha-year::before {
    content: "";
    position: absolute;
    left: 0.3em;
    top: -0.6rem;
    width: 2px;
    height: 1.2rem;
    background: var(--tekst);
}

/* Блок II — аптека */
.apteka-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 3.5rem;
    align-items: center;
}
.apteka-fig { margin: 0; padding: 1.4rem 3rem 0; min-width: 0; }
.apteka-plate {
    position: relative;
    border: 6px solid var(--bumaga);
    outline: 1px solid rgba(201, 162, 39, 0.55);
    outline-offset: 6px;
}
.apteka-plate img {
    display: block;
    width: 100%;
    aspect-ratio: 804 / 618;
    object-fit: cover;
}
.apteka-lines {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}
.apteka-halo { stroke: rgba(232, 223, 200, 0.85); stroke-width: 7px; stroke-linecap: round; }
.apteka-line { stroke: var(--shalfey); stroke-width: 2px; stroke-linecap: round; }
.callout-dot {
    position: absolute;
    width: 11px;
    height: 11px;
    margin: -5.5px 0 0 -5.5px;
    border-radius: 50%;
    background: var(--shalfey);
    box-shadow: 0 0 0 2px var(--bumaga);
    font-size: 0;
    color: transparent;
}
.callout-label {
    position: absolute;
    padding: 0.05rem 0.5rem;
    background: var(--kolenkor);
    border: 1px solid rgba(138, 154, 91, 0.75);
    font-family: var(--font-head);
    font-style: italic;
    font-size: 0.88rem;
    line-height: 1.35;
    color: var(--tekst-svet);
    white-space: nowrap;
}
.callout-label.is-right { transform: translate(-60%, calc(-100% - 4px)); }
.callout-label.is-left { transform: translate(-40%, calc(-100% - 4px)); }
.apteka-legend { display: none; }

.apteka-text { min-width: 0; }
.apteka-title {
    margin: 0.3rem 0 1.2rem;
    font-size: clamp(1.9rem, 3.2vw, 2.9rem);
    font-weight: 700;
    line-height: 1.12;
    color: var(--bumaga);
}
.apteka-text p:not(.sec-kicker) {
    max-width: 52ch;
    font-size: 0.98rem;
    color: var(--tekst-svet);
}
.apteka-text .stamp-btn { margin-top: 0.8rem; }

/* Блок «Из архива блога» — каталожные карточки */
.card-stack {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 0.6rem 1.2rem 1.2rem;
}
.card-stack .kcard-wrap {
    flex: 0 1 34%;
    min-width: 0;
    margin-inline: -0.9%;
    position: relative;
    transition: transform 0.2s ease;
}
.card-stack .kcard-wrap:nth-child(1) { transform: rotate(-2.4deg) translateY(10px); z-index: 1; }
.card-stack .kcard-wrap:nth-child(2) { transform: rotate(1deg); z-index: 2; }
.card-stack .kcard-wrap:nth-child(3) { transform: rotate(2.6deg) translateY(18px); z-index: 1; }
.card-stack .kcard-wrap:nth-child(2) .kcard-body { padding-bottom: 1.9rem; }
.card-stack .kcard-wrap:nth-child(4) { transform: rotate(-1.4deg) translateY(4px); z-index: 2; }
.card-stack .kcard-wrap:hover { transform: rotate(0deg) translateY(-6px); z-index: 5; }
.card-stack:has(> .kcard-wrap:nth-child(4)) { flex-wrap: wrap; row-gap: 2.4rem; }
.card-stack:has(> .kcard-wrap:nth-child(4)) .kcard-wrap { flex-basis: 46%; }
.archive-more { text-align: center; margin: 3rem 0 0; }

.kcard-wrap { filter: drop-shadow(0 10px 14px rgba(42, 36, 24, 0.3)); }
.kcard {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    color: var(--tekst);
    background-color: var(--bumaga-light);
    background-image: var(--paper-tex);
    background-size: 960px auto;
    clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%);
}
.kcard::before {
    content: "";
    position: absolute;
    inset: 8px;
    border: 1px solid rgba(107, 99, 80, 0.55);
    pointer-events: none;
}
.kcard::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 40px;
    background: linear-gradient(225deg, transparent 50%, rgba(107, 99, 80, 0.55) 50%, rgba(107, 99, 80, 0.55) calc(50% + 1px), transparent calc(50% + 1px));
    pointer-events: none;
}
.kcard-head {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.4rem 1.5rem 0.7rem;
}
.kcard-thumb {
    flex: 0 0 40%;
    min-width: 0;
    padding: 3px;
    border: 1px solid var(--tekst-tih);
    background: var(--bumaga);
}
.kcard-thumb a { display: block; }
.kcard-thumb img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 6 / 5;
    object-fit: cover;
    filter: grayscale(1) sepia(0.35) contrast(1.05);
}
.kcard-headtext { flex: 1; min-width: 0; padding-right: 0.6rem; }
.kcard-no {
    display: block;
    padding-bottom: 0.25rem;
    border-bottom: 1px dotted var(--tekst-tih);
    font-family: var(--font-head);
    font-size: 0.68rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--tekst-tih);
}
.kcard-title {
    margin: 0.45rem 0 0;
    font-size: 1.14rem;
    font-weight: 650;
    line-height: 1.22;
}
.kcard-title a { color: var(--tekst); text-decoration: none; }
.kcard-title a:hover { color: var(--kinovar); }
.kcard-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 0.2rem 1.5rem 1.4rem;
    background-image: repeating-linear-gradient(to bottom, transparent 0 calc(1.6rem - 1px), rgba(107, 99, 80, 0.26) calc(1.6rem - 1px) 1.6rem);
    background-position: 0 0.15rem;
}
.kcard-excerpt {
    flex: 1;
    font-size: 0.95rem;
    line-height: 1.6rem;
}
.kcard-excerpt p { margin: 0 0 0.5em; background: none; }
.kcard-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    margin-top: 0.6rem;
}
.kcard-foot .entry-date { font-style: italic; font-size: 0.86rem; color: var(--tekst-tih); }
.kcard-stamp {
    display: inline-block;
    padding: 0.32rem 0.75rem;
    border: 4px double var(--kinovar);
    font-family: var(--font-head);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--kinovar);
    text-decoration: none;
    transform: rotate(-3deg);
}
.kcard-stamp:hover { background: var(--kinovar); color: var(--bumaga-light); transform: rotate(0deg); }

.empty-note { font-style: italic; color: var(--tekst-tih); text-align: center; }
.empty-note--dark { color: var(--tekst-svet); text-align: left; }

/* Блок IV — традиции */
.scrolls {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.6rem;
}
.scroll { min-width: 0; text-align: center; }
.scroll-fig {
    position: relative;
    margin: 0 0 1.1rem;
    padding: 12px 14px;
    border-left: 4px double rgba(201, 162, 39, 0.75);
    border-right: 4px double rgba(201, 162, 39, 0.75);
    box-shadow: inset 0 0 0 5px var(--chernila-sin), inset 0 0 0 6px rgba(217, 210, 190, 0.35);
}
.scroll-fig::before,
.scroll-fig::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 2.6rem;
    border-top: 1px solid var(--zoloto);
}
.scroll-fig::before { right: 100%; }
.scroll-fig::after { left: 100%; }
.scroll:first-child .scroll-fig::before { width: 12rem; }
.scroll:last-child .scroll-fig::after { width: 12rem; }
.scroll-fig img {
    display: block;
    width: 100%;
    aspect-ratio: 163 / 202;
    object-fit: cover;
}
.scroll-title {
    margin: 0 0 0.4rem;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--bumaga);
}
.scroll-text {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: rgba(217, 210, 190, 0.82);
}

/* Блок V — инструменты */
.tools-frame {
    padding: 3rem 2.6rem 2.8rem;
    border: 1px solid rgba(217, 210, 190, 0.4);
    background: rgba(0, 0, 0, 0.14);
    box-shadow: inset 0 0 0 6px var(--kolenkor), inset 0 0 0 7px rgba(217, 210, 190, 0.22);
}
.tools-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(217, 210, 190, 0.18);
    border-left: 1px solid rgba(217, 210, 190, 0.18);
}
.tool {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.4rem 0.8rem;
    min-width: 0;
    padding: 1.3rem 1.1rem 1.1rem;
    border-right: 1px solid rgba(217, 210, 190, 0.18);
    border-bottom: 1px solid rgba(217, 210, 190, 0.18);
}
.tool-num {
    font-family: var(--font-head);
    font-size: 1.7rem;
    line-height: 1;
    color: var(--zoloto);
}
.tool img {
    display: block;
    width: 100%;
    height: 66px;
    object-fit: contain;
}
.tool-name {
    grid-column: 1 / -1;
    text-align: center;
    font-family: var(--font-head);
    font-style: italic;
    font-size: 0.9rem;
    color: rgba(217, 210, 190, 0.88);
}

/* ---------- Внутренние страницы ---------- */
.inner { padding: 2.4rem 0 4.5rem; }

.crumbs {
    margin-bottom: 1.6rem;
    font-size: 0.88rem;
    color: var(--tekst-svet);
}
.crumbs a { color: var(--zoloto); text-decoration-color: var(--zoloto); }
.crumbs-sep { margin: 0 0.3rem; opacity: 0.6; }
.crumbs-current { color: rgba(217, 210, 190, 0.85); }

.layout-with-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 67fr) minmax(0, 27fr);
    column-gap: 6%;
    align-items: start;
}
.layout-single { display: block; }
.content-area { min-width: 0; }

.list-head {
    position: relative;
    margin-bottom: 2.2rem;
    padding: 1.8rem 2.2rem 1.6rem;
    clip-path: var(--torn);
}
.list-title {
    margin: 0.1rem 0 0.2rem;
    font-size: clamp(2rem, 4vw, 3.1rem);
    font-weight: 750;
    line-height: 1.1;
    color: var(--tekst);
}
.list-intro { margin-top: 0.8rem; color: var(--tekst-tih); }
.list-intro p:last-child { margin-bottom: 0; }

.card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.2rem 1.8rem;
}
.layout-with-sidebar .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid .kcard-wrap { min-width: 0; transition: transform 0.2s ease; }
.card-grid .kcard-wrap:nth-child(odd) { transform: rotate(-0.6deg); }
.card-grid .kcard-wrap:nth-child(even) { transform: rotate(0.7deg); }
.card-grid .kcard-wrap:hover { transform: rotate(0deg) translateY(-4px); }

.sheet {
    position: relative;
    padding: clamp(1.6rem, 4vw, 3.2rem) clamp(1.4rem, 4.5vw, 3.4rem);
}
.sheet::before {
    content: "";
    position: absolute;
    inset: 10px;
    border: 1px solid rgba(107, 99, 80, 0.45);
    pointer-events: none;
}

.entry-head { margin-bottom: 1.6rem; }
.entry-cat {
    margin: 0 0 0.5rem;
    font-family: var(--font-head);
    font-size: 0.76rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}
.entry-title {
    margin: 0 0 0.5rem;
    font-size: clamp(1.9rem, 4vw, 3rem);
    font-weight: 750;
    line-height: 1.12;
    color: var(--tekst);
}
.entry-meta { margin: 0; font-style: italic; color: var(--tekst-tih); }
.entry-cover { margin: 0 0 2rem; padding: 5px; border: 1px solid var(--tekst-tih); background: var(--bumaga-light); }
.entry-cover img { display: block; width: 100%; height: auto; }

.entry-content { color: var(--tekst); }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2 {
    font-size: 1.75rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid rgba(107, 99, 80, 0.5);
}
.entry-content h3 { font-size: 1.35rem; }
.entry-content h4 { font-size: 1.12rem; }
.entry-content ul, .entry-content ol { padding-left: 1.4rem; margin: 0 0 1.2em; }
.entry-content ul { list-style: none; }
.entry-content ul li { position: relative; }
.entry-content ul li::before {
    content: "";
    position: absolute;
    left: -1.1rem;
    top: 0.68em;
    width: 7px;
    height: 7px;
    background: var(--shalfey);
    transform: rotate(45deg);
}
.entry-content ol li::marker { font-family: var(--font-head); color: var(--kinovar); }
.entry-content li { margin-bottom: 0.35em; }
.entry-content blockquote {
    margin: 1.6em 0;
    padding: 1.1rem 1.5rem;
    border-left: 4px solid var(--kinovar);
    background: rgba(255, 255, 255, 0.35);
    font-style: italic;
}
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content table {
    width: 100%;
    margin: 1.4em 0;
    border-collapse: collapse;
    border: 1px solid var(--tekst-tih);
    font-size: 0.95rem;
}
.entry-content th, .entry-content td {
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--tekst-tih);
    text-align: left;
    vertical-align: top;
}
.entry-content th { background: rgba(42, 59, 46, 0.1); font-family: var(--font-head); }
.entry-content figure { margin: 1.6em 0; }
.entry-content figcaption { font-size: 0.86rem; font-style: italic; color: var(--tekst-tih); margin-top: 0.4rem; }
.entry-content pre {
    overflow-x: auto;
    padding: 1rem 1.2rem;
    background: rgba(42, 36, 24, 0.08);
    font-size: 0.9rem;
}
.entry-content hr { border: 0; border-top: 1px solid var(--tekst-tih); margin: 2em 0; }
.page-links { margin-top: 1.5rem; font-family: var(--font-head); }
.entry-tags { margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; font-size: 0.9rem; }

/* ---------- Сайдбар ---------- */
.sidebar {
    min-width: 0;
    padding: 1.7rem 1.6rem;
    color: var(--tekst-svet);
    background-color: var(--chernila-sin);
    background-image: repeating-linear-gradient(135deg, rgba(217, 210, 190, 0.035) 0 1px, transparent 1px 7px);
    border: 1px solid rgba(201, 162, 39, 0.45);
    box-shadow: inset 0 0 0 5px var(--chernila-sin), inset 0 0 0 6px rgba(201, 162, 39, 0.25);
}
.sidebar .widget + .widget { margin-top: 2rem; }
.sidebar .widget-title,
.colophon .widget-title {
    margin: 0 0 0.9rem;
    padding-bottom: 0.5rem;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--zoloto);
    border-bottom: 1px solid rgba(201, 162, 39, 0.4);
}
.sidebar ul,
.colophon ul { list-style: none; margin: 0; padding: 0; }
.sidebar li {
    padding: 0.55rem 0;
    border-bottom: 1px dashed rgba(217, 210, 190, 0.22);
    line-height: 1.4;
}
.sidebar a { color: var(--bumaga); text-decoration: none; }
.sidebar a:hover { color: var(--zoloto); text-decoration: underline dashed var(--zoloto); }
.sidebar .post-date,
.sidebar .rss-date { display: block; font-size: 0.8rem; color: rgba(217, 210, 190, 0.7); }
.sidebar p { color: var(--tekst-svet); }
.sidebar .seek-field,
.colophon .seek-field {
    color: var(--bumaga);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(217, 210, 190, 0.4);
}
.sidebar .seek-field::placeholder,
.colophon .seek-field::placeholder { color: rgba(217, 210, 190, 0.6); }
.sidebar .seek-btn,
.colophon .seek-btn { color: var(--tekst-svet); }
.sidebar .seek-btn:hover,
.colophon .seek-btn:hover { color: var(--kolenkor); }

/* ---------- Поиск ---------- */
.seek { display: flex; gap: 0.5rem; margin: 1rem 0; }
.seek-field {
    flex: 1;
    min-width: 0;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--tekst-tih);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.55);
    color: var(--tekst);
    font: inherit;
}
.seek-btn { flex: 0 0 auto; }

/* ---------- Пагинация ---------- */
.pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin: 2.8rem 0 0;
}
.pager .page-numbers {
    display: inline-block;
    min-width: 2.7rem;
    padding: 0.45rem 0.8rem;
    border: 4px double rgba(217, 210, 190, 0.5);
    font-family: var(--font-head);
    font-size: 0.95rem;
    text-align: center;
    color: var(--tekst-svet);
    text-decoration: none;
}
.pager a.page-numbers:hover { background: var(--shalfey); border-color: var(--shalfey); color: var(--kolenkor); }
.pager .page-numbers.current { background: var(--kinovar); border-color: var(--bumaga); color: var(--bumaga); }
.pager .page-numbers.dots { border-color: transparent; min-width: 0; }

/* ---------- 404 ---------- */
.lost { text-align: center; }
.lost-code {
    margin: 0;
    font-family: var(--font-head);
    font-size: clamp(5rem, 14vw, 9rem);
    font-weight: 800;
    line-height: 1;
    color: var(--kinovar);
}
.lost .seek { max-width: 520px; margin: 1.6rem auto; }
.lost-home { margin: 1.4rem 0 0; }

/* ---------- Комментарии ---------- */
.remarks { margin-top: 2.2rem; color: var(--tekst); }
.remarks-title { margin-top: 0; font-size: 1.6rem; }
.remarks-list, .remarks-list .children { list-style: none; margin: 0; padding: 0; }
.remarks-list .children { margin-left: 1.6rem; }
.note-body { padding: 1rem 0; border-bottom: 1px dashed rgba(107, 99, 80, 0.5); }
.note-head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.8rem; margin-bottom: 0.5rem; }
.note-head img { display: block; border-radius: 50%; filter: grayscale(1) sepia(0.3); }
.note-author { font-family: var(--font-head); font-weight: 700; }
.note-date { font-size: 0.85rem; font-style: italic; color: var(--tekst-tih); }
.note-wait { font-style: italic; color: var(--kinovar); }
.note-reply { font-size: 0.88rem; }
.comment-respond { margin-top: 1.6rem; }
.comment-reply-title { font-size: 1.4rem; margin-top: 0; }
.comment-reply-title small { margin-left: 0.6rem; font-size: 0.85rem; }
.comment-form label { display: block; margin-bottom: 0.3rem; font-size: 0.9rem; font-family: var(--font-head); }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    display: block;
    width: 100%;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--tekst-tih);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.55);
    color: var(--tekst);
    font: inherit;
}
.comment-form-cookies-consent { display: flex; gap: 0.5rem; align-items: flex-start; }
.comment-form-cookies-consent label { display: inline; font-family: var(--font-text); }
.comment-notes, .logged-in-as { font-size: 0.9rem; color: var(--tekst-tih); }
.remarks-closed { font-style: italic; color: var(--tekst-tih); }
.comment-navigation, .comments-pagination { margin: 1rem 0; display: flex; justify-content: space-between; gap: 1rem; }

/* ---------- Подвал ---------- */
.colophon {
    padding: 3.6rem 0 1.6rem;
    color: var(--tekst-svet);
    background-color: var(--kolenkor-deep);
    background-image:
        repeating-linear-gradient(0deg, rgba(217, 210, 190, 0.05) 0 1px, transparent 1px 18px),
        repeating-linear-gradient(90deg, rgba(217, 210, 190, 0.05) 0 1px, transparent 1px 18px);
    border-top: 4px double rgba(201, 162, 39, 0.5);
}
.colophon-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.5rem 3.5rem;
}
.colophon-col { min-width: 0; font-size: 0.95rem; }
.colophon .widget + .widget { margin-top: 1.6rem; }
.colophon p, .colophon .textwidget { color: var(--tekst-svet); }
.colophon li { padding: 0.25rem 0; }
.colophon a { color: var(--bumaga); text-decoration: underline dashed rgba(201, 162, 39, 0.7); text-underline-offset: 4px; }
.colophon a:hover { color: var(--zoloto); }
.colophon .post-date { display: block; font-size: 0.8rem; color: rgba(217, 210, 190, 0.7); }
.colophon-copy {
    margin: 2.8rem 0 0;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(217, 210, 190, 0.2);
    text-align: center;
    font-size: 0.86rem;
    color: rgba(217, 210, 190, 0.78);
}

/* ---------- Cookie-баннер ---------- */
.cookie-banner {
    position: fixed;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 150;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    max-width: 780px;
    margin-inline: auto;
    padding: 1rem 1.4rem;
    color: var(--tekst-svet);
    background: var(--chernila-sin);
    border: 1px solid var(--zoloto);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45), inset 0 0 0 4px var(--chernila-sin), inset 0 0 0 5px rgba(201, 162, 39, 0.35);
}
.cookie-text { margin: 0; flex: 1; min-width: 0; font-size: 0.9rem; line-height: 1.5; }
.cookie-accept { flex: 0 0 auto; color: var(--tekst-svet); }
.cookie-accept:hover { color: var(--kolenkor); }

/* ---------- Адаптив ---------- */
@media (max-width: 1100px) {
    .vehi { gap: 0 1.2rem; }
    .veha-note { font-size: 0.85rem; }
}

@media (max-width: 960px) {
    .masthead-inner { grid-template-columns: minmax(0, 1fr); }
    .topnav-toggle { display: inline-flex; }
    .topnav-list {
        display: none;
        flex-direction: column;
        justify-content: flex-start;
        margin-top: 0.8rem;
        border-top: 1px solid var(--linejka);
    }
    .topnav.is-open .topnav-list { display: flex; }
    .topnav-list li + li { border-left: 0; }
    .topnav-list li { border-bottom: 1px solid rgba(42, 59, 46, 0.3); }
    .topnav-list a, .topnav-list li:last-child a { padding: 0.7rem 0.2rem; white-space: normal; }

    .apteka-grid { grid-template-columns: minmax(0, 1fr); gap: 2.6rem; }
    .scrolls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem 2rem; }
    .scroll-fig::before, .scroll-fig::after { display: none; }
    .tools-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .layout-with-sidebar { display: block; }
    .sidebar { margin-top: 2.6rem; }
    .colophon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .vehi {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
        padding: 0 0 0 2rem;
    }
    .vehi::before {
        left: 0.4rem;
        right: auto;
        top: 0.4rem;
        bottom: 0.6rem;
        border-top: 0;
        border-left: 2px solid var(--tekst);
    }
    .vehi::after {
        right: auto;
        left: calc(0.4rem - 7px);
        bottom: -4px;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 16px solid var(--tekst);
        border-bottom: 0;
    }
    .veha {
        display: grid;
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 0.6rem 1rem;
        align-items: start;
    }
    .veha-year { order: -1; grid-column: 1 / -1; padding-top: 0; font-size: 1.45rem; }
    .veha-year::before { left: -1.9rem; top: 0.5em; width: 1.2rem; height: 2px; }
    .veha-note { margin: 0; }

    .card-stack { flex-direction: column; align-items: stretch; gap: 1.6rem; padding: 0; }
    .card-stack .kcard-wrap { flex: none; margin: 0; }
    .card-stack .kcard-wrap:nth-child(1) { transform: rotate(-1deg); }
    .card-stack .kcard-wrap:nth-child(2) { transform: rotate(0.6deg); }
    .card-stack .kcard-wrap:nth-child(3) { transform: rotate(1deg); }
}

@media (max-width: 600px) {
    body { font-size: 1rem; }
    .shell { width: 92%; }
    .masthead { margin: 6px 6px 0; }
    .leaf { padding: 3.2rem 0; }
    .leaf--torn { margin: 10px 6px; }
    .brand { gap: 0.9rem; align-items: flex-start; }
    .brand-mark { flex-basis: 64px; }
    .brand-seal, .brand-logo { width: 64px; }
    .brand-desc { font-size: 0.84rem; }

    .apteka-fig { padding: 0; }
    .apteka-plate { overflow: hidden; }
    .callout-label { display: none; }
    .callout-dot {
        width: 1.4rem;
        height: 1.4rem;
        margin: -0.7rem 0 0 -0.7rem;
        font-family: var(--font-head);
        font-size: 0.78rem;
        line-height: 1.4rem;
        text-align: center;
        color: var(--bumaga);
        background: var(--kolenkor);
        box-shadow: 0 0 0 2px var(--bumaga);
    }
    .apteka-legend {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem 1.2rem;
        margin-top: 1.1rem;
        font-family: var(--font-head);
        font-style: italic;
        font-size: 0.9rem;
        color: var(--tekst-svet);
    }
    .apteka-legend b { font-style: normal; color: var(--zoloto); }

    .scrolls { grid-template-columns: minmax(0, 1fr); }
    .scroll-fig { max-width: 320px; margin-inline: auto; }
    .tools-frame { padding: 2rem 1.1rem; }
    .tools-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tool { padding: 1rem 0.7rem; }
    .tool img { height: 50px; }
    .card-grid,
    .layout-with-sidebar .card-grid { grid-template-columns: minmax(0, 1fr); }
    .kcard-head { padding: 1.2rem 1.2rem 0.6rem; }
    .kcard-body { padding: 0.2rem 1.2rem 1.2rem; }
    .list-head { padding: 1.4rem 1.3rem; }
    .sidebar { padding: 1.4rem 1.2rem; }
    .colophon-grid { grid-template-columns: minmax(0, 1fr); }
    .cookie-banner { flex-direction: column; align-items: stretch; padding: 1rem 1.1rem; }
    .cookie-accept { align-self: flex-start; }
    .seek { flex-direction: column; }
    .seek-btn { align-self: flex-start; }
}

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