
/* — cmk.su brand override on integrity — */
body {
  font: 14px/1.6 'Open Sans', Arial, Helvetica, sans-serif;
  background: #f5f2ec;
  color: #333;
  margin: 0;
  padding: 0;
}
.wrap { max-width: 1000px; margin: 0 auto; background: #fff; box-shadow: 0 0 24px rgba(0,0,0,.06); }
.site-header {
  background: linear-gradient(135deg, #005a2f 0%, #007a3d 100%);
  color: #fff;
  padding: 24px 30px 18px;
  border-bottom: 4px solid #ffcc00;
}
.site-header a.brand {
  color: #fff;
  font: bold 22px/1.2 Georgia, serif;
  text-decoration: none;
  display: inline-block;
}
.site-header .brand small {
  display: block;
  font: normal 12px/1.4 Arial, sans-serif;
  color: #d0e8dd;
  margin-top: 2px;
  font-style: italic;
}
.site-header .contacts {
  float: right;
  text-align: right;
  font-size: 12px;
  color: #d0e8dd;
  margin-top: 4px;
}
.site-header .contacts a { color: #fff; text-decoration: none; }
.site-header .contacts a:hover { text-decoration: underline; }
.site-header::after { content: ""; display: block; clear: both; }
.nav-primary {
  background: #003d1f;
  padding: 0;
  margin: 0;
  list-style: none;
  border-bottom: 1px solid #002612;
}
.nav-primary li { display: inline-block; }
.nav-primary a {
  display: inline-block;
  padding: 12px 18px;
  color: #d0e8dd;
  text-decoration: none;
  font-size: 13px;
  border-right: 1px solid #002612;
  transition: background .15s;
}
.nav-primary a:hover, .nav-primary li.current a {
  background: #005a2f;
  color: #ffcc00;
}
.hero {
  padding: 0;
}
.hero img { width: 100%; height: 320px; object-fit: cover; display: block; }
.container {
  padding: 24px 30px;
}
h1 { color: #005a2f; font: normal 26px/1.2 Georgia, serif; margin: 0 0 16px; }
h2 { color: #005a2f; font: normal 20px/1.25 Georgia, serif; margin: 24px 0 12px; padding: 0 0 6px; border-bottom: 1px dotted #c5c0b0; }
h3 { color: #007a3d; font: bold 15px Arial, sans-serif; margin: 18px 0 8px; }
a { color: #005a2f; text-decoration: underline; }
a:hover { color: #007a3d; }
p { margin: 0 0 12px; }
.breadcrumbs { font-size: 12px; color: #7c7a72; margin: 0 0 14px; }
.breadcrumbs a { color: #7c7a72; }
.post-author {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  background: #ecf3ee;
  border-left: 3px solid #005a2f;
  margin: 0 0 20px;
  font-size: 12px;
  line-height: 1.4;
}
.post-author img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
.post-author a { color: #005a2f; font-weight: bold; text-decoration: none; }
.specs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 20px 0; }
.spec-card {
  background: #fff;
  border: 1px solid #dcd5c4;
  border-top: 3px solid #005a2f;
  padding: 16px 18px;
  border-radius: 2px;
  transition: box-shadow .15s;
}
.spec-card:hover { box-shadow: 0 4px 12px rgba(0,90,47,.15); }
.spec-card h3 { margin: 0 0 8px; font-size: 15px; color: #005a2f; font-family: Georgia, serif; font-weight: normal; }
.spec-card p { font-size: 13px; color: #555; margin: 0 0 8px; }
.spec-card .term { font-size: 12px; color: #7c7a72; }
.news-item { padding: 14px 0; border-bottom: 1px dotted #dcd5c4; }
.news-item:last-child { border: none; }
.news-item .date { font-size: 11px; color: #7c7a72; margin: 0 0 4px; text-transform: uppercase; letter-spacing: 1px; }
.news-item h3 { margin: 0 0 6px; font-size: 15px; }
.news-item h3 a { text-decoration: none; color: #005a2f; }
.news-item h3 a:hover { color: #007a3d; text-decoration: underline; }
.news-item p { font-size: 13px; color: #555; margin: 0; }
.info-block {
  background: #fffbe6;
  border: 1px solid #ffe89a;
  padding: 16px 20px;
  border-radius: 4px;
  margin: 20px 0;
  font-size: 13px;
}
.info-block h3 { margin-top: 0; color: #7a5c00; }
.site-footer {
  background: #003d1f;
  color: #d0e8dd;
  padding: 24px 30px;
  font-size: 12px;
  text-align: center;
  border-top: 4px solid #ffcc00;
}
.site-footer a { color: #ffcc00; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
.site-footer .fnav { list-style: none; padding: 0; margin: 0 0 12px; }
.site-footer .fnav li { display: inline-block; margin: 0 12px 6px; }
.site-footer p { margin: 6px 0; }
@media (max-width: 768px) {
  .wrap { margin: 0; }
  .site-header { padding: 16px; }
  .site-header .contacts { float: none; text-align: left; margin-top: 12px; }
  .nav-primary { padding: 4px 0; }
  .nav-primary a { padding: 8px 12px; font-size: 12px; border: none; }
  .container { padding: 16px; }
  h1 { font-size: 22px; }
  h2 { font-size: 18px; }
  .hero img { height: 200px; }
}
