/* Insuregroup forms v2 — loaded only while forms v2 is active.
   Uses the theme tokens (app.css): navy, blue, orange-btn, rule, paper. */

.igf-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- shared field look (theme forms) ---------- */
.igf.form{gap:1.1rem}
.igf .field{gap:.4rem}
.igf .field label,.igf .igf-step .field>label{font-family:var(--display);font-weight:700;font-size:1rem;line-height:1.35;color:var(--navy)}
.igf .field label abbr{color:var(--orange-text);text-decoration:none}
.igf .field input,.igf .field select,.igf .field textarea{font-size:16px;min-height:52px;border:1.5px solid #c3d0dc;border-radius:8px;padding:.8rem .95rem}
.igf .field textarea{min-height:120px}
.igf .field input:focus,.igf .field select:focus,.igf .field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,72,120,.18)}
.igf .field input::placeholder,.igf .field textarea::placeholder{color:var(--muted)}
.igf .field__hint{font-size:.9rem;color:var(--muted)}
.igf .field__err{font-size:.92rem;font-weight:600;color:#b42318}
.igf .field__err::before{content:"! ";font-weight:800}
.igf .field[data-invalid="true"] input,.igf .field[data-invalid="true"] select,.igf .field[data-invalid="true"] textarea{border-color:#b42318;background:#fff8f7}
.igf .field--half{gap:.6rem}
.igf .choices .choice{min-height:48px}

/* ---------- tap buttons that stand in for short selects ---------- */
.igf-native-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important}
.igf-has-choices{position:relative}
.igf-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:.55rem}
.igf-choices--stack{grid-template-columns:1fr}
@media (min-width:620px){.igf-choices--stack{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
.igf-choices button{position:relative;display:flex;align-items:center;gap:.65rem;min-height:52px;padding:.7rem 1rem;text-align:left;font:700 1rem/1.25 var(--body);color:var(--navy);background:#fff;border:1.5px solid #c3d0dc;border-radius:8px;cursor:pointer;transition:border-color .12s,background .12s,box-shadow .12s;-webkit-tap-highlight-color:transparent}
.igf-choices button::before{content:"";flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #8fa2b5;background:#fff;box-sizing:border-box;transition:border-color .12s,box-shadow .12s}
.igf-choices button:hover{border-color:var(--blue)}
.igf-choices button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.igf-choices button[aria-checked="true"]{border-color:var(--blue);background:#eef5fb;box-shadow:inset 0 0 0 1px var(--blue)}
.igf-choices button[aria-checked="true"]::before{border-color:var(--blue);box-shadow:inset 0 0 0 4px #fff;background:var(--blue)}
.field[data-invalid="true"] .igf-choices button,.ig-quote__field.has-error .igf-choices button{border-color:#b42318}

/* ---------- steps (theme forms) ---------- */
.igf--steps .igf-step{border:0;margin:0;padding:0;min-width:0;display:grid;gap:1.15rem}
.igf--steps .igf-step[hidden]{display:none!important}
.igf-step__title{float:left;width:100%;padding:0;margin:0 0 .1rem;font-family:var(--display);font-weight:800;font-size:1.35rem;line-height:1.2;letter-spacing:-.01em;color:var(--navy)}
.igf-step__title:focus{outline:none}
.igf-step__title:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.igf-step__title+*{clear:left}
.igf-step__intro{margin:-.85rem 0 .1rem;color:var(--muted);font-size:.98rem}
.igf-head{display:grid;gap:.5rem;margin-bottom:.35rem}
.igf-head__count{margin:0;font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-text)}
.igf-bar{height:8px;border-radius:99px;background:#e4ebf2;overflow:hidden}
.igf-bar__fill{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--orange-btn),#ff6a1f);transition:width .3s var(--ease)}
.igf-restored{margin:0;font-size:.92rem;color:var(--muted);background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:.55rem .8rem}
.igf-restored[hidden]{display:none}
.igf-link{background:none;border:0;padding:.25rem 0;font:inherit;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}

/* Sticky Back / Next: always in reach of a thumb while the form is on screen. */
.igf-nav{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:1fr 2fr;gap:.6rem;margin:.4rem calc(-1 * clamp(1.25rem,3vw,2rem)) 0;padding:.75rem clamp(1.25rem,3vw,2rem) calc(.75rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--rule);backdrop-filter:blur(6px)}
.igf-nav .btn{width:100%;min-height:52px}
.igf-nav [hidden]{display:none!important}
.igf-nav--first{grid-template-columns:1fr}
.igf-nav .igf-back{border-width:1.5px}
@media (min-width:760px){
  .igf-nav{position:static;margin:.6rem 0 0;padding:1rem 0 0;background:none;backdrop-filter:none;display:flex;justify-content:space-between}
  .igf-nav .btn{width:auto;min-width:160px}
  .igf-nav--first{justify-content:flex-end}
}
.igf .form__note{margin:.25rem 0 0;text-align:center}
.igf .form__ok{font-size:1.05rem}
.igf .form__ok:focus{outline:none}
.igf-done .igf-head,.igf-done .igf-step,.igf-done .igf-nav,.igf-done .form__note{display:none!important}
.igf-done .form__ok{padding:1.4rem 1.3rem}

/* (No "hide until ready" rule on purpose: if this script ever fails, the
   old long form must still be fully usable.) */

/* ---------- the multi-step quote plugin (/quote/) ---------- */
.igf-on .ig-quote.ig-quote .ig-quote__label{font-family:var(--display);font-weight:700;font-size:1rem;line-height:1.35;color:var(--navy)}
.igf-on .ig-quote.ig-quote .ig-quote__input{font-size:16px;min-height:52px;border:1.5px solid #c3d0dc;border-radius:8px}
.igf-on .ig-quote.ig-quote .ig-quote__input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(10,72,120,.18)}
.igf-on .ig-quote.ig-quote .ig-quote__sublabel{font-size:.85rem}
.igf-on .ig-quote.ig-quote .ig-quote__composite--address{display:grid;gap:.6rem;grid-template-columns:1fr 1fr}
.igf-on .ig-quote.ig-quote .ig-quote__composite--address .ig-quote__composite-item:first-child{grid-column:1/-1}
.igf-on .ig-quote.ig-quote .ig-quote__composite--address .ig-quote__composite-item{margin:0}
.igf-on .ig-quote.ig-quote .ig-quote__help{font-size:.92rem}
.igf-on .ig-quote.ig-quote .ig-quote__error{font-weight:600;color:#b42318}
.igf-on .ig-quote.ig-quote .ig-quote__field.has-error .ig-quote__input{border-color:#b42318;background:#fff8f7}
.igf-on .ig-quote.ig-quote .ig-quote__progress-track{height:8px;border-radius:99px;background:#e4ebf2}
.igf-on .ig-quote.ig-quote .ig-quote__progress-bar{border-radius:99px;background:linear-gradient(90deg,var(--orange-btn),#ff6a1f)}
.igf-on .ig-quote.ig-quote .ig-quote__step-title{font-weight:800;font-size:1.35rem}
.igf-on .ig-quote.ig-quote .ig-quote__step-title:focus{outline:none}
.igf-on .ig-quote.ig-quote .ig-quote__nav{position:sticky;bottom:0;z-index:5;display:grid;grid-template-columns:1fr 2fr;gap:.6rem;margin-top:1.25rem;padding:.75rem 0 calc(.75rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--rule);backdrop-filter:blur(6px)}
.igf-on .ig-quote.ig-quote .ig-quote__nav>span:empty{display:none}
.igf-on .ig-quote.ig-quote .ig-quote__nav>span:empty+.ig-quote__btn{grid-column:1/-1}
.igf-on .ig-quote.ig-quote .ig-quote__btn{width:100%;min-height:52px;margin:0}
.igf-on .ig-quote.ig-quote .ig-quote__btn--back{order:0;border:1.5px solid var(--blue);color:var(--blue)}
.igf-on .ig-quote.ig-quote .ig-quote__btn--next,.igf-on .ig-quote.ig-quote .ig-quote__btn--submit{order:1;background:var(--orange-btn)}
.igf-on .ig-quote.ig-quote .ig-quote__btn--next:hover,.igf-on .ig-quote.ig-quote .ig-quote__btn--submit:hover{background:var(--orange-btn-600)}
@media (min-width:760px){
  .igf-on .ig-quote.ig-quote .ig-quote__nav{position:static;display:flex;justify-content:space-between;background:none;backdrop-filter:none}
  .igf-on .ig-quote.ig-quote .ig-quote__btn{width:auto;min-width:160px}
  .igf-on .ig-quote.ig-quote .ig-quote__nav>span:empty+.ig-quote__btn{margin-left:auto}
}
.igf-on .ig-quote.ig-quote .igf-choices button{font-family:var(--body, inherit)}

@media (prefers-reduced-motion:reduce){
  .igf-bar__fill,.igf-choices button,.igf-choices button::before{transition:none}
}

/* The theme's fixed phone action bar steps aside while a form is on screen. */
.igf-form-in-view .actionbar{transform:translateY(115%);visibility:hidden;transition:transform .2s var(--ease),visibility 0s .2s}
.actionbar{transition:transform .2s var(--ease)}

/* Desktop: the theme lays .form--full out in two columns from 720px. With
   steps the form itself is one column; short questions pair up inside a step,
   long ones and button groups take the full width. */
.igf--steps.form--full{grid-template-columns:1fr!important}
.igf--steps.form--full>*{grid-column:1/-1}
@media (min-width:720px){
  .igf--steps .igf-step{grid-template-columns:1fr 1fr;column-gap:1.5rem;align-items:start}
  .igf--steps .igf-step>.igf-step__title,.igf--steps .igf-step>.igf-step__intro,.igf--steps .igf-step>.igf-wide{grid-column:1/-1}
}
.igf-nav .igf-back{background:#fff}

/* ---------- file upload (1.1.0) ---------- */
.igf-up{display:grid;gap:.6rem;padding:.9rem;border:1.5px dashed #9fb3c6;border-radius:10px;background:#f7fafd;transition:border-color .12s,background .12s}
.igf-up.is-drag{border-color:var(--blue);background:#eef5fb}
.igf-up__btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.55rem}
.igf-up__btn{position:relative;display:flex!important;align-items:center;justify-content:center;gap:.55rem;min-height:52px;padding:.7rem 1rem;font:700 1rem/1.25 var(--body,inherit)!important;color:var(--navy)!important;background:#fff;border:1.5px solid var(--blue);border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.igf-up__btn:hover{background:#eef5fb}
.igf-up__btn:focus-within{outline:3px solid var(--orange);outline-offset:2px}
.igf-up__input{position:absolute!important;inset:0;width:100%!important;height:100%!important;min-height:0!important;opacity:0;cursor:pointer;font-size:0;padding:0!important;border:0!important}
.igf-up__icon{flex:none;width:20px;height:20px;border-radius:50%;background:var(--blue);position:relative}
.igf-up__icon::before,.igf-up__icon::after{content:"";position:absolute;left:50%;top:50%;background:#fff;transform:translate(-50%,-50%)}
.igf-up__icon::before{width:10px;height:2px}.igf-up__icon::after{width:2px;height:10px}
.igf-up__icon--cam{border-radius:4px;height:16px}
.igf-up__icon--cam::before{width:8px;height:8px;border-radius:50%;background:transparent;border:2px solid #fff}
.igf-up__icon--cam::after{display:none}
.igf-up__hint{margin:0;font-size:.9rem;color:var(--muted)}
.igf-up__list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.igf-up__list:empty{display:none}
.igf-up__item{display:grid;gap:.35rem;padding:.6rem .75rem;background:#fff;border:1px solid #dbe4ee;border-radius:8px}
.igf-up__top{display:flex;align-items:center;gap:.6rem;min-width:0}
.igf-up__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--navy)}
.igf-up__size{flex:none;font-size:.85rem;color:var(--muted)}
.igf-up__rm{flex:none;min-height:40px;padding:.35rem .7rem;font:600 .9rem/1 var(--body,inherit);color:#b42318;background:none;border:1px solid #e9b8b3;border-radius:6px;cursor:pointer}
.igf-up__rm:hover{background:#fff4f2}
.igf-up__rm:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.igf-up__bar{height:6px;border-radius:3px;background:#e3eaf2;overflow:hidden}
.igf-up__bar[hidden]{display:none}
.igf-up__bar span{display:block;height:100%;width:0;background:var(--blue);transition:width .15s}
.igf-up__state{font-size:.85rem;color:var(--muted)}
.igf-up__item[data-state="done"] .igf-up__state{color:#1b7f3b;font-weight:600}
.igf-up__item[data-state="done"] .igf-up__state::before{content:"\2713  "}
.igf-up__item[data-state="err"]{border-color:#e9b8b3;background:#fff8f7}
.igf-up__item[data-state="err"] .igf-up__state{color:#b42318;font-weight:600}
.igf-up__msg{margin:0;font-size:.92rem;font-weight:600;color:#b42318}
.igf-up__msg:empty{display:none}
@media (prefers-reduced-motion:reduce){.igf-up,.igf-up__bar span{transition:none}}
.igf-up .igf-up__list>li{list-style:none!important;margin:0!important;padding:.6rem .75rem!important}
.igf-up .igf-up__list>li::before,.igf-up .igf-up__list>li::marker{content:none!important;display:none!important}
