/* Universal lead form for the catalog home page (/shop/, /shop2/). */
.rbtf {
  background: #f4f6f9;
  border-top: 1px solid #e6e9ef;
  padding: 44px 16px 48px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  box-sizing: border-box;
}
.rbtf * { box-sizing: border-box; }
.rbtf__in { max-width: 1000px; margin: 0 auto; }
.rbtf__card {
  background: #fff;
  border: 1px solid #e6e9ef;
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(18, 22, 31, .06);
  padding: 26px 26px 22px;
}
.rbtf__title { margin: 0 0 6px; font-size: 22px; line-height: 1.25; font-weight: 700; color: #12151c; }
.rbtf__sub { margin: 0 0 18px; font-size: 14px; color: #6b7280; }
.rbtf__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.rbtf__field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rbtf__field--wide { grid-column: 1 / -1; }
.rbtf__field label { font-size: 12.5px; font-weight: 600; color: #4b5563; }
.rbtf__field label .req { color: #e04141; }
.rbtf input[type="text"],
.rbtf input[type="tel"],
.rbtf select,
.rbtf textarea {
  width: 100%;
  border: 1px solid #d9dee7;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 14px;
  font-family: inherit;
  background: #fff;
  color: #12151c;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.rbtf textarea { resize: vertical; min-height: 84px; }
.rbtf input:focus, .rbtf select:focus, .rbtf textarea:focus {
  border-color: #2375c3;
  box-shadow: 0 0 0 3px rgba(35, 117, 195, .12);
}
.rbtf input.rbtf-invalid, .rbtf select.rbtf-invalid, .rbtf textarea.rbtf-invalid {
  border-color: #e04141;
  background: #fff8f8;
}
.rbtf__consent { display: flex; gap: 9px; align-items: flex-start; margin: 14px 0 0; font-size: 12.5px; color: #6b7280; line-height: 1.45; }
.rbtf__consent input { margin: 2px 0 0; flex: 0 0 auto; }
.rbtf__consent a { color: #2375c3; }
.rbtf__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 16px; }
.rbtf__btn {
  border: 0; border-radius: 10px; padding: 12px 26px;
  background: #fb0204; color: #fff; font-size: 15px; font-weight: 700;
  font-family: inherit; cursor: pointer;
  transition: background-color .15s ease, transform .1s ease;
}
.rbtf__btn:hover { background: #d90204; }
.rbtf__btn:active { transform: translateY(1px); }
.rbtf__btn:disabled { opacity: .55; cursor: default; }
.rbtf__status { font-size: 13.5px; line-height: 1.4; }
.rbtf__status.is-error { color: #d33; }
.rbtf__status.is-ok { color: #1a7f37; font-weight: 600; }
.rbtf__note { margin: 14px 0 0; font-size: 12px; color: #9aa1ab; }
.rbtf__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

@media (max-width: 720px) {
  .rbtf { padding: 26px 12px 30px; }
  .rbtf__card { padding: 18px 16px 16px; border-radius: 12px; }
  .rbtf__grid { grid-template-columns: 1fr; gap: 10px; }
  .rbtf__title { font-size: 19px; }
  .rbtf__btn { width: 100%; }
}
