*, *:after, *:before {
   box-sizing: border-box;
   padding: 0;
   margin: 0;
   transition: .5s ease-in-out;
}

ul {
   list-style: none;
}

a {
   text-decoration: none;
   outline: none;
}

img {
   display: block;
   width: 100%;
}

h1, h2, h3, h4, h5, h6 {
   font-family: 'Playfair Display';
   font-weight: normal;
   letter-spacing: 1px;
}

header:after, .container:after, footer:after, .widget-posts-list li:after, #subscribe:after {
   content: "";
   display: table;
   clear: both;
}

body {
   font-family: 'Open Sans', arial, sans-serif;
   font-size: 14px;
   line-height: 1;
   color: #373737;
   background: #f7f7f7;
}

header {
   width: 100%;
   background: white;
   box-shadow: 3px 3px 1px rgba(0, 0, 0, .05);
   padding: 15px 0;
   margin-bottom: 30px;
   position: relative;
}

.container {
   margin: 0 auto;
   width: 100%;
   max-width: 960px;
   padding: 0 15px;
}

nav {
   width: 100%;
}

.logo {
   display: block;
   float: left;
}

.logo span {
   color: white;
   display: inline-block;
   width: 30px;
   height: 30px;
   line-height: 30px;
   border-radius: 50%;
   margin: 5px 0;
   text-align: center;
   text-shadow: 2px 2px 1px rgba(0, 0, 0, .4);
}

.logo span:nth-child(odd) {
   background: #EF5A42;
}

.logo span:nth-child(even) {
   background: #F8B763;
}

#menu {
   float: right;
}

#menu li {
   display: inline-block;
   margin-right: 30px;
}

#menu a {
   color: #111;
   text-transform: uppercase;
   letter-spacing: 1px;
   font-weight: 600;
   display: block;
   line-height: 40px;
}

#menu a:hover {
   color: #94cb66;
}

#menu li:last-child {
   margin-right: 0;
}

#searchform {
   float: right;
   margin-left: 46px;
   display: inline-block;
   position: relative;
   color: #9E9C9C;
   font-family: 'FontAwesome';
   font-size: 16px;
   
}

#searchform img {
  
   width: 200px;
  
}

#searchform input {
   width: 170px;
   float: left;
   border: none;
   padding-left: 10px;
   height: 40px;
   overflow: hidden;
   outline: none;
   
}

#searchform button {
   background: transparent;
   height: 40px;
   border: none;
   position: absolute;
   right: 10px;
   color: #94cb66;
   cursor: pointer;
   font-size: 18px;
}

#searchform input:focus {
   outline: 2px solid #EBEBE3;
}

.nav-toggle {
   display: none;
   position: relative;
   float: right;
   width: 40px;
   height: 40px;
   margin-left: 20px;
   background: #94cb66;
   cursor: pointer;
}

.nav-toggle span {
   display: block;
   position: absolute;
   top: 19px;
   left: 8px;
   right: 8px;
   height: 2px;
   background: white;
}

.nav-toggle span:before, .nav-toggle span:after {
   position: absolute;
   display: block;
   left: 0;
   width: 100%;
   height: 2px;
   background: white;
   content: "";
}

.nav-toggle span:before {
   top: -10px;
}

.nav-toggle span:after {
   bottom: -10px;
}

#menu.active {
   max-height: 123px;
}

.posts-list {
   margin-bottom: 30px;
   width: 64%;
   float: left;
}

.post {
   margin-bottom: 35px;
}

.post-content p {
   line-height: 1.5;
   padding-bottom: 1em;
}

.post-image {
   margin-bottom: 30px;
}

.category {
   margin-bottom: 15px;
}

.category a {
   color: #94cb66;
   text-transform: uppercase;
}

.post-title {
   margin-bottom: 12px;
   font-size: 26px;
}

.post-footer {
   border-top: 1px solid #EBEBE3;
   border-bottom: 1px solid #EBEBE3;
   position: relative;
   margin-top: 15px;
}

.more-link {
   position: relative;
   display: inline-block;
   font-size: 10px;
   text-transform: uppercase;
   color: white;
   line-height: 44px;
   padding: 0 22px;
   background: #3C3D41;
   letter-spacing: 0.1em;
   white-space: nowrap;
}

.more-link:after {
   content: '';
   display: block;
   position: absolute;
   width: 0;
   height: 0;
   top: 0;
   right: 0;
   border: solid transparent;
   border-width: 22px 18px;
   border-left-color: #3C3D41;
   transform: translateX(100%);
}

.post-social {
   position: absolute;
   left: auto;
   top: 50%;
   right: 0;
   text-align: right;
   transform: translateY(-50%);
   padding: 0;
   font-size: 12px;
}

.post-social a {
   display: inline-block;
   margin-left: 8px;
   color: #94cb66;
   width: 25px;
   height: 25px;
   line-height: 23px;
   text-align: center;
   border-radius: 50%;
   border: 1px solid;
}

.thumb-wrap {
   position: relative;
   display: block;
   overflow: hidden;
   padding-bottom: 56%;
   height: 0;
   margin-bottom: 30px;
}

.thumb-wrap iframe {
   position: absolute;
   top: 0;
   left: 0;
   border: none;
   width: 100%;
   max-width: 100%;
   height: 100%;
}

video {
   width: 100%;
   height: auto;
   max-height: 100%;
   margin-bottom: 30px;
}

aside {
   width: 33%;
   float: right;
}

.widget {
   padding: 20px 15px;
   background: white;
   font-size: 13px;
   margin-bottom: 30px;
   box-shadow: 3px 3px 1px rgba(0, 0, 0, .05);
}

.widget-title {
   font-size: 18px;
   padding: 10px;
   margin-bottom: 20px;
   text-align: center;
   border: 2px solid #94cb66;
   box-shadow: 3px 3px 0 0 #94cb66;
}

.widget-category-list li {
   border-bottom: 1px solid #EBEBE3;
   padding: 10px 0;
   color: #c6c6c6;
   font-style: italic;
}

.widget-category-list li:last-child {
   border-bottom: none;
}

.widget-category-list li a {
   color: #626262;
   margin-right: 6px;
   font-style: normal;
}

.widget-category-list li a:before {
   content: "\f105";
   display: inline-block;
   font-family: 'FontAwesome';
   margin-right: 10px;
   color: #c6c6c6;
}

.widget-posts-list li {
   border-top: 1px solid #EBEBE3;
   padding: 15px 0;
}

.widget-posts-list li:nth-child(1) {
   border-top: none;
}

.post-image-small {
   width: 30%;
   float: left;
   margin-right: 15px;
}

.widget-post-title {
   float: left;
}

footer {
   padding: 30px 0;
   background: #3C3D41;
   color: white;
}

.footer-col {
   width: 33.3333333333%;
   float: left;
}

.footer-col a {
   color: white;
}

.footer-col:last-child {
   text-align: right;
}

.social-bar-wrap {
   text-align: center;
}

.social-bar-wrap a {
   padding: 0 7px;
   font-size: 18px;
}

#subscribe {
   position: relative;
   width: 100%;
   padding: 15px 0;
}

#subscribe input {
   width: 100%;
   display: block;
   float: left;
   border: 2px solid #EBEBE3;
   padding: 0 0 0 10px;
   height: 40px;
   position: relative;
   outline: none;
   color: #9E9C9C;
   font-style: italic;
}

#subscribe button {
   padding: 0 15px;
   background: transparent;
   height: 40px;
   border: none;
   position: absolute;
   right: 0;
   color: #94cb66;
   cursor: pointer;
   font-size: 18px;
}

#subscribe input:focus+button {
   background: #94cb66;
   color: white;
}

@media (max-width: 768px) {
   .nav-toggle {
      display: block;
   }
   header {
      padding: 10px 0;
   }
   #menu {
      max-height: 0;
      background: white;
      position: absolute;
      overflow: hidden;
      top: 63px;
      right: 0;
      left: 0;
      margin: 0;
      padding: 0;
      float: none;
      z-index: 3;
   }
   #menu li {
      display: block;
      text-align: center;
      border-bottom: 1px solid #EBEBE3;
      margin-right: 0;
   }
   .posts-list, aside {
      width: 100%;
      float: none;
   }
   .widget-post-title {
      font-size: 1.5em;
   }
}

@media(max-width: 480px) {
   .logo {
      float: none;
      margin: 0 auto 15px;
      display: table;
   }
   .logo span {
      margin: 0 2px;
   }
   #menu {
      top: 120px;
   }
   #searchform {
      float: left;
      margin-left: 0;
   }
   .post-footer {
      border-top: none;
      border-bottom: none;
      text-align: center;
   }
   .post-social {
      position: static;
      text-align: center;
      transform: none;
      margin-top: 20px;
   }
   .widget-post-title {
      font-size: 1.2em;
   }
   .footer-col {
      float: none;
      margin-bottom: 20px;
      width: 100%;
      text-align: center;
   }
   .footer-col:last-child {
      text-align: center;
      margin-bottom: 0;
   }
}


/* ——— доработка разделов (добавлено генератором) ——— */
.post-content h3 { font-size: 20px; margin: 20px 0 10px; }
.post-content p a { color: #94cb66; }
.lead { font-size: 16px; line-height: 1.6; }
ul.feat { margin: 0 0 1em; }
ul.feat li { position: relative; padding: 8px 0 8px 26px; line-height: 1.5; border-bottom: 1px solid #EBEBE3; }
ul.feat li:last-child { border-bottom: none; }
ul.feat li:before { content: "\f105"; font-family: 'FontAwesome'; position: absolute; left: 7px; top: 8px; color: #94cb66; }
.widget-post-title a { color: inherit; }
.widget-post-title a:hover { color: #94cb66; }
.price-table { width: 100%; border-collapse: collapse; margin-bottom: 18px; font-size: 14px; }
.price-table th, .price-table td { padding: 11px 12px; border-bottom: 1px solid #EBEBE3; text-align: left; vertical-align: top; }
.price-table th { background: #94cb66; color: #fff; font-weight: 600; }
.price-table tbody tr:hover td { background: #f3f9ec; }
.price-note { font-style: italic; color: #9E9C9C; font-size: 13px; }
.gallery { display: flex; flex-wrap: wrap; margin: -8px; }
.gallery figure { width: calc(33.333% - 16px); margin: 8px; background: #fff; box-shadow: 3px 3px 1px rgba(0,0,0,.05); }
.gallery figure img { width: 100%; display: block; }
.gallery figcaption { padding: 10px; font-size: 13px; text-align: center; line-height: 1.4; }
.contacts-info { line-height: 1; margin-bottom: 10px; }
.contacts-info li { padding: 9px 0; border-bottom: 1px solid #EBEBE3; font-size: 15px; }
.contacts-info li:last-child { border-bottom: none; }
.contacts-info i { color: #94cb66; width: 22px; }
.contacts-info a { color: #94cb66; }
@media (max-width: 480px) { .gallery figure { width: calc(50% - 16px); } }

/* активный раздел в правой колонке — подсветка текущей страницы */
.widget-posts-list li.active,
.widget-category-list li.active { background: #f3f9ec; margin: 0 -15px; padding-left: 15px; padding-right: 15px; box-shadow: inset 3px 0 0 #94cb66; }
.widget-posts-list li.active .widget-post-title a { color: #94cb66; }
.widget-category-list li.active a { color: #94cb66; font-weight: 600; }

/* хлебные крошки */
.breadcrumbs { margin: 4px 0 20px; font-size: 12px; }
.breadcrumbs li { display: inline; color: #9E9C9C; }
.breadcrumbs li:not(:last-child):after { content: "\f105"; font-family: 'FontAwesome'; margin: 0 8px; color: #c6c6c6; }
.breadcrumbs a { color: #94cb66; text-transform: uppercase; letter-spacing: .04em; }
.breadcrumbs .current { text-transform: uppercase; letter-spacing: .04em; color: #9E9C9C; }

/* шапка: больше пунктов меню */
#menu li { margin-right: 20px; }
#menu.active { max-height: 360px; }

/* формы заявки — единый дизайн для поп-апа и открытой формы */
.form-card { background: #fff; padding: 22px 20px; box-shadow: 3px 3px 1px rgba(0,0,0,.05); margin-bottom: 30px; }
.form-title { font-size: 20px; margin-bottom: 16px; }
.order-form .field { margin-bottom: 12px; }
.order-form label { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: #9E9C9C; margin-bottom: 5px; }
.order-form input, .order-form textarea { width: 100%; border: 2px solid #EBEBE3; padding: 10px 12px; font: inherit; color: #373737; background: #fff; outline: none; }
.order-form input:focus, .order-form textarea:focus { border-color: #94cb66; }
.order-form input.err, .order-form textarea.err { border-color: #EF5A42; }
.order-form textarea { min-height: 90px; resize: vertical; }
.form-submit { display: inline-block; border: none; cursor: pointer; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; color: #fff; background: #94cb66; padding: 0 26px; line-height: 44px; }
.form-submit:hover { background: #3C3D41; }
.form-privacy { font-size: 11px; color: #9E9C9C; margin-top: 10px; line-height: 1.5; }
.form-success { display: none; padding: 16px 18px; background: #f3f9ec; box-shadow: inset 3px 0 0 #94cb66; font-size: 15px; line-height: 1.5; }
.form-wrap.form-done .order-form { display: none; }
.form-wrap.form-done .form-success { display: block; }

/* поп-ап (модальное окно) */
.modal[hidden] { display: none; }
.modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: 20px; }
.modal-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(60,61,65,.55); }
.modal-box { position: relative; width: 100%; max-width: 420px; background: #fff; padding: 26px 24px 22px; box-shadow: 6px 6px 0 0 #94cb66; max-height: 90vh; overflow: auto; }
.modal-box .form-wrap { margin: 0; }
.modal-close { position: absolute; top: 6px; right: 12px; border: none; background: none; font-size: 28px; line-height: 1; color: #9E9C9C; cursor: pointer; }
.modal-close:hover { color: #EF5A42; }

/* блог */
.blog-item { padding: 18px 0; border-bottom: 1px solid #EBEBE3; }
.blog-item:last-child { border-bottom: none; }
.blog-item-title { font-size: 20px; margin-bottom: 6px; }
.blog-item-title a { color: #373737; }
.blog-item-title a:hover { color: #94cb66; }
.blog-meta { font-size: 12px; color: #9E9C9C; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 10px; }
.blog-item p { line-height: 1.5; margin-bottom: 10px; }
.read-more { color: #94cb66; font-weight: 600; }
.gallery figcaption a { color: #373737; }
.gallery figcaption a:hover { color: #94cb66; }
