/* ==========================================================
   RETACH CALLBACK V3
   Canonical modal component
   ========================================================== */


/* ROOT */

#retach-cb-modal.cb-modal{
  position:fixed !important;

  inset:0 !important;

  z-index:2147483600 !important;

  display:grid !important;
  place-items:center !important;

  width:100vw !important;
  height:100vh !important;

  overflow:hidden !important;

  padding:24px !important;

  box-sizing:border-box !important;

  margin:0 !important;
}


#retach-cb-modal.cb-modal[hidden]{
  display:none !important;
}


/* BACKDROP */

#retach-cb-modal .cb-backdrop{
  position:absolute !important;

  inset:0 !important;

  width:100% !important;
  height:100% !important;

  background:
    rgba(216,221,237,.42) !important;

  -webkit-backdrop-filter:
    blur(6px)
    saturate(104%) !important;

  backdrop-filter:
    blur(6px)
    saturate(104%) !important;
}


/* DIALOG */

#retach-cb-modal .cb-dialog{
  position:relative !important;

  z-index:2 !important;

  display:block !important;

  width:min(720px, calc(100vw - 40px)) !important;

  max-width:720px !important;

  max-height:calc(100vh - 48px) !important;

  margin:0 !important;

  padding:
    34px
    38px
    30px !important;

  box-sizing:border-box !important;

  overflow-x:hidden !important;
  overflow-y:auto !important;

  border:
    1px solid rgba(104,89,185,.11) !important;

  border-radius:28px !important;

  background:
    linear-gradient(
      155deg,
      #ffffff 0%,
      #fdfcff 72%,
      #faf9ff 100%
    ) !important;

  box-shadow:
    0 30px 90px rgba(51,46,93,.22),
    0 8px 25px rgba(72,56,145,.07) !important;

  color:#15182b !important;

  scrollbar-width:none !important;

  font-family:
    inherit !important;
}


/* ambient light */

#retach-cb-modal .cb-dialog::before{
  content:"";

  position:absolute;

  z-index:0;

  top:-130px;
  right:-100px;

  width:390px;
  height:390px;

  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(176,164,255,.23) 0%,
      rgba(221,214,255,.09) 47%,
      transparent 72%
    );

  pointer-events:none;
}


/* CLOSE */

#retach-cb-modal .cb-x{
  position:absolute !important;

  z-index:10 !important;

  top:18px !important;
  right:20px !important;

  display:grid !important;
  place-items:center !important;

  width:38px !important;
  height:38px !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;

  border-radius:11px !important;

  background:transparent !important;

  color:#3e455f !important;

  font-family:Arial,sans-serif !important;
  font-size:29px !important;
  line-height:1 !important;

  font-weight:300 !important;

  cursor:pointer !important;
}


/* CONTENT */

#retach-cb-modal .rtx3-cb__content{
  position:relative;

  z-index:2;
}


/* CHIP */

#retach-cb-modal .rtx3-cb__chip{
  display:inline-flex !important;

  align-items:center !important;

  gap:8px !important;

  min-height:34px !important;

  margin:
    0
    0
    18px !important;

  padding:
    0
    14px !important;

  border:
    1px solid rgba(105,82,216,.15) !important;

  border-radius:999px !important;

  background:
    rgba(255,255,255,.90) !important;

  color:#555b72 !important;

  font-size:14px !important;
  line-height:1 !important;

  font-weight:550 !important;
}


#retach-cb-modal .rtx3-cb__chip-dot{
  display:block !important;

  width:9px !important;
  height:9px !important;

  border-radius:50% !important;

  background:
    linear-gradient(
      135deg,
      #6656ff,
      #d954cc
    ) !important;
}


/* HEAD */

#retach-cb-modal .rtx3-cb__head{
  display:grid !important;

  grid-template-columns:
    minmax(0,1fr)
    150px !important;

  gap:24px !important;

  align-items:start !important;

  margin:
    0
    0
    24px !important;
}


#retach-cb-modal .rtx3-cb__title{
  display:block !important;

  margin:
    0
    0
    12px !important;

  padding:0 !important;

  color:#101427 !important;

  font-size:52px !important;
  line-height:1 !important;

  font-weight:780 !important;

  letter-spacing:-.04em !important;
}


#retach-cb-modal .rtx3-cb__lead{
  max-width:470px !important;

  margin:0 !important;
  padding:0 !important;

  color:#6c738c !important;

  font-size:15px !important;
  line-height:1.52 !important;

  font-weight:400 !important;
}


/* VISUAL */

#retach-cb-modal .rtx3-cb__visual{
  position:relative !important;

  display:block !important;

  width:150px !important;
  height:145px !important;

  min-height:145px !important;

  margin:0 !important;
  padding:0 !important;

  overflow:visible !important;

  pointer-events:none !important;
}


#retach-cb-modal .rtx3-cb__crystal{
  position:absolute !important;

  top:-6px !important;
  right:7px !important;

  display:block !important;

  width:105px !important;
  height:132px !important;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,.98),
      rgba(213,205,255,.93) 34%,
      rgba(244,222,255,.67) 59%,
      rgba(179,194,255,.50)
    ) !important;

  clip-path:
    polygon(
      46% 0,
      83% 19%,
      100% 54%,
      69% 100%,
      22% 80%,
      0 38%
    ) !important;

  transform:
    rotate(8deg) !important;

  filter:
    drop-shadow(
      0 14px 23px rgba(117,88,233,.18)
    ) !important;
}


#retach-cb-modal .rtx3-cb__crystal::before{
  content:"";

  position:absolute;

  inset:
    9%
    12%
    12%
    14%;

  background:
    linear-gradient(
      150deg,
      rgba(255,255,255,.98),
      rgba(159,175,255,.17) 37%,
      rgba(210,167,255,.35) 70%
    );

  clip-path:
    polygon(
      42% 0,
      100% 31%,
      66% 100%,
      17% 73%,
      0 31%
    );
}


#retach-cb-modal .rtx3-cb__crystal span{
  position:absolute !important;

  top:22px !important;
  right:22px !important;

  display:block !important;

  width:19px !important;
  height:19px !important;

  border-radius:50% !important;

  background:
    radial-gradient(
      circle,
      #fff,
      rgba(255,255,255,0) 72%
    ) !important;
}


#retach-cb-modal .rtx3-cb__note{
  position:absolute !important;

  right:3px !important;
  bottom:-2px !important;

  display:block !important;

  color:#8e89aa !important;

  font-size:12px !important;
  line-height:1.25 !important;

  font-weight:500 !important;

  transform:
    rotate(-8deg) !important;
}


/* FORM */

#retach-cb-modal #callback-form{
  position:relative !important;

  z-index:2 !important;

  display:block !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;
}


/* PHONE ROW */

#retach-cb-modal .rtx3-cb__phone-row{
  display:block !important;

  width:100% !important;

  margin:
    0
    0
    15px !important;

  padding:0 !important;
}


#retach-cb-modal .rtx3-cb__phone-label{
  display:block !important;

  margin:
    0
    0
    8px !important;

  padding:0 !important;

  color:#555c74 !important;

  font-size:13px !important;
  line-height:1 !important;

  font-weight:600 !important;
}


#retach-cb-modal .rtx3-cb__phone-control{
  position:relative !important;

  display:block !important;

  width:100% !important;

  height:60px !important;

  margin:0 !important;
  padding:0 !important;
}


/* PHONE ICON — hard dimensions to kill global SVG styles */

#retach-cb-modal .rtx3-cb__phone-icon{
  position:absolute !important;

  z-index:3 !important;

  left:18px !important;
  top:50% !important;

  display:block !important;

  width:20px !important;
  height:20px !important;

  min-width:20px !important;
  min-height:20px !important;

  max-width:20px !important;
  max-height:20px !important;

  margin:0 !important;
  padding:0 !important;

  transform:
    translateY(-50%) !important;

  color:#73788f !important;

  overflow:hidden !important;

  pointer-events:none !important;
}


#retach-cb-modal .rtx3-cb__phone-icon svg{
  position:static !important;

  display:block !important;

  width:20px !important;
  height:20px !important;

  min-width:20px !important;
  min-height:20px !important;

  max-width:20px !important;
  max-height:20px !important;

  margin:0 !important;
  padding:0 !important;

  overflow:visible !important;

  fill:none !important;

  stroke:currentColor !important;
  stroke-width:1.7 !important;

  stroke-linecap:round !important;
  stroke-linejoin:round !important;

  transform:none !important;
}


/* PHONE INPUT */

#retach-cb-modal #cb-phone{
  position:relative !important;

  display:block !important;

  width:100% !important;
  height:60px !important;

  min-height:60px !important;
  max-height:60px !important;

  box-sizing:border-box !important;

  margin:0 !important;

  padding:
    0
    20px
    0
    52px !important;

  border:
    1px solid rgba(109,100,169,.18) !important;

  border-radius:16px !important;

  outline:none !important;

  background:#fff !important;

  color:#202538 !important;

  font-family:inherit !important;

  font-size:17px !important;
  line-height:60px !important;

  font-weight:500 !important;

  box-shadow:none !important;

  appearance:none !important;
  -webkit-appearance:none !important;
}


#retach-cb-modal #cb-phone::placeholder{
  color:#a0a5b7 !important;

  opacity:1 !important;
}


#retach-cb-modal #cb-phone:focus{
  border-color:
    rgba(100,75,255,.40) !important;

  box-shadow:
    0 0 0 4px
    rgba(105,80,255,.07) !important;
}


/* Honeypot */

#retach-cb-modal .cb-hp{
  position:absolute !important;

  left:-10000px !important;

  display:block !important;

  width:1px !important;
  height:1px !important;

  min-width:1px !important;
  min-height:1px !important;

  opacity:0 !important;

  pointer-events:none !important;
}


/* CONSENT */

#retach-cb-modal .rtx3-cb__consent{
  display:flex !important;

  align-items:flex-start !important;

  gap:9px !important;

  width:100% !important;

  margin:
    0
    0
    18px !important;

  padding:0 !important;

  color:#8a90a5 !important;

  font-size:11px !important;
  line-height:1.45 !important;

  font-weight:400 !important;
}


#retach-cb-modal .rtx3-cb__consent input{
  flex:
    0
    0
    auto !important;

  width:15px !important;
  height:15px !important;

  margin:
    1px
    0
    0 !important;

  accent-color:#6a53ff !important;
}


#retach-cb-modal .rtx3-cb__consent a{
  color:#684fff !important;

  text-decoration:none !important;
}


/* ACTIONS */

#retach-cb-modal .rtx3-cb__actions{
  display:grid !important;

  grid-template-columns:
    minmax(0,1fr)
    170px !important;

  gap:12px !important;

  width:100% !important;

  margin:0 !important;
  padding:0 !important;
}


#retach-cb-modal .rtx3-cb__submit,
#retach-cb-modal .rtx3-cb__cancel{
  display:flex !important;

  align-items:center !important;
  justify-content:center !important;

  width:100% !important;
  height:56px !important;

  min-height:56px !important;
  max-height:56px !important;

  box-sizing:border-box !important;

  margin:0 !important;

  border-radius:16px !important;

  font-family:inherit !important;

  cursor:pointer !important;
}


#retach-cb-modal .rtx3-cb__submit{
  gap:14px !important;

  padding:
    0
    24px !important;

  border:0 !important;

  background:
    linear-gradient(
      90deg,
      #6658ff,
      #8b50ff 51%,
      #dd55c8
    ) !important;

  color:#fff !important;

  font-size:16px !important;
  line-height:1 !important;

  font-weight:650 !important;

  box-shadow:
    0 13px 27px
    rgba(123,77,235,.20) !important;
}


#retach-cb-modal .rtx3-cb__submit span:last-child{
  font-size:22px !important;
  line-height:1 !important;
}


#retach-cb-modal .rtx3-cb__cancel{
  padding:
    0
    18px !important;

  border:
    1px solid rgba(109,100,169,.16) !important;

  background:
    rgba(255,255,255,.80) !important;

  color:#80869b !important;

  font-size:14px !important;
  line-height:1 !important;

  font-weight:550 
}


/* MESSAGE */

#retach-cb-modal .rtx3-cb__msg{
  display:block !important;

  min-height:16px !important;

  margin:
    10px
    0
    0 !important;

  padding:0 !important;

  color:#646b84 !important;

  font-size:12px !important;
  line-height:1.4 !important;
}


/* MOBILE */

@media (max-width:700px){

  #retach-cb-modal.cb-modal{
    padding:10px !important;
  }


  #retach-cb-modal .cb-dialog{
    width:100% !important;

    max-width:none !important;

    max-height:
      calc(100vh - 20px) !important;

    padding:
      24px
      20px
      20px !important;

    border-radius:22px !important;
  }


  #retach-cb-modal .rtx3-cb__head{
    grid-template-columns:
      minmax(0,1fr)
      90px !important;

    gap:8px !important;
  }


  #retach-cb-modal .rtx3-cb__title{
    font-size:
      clamp(
        34px,
        10vw,
        43px
      ) !important;
  }


  #retach-cb-modal .rtx3-cb__visual{
    width:90px !important;
    height:106px !important;

    min-height:106px !important;
  }


  #retach-cb-modal .rtx3-cb__crystal{
    width:78px !important;
    height:100px !important;
  }


  #retach-cb-modal .rtx3-cb__note{
    display:none !important;
  }


  #retach-cb-modal .rtx3-cb__actions{
    grid-template-columns:1fr !important;
  }

}


#retach-cb-modal .cb-dialog::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
}

#retach-cb-modal .cb-dialog::before{
  pointer-events:none;
}



/* CALLBACK REAL IMAGE START */


/*
  Real supplied visual replaces generated CSS crystal.
*/

#retach-cb-modal
.rtx3-cb__visual{
  position:relative !important;

  display:block !important;

  width:150px !important;
  height:150px !important;

  min-width:150px !important;
  min-height:150px !important;

  margin:0 !important;
  padding:0 !important;

  overflow:visible !important;

  pointer-events:none !important;
}


#retach-cb-modal
.rtx3-cb__visual-img{
  position:absolute !important;

  top:-10px !important;
  right:-4px !important;

  display:block !important;

  width:155px !important;
  height:155px !important;

  max-width:none !important;
  max-height:none !important;

  object-fit:contain !important;
  object-position:center !important;

  margin:0 !important;
  padding:0 !important;

  border:0 !important;

  filter:
    drop-shadow(
      0 14px 24px
      rgba(111,88,220,.12)
    ) !important;
}


@media (max-width:700px){

  #retach-cb-modal
  .rtx3-cb__visual{
    width:92px !important;
    height:105px !important;

    min-width:92px !important;
    min-height:105px !important;
  }


  #retach-cb-modal
  .rtx3-cb__visual-img{
    top:-4px !important;
    right:-4px !important;

    width:100px !important;
    height:100px !important;
  }

}


/* CALLBACK REAL IMAGE END */

/* CALLBACK CONSENT ERROR START */


/*
  Validation error for required consent.
*/

#retach-cb-modal
.rtx3-consent-error{
  margin:
    -7px
    -9px
    11px !important;

  padding:
    7px
    9px !important;

  border-radius:10px !important;

  background:
    rgba(224,76,105,.07) !important;

  box-shadow:
    0 0 0 1px
    rgba(213,66,96,.24) !important;

  color:
    #a84259 !important;

  transition:
    background .16s ease,
    box-shadow .16s ease,
    color .16s ease;
}


#retach-cb-modal
.rtx3-consent-error
input[type="checkbox"]{
  outline:
    2px solid
    rgba(213,66,96,.42) !important;

  outline-offset:
    2px !important;

  accent-color:
    #d94e6a !important;
}


#retach-cb-modal
.rtx3-consent-error a{
  color:
    #8d3c52 !important;
}


#retach-cb-modal
.rtx3-consent-error-msg{
  min-height:auto !important;

  margin:
    9px
    0
    0 !important;

  color:
    #bd425c !important;

  font-size:
    12px !important;

  line-height:
    1.4 !important;

  font-weight:
    550 !important;
}


/* CALLBACK CONSENT ERROR END */

/* CALLBACK SUCCESS SCREEN START */


/* ----------------------------------------------------------
   MODE SWITCH
   ---------------------------------------------------------- */

#retach-cb-modal
.rtx3-cb__success[hidden]{
  display:none !important;
}


#retach-cb-modal.rtx3-cb--success
.rtx3-cb__head,

#retach-cb-modal.rtx3-cb--success
#callback-form{
  display:none !important;
}


#retach-cb-modal.rtx3-cb--success
.rtx3-cb__success{
  display:block !important;
}


/* Slightly more generous success composition */

#retach-cb-modal.rtx3-cb--success
.cb-dialog{
  width:
    min(
      760px,
      calc(100vw - 40px)
    ) !important;

  max-width:760px !important;
}


/* ----------------------------------------------------------
   SUCCESS HEAD
   ---------------------------------------------------------- */

#retach-cb-modal
.rtx3-cb__success-head{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    170px;

  gap:24px;

  align-items:center;

  margin:4px 0 24px;
}


#retach-cb-modal
.rtx3-cb__success-title{
  margin:
    0
    0
    14px;

  color:#111528;

  font-size:
    clamp(
      38px,
      4.5vw,
      52px
    );

  line-height:1.05;

  font-weight:780;

  letter-spacing:-.04em;
}


#retach-cb-modal
.rtx3-cb__success-text{
  max-width:500px;

  margin:0;

  color:#737991;

  font-size:16px;
  line-height:1.5;

  font-weight:400;
}


/* ----------------------------------------------------------
   REAL VISUAL
   ---------------------------------------------------------- */

#retach-cb-modal
.rtx3-cb__success-visual{
  position:relative;

  width:170px;
  height:170px;

  justify-self:end;

  pointer-events:none;
}


#retach-cb-modal
.rtx3-cb__success-visual img{
  position:absolute;

  top:3px;
  left:50%;

  display:block;

  width:150px;
  height:150px;

  max-width:none;
  max-height:none;

  object-fit:contain;

  transform:
    translateX(-50%);

  filter:
    drop-shadow(
      0 14px 28px
      rgba(111,74,232,.18)
    );
}


#retach-cb-modal
.rtx3-cb__success-spark{
  position:absolute;

  color:#fff;

  text-shadow:
    0 0 12px
    rgba(119,83,255,.70);

  font-size:22px;
  line-height:1;
}


#retach-cb-modal
.rtx3-cb__success-spark.s1{
  top:12px;
  left:3px;
}


#retach-cb-modal
.rtx3-cb__success-spark.s2{
  right:1px;
  bottom:14px;

  font-size:18px;
}


/* ----------------------------------------------------------
   SUCCESS CARD
   ---------------------------------------------------------- */

#retach-cb-modal
.rtx3-cb__success-card{
  display:flex;

  align-items:center;

  gap:20px;

  width:100%;

  min-height:92px;

  box-sizing:border-box;

  margin:
    0
    0
    24px;

  padding:
    18px
    24px;

  border:
    1px solid
    rgba(72,188,126,.19);

  border-radius:18px;

  background:
    linear-gradient(
      90deg,
      rgba(232,251,242,.82),
      rgba(248,253,251,.72)
    );

  color:#172039;
}


#retach-cb-modal
.rtx3-cb__success-card strong{
  font-size:18px;
  line-height:1.25;

  font-weight:700;
}


#retach-cb-modal
.rtx3-cb__success-check{
  display:grid;

  place-items:center;

  flex:
    0
    0
    58px;

  width:58px;
  height:58px;

  border-radius:50%;

  background:
    rgba(196,246,220,.78);

  color:#19a85f;
}


#retach-cb-modal
.rtx3-cb__success-check svg{
  display:block;

  width:29px;
  height:29px;

  fill:none;

  stroke:currentColor;
  stroke-width:2.5;

  stroke-linecap:round;
  stroke-linejoin:round;
}


/* ----------------------------------------------------------
   SUCCESS ACTIONS
   ---------------------------------------------------------- */

#retach-cb-modal
.rtx3-cb__success-actions{
  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    205px;

  gap:14px;
}


#retach-cb-modal
.rtx3-cb__success-primary,

#retach-cb-modal
.rtx3-cb__success-secondary{
  height:58px;

  box-sizing:border-box;

  border-radius:16px;

  font-family:inherit;

  font-size:16px;
  line-height:1;

  font-weight:650;

  cursor:pointer;
}


#retach-cb-modal
.rtx3-cb__success-primary{
  border:0;

  background:
    linear-gradient(
      90deg,
      #6658ff 0%,
      #8d50ff 51%,
      #dd55c8 100%
    );

  color:#fff;

  box-shadow:
    0 13px 28px
    rgba(123,77,235,.21);
}


#retach-cb-modal
.rtx3-cb__success-secondary{
  border:
    1px solid
    rgba(109,100,169,.16);

  background:
    rgba(255,255,255,.78);

  color:#858ba0;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width:700px){

  #retach-cb-modal
  .rtx3-cb__success-head{
    grid-template-columns:
      minmax(0,1fr)
      95px;

    gap:8px;

    margin-top:18px;
  }


  #retach-cb-modal
  .rtx3-cb__success-title{
    font-size:
      clamp(
        32px,
        9vw,
        42px
      );
  }


  #retach-cb-modal
  .rtx3-cb__success-text{
    font-size:14px;
  }


  #retach-cb-modal
  .rtx3-cb__success-visual{
    width:95px;
    height:110px;
  }


  #retach-cb-modal
  .rtx3-cb__success-visual img{
    width:100px;
    height:100px;
  }


  #retach-cb-modal
  .rtx3-cb__success-card{
    min-height:78px;

    padding:
      14px
      16px;

    gap:13px;
  }


  #retach-cb-modal
  .rtx3-cb__success-check{
    flex-basis:48px;

    width:48px;
    height:48px;
  }


  #retach-cb-modal
  .rtx3-cb__success-card strong{
    font-size:15px;
  }


  #retac
  .rtx3-cb__success-actions{
    grid-template-columns:1fr;
  }

}


/* CALLBACK SUCCESS SCREEN END */
