/* Строительные советы — оформление портала */
* { margin:0; padding:0; box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  font-family:"PT Sans","Segoe UI","Helvetica Neue",Arial,sans-serif;
  font-size:15px; line-height:1.6; color:#5a5a5a; background:#fff;
}
img { max-width:100%; height:auto; display:block; border:0; }
a { color:#c25a54; text-decoration:none; }
a:hover { text-decoration:underline; }
a:focus-visible, button:focus-visible, input:focus-visible { outline:2px solid #6fb7d4; outline-offset:2px; }
ul, ol { list-style:none; }

.wrap { max-width:1200px; margin:0 auto; padding:0 20px; }

/* ---------- Шапка ---------- */
.site-head { background:#fff; }
.site-head .wrap { border-top:1px solid #e0e0e0; padding-top:34px; padding-bottom:30px; }
.site-title {
  font-family:Georgia,"Times New Roman",serif; font-style:italic; font-weight:400;
  font-size:38px; line-height:1.1; color:#c25a54; letter-spacing:.2px;
}
.site-title a { color:#c25a54; }
.site-title a:hover { text-decoration:none; color:#a94b46; }
.site-desc { margin-top:10px; font-size:14px; color:#8a8a8a; }
.head-contact { float:right; text-align:right; font-size:13px; color:#9a9a9a; padding-top:12px; }
.head-contact a { color:#7d7d7d; }

/* ---------- Меню ---------- */
.mainnav { background:#333; }
.mainnav .wrap { padding:0 20px; }
.navrow { display:flex; align-items:stretch; flex-wrap:wrap; }
.nav-home { width:58px; background:#6fb7d4; display:flex; align-items:center; justify-content:center; }
.nav-home:hover { background:#5ea9c8; text-decoration:none; }
.nav-home svg { width:20px; height:20px; fill:#fff; }
.navrow > li { position:relative; list-style:none; }
.navrow a.navlink { display:block; color:#fff; font-size:16px; padding:0 22px; line-height:68px; }
.navrow a.navlink:hover { background:#3d3d3d; text-decoration:none; }
.navrow li.current > a.navlink { background:#3d3d3d; }
.subnav { display:none; position:absolute; left:0; top:100%; background:#333; min-width:215px; z-index:40; box-shadow:0 6px 14px rgba(0,0,0,.25); }
.navrow li:hover .subnav, .navrow li:focus-within .subnav { display:block; }
.subnav a { display:block; color:#dcdcdc; font-size:15px; padding:11px 22px; border-top:1px solid #454545; }
.subnav a:hover { background:#444; color:#fff; text-decoration:none; }
.nav-toggle { display:none; }

/* ---------- Каркас страницы ---------- */
.page { padding:38px 0 10px; }
.cols { display:flex; gap:44px; align-items:flex-start; }
.content { flex:1 1 auto; min-width:0; }
.sidebar { width:376px; flex:0 0 376px; }

/* ---------- Заголовок блока ---------- */
.block-head { display:flex; align-items:stretch; margin:0 0 28px; }
.block-head .bh-ico { width:46px; background:#c25a54; display:flex; align-items:center; justify-content:center; }
.block-head .bh-ico svg { width:20px; height:20px; fill:#fff; }
.block-head .bh-name { background:#7ec3dd; color:#fff; font-size:20px; font-weight:400; line-height:46px; padding:0 24px; white-space:nowrap; }
.block-head .bh-tail { flex:1 1 auto; background:#f0f0f0; border-right:5px solid #7ec3dd; }
.sect { margin-bottom:46px; }
.sect-note { margin:-12px 0 26px; color:#787878; font-size:15px; }

/* ---------- Записи ---------- */
.post { margin-bottom:44px; }
.post-thumb { display:block; margin-bottom:18px; }
.post-thumb img { width:100%; }
.post h2, .post h3 { font-weight:300; color:#444; line-height:1.25; }
.post h2 { font-size:27px; margin-bottom:10px; }
.post h3 { font-size:22px; margin-bottom:9px; }
.post h2 a, .post h3 a { color:#444; }
.post h2 a:hover, .post h3 a:hover { color:#c25a54; text-decoration:none; }
.post-meta { font-size:13px; color:#a0a0a0; margin-bottom:14px; }
.post-meta a { color:#a0a0a0; }
.post-text { color:#6b6b6b; margin-bottom:18px; }
.btn-more {
  display:inline-block; background:#c25a54; color:#fff; font-weight:700; font-size:15px;
  padding:13px 26px; border-radius:2px;
}
.btn-more:hover { background:#a94b46; text-decoration:none; color:#fff; }

.grid2 { display:flex; flex-wrap:wrap; gap:42px 42px; }
.grid2 > .post { width:calc(50% - 21px); margin-bottom:0; }
.grid3 { display:flex; flex-wrap:wrap; gap:28px; }
.grid3 > .tile { width:calc(33.333% - 19px); }

/* плитки рубрик */
.tile { border:1px solid #e6e6e6; }
.tile .tile-body { padding:16px 18px 20px; }
.tile h3 { font-size:19px; font-weight:400; color:#444; margin-bottom:8px; }
.tile p { font-size:14px; color:#7d7d7d; }
.tile .tile-link { display:inline-block; margin-top:10px; font-size:13px; color:#5b9bd5; }

/* компактный список статей */
.minilist { display:flex; flex-wrap:wrap; gap:22px 34px; }
.minilist .mi { width:calc(50% - 17px); display:flex; gap:16px; }
.minilist .mi img { width:140px; height:72px; object-fit:cover; flex:0 0 140px; }
.minilist .mi .mi-t { font-size:15px; color:#4a4a4a; line-height:1.35; }
.minilist .mi .mi-t:hover { color:#c25a54; text-decoration:none; }
.minilist .mi .mi-c { display:block; margin-top:6px; font-size:12px; color:#5b9bd5; }

/* ---------- Партнёры ---------- */
.partners .pnote { color:#6b6b6b; margin-bottom:26px; }
.partner { display:flex; gap:26px; align-items:flex-start; padding:22px 0; border-bottom:1px solid #ececec; }
.partner:last-child { border-bottom:0; }
.partner .plogo { flex:0 0 250px; border:1px solid #ececec; padding:14px; background:#fff; display:block; }
.partner .plogo img { width:100%; }
.partner h3 { font-size:21px; font-weight:400; color:#444; margin-bottom:9px; }
.partner p { color:#6b6b6b; }
.partner p + p { margin-top:10px; }

/* ---------- Текст статьи ---------- */
.entry h1 { font-size:33px; font-weight:300; color:#3f3f3f; line-height:1.2; margin-bottom:16px; }
.entry .entry-meta { font-size:13px; color:#a0a0a0; margin-bottom:22px; }
.entry .entry-meta a { color:#a0a0a0; }
.entry > img, .entry figure img { width:100%; margin-bottom:24px; }
.entry p { margin-bottom:16px; }
.entry h2 { font-size:25px; font-weight:300; color:#444; margin:34px 0 14px; padding-bottom:9px; border-bottom:1px solid #ececec; }
.entry h3 { font-size:20px; font-weight:400; color:#4a4a4a; margin:24px 0 10px; }
.entry ul li, .entry ol li { margin-bottom:9px; padding-left:20px; position:relative; }
.entry ul li:before { content:""; position:absolute; left:2px; top:9px; width:7px; height:7px; background:#7ec3dd; border-radius:50%; }
.entry ol { counter-reset:st; }
.entry ol li { padding-left:34px; }
.entry ol li:before { counter-increment:st; content:counter(st); position:absolute; left:0; top:1px; width:24px; height:24px; background:#c25a54; color:#fff; font-size:13px; line-height:24px; text-align:center; border-radius:2px; }
.entry ul, .entry ol { margin:0 0 18px; }
.toc { background:#f6f6f6; border-left:5px solid #7ec3dd; padding:18px 22px; margin-bottom:26px; }
.toc b { display:block; color:#4a4a4a; font-weight:400; font-size:17px; margin-bottom:9px; }
.toc ol li { padding-left:0; margin-bottom:6px; }
.toc ol li:before { display:none; }
.note { background:#f6f6f6; border-left:5px solid #c25a54; padding:16px 20px; margin:22px 0; color:#5f5f5f; }
.faq-q { font-size:17px; color:#444; margin:18px 0 6px; font-weight:700; }
.tag-line { margin-top:26px; padding-top:18px; border-top:1px solid #ececec; font-size:13px; color:#9a9a9a; }
.tag-line a { color:#7d7d7d; }
.crumbs { font-size:13px; color:#a5a5a5; margin-bottom:16px; }
.crumbs a { color:#a5a5a5; }

.related { display:flex; flex-wrap:wrap; gap:26px; }
.related .rel { width:calc(33.333% - 18px); }
.related .rel img { width:100%; height:120px; object-fit:cover; margin-bottom:10px; }
.related .rel a.rt { font-size:15px; color:#4a4a4a; }
.related .rel a.rt:hover { color:#c25a54; text-decoration:none; }

.pager { margin:10px 0 40px; font-size:15px; }
.pager a, .pager span { display:inline-block; padding:9px 15px; border:1px solid #e2e2e2; margin-right:6px; color:#6b6b6b; }
.pager span.cur { background:#c25a54; border-color:#c25a54; color:#fff; }

/* ---------- Сайдбар ---------- */
.searchbox { display:flex; margin-bottom:34px; }
.searchbox input[type=text] {
  flex:1 1 auto; background:#efefef; border:0; height:50px; padding:0 18px; font-size:15px;
  color:#5a5a5a; font-family:inherit;
}
.searchbox button { width:50px; height:50px; border:0; background:#c25a54; cursor:pointer; }
.searchbox button svg { width:18px; height:18px; fill:#fff; }
.widget { margin-bottom:38px; }
.widget-title { font-size:21px; font-weight:300; color:#8d8d8d; padding-bottom:12px; border-bottom:1px solid #e6e6e6; margin-bottom:18px; }
.wpost { display:flex; gap:14px; padding:12px 0; }
.wpost img { width:140px; height:70px; object-fit:cover; flex:0 0 140px; }
.wpost .wt { font-size:14px; color:#4a4a4a; line-height:1.35; }
.wpost .wt:hover { color:#c25a54; text-decoration:none; }
.wpost .wl { display:block; margin-top:6px; font-size:12px; color:#5b9bd5; }
.catlist li a { display:block; padding:13px 2px; border-bottom:1px solid #eee; color:#5f5f5f; font-size:15px; }
.catlist li a:hover { color:#c25a54; text-decoration:none; }
.tags a { display:inline-block; margin:0 9px 4px 0; color:#666; line-height:1.9; }
.tags a:hover { color:#c25a54; text-decoration:none; }
.side-note { font-size:14px; color:#7d7d7d; }

/* ---------- Подвал ---------- */
.site-foot { background:#333; color:#b4b4b4; margin-top:40px; padding:0 0 26px; font-size:14px; }
.fcols { display:flex; gap:42px; padding-top:0; }
.fcol { flex:1 1 0; min-width:0; }
.fcol .fbar { height:5px; background:#7ec3dd; margin-bottom:26px; }
.fcol h4 { color:#fff; font-size:20px; font-weight:700; margin-bottom:18px; }
.fcol li { margin-bottom:13px; padding-left:20px; position:relative; }
.fcol li:before { content:""; position:absolute; left:0; top:6px; width:9px; height:9px; border:1px solid #9a9a9a; border-radius:50%; }
.fcol a { color:#bdbdbd; }
.fcol a:hover { color:#fff; }
.ftags a { display:inline-block; margin:0 8px 3px 0; color:#d39a95; line-height:1.85; }
.ftags a:hover { color:#f0c3bf; text-decoration:none; }
.foot-bottom { border-top:1px solid #4a4a4a; margin-top:34px; padding-top:22px; display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:space-between; color:#9a9a9a; font-size:13px; }
.foot-bottom a { color:#cfcfcf; }
.totop { position:fixed; right:22px; bottom:26px; width:44px; height:44px; background:rgba(255,255,255,.75); border:1px solid #d8d8d8; display:none; align-items:center; justify-content:center; cursor:pointer; z-index:60; }
.totop svg { width:20px; height:20px; fill:#9a9a9a; }
.totop.on { display:flex; }

/* ---------- 404 и поиск ---------- */
.err { text-align:center; padding:26px 0 40px; }
.err .code { font-family:Georgia,serif; font-style:italic; font-size:96px; color:#c25a54; line-height:1; }
.err h1 { font-size:30px; font-weight:300; color:#444; margin:14px 0 12px; }
.err p { color:#7d7d7d; margin-bottom:22px; }
.searchpage .searchbox { max-width:560px; }
.sres { border-bottom:1px solid #eee; padding:16px 0; }
.sres a { font-size:19px; color:#444; font-weight:300; }
.sres a:hover { color:#c25a54; text-decoration:none; }
.sres p { font-size:14px; color:#7d7d7d; margin-top:6px; }

.table { width:100%; border-collapse:collapse; margin:0 0 20px; font-size:14px; }
.table th, .table td { border:1px solid #e6e6e6; padding:10px 12px; text-align:left; vertical-align:top; }
.table th { background:#f6f6f6; color:#4a4a4a; font-weight:700; }

/* ---------- Адаптив ---------- */
@media (max-width:1060px) {
  .cols { display:block; }
  .sidebar { width:auto; flex:none; margin-top:44px; }
  .grid3 > .tile { width:calc(50% - 14px); }
}
@media (max-width:860px) {
  .navrow { position:relative; }
  .nav-toggle { display:block; margin-left:auto; background:none; border:0; color:#fff; font-size:15px; padding:0 18px; line-height:68px; cursor:pointer; font-family:inherit; }
  .navrow .navitems { display:none; width:100%; }
  .navrow.open .navitems { display:block; }
  .navrow .navitems li { display:block; }
  .navrow a.navlink { line-height:1; padding:15px 18px; border-top:1px solid #454545; }
  .subnav { position:static; display:block; box-shadow:none; }
  .subnav a { padding-left:36px; }
  .grid2 > .post, .minilist .mi, .related .rel { width:100%; }
  .fcols { display:block; }
  .fcol { margin-bottom:34px; }
  .partner { display:block; }
  .partner .plogo { margin-bottom:18px; max-width:300px; }
  .site-title { font-size:31px; }
  .entry h1 { font-size:27px; }
  .head-contact { float:none; text-align:left; padding-top:14px; }
}
@media (max-width:560px) {
  .grid3 > .tile { width:100%; }
  .wpost img, .minilist .mi img { width:110px; flex-basis:110px; height:62px; }
  .err .code { font-size:70px; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none !important; animation:none !important; } }

/* ---------- Вводный текст на главной ---------- */
.seo-intro { margin-bottom:42px; }
.seo-intro h1 { font-size:31px; font-weight:300; color:#3f3f3f; line-height:1.22; margin-bottom:18px; }
.seo-intro p { margin-bottom:15px; color:#6b6b6b; }
.seo-intro p:last-child { margin-bottom:0; }
@media (max-width:860px) { .seo-intro h1 { font-size:25px; } }
