/* Единая форма темы: совместима с разметкой шорткода NIKA Site Core. */
.estimate form,
.karkas-calc__form form {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 42px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 20px;
  align-items: start;
  color: #1e2421;
  background: #fcfbf7;
  border: 1px solid #ddd7cc;
  border-top: 3px solid #a66d42;
  box-shadow: 0 24px 65px rgba(31,37,33,.10);
}

.estimate form > *,
.karkas-calc__form form > * { min-width: 0; max-width: 100%; }

.estimate form label,
.karkas-calc__form form label {
  width: 100%;
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 9px;
  color: #4d544f;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.estimate form label:nth-of-type(n+3),
.karkas-calc__form form label:nth-of-type(n+3),
.estimate form .consent,
.karkas-calc__form form .consent,
.estimate form button,
.karkas-calc__form form button,
.estimate form .nika-form-status,
.karkas-calc__form form .nika-form-status { grid-column: 1 / -1; }

.estimate form input:not([type="checkbox"]),
.estimate form select,
.estimate form textarea,
.karkas-calc__form form input:not([type="checkbox"]),
.karkas-calc__form form select,
.karkas-calc__form form textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  border: 1px solid #cec8bc;
  border-radius: 0;
  color: #1e2421;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  transition: border-color .2s, box-shadow .2s, background .2s;
}

.estimate form input:not([type="checkbox"]),
.estimate form select,
.karkas-calc__form form input:not([type="checkbox"]),
.karkas-calc__form form select { height: 56px; padding: 0 16px; }

.estimate form textarea,
.karkas-calc__form form textarea { min-height: 116px; padding: 15px 16px; resize: vertical; }

.estimate form input::placeholder,
.estimate form textarea::placeholder,
.karkas-calc__form form input::placeholder,
.karkas-calc__form form textarea::placeholder { color: #858984; opacity: 1; }

.estimate form input:not([type="checkbox"]):hover,
.estimate form select:hover,
.estimate form textarea:hover,
.karkas-calc__form form input:not([type="checkbox"]):hover,
.karkas-calc__form form select:hover,
.karkas-calc__form form textarea:hover { border-color: #a9a397; }

.estimate form input:not([type="checkbox"]):focus,
.estimate form select:focus,
.estimate form textarea:focus,
.karkas-calc__form form input:not([type="checkbox"]):focus,
.karkas-calc__form form select:focus,
.karkas-calc__form form textarea:focus {
  border-color: #a66d42;
  background: #fffefb;
  box-shadow: 0 0 0 3px rgba(166,109,66,.13);
}

.estimate form .consent,
.karkas-calc__form form .consent {
  min-height: 24px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 11px;
  color: #666c67;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}

.estimate form .consent input[type="checkbox"],
.karkas-calc__form form .consent input[type="checkbox"] {
  width: 19px;
  height: 19px;
  min-width: 19px;
  margin: 0;
  accent-color: #a66d42;
  cursor: pointer;
}

.estimate form button,
.karkas-calc__form form button {
  width: 100%;
  min-height: 58px;
  margin: 2px 0 0;
  padding: 0 24px;
  border: 0;
  color: #fff;
  background: #98613a;
  box-shadow: 0 13px 30px rgba(92,57,31,.16);
  cursor: pointer;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: background .2s, transform .2s, box-shadow .2s;
}
.estimate form button:hover,
.karkas-calc__form form button:hover { background: #7d4f30; box-shadow: 0 16px 35px rgba(92,57,31,.2); transform: translateY(-2px); }
.estimate form button:disabled,
.karkas-calc__form form button:disabled { cursor: wait; opacity: .65; transform: none; }

.estimate form .nika-form-status,
.karkas-calc__form form .nika-form-status { margin: 0; padding: 13px 15px; font: 14px/1.5 Georgia, serif; }
.estimate form .nika-form-status:empty,
.karkas-calc__form form .nika-form-status:empty { display: none; }
.nika-form-status.success { color: #315b43; background: #edf5ef; }
.nika-form-status.error { color: #873a31; background: #f9eeec; }

@media (max-width: 680px) {
  .estimate form,
  .karkas-calc__form form { grid-template-columns: minmax(0, 1fr); gap: 19px; padding: 27px 22px; }
  .estimate form label,
  .karkas-calc__form form label,
  .estimate form label:nth-of-type(n+3),
  .karkas-calc__form form label:nth-of-type(n+3),
  .estimate form .consent,
  .karkas-calc__form form .consent,
  .estimate form button,
  .karkas-calc__form form button { grid-column: 1; }
}

@media (max-width: 380px) {
  .estimate form,
  .karkas-calc__form form { padding: 24px 17px; }
}
