/* Nina Free Strategy popup. Tokens match the redesign: teal #1A7362, ink #181817, Newsreader + Inter. */
.nfs-lock { overflow: hidden; }
.nfs-overlay { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(24, 24, 23, 0.55); opacity: 0; transition: opacity .2s ease; }
.nfs-overlay[hidden] { display: none; }
.nfs-overlay.is-open { opacity: 1; }
.nfs-dialog { position: relative; width: 100%; max-width: 480px; max-height: calc(100vh - 32px); overflow-y: auto; box-sizing: border-box; padding: 36px 32px 28px; background: #FFFFFF; border-radius: 16px; box-shadow: 0 30px 80px rgba(24, 24, 23, 0.28); font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; color: #181817; transform: translateY(12px); transition: transform .25s cubic-bezier(.2, .8, .2, 1); }
.nfs-overlay.is-open .nfs-dialog { transform: none; }
.nfs-close { position: absolute; top: 10px; right: 12px; width: 44px; height: 44px; border: 0; background: none; font-size: 28px; line-height: 1; color: #5E5E5E; cursor: pointer; border-radius: 8px; }
.nfs-close:hover { background: #F5FAF8; color: #181817; }
.nfs-eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: #1A7362; }
.nfs-title { margin: 0 0 10px; font-family: 'Newsreader', Georgia, serif; font-size: 28px; line-height: 1.15; font-weight: 600; color: #181817; outline: none; }
.nfs-site, .nfs-lead { margin: 0 0 20px; font-size: 16px; line-height: 1.5; color: #3F3F3F; }
.nfs-site[hidden] { display: none; }
.nfs-change, .nfs-text-btn { border: 0; background: none; padding: 0 2px; font: inherit; font-size: 14px; color: #1A7362; text-decoration: underline; cursor: pointer; }
.nfs-text-btn { display: block; margin: 14px auto 0; min-height: 44px; }
.nfs-dialog form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.nfs-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nfs-dialog label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; color: #181817; }
.nfs-site-edit { margin-bottom: 14px; }
.nfs-site-edit[hidden] { display: none; }
.nfs-dialog input[type="text"], .nfs-dialog input[type="email"] { width: 100%; box-sizing: border-box; height: 50px; padding: 0 14px; font: inherit; font-size: 16px; font-weight: 400; color: #181817; background: #FFFFFF; border: 1.5px solid #CFCFCF; border-radius: 8px; transition: border-color .15s ease, box-shadow .15s ease; }
.nfs-dialog input[type="text"]:focus, .nfs-dialog input[type="email"]:focus { outline: none; border-color: #1A7362; box-shadow: 0 0 0 3px rgba(26, 115, 98, 0.18); }
.nfs-check { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 400 !important; font-size: 13px !important; line-height: 1.45; color: #5E5E5E !important; }
.nfs-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #1A7362; flex: none; }
.nfs-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.nfs-error { margin: 0; padding: 10px 12px; border-radius: 8px; background: #FDF1F0; color: #9B2C1F; font-size: 14px; }
.nfs-error[hidden] { display: none; }
.nfs-submit { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; padding: 0 22px; border: 0; border-radius: 8px; background: #1A7362; color: #FFFFFF !important; font: inherit; font-size: 17px; font-weight: 600; text-decoration: none !important; cursor: pointer; transition: background .15s ease, transform .15s ease; box-sizing: border-box; }
.nfs-submit:hover { background: #125446; }
.nfs-submit:active { transform: scale(.99); }
.nfs-submit:disabled { opacity: .7; cursor: wait; }
.nfs-submit:focus-visible, .nfs-close:focus-visible, .nfs-change:focus-visible, .nfs-text-btn:focus-visible { outline: 2px solid #1A7362; outline-offset: 3px; }
.nfs-fine { margin: 0; text-align: center; font-size: 13px; color: #5E5E5E; }
.nfs-step[hidden] { display: none; }
.nfs-check-icon { width: 56px; height: 56px; margin: 0 0 16px; border-radius: 50%; background: #E6F1EE; position: relative; }
.nfs-check-icon::after { content: ""; position: absolute; left: 20px; top: 14px; width: 12px; height: 22px; border: solid #1A7362; border-width: 0 3px 3px 0; transform: rotate(45deg); }
@media (max-width: 520px) {
  .nfs-overlay { align-items: flex-end; padding: 0; }
  .nfs-dialog { max-width: none; max-height: 92vh; border-radius: 18px 18px 0 0; padding: 32px 20px 24px; }
  .nfs-row { grid-template-columns: 1fr; }
  .nfs-title { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .nfs-overlay, .nfs-dialog { transition: none; }
}
