/*
Theme Name: dds_d5-fitness.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: dfit
*/

/* ---------- Шрифты ---------- */
@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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-mono-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:"Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-mono-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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Oswald";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/oswald-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:"Oswald";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/oswald-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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Переменные ---------- */
:root{
    --graphite:#14202B;
    --grid:#2E4052;
    --sheet:#EDEAE2;
    --sheet-alt:#E3DFD4;
    --line:#3D6E8C;
    --line-soft:rgba(61,110,140,.35);
    --ink:#1C2A33;
    --muted:#6B7A85;
    --signal:#F26B3A;
    --signal-dark:#C94E22;
    --water:#58B7D4;
    --water-soft:#D6EBF2;
    --water-ink:#2A6E8C;
    --paper:#F6F3EC;
    --paper-muted:#A9B6C0;
    --mono:"Plex Mono","IBM Plex Mono","DejaVu Sans Mono",Consolas,"Liberation Mono",monospace;
    --cond:"Oswald","Arial Narrow","Roboto Condensed",Arial,sans-serif;
}

/* ---------- Скрытие по атрибуту hidden ---------- */
.cookie-banner[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;
    font-family:var(--mono);
    font-size:15px;
    line-height:1.65;
    color:var(--paper);
    background-color:var(--graphite);
    background-image:
        linear-gradient(var(--grid) 1px,transparent 1px),
        linear-gradient(90deg,var(--grid) 1px,transparent 1px),
        linear-gradient(rgba(46,64,82,.45) 1px,transparent 1px),
        linear-gradient(90deg,rgba(46,64,82,.45) 1px,transparent 1px);
    background-size:48px 48px,48px 48px,12px 12px,12px 12px;
    background-position:-1px -1px,-1px -1px,-1px -1px,-1px -1px;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--water-ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--signal-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
p{margin:0 0 1em}
h1,h2,h3,h4,h5,h6{margin:0 0 .6em;line-height:1.25;font-weight:600;overflow-wrap:break-word;hyphens:auto}
p,li,td,th,dd,dt,blockquote,figcaption{overflow-wrap:break-word;hyphens:auto}
ul,ol{margin:0 0 1em;padding-left:1.4em}
table{border-collapse:collapse;width:100%;margin:0 0 1.2em}
th,td{border:1px solid var(--line);padding:.55em .75em;text-align:left;vertical-align:top}
th{background:rgba(61,110,140,.12);font-weight:600}
.screen-reader-text{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--signal);color:var(--paper);padding:.6em 1em;font-weight:600}
.skip-link:focus{left:1rem;top:1rem}

/* ---------- Контейнер ---------- */
.shell{width:min(94%,1320px);margin-inline:auto}

/* ---------- Кнопки-штампы ---------- */
.stamp-btn{
    display:inline-flex;align-items:center;justify-content:center;
    padding:.6em 1.4em;
    border:3px solid var(--signal);
    border-radius:0;
    background:transparent;
    color:var(--signal);
    font-family:var(--mono);font-size:.82rem;font-weight:600;
    letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
    line-height:1.3;text-align:center;
    cursor:pointer;
    transition:background .15s,color .15s,transform .15s,box-shadow .15s;
}
.stamp-btn:hover,.stamp-btn:focus-visible{
    background:var(--signal);color:var(--paper);
    transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--line);
}
.ruled-link{
    font-family:var(--mono);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;
    color:var(--water-ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;
}
.ruled-link:hover{color:var(--signal-dark)}

/* ---------- Шапка ---------- */
.masthead{
    background:var(--graphite);
    border-bottom:1px solid var(--grid);
    position:relative;
}
.masthead::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--grid)}
.masthead-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;padding:1.4rem 0;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:1.4rem;color:var(--paper);text-decoration:none;min-width:0;flex:1 1 520px}
.brand:hover{color:var(--paper)}
.brand-mark{flex:0 0 auto;display:block}
.brand-svg{display:block;width:104px;height:auto}
.brand-logo{max-height:80px;width:auto}
.brand-text{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding-left:1.4rem;border-left:1px solid var(--grid)}
.brand-name{font-family:var(--mono);font-weight:600;font-size:clamp(.95rem,1.25vw,1.15rem);letter-spacing:.06em;text-transform:uppercase;line-height:1.4;overflow-wrap:break-word}
.brand-desc{font-size:.78rem;color:var(--paper-muted);line-height:1.5}
.topnav{position:relative;flex:0 1 auto}
.topnav-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 2rem}
.topnav-list a{
    display:inline-block;padding:.35em 0;
    color:var(--paper);text-decoration:none;
    font-size:.85rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;
    border-bottom:2px solid transparent;
}
.topnav-list a:hover{color:var(--signal);border-bottom-color:var(--signal)}
.topnav-list .current-menu-item>a,.topnav-list .current_page_item>a{color:var(--signal);border-bottom-color:var(--signal)}
.topnav-toggle{
    display:none;align-items:center;gap:.7rem;
    background:transparent;border:2px solid var(--water);color:var(--paper);
    padding:.5em .9em;font-family:var(--mono);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border-radius:0;
}
.topnav-toggle-bars,.topnav-toggle-bars::before,.topnav-toggle-bars::after{display:block;width:20px;height:2px;background:var(--water);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}

/* ---------- Хлебные крошки ---------- */
.crumbs{padding:1.6rem 0 1rem;font-size:.8rem;letter-spacing:.06em;color:var(--paper-muted)}
.crumbs a{color:var(--paper);text-decoration-color:var(--grid)}
.crumbs a:hover{color:var(--signal)}
.crumbs .sep{color:var(--signal);margin:0 .35em}
.crumbs span{overflow-wrap:break-word}

/* ---------- Лист-калька ---------- */
.sheet{
    position:relative;
    background-color:var(--sheet);
    background-image:
        linear-gradient(rgba(61,110,140,.07) 1px,transparent 1px),
        linear-gradient(90deg,rgba(61,110,140,.07) 1px,transparent 1px);
    background-size:24px 24px;
    color:var(--ink);
    border:1px solid var(--line);
    box-shadow:inset 0 0 0 5px var(--sheet),inset 0 0 0 6px var(--line-soft),0 0 0 4px rgba(20,32,43,.6);
    padding:2.4rem 2.6rem;
    margin-bottom:1.6rem;
}
.sheet-title{
    font-family:var(--mono);font-weight:600;
    font-size:clamp(1.15rem,2.2vw,1.9rem);
    letter-spacing:.14em;text-transform:uppercase;
    color:var(--ink);margin:0 0 1.6rem;line-height:1.25;
}
.sheet-num{color:var(--signal);margin-right:.35em}

/* ---------- Главная ---------- */
.front-stack{padding:2rem 0 1rem}

/* Блок 1: спецификация */
.spec-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2.4rem;align-items:start}
.spec-drawing{margin:0;min-width:0}
.spec-canvas{position:relative}
.spec-drawing img{width:100%;aspect-ratio:1500/960;object-fit:cover;mix-blend-mode:multiply}
.callout{
    position:absolute;left:var(--x);top:var(--y);
    transform:translateY(-50%);
    max-width:28%;
    padding:.1em .35em;
    background:rgba(237,234,226,.92);
    font-size:clamp(.6rem,1vw,.85rem);font-weight:500;line-height:1.3;color:var(--ink);
}
.callout--left{transform:translate(-100%,-50%);text-align:right;max-width:none;white-space:nowrap}
.spec-cap{margin-top:.8rem;font-size:.75rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.spec-data{min-width:0}
.table-scroll{overflow-x:auto}
.spec-table{font-size:.86rem;background:rgba(246,243,236,.6);border:2px solid var(--line)}
.spec-table th{font-size:.82rem;letter-spacing:.06em;background:rgba(61,110,140,.1)}
.spec-table td,.spec-table th{hyphens:manual}
.spec-table td:nth-child(n+2),.spec-table th:nth-child(n+2){text-align:center;white-space:nowrap}
.spec-figure{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.2rem 0 1rem;border-bottom:2px solid var(--line-soft);margin-bottom:1rem}
.spec-big{display:block;font-family:var(--cond);font-weight:500;font-size:clamp(3.6rem,7vw,6rem);line-height:1;color:var(--signal)}
.spec-big-cap{display:block;font-size:.95rem;margin-top:.4rem}
.crosshair{flex:0 0 auto;width:72px;height:72px}
.spec-note{font-size:.86rem;color:var(--muted);margin:0}

/* Блок 2: карта */
.map-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,1fr);gap:1.8rem;align-items:stretch}
.map-frame{position:relative;margin:0;border:2px solid var(--line);background:var(--water-soft);min-width:0}
.map-frame img{width:100%;aspect-ratio:1156/936;object-fit:cover}
.pin{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:center;gap:.4rem;transform:translate(-7px,-50%)}
.pin-dot{display:block;flex:0 0 auto;width:14px;height:14px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 3px rgba(242,107,58,.25)}
.pin-label{
    display:inline-flex;align-items:center;gap:.25rem;flex-wrap:nowrap;white-space:nowrap;
    background:var(--paper);border:1px solid var(--line);
    padding:.15em .45em;font-size:clamp(.58rem,.95vw,.8rem);font-weight:500;color:var(--ink);
}
.pin--left{flex-direction:row-reverse;transform:translate(calc(-100% + 7px),-50%)}
.tag{display:inline-block;min-width:1.35em;padding:0 .2em;text-align:center;font-size:.85em;font-weight:600;line-height:1.35;color:var(--paper)}
.tag--b{background:var(--water-ink)}
.tag--z{background:var(--ink)}
.tag--s{background:var(--signal)}
.map-legend{border:2px solid var(--line);padding:1.4rem 1.3rem;display:flex;flex-direction:column;gap:1rem;min-width:0;background:rgba(246,243,236,.55)}
.legend-title{font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;margin:0;color:var(--water-ink)}
.legend-list{list-style:none;margin:0;padding:0}
.legend-list li{display:flex;align-items:center;gap:.9rem;padding:.8rem 0;border-bottom:1px solid var(--line-soft);font-size:.9rem}
.legend-list li:last-child{border-bottom:0}
.legend-list svg{flex:0 0 auto}
.legend-note{font-size:.8rem;color:var(--muted);margin:0}
.scale-bar{margin-top:auto;width:160px;height:24px}

/* Последние записи */
.posts-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.6rem}
.posts-head .sheet-title{margin:0}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem}
.card-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.layout-single .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* закреплённая запись может добавить четвёртую карточку сверх лимита — на главной показываем три */
.card-grid--three>.card:nth-child(n+4){display:none}

.card{
    position:relative;
    display:flex;flex-direction:column;
    background:#F3F1EA;
    background-image:linear-gradient(rgba(61,110,140,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(61,110,140,.06) 1px,transparent 1px);
    background-size:12px 12px;
    border:1px solid var(--line);
    overflow:hidden;
    min-width:0;
    transition:transform .15s,box-shadow .15s;
}
.card:hover{transform:translate(-3px,-3px);box-shadow:6px 6px 0 var(--line)}
.card-num{
    position:absolute;top:0;right:0;z-index:2;
    background:var(--signal);color:var(--paper);
    font-size:.72rem;font-weight:600;letter-spacing:.1em;padding:.2em .6em;
}
.card-thumb{padding:1rem 1rem 0}
.card-thumb a{display:block;border:1px solid var(--line-soft);background:var(--water-soft)}
.card-thumb img{display:block;width:100%;height:auto;aspect-ratio:3/1.15;object-fit:cover}
.card-body{flex:1;display:flex;flex-direction:column;padding:1.1rem 1.2rem 1.3rem;min-width:0}
.card-title{font-size:1.05rem;letter-spacing:.02em;margin:0 0 .6rem}
.card-title a{color:var(--ink);text-decoration:none}
.card-title a:hover{color:var(--signal-dark)}
.card-excerpt{font-size:.82rem;color:var(--muted);line-height:1.6;flex:1}
.card-excerpt p{margin:0 0 .5em;background:none}
.card-foot{display:flex;flex-direction:column;gap:.8rem;margin-top:.6rem}
.card-date{font-size:.8rem;color:var(--water-ink);font-weight:500;letter-spacing:.06em}
.card-more{width:100%}

/* Блок 3: рейтинг */
.rating-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2.6rem;align-items:start}
.gauge{padding:0 0 1.2rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line-soft)}
.gauge:last-child{margin-bottom:0}
.gauge-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.4rem}
.gauge-name{font-size:1.15rem;font-weight:600;letter-spacing:.04em}
.gauge-score{font-family:var(--cond);font-weight:500;font-size:clamp(2rem,3.4vw,2.8rem);line-height:1;color:var(--signal)}
.gauge-score small{font-size:.5em}
.gauge-track{
    position:relative;height:18px;margin:.6rem 0 .2rem;
    background:
        linear-gradient(var(--line),var(--line)) left 50%/100% 2px no-repeat,
        repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 20%) left 50%/100% 12px no-repeat,
        repeating-linear-gradient(90deg,var(--line-soft) 0 1px,transparent 1px 5%) left 50%/100% 6px no-repeat;
    border-right:2px solid var(--line);
}
.gauge-track::before{content:"";position:absolute;left:0;top:50%;height:4px;width:var(--v);transform:translateY(-50%);background:var(--water)}
.gauge-pointer{
    position:absolute;left:var(--v);top:-12px;
    width:0;height:0;transform:translateX(-50%);
    border-left:8px solid transparent;border-right:8px solid transparent;border-top:12px solid var(--signal);
}
.gauge-ticks{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}
.gauge-what{margin:.5rem 0 0;font-size:.8rem;color:var(--muted)}
.rating-notes{border-left:2px solid var(--line);padding-left:1.8rem;font-size:.9rem}
.notes-title{font-size:.88rem;letter-spacing:.16em;text-transform:uppercase;color:var(--water-ink);margin-top:1.4rem}
.notes-list{list-style:none;padding:0;margin:0}
.notes-list li{padding:.6rem 0 .6rem 1.2rem;border-bottom:1px dashed var(--line-soft);position:relative;font-size:.84rem}
.notes-list li::before{content:"";position:absolute;left:0;top:1.05em;width:8px;height:8px;background:var(--signal)}
.notes-list b{color:var(--ink)}

/* Блок 4: разбор бассейна */
.pool-grid{display:block}
.pool-drawing{position:relative;margin:0 auto 2rem;min-width:0;max-width:1080px}
.pool-drawing img{width:100%;aspect-ratio:1770/650;object-fit:cover;mix-blend-mode:multiply}
.mark{
    position:absolute;left:var(--x);top:var(--y);
    width:28px;height:28px;transform:translate(-50%,-50%);
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;background:var(--signal);color:var(--paper);
    font-size:.8rem;font-weight:600;box-shadow:0 0 0 3px var(--sheet);
}
.pool-legend{list-style:none;margin:0;padding:0;border:2px solid var(--line);background:rgba(246,243,236,.6);display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.pool-legend li{display:flex;gap:.9rem;align-items:flex-start;padding:1.1rem 1.2rem;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-width:0}
.pool-legend li:nth-child(3n){border-right:0}
.pool-legend li:nth-child(n+4){border-bottom:0}
.pool-legend b{display:block;font-size:.9rem;letter-spacing:.02em}
.pool-legend p{margin:.2rem 0 0;font-size:.78rem;color:var(--muted);line-height:1.5}
.pool-legend div{min-width:0}
.sq{flex:0 0 auto;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:var(--signal);color:var(--paper);font-size:.78rem;font-weight:600}

/* ---------- Раскладки внутренних страниц ---------- */
.layout-with-sidebar{display:grid;grid-template-columns:minmax(0,67%) minmax(0,27%);justify-content:space-between;align-items:start;padding-bottom:2rem}
.layout-single{display:block;padding-bottom:2rem}
.layout-single .content-area{width:85%;margin-left:auto;margin-right:auto}
.content-area{min-width:0}

.page-head{margin-bottom:1.8rem;padding-bottom:1.2rem;border-bottom:2px solid var(--line)}
.page-title{
    font-family:var(--cond);font-weight:500;
    font-size:clamp(1.8rem,3.6vw,3.2rem);
    letter-spacing:.08em;text-transform:uppercase;line-height:1.15;
    margin:0;color:var(--ink);
}
.page-intro{margin-top:1rem;color:var(--muted);font-size:.9rem}
.entry-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-top:.9rem;font-size:.8rem;color:var(--water-ink);letter-spacing:.06em}
.entry-cats a{display:inline-block;margin-right:.5rem;padding:.05em .5em;border:1px solid var(--signal);color:var(--signal-dark);text-decoration:none;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em}
.entry-cats a:hover{background:var(--signal);color:var(--paper)}
.entry-thumb{margin:0 0 1.8rem;border:1px solid var(--line);padding:.6rem;background:var(--water-soft)}
.entry-thumb img{width:100%}

.entry-content{font-size:.95rem;line-height:1.75}
.entry-content h2{font-family:var(--mono);font-size:1.3rem;letter-spacing:.06em;text-transform:uppercase;margin:2rem 0 .8rem;padding-left:.9rem;border-left:4px solid var(--signal)}
.entry-content h3{font-size:1.1rem;margin:1.6rem 0 .6rem;color:var(--water-ink)}
.entry-content h4{font-size:1rem;margin:1.4rem 0 .5rem}
.entry-content ul{list-style:none;padding-left:0}
.entry-content ul li{position:relative;padding-left:1.4em;margin-bottom:.4em}
.entry-content ul li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;background:var(--signal)}
.entry-content ol{padding-left:1.6em}
.entry-content ol li{margin-bottom:.4em}
.entry-content ol li::marker{color:var(--signal-dark);font-weight:600}
.entry-content blockquote{
    margin:1.6rem 0;padding:1.2rem 1.4rem 1.2rem 1.6rem;
    border-left:4px solid var(--signal);
    background:rgba(88,183,212,.14);
    font-size:1rem;
}
.entry-content blockquote p:last-child{margin-bottom:0}
.entry-content table{font-size:.85rem;background:rgba(246,243,236,.6)}
.entry-content img{height:auto}
.entry-content figure{margin:1.6rem 0}
.entry-content figcaption{font-size:.78rem;color:var(--muted);margin-top:.4rem}
.entry-content pre{overflow-x:auto;background:var(--graphite);color:var(--paper);padding:1rem 1.2rem;font-size:.82rem}
.entry-content code{background:rgba(61,110,140,.12);padding:.1em .3em}
.entry-content pre code{background:none;padding:0}
.entry-content hr{border:0;border-top:2px dashed var(--line-soft);margin:2rem 0}
.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-size:.78rem;color:var(--muted)}
.page-links{margin-top:1.4rem;font-size:.85rem}

.entry-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}
.entry-tags a{font-size:.78rem;padding:.15em .6em;border:1px solid var(--line);text-decoration:none;color:var(--water-ink)}
.entry-tags a:hover{border-color:var(--signal);color:var(--signal-dark)}

.post-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;padding-top:1.4rem;border-top:2px solid var(--line)}
.post-nav-link{display:block;padding:1rem 1.1rem;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:.88rem;font-weight:500;background:rgba(246,243,236,.6)}
.post-nav-link span{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--signal-dark);margin-bottom:.3rem}
.post-nav-link:hover{border-color:var(--signal)}
.post-nav-link--next{grid-column:2;text-align:right}

.empty-state{font-size:.95rem;color:var(--muted)}

/* ---------- Пагинация ---------- */
.pager{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:2rem;padding-top:1.4rem;border-top:2px solid var(--line-soft)}
.pager .page-numbers{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:2.6rem;height:2.6rem;padding:0 .8rem;
    border:2px solid var(--line);background:var(--paper);color:var(--ink);
    font-size:.85rem;font-weight:600;text-decoration:none;
}
.pager a.page-numbers:hover{border-color:var(--signal);color:var(--signal-dark)}
.pager .page-numbers.current{background:var(--signal);border-color:var(--signal);color:var(--paper)}
.pager .page-numbers.dots{border:0;background:none;min-width:auto;padding:0 .3rem}

/* ---------- Сайдбар ---------- */
.sidebar{
    min-width:0;
    background:var(--sheet-alt);
    border:1px solid var(--line);
    box-shadow:inset 0 0 0 5px var(--sheet-alt),inset 0 0 0 6px var(--line-soft);
    padding:1.8rem 1.6rem;
    color:var(--ink);
}
.sidebar .widget{margin-bottom:1.8rem}
.sidebar .widget:last-child{margin-bottom:0}
.sidebar .widget-title{
    font-size:.88rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);
    padding-bottom:.6rem;margin-bottom:.9rem;border-bottom:2px solid var(--line);
    display:flex;align-items:center;gap:.6rem;
}
.sidebar .widget-title::before{content:"";flex:0 0 auto;width:10px;height:10px;background:var(--signal)}
.sidebar ul{list-style:none;margin:0;padding:0}
.sidebar li{padding:.55rem 0;border-bottom:1px dashed var(--line-soft);font-size:.85rem;color:var(--ink)}
.sidebar li:last-child{border-bottom:0}
.sidebar a{color:var(--ink);text-decoration:none}
.sidebar a:hover{color:var(--signal-dark);text-decoration:underline}
.sidebar .post-date{display:block;font-size:.75rem;color:var(--water-ink)}
.sidebar p{font-size:.85rem;color:var(--ink)}
.sidebar .search-form{flex-direction:column}

/* ---------- Поиск ---------- */
.search-form{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.2rem 0}
.search-field{
    flex:1 1 220px;min-width:0;
    padding:.7em .9em;border:2px solid var(--line);border-radius:0;
    background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:.9rem;
}
.search-field::placeholder{color:var(--muted)}

/* ---------- 404 ---------- */
.notfound{text-align:left}
.notfound-code{font-family:var(--cond);font-weight:500;font-size:clamp(5rem,14vw,10rem);line-height:1;color:var(--signal);margin:0 0 .4rem;letter-spacing:.06em}
.notfound .page-title{margin-bottom:1rem}

/* ---------- Комментарии ---------- */
.comments-title{font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.4rem}
.note-list,.note-list .children{list-style:none;margin:0;padding:0}
.note-list .children{padding-left:2rem;border-left:2px solid var(--line-soft);margin-left:1rem}
.note-body{padding:1rem 1.2rem;border:1px solid var(--line-soft);background:rgba(246,243,236,.65);margin-bottom:1rem}
.note-head{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .8rem;margin-bottom:.6rem}
.note-head img{width:44px;height:44px;object-fit:cover;overflow:hidden;font-size:0;border-radius:0;border:1px solid var(--line);background:var(--water-soft)}
.note-author{font-weight:600}
.note-date{font-size:.75rem;color:var(--water-ink)}
.note-wait{font-size:.8rem;color:var(--signal-dark)}
.note-text{font-size:.9rem}
.note-text p:last-child{margin-bottom:0}
.note-reply a{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--signal-dark)}
.comments-closed{color:var(--muted)}
.comment-respond{margin-top:1.6rem;padding-top:1.4rem;border-top:2px solid var(--line)}
.comment-reply-title{font-size:1rem;letter-spacing:.14em;text-transform:uppercase}
.comment-reply-title small{display:block;font-size:.72rem;letter-spacing:.1em;margin-top:.4rem}
.comment-form label{display:block;font-size:.8rem;letter-spacing:.06em;margin-bottom:.3rem}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{
    width:100%;padding:.7em .9em;border:2px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font-family:var(--mono);font-size:.9rem;
}
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:.6rem}
.comment-form-cookies-consent label{margin:0;font-size:.78rem}
.comment-notes,.logged-in-as{font-size:.8rem;color:var(--muted)}
.req{color:var(--signal-dark)}
.comments-navigation,.comment-navigation{display:flex;justify-content:space-between;gap:1rem;font-size:.82rem;margin:1rem 0}

/* ---------- Подвал ---------- */
.colophon{background:var(--graphite);border-top:1px solid var(--grid);color:var(--paper);margin-top:1rem;position:relative}
.colophon::before{content:"";position:absolute;left:0;right:0;top:4px;height:1px;background:var(--grid)}
.colophon-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:2.8rem 0 2rem}
.colophon-col{min-width:0;padding:0 2rem;border-left:1px solid var(--grid)}
.colophon-col:first-child{padding-left:0;border-left:0}
.colophon .widget{margin-bottom:1.4rem;color:var(--paper)}
.colophon .widget:last-child{margin-bottom:0}
.colophon .widget-title{font-size:1rem;font-weight:500;letter-spacing:.08em;color:var(--paper);margin-bottom:1rem}
.colophon p,.colophon .textwidget{font-size:.84rem;color:var(--paper-muted);line-height:1.7}
.colophon a{color:var(--paper);text-decoration:underline;text-decoration-color:var(--water);text-underline-offset:4px}
.colophon a:hover{color:var(--signal);text-decoration-color:var(--signal)}
.colophon ul{list-style:none;margin:0;padding:0}
.colophon li{padding:.3rem 0;font-size:.84rem;color:var(--paper-muted)}
.colophon .post-date{display:block;font-size:.75rem;color:var(--paper-muted)}
.colophon .mail-link{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.colophon .mail-link::before{
    content:"";flex:0 0 auto;width:22px;height:16px;
    background:
        linear-gradient(32deg,transparent 46%,var(--paper) 46% 54%,transparent 54%) left top/50% 70% no-repeat,
        linear-gradient(-32deg,transparent 46%,var(--paper) 46% 54%,transparent 54%) right top/50% 70% no-repeat;
    border:1.5px solid var(--paper);
}
.colophon-copy{margin:0;padding:1.4rem 0 1.8rem;border-top:1px solid var(--grid);text-align:center;font-size:.8rem;letter-spacing:.08em;color:var(--paper-muted)}

/* ---------- Cookie-баннер ---------- */
.cookie-banner{
    position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:90;
    display:flex;align-items:center;justify-content:space-between;gap:1rem 1.6rem;flex-wrap:wrap;
    max-width:980px;margin-left:auto;margin-right:auto;
    padding:1.1rem 1.4rem;
    background:var(--graphite);color:var(--paper);
    border:2px solid var(--signal);
    box-shadow:6px 6px 0 rgba(0,0,0,.35);
}
.cookie-text{margin:0;font-size:.82rem;line-height:1.55;flex:1 1 320px;color:var(--paper)}
.cookie-accept{flex:0 0 auto}

/* ---------- Адаптив ---------- */
@media (min-width:961px){
    .front-stack{width:85%;margin-left:auto;margin-right:auto}
}
@media (max-width:1100px){
    .card-grid--three,.layout-single .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
    .spec-grid,.map-grid,.rating-grid,.pool-grid{grid-template-columns:minmax(0,1fr)}
    .pool-legend{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pool-legend li:nth-child(n){border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
    .pool-legend li:nth-child(2n){border-right:0}
    .pool-legend li:nth-child(n+5){border-bottom:0}
    .rating-notes{border-left:0;border-top:2px solid var(--line);padding-left:0;padding-top:1.4rem}
    .map-legend .scale-bar{margin-top:0}
    .layout-with-sidebar{grid-template-columns:minmax(0,1fr);row-gap:1.6rem}
    .layout-single .content-area{width:100%}
    .colophon-cols{grid-template-columns:minmax(0,1fr);row-gap:1.6rem}
    .colophon-col{padding:1.4rem 0 0;border-left:0;border-top:1px solid var(--grid)}
    .colophon-col:first-child{padding-top:0;border-top:0}
    .topnav-toggle{display:inline-flex}
    .topnav-list{display:none;position:absolute;right:0;top:calc(100% + .6rem);z-index:50;flex-direction:column;gap:0;min-width:240px;background:var(--graphite);border:2px solid var(--water);padding:.6rem 1.2rem}
    .topnav-list li{border-bottom:1px solid var(--grid)}
    .topnav-list li:last-child{border-bottom:0}
    .topnav-list a{display:block;padding:.7em 0}
    .topnav.is-open .topnav-list{display:flex}
    .masthead-row{flex-wrap:nowrap;align-items:flex-start}
    .brand{flex:1 1 auto}
}
@media (max-width:600px){
    body{font-size:14px}
    .sheet{padding:1.6rem 1.2rem;box-shadow:inset 0 0 0 4px var(--sheet),inset 0 0 0 5px var(--line-soft),0 0 0 3px rgba(20,32,43,.6)}
    .sidebar{padding:1.4rem 1.2rem}
    .masthead-row{flex-wrap:wrap}
    .brand{gap:.9rem;flex-basis:100%;align-items:flex-start}
    .brand-svg{width:64px}
    .brand-text{padding-left:.9rem}
    .brand-name{font-size:.82rem}
    .brand-desc{font-size:.72rem}
    .topnav{width:100%}
    .topnav-list{left:0;right:0;min-width:0}
    .card-grid,.card-grid--three,.layout-single .card-grid{grid-template-columns:minmax(0,1fr)}
    .callout{font-size:.55rem;padding:0 .2em}
    .pin-label{font-size:.55rem;padding:.05em .3em}
    .pin-dot{width:10px;height:10px}
    .pin{transform:translate(-5px,-50%)}
    .pin--left{transform:translate(calc(-100% + 5px),-50%)}
    .mark{width:20px;height:20px;font-size:.65rem}
    .pool-legend{grid-template-columns:minmax(0,1fr)}
    .pool-legend li:nth-child(n){border-right:0;border-bottom:1px solid var(--line-soft)}
    .pool-legend li:last-child{border-bottom:0}
    .spec-table{font-size:.76rem}
    .post-nav{grid-template-columns:minmax(0,1fr)}
    .post-nav-link--next{grid-column:auto}
    .cookie-banner{left:.6rem;right:.6rem;bottom:.6rem;padding:1rem}
    .cookie-accept{width:100%}
    .alignleft,.alignright{float:none;margin:1rem 0}
}
