
/* ==========================================================
   Weboo V4.17.2 — Cierre de Solicitud & Confirmación Visual
   ========================================================== */

.quote-form__final-step{
  margin:0 0 15px;
  padding:0 0 13px;
  border-bottom:1px solid #d8e8ef;
}
.quote-form__final-step > span{
  display:block;
  margin-bottom:5px;
  color:#169fd9;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
}
.quote-form__final-step > strong{
  display:block;
  color:#143c51;
  font-size:14px;
  line-height:1.35;
}
.quote-form__final-step > small{
  display:block;
  margin-top:4px;
  color:#819daa;
  font-size:9px;
  line-height:1.45;
}

/* Modal */
body.is-request-success-open{
  overflow:hidden;
}

.request-success[hidden]{
  display:none !important;
}
.request-success{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:22px;
}
.request-success__backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,27,39,.72);
  backdrop-filter:blur(7px);
  animation:requestSuccessFade .22s ease both;
}
.request-success__dialog{
  position:relative;
  z-index:1;
  width:min(590px,100%);
  max-height:min(760px,calc(100vh - 32px));
  overflow:auto;
  padding:34px 34px 28px;
  border:1px solid rgba(207,232,242,.95);
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 0%,rgba(49,190,240,.09),transparent 29%),
    linear-gradient(180deg,#ffffff,#f4fbfe);
  color:#143b50;
  box-shadow:
    0 35px 90px rgba(0,20,31,.28),
    0 0 0 1px rgba(255,255,255,.75) inset;
  text-align:center;
  outline:none;
  animation:requestSuccessIn .34s cubic-bezier(.2,.9,.2,1) both;
}
.request-success__x{
  position:absolute;
  right:17px;
  top:16px;
  width:34px;height:34px;
  display:grid;
  place-items:center;
  border:1px solid #d4e7ef;
  border-radius:11px;
  background:#fff;
  color:#688895;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.request-success__x:hover{
  border-color:#61c4ea;
  color:#1d82aa;
}

.request-success__oo{
  position:relative;
  width:108px;
  height:70px;
  margin:0 auto 17px;
  animation:requestOoSuccess .58s cubic-bezier(.2,.9,.2,1) .08s both;
}
.request-success__oo-blue,
.request-success__oo-coral{
  position:absolute;
  top:8px;
  width:60px;
  height:54px;
  border:13px solid;
  border-radius:50%;
  background:transparent;
}
.request-success__oo-blue{
  left:7px;
  border-color:#3097f2;
  z-index:2;
}
.request-success__oo-coral{
  right:7px;
  border-color:#ff6959;
  z-index:1;
}
.request-success__check{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:-3px;
  width:28px;height:28px;
  display:grid;
  place-items:center;
  transform:translateX(-50%);
  border:3px solid #fff;
  border-radius:50%;
  background:#31c978;
  color:#fff;
  font-size:15px;
  font-weight:1000;
  box-shadow:0 6px 17px rgba(49,201,120,.26);
}

.request-success__eyebrow{
  display:block;
  margin-bottom:7px;
  color:#159dd6;
  font-size:9px;
  font-weight:950;
  letter-spacing:.12em;
}
.request-success__dialog h2{
  margin:0;
  color:#10374b;
  font-size:clamp(26px,4vw,34px);
  line-height:1.06;
  letter-spacing:-.035em;
}
.request-success__dialog > p{
  max-width:490px;
  margin:13px auto 0;
  color:#658594;
  font-size:12px;
  line-height:1.65;
}

.request-success__promise{
  margin:22px 0 16px;
  padding:17px 19px;
  border:1px solid #bae5f5;
  border-radius:17px;
  background:linear-gradient(135deg,#eefaff,#f7fdff);
  text-align:left;
}
.request-success__promise strong{
  display:block;
  margin-bottom:4px;
  color:#138cc0;
  font-size:14px;
}
.request-success__promise span{
  display:block;
  color:#507686;
  font-size:11px;
  line-height:1.52;
}
.request-success__decision{
  color:#587986 !important;
}
.request-success__decision strong{
  color:#1d5369;
}

.request-success__details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:20px;
  text-align:left;
}
.request-success__details > div{
  min-width:0;
  padding:11px 12px;
  border:1px solid #d6e9f1;
  border-radius:13px;
  background:#fff;
}
.request-success__details > div[hidden]{
  display:none;
}
.request-success__details span{
  display:block;
  margin-bottom:3px;
  color:#8aa3ad;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.request-success__details strong{
  display:block;
  color:#315c70;
  font-size:10px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
#request-success-files-row:not([hidden]){
  grid-column:1 / -1;
}

.request-success__file-warning{
  margin:10px 0 0 !important;
  padding:9px 11px;
  border:1px solid #f3d9a7;
  border-radius:11px;
  background:#fffbf3;
  color:#8a6b2d !important;
  font-size:9px !important;
  line-height:1.45 !important;
  text-align:left;
}

.request-success__oo-message{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:18px auto 0;
  padding:8px 12px;
  border-radius:999px;
  background:#eef8fc;
  color:#52798a;
  font-size:10px;
}
.request-success__oo-message strong{
  display:grid;
  place-items:center;
  width:25px;height:25px;
  margin:-3px 0;
  border-radius:50%;
  background:linear-gradient(145deg,#3097f2,#ff6959);
  color:white;
  font-size:8px;
}

.request-success__close{
  display:block;
  width:100%;
  margin-top:20px;
  min-height:48px;
  border:0;
  border-radius:14px;
  background:linear-gradient(90deg,#149bd5,#36c2ef);
  color:#fff;
  font-size:11px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(28,175,226,.16);
}
.request-success__close:hover{
  filter:brightness(1.03);
  transform:translateY(-1px);
}
.request-success__reset-note{
  display:block;
  margin:9px auto 0;
  color:#9aafb7;
  font-size:8px;
  line-height:1.45;
}

@keyframes requestSuccessFade{
  from{opacity:0}
  to{opacity:1}
}
@keyframes requestSuccessIn{
  from{opacity:0;transform:translateY(16px) scale(.975)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes requestOoSuccess{
  0%{opacity:0;transform:translateY(9px) scale(.88)}
  56%{opacity:1;transform:translateY(-3px) scale(1.06)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:640px){
  .request-success{
    padding:12px;
  }
  .request-success__dialog{
    padding:28px 18px 22px;
    border-radius:22px;
  }
  .request-success__details{
    grid-template-columns:1fr;
  }
  #request-success-files-row:not([hidden]){
    grid-column:auto;
  }
  .request-success__promise{
    padding:14px;
  }
  .quote-form__final-step > strong{
    font-size:13px;
  }
}

@media(prefers-reduced-motion:reduce){
  .request-success__backdrop,
  .request-success__dialog,
  .request-success__oo{
    animation:none !important;
  }
}
