/*
Theme Name: dds_businessbrainware.com
Author: Ирина Белова
Description: Информационная тема о бизнес-аналитике: метрики, отчёты, автоматизация. Японский минимализм, аналитическая строгость.
Version: 1.1
Text Domain: bbw
*/

/* ============================================================
   ПЕРЕМЕННЫЕ И БАЗА
   ============================================================ */
:root{
    --bg:#F9F8F6;
    --bg-alt:#F0EEEB;
    --footer-bg:#2B2A28;
    --sidebar-bg:#FFFFFF;
    --ink:#1D1C1A;
    --accent:#C4463A;
    --accent2:#8A7A6B;
    --muted:#9B9792;
    --card-border:#E3DFD9;
    --shell:1180px;
    --sans:"Helvetica Neue",Arial,"Segoe UI",sans-serif;
    --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,"Courier New",monospace;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
    margin:0;
    background-color:var(--bg);
    background-image:
        repeating-linear-gradient(0deg, rgba(29,28,26,0.03) 0, rgba(29,28,26,0.03) 1px, transparent 1px, transparent 22px),
        repeating-linear-gradient(90deg, rgba(29,28,26,0.03) 0, rgba(29,28,26,0.03) 1px, transparent 1px, transparent 22px);
    color:var(--ink);
    font-family:var(--mono);
    font-size:16px;
    line-height:1.7;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}

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

a{color:var(--accent);text-decoration:none;}

.entry-content a,
.widget a{
    color:var(--accent);
    border-bottom:1px dotted transparent;
    transition:border-color .18s ease;
}
.entry-content a:hover,
.widget a:hover{
    border-bottom-color:var(--accent);
}

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

h1,h2,h3,h4{
    font-family:var(--sans);
    font-weight:700;
    line-height:1.15;
    letter-spacing:.01em;
    color:var(--ink);
}

h1{font-size:3.5rem;letter-spacing:.02em;}
h2{font-size:2rem;}
h3{font-size:1.4rem;}

.entry-content h2,
.entry-content h3{
    position:relative;
    padding-left:1.4rem;
}
.entry-content h2::before,
.entry-content h3::before{
    content:"■";
    position:absolute;
    left:0;
    top:.05em;
    color:var(--accent);
    font-size:.7em;
}

p{margin:0 0 1.1em;}

/* «Рамка данных» для inline-показателей */
.data-chip{
    font-family:var(--mono);
    border:1px dashed var(--accent2);
    padding:0 .4em;
    border-radius:2px;
    white-space:nowrap;
}

/* Цитаты — толстая линия слева, моноширинный курсив */
blockquote{
    margin:1.6em 0;
    padding:.4em 1.4em;
    border-left:5px solid var(--accent);
    font-family:var(--mono);
    font-style:italic;
    color:#333;
    background:none;
}

/* Таблицы */
.entry-content table{
    border-collapse:collapse;
    width:100%;
    margin:1.4em 0;
}
.entry-content table th,
.entry-content table td{
    border:1px solid var(--card-border);
    padding:.6em .8em;
    text-align:left;
}
.entry-content table th{
    background:var(--bg-alt);
    font-family:var(--sans);
}

/* ============================================================
   КНОПКИ
   ============================================================ */
.btn{
    display:inline-block;
    position:relative;
    font-family:var(--sans);
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:.82rem;
    padding:.7em 1.6em;
    border:1.5px solid var(--accent);
    color:var(--accent);
    background:transparent;
    border-radius:2px;
    transition:transform .18s ease;
}
.btn::after{
    content:"";
    position:absolute;
    left:1.6em;right:1.6em;bottom:.5em;
    height:1px;
    background:var(--accent);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn:hover::after{transform:scaleX(1);}

.btn-ghost{border:none;padding-left:0;padding-right:0;}
.btn-ghost::after{left:0;right:0;}

/* ============================================================
   ШАПКА
   ============================================================ */
.site-header{
    background:transparent;
    padding:1.6rem 0 1.2rem;
}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    flex-wrap:wrap;
}
.brand{
    display:flex;
    align-items:center;
    gap:.9rem;
    min-width:0;
}
.brand-logo,.brand-logo-svg{
    display:block;
    width:46px;height:46px;
    flex:0 0 auto;
}
.brand-text{min-width:0;}
.brand-title{
    font-family:var(--sans);
    font-weight:700;
    font-size:1.05rem;
    line-height:1.2;
    letter-spacing:.02em;
    color:var(--ink);
    margin:0;
}
.brand-title a{color:inherit;}
.brand-desc{
    font-size:.72rem;
    color:var(--muted);
    margin:.2rem 0 0;
    max-width:38ch;
}

.main-nav ul{
    list-style:none;
    display:flex;
    flex-wrap:wrap;
    gap:1.4rem;
    margin:0;padding:0;
}
.main-nav a{
    font-family:var(--sans);
    font-weight:600;
    font-size:.82rem;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:var(--ink);
    position:relative;
}
.main-nav a:hover,
.main-nav .current-menu-item > a{color:var(--accent);}

.nav-toggle{
    display:none;
    background:none;border:1.5px solid var(--ink);
    border-radius:2px;
    padding:.4rem .7rem;
    font-family:var(--sans);
    cursor:pointer;
    color:var(--ink);
}

/* ============================================================
   МАКЕТ / КОНТЕЙНЕРЫ
   ============================================================ */
.site-main{padding:2.2rem 0 3rem;}

.layout-with-sidebar{
    display:grid;
    grid-template-columns:minmax(0,67fr) minmax(0,27fr);
    gap:3.4%;
    align-items:start;
}
.layout-single{
    display:block;
}
.layout-single .content-area{
    width:85%;
    max-width:100%;
    margin-left:auto;margin-right:auto;
}

.content-area{min-width:0;}

/* Хлебные крошки */
.breadcrumbs{
    font-family:var(--mono);
    font-size:.78rem;
    color:var(--muted);
    margin:0 0 1.6rem;
    letter-spacing:.02em;
}
.breadcrumbs a{color:var(--accent2);}
.breadcrumbs a:hover{color:var(--accent);}
.breadcrumbs .sep{margin:0 .3em;color:var(--muted);}

/* ============================================================
   САЙДБАР
   ============================================================ */
.sidebar{
    min-width:0;
    background:var(--sidebar-bg);
    border:1px solid var(--card-border);
    padding:1.6rem 1.4rem;
}
.sidebar .widget{margin-bottom:2rem;}
.sidebar .widget:last-child{margin-bottom:0;}
.sidebar .widget-title{
    font-family:var(--sans);
    font-size:1rem;
    letter-spacing:.03em;
    color:var(--ink);
    margin:0 0 1rem;
    padding-left:1rem;
    position:relative;
}
.sidebar .widget-title::before{
    content:"";
    position:absolute;left:0;top:.15em;
    width:3px;height:1em;
    background:var(--accent);
}
.sidebar ul{list-style:none;margin:0;padding:0;}
.sidebar li{
    padding:.4rem 0;
    border-bottom:1px solid var(--card-border);
    font-size:.86rem;
}
.sidebar li:last-child{border-bottom:none;}
.sidebar a{color:var(--ink);}
.sidebar a:hover{color:var(--accent);}
.sidebar .post-date{color:var(--muted);}

/* ============================================================
   КАРТОЧКИ ЗАПИСЕЙ
   ============================================================ */
.card{
    display:flex;
    flex-direction:column;
    border:1px solid var(--card-border);
    background:var(--bg);
    border-left:3px solid transparent;
    margin-bottom:1.6rem;
    overflow:hidden;
    transition:background .18s ease, border-left-color .18s ease;
}
.card:hover{
    background:var(--bg-alt);
    border-left-color:var(--accent);
}

@media (min-width:601px){
    .card{flex-direction:row;}
}

.card-thumb-wrap{
    flex:0 0 260px;
    position:relative;
    overflow:hidden;
    min-height:180px;
}
.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.4rem 1.5rem;
    display:flex;
    flex-direction:column;
}
.card-title{
    font-family:var(--sans);
    font-size:1.25rem;
    margin:0 0 .5rem;
    line-height:1.2;
}
.card-title a{color:var(--ink);}
.card-title a:hover{color:var(--accent);}
.card-meta{
    font-family:var(--mono);
    font-size:.74rem;
    color:var(--muted);
    margin-bottom:.7rem;
    letter-spacing:.02em;
}
.card-excerpt{font-size:.9rem;color:#3a3936;}
.card-excerpt p{margin:0 0 .5em;background:none;}
.card-more{margin-top:auto;padding-top:.6rem;}

/* ============================================================
   ГЛАВНАЯ
   ============================================================ */
.front .site-main{padding-top:0;}

.front-section{padding:3.4rem 0;}
.section-head{margin-bottom:2rem;}
.section-kicker{
    display:flex;
    align-items:center;
    gap:.8rem;
    margin-bottom:.5rem;
}
.section-kicker::before{
    content:"";
    width:2px;height:1.4em;
    background:var(--accent);
    flex:0 0 auto;
}
.section-kicker span{
    font-family:var(--sans);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.78rem;
    color:var(--accent2);
}
.section-title{font-size:2.1rem;margin:0;}
.section-sub{
    font-style:italic;
    color:var(--muted);
    margin:.6rem 0 0 1.6rem;
    font-size:.95rem;
}
.section-rule{
    width:30%;height:2px;
    background:var(--accent2);
    margin:1.4rem 0 0;
    opacity:.5;
}

/* Блок 1 — Hero (типографика) */
.fs-hero{
    position:relative;
    padding:5rem 0 4rem;
    overflow:hidden;
}
.fs-hero::before{
    content:"";
    position:absolute;
    right:-6%;top:-20%;
    width:520px;height:520px;
    background:
        conic-gradient(from 180deg at 50% 100%, var(--accent) 0deg, transparent 60deg),
        radial-gradient(circle at 60% 60%, rgba(196,70,58,.4), transparent 70%);
    filter:blur(60px);
    opacity:.28;
    pointer-events:none;
    z-index:0;
}
.hero-inner{position:relative;z-index:1;max-width:60ch;}
.hero-title{
    font-size:4.6rem;
    line-height:1.02;
    letter-spacing:.01em;
    margin:0 0 1.2rem;
    transform:translateY(-.2rem);
}
.hero-desc{
    font-family:var(--mono);
    font-size:.95rem;
    color:#4a4844;
    max-width:52ch;
    margin:0 0 1.8rem;
}

/* Блок 2 — Цитата / манифест (плашка, смещена вправо) */
.fs-manifesto-wrap{
    display:flex;
    justify-content:flex-end;
}
.fs-manifesto{
    width:90%;
    background-color:var(--bg-alt);
    background-image:
        repeating-linear-gradient(0deg, rgba(29,28,26,0.04) 0, rgba(29,28,26,0.04) 1px, transparent 1px, transparent 20px),
        repeating-linear-gradient(90deg, rgba(29,28,26,0.04) 0, rgba(29,28,26,0.04) 1px, transparent 1px, transparent 20px);
    padding:3.2rem 3rem;
    border-left:5px solid var(--accent);
    position:relative;
}
.fs-manifesto .manifesto-text{
    font-family:var(--sans);
    font-weight:700;
    font-size:2rem;
    line-height:1.25;
    letter-spacing:.01em;
    margin:0;
    max-width:24ch;
}
.fs-manifesto .manifesto-sign{
    display:block;
    margin-top:1.4rem;
    font-family:var(--mono);
    font-style:italic;
    font-size:.9rem;
    color:var(--accent2);
}

/* Блок «последние записи» */
.fs-latest .latest-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(0, 1fr));
    gap:1.6rem;
}
@media (min-width:700px){
    .fs-latest .latest-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
}
.latest-card{
    display:flex;
    flex-direction:column;
    border:1px solid var(--card-border);
    background:var(--bg);
    border-top:3px solid var(--accent);
    overflow:hidden;
    transition:background .18s ease;
}
.latest-card:hover{background:var(--bg-alt);}
.latest-thumb{display:block;overflow:hidden;}
.latest-thumb img{
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    display:block;
}
.latest-body{
    flex:1;
    min-width:0;
    padding:1.2rem 1.3rem;
    display:flex;
    flex-direction:column;
}
.latest-title{
    font-family:var(--sans);
    font-size:1.1rem;
    margin:0 0 .5rem;
    line-height:1.22;
}
.latest-title a{color:var(--ink);}
.latest-title a:hover{color:var(--accent);}
.latest-meta{
    font-family:var(--mono);
    font-size:.72rem;
    color:var(--muted);
    margin-bottom:.6rem;
}
.latest-excerpt{font-size:.86rem;color:#3a3936;}
.latest-excerpt p{margin:0 0 .5em;background:none;}
.latest-more{margin-top:auto;padding-top:.5rem;}

/* Блок 3 — Таймлайн */
.fs-timeline{background-color:var(--bg-alt);}
.timeline{
    position:relative;
    margin:1rem 0 0;
    padding-left:2.4rem;
}
.timeline::before{
    content:"";
    position:absolute;
    left:.55rem;top:.4rem;bottom:.4rem;
    width:2px;
    background:var(--accent2);
    opacity:.5;
}
.timeline-item{
    position:relative;
    padding:0 0 2rem 1.4rem;
    display:grid;
    grid-template-columns:minmax(0,72px) minmax(0,1fr);
    gap:1.4rem;
    align-items:start;
}
.timeline-item:last-child{padding-bottom:0;}
.timeline-item::before{
    content:"";
    position:absolute;
    left:-2.05rem;top:.35rem;
    width:11px;height:11px;
    background:var(--accent);
}
.timeline-year{
    font-family:var(--mono);
    font-size:.85rem;
    color:var(--accent2);
    font-weight:700;
}
.timeline-stage h3{
    font-size:1.15rem;
    margin:0 0 .3rem;
}
.timeline-stage p{
    font-size:.9rem;
    color:#3a3936;
    margin:0;
}

/* Блок 4 — Карта тем / рубрикатор */
.topic-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(0, 1fr));
    gap:1.4rem;
}
@media (min-width:700px){
    .topic-grid{grid-template-columns:repeat(2, minmax(0,1fr));}
}
@media (min-width:1000px){
    .topic-grid{grid-template-columns:repeat(4, minmax(0,1fr));}
}
.topic-card{
    display:block;
    position:relative;
    background:var(--sidebar-bg);
    border:1px solid var(--card-border);
    padding:1.6rem 1.4rem 1.4rem;
    min-height:170px;
    transition:transform .2s ease, border-color .2s ease;
}
.topic-card:hover{
    transform:translateY(6px);
    border-color:var(--accent);
}
.topic-card .topic-name{
    font-family:var(--sans);
    font-weight:700;
    font-size:1.4rem;
    color:var(--ink);
    margin:0 0 .6rem;
    letter-spacing:.01em;
}
.topic-card .topic-desc{
    font-size:.8rem;
    color:var(--muted);
    margin:0;
}
.topic-card .topic-line{
    height:1px;
    background:var(--card-border);
    margin:1rem 0 0;
}
.topic-card .topic-icon{
    position:absolute;
    right:1.2rem;bottom:1.1rem;
    width:34px;height:34px;
    color:var(--accent);
}

/* ============================================================
   ЗАПИСЬ / СТРАНИЦА
   ============================================================ */
.entry-header{margin-bottom:1.6rem;}
.entry-title{font-size:2.6rem;margin:0 0 .7rem;}
.entry-meta{
    font-family:var(--mono);
    font-size:.8rem;
    color:var(--muted);
    letter-spacing:.02em;
}
.entry-thumb{margin:0 0 1.8rem;}
.entry-thumb img{width:100%;display:block;object-fit:cover;}
.entry-content{font-size:.98rem;}
.entry-content ul,.entry-content ol{padding-left:1.4rem;}
.entry-content li{margin:.3em 0;}
.entry-footer{
    margin-top:2rem;
    padding-top:1.2rem;
    border-top:1px solid var(--card-border);
    font-family:var(--mono);
    font-size:.8rem;
    color:var(--muted);
}
.entry-footer a{color:var(--accent2);}

/* ============================================================
   ПАГИНАЦИЯ
   ============================================================ */
.pagination{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    margin:2.6rem 0 0;
}
.pagination .page-numbers{
    font-family:var(--mono);
    font-size:.85rem;
    padding:.5em .9em;
    border:1px solid var(--card-border);
    color:var(--ink);
    border-radius:2px;
    transition:border-color .15s ease, color .15s ease;
}
.pagination a.page-numbers:hover{
    border-color:var(--accent);
    color:var(--accent);
}
.pagination .page-numbers.current{
    background:var(--accent);
    border-color:var(--accent);
    color:#fff;
}
.pagination .page-numbers.dots{
    border:none;
    color:var(--muted);
}

/* ============================================================
   КОММЕНТАРИИ / ФОРМЫ
   ============================================================ */
.comments-area{margin-top:2.6rem;}
.comments-title,.comment-reply-title{
    font-family:var(--sans);
    font-size:1.3rem;
    margin:0 0 1.2rem;
}
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list li{
    border:1px solid var(--card-border);
    padding:1rem 1.2rem;
    margin-bottom:1rem;
    background:var(--sidebar-bg);
}
.comment-list .children{list-style:none;margin:1rem 0 0 1.4rem;padding:0;}
.comment-author{font-family:var(--sans);font-weight:600;}
.comment-metadata{font-size:.72rem;color:var(--muted);}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="password"],
textarea{
    width:100%;
    font-family:var(--mono);
    font-size:.9rem;
    padding:.6em .8em;
    border:1px solid var(--card-border);
    background:#fff;
    border-radius:2px;
    color:var(--ink);
}
textarea{min-height:130px;}
.comment-form label{
    display:block;
    font-family:var(--sans);
    font-size:.82rem;
    margin:.8rem 0 .3rem;
}
.comment-form .submit,
.search-form button{
    font-family:var(--sans);
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:.8rem;
    padding:.7em 1.6em;
    border:1.5px solid var(--accent);
    color:var(--accent);
    background:transparent;
    border-radius:2px;
    cursor:pointer;
    transition:transform .18s ease;
    margin-top:1rem;
    width:auto;
}
.comment-form .submit:hover,
.search-form button:hover{transform:translateY(-2px);}

/* Форма поиска */
.search-form{
    display:flex;
    gap:.6rem;
    align-items:stretch;
}
.search-form label{flex:1;min-width:0;}
.search-form .search-field{width:100%;}
.search-form button{margin-top:0;flex:0 0 auto;}

/* ============================================================
   ПОДВАЛ
   ============================================================ */
.site-footer{
    background:var(--footer-bg);
    color:#cfcbc5;
    padding:3rem 0 1.6rem;
    margin-top:2rem;
}
.footer-cols{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(0, 1fr));
    gap:2.4rem;
}
@media (min-width:760px){
    .footer-cols{grid-template-columns:repeat(3, minmax(0,1fr));}
}
.footer-col{min-width:0;}
.footer-col .widget-title{
    font-family:var(--sans);
    font-size:1rem;
    color:#fff;
    margin:0 0 1rem;
    letter-spacing:.03em;
    padding-left:1rem;
    position:relative;
}
.footer-col .widget-title::before{
    content:"";
    position:absolute;left:0;top:.15em;
    width:3px;height:1em;
    background:var(--accent);
}
.footer-col ul{list-style:none;margin:0;padding:0;}
.footer-col li{padding:.35rem 0;font-size:.86rem;}
.footer-col a{color:#cfcbc5;}
.footer-col a:hover{color:#fff;}
.footer-col p{font-size:.86rem;color:#a9a49d;}
.footer-col .post-date{color:#8f8a82;}
.site-info{
    margin-top:2.4rem;
    padding-top:1.4rem;
    border-top:1px solid #45433f;
    font-family:var(--mono);
    font-size:.78rem;
    color:#8f8a82;
    text-align:center;
}

/* ============================================================
   COOKIE-БАННЕР
   ============================================================ */
.cookie-banner[hidden]{display:none !important;}
.cookie-banner{
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:9999;
    background:var(--footer-bg);
    color:#e5e2dd;
    padding:1rem 0;
    box-shadow:0 -2px 20px rgba(0,0,0,.2);
}
.cookie-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.4rem;
    flex-wrap:wrap;
}
.cookie-text{font-family:var(--mono);font-size:.82rem;margin:0;max-width:70ch;}
.cookie-text a{color:#e8a49c;}
.cookie-accept{
    font-family:var(--sans);
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    font-size:.78rem;
    padding:.6em 1.5em;
    border:1.5px solid var(--accent);
    color:#fff;
    background:var(--accent);
    border-radius:2px;
    cursor:pointer;
    flex:0 0 auto;
    transition:transform .18s ease;
}
.cookie-accept:hover{transform:translateY(-2px);}

/* ============================================================
   404
   ============================================================ */
.error-404{text-align:left;padding:2rem 0;}
.error-404 .code{
    font-family:var(--sans);
    font-size:5rem;
    color:var(--accent);
    margin:0;
    letter-spacing:.05em;
}
.error-404 .error-search{margin:1.6rem 0;max-width:480px;}

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width:960px){
    .layout-with-sidebar{
        grid-template-columns:minmax(0,1fr);
        gap:2.4rem;
    }
    h1{font-size:2.8rem;}
    .hero-title{font-size:3.4rem;}
    .entry-title{font-size:2.1rem;}
}

@media (max-width:600px){
    .layout-single .content-area{width:100%;}
    .nav-toggle{display:inline-block;}
    .main-nav{flex-basis:100%;}
    .main-nav ul{
        display:none;
        flex-direction:column;
        gap:.4rem;
        margin-top:1rem;
    }
    .main-nav.is-open ul{display:flex;}
    .main-nav li{
        padding:.5rem 0;
        border-bottom:1px solid var(--card-border);
    }

    .card{flex-direction:column;}
    .card-thumb-wrap{
        flex:none;
        width:100%;
        position:static;
        min-height:0;
    }
    .card-thumb-wrap a{position:static;}
    .card-thumb-wrap img{
        width:100%;height:auto;
        aspect-ratio:16/9;
    }

    .front-section{padding:2.4rem 0;}
    .fs-hero{padding:3rem 0 2.4rem;}
    .hero-title{font-size:2.5rem;}
    .fs-manifesto{width:100%;padding:2rem 1.5rem;}
    .fs-manifesto .manifesto-text{font-size:1.5rem;}
    .timeline-item{
        grid-template-columns:minmax(0,1fr);
        gap:.3rem;
    }
    .topic-card{min-height:0;}
    .search-form{flex-direction:column;}
    .error-404 .code{font-size:3.4rem;}
}
