.ntrf{--ntrf-accent:#b45309;--ntrf-accent-d:#92400e;--ntrf-bg:#fff;--ntrf-line:#e7e0d6;--ntrf-soft:#faf7f2;--ntrf-text:#222;--ntrf-muted:#6b6358;max-width:760px;width:100%;margin:0 auto;padding:clamp(16px,4vw,28px);background:var(--ntrf-bg);border:1px solid var(--ntrf-line);border-radius:14px;box-shadow:0 6px 24px rgba(0,0,0,.05);font-family:inherit;color:var(--ntrf-text);box-sizing:border-box;overflow:hidden}
.ntrf *{box-sizing:border-box;min-width:0}

/* Progress */
.ntrf-progress{display:flex;justify-content:space-between;list-style:none;margin:0 0 clamp(18px,4vw,28px);padding:0;gap:4px}
.ntrf-progress-item{flex:1;text-align:center;font-size:12px;color:var(--ntrf-muted)}
.ntrf-dot{display:flex;align-items:center;justify-content:center;width:30px;height:30px;margin:0 auto 6px;border-radius:50%;background:var(--ntrf-soft);border:2px solid var(--ntrf-line);font-weight:600;transition:.15s}
.ntrf-progress-item.is-active .ntrf-dot{background:var(--ntrf-accent);border-color:var(--ntrf-accent);color:#fff}
.ntrf-progress-item.is-active{color:var(--ntrf-accent);font-weight:600}
.ntrf-progress-item.is-done .ntrf-dot{background:#fff;border-color:var(--ntrf-accent);color:var(--ntrf-accent)}
.ntrf-label{display:block;overflow-wrap:break-word}

/* Steps */
.ntrf-step{display:none;border:0;margin:0;padding:0;min-width:0}
.ntrf-step.is-active{display:block;animation:ntrf-fade .2s ease}
@keyframes ntrf-fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.ntrf-step legend{font-size:clamp(1.1em,3.5vw,1.35em);line-height:1.25;font-weight:700;margin:0 0 6px;padding:0}
.ntrf-help{margin:0 0 14px;color:var(--ntrf-muted);font-size:.92em}

/* Choice grids (destinations, budget) */
.ntrf-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:14px 0 18px}
.ntrf-choices-single{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.ntrf-choice{position:relative;display:block;cursor:pointer}
.ntrf-choice input{position:absolute;opacity:0;pointer-events:none}
.ntrf-choice span{display:flex;align-items:center;min-height:44px;padding:11px 14px;border:2px solid var(--ntrf-line);border-radius:10px;background:var(--ntrf-soft);transition:.15s;line-height:1.3}
@media(hover:hover){.ntrf-choice:hover span{border-color:var(--ntrf-accent)}}
.ntrf-choice input:checked + span{border-color:var(--ntrf-accent);background:#fff3e3;font-weight:600}
.ntrf-choice input:focus-visible + span{outline:2px solid var(--ntrf-accent);outline-offset:2px}

/* Field rows */
.ntrf-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.ntrf-row-3{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
.ntrf-field{margin-bottom:14px;min-width:0}
.ntrf-field label{display:block;font-weight:600;font-size:.92em;margin-bottom:5px}
.ntrf-field input,.ntrf-field select,.ntrf-field textarea{width:100%;max-width:100%;padding:12px;border:1px solid #cfc7ba;border-radius:8px;font:inherit;font-size:16px;background:#fff}
.ntrf-field textarea{resize:vertical;min-height:90px}
.ntrf-field input:focus,.ntrf-field select:focus,.ntrf-field textarea:focus{outline:2px solid var(--ntrf-accent);outline-offset:0;border-color:var(--ntrf-accent)}

.ntrf-inline{display:flex;gap:8px;align-items:flex-start;font-size:.92em;margin:6px 0 10px;line-height:1.4}
.ntrf-inline input{margin-top:3px;flex-shrink:0}
.ntrf-error{color:#b91c1c;font-size:.92em;min-height:1.2em;margin:8px 0 0;overflow-wrap:break-word}

/* Nav */
.ntrf-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:22px}
.ntrf-nav .ntrf-next,.ntrf-nav .ntrf-submit{margin-left:auto}
.ntrf-btn{padding:13px 22px;border-radius:8px;border:1px solid var(--ntrf-line);background:#fff;font:inherit;font-size:1em;font-weight:600;cursor:pointer;transition:.15s;min-height:46px;touch-action:manipulation}
.ntrf-btn[hidden]{display:none}
.ntrf-btn-primary{background:var(--ntrf-accent);border-color:var(--ntrf-accent);color:#fff}
@media(hover:hover){.ntrf-btn-primary:hover{background:var(--ntrf-accent-d)}}
.ntrf-btn:disabled{opacity:.6;cursor:wait}
.ntrf-btn:focus-visible{outline:2px solid var(--ntrf-accent);outline-offset:2px}

.ntrf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ntrf-success{text-align:center;padding:24px 8px}
.ntrf-success h3{color:var(--ntrf-accent);margin-top:0;font-size:clamp(1.1em,4vw,1.3em)}

/* Tablet */
@media(max-width:640px){
  .ntrf{border-radius:10px}
  .ntrf-choices,.ntrf-choices-single{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
}

/* Phones */
@media(max-width:480px){
  .ntrf{padding:16px;border-left:0;border-right:0;border-radius:0}
  .ntrf-progress{gap:2px}
  .ntrf-dot{width:26px;height:26px;font-size:.85em}
  .ntrf-label{font-size:10px}
  .ntrf-choices,.ntrf-choices-single,.ntrf-row,.ntrf-row-3{grid-template-columns:1fr}
  .ntrf-nav{flex-direction:column-reverse}
  .ntrf-nav .ntrf-prev,.ntrf-nav .ntrf-next,.ntrf-nav .ntrf-submit{margin-left:0;width:100%}
}

/* Very small phones: numbers only, hide text labels to save space */
@media(max-width:360px){
  .ntrf-label{display:none}
}
