/* Вариант 1 — «Чистый каталог»: светлый фон, индиго, карточки, аккуратные формы */
:root{
  --bg:#f5f6fa; --card:#fff; --ink:#101828; --mut:#5b6478;
  --acc:#4f46e5; --acc2:#7c3aed; --line:#e4e7ef; --soft:#eef0ff;
}
html{ background:var(--bg); }
body{
  background:var(--bg) !important; color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.6;
}
.container{ max-width:1180px; padding-left:20px; padding-right:20px; }
a{ color:var(--acc); }

/* ---------- шапка ---------- */
.page-header{ background:transparent; }
.site-branding{ align-items:center; padding:18px 0 6px; }
.site-title-heading{ margin:0; }
.site-title-heading a{
  font-size:26px; font-weight:800; letter-spacing:-.02em; color:var(--ink); text-decoration:none;
}
.site-title-heading a::before{
  content:""; display:inline-block; width:26px; height:26px; border-radius:8px;
  background:linear-gradient(135deg,var(--acc),var(--acc2));
  margin-right:10px; vertical-align:-4px;
}
.site-description small{ color:var(--mut); font-size:13px; }
.navbar{ background:transparent !important; padding:0; }
.navbar-brand{ display:none; }          /* дубль названия в навбаре */
.main-navigation{ margin-bottom:6px; }
#bb4-primary-menu .nav-link{
  color:#374151; font-weight:600; font-size:15px; padding:9px 12px; border-radius:10px;
}
#bb4-primary-menu .nav-link:hover,
#bb4-primary-menu .nav-item.current-menu-item > .nav-link{
  background:var(--soft); color:var(--acc);
}
.dropdown-menu{
  border:1px solid var(--line); border-radius:12px;
  box-shadow:0 18px 40px rgba(16,24,40,.12); padding:8px;
}
.dropdown-item{ border-radius:8px; font-size:14px; }
.dropdown-item:hover{ background:var(--soft); color:var(--acc); }

/* ---------- хлебные крошки ---------- */
.page-header .bg-dark{ background:transparent !important; color:var(--mut) !important; }
.page-header .bg-dark .navbar{ padding:0; }
#breadcrumbs{ font-size:13px; color:var(--mut); padding:4px 0 16px; }
#breadcrumbs a{ color:var(--mut); text-decoration:none; }
#breadcrumbs a:hover{ color:var(--acc); }

/* ---------- герой на главной ---------- */
body.home .entry-header{
  background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);
  border-radius:22px; padding:38px 36px 34px; margin:4px 0 0;
  box-shadow:0 18px 40px rgba(79,70,229,.22);
}
body.home .entry-title, body.home .entry-title a{
  color:#fff !important; font-size:40px; font-weight:800; letter-spacing:-.02em;
  text-decoration:none; margin:0;
}
body.home .entry-content > p:first-of-type{
  color:#475467; font-size:17px; margin:16px 0 4px;
}
body.home .entry-content > p a{ color:var(--acc); }

/* ---------- карточки калькуляторов ---------- */
ul.lcp_catlist{
  list-style:none; margin:22px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px;
}
ul.lcp_catlist li{
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:20px; display:flex; flex-direction:column; margin:0;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
ul.lcp_catlist li:hover{
  transform:translateY(-3px); border-color:#c7cbf7;
  box-shadow:0 14px 30px rgba(16,24,40,.09);
}
ul.lcp_catlist li > a{
  display:block; font-size:17px; font-weight:700; color:var(--ink);
  text-decoration:none; margin-bottom:8px; line-height:1.35;
}
ul.lcp_catlist li > a::after{ content:" →"; color:var(--acc); font-weight:600; }
.lcp_excerpt{
  color:var(--mut); font-size:14px; line-height:1.55;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}

/* ---------- сайдбар ---------- */
#sidebar-right{ padding-top:0; }
#sidebar-right aside{
  background:var(--card); border:1px solid var(--line); border-radius:14px;
  padding:18px; margin-bottom:16px;
}
.widget-title{
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em;
  color:var(--mut); margin:0 0 12px !important;
}
.arpw-ul{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px; }
.arpw-ul li{ margin:0; }
.arpw-title{
  display:inline-block; background:#f2f4f7; border-radius:999px;
  padding:6px 12px; font-size:14px; color:#344054; text-decoration:none;
}
.arpw-title:hover{ background:var(--soft); color:var(--acc); }

/* ---------- страница калькулятора ---------- */
.entry-title{ font-size:30px; font-weight:800; letter-spacing:-.02em; margin-bottom:8px; }
.entry-title a{ color:var(--ink); text-decoration:none; }
.entry-content{ color:var(--mut); }
#main .container.mt-5, #main .container.mt-3{
  background:var(--card); border:1px solid var(--line); border-radius:16px;
  padding:24px; margin-left:0; margin-right:0; max-width:100%;
}
#main .container.mt-5{ margin-top:16px !important; }
#main .container.mt-3{ margin-top:14px !important; }
#main form{ max-width:620px; margin:0 auto; }
#main form .form-group{ margin-bottom:16px; text-align:left; }
#main form label{ display:block; font-size:14px; font-weight:600; color:#344054; margin-bottom:6px; }
.form-control{
  height:48px; border-radius:10px; border:1px solid #d0d5dd;
  padding:0 14px; font-size:16px; background:#fff;
}
.form-control:focus{
  border-color:var(--acc); box-shadow:0 0 0 4px rgba(79,70,229,.14); outline:none;
}
#main .btn, #main .btn-primary{
  background:linear-gradient(135deg,var(--acc),var(--acc2)) !important;
  border:0 !important; color:#fff !important; border-radius:10px;
  padding:12px 26px; font-weight:700; font-size:15px;
  box-shadow:0 8px 18px rgba(79,70,229,.28);
}
#main .btn:hover{ transform:translateY(-1px); }
.alert{ border-radius:14px !important; }
.alert-success{
  background:#f0fdf4 !important; border:1px solid #bbf7d0 !important; color:#065f46 !important;
}
.alert-primary{
  background:#eef2ff !important; border:1px solid #c7d2fe !important; color:#3730a3 !important;
}
.alert h3{ font-size:15px; text-transform:uppercase; letter-spacing:.06em; margin:0 0 10px; }
#results p{ margin:0 0 6px; font-size:16px; }

/* пагинация / комментарии */
.pagination .page-link{ border:1px solid var(--line); color:var(--ink); border-radius:10px !important; margin:0 3px; }
.pagination .page-link:hover{ background:var(--soft); color:var(--acc); }

/* ---------- подвал ---------- */
#site-footer{
  background:var(--card); border-top:1px solid var(--line);
  margin-top:40px; padding:24px 0; color:var(--mut); font-size:13px;
}
#site-footer a{ color:var(--mut); text-decoration:none; }
#site-footer a:hover{ color:var(--acc); }
#site-footer .nav-link{ padding:4px 0; display:inline-block; }

/* ---------- мобильный ---------- */
@media (max-width: 991px){
  body.home .entry-header{ padding:26px 22px; border-radius:16px; }
  body.home .entry-title, body.home .entry-title a{ font-size:28px; }
  ul.lcp_catlist{ grid-template-columns:1fr; gap:12px; }
  .entry-title{ font-size:24px; }
  #main .container.mt-5, #main .container.mt-3{ padding:18px; }
}

/* правки превью */
body.home #breadcrumbs{ display:none; }
.search-form .form-control{ height:44px; border-radius:10px 0 0 10px; border-right:0; }
.search-form .btn-outline-secondary{
  height:44px; border-radius:0 10px 10px 0; border:1px solid #d0d5dd; border-left:0;
  color:var(--acc); font-weight:700; background:#fff;
}
.search-form .btn-outline-secondary:hover{ background:var(--soft); color:var(--acc); }
#sidebar-right .textwidget{ font-size:14px; color:var(--mut); line-height:1.55; }
#sidebar-right .textwidget a{ color:var(--acc); text-decoration:none; }
#sidebar-right .textwidget a:hover{ text-decoration:underline; }
@media (min-width: 1200px){
  ul.lcp_catlist{ grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); }
}

@media (max-width: 991px){
  .navbar-brand{
    display:block !important; font-weight:800; font-size:20px; letter-spacing:-.02em;
    color:var(--ink) !important; text-decoration:none; margin-right:auto;
  }
  .navbar-brand::before{
    content:""; display:inline-block; width:20px; height:20px; border-radius:6px;
    background:linear-gradient(135deg,var(--acc),var(--acc2)); margin-right:8px; vertical-align:-3px;
  }
  .navbar .navbar-toggler{ margin-left:auto; border-color:var(--line); }
}

/* выравнивание подвала, крошек и фона статьи на главной */
#site-footer{ flex:0 0 100%; width:100%; max-width:100%; padding-left:15px; padding-right:15px; }
#site-footer #footer-row{ max-width:1140px; margin:0 auto; padding:0; width:100%; }
#site-footer .textwidget{ font-size:13px; line-height:1.6; }
body.home #main article{ background:transparent; }
#breadcrumbs > span > span:first-child > a{ font-size:0; }
#breadcrumbs > span > span:first-child > a::before{ content:"Главная"; font-size:13px; }

/* архивы и поиск */
.page-title{ font-size:32px; font-weight:800; letter-spacing:-.02em; margin:0 0 18px; }
body.archive #main article{
  background:#fff; border:1px solid var(--line); border-radius:14px;
  padding:22px 24px; margin-bottom:14px;
}
body.archive #main article .entry-title{ font-size:20px; margin:0 0 8px; line-height:1.35; }
body.archive #main article .entry-content > *:not(:first-child){ display:none; }
body.archive #main article .entry-content > p:first-child{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; margin:0;
  color:var(--mut); font-size:14px;
}

/* мобильный бренд — то же имя, что на десктопе */
@media (max-width: 991px){
  .navbar-brand{ font-size:0 !important; }
  .navbar-brand::after{
    content:"Онлайн калькулятор"; font-size:19px; font-weight:800;
    letter-spacing:-.02em; color:var(--ink);
  }
}

body.archive .more-link{ display:none; }

#site-footer .nav{ display:flex; flex-wrap:wrap; gap:14px; }
#site-footer .nav-link{ padding:0; }

/* Иллюстрации калькуляторов */
.calc-ill-wrap{padding:0 15px}
figure.calc-ill{background:#fff;border-radius:14px;padding:12px 14px;margin:0 0 16px;box-shadow:0 1px 2px rgba(16,24,40,.05);border:1px solid #e8eaf3}
figure.calc-ill picture{display:block}
figure.calc-ill img{display:block;width:100%;height:auto;border-radius:10px}
@media (max-width:600px){figure.calc-ill{padding:8px 10px;margin-bottom:14px}.calc-ill-wrap{padding:0 15px}}
