.estimate .wpforms-field-container {
  display: flex;
  flex-direction: column;
  gap: 42px; 
}
.estimate .wpforms-field-layout-columns {
  gap: 24px;
}
.estimate .wpforms-container .wpforms-form .wpforms-field-label,
.estimate div.wpforms-container-full .wpforms-form .wpforms-field-label {
  margin: 0 !important;
}
.estimate .wpforms-container .wpforms-field, .wp-core-ui div.wpforms-container .wpforms-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
}
.estimate div.wpforms-container-full .wpforms-form label.wpforms-error, .estimate div.wpforms-container-full .wpforms-form em.wpforms-error {
  margin-top: 0;
}
.estimate div.wpforms-container-full:not(:empty) {
  margin: 0;
}
/* ._estimate  */
.bt-grp {
  display: flex;
  gap: 10px;
  width: 100%;
  margin-top: auto;
}
.bt-grp .bt-base {
  width: 50%;
  height: 52px;
  font-size: 18px;
  font-weight: 600;
  color: #777;
  background-color: #F1F4F8;
  border: none;
  border-radius: 8px;
}
.bt-grp .bt-base.nextBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  color: #fff;
  background-color: #222;
}
.inner_visual .bt-grp {
  margin-top: 40px;
}
.inner_visual .bt-grp .bt-base.nextBtn {
  max-width: 230px;
  width: 100%;
}
.inner_visual .bt-grp > button::after {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_46_1072' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_46_1072)'%3E%3Cmask id='mask1_46_1072' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='4' y='4' width='16' height='16'%3E%3Crect x='4' y='4' width='16' height='16' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask1_46_1072)'%3E%3Cpath d='M13.65 11.9993L8.74999 7.09935C8.58333 6.93268 8.50277 6.73546 8.50833 6.50768C8.51388 6.2799 8.59999 6.08268 8.76666 5.91602C8.93333 5.74935 9.13055 5.66602 9.35833 5.66602C9.5861 5.66602 9.78333 5.74935 9.94999 5.91602L15.0667 11.0493C15.2 11.1827 15.3 11.3327 15.3667 11.4993C15.4333 11.666 15.4667 11.8327 15.4667 11.9993C15.4667 12.166 15.4333 12.3327 15.3667 12.4993C15.3 12.666 15.2 12.816 15.0667 12.9493L9.93333 18.0827C9.76666 18.2494 9.57221 18.3299 9.34999 18.3244C9.12777 18.3188 8.93333 18.2327 8.76666 18.066C8.59999 17.8994 8.51666 17.7021 8.51666 17.4743C8.51666 17.2466 8.59999 17.0494 8.76666 16.8827L13.65 11.9993Z' fill='white'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
}
.estimate_copy {    
  position: relative;
  width: 100%;
  height: 53px;
}
.estimate .inner_box {
  max-width: 920px;
  min-height: 500px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  border-radius: 24px;
  box-shadow: 10px 20px 60px 0px rgba(147, 168, 197, 0.20);
}
.estimate_content {
  display: none;
}
.estimate_content.active {
  display: block;
  padding: 0 50px;
}
.estimate_content.step .inner_box {
  margin: 120px auto 300px; 
}
.step_start {
  background-color: #F1F4F8;
}
.step_start .inner_visual {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  max-width: 1380px;
  min-height: 800px;
  margin: 0 auto;
}
.step_start .conts_box {    
  display: flex;
  max-width: 678px;
  min-height: 593px;
  width: 100%;
  height: 100%;
  margin-top: 140px;
}
.step_start .conts_box > span {
  position: relative;
}
.coin_wrap {
  position: absolute;
  top: -109px;
  left: calc((50% - 35%) / 2);
  transform: perspective(400px);
  transform-style: preserve-3d;
  display: inline-block;
}

.step_start .conts_box > span:nth-child(3) .coin_wrap {     
  left: calc((50% - 25%) / 2);
}
.coin {    
  position: relative;
  transform-style: preserve-3d;
  max-width: 81px;
  max-height: 81px;
  width: 7.1vw;
  height: 7.1vw;
  animation: 2.5s coin ease-out infinite;
}
.coin:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 45%;
  top: 0;
  max-width: 8px;
  width: .6vw;
  transform: rotateY(-90deg);
  transform-origin: 100% 50%;
  background-color: #A88100;
}
.front-back, .back-back {
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background-color: #A88100;
}
.front-back  {
  transform: translateZ(-1px);
}
.back-back  {
  transform: translateZ(-7px);
}
.front, .back {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #DB9F14;
  background-color: #EAC624;
  width: 100%;
  height: 100%;
  font-size: 35px;
  font-weight: 900;
  border-radius: 50%;
}
.back {
  position: absolute;
  top: 0;
  transform: translateZ(-8px) rotateY(-180deg);
}
.front:before, .back:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
  transform: scale(0.8);
  box-shadow: -1px -2px #D18401, 1px 2px #F3D735;
}
.step_start .conts_box > span:first-child {
  margin-right: -47.5px;
}
.step_start .conts_box > span:nth-child(2) {
  margin: auto -101px 0 auto;
}
.step_start .conts_box > span:nth-child(3) {
  margin-top: 28px;
}
.estimate h2 {
  padding-bottom: 8px;
}
.estimate h3 {
  font-size: 24px;
  font-weight: 600;
}
.estimate h3 b {
  color: #0095F8;
  font-weight: 600;
}
.estimate_box h3 {
  padding: 12px 0 73px;
}
.estimate p {
  font-size: 18px;
  line-height: 1.7;
}
.estimate p strong {
  font-weight: 600;
}
.estimate p small {
  display: block;
  font-size: 14px;
  color: #777;
  padding-top: 20px;
}
.txt_box {
  max-width: 402px;
  width: 100%;
}
.txt_box span {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  color: #0095F8;
}
.estimate .header {    
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 50%;
  padding: 50px;
  border-radius: 24px 0 0 24px;
  overflow: hidden;
}
.step .header {
  position: relative;
}
.step .header > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.estimate_box {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 50%;
  padding: 50px 60px;
}
.estimate_progress {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.estimate_progress h6 {
  font-size: 24px;
  font-weight: 600;
  color: #0095F8;
  order: 2;
}
.progress-bar {
  width: 100px;
  height: 4px;
  background-color: #e4e4e4;
  border-radius: 24px;
  overflow: hidden;
}
.progress-fill {
  width: 100%;
  height: 100%;
  background-color: #0095F8 ;
  border-radius: 24px;
}
.wpforms-field {
  box-shadow: 0 0 2px rgba(34, 34, 34, .2);
  border-radius: 8px;
}
.wpforms-has-error {
  box-shadow: 0 0 0 1px #ff5b5b;
}
.estimate .wpforms-field input {
  width: 100%;
  height: 53px !important;
  padding: 13px 0;
  border: none;
  border-radius: 8px;
}
.your-headcount {
  display: flex;
  align-items: center;
  padding: 0 20px;
}
.your-headcount::after {
  content: '명';
  display: inline-block;
  font-size: 16px;
  color: #222;
}
.estimate .wpforms-submit {
  width: 100%;
  height: 56px;
  border-radius: 8px;
}
.estimate_content.step_final.active {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 100%;
  padding: 120px 50px;
  background: #f1f4f8;
}
.step_final .inner_box {
  display: flex;
  flex-direction: column;
  gap: 36px;
  max-width: 626px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 24px;
  box-shadow: 10px 20px 60px 0px rgba(147, 168, 197, 0.20);
  padding: 50px 80px;
}
.step_final .txt_box {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.step_final p small {
  padding-top: 0;
}
.step_final input.wpforms-field-required {
  border-radius: 0 !important;
}
.estimate .step_final .lead_agree_form {
  margin-top: 22px !important;
}

/*  복제된 필드들 스타일  */
.estimate .select-dropdown__button {
  height: 53px !important;
  padding: 13px 20px !important;
  background-color: #fff;
  border: none !important;
  border-radius: 8px;
}
.estimate_copy .wpforms-field-label {
  display: none;
}
.estimate_copy .select-dropdown__list-item {
  display: flex;
  align-items: center;
  width: 100%;
  height: 53px;
  font-size: 16px;
  color: #777;
  padding: 0 20px;
}
.estimate_copy .select-dropdown__list-item:hover {
  background-color: #f1f4f8;
}
.select-dropdown__arrow {
  right: 20px;
  top: 45%;
}
.rotate-up {
  transform: rotate(180deg); /* 위로 향한 화살표 */
  transition: transform 0.3s ease;
}
button.select-dropdown--0 {
  color: #444;
}
.select-dropdown__button span {
  color: #444;
}
.select-dropdown__list {
  transition: none;
}
.select-dropdown__list.active {
  top: calc(100% + 10px);
  max-height: none;
  height: 280px;
  background-color: #fff;
  box-shadow: 0 0 2px #777;
  border-radius: 8px;
  transform: none;
  overflow-y: scroll;
}

/* Chrome, Safari, Edge, Opera 숫자필드 화살표 지우기 */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0;
}

@keyframes coin {
  0% {
    transform: rotate3d(1, 50, 1, 0deg);
  }
  30% {
    transform: rotate3d(1, 50, 1, 0deg);
  }
  100% {
    transform: rotate3d(1, 50, 1, 360deg);
  }
}


@media all and (max-width: 960px) {
  .estimate {
    overflow: hidden;
  }
  .estimate_content.active {
    padding: 0;
  }
  .estimate_content.step_final {
    padding: 0 20px;
  }
  .inner_visual .bt-grp {
    margin-top: 28px;
  }
  .step_start .inner_visual {
    position: relative;    
    flex-direction: column;
    min-height: 795px;
    padding: 40px 20px 58px;
  }
  .step_start .conts_box {
    position: absolute;
    right: calc((100% - 450px) / 2);
    bottom: 58px;
    max-width: 329px;
    max-height: 458px;
    min-height: unset;
    width: 100%;
    height: 100%;
    margin-top: 0;
  }
  .step_start .conts_box > span:first-child {
    margin: 116px 0 0 0;
  }
  .step_start .conts_box > span:nth-child(2) {
    margin-right: -90px;
  }
  .step_start .conts_box > span:nth-child(3) {    
    margin-top: 0;
  }
  .step_start .conts_box > span::before {
    top: -70px;
    max-width: 44px;
    max-height: 44px;
    width: 11.6vw;
    height: 11.6vw;
  }
  .coin_wrap {
    top: -70px;
    left: calc((50% - 56px) / 2);
  }
  .step_start .conts_box > span:first-child .coin_wrap {        
    left: calc((50% - 46px) / 2);
  }
  .coin {
    width: 44px;
    height: 44px;
  }
  .coin:after {        
    width: .4vw;
  }
  .front, .back {
    font-size: 19px;
  }
  .back {
    transform: translateZ(-4px) rotateY(-180deg);
  }
  .back-back {
    transform: translateZ(-3px);
  }
  .estimate_content.step .inner_box {
    flex-direction: column;
    margin: 0;
  }
  .estimate_box {   
    text-align: center;
    align-items: center;     
    position: relative;
    min-height: 548px;
    width: 100%;
    padding: 34px 20px 140px;
  }
  .estimate_box > div {
    max-width: 335px;
    margin: 0 auto;
  }
  .estimate_box > div.bt-grp {
    margin-top: 60px;
  }
  .estimate .header {
    width: 100%;
    min-height: 320px;
    gap: 8px;
    padding: 24px 24px;
    border-radius: 0;
  }
  .step .header > img {
    object-fit: cover;
  }
  .progress-bar {
    position: absolute;
    top: 0;
    width: 100%;
    border-radius: 0;
  }
  .estimate h3 {
    font-weight: 700;    
  }
  .estimate h3 b {
    font-weight: 700;
  }
  .estimate p {
    font-size: 16px;
  }
  .estimate p small {
    padding-top: 12px;
  }
  .estimate_box h3 {
    padding: 4px 0 30px;
  }
  .txt_box {
    z-index: 1;
  }
  .txt_box span {
    font-size: 22px;
  }
  .estimate_progress h6 {
    font-size: 22px;
    font-weight: 700;
  }
  .progress-fill {
    border-radius: 0;
  }
  .select-dropdown__arrow {
    top: 50%;
  }
  .select-dropdown__button span {
    font-size: 14px;
  }
  .estimate_copy .select-dropdown__list-item {
    height: 48px;
    font-size: 14px;
  }
  .estimate_content.step_final.active {
    padding: 50px 20px 100px; 
  }
  .step_final .inner_box {
    max-width: 335px;
    padding: 30px;
    border-radius: 12px;
  }
  .step_final p small {
    padding-top: 0;
  }
  .estimate .wpforms-field-container {
    gap: 32px; 
  }
  .estimate .wpforms-field-layout-columns {
    gap: 32px;
  }
  .estimate .step_final .lead_agree_form {
    margin-top: 0 !important;
  }
  div.wpforms-container-full .wpforms-form .wpforms-field {
    padding: 0 !important;
  }
  .estimate .wpforms-container .wpforms-field, .wp-core-ui div.wpforms-container .wpforms-field {
    gap: 0;
  }
  div.wpforms-container-full .wpforms-form .wpforms-field-label {
    font-size: 16px !important;
  }
}