/*
Theme Name: dds_sergiorubioestilistas.com
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: srestil
*/

/* ---------- Шрифты ---------- */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/manrope-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: "Manrope"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/manrope-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+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/manrope-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: "Manrope"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/manrope-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+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/manrope-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/manrope-latin-600-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+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/manrope-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: "Manrope"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/manrope-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+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/ibm-plex-mono-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: "Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/ibm-plex-mono-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+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/ibm-plex-mono-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: "Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/ibm-plex-mono-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+20AC, U+2122, U+2190-2199, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- Переменные ---------- */
:root {
    --sr-bg: #1C1E22;
    --sr-grid: #33373D;
    --sr-line: #4A505A;
    --sr-foot: #121417;
    --sr-panel: #202328;
    --sr-aside: #23262B;
    --sr-field: #16181B;
    --sr-text: #EDEAE4;
    --sr-soft: #B9B9B4;
    --sr-muted: #8A9099;
    --sr-copper: #C8794A;
    --sr-copper-hi: #D98E60;
    --sr-mint: #7FD1B9;
    --sr-frame: #5A616B;
    --sr-ink: #121417;
    --sr-sans: "Manrope", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    --sr-mono: "Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --sr-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15'%3E%3Cpath d='M7.5 0v15M0 7.5h15' stroke='%23C8794A' stroke-width='1.2'/%3E%3C/svg%3E");
}

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

/* ---------- База ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
    margin: 0;
    overflow-x: hidden;
    font-family: var(--sr-sans);
    font-size: 16px;
    line-height: 1.6;
    color: var(--sr-text);
    background-color: var(--sr-bg);
    background-image:
        linear-gradient(rgba(51, 55, 61, .55) 1px, transparent 1px),
        linear-gradient(90deg, rgba(51, 55, 61, .55) 1px, transparent 1px),
        linear-gradient(rgba(51, 55, 61, .22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(51, 55, 61, .22) 1px, transparent 1px);
    background-size: 120px 120px, 120px 120px, 24px 24px, 24px 24px;
    background-position: -1px -1px;
    -webkit-font-smoothing: antialiased;
}
p, li, dd, h1, h2, h3, h4, figcaption, blockquote { overflow-wrap: break-word; hyphens: auto; }
p { margin: 0 0 1em; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 .6em; line-height: 1.15; font-weight: 500; letter-spacing: -.01em; color: var(--sr-text); }
img { max-width: 100%; height: auto; }
a { color: var(--sr-text); text-decoration: underline; text-decoration-color: var(--sr-mint); text-underline-offset: 3px; text-decoration-thickness: 1px; transition: color .2s, text-decoration-color .2s; }
a:hover { color: var(--sr-mint); }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--sr-mint); outline-offset: 2px; }
::selection { background: var(--sr-copper); color: var(--sr-ink); }

.sr-skip { position: absolute; left: 1rem; top: -100px; z-index: 100; padding: .6rem 1rem; background: var(--sr-copper); color: var(--sr-ink); text-decoration: none; }
.sr-skip:focus { top: 1rem; }
.sr-visually-hidden, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.sr-shell { width: min(92%, 1240px); margin-inline: auto; position: relative; }
.sr-main { display: block; position: relative; z-index: 1; padding-bottom: 5rem; }

/* Линейка у левого края */
.sr-ruler { display: none; }
@media (min-width: 961px) {
    .sr-shell { width: min(85%, 1240px); }
    .sr-ruler {
        display: block;
        position: fixed;
        top: 0; bottom: 0; left: 0;
        width: 26px;
        z-index: 0;
        pointer-events: none;
        border-right: 1px solid rgba(74, 80, 90, .6);
        background-image:
            repeating-linear-gradient(to bottom, rgba(138, 144, 153, .55) 0 1px, transparent 1px 60px),
            repeating-linear-gradient(to bottom, rgba(90, 97, 107, .7) 0 1px, transparent 1px 12px);
        background-size: 26px 100%, 9px 100%;
        background-position: 0 0, 17px 0;
        background-repeat: no-repeat;
    }
}

/* ---------- Кнопки ---------- */
.sr-btn {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .78rem 1.3rem;
    font: 600 .92rem/1.2 var(--sr-sans);
    letter-spacing: .02em;
    color: var(--sr-text);
    background: transparent;
    border: 1px solid var(--sr-copper);
    border-radius: 0;
    text-decoration: none;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s, background-color .15s, color .15s;
}
.sr-btn:hover { color: var(--sr-text); transform: translate(-2px, -2px); box-shadow: 3px 3px 0 var(--sr-mint); }
.sr-btn:active { transform: none; box-shadow: none; }
.sr-btn--fill { background: var(--sr-copper); color: var(--sr-ink); }
.sr-btn--fill:hover { background: var(--sr-copper-hi); color: var(--sr-ink); }

/* ---------- Шапка ---------- */
.sr-top { position: relative; z-index: 5; background: var(--sr-bg); border-bottom: 1px solid var(--sr-line); }
.sr-top::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 9px;
    background-image: repeating-linear-gradient(90deg, rgba(90, 97, 107, .8) 0 1px, transparent 1px 12px), repeating-linear-gradient(90deg, rgba(138, 144, 153, .7) 0 1px, transparent 1px 120px);
    background-size: 100% 5px, 100% 9px;
    background-repeat: no-repeat;
}
.sr-top__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; padding: 1.7rem 0 1.4rem; }
.sr-brand { display: flex; align-items: center; gap: 1rem; min-width: 0; text-decoration: none; color: var(--sr-text); }
.sr-brand:hover { color: var(--sr-text); }
.sr-brand__mark, .sr-brand__logo { flex: 0 0 64px; width: 64px; height: 64px; display: block; object-fit: contain; }
.sr-brand__text { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.sr-brand__name { font-size: 1.02rem; font-weight: 600; line-height: 1.3; max-width: 36ch; }
.sr-brand__desc { font-size: .76rem; line-height: 1.45; color: var(--sr-muted); max-width: 60ch; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.sr-nav__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem 2rem; }
.sr-nav__list a { display: inline-block; padding: .35rem 0; font-size: .95rem; color: var(--sr-text); text-decoration: none; border-bottom: 2px solid transparent; }
.sr-nav__list a:hover { color: var(--sr-copper-hi); }
.sr-nav__list .current-menu-item > a,
.sr-nav__list .current_page_item > a,
.sr-nav__list .current-menu-ancestor > a { color: var(--sr-copper); border-bottom-color: var(--sr-copper); }

.sr-burger { display: none; align-items: center; gap: .6rem; padding: .55rem .9rem; background: transparent; color: var(--sr-text); border: 1px solid var(--sr-frame); font: 500 .85rem/1 var(--sr-sans); cursor: pointer; }
.sr-burger__lines, .sr-burger__lines::before, .sr-burger__lines::after { display: block; width: 18px; height: 1.5px; background: var(--sr-copper); position: relative; }
.sr-burger__lines::before, .sr-burger__lines::after { content: ""; position: absolute; left: 0; }
.sr-burger__lines::before { top: -6px; }
.sr-burger__lines::after { top: 6px; }

@media (max-width: 960px) {
    .sr-top__inner { flex-wrap: wrap; }
    .sr-brand { flex: 1 1 0; }
    .sr-burger { display: inline-flex; }
    .sr-nav { display: none; flex: 1 0 100%; border-top: 1px solid var(--sr-line); }
    .sr-nav.is-open { display: block; }
    .sr-nav__list { flex-direction: column; gap: 0; padding: .6rem 0; }
    .sr-nav__list a { padding: .7rem 0; }
}
@media (max-width: 600px) {
    .sr-brand__mark, .sr-brand__logo { flex-basis: 48px; width: 48px; height: 48px; }
    .sr-brand__name { font-size: .9rem; }
    .sr-brand__desc { display: none; }
    .sr-burger__label { display: none; }
}

/* ---------- Общие элементы секций ---------- */
.sr-kicker {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 .9rem;
    font: 500 .72rem/1.4 var(--sr-mono);
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--sr-muted);
}
.sr-kicker::before { content: ""; flex: 0 0 30px; height: 1px; background: var(--sr-copper); }
.sr-kicker span { color: var(--sr-mint); }
.sr-h2 { font-size: clamp(1.75rem, 3.2vw, 2.6rem); margin: 0 0 2.2rem; }

.sr-sheet { position: relative; padding-top: 5rem; }
.sr-sheet::before {
    content: "";
    position: absolute;
    top: 2.4rem;
    left: -4%; right: -4%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--sr-line) 6%, var(--sr-line) 94%, transparent);
}

.sr-marks { position: relative; }
.sr-marks::after,
.sr-check__item::after,
.sr-card::after,
.sr-room::after {
    content: "";
    position: absolute;
    inset: -8px;
    pointer-events: none;
    background: var(--sr-cross) left top / 15px no-repeat, var(--sr-cross) right top / 15px no-repeat, var(--sr-cross) left bottom / 15px no-repeat, var(--sr-cross) right bottom / 15px no-repeat;
}

/* ---------- Блок 1: план ---------- */
.sr-plan { position: relative; padding: 2.4rem 0 1rem; }
.sr-plan__text { position: relative; z-index: 2; }
.sr-plan__title { font-size: clamp(2.3rem, 5vw, 4.6rem); font-weight: 500; line-height: 1.04; letter-spacing: -.025em; margin: 0 0 1.1rem; text-shadow: 0 2px 18px rgba(28, 30, 34, .8); }
.sr-plan__lead { font-size: clamp(1.05rem, 1.6vw, 1.4rem); color: var(--sr-text); margin: 0; text-shadow: 0 2px 12px rgba(28, 30, 34, .9); }
.sr-plan__fig { position: relative; margin: 2.2rem 0 2.6rem; }
.sr-plan__fig img { display: block; width: 100%; height: auto; aspect-ratio: 1664 / 928; }
.sr-tag {
    position: absolute;
    z-index: 2;
    padding: .18rem .5rem;
    font: 500 .66rem/1.3 var(--sr-mono);
    letter-spacing: .04em;
    white-space: nowrap;
    color: var(--sr-ink);
    background: var(--sr-mint);
}
.sr-tag--t { top: 0; left: var(--x); transform: translate(-50%, -100%); }
.sr-tag--b { top: 100%; left: var(--x); transform: translate(-50%, 0); }
.sr-tag--r { top: var(--y); right: 0; transform: translate(0, -50%); }
.sr-plan__legend { display: none; margin-top: 1rem; font: .78rem/1.5 var(--sr-mono); color: var(--sr-muted); }
.sr-plan__legend::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: .5rem; background: var(--sr-mint); vertical-align: -1px; }

.sr-plan__foot { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 2rem; }
.sr-scale {
    list-style: none;
    margin: 0;
    padding: 1.2rem 0 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    flex: 1 1 520px;
    max-width: 640px;
    border-top: 1px solid var(--sr-frame);
    position: relative;
}
.sr-scale li { position: relative; padding-right: 1rem; min-width: 0; }
.sr-scale li::before { content: ""; position: absolute; top: -1.2rem; left: 0; width: 1px; height: 12px; background: var(--sr-copper); transform: translateY(-50%); }
.sr-scale b { display: block; font: 500 1.05rem/1.2 var(--sr-mono); color: var(--sr-mint); }
.sr-scale b::after { content: " м²"; font-size: .8em; color: var(--sr-muted); }
.sr-scale span { display: block; font-size: .8rem; line-height: 1.4; color: var(--sr-muted); margin-top: .2rem; }
.sr-plan__actions { display: flex; flex-wrap: wrap; gap: .8rem; }

.sr-plan__stage { position: relative; }
@media (min-width: 961px) {
    .sr-plan__fig { margin-left: 24%; }
    .sr-plan__text { position: absolute; left: 0; top: 45%; transform: translateY(-50%); width: 62%; pointer-events: none; }
    .sr-plan__text a { pointer-events: auto; }
}
@media (min-width: 1360px) {
    .sr-tag--r { right: auto; left: 100%; }
}
@media (max-width: 700px) {
    .sr-tag { display: none; }
    .sr-plan__legend { display: block; }
    .sr-plan__fig { margin: 1.6rem 0 1.8rem; }
    .sr-scale { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.6rem; }
    .sr-scale li::before { display: none; }
}

/* ---------- Блок 2: чек-лист ---------- */
.sr-check__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.8rem; }
.sr-check__item { position: relative; display: flex; flex-direction: column; min-width: 0; padding: .7rem; border: 1px solid var(--sr-frame); background: rgba(28, 30, 34, .75); transition: border-color .2s, transform .2s; }
.sr-check__item:hover { border-color: var(--sr-copper); transform: translateY(-3px); }
.sr-check__item img { display: block; width: 100%; height: auto; aspect-ratio: 228 / 200; object-fit: cover; }
.sr-check__body { padding: .9rem .6rem .5rem; flex: 1; }
.sr-check__num { display: block; font-size: 2.8rem; font-weight: 400; line-height: 1; color: var(--sr-mint); letter-spacing: -.02em; margin-bottom: .45rem; }
.sr-check__title { font-size: 1.22rem; margin: 0 0 .45rem; }
.sr-check__body p { font-size: .88rem; line-height: 1.5; color: var(--sr-muted); margin: 0; }
@media (max-width: 960px) { .sr-check__row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .sr-check__row { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Карточки записей ---------- */
.sr-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.sr-cards--list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.card, .sr-card { display: flex; flex-direction: column; position: relative; min-width: 0; padding: 14px; border: 1px solid var(--sr-frame); background: rgba(28, 30, 34, .85); transition: border-color .2s, transform .2s; }
.sr-card:hover { border-color: var(--sr-copper); transform: translateY(-3px); }
.sr-card__thumb { position: relative; overflow: hidden; }
.sr-card__thumb a { display: block; text-decoration: none; }
.sr-card__thumb img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; transition: transform .4s; }
.sr-card:hover .sr-card__thumb img { transform: scale(1.03); }
.sr-card__noimg { display: grid; place-items: center; aspect-ratio: 16 / 10; background: var(--sr-panel); border: 1px dashed var(--sr-line); }
.sr-card__noimg svg { width: 64px; height: 64px; display: block; }
.sr-card__pin { position: absolute; top: 10px; left: 10px; padding: .15rem .5rem; font: 500 .66rem/1.4 var(--sr-mono); color: var(--sr-ink); background: var(--sr-mint); }
.card-body, .sr-card__body { flex: 1; display: flex; flex-direction: column; min-width: 0; padding: 1.1rem .3rem .3rem; }
.sr-card__title { font-size: 1.22rem; font-weight: 500; line-height: 1.3; margin: 0 0 .6rem; }
.sr-card__title a { text-decoration: none; color: var(--sr-text); }
.sr-card__title a:hover { color: var(--sr-copper-hi); }
.card-excerpt, .sr-card__excerpt { font-size: .9rem; line-height: 1.55; color: var(--sr-muted); }
.card-excerpt p { margin: 0 0 .5em; background: none; }
.sr-card__excerpt a { color: var(--sr-soft); }
.sr-card__foot { margin-top: auto; padding-top: .9rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; border-top: 1px solid var(--sr-grid); }
.sr-card__date { font: .76rem/1.4 var(--sr-mono); color: var(--sr-muted); }
.sr-card__more { font-size: .88rem; font-weight: 600; text-decoration: none; color: var(--sr-text); }
.sr-card__more span { color: var(--sr-copper); display: inline-block; transition: transform .2s; }
.sr-card__more:hover { color: var(--sr-copper-hi); }
.sr-card__more:hover span { transform: translateX(4px); }
.sr-latest__more { margin: 2.4rem 0 0; }
@media (max-width: 960px) { .sr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sr-cards, .sr-cards--list { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Блок 3: помещения ---------- */
.sr-rooms__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.8rem; }
.sr-room { position: relative; margin: 0; min-width: 0; border: 1px solid var(--sr-copper); background: var(--sr-panel); }
.sr-room img { display: block; width: 100%; height: auto; aspect-ratio: 660 / 360; object-fit: cover; }
.sr-room__spec {
    position: absolute;
    top: 0; left: 0;
    margin: 0;
    padding: .55rem .75rem;
    display: grid;
    gap: .1rem;
    min-width: 52%;
    background: rgba(18, 20, 23, .9);
    border-right: 1px solid var(--sr-copper);
    border-bottom: 1px solid var(--sr-copper);
    font: .7rem/1.45 var(--sr-mono);
}
.sr-room__spec div { display: flex; justify-content: space-between; gap: 1rem; }
.sr-room__spec dt { color: var(--sr-muted); }
.sr-room__spec dd { margin: 0; color: var(--sr-text); white-space: nowrap; }
.sr-room__status { position: absolute; top: 0; right: 0; padding: .4rem .7rem; font: 500 .78rem/1.2 var(--sr-sans); color: var(--sr-ink); background: var(--sr-mint); }
.sr-room__status--hold { background: var(--sr-ink); color: var(--sr-mint); border-left: 1px solid var(--sr-mint); border-bottom: 1px solid var(--sr-mint); }
.sr-room figcaption { padding: .85rem 1rem; font-size: .95rem; line-height: 1.4; border-top: 1px solid var(--sr-copper); }
@media (max-width: 960px) { .sr-rooms__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .sr-rooms__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Блок 4: карта ---------- */
.sr-map__fig { position: relative; margin: 0 0 2.6rem; border: 1px solid var(--sr-mint); padding: 4px; background: var(--sr-ink); }
.sr-map__fig img { display: block; width: 100%; height: auto; aspect-ratio: 2108 / 612; object-fit: cover; }
.sr-pin {
    position: absolute;
    left: var(--x); top: var(--y);
    transform: translate(9px, -125%);
    min-width: 22px;
    padding: .1rem .35rem;
    font: 500 .72rem/1.4 var(--sr-mono);
    text-align: center;
    color: var(--sr-text);
    background: var(--sr-ink);
    border: 1px solid var(--sr-copper);
}
.sr-districts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.8rem 2.4rem; counter-reset: sr-d; }
.sr-districts li { position: relative; min-width: 0; padding: 1.1rem 0 0 2.6rem; border-top: 1px solid var(--sr-line); counter-increment: sr-d; }
.sr-districts li::before { content: "0" counter(sr-d); position: absolute; left: 0; top: 1.2rem; font: 500 .85rem/1 var(--sr-mono); color: var(--sr-copper); }
.sr-districts h3 { font-size: 1.08rem; margin: 0 0 .4rem; }
.sr-districts p { font-size: .88rem; line-height: 1.5; color: var(--sr-muted); margin: 0 0 .7rem; }
.sr-chip { display: inline-block; padding: .15rem .55rem; font: .7rem/1.5 var(--sr-mono); color: var(--sr-mint); border: 1px solid rgba(127, 209, 185, .55); text-decoration: none; }
a.sr-chip:hover { color: var(--sr-ink); background: var(--sr-mint); }
@media (max-width: 960px) { .sr-districts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .sr-districts { grid-template-columns: minmax(0, 1fr); }
    .sr-pin { font-size: .6rem; min-width: 16px; padding: 0 .2rem; transform: translate(5px, -115%); }
}

.sr-empty { color: var(--sr-muted); }

/* ---------- Внутренние страницы ---------- */
.sr-crumbs { padding: 2rem 0 .4rem; font: .76rem/1.6 var(--sr-mono); color: var(--sr-muted); }
.sr-crumbs a { color: var(--sr-soft); }
.sr-crumbs a:hover { color: var(--sr-mint); }
.sr-crumbs__sep { color: var(--sr-copper); margin: 0 .3rem; }
.sr-crumbs span:last-child { color: var(--sr-text); }

.sr-layout { padding-top: 1.8rem; }
.sr-layout--aside { display: grid; grid-template-columns: minmax(0, 67fr) minmax(0, 27fr); column-gap: 6%; align-items: start; }
.sr-layout--single { display: block; width: 85%; margin-left: auto; margin-right: auto; }
.sr-content { min-width: 0; }
@media (max-width: 960px) {
    .sr-layout--aside { grid-template-columns: minmax(0, 1fr); row-gap: 3rem; }
    .sr-layout--single { width: 100%; }
}

.sr-page-head { margin-bottom: 2rem; }
.sr-page-title { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.1; margin: 0 0 .6rem; }
.sr-page-intro { margin-top: 1.2rem; color: var(--sr-soft); }
.sr-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 .9rem; font: .78rem/1.5 var(--sr-mono); color: var(--sr-muted); }
.sr-meta a { color: var(--sr-mint); text-decoration: none; }
.sr-meta__sep { color: var(--sr-copper); }
.sr-article__cover { position: relative; margin: 0 0 2rem; padding: 10px; border: 1px solid var(--sr-frame); }
.sr-article__cover img { display: block; width: 100%; height: auto; }

/* Контент записи */
.sr-entry { font-size: 1.04rem; line-height: 1.75; color: var(--sr-text); }
.sr-entry > * { max-width: 100%; }
.sr-entry p { margin: 0 0 1.2em; }
.sr-entry h2 { font-size: 1.75rem; margin: 2em 0 .7em; padding-left: 1rem; border-left: 3px solid var(--sr-copper); }
.sr-entry h3 { font-size: 1.35rem; margin: 1.8em 0 .6em; }
.sr-entry h4 { font-size: 1.12rem; margin: 1.6em 0 .5em; }
.sr-entry ul, .sr-entry ol { margin: 0 0 1.3em; padding-left: 1.4em; }
.sr-entry li { margin-bottom: .45em; }
.sr-entry ul li::marker { color: var(--sr-copper); }
.sr-entry ol li::marker { color: var(--sr-mint); font-family: var(--sr-mono); }
.sr-entry blockquote { margin: 1.8em 0; padding: 1.4rem 1.6rem; background: var(--sr-panel); border: 1px solid var(--sr-line); border-left: 3px solid var(--sr-copper); color: var(--sr-text); font-size: 1.1rem; }
.sr-entry blockquote p:last-child { margin-bottom: 0; }
.sr-entry blockquote cite { display: block; margin-top: .6rem; font: normal .8rem var(--sr-mono); color: var(--sr-muted); }
.sr-entry table { width: 100%; border-collapse: collapse; margin: 0 0 1.6em; font-size: .94rem; border: 1px solid var(--sr-frame); }
.sr-entry th, .sr-entry td { padding: .65rem .8rem; border: 1px solid var(--sr-frame); text-align: left; vertical-align: top; }
.sr-entry th { background: var(--sr-panel); font-weight: 600; color: var(--sr-text); }
.sr-entry .wp-block-table { overflow-x: auto; margin: 0 0 1.6em; }
.sr-entry figure { margin: 0 0 1.6em; }
.sr-entry figcaption { font: .78rem/1.5 var(--sr-mono); color: var(--sr-muted); margin-top: .5rem; }
.sr-entry img { display: block; }
.sr-entry code, .sr-entry pre { font-family: var(--sr-mono); font-size: .9em; background: var(--sr-field); border: 1px solid var(--sr-line); }
.sr-entry code { padding: .1em .35em; }
.sr-entry pre { padding: 1rem; overflow-x: auto; }
.sr-entry pre code { border: 0; padding: 0; }
.sr-entry hr { border: 0; height: 1px; background: var(--sr-line); margin: 2.4em 0; }
.sr-entry .wp-block-button__link { border-radius: 0; background: var(--sr-copper); color: var(--sr-ink); text-decoration: none; }
.sr-entry .alignleft { float: left; margin: .3em 1.5em 1em 0; }
.sr-entry .alignright { float: right; margin: .3em 0 1em 1.5em; }
.sr-entry .aligncenter { margin-left: auto; margin-right: auto; }

.sr-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin: 2rem 0 0; }
.sr-postnav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--sr-line); }
.sr-postnav__link { display: block; padding: 1rem 1.2rem; border: 1px solid var(--sr-frame); text-decoration: none; color: var(--sr-text); font-weight: 500; line-height: 1.4; }
.sr-postnav__link span { display: block; margin-bottom: .35rem; font: .72rem/1.4 var(--sr-mono); color: var(--sr-copper); text-transform: uppercase; letter-spacing: .1em; }
.sr-postnav__link:hover { border-color: var(--sr-copper); color: var(--sr-text); }
.sr-postnav__link--next { grid-column: 2; text-align: right; }
@media (max-width: 600px) { .sr-postnav { grid-template-columns: minmax(0, 1fr); } .sr-postnav__link--next { grid-column: auto; } }

/* ---------- Пагинация (type => plain) ---------- */
.sr-pager { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: 3rem 0 0; }
.sr-pager .page-numbers,
.sr-pager .post-page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 .8rem;
    font: 500 .85rem/1 var(--sr-mono);
    color: var(--sr-text);
    text-decoration: none;
    border: 1px solid var(--sr-frame);
    background: rgba(28, 30, 34, .85);
}
.sr-pager a.page-numbers:hover, .sr-pager a.post-page-numbers:hover { border-color: var(--sr-copper); color: var(--sr-copper-hi); }
.sr-pager .page-numbers.current, .sr-pager .post-page-numbers.current { background: var(--sr-copper); border-color: var(--sr-copper); color: var(--sr-ink); }
.sr-pager .page-numbers.dots { border-color: transparent; background: none; min-width: 0; padding: 0 .3rem; }

/* ---------- Сайдбар и виджеты ---------- */
.sr-aside { min-width: 0; padding: 1.6rem; background: var(--sr-aside); border: 1px solid var(--sr-line); color: var(--sr-text); }
.sr-aside .sr-widget + .sr-widget { margin-top: 2rem; padding-top: 1.6rem; border-top: 1px solid var(--sr-line); }
.sr-widget__title { display: flex; align-items: center; gap: .6rem; margin: 0 0 1rem; font: 500 .74rem/1.4 var(--sr-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--sr-text); }
.sr-widget__title::before { content: ""; flex: 0 0 22px; height: 1px; background: var(--sr-copper); }
.sr-aside, .sr-aside p, .sr-aside li { color: var(--sr-soft); font-size: .92rem; }
.sr-aside a { color: var(--sr-text); text-decoration: none; }
.sr-aside a:hover { color: var(--sr-mint); }
.sr-aside ul { list-style: none; margin: 0; padding: 0; }
.sr-aside li { padding: .6rem 0; border-bottom: 1px dashed var(--sr-line); line-height: 1.45; }
.sr-aside li:last-child { border-bottom: 0; }
.sr-aside .post-date { display: block; font: .72rem var(--sr-mono); color: var(--sr-muted); }
.sr-aside .sr-search { flex-direction: column; }

/* ---------- Поиск ---------- */
.sr-search { display: flex; gap: .5rem; max-width: 520px; }
.sr-search__field { flex: 1; min-width: 0; padding: .75rem .9rem; font: .95rem var(--sr-sans); color: var(--sr-text); background: var(--sr-field); border: 1px solid var(--sr-frame); border-radius: 0; }
.sr-search__field::placeholder { color: var(--sr-muted); }
.sr-search__field:focus { border-color: var(--sr-mint); outline: none; }
.sr-empty-box { padding: 1.6rem; border: 1px dashed var(--sr-line); }

/* ---------- 404 ---------- */
.sr-404 { padding: 2rem 0 1rem; }
.sr-404__code { margin: 0 0 .5rem; font: 500 clamp(5rem, 16vw, 10rem)/1 var(--sr-mono); color: transparent; -webkit-text-stroke: 1px var(--sr-copper); letter-spacing: -.04em; }
.sr-404 p { color: var(--sr-soft); }
.sr-404 .sr-search { margin: 1.6rem 0 2rem; }

/* ---------- Комментарии ---------- */
.sr-comments { margin-top: 3.5rem; padding-top: 2.4rem; border-top: 1px solid var(--sr-line); }
.sr-comments__title { font-size: 1.5rem; }
.sr-comments__title span { font: 500 .9rem var(--sr-mono); color: var(--sr-mint); vertical-align: middle; }
.sr-comments__list, .sr-comments__list .children { list-style: none; margin: 0; padding: 0; }
.sr-comments__list .children { padding-left: 1.6rem; border-left: 1px solid var(--sr-line); margin-left: .6rem; }
.sr-comment__body { margin-bottom: 1.2rem; padding: 1.1rem 1.3rem; border: 1px solid var(--sr-frame); background: rgba(28, 30, 34, .85); }
.sr-comment__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin-bottom: .6rem; }
.sr-comment__meta img { border-radius: 50%; display: block; }
.sr-comment__author { font-weight: 600; }
.sr-comment__date { font: .74rem var(--sr-mono); color: var(--sr-muted); }
.sr-comment__wait { font-size: .85rem; color: var(--sr-copper); }
.sr-comment__text p:last-child { margin-bottom: 0; }
.sr-comment__reply a { font-size: .82rem; font-weight: 600; text-decoration: none; color: var(--sr-mint); }
.comment-respond { margin-top: 2rem; padding: 1.6rem; border: 1px solid var(--sr-line); background: var(--sr-panel); }
.comment-reply-title { font-size: 1.3rem; }
.comment-reply-title small { margin-left: .8rem; font-size: .8rem; }
.sr-form-note { font-size: .86rem; color: var(--sr-muted); }
.comment-form label { display: block; margin-bottom: .35rem; font-size: .86rem; color: var(--sr-soft); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
    width: 100%; padding: .7rem .85rem; font: .95rem var(--sr-sans); color: var(--sr-text); background: var(--sr-field); border: 1px solid var(--sr-frame); border-radius: 0;
}
.comment-form input:focus, .comment-form textarea:focus { border-color: var(--sr-mint); outline: none; }
.comment-form-cookies-consent { display: flex; gap: .5rem; align-items: flex-start; }
.comment-form-cookies-consent label { display: inline; margin: 0; }
.sr-req { color: var(--sr-copper); }
.comment-navigation .nav-links { display: flex; justify-content: space-between; gap: 1rem; margin: 1rem 0; }

/* ---------- Подвал ---------- */
.sr-foot { position: relative; z-index: 1; background: var(--sr-foot); border-top: 1px solid var(--sr-line); color: #A9AEB5; padding: 4rem 0 0; }
.sr-foot__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.6rem; }
.sr-foot__col { min-width: 0; }
.sr-foot .sr-widget__title { color: var(--sr-text); }
.sr-foot p, .sr-foot li, .sr-foot .textwidget { font-size: .9rem; line-height: 1.6; color: #A9AEB5; }
.sr-foot a { color: var(--sr-text); text-decoration-color: var(--sr-mint); }
.sr-foot a:hover { color: var(--sr-mint); }
.sr-foot ul { list-style: none; margin: 0; padding: 0; }
.sr-foot li { padding: .3rem 0; }
.sr-foot li a { text-decoration: none; }
.sr-foot li a::before { content: "— "; color: var(--sr-copper); }
.sr-foot__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 3rem; padding: 1.3rem 0 1.6rem; border-top: 1px solid #262A30; }
.sr-copy { margin: 0; font: .76rem/1.5 var(--sr-mono); color: var(--sr-muted); }
.sr-foot__scale { flex: 0 1 220px; height: 9px; background-image: repeating-linear-gradient(90deg, var(--sr-frame) 0 1px, transparent 1px 11px); border-bottom: 1px solid var(--sr-frame); }
@media (max-width: 960px) { .sr-foot__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .sr-foot__grid { grid-template-columns: minmax(0, 1fr); }
    .sr-foot__scale { display: none; }
}

/* ---------- Cookie-баннер ---------- */
.sr-cookie {
    position: fixed;
    z-index: 50;
    left: 16px; right: 16px; bottom: 16px;
    margin-inline: auto;
    max-width: 760px;
    display: flex;
    align-items: center;
    gap: 1.2rem;
    padding: 1.1rem 1.4rem;
    background: var(--sr-foot);
    border: 1px solid var(--sr-copper);
    box-shadow: 6px 6px 0 rgba(127, 209, 185, .25);
}
.sr-cookie__text { margin: 0; font-size: .86rem; line-height: 1.5; color: var(--sr-soft); }
.sr-cookie__btn { flex: 0 0 auto; }
@media (max-width: 600px) { .sr-cookie { flex-direction: column; align-items: stretch; padding: 1rem 1.1rem; } }

/* ---------- Мобильная главная ---------- */
@media (max-width: 600px) {
    .sr-sheet { padding-top: 3.6rem; }
    .sr-sheet::before { top: 1.7rem; left: 0; right: 0; }
    .sr-h2 { margin-bottom: 1.6rem; }
    .sr-plan { padding-top: 2.2rem; }
}

/* ---------- WordPress ---------- */
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { font: .78rem var(--sr-mono); color: var(--sr-muted); }
.sticky .sr-card__title::before { content: ""; }
.bypostauthor > .sr-comment__body { border-color: var(--sr-copper); }
.alignwide, .alignfull { max-width: 100%; }

/* На главной — ровно три карточки, даже если закреплённая запись добавлена сверх лимита */
.sr-latest .sr-cards > .sr-card:nth-child(n+4) { display: none; }
