/* General */
.nr-roi-root { max-width: 640px; margin: 0 auto; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.nr-roi-form { background: #fff; border: 1px solid #eee; border-radius: 16px; padding: 24px; box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.nr-step h3 { margin-top: 0; font-size: 1.25rem; letter-spacing: .3px; }
.nr-field { margin-bottom: 16px; }
.nr-field label { display: block; font-weight: 600; margin-bottom: 6px; letter-spacing: .2px; }
.nr-field input[type="text"],
.nr-field input[type="number"],
.nr-field input[type="email"],
.nr-field input[type="tel"],
.nr-field select { width: 100%; padding: 10px 12px; border: 1px solid #ddd; border-radius: 10px; font-size: 1rem; }
.nr-consent { font-size: 0.95rem; }
.nr-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 12px; }
.nr-btn { border: 0; padding: 10px 16px; border-radius: 999px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.nr-btn.nr-next, .nr-btn.nr-submit { background: var(--nr-primary, #111827); color: #fff; }
.nr-btn.nr-prev { background: #e5e7eb; color: #111827; }
.nr-btn.nr-call { background: #10b981; color: #fff; }
.nr-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.nr-thanks { white-space: pre-line; }
@media (max-width: 480px) {
  .nr-actions { flex-direction: column; }
  .nr-btn { width: 100%; }
}

/* Phone input: anchored dropdown (below group), clearer affordances */
.nr-iti { position: relative; display: flex; align-items: center; border: 1px solid #ddd; border-radius: 10px; overflow: visible; background: #fff; }
.nr-iti__selected { display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; border: 0; background: #f9fafb; cursor: pointer; height: 100%; border-right: 1px solid #e5e7eb; border-top-left-radius: 10px; border-bottom-left-radius: 10px; }
.nr-iti__selected:focus { outline: 2px solid #93c5fd; outline-offset: -2px; }
.nr-iti__selected.disabled { cursor: default; opacity: .7; }
.nr-iti__flag { font-size: 1rem; line-height: 1; }
.nr-iti__dial { font-variant-numeric: tabular-nums; color: #111827; }
.nr-iti__caret { color: #6b7280; margin-left: 4px; }
.nr-iti input[type="tel"] { border: none; flex: 1; padding: 10px 12px; min-width: 0; border-top-right-radius: 10px; border-bottom-right-radius: 10px; }
.nr-iti input[type="tel"]:focus { outline: none; }

/* Dropdown positioned below, full width of wrapper, high z-index */
.nr-iti__dropdown { position: absolute; left: 0; top: calc(100% + 8px); width: 100%; max-height: 360px; overflow: hidden; background: #fff; border: 1px solid #ddd; border-radius: 12px; box-shadow: 0 14px 30px rgba(0,0,0,0.12); z-index: 99999; display: none; }
.nr-iti__dropdown.open { display: block; }
.nr-iti__search { padding: 10px; border-bottom: 1px solid #eee; background: #fafafa; }
.nr-iti__search input { width: 100%; border: 1px solid #e5e7eb; border-radius: 8px; padding: 8px 10px; }
.nr-iti__list { list-style: none; margin: 0; padding: 6px 0; max-height: 300px; overflow: auto; }
.nr-iti__list li { padding: 10px 12px; display: flex; align-items: center; gap: 8px; cursor: pointer; }
.nr-iti__list li:hover, .nr-iti__list li:focus { background: #f3f4f6; outline: none; }
.nr-iti__label { color: #111827; }
.nr-iti__list .nr-iti__dial { color: #6b7280; margin-left: auto; }

/* Mobile: sheet modal look */
@media (max-width: 480px) {
  .nr-iti__dropdown { position: fixed; left: 0; right: 0; bottom: 0; top: auto; width: 100%; max-height: 70vh; border-top-left-radius: 16px; border-top-right-radius: 16px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; margin: 0; }
}
/* Hint text */
.nr-phone-hint { display:block; margin-top:6px; color:#6b7280; }
