    :root{
      --salony-primary:#005151;
      --salony-secondary:#dee6e6;

      --bg1:#f6fbfb;
      --bg2:#eef6f6;
      --card:#ffffff;
      --card2:#fbfefe;
      --border:rgba(0,81,81,.12);

      --text:#071010;
      --muted:rgba(7,16,16,.68);

      --danger:#d44a4a;
      --ok:#0f9d7a;

      --shadow: 0 18px 50px rgba(0,0,0,.10);
      --radius: 22px;

      --focus: 0 0 0 4px rgba(0,81,81,.10);
    }

    *{box-sizing:border-box}
    body{
      margin:0;
      font-family:"Lexend Deca", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      background:
        radial-gradient(900px 600px at 20% 15%, rgba(0,81,81,.10) 0%, rgba(0,81,81,0) 60%),
        radial-gradient(900px 600px at 85% 18%, rgba(222,230,230,.60) 0%, rgba(222,230,230,0) 55%),
        linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 100%);
      color:var(--text);
      min-height:100vh;
      display:flex;
      justify-content:center;
    }

    .wrap{ width:min(1080px, 100%); padding:18px 16px 60px; display:grid; gap:14px; }

    /* Top logo central (placeholder) */
    .topLogoWrap{
      display:flex;
      justify-content:center;
      padding:20px 0 10px;
    }
.topLogoImg{
  max-width:190px;
  height:50px;
  object-fit:contain;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.08));
}

    /* Se você tiver o logo real, troque o div por img e use esta classe:
      .topLogo img{ max-width:160px; height:38px; object-fit:contain; }
    */

    .topbar{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
    .brand{ display:flex; align-items:center; gap:12px; }
    .brand h1{ margin:0; font-size:16px; font-weight:800; letter-spacing:.2px; line-height:1.1; }
    .brand p{ margin:2px 0 0; font-size:12px; color:var(--muted); }

    .pill{
      padding:10px 12px; border-radius:999px; border:1px solid rgba(0,81,81,.14);
      background:rgba(255,255,255,.80); display:flex; gap:10px; align-items:center;
      color:var(--muted); font-size:12px;
      box-shadow:0 10px 20px rgba(0,0,0,.06);
      white-space:nowrap;
    }

    .grid{ display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:start; }
    @media (max-width: 980px){ .grid{grid-template-columns:1fr} }

    .card{
      background:linear-gradient(180deg, var(--card) 0%, var(--card2) 100%);
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
    }

    .cardHeader{ padding:18px 18px 14px; border-bottom:1px solid rgba(0,81,81,.08); }
    .cardHeader .title{ margin:0; font-size:18px; font-weight:800; letter-spacing:.2px; }
    .cardHeader .subtitle{ margin:6px 0 0; font-size:13px; color:var(--muted); line-height:1.45; }

    .progressWrap{ padding:14px 18px 18px; display:flex; flex-direction:column; gap:10px; }
    .progressBar{
      height:10px; border-radius:999px;
      background:rgba(0,81,81,.08);
      overflow:hidden;
      border:1px solid rgba(0,81,81,.10);
    }
    .progressBar > div{
      height:100%; width:0%;
      background:linear-gradient(90deg, rgba(0,81,81,.95), rgba(222,230,230,1));
      border-radius:999px; transition:width .25s ease;
    }
    .stepsTiny{ display:flex; gap:8px; flex-wrap:wrap; }
    .stepsTiny .dot{
      width:8px;height:8px;border-radius:999px;
      background:rgba(0,81,81,.14);
      border:1px solid rgba(0,81,81,.10);
    }
    .stepsTiny .dot.active{ background:rgba(0,81,81,.85); border-color:rgba(0,81,81,.35); }
    .stepsTiny .dot.done{ background:rgba(222,230,230,1); border-color:rgba(0,81,81,.18); }

    form{ margin:0; }
    .cardBody{ padding:18px; display:grid; gap:14px; }

    .step{ display:none; animation: fadeUp .18s ease; }
    .step.active{ display:block; }
    @keyframes fadeUp{ from{opacity:0; transform: translateY(6px);} to{opacity:1; transform: translateY(0);} }

    .row{ display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
    @media (max-width: 640px){ .row{grid-template-columns:1fr} }

    .field{ display:flex; flex-direction:column; gap:8px; }
    .label{ font-size:12px; color:var(--muted); display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .input, .textarea{
    font-family: "Lexend Deca", sans-serif;
    font-weight: 500;
      width:100%; padding:12px 12px; border-radius:14px;
      border:1px solid rgba(0,81,81,.14);
      background:rgba(255,255,255,.92);
      color:var(--text);
      outline:none;
      transition:border-color .15s ease, box-shadow .15s ease;
    }
    .input::placeholder,
.textarea::placeholder {
  font-family: "Lexend Deca", sans-serif;
  font-weight: 400;
  color: rgba(7,16,16,.45);
  opacity: 1; /* importante para padronizar */
}
    .input:focus, .textarea:focus{
      border-color:rgba(0,81,81,.40);
      box-shadow:var(--focus);
    }
    .input:disabled, .textarea:disabled{
      background:rgba(7,16,16,.12);
      border-color:rgba(7,16,16,.25);
      color:rgba(7,16,16,.62);
      cursor:not-allowed;
      box-shadow:none;
    }
    .textarea{ min-height:110px; resize:vertical; }

    .hint{
      font-size:12px;
      color:rgba(7,16,16,.62);
      line-height:1.45;
      background:rgba(0,81,81,.06);
      border:1px solid rgba(0,81,81,.10);
      padding:10px 12px;
      border-radius:16px;
      margin-top: 6px;
    }

    .error{ margin-top:4px; font-size:12px; color:var(--danger); display:none; }
    .field.invalid .error{ display:block; }
    .field.invalid .input, .field.invalid .textarea{
      border-color:rgba(212,74,74,.55);
      box-shadow:0 0 0 4px rgba(212,74,74,.10);
    }

    .actions{
      padding:16px 18px 18px; border-top:1px solid rgba(0,81,81,.10);
      display:flex; align-items:center; justify-content:space-between; gap:10px;
      background:rgba(0,81,81,.03);
    }

    /* Garante tipografia consistente em inputs e botões */
button, input, textarea, select {
  font-family: "Lexend Deca", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Botões principais */
.btn{
  font-family: inherit;
  font-weight: 700;
}

/* Botões pequenos (Buscar CEP / Minha localização) */
.inlineBtn{
  font-family: inherit;
  font-weight: 600;
  letter-spacing: .2px;
}


    .btn{
      border:none; cursor:pointer; padding:12px 14px; border-radius:16px;
      font-family:inherit; font-weight:700; letter-spacing:.2px;
      transition: transform .08s ease, opacity .15s ease, box-shadow .15s ease;
      display:inline-flex; align-items:center; gap:10px; user-select:none; white-space:nowrap;
    }
    .btn:active{ transform: translateY(1px); }
    .btn[disabled]{ opacity:.60; cursor:not-allowed; }

    .btnGhost{
      background:rgba(255,255,255,.90);
      border:1px solid rgba(0,81,81,.14);
      color:var(--text);
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .btnPrimary{
      background:linear-gradient(135deg, rgba(0,81,81,.95), rgba(0,81,81,.70));
      color:#fff;
      border:1px solid rgba(0,81,81,.25);
      box-shadow:0 16px 30px rgba(0,0,0,.12);
    }

    .inlineBtn{
      border:1px solid rgba(0,81,81,.14);
      background:rgba(255,255,255,.92);
      color:rgba(7,16,16,.88);
      padding:10px 12px;
      border-radius:999px;
      font-size:12px;
      cursor:pointer;
      display:inline-flex;
      align-items:center;
      gap:8px;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .inlineBtn:disabled{ opacity:.55; cursor:not-allowed; }

    .uploader{
      border:1px dashed rgba(0,81,81,.28);
      border-radius:16px; padding:14px;
      background:rgba(0,81,81,.03);
      display:flex; flex-direction:column; gap:10px;
    }
    .thumbs{ display:flex; gap:10px; flex-wrap:wrap; }
    .thumb{
      width:72px;height:72px;border-radius:16px;
      border:1px solid rgba(0,81,81,.12);
      overflow:hidden;
      background:rgba(255,255,255,.92);
    }
    .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

    .review{
      display:grid; gap:10px; padding:14px; border-radius:18px;
      border:1px solid rgba(0,81,81,.12);
      background:rgba(0,81,81,.03);
    }
    .kv{ display:flex; gap:10px; justify-content:space-between; border-bottom:1px dashed rgba(0,81,81,.14); padding:8px 0; }
    .kv:last-child{ border-bottom:none; }
    .kv span{ font-size:12px; color:var(--muted); }
    .kv strong{
      font-size:12px; font-weight:700; color:var(--text);
      max-width:65%; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    }

    .rvImgsWrap{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      padding-top:6px;
    }
    .rvImg{
      width:78px; height:78px;
      border-radius:18px;
      border:1px solid rgba(0,81,81,.12);
      background:#fff;
      overflow:hidden;
      box-shadow:0 10px 18px rgba(0,0,0,.06);
    }
    .rvImg img{ width:100%; height:100%; object-fit:cover; display:block; }

    .toast{
      display:none; margin-top:12px; padding:12px 14px; border-radius:18px;
      border:1px solid rgba(15,157,122,.25); background:rgba(15,157,122,.10);
      color:rgba(7,16,16,.92); font-size:13px; line-height:1.45;
    }
    .toast.show{ display:block; }

    .smalllink{ color:rgba(0,81,81,.95); text-decoration:none; font-size:12px; font-weight:700; }
    .smalllink:hover{ text-decoration:underline; }

    .side{ padding:18px; display:grid; gap:12px; }
    .mini{ padding:14px; border-radius:18px; border:1px solid rgba(0,81,81,.12); background:rgba(0,81,81,.03); }
    .mini h3{ margin:0; font-size:13px; font-weight:900; }
    .mini p{ margin:8px 0 0; font-size:12px; color:var(--muted); line-height:1.55; }
    .divider{ height:1px; background:rgba(0,81,81,.10); margin:10px 0; }

    /* Tela de sucesso */
.successWrap{
  display:grid;
  gap:14px;
  padding:22px 18px;
  border-radius:22px;
  border:1px solid rgba(15,157,122,.22);
  background:linear-gradient(180deg, rgba(15,157,122,.10) 0%, rgba(0,81,81,.04) 100%);
}

.successIcon{
  width:64px;
  height:64px;
  border-radius:20px;
  display:grid;
  place-items:center;
  margin:0 auto;
  font-size:28px;
  background:rgba(15,157,122,.12);
  border:1px solid rgba(15,157,122,.20);
  box-shadow:0 14px 28px rgba(0,0,0,.08);
}

.successTitle{
  margin:0;
  font-size:20px;
  font-weight:900;
  letter-spacing:.2px;
  text-align:center;
  color:var(--text);
}

.successText{
  margin:0;
  color:rgba(7,16,16,.78);
  font-size:13px;
  line-height:1.7;
  text-align:center;
}

.successChecklist{
  display:grid;
  gap:10px;
  margin-top:2px;
}

.successItem{
  display:flex;
  gap:12px;
  padding:12px 12px;
  border-radius:18px;
  border:1px solid rgba(0,81,81,.10);
  background:rgba(255,255,255,.85);
  box-shadow:0 10px 18px rgba(0,0,0,.05);
}

.successItem .bullet{
  width:28px;
  height:28px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg, rgba(0,81,81,.95), rgba(0,81,81,.70));
}

.itemTitle{
  font-size:12px;
  font-weight:900;
  color:rgba(7,16,16,.92);
  margin-top:1px;
}

.itemDesc{
  font-size:12px;
  color:rgba(7,16,16,.64);
  line-height:1.45;
  margin-top:4px;
}

.successActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:2px;
}

.successNote{
  font-size:12px;
  color:rgba(7,16,16,.60);
  text-align:center;
  padding-top:4px;
}


    /* Modo sucesso: centraliza tudo e remove a coluna lateral */
    body.successMode .grid{ grid-template-columns:1fr; }
    body.successMode aside{ display:none; }
    body.successMode .card{ max-width:760px; margin:0 auto; }

  input[name="email"]{
  text-transform: lowercase;
}


  
