/*
Theme Name: dds_masterappsbuilder.com
Author: Юрий Нестеров
Description: Информационная тема о создании мобильных приложений: структура, прототип, экраны, права доступа, тестирование, публикация и сопровождение.
Version: 1.1
Text Domain: mab
*/

/* ===== Базовые переменные ===== */
:root{
    --ink:#1b2030;
    --ink-soft:#4a5168;
    --brand:#3b52e0;
    --brand-dark:#2a3bb0;
    --accent:#12b3a6;
    --bg:#f5f7fc;
    --card:#ffffff;
    --line:#e3e8f4;
    --dark:#161b2e;
    --dark-soft:#20263f;
    --radius:12px;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
    margin:0;
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.65;
    overflow-x:hidden;
}

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

a{color:var(--brand);text-decoration:none;}
a:hover{text-decoration:underline;}

h1,h2,h3,h4{line-height:1.25;color:var(--ink);margin:0 0 .6em;}
h1{font-size:2rem;}
h2{font-size:1.55rem;}
h3{font-size:1.2rem;}
p{margin:0 0 1rem;}

/* ===== Контейнер ширины (единый источник) ===== */
.shell{width:min(92%,1180px);margin-inline:auto;}

/* ===== Шапка ===== */
.site-header{background:var(--card);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;gap:1.4rem;padding:1.1rem 0;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:.85rem;min-width:0;text-decoration:none;}
.brand:hover{text-decoration:none;}
.brand-logo,.brand-svg{flex:0 0 auto;width:52px;height:52px;display:block;}
.brand-text{min-width:0;}
.brand-name{font-weight:700;font-size:1.05rem;color:var(--ink);display:block;line-height:1.25;}
.brand-desc{font-size:.82rem;color:var(--ink-soft);display:block;}

.main-nav{margin-left:auto;}
.main-nav ul{list-style:none;display:flex;gap:.4rem;margin:0;padding:0;flex-wrap:wrap;}
.main-nav a{display:block;padding:.5rem .8rem;border-radius:8px;color:var(--ink-soft);font-weight:600;font-size:.95rem;}
.main-nav a:hover{background:var(--bg);color:var(--brand);text-decoration:none;}

.nav-toggle{display:none;margin-left:auto;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:.55rem .8rem;font-size:1rem;cursor:pointer;}

/* ===== Раскладки ===== */
.site-main{padding:1.8rem 0 2.6rem;}
.layout-with-sidebar{display:grid;grid-template-columns:minmax(0,67%) minmax(0,27%);gap:6%;align-items:start;}
.layout-single{display:block;width:85%;margin-left:auto;margin-right:auto;}
.content-area{min-width:0;}

/* ===== Хлебные крошки ===== */
.breadcrumbs{font-size:.85rem;color:var(--ink-soft);margin:0 0 1.3rem;}
.breadcrumbs a{color:var(--ink-soft);}
.breadcrumbs a:hover{color:var(--brand);}
.breadcrumbs .sep{margin:0 .3rem;color:#b7c0d8;}

/* ===== Карточки записей ===== */
.card{
    display:flex;flex-direction:column;
    background:var(--card);border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;
    margin-bottom:1.4rem;transition:box-shadow .18s,transform .18s;
}
.card:hover{box-shadow:0 10px 28px rgba(27,32,48,.08);transform:translateY(-2px);}
.card-thumb-wrap{flex:0 0 260px;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-row{flex-direction:row;}
.card-body{flex:1;min-width:0;padding:1.3rem 1.4rem;display:flex;flex-direction:column;}
.card-title{font-size:1.22rem;margin:0 0 .5rem;}
.card-title a{color:var(--ink);}
.card-title a:hover{color:var(--brand);text-decoration:none;}
.card-meta{font-size:.8rem;color:var(--ink-soft);margin-bottom:.6rem;}
.card-excerpt{color:var(--ink-soft);font-size:.95rem;}
.card-excerpt p{margin:0 0 .5em;background:none;}
.card-more{margin-top:auto;padding-top:.7rem;font-weight:600;color:var(--brand);}

/* ===== Одиночная запись / страница ===== */
.entry{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;}
.entry-header{margin-bottom:1.2rem;}
.entry-title{font-size:1.9rem;margin:0 0 .4rem;}
.entry-meta{font-size:.85rem;color:var(--ink-soft);}
.entry-thumb{border-radius:var(--radius);overflow:hidden;margin:0 0 1.4rem;}
.entry-thumb img{width:100%;display:block;}
.entry-content{font-size:1.02rem;}
.entry-content img{border-radius:8px;display:block;}
.entry-content h2,.entry-content h3{margin-top:1.6rem;}
.entry-content ul,.entry-content ol{padding-left:1.3rem;}
.entry-content blockquote{
    margin:1.4rem 0;padding:1.1rem 1.4rem;background:var(--bg);
    border-left:4px solid var(--brand);border-radius:0 8px 8px 0;color:var(--ink-soft);
}
.entry-content table{border-collapse:collapse;width:100%;margin:1.2rem 0;}
.entry-content table,.entry-content th,.entry-content td{border:1px solid var(--line);}
.entry-content th,.entry-content td{padding:.6rem .8rem;text-align:left;}
.entry-content th{background:var(--bg);}

/* ===== Сайдбар ===== */
.sidebar{min-width:0;}
.widget{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;margin-bottom:1.3rem;}
.widget-title{font-size:1.05rem;margin:0 0 .8rem;color:var(--ink);padding-bottom:.5rem;border-bottom:2px solid var(--brand);}
.widget ul{list-style:none;margin:0;padding:0;}
.widget li{padding:.4rem 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:.92rem;}
.widget li:last-child{border-bottom:0;}
.widget a{color:var(--ink);}
.widget a:hover{color:var(--brand);}
.widget .post-date{display:block;font-size:.78rem;color:var(--ink-soft);}

/* ===== Пагинация ===== */
.pagination{display:flex;flex-wrap:wrap;gap:.4rem;margin:2rem 0 .5rem;justify-content:center;}
.pagination .page-numbers{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:40px;height:40px;padding:0 .7rem;
    border:1px solid var(--line);border-radius:8px;background:var(--card);
    color:var(--ink);font-weight:600;font-size:.92rem;
}
.pagination a.page-numbers:hover{border-color:var(--brand);color:var(--brand);text-decoration:none;}
.pagination .page-numbers.current{background:var(--brand);border-color:var(--brand);color:#fff;}
.pagination .page-numbers.dots{border:0;background:none;}

/* ===== Форма поиска ===== */
.search-form{display:flex;gap:.5rem;}
.search-form input[type="search"]{
    flex:1;min-width:0;padding:.6rem .8rem;border:1px solid var(--line);
    border-radius:8px;font-size:.95rem;background:var(--card);color:var(--ink);
}
.search-form button{
    border:0;background:var(--brand);color:#fff;padding:.6rem 1.1rem;
    border-radius:8px;font-weight:600;cursor:pointer;
}
.search-form button:hover{background:var(--brand-dark);}

/* ===== Комментарии ===== */
.comments-area{margin-top:2rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.8rem;}
.comment-list{list-style:none;margin:0;padding:0;}
.comment-list li{border-top:1px solid var(--line);padding:1rem 0;}
.comment-list .comment-author{font-weight:700;}
.comment-list .comment-meta{font-size:.8rem;color:var(--ink-soft);margin-bottom:.4rem;}
.comment-respond{margin-top:1.4rem;}
.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(--line);border-radius:8px;font-family:inherit;font-size:.95rem;margin-top:.3rem;background:var(--card);color:var(--ink);
}
.comment-form textarea{min-height:130px;}
.comment-form .submit,.comment-respond .submit{
    background:var(--brand);color:#fff;border:0;padding:.65rem 1.4rem;border-radius:8px;font-weight:600;cursor:pointer;margin-top:.6rem;
}

/* ===== Главная — секции ===== */
.front-section{padding:2.8rem 0;}
.fs-head{text-align:center;max-width:720px;margin:0 auto 1.8rem;}
.fs-head h2{margin-bottom:.5rem;}
.fs-head p{color:var(--ink-soft);margin:0;}

/* блок 1: текст + иллюстрация */
.fs-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.4rem;align-items:center;}
.fs-split .fs-text p{color:var(--ink-soft);}
.fs-split .fs-media img{width:100%;border-radius:var(--radius);display:block;border:1px solid var(--line);}
.fs-split.reverse .fs-text{order:2;}

/* блок 2: сетка карточек */
.fs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem;}
.fs-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.3rem;}
.fs-tile .ico{width:46px;height:46px;border-radius:10px;background:rgba(59,82,224,.1);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;color:var(--brand);font-size:1.35rem;font-weight:700;}
.fs-tile h3{font-size:1.08rem;margin:0 0 .4rem;}
.fs-tile p{color:var(--ink-soft);font-size:.9rem;margin:0;}

/* последние записи на главной */
.fs-latest{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;}

/* блок 3: шаги */
.fs-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.3rem;counter-reset:step;}
.fs-step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.3rem 1.3rem;}
.fs-step .num{width:38px;height:38px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:.8rem;}
.fs-step h3{font-size:1.05rem;margin:0 0 .4rem;}
.fs-step p{color:var(--ink-soft);font-size:.9rem;margin:0;}

/* блок 4: FAQ */
.fs-faq{max-width:820px;margin:0 auto;}
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:.9rem;padding:0 1.3rem;}
.faq-item summary{cursor:pointer;font-weight:600;padding:1.05rem 0;list-style:none;color:var(--ink);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";float:right;color:var(--brand);font-weight:700;font-size:1.3rem;line-height:1;}
.faq-item[open] summary::after{content:"–";}
.faq-item .faq-body{padding:0 0 1.1rem;color:var(--ink-soft);}
.faq-item .faq-body p{margin:0;}

/* CTA-плашка */
.fs-cta{background:var(--dark);color:#eef1fb;border-radius:var(--radius);padding:2.6rem 2.4rem;text-align:center;}
.fs-cta h2{color:#fff;margin-bottom:.6rem;}
.fs-cta p{color:#c4cbe6;max-width:640px;margin:0 auto 1.4rem;}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:.75rem 1.7rem;border-radius:9px;font-weight:600;}
.btn:hover{background:var(--brand-dark);text-decoration:none;color:#fff;}

/* ===== Подвал ===== */
.site-footer{background:var(--dark);color:#c4cbe6;margin-top:2rem;}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:2.6rem 0;}
.footer-col{min-width:0;}
.footer-col .widget{background:transparent;border:0;padding:0;margin:0;}
.footer-col .widget-title{color:#fff;border-bottom-color:rgba(255,255,255,.2);}
.footer-col .widget,.footer-col .widget p,.footer-col .widget li{color:#c4cbe6;}
.footer-col .widget a{color:#dfe4f5;}
.footer-col .widget a:hover{color:#fff;}
.footer-col .widget li{border-bottom-color:rgba(255,255,255,.1);}
.footer-col .widget .post-date{color:#9aa3c4;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:1.1rem 0;font-size:.85rem;color:#9aa3c4;text-align:center;}

/* ===== Cookie-баннер ===== */
.cookie-banner[hidden]{display:none !important;}
.cookie-banner{
    position:fixed;left:0;right:0;bottom:0;z-index:999;
    background:var(--dark-soft);color:#e7eafc;
    display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;
    padding:1rem 1.4rem;box-shadow:0 -4px 20px rgba(0,0,0,.2);
}
.cookie-banner p{margin:0;font-size:.9rem;flex:1;min-width:220px;}
.cookie-banner a{color:#9db3ff;}
.cookie-banner button{
    background:var(--brand);color:#fff;border:0;border-radius:8px;
    padding:.6rem 1.4rem;font-weight:600;cursor:pointer;white-space:nowrap;
}
.cookie-banner button:hover{background:var(--brand-dark);}

/* ===== 404 ===== */
.error-404{text-align:center;padding:2rem 0;}
.error-404 .big{font-size:5rem;font-weight:800;color:var(--brand);line-height:1;margin-bottom:.5rem;}
.error-404 .search-form{max-width:440px;margin:1.4rem auto 0;}

/* ===== Адаптив ===== */
@media (max-width:960px){
    .fs-grid,.fs-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
    .latest-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .layout-with-sidebar{grid-template-columns:1fr;gap:2rem;}
    .layout-single{width:100%;}
    .fs-split{grid-template-columns:1fr;gap:1.4rem;}
    .fs-split.reverse .fs-text{order:0;}
}

@media (max-width:600px){
    h1{font-size:1.6rem;}
    h2{font-size:1.35rem;}
    .nav-toggle{display:inline-block;}
    .main-nav{display:none;flex-basis:100%;margin-left:0;order:5;}
    .main-nav.is-open{display:block;}
    .main-nav ul{flex-direction:column;gap:.2rem;}
    .fs-grid,.fs-steps,.latest-grid{grid-template-columns:1fr;}
    .card-row{flex-direction:column;}
    .card-thumb-wrap{flex:none;width:100%;position:static;height:200px;}
    .card-thumb-wrap a{position:static;}
    .card-thumb-wrap img{width:100%;height:100%;aspect-ratio:16/9;}
    .fs-cta{padding:1.9rem 1.4rem;}
    .entry{padding:1.3rem;}
    .front-section{padding:2rem 0;}
}
