/* Nakshi House Custom Order form — v1.1.0 */
.nh-co-wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 8px 0 24px;
}
.nh-co-intro h2 {
  font-size: 26px;
  margin: 0 0 8px;
  color: #14201a;
}
.nh-co-intro p {
  color: #4b5a52;
  font-size: 15px;
  line-height: 1.7;
  margin: 0 0 18px;
}
.nh-co-ref {
  background: #eef4ee;
  border: 1px dashed #2F6B45;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 14px;
}
.nh-co-success {
  background: #e9f5ec;
  border: 1px solid #2F6B45;
  color: #1d4a2d;
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 18px;
  font-weight: 600;
}
.nh-co-errors {
  background: #fdf0f0;
  border: 1px solid #d97777;
  color: #8f2b2b;
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 18px;
}
.nh-co-errors ul { margin: 8px 0 0; padding-left: 20px; }
.nh-co-form {
  background: #ffffff;
  border: 1px solid #e9f0ea;
  border-top: 3px solid #2F6B45;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 12px 32px rgba(20, 35, 25, 0.08);
}
.nh-co-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
@media (max-width: 600px) {
  .nh-co-row { grid-template-columns: 1fr; }
  .nh-co-form { padding: 18px; }
}
.nh-co-field { margin-bottom: 18px; }
.nh-co-field label,
.nh-co-legend {
  display: block;
  font-weight: 600;
  font-size: 14.5px;
  color: #1b2b21;
  margin-bottom: 7px;
}
.nh-co-field label span { color: #c0392b; }
.nh-co-field label em { font-weight: 400; color: #7a8a80; font-style: normal; font-size: 13px; }
.nh-co-field input[type="text"],
.nh-co-field input[type="tel"],
.nh-co-field input[type="email"],
.nh-co-field select,
.nh-co-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dbe4dc;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
  background: #fbfdfb;
  color: #14201a;
}
.nh-co-field input:focus,
.nh-co-field select:focus,
.nh-co-field textarea:focus {
  outline: none;
  border-color: #2F6B45;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(47, 107, 69, 0.12);
}
.nh-co-field textarea { resize: vertical; min-height: 110px; }
.nh-co-radios { display: flex; flex-direction: column; gap: 9px; }
.nh-co-radios label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 500;
  font-size: 14.5px;
  background: #f8faf8;
  border: 1px solid #e6ede7;
  border-radius: 10px;
  padding: 10px 14px;
  cursor: pointer;
  margin: 0;
}
.nh-co-radios label:has(input:checked) {
  border-color: #2F6B45;
  background: #edf4ed;
}
.nh-co-radios input[type="radio"] { accent-color: #2F6B45; width: 16px; height: 16px; }
.nh-co-field input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  border: 1px dashed #b9c9bc;
  border-radius: 10px;
  padding: 12px 14px;
  background: #fbfdfb;
  font-size: 14px;
}
.nh-co-previews { display: flex; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.nh-co-previews img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid #dbe4dc;
}
.nh-co-file-err { color: #a93226; font-size: 13.5px; margin-top: 6px; }
.nh-co-hp { position: absolute; left: -9999px; opacity: 0; height: 0; }
button.nh-co-submit {
  width: 100%;
  background: #2F6B45;
  color: #ffffff;
  border: 0;
  border-radius: 12px;
  padding: 15px;
  font-size: 16.5px;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}
button.nh-co-submit:hover { background: #245a38; transform: translateY(-1px); }
button.nh-co-submit:disabled { opacity: 0.6; cursor: default; transform: none; }
.nh-co-note {
  text-align: center;
  color: #7a8a80;
  font-size: 13.5px;
  margin: 12px 0 0;
}
/* variation modal footer link → custom order */
.nh-var-modal .nh-var-custom-link {
  text-align: center !important;
  margin: 13px 0 2px !important;
}
.nh-var-modal .nh-var-custom-link a {
  color: #2F6B45 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 1px dashed #2F6B45 !important;
  padding-bottom: 1px !important;
}

/* Shop archive CTA banner (slim, brand colors, no clutter) */
.nh-co-shop-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#DDE8DD;border:1px solid #2F6B45;border-radius:8px;padding:14px 20px;margin:0 0 28px}
.nh-co-shop-cta p{margin:0;color:#1C1C1C;font-size:15px}
.nh-co-shop-cta p strong{color:#1F4D35}
.nh-co-shop-cta-btn{display:inline-block;background:#2F6B45;color:#fff!important;text-decoration:none;padding:10px 22px;border-radius:6px;font-weight:600;white-space:nowrap}
.nh-co-shop-cta-btn:hover{background:#1F4D35}
@media(max-width:600px){.nh-co-shop-cta{flex-direction:column;text-align:center}}
