*{box-sizing:border-box}body{margin:0;background:#f5f6fa;color:#24242a;font-family:Arial,sans-serif}
.wrap{max-width:850px;margin:40px auto;padding:20px}.card{background:#fff;border-radius:22px;padding:34px;box-shadow:0 15px 50px #00000012}
h1{margin:0 0 14px;font-size:38px}h2{margin-top:0}.intro{font-size:18px;line-height:1.6}
.progress{display:flex;gap:8px;margin:28px 0}.progress span{height:7px;flex:1;background:#e5e5eb;border-radius:8px}
.progress span.on{background:#563bd8}.step{display:none}.step.active{display:block}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}
label{display:block;font-weight:700;margin-bottom:7px}input,select,textarea{width:100%;padding:13px;border:1px solid #cfcfd6;border-radius:10px;font-size:16px}
textarea{min-height:110px;resize:vertical}.actions{display:flex;justify-content:space-between;gap:14px;margin-top:28px}
button{border:0;border-radius:11px;padding:14px 22px;font-size:16px;font-weight:700;cursor:pointer}
.next,.submit{background:#563bd8;color:white}.back{background:#ececf2}.notice{padding:15px;background:#f1efff;border-radius:11px;margin:18px 0}
.hidden{display:none}.check{display:flex;align-items:flex-start;gap:10px;margin:16px 0}.check input{width:auto;margin-top:4px}
.error{background:#fff0f0;color:#a00000;padding:13px;border-radius:10px;margin-bottom:20px}
@media(max-width:650px){.grid{grid-template-columns:1fr}.full{grid-column:auto}.card{padding:23px}h1{font-size:31px}}
#mapa{height:330px;border:1px solid #cfcfd6;border-radius:12px;overflow:hidden}
.ayuda{font-size:14px;color:#666;font-weight:400;margin:6px 0 10px}
input[type=file]{background:#fafafa}

.ubicacion-btn{
    margin:0 0 12px;
    background:#eeeafd;
    color:#4932c9;
    border:1px solid #d8d0fa;
}

.ubicacion-btn:hover{
    background:#e2dcfc;
}

.intro-fotos{
    margin:-4px 0 22px;
    color:#555;
    line-height:1.5;
}

#mapa{
    display:block;
    width:100%;
    height:340px;
    min-height:340px;
    margin-top:4px;
    background:#e9edf2;
    z-index:1;
}

#rechazo h2{
    margin-top:0;
}

@media(max-width:650px){
    #mapa{
        height:290px;
        min-height:290px;
    }
}

.mapa-error{
  height:100%;
  display:grid;
  place-items:center;
  padding:25px;
  text-align:center;
  color:#8b1d1d;
  background:#fff2f2;
}

@media(max-width:650px){
  body{
    background:#f5f6fa;
  }

  .wrap{
    width:100%;
    max-width:none;
    margin:0;
    padding:0;
  }

  .card{
    width:100%;
    min-height:100vh;
    padding:24px 18px 35px;
    border-radius:0;
    box-shadow:none;
  }

  h1{
    font-size:30px;
    line-height:1.15;
  }

  h2{
    font-size:25px;
  }

  .intro{
    font-size:17px;
    line-height:1.55;
  }

  .grid{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
  }

  .full{
    grid-column:auto;
  }

  input,
  select,
  textarea{
    min-height:52px;
    font-size:16px;
    border-radius:12px;
  }

  textarea{
    min-height:125px;
  }

  .notice{
    padding:16px;
  }

  .actions{
    position:sticky;
    bottom:0;
    margin:28px -18px -35px;
    padding:14px 18px 18px;
    background:#fff;
    border-top:1px solid #e8e8ee;
    z-index:20;
  }

  .actions button{
    min-height:50px;
    flex:1;
  }

  #mapa{
    display:block!important;
    width:100%!important;
    height:320px!important;
    min-height:320px!important;
    margin:10px 0;
  }

  .ubicacion-btn{
    width:100%;
    min-height:50px;
  }

  .progress{
    gap:7px;
  }

  input[type=file]{
    min-height:auto;
    padding:12px 8px;
  }
}

#mapa{position:relative}

.pin-fijo{
  position:absolute;
  left:50%;
  top:50%;
  width:34px;
  height:46px;
  transform:translate(-50%,-100%);
  z-index:1000;
  pointer-events:none;
}

.pin-fijo:before{
  content:"";
  position:absolute;
  width:30px;
  height:30px;
  left:2px;
  top:2px;
  background:#563bd8;
  border:4px solid #fff;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:0 3px 10px #0006;
}

.pin-fijo span{
  position:absolute;
  width:8px;
  height:8px;
  left:13px;
  top:13px;
  background:#fff;
  border-radius:50%;
  z-index:2;
}

.captcha-box{
 margin-top:24px;
 padding:16px;
 border:1px solid #dddde5;
 border-radius:13px;
 background:#fafafd;
}

.cf-turnstile{
 width:100%;
 min-height:65px;
}

.envio-estado{
 margin-top:18px;
 padding:14px;
 border-radius:11px;
 background:#fff8d9;
 color:#604c00;
 font-weight:700;
 text-align:center;
}

.submit:disabled{
 opacity:.65;
 cursor:wait;
}

.copiar-numero{
 border:0;
 border-radius:10px;
 padding:12px 17px;
 margin-top:12px;
 background:#563bd8;
 color:#fff;
 font-weight:700;
 cursor:pointer;
}

@media(max-width:650px){
 .captcha-box{
  margin-left:-2px;
  margin-right:-2px;
  overflow:hidden;
 }
 .cf-turnstile{
  transform-origin:left top;
 }
}

.captcha-inicial{
  margin-top:22px;
  padding:24px;
  background:#f4f1ff;
  border:1px solid #ded7ff;
  border-radius:16px;
}

.captcha-inicial h2{
  margin-top:0;
}

.captcha-inicial p{
  line-height:1.5;
}

@media(max-width:650px){
  .captcha-inicial{
    padding:18px 14px;
  }
}
