/* ===== Form đăng ký chuẩn (LeadRegisterForm, 25/09/2026) =====
   Rút gọn từ "Tạo Khách Hàng Tiềm Năng" của bm. Lớp gốc lặp đôi (.h77-reg.h77-reg-root)
   để thắng CSS cũ kiểu `.rough-quote-box form` / `.rough-quote-box input` trên trang báo giá. */
.h77-reg.h77-reg-root {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 28px;
  background: #ffffff;
  border: 1px solid #cddcf0;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(6, 36, 95, 0.08);
  color: #171c22;
  text-align: left;
}
.h77-reg-root .h77-reg-head h2 { margin: 0; font-size: 22px; line-height: 1.25; color: #06245f; font-weight: 800; }
.h77-reg-root .h77-reg-head p { margin: 6px 0 0; font-size: 14px; color: #45464f; }
.h77-reg-root .h77-reg-section {
  margin: 0; padding: 16px; min-width: 0;
  border: 1px solid #e3ebf7; border-radius: 14px; background: #f8fbff;
  display: flex; flex-direction: column; gap: 12px;
}
.h77-reg-root .h77-reg-section legend {
  display: flex; align-items: center; gap: 8px; padding: 0 6px;
  font-size: 15px; font-weight: 800; color: #06245f;
}
.h77-reg-root .h77-reg-section legend b {
  display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
  background: #06245f; color: #fff; font-size: 12px;
}
.h77-reg-root .h77-reg-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.h77-reg-root .h77-reg-full { grid-column: 1 / -1; }
.h77-reg-root label.h77-reg-field { display: flex; flex-direction: column; gap: 6px; margin: 0; font-weight: 400; }
.h77-reg-root .h77-reg-field > span, .h77-reg-root .h77-reg-label {
  font-size: 13px; font-weight: 700; color: #1e293b; margin: 0;
}
.h77-reg-root .h77-reg-field em { color: #ba1a1a; font-style: normal; }
.h77-reg-root small { font-weight: 500; color: #64748b; }
.h77-reg-root .h77-reg-field input,
.h77-reg-root .h77-reg-field select,
.h77-reg-root .h77-reg-field textarea {
  width: 100%; min-height: 44px; padding: 10px 12px; margin: 0;
  border: 1px solid #cbd5e1; border-radius: 10px; background: #fff;
  font: inherit; font-size: 15px; color: #0f172a; box-shadow: none;
}
.h77-reg-root .h77-reg-field textarea { min-height: 84px; resize: vertical; }
.h77-reg-root .h77-reg-field input:focus,
.h77-reg-root .h77-reg-field select:focus,
.h77-reg-root .h77-reg-field textarea:focus { outline: none; border-color: #1f75d6; box-shadow: 0 0 0 3px rgba(31, 117, 214, 0.15); }
.h77-reg-root .h77-reg-group { display: flex; flex-direction: column; gap: 8px; }
.h77-reg-root .h77-reg-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.h77-reg-root label.h77-reg-chip { position: relative; display: inline-flex; margin: 0; cursor: pointer; font-weight: 400; }
.h77-reg-root label.h77-reg-chip input {
  position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; padding: 0; border: 0; pointer-events: none;
}
.h77-reg-root label.h77-reg-chip span {
  display: inline-flex; align-items: center; min-height: 38px; padding: 8px 14px;
  border: 1px solid #cbd5e1; border-radius: 999px; background: #fff;
  font-size: 14px; font-weight: 600; color: #334155; line-height: 1.2;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}
.h77-reg-root label.h77-reg-chip:hover span { border-color: #1f75d6; }
.h77-reg-root label.h77-reg-chip input:checked + span { background: #06245f; border-color: #06245f; color: #fff; }
.h77-reg-root label.h77-reg-chip input:focus-visible + span { outline: 2px solid #1f75d6; outline-offset: 2px; }
.h77-reg-root label.h77-reg-consent {
  display: flex; gap: 10px; align-items: flex-start; margin: 0;
  font-size: 13px; font-weight: 400; color: #45464f; line-height: 1.5;
}
.h77-reg-root label.h77-reg-consent input { width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; flex: 0 0 auto; padding: 0; }
.h77-reg-root label.h77-reg-consent a { color: #1f75d6; text-decoration: underline; }
/* Theme WP có luật riêng cho span/nút trong .h77-quote-form — lặp lớp gốc để thắng. */
.h77-reg.h77-reg-root label.h77-reg-consent > span { display: block; flex: 1 1 auto; min-width: 0; }
.h77-reg.h77-reg-root .h77-reg-submit {
  background: #06245f; color: #fff; text-transform: none; letter-spacing: 0; box-shadow: none;
  font-size: 16px; font-weight: 800; border-radius: 12px; min-height: 52px; width: 100%;
}
.h77-reg.h77-reg-root .h77-reg-submit:hover { background: #0b3f8f; color: #fff; }
.h77-reg-root .h77-reg-submit {
  width: 100%; min-height: 52px; border: 0; border-radius: 12px; cursor: pointer;
  background: #06245f; color: #fff; font-size: 16px; font-weight: 800;
}
.h77-reg-root .h77-reg-submit:hover { background: #0b3f8f; }
.h77-reg-root[aria-busy="true"] .h77-reg-submit { opacity: 0.6; pointer-events: none; }
.h77-reg-root .lead-form-error { margin: 0; color: #ba1a1a; font-weight: 600; }
@media (max-width: 640px) {
  .h77-reg.h77-reg-root { padding: 18px 14px; border-radius: 14px; }
  .h77-reg-root .h77-reg-section { padding: 12px; }
  .h77-reg-root .h77-reg-grid { grid-template-columns: 1fr; }
  .h77-reg-root label.h77-reg-chip span { min-height: 36px; padding: 7px 12px; font-size: 13.5px; }
}
