/* блоки конструктора: секции, колонки, кнопки, карточки, таблицы, аккордеон */
.b-section {
  background: #ffffff;
  border: 1px solid #e3ddd1;
  margin: 16px 0;
  padding: 18px 20px 20px;
}
.b-section--plain {
  background: transparent;
  border: 0;
  padding: 4px 0 0;
}
.b-section--tint {
  background: #fbf7f0;
}
.b-h1 {
  margin-top: 4px;
}
.b-lead {
  font-size: 16px;
  color: #4a443b;
}
.b-cols {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
.b-col-6,
.b-col-4,
.b-col-8,
.b-col-3 {
  padding: 0 10px;
  margin-bottom: 6px;
}
.b-col-6 {
  width: 50%;
}
.b-col-4 {
  width: 33.33%;
}
.b-col-8 {
  width: 66.66%;
}
.b-col-3 {
  width: 25%;
}
.b-btn {
  display: inline-block;
  background: #7a4f22;
  color: #fff8ee;
  text-decoration: none;
  border: 0;
  padding: 10px 20px;
  font: bold 15px Arial, sans-serif;
  cursor: pointer;
}
.b-btn:hover {
  background: #8f5d29;
  color: #fff;
}
.b-btn--ghost {
  background: #fff;
  color: #7a4f22;
  border: 1px solid #b79059;
}
.b-btn--ghost:hover {
  background: #f6ecdd;
  color: #6a4319;
}
.b-note {
  background: #f7f2e8;
  border-left: 4px solid #b79059;
  padding: 10px 14px;
  margin: 14px 0;
  font-size: 14px;
}
.b-photo {
  border: 1px solid #ded6c9;
  padding: 4px;
  background: #fff;
  display: block;
}
.b-photo__cap {
  font-size: 12.5px;
  color: #6d6659;
  margin: 5px 0 12px;
}
.b-divider {
  border: 0;
  border-top: 1px solid #e0d9cc;
  margin: 18px 0;
}

/* --- карточки товарных групп --- */
.card {
  border: 1px solid #e0d9cc;
  padding: 12px 14px 14px;
  background: #fdfbf7;
  height: 100%;
}
.card__title {
  font-family: "Trebuchet MS", Arial, sans-serif;
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 6px;
}
.card__price {
  color: #7a4f22;
  font-weight: bold;
  display: block;
  margin-bottom: 6px;
}
.card__text {
  font-size: 14px;
  margin: 0;
}
.card--kuhnya {
  border-top: 3px solid #7a4f22;
}
.card--shkaf {
  border-top: 3px solid #8b7a4a;
}
.card--detskaya {
  border-top: 3px solid #a06a3c;
}
.card--garderob {
  border-top: 3px solid #6f6350;
}

/* --- цены --- */
.table-scroll {
  overflow-x: auto;
  margin-bottom: 14px;
}
.price-table {
  border-collapse: collapse;
  width: 100%;
  min-width: 520px;
  font-size: 14px;
}
.price-table th,
.price-table td {
  border: 1px solid #ded6c9;
  padding: 7px 9px;
  text-align: left;
  vertical-align: top;
}
.price-table th {
  background: #f2ece1;
  font-weight: bold;
}
.price-table tr:nth-child(even) td {
  background: #fbf9f5;
}
.price-row__num {
  white-space: nowrap;
  font-weight: bold;
  color: #6a4319;
}

/* --- этапы работы --- */
.steps {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: st;
}
.steps li {
  padding: 8px 0 8px 40px;
  border-bottom: 1px dotted #ded6c9;
  position: relative;
  counter-increment: st;
}
.steps li:before {
  content: counter(st);
  position: absolute;
  left: 0;
  top: 8px;
  width: 26px;
  height: 26px;
  line-height: 26px;
  text-align: center;
  background: #7a4f22;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
}
.steps li:last-child {
  border-bottom: 0;
}

/* --- отзывы --- */
.otzyv {
  border-left: 3px solid #ded6c9;
  padding: 2px 0 2px 12px;
  margin-bottom: 15px;
  font-size: 14px;
}
.otzyv__who {
  color: #6d6659;
  font-size: 12.5px;
}

/* --- аккордеон вопросов --- */
.faq__item {
  border-bottom: 1px solid #e3ddd1;
}
.faq__q {
  margin: 0;
  padding: 10px 26px 10px 0;
  cursor: pointer;
  font-weight: bold;
  font-size: 15px;
  position: relative;
  color: #45403a;
}
.faq__q:after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 8px;
  color: #a3814f;
  font-size: 18px;
}
.faq__item.is-open .faq__q:after {
  content: "\2212";
}
.faq__a {
  display: none;
  padding: 0 0 12px;
  font-size: 14px;
}
.faq__item.is-open .faq__a {
  display: block;
}

/* --- форма замера --- */
.zamer-form {
  background: #f7f2e8;
  border: 1px solid #e0d5c0;
  padding: 14px 16px 16px;
}
.zamer-form label {
  display: block;
  font-size: 13.5px;
  margin: 8px 0 3px;
  color: #4a443b;
}
.zamer-form input[type="text"],
.zamer-form input[type="tel"],
.zamer-form select,
.zamer-form textarea {
  width: 100%;
  max-width: 100%;
  border: 1px solid #cfc4ae;
  padding: 7px 8px;
  font: 14px Arial, sans-serif;
  background: #fff;
}
.zamer-form textarea {
  height: 70px;
}
.zamer-form .b-btn {
  margin-top: 12px;
}
.zamer-form__hint {
  font-size: 12px;
  color: #6d6659;
  margin-top: 8px;
}

/* --- контакты --- */
.kontakt-row {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px dotted #ded6c9;
  padding: 7px 0;
}
.kontakt-row__name {
  width: 190px;
  color: #6d6659;
  font-size: 14px;
}
.kontakt-row__val {
  flex: 1 1 240px;
  font-size: 14px;
}
.marshrut {
  font-size: 14px;
}
.marshrut li {
  margin-bottom: 7px;
}

@media (max-width: 760px) {
  .b-col-6,
  .b-col-4,
  .b-col-8,
  .b-col-3 {
    width: 100%;
  }
  .b-section {
    padding: 14px 13px 16px;
  }
  .kontakt-row__name {
    width: 100%;
    font-weight: bold;
  }
}
