
:root{--green:#244f3b;--green2:#39765a;--soft:#f5f8f4;--line:#dfe8df;--ink:#1d2a24;--muted:#6c786f;--orange:#ff7a00}
*{box-sizing:border-box}body.wizardPage{margin:0;background:linear-gradient(180deg,#f6f8f5,#eef3ee);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.wizardShell{min-height:100vh;display:flex;flex-direction:column}.wizardTop{height:74px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.wizardTop img{width:145px}.wizardTop a{color:var(--green);text-decoration:none;font-weight:800}.wizardMain{width:min(980px,calc(100% - 28px));margin:24px auto 110px}.wizardCard{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 22px 60px rgba(28,61,43,.1);overflow:hidden}.wizardProgress{padding:22px 26px 16px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96)}.wizardProgressTop{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.wizardEyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;color:var(--green2)}.wizardProgress h1{font-size:28px;margin:5px 0 0}.wizardStepCount{font-weight:900;color:var(--muted)}.wizardBar{height:8px;background:#e7eee7;border-radius:999px;margin-top:16px;overflow:hidden}.wizardBar>span{display:block;height:100%;background:linear-gradient(90deg,var(--green2),#6d9c74);border-radius:inherit;transition:width .2s}.wizardBody{padding:26px}.wizardStep{display:none}.wizardStep.active{display:block}.wizardStep h2{font-size:24px;margin:0 0 8px}.wizardLead{color:var(--muted);margin:0 0 22px;line-height:1.5}.wizardMap{height:420px;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#e9efe9}.wizardAddress{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--soft);font-weight:750}.choiceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.choiceCard{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px 14px;min-height:126px;cursor:pointer;text-align:left;transition:.15s;display:flex;gap:12px;align-items:flex-start}.choiceCard:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(30,70,48,.1)}.choiceCard.selected{border:2px solid var(--green2);background:#eef7f0}.choiceIcon{font-size:28px;line-height:1}.choiceCard strong{display:block;font-size:16px}.choiceCard small{display:block;color:var(--muted);line-height:1.35;margin-top:5px}.toggleGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.toggleChoice{border:1px solid var(--line);border-radius:16px;padding:14px 10px;cursor:pointer;text-align:center;background:#fff;min-height:98px;display:flex;flex-direction:column;justify-content:center;gap:8px}.toggleChoice span:first-child{font-size:25px}.toggleChoice strong{font-size:13px}.toggleChoice.selected{border-color:var(--green2);background:#edf7ef;box-shadow:inset 0 0 0 1px var(--green2)}.wizardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.wizardGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.wizardField{display:flex;flex-direction:column;gap:7px;font-weight:800;font-size:13px}.wizardField input,.wizardField select,.wizardField textarea{width:100%;border:1px solid #ccd8ce;border-radius:14px;padding:13px 14px;background:#fff;font:inherit;color:var(--ink)}.wizardField textarea{min-height:130px;resize:vertical}.wizardField.full{grid-column:1/-1}.photoDrop{border:2px dashed #b8c9bb;border-radius:20px;padding:28px;text-align:center;background:var(--soft);cursor:pointer}.photoDrop input{display:none}.photoDrop strong{display:block;font-size:17px}.photoPreview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.photoTile{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#e8eee8}.photoTile img{width:100%;height:100%;object-fit:cover}.photoTile button{position:absolute;top:7px;right:7px;width:28px;height:28px;border:0;border-radius:50%;background:#fff;cursor:pointer}.reviewBox{display:grid;gap:16px}.reviewSection{padding:16px;border:1px solid var(--line);border-radius:17px;background:var(--soft)}.reviewSection h3{margin:0 0 10px}.reviewTags{display:flex;flex-wrap:wrap;gap:8px}.reviewTag{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:800}.wizardActions{position:fixed;bottom:0;left:0;right:0;z-index:60;padding:14px max(18px,calc((100vw - 980px)/2));background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.wizardBtn{border:0;border-radius:14px;padding:13px 22px;font-weight:900;cursor:pointer}.wizardBtn.secondary{background:#edf1ed;color:var(--green)}.wizardBtn.primary{background:var(--green);color:#fff;margin-left:auto}.wizardBtn:disabled{opacity:.5;cursor:not-allowed}.wizardToast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:#173728;color:#fff;padding:12px 18px;border-radius:999px;font-weight:800;z-index:90}.capacityRows{display:grid;gap:12px}.capacityRow{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;align-items:end;border:1px solid var(--line);border-radius:16px;padding:14px}.capacityRow>strong{align-self:center}.wizardCheck{display:flex;align-items:flex-start;gap:10px;padding:12px 0;font-weight:750}.wizardCheck input{width:18px;height:18px}.conditional{display:none}.conditional.show{display:block}.accommodationGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.accCard{border:1px solid var(--line);border-radius:16px;padding:14px}.accHead{display:flex;align-items:center;gap:10px;font-weight:900;margin-bottom:12px}.accInputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.savingOverlay{position:fixed;inset:0;background:rgba(15,34,24,.55);z-index:100;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:900}.hidden{display:none!important}
@media(max-width:760px){.wizardTop{height:62px;padding:0 14px}.wizardTop img{width:122px}.wizardMain{width:100%;margin:0 0 92px}.wizardCard{border-radius:0;border-left:0;border-right:0}.wizardProgress{padding:18px}.wizardProgress h1{font-size:22px}.wizardBody{padding:18px}.wizardMap{height:360px}.choiceGrid{grid-template-columns:1fr 1fr}.toggleGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.wizardGrid,.wizardGrid.three{grid-template-columns:1fr}.photoPreview{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodationGrid{grid-template-columns:1fr}.capacityRow{grid-template-columns:1fr 1fr}.capacityRow>strong{grid-column:1/-1}.wizardActions{padding:12px 14px}.wizardBtn{padding:13px 18px}.wizardStep h2{font-size:21px}}


/* =========================================================
   PROVIDER AMENITY ICON LIBRARY
   ========================================================= */
.toggleChoiceIcon{
  width:50px;
  height:50px;
  object-fit:contain;
  display:block;
  margin:0 auto;
}
.toggleChoiceFallback{
  width:50px;
  height:50px;
  margin:0 auto;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f6f3;
  font-size:25px;
  line-height:1;
}
.toggleChoice.selected .toggleChoiceIcon{
  transform:scale(1.04);
}


/* Max motorhome length icon */
.wizardFieldIconLabel{
  display:flex;
  align-items:center;
  gap:8px;
}
.wizardFieldIconLabel img{
  width:28px;
  height:28px;
  object-fit:contain;
  flex:0 0 28px;
}


/* =========================================================
   PROVIDER WIZARD MOBILE WIDTH FIX ONLY
   Keeps every provider form element inside the phone viewport.
   Does not affect the regular add-spot wizard or desktop.
   ========================================================= */
@media (max-width:760px){
  html:has(body.providerWizardPage),
  body.providerWizardPage{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  body.providerWizardPage .wizardShell,
  body.providerWizardPage .wizardMain,
  body.providerWizardPage .wizardCard,
  body.providerWizardPage .wizardProgress,
  body.providerWizardPage .wizardBody,
  body.providerWizardPage .wizardStep{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  body.providerWizardPage .wizardBody{
    padding-left:16px;
    padding-right:16px;
  }

  body.providerWizardPage .choiceGrid{
    width:100%;
    max-width:100%;
    min-width:0;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  body.providerWizardPage .choiceCard{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:14px 10px;
    gap:8px;
    overflow:hidden;
  }

  body.providerWizardPage .choiceCard > span:last-child{
    min-width:0;
    max-width:100%;
    overflow:hidden;
  }

  body.providerWizardPage .choiceCard strong,
  body.providerWizardPage .choiceCard small{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  body.providerWizardPage .choiceCard strong{
    font-size:15px;
    line-height:1.2;
  }

  body.providerWizardPage .choiceCard small{
    font-size:12px;
    line-height:1.3;
  }

  body.providerWizardPage .choiceIcon{
    flex:0 0 auto;
    font-size:25px;
  }

  body.providerWizardPage .toggleGrid{
    width:100%;
    max-width:100%;
    min-width:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  body.providerWizardPage .toggleChoice,
  body.providerWizardPage .wizardGrid,
  body.providerWizardPage .wizardField,
  body.providerWizardPage .capacityRows,
  body.providerWizardPage .capacityRow,
  body.providerWizardPage .accommodationGrid,
  body.providerWizardPage .accCard,
  body.providerWizardPage .accInputs,
  body.providerWizardPage .photoDrop,
  body.providerWizardPage .photoPreview,
  body.providerWizardPage .reviewBox,
  body.providerWizardPage .reviewSection{
    min-width:0;
    max-width:100%;
  }

  body.providerWizardPage .capacityRow{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.providerWizardPage .wizardField input,
  body.providerWizardPage .wizardField select,
  body.providerWizardPage .wizardField textarea{
    min-width:0;
    max-width:100%;
  }

  body.providerWizardPage .wizardActions{
    width:100%;
    max-width:100vw;
    left:0;
    right:0;
    box-sizing:border-box;
  }

  body.providerWizardPage .wizardBtn{
    min-width:0;
    max-width:48%;
    white-space:nowrap;
  }
}

@media (max-width:390px){
  body.providerWizardPage .choiceGrid{
    grid-template-columns:1fr;
  }

  body.providerWizardPage .toggleGrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
