/* ============================================================================
   Songclimber inquiry form — multi-step, branching, in-page.
   Loads after songclimber-tokens.css (uses its custom properties + .sc-btn).
   ============================================================================ */

.iq{ position:relative; text-align:left; }

/* progress */
.iq-progress{
  height:5px; background:rgba(45,80,22,.12);
  border-radius:var(--r-full); overflow:hidden;
  margin-bottom:clamp(22px,3vw,30px);
}
.iq-progress-bar{
  height:100%; width:25%;
  background:var(--brand);
  border-radius:var(--r-full);
  transition:width .3s var(--ease-soft);
}
.iq-progress.is-hidden{ display:none; }

/* stage + step slide */
.iq-stage{ position:relative; }
.iq-stage.iq-anim{ overflow:hidden; transition:height .24s var(--ease-soft); }
.iq-step{ transition:transform .2s var(--ease-soft), opacity .2s var(--ease-soft); }
.iq-step.iq-leave{ transform:translateX(-26px); opacity:0; }
.iq-step.iq-enter{ transform:translateX(26px); opacity:0; }

/* question */
.iq-q{
  font-family:var(--font-sans);
  font-size:clamp(1.32rem,2.5vw,1.72rem);
  line-height:1.22; font-weight:700; letter-spacing:-.01em;
  color:var(--fg); margin:0 0 clamp(18px,2.4vw,24px);
  text-wrap:balance;
}

/* option grid */
.iq-options{ display:grid; grid-template-columns:1fr; gap:12px; }
@media (min-width:600px){ .iq-options--2{ grid-template-columns:1fr 1fr; } }

.iq-option{
  appearance:none; width:100%; text-align:left; cursor:pointer;
  font-family:inherit; font-size:1.02rem; font-weight:600; color:var(--fg);
  background:var(--surface); border:1.5px solid var(--line-strong);
  border-radius:var(--r-md); padding:17px 18px; min-height:62px;
  display:flex; align-items:center; gap:14px;
  transition:border-color .12s var(--ease-soft), background .12s var(--ease-soft), transform .1s var(--ease-soft), box-shadow .12s var(--ease-soft);
}
.iq-option .iq-opt-label{ flex:1; line-height:1.3; }
.iq-option .iq-arrow{
  width:20px; height:20px; flex:none; color:var(--accent);
  opacity:0; transform:translateX(-6px);
  transition:opacity .12s var(--ease-soft), transform .12s var(--ease-soft);
}
.iq-option:hover{ border-color:var(--accent); background:#fff; box-shadow:var(--shadow-sm); }
.iq-option:hover .iq-arrow{ opacity:1; transform:none; }
.iq-option:active{ transform:scale(.99); }
.iq-option:focus-visible{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(90,158,47,.20); }

/* fields */
.iq-fields{ display:flex; flex-direction:column; gap:18px; }
.iq-label{ display:block; font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-muted); margin-bottom:8px; }
.iq-input{
  width:100%; font-family:inherit; font-size:1.05rem; color:var(--fg);
  background:var(--surface); border:1.5px solid var(--line-strong);
  border-radius:var(--r-md); padding:14px 16px;
  transition:border-color .12s var(--ease-soft), box-shadow .12s var(--ease-soft);
}
.iq-input::placeholder{ color:var(--fg-faint); }
.iq-input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(90,158,47,.18); }
.iq-input.iq-invalid{ border-color:var(--danger); box-shadow:0 0 0 3px rgba(162,59,42,.14); }
.iq-textarea{ resize:vertical; min-height:124px; line-height:1.5; }

/* actions */
.iq-actions{ display:flex; align-items:center; gap:16px; margin-top:clamp(22px,3vw,28px); }
.iq-back{
  background:none; border:none; cursor:pointer; font:inherit; font-size:.95rem;
  color:var(--fg-muted); padding:6px 2px; margin-right:auto;
  display:inline-flex; align-items:center; gap:6px;
}
.iq-back:hover{ color:var(--fg); }
.iq-next{ /* layered on .sc-btn .sc-btn--primary .sc-btn--lg */ border-radius:var(--r-md); }
.iq-error{ color:var(--danger); font-size:.9rem; margin-top:10px; }

@media (max-width:520px){
  .iq-actions{ flex-wrap:wrap-reverse; gap:14px; }
  .iq-next{ width:100%; justify-content:center; }
  .iq-back{ margin-right:0; }
}

/* calendly */
.iq-confirm{
  font-family:var(--font-sans); font-size:clamp(1.1rem,2vw,1.35rem); font-weight:700;
  color:var(--fg); margin:0 0 6px; letter-spacing:-.01em;
}
.iq-confirm-sub{ font-size:.98rem; color:var(--fg-muted); margin:0 0 20px; }
.iq-calendly{ position:relative; height:760px; min-height:760px; border-radius:var(--r-lg); overflow:hidden; }
.iq-calendly iframe{ height:100% !important; min-height:760px; }
.iq-cal-fallback{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:32px; color:var(--fg-muted); font-size:1rem; line-height:1.5;
  background:var(--surface-sunk); border-radius:var(--r-lg);
}

/* decline */
.iq-msg{ padding:clamp(8px,2vw,20px) 0; }
.iq-msg .iq-q{ margin-bottom:14px; }
.iq-msg p{ font-size:1.05rem; line-height:1.55; color:var(--fg-muted); margin:0; max-width:46ch; }
.iq-restart{
  background:none; border:none; cursor:pointer; font:inherit; font-size:.98rem; font-weight:700;
  color:var(--accent); padding:0; margin-top:22px; text-decoration:underline; text-underline-offset:2px;
}
.iq-restart:hover{ color:var(--accent-lo); }
