/*
Theme Name: dds_kupisantehniky.ru
Author: Арсений Дроздов
Description: Информационная тема о сантехнике и водоснабжении: разборы смесителей, труб, коллекторов, фильтров и соединений. Русскоязычная, адаптивная, без коммерческих блоков.
Version: 1.1
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: santeh
*/

/* ====================== Переменные ====================== */
:root{
    --c-ink:#1e2a30;
    --c-muted:#5a6b74;
    --c-line:#dbe4e9;
    --c-bg:#f4f7f9;
    --c-card:#ffffff;
    --c-primary:#12506e;
    --c-primary-d:#0d3c53;
    --c-secondary:#1a7fa8;
    --c-accent:#c8843c;
    --c-accent-d:#a86a2b;
    --c-footer:#0f2f40;
    --c-footer-ink:#cfe0e9;
    --radius:12px;
    --shell:1180px;
    --shadow:0 4px 18px rgba(18,80,110,.09);
}

/* ====================== Сброс / база ====================== */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    margin:0;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    color:var(--c-ink);
    background:var(--c-bg);
    line-height:1.65;
    overflow-x:hidden;
}
img{max-width:100%;height:auto;}
a{color:var(--c-secondary);text-decoration:none;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{line-height:1.25;color:var(--c-primary-d);margin:0 0 .6em;}
h1{font-size:2rem;}
h2{font-size:1.55rem;}
h3{font-size:1.2rem;}
p{margin:0 0 1em;}

.shell{width:min(92%,var(--shell));margin-inline:auto;}

/* ====================== Шапка ====================== */
.site-header{
    background:#fff;
    border-bottom:1px solid var(--c-line);
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    padding:1rem 0;
    flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:.9rem;min-width:0;}
.brand-logo{display:block;height:52px;width:auto;}
.brand-svg{flex:0 0 auto;}
.brand-text{min-width:0;}
.brand-name{
    display:block;
    font-weight:700;
    font-size:1.05rem;
    color:var(--c-primary-d);
    line-height:1.2;
}
.brand-name a{color:inherit;text-decoration:none;}
.brand-desc{
    display:block;
    font-size:.82rem;
    color:var(--c-muted);
    margin-top:.15rem;
}

.main-nav{margin-left:auto;}
.nav-toggle{
    display:none;
    background:var(--c-primary);
    color:#fff;
    border:0;
    padding:.55rem .9rem;
    border-radius:8px;
    font-size:.95rem;
    cursor:pointer;
}
.menu{
    list-style:none;
    display:flex;
    gap:.4rem;
    margin:0;
    padding:0;
    flex-wrap:wrap;
}
.menu a{
    display:block;
    padding:.5rem .85rem;
    border-radius:8px;
    color:var(--c-ink);
    font-weight:500;
}
.menu a:hover{background:var(--c-bg);text-decoration:none;color:var(--c-primary);}
.menu .current-menu-item>a{background:var(--c-primary);color:#fff;}

/* ====================== Каркас страницы ====================== */
.site-main{display:block;}
.page-wrap{padding:2.2rem 0 3rem;}
.layout-with-sidebar{
    display:grid;
    grid-template-columns:minmax(0,67fr) minmax(0,27fr);
    gap:2.4rem;
    align-items:start;
}
.layout-single{display:block;}
.layout-single .content-area{width:85%;margin-inline:auto;}
.content-area{min-width:0;}

/* ====================== Хлебные крошки ====================== */
.breadcrumbs{
    font-size:.86rem;
    color:var(--c-muted);
    margin-bottom:1.4rem;
}
.breadcrumbs a{color:var(--c-secondary);}
.breadcrumbs .sep{margin:0 .35rem;color:#9db0ba;}

/* ====================== Карточки записей (A8, A10) ====================== */
.card-list{display:flex;flex-direction:column;gap:1.6rem;}
.card{
    display:flex;
    flex-direction:column;
    background:var(--c-card);
    border:1px solid var(--c-line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
}
.card-thumb-wrap{
    flex:0 0 300px;
    position:relative;
    overflow:hidden;
}
.card-thumb-wrap a{display:block;position:absolute;top:0;left:0;right:0;bottom:0;}
.card-thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.card-body{
    flex:1;
    min-width:0;
    padding:1.3rem 1.5rem;
}
.card-title{margin:0 0 .5rem;font-size:1.25rem;}
.card-title a{color:var(--c-primary-d);}
.card-meta{
    font-size:.8rem;
    color:var(--c-muted);
    margin-bottom:.6rem;
}
.card-excerpt{color:#39474f;}
.card-excerpt p{margin:0 0 .5em;background:none;}
.card-more{
    display:inline-block;
    margin-top:.4rem;
    font-weight:600;
    color:var(--c-accent-d);
}

/* Горизонтальная карточка на широких экранах */
@media (min-width:700px){
    .card{flex-direction:row;}
    .card-thumb-wrap{flex:0 0 300px;}
}
@media (max-width:699px){
    .card-thumb-wrap{
        flex:none;
        width:100%;
        position:static;
        aspect-ratio:16/9;
    }
    .card-thumb-wrap a{position:static;}
    .card-thumb-wrap img{width:100%;height:100%;aspect-ratio:16/9;}
}

/* ====================== Одиночная запись / страница ====================== */
.entry{
    background:var(--c-card);
    border:1px solid var(--c-line);
    border-radius:var(--radius);
    padding:2rem 2.2rem;
    box-shadow:var(--shadow);
}
.entry-title{font-size:1.9rem;margin-bottom:.4rem;}
.entry-meta{font-size:.85rem;color:var(--c-muted);margin-bottom:1.4rem;}
.entry-content{min-width:0;}
.entry-content img{border-radius:8px;display:block;margin:1.2rem 0;}
.entry-content h2{margin-top:1.6rem;}
.entry-content ul,.entry-content ol{padding-left:1.4rem;}
.entry-content blockquote{
    margin:1.4rem 0;
    padding:1.1rem 1.4rem;
    background:#eaf3f7;
    border-left:4px solid var(--c-secondary);
    border-radius:8px;
    color:#2c3b43;
}
.entry-thumb{border-radius:10px;overflow:hidden;margin-bottom:1.4rem;}
.entry-thumb img{width:100%;display:block;}

/* ====================== Таблицы ====================== */
.entry-content table{
    border-collapse:collapse;
    width:100%;
    margin:1.4rem 0;
}
.entry-content table,
.entry-content th,
.entry-content td{border:1px solid var(--c-line);}
.entry-content th,
.entry-content td{padding:.6rem .8rem;text-align:left;}
.entry-content th{background:#eaf3f7;color:var(--c-primary-d);}

/* ====================== Сайдбар / виджеты ====================== */
.sidebar{min-width:0;}
.widget{
    background:var(--c-card);
    border:1px solid var(--c-line);
    border-radius:var(--radius);
    padding:1.3rem 1.4rem;
    margin-bottom:1.5rem;
    box-shadow:var(--shadow);
    color:var(--c-ink);
}
.widget-heading{
    font-size:1.05rem;
    margin:0 0 .9rem;
    padding-bottom:.5rem;
    border-bottom:2px solid var(--c-accent);
    color:var(--c-primary-d);
}
.widget ul{list-style:none;margin:0;padding:0;}
.widget li{padding:.4rem 0;border-bottom:1px solid #eef3f5;}
.widget li:last-child{border-bottom:0;}
.widget a{color:var(--c-secondary);}
.widget a:hover{color:var(--c-primary);}
.widget .post-date{display:block;font-size:.78rem;color:var(--c-muted);}

/* ====================== Пагинация (D5) ====================== */
.pager{
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
    margin-top:2rem;
    justify-content:center;
}
.pager .page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:42px;
    padding:0 .7rem;
    border:1px solid var(--c-line);
    border-radius:8px;
    background:#fff;
    color:var(--c-primary);
    font-weight:600;
    text-decoration:none;
}
.pager a.page-numbers:hover{background:var(--c-bg);border-color:var(--c-secondary);}
.pager .page-numbers.current{
    background:var(--c-primary);
    color:#fff;
    border-color:var(--c-primary);
}
.pager .page-numbers.dots{border:0;background:none;}

/* ====================== Подвал (E2) ====================== */
.site-footer{
    background:var(--c-footer);
    color:var(--c-footer-ink);
    margin-top:2rem;
}
.footer-cols{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:2rem;
    padding:2.6rem 0 2rem;
}
.footer-col{min-width:0;}
.site-footer .widget{
    background:transparent;
    border:0;
    box-shadow:none;
    padding:0;
    margin:0;
    color:var(--c-footer-ink);
}
.site-footer .widget-heading{
    color:#fff;
    border-bottom-color:var(--c-accent);
}
.site-footer .widget a{color:#eaf3f7;}
.site-footer .widget a:hover{color:#fff;}
.site-footer .widget li{border-bottom-color:rgba(255,255,255,.12);}
.site-footer .widget .post-date{color:#9fbccb;}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.14);
    padding:1.2rem 0;
    font-size:.85rem;
    color:#a9c3d0;
    text-align:center;
}

/* ====================== Форма поиска / комментарии ====================== */
.search-form{display:flex;gap:.5rem;flex-wrap:wrap;}
.search-form .search-field{
    flex:1;
    min-width:0;
    padding:.6rem .8rem;
    border:1px solid var(--c-line);
    border-radius:8px;
    font-size:.95rem;
}
.search-form .search-submit{
    padding:.6rem 1.1rem;
    background:var(--c-primary);
    color:#fff;
    border:0;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
}
.search-form .search-submit:hover{background:var(--c-primary-d);}

.comments-area{
    background:var(--c-card);
    border:1px solid var(--c-line);
    border-radius:var(--radius);
    padding:1.6rem 1.8rem;
    margin-top:1.6rem;
    box-shadow:var(--shadow);
}
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list .children{list-style:none;margin:1rem 0 0 1.4rem;padding:0;}
.comment-inner{
    border:1px solid var(--c-line);
    border-radius:10px;
    padding:1rem 1.2rem;
    margin-bottom:1rem;
    background:#fbfdfe;
}
.comment-head{display:flex;gap:.8rem;align-items:baseline;margin-bottom:.4rem;}
.comment-author{font-weight:700;color:var(--c-primary-d);}
.comment-date{font-size:.78rem;color:var(--c-muted);}
.comment-await{color:var(--c-accent-d);font-style:italic;}
.comment-form input[type=text],
.comment-form input[type=email],
.comment-form input[type=url],
.comment-form textarea{
    width:100%;
    padding:.6rem .8rem;
    border:1px solid var(--c-line);
    border-radius:8px;
    font-size:.95rem;
    font-family:inherit;
}
.comment-form textarea{min-height:120px;}
.comment-form .submit{
    padding:.65rem 1.4rem;
    background:var(--c-primary);
    color:#fff;
    border:0;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
}

/* ====================== Cookie-баннер (D6, A11) ====================== */
.cookie-banner[hidden]{display:none !important;}
.cookie-banner{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:999;
    background:var(--c-primary-d);
    color:#eaf3f7;
    padding:1rem 1.2rem;
    display:flex;
    gap:1rem;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    box-shadow:0 -4px 18px rgba(0,0,0,.18);
}
.cookie-banner p{margin:0;font-size:.9rem;max-width:760px;}
.cookie-banner a{color:#fff;text-decoration:underline;}
.cookie-accept{
    background:var(--c-accent);
    color:#22160a;
    border:0;
    padding:.6rem 1.3rem;
    border-radius:8px;
    font-weight:700;
    cursor:pointer;
    white-space:nowrap;
}
.cookie-accept:hover{background:var(--c-accent-d);color:#fff;}

/* ====================== Главная ====================== */
.front{padding:2.2rem 0 3rem;}
.front-shell{width:min(85%,var(--shell));margin-inline:auto;}
.front-section{padding:2.6rem 0;}
.section-title{
    font-size:1.7rem;
    margin-bottom:1.4rem;
    position:relative;
    padding-bottom:.5rem;
}
.section-title::after{
    content:"";
    display:block;
    width:64px;height:3px;
    background:var(--c-accent);
    margin-top:.55rem;
    border-radius:2px;
}

/* Блок: текст + иллюстрация */
.fs-split{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2.4rem;
    align-items:center;
}
.fs-split.rev .fs-split-media{order:2;}
.fs-split-media img{width:100%;border-radius:var(--radius);display:block;box-shadow:var(--shadow);}
.fs-split-body{min-width:0;}
.fs-split-body p{color:#39474f;}

/* Блок: сетка направлений */
.fs-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.4rem;
}
.fs-tile{
    background:var(--c-card);
    border:1px solid var(--c-line);
    border-radius:var(--radius);
    padding:1.5rem 1.4rem;
    box-shadow:var(--shadow);
    min-width:0;
}
.fs-tile .tile-ic{
    width:46px;height:46px;
    display:flex;align-items:center;justify-content:center;
    background:#eaf3f7;
    border-radius:10px;
    margin-bottom:.9rem;
    color:var(--c-secondary);
}
.fs-tile h3{font-size:1.1rem;margin-bottom:.4rem;}
.fs-tile p{margin:0;font-size:.94rem;color:#4a5a63;}

/* Блок: шаги */
.fs-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1.4rem;
    counter-reset:step;
}
.fs-step{
    background:var(--c-card);
    border:1px solid var(--c-line);
    border-radius:var(--radius);
    padding:1.5rem 1.3rem 1.3rem;
    box-shadow:var(--shadow);
    min-width:0;
    position:relative;
}
.fs-step .step-num{
    display:inline-flex;
    align-items:center;justify-content:center;
    width:40px;height:40px;
    background:var(--c-primary);
    color:#fff;
    border-radius:50%;
    font-weight:700;
    margin-bottom:.8rem;
}
.fs-step h3{font-size:1.05rem;margin-bottom:.35rem;}
.fs-step p{margin:0;font-size:.92rem;color:#4a5a63;}

/* Блок: FAQ (details) */
.fs-faq{max-width:840px;}
.faq-item{
    background:var(--c-card);
    border:1px solid var(--c-line);
    border-radius:var(--radius);
    margin-bottom:.9rem;
    box-shadow:var(--shadow);
    overflow:hidden;
}
.faq-item summary{
    cursor:pointer;
    padding:1.05rem 1.4rem;
    font-weight:600;
    color:var(--c-primary-d);
    list-style:none;
    position:relative;
    padding-right:2.6rem;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
    content:"+";
    position:absolute;
    right:1.3rem;top:50%;
    transform:translateY(-50%);
    font-size:1.3rem;
    color:var(--c-accent);
}
.faq-item[open] summary::after{content:"–";}
.faq-item .faq-body{padding:0 1.4rem 1.15rem;color:#4a5a63;}
.faq-item .faq-body p{margin:0;}

/* Блок: последние записи на главной */
.fs-latest .latest-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.6rem;
}
.mini-card{
    display:flex;
    flex-direction:column;
    background:var(--c-card);
    border:1px solid var(--c-line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
}
.mini-thumb{aspect-ratio:16/9;overflow:hidden;background:#e4eef3;}
.mini-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.mini-body{flex:1;min-width:0;padding:1.1rem 1.2rem;}
.mini-body h3{font-size:1.08rem;margin-bottom:.35rem;}
.mini-meta{font-size:.78rem;color:var(--c-muted);margin-bottom:.5rem;}
.mini-body .card-excerpt p{margin:0 0 .4em;background:none;font-size:.92rem;color:#4a5a63;}
.latest-more{text-align:center;margin-top:1.8rem;}

/* CTA-плашка (пример акцентного блока c внутренними отступами — A14) */
.fs-cta-inner{
    background:var(--c-primary);
    color:#eaf3f7;
    border-radius:var(--radius);
    padding:2.4rem 2.2rem;
    text-align:center;
}
.fs-cta-inner h2{color:#fff;}
.fs-cta-inner p{max-width:640px;margin:0 auto 1.3rem;color:#cfe3ee;}
.btn{
    display:inline-block;
    background:var(--c-accent);
    color:#22160a;
    padding:.75rem 1.6rem;
    border-radius:8px;
    font-weight:700;
}
.btn:hover{background:var(--c-accent-d);color:#fff;text-decoration:none;}

/* ====================== 404 ====================== */
.page-404{
    text-align:center;
    padding:2rem 0 3rem;
}
.page-404 .code{font-size:5rem;font-weight:800;color:var(--c-primary);line-height:1;}
.page-404 .search-form{max-width:460px;margin:1.6rem auto 0;}

/* ====================== Адаптив ====================== */
@media (max-width:960px){
    .layout-with-sidebar{grid-template-columns:1fr;}
    .fs-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .fs-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
    .fs-latest .latest-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .footer-cols{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
    h1{font-size:1.6rem;}
    .section-title{font-size:1.4rem;}
    .header-inner{flex-wrap:nowrap;}
    .main-nav{position:relative;margin-left:0;}
    .nav-toggle{display:inline-block;}
    .menu{
        display:none;
        position:absolute;
        right:0;top:calc(100% + .5rem);
        background:#fff;
        border:1px solid var(--c-line);
        border-radius:10px;
        box-shadow:var(--shadow);
        flex-direction:column;
        min-width:220px;
        padding:.5rem;
        z-index:50;
    }
    .main-nav.open .menu{display:flex;}
    .layout-single .content-area{width:100%;}
    .fs-split{grid-template-columns:1fr;}
    .fs-split.rev .fs-split-media{order:0;}
    .fs-grid,.fs-steps,.fs-latest .latest-grid{grid-template-columns:1fr;}
    .footer-cols{grid-template-columns:1fr;}
    .entry{padding:1.4rem 1.2rem;}
    .fs-cta-inner{padding:1.8rem 1.4rem;}
    .entry-content table{display:block;overflow-x:auto;}
}
