/* NextHome 問い合わせフォーム（モックv0.2の配色系統） */
.nh-form{max-width:640px;margin:0 auto;font-size:15.5px;line-height:1.9}
.nh-form .nh-field{margin-bottom:18px}
.nh-form label{display:block;font-weight:700;font-size:13.5px;color:#27486B;margin-bottom:6px}
.nh-form .nh-req{display:inline-block;background:#2E8FB0;color:#fff;font-size:10.5px;
  border-radius:4px;padding:1px 8px;margin-left:6px;font-weight:700;vertical-align:1px}
.nh-form .nh-either{font-size:11px;color:#687682;font-weight:500;margin-left:6px}
.nh-form .nh-eitherreq{display:inline-block;background:#E8843A;color:#fff;font-size:10.5px;
  border-radius:4px;padding:1px 8px;margin-left:6px;font-weight:700;vertical-align:1px}
.nh-form input[type=text],.nh-form input[type=tel],.nh-form input[type=email],
.nh-form select,.nh-form textarea{
  width:100%;border:1.5px solid #DDEEF5;border-radius:11px;padding:12px 14px;
  font-size:16px;background:#FBFDFE;color:#2F3B45;transition:border-color .15s,box-shadow .15s}
.nh-form input:focus,.nh-form select:focus,.nh-form textarea:focus{
  outline:none;border-color:#4FAECC;box-shadow:0 0 0 3px rgba(79,174,204,.18);background:#fff}
.nh-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.nh-consent{background:#EAF5F9;border-radius:13px;padding:16px 18px;margin:22px 0}
.nh-consent .nh-purpose{font-size:12.5px;color:#46535E;line-height:1.85;margin:0 0 10px}
.nh-check{display:flex;gap:9px;align-items:center;font-size:14px;font-weight:700;color:#27486B;cursor:pointer}
.nh-check input{width:19px;height:19px;accent-color:#2E8FB0}
.nh-submit-wrap{text-align:center;margin-top:8px}
.nh-submit{display:inline-block;width:100%;max-width:420px;border:none;cursor:pointer;
  background:linear-gradient(135deg,#4FAECC,#2E8FB0);color:#fff;font-size:16.5px;font-weight:700;
  letter-spacing:.04em;border-radius:13px;padding:16px 20px;
  box-shadow:0 6px 18px rgba(46,143,176,.35);transition:transform .15s,box-shadow .15s}
.nh-submit:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(46,143,176,.45)}
.nh-note{display:block;font-size:12px;color:#687682;margin-top:10px}
.nh-error{background:#FDF0EC;border:1px solid #E8C4B8;color:#A4452E;
  border-radius:11px;padding:12px 16px;font-size:13.5px}
@media(prefers-reduced-motion:reduce){.nh-form *{transition:none!important}}

/* 写真アップロード欄（v0.2.0で追加） */
.nh-form .nh-photo-field input[type=file]{
  width:100%;border:1.5px dashed #BFE0EC;border-radius:11px;padding:14px;
  font-size:14px;background:#F5FBFD;color:#46535E;cursor:pointer;
  transition:border-color .15s,background .15s}
.nh-form .nh-photo-field input[type=file]:hover{border-color:#4FAECC;background:#EDF7FB}
.nh-form .nh-photo-field input[type=file]::file-selector-button{
  margin-right:12px;border:none;border-radius:8px;padding:8px 14px;cursor:pointer;
  background:#2E8FB0;color:#fff;font-weight:700;font-size:13px}
.nh-form .nh-photo-hint{display:block;margin-top:8px;font-size:12px;color:#687682;line-height:1.75}

/* ===== ① 添付写真サムネイル（v0.3） ===== */
.nh-form .nh-photo-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.nh-form .nh-ph-item{display:inline-flex;align-items:center;gap:8px;background:#F2F8FB;border:1px solid #D7E8EF;border-radius:10px;padding:6px 8px 6px 6px;max-width:100%}
.nh-form .nh-ph-thumb{width:46px;height:46px;object-fit:cover;border-radius:7px;flex:none;background:#dfeaef}
.nh-form .nh-ph-name{font-size:12px;color:#46535E;line-height:1.4;word-break:break-all;max-width:180px}
.nh-form .nh-ph-del{flex:none;width:24px;height:24px;border:none;border-radius:50%;background:#C24747;color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.nh-form .nh-ph-del:hover{background:#a93b3b}
.nh-form .nh-ph-count{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:#2E8FB0;padding:0 4px}

/* ===== ② 送信前バリデーションのエラー表示（v0.3） ===== */
.nh-form .nh-fielderr{display:block;margin-top:7px;color:#D32F2F;font-size:13px;font-weight:700;line-height:1.6;background:#FDECEA;border:1px solid #F3C2BC;border-radius:8px;padding:7px 11px}
.nh-form .nh-fielderr::before{content:"\26A0\FE0E  "}
.nh-form [aria-invalid="true"]{border-color:#C24747 !important;background:#FDF4F4 !important}
.nh-form .nh-consent [aria-invalid="true"]{outline:2px solid #C24747;outline-offset:3px}
