/* 기본 */
:root{
  --label_width:200px;
  --label_column_gap:18px;
  --div_column_gap:18px;
  --input_width:685px;
  --column_2_label_width:163px;
  --column_2_input_width:356px;
}

.custom_hsform_asside{
  background:#FAFAFA;
  /*   padding:60px; */
  padding:6.0rem;
}
/* 초기화 */
.custom_hsform_asside *{
  padding:0 !important;
  margin: 0 !important;
  font-family: inherit !important; /* 필요하면 폰트까지 강제 */
  border-radius:0 !important;
  max-width:none !important;
}
/* textarea 초기화 (기본 스타일로) */
.custom_hsform_asside textarea {
  font: inherit !important;      /* 폰트는 부모 것 계승 */
  /*   overflow: auto !important;   */
  /*   resize: vertical !important; */
  height:52px;
  resize: none !important;
  overflow: hidden !important;
  min-height: 0 !important;      /* 최소 높이 제거 */
}
.custom_hsform_asside textarea:focus {
  outline: none !important;       /* 기본 파란 테두리 제거 */
  box-shadow: none !important;    /* 일부 브라우저 그림자 제거 */
  border-color: inherit !important; /* border 강조색 되돌림 */
}
.custom_hsform_asside .hs-form-booleancheckbox .hs-input {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  background: transparent !important;
  position: relative !important;
  transform: translateY(-2px) !important;
}

.custom_hsform_asside .hs-form-booleancheckbox .hs-input:checked {
  background: #000 !important;
  border-color: #000 !important;
}

.custom_hsform_asside .hs-form-booleancheckbox .hs-input:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 13px !important;
  height: 14px !important;
  transform: translate(-50%, -50%) !important;
  background-image: url("data:image/svg+xml,%3Csvg width='13' height='14' viewBox='0 0 13 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.5498 1.25L5.64551 13.208L0 6.30762L1.93555 4.72461L5.29004 8.82422L10.3857 0L12.5498 1.25Z' fill='white'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
.custom_hsform_asside .hs-fieldtype-file label {
  pointer-events: none !important;
}

.custom_hsform_asside .custom_hsform_inner{
  /*   padding:140px 0 320px !important; */
}

.custom_hsform_asside fieldset{
  width:100%; !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:wrap !important;
  column-gap:var(--div_column_gap);
}
.hs-dependent-field{
  width:100%; !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex-wrap:wrap !important;
}
.custom_hsform_asside .hs-fieldtype-text,
.custom_hsform_asside .hs-fieldtype-select,
.custom_hsform_asside .hs-fieldtype-textarea,
.custom_hsform_asside .hs-fieldtype-file,
.custom_hsform_asside .hs-fieldtype-number,
.custom_hsform_asside .hs-fieldtype-phonenumber{
  float:none !important;
  width:100% !important;
  display:flex;
  align-items:flex-start !important;
  flex-wrap:wrap !important;
  column-gap:var(--label_column_gap) !important; 
  row-gap:4px !important;
  margin-bottom:9px !important;
}
.custom_hsform_asside .hs-fieldtype-text .input,
.custom_hsform_asside .hs-fieldtype-select .input,
.custom_hsform_asside .hs-fieldtype-textarea .input,
.custom_hsform_asside .hs-fieldtype-number .input,
.custom_hsform_asside .hs-fieldtype-phonenumber .input{
  width:calc(100% - var(--label_width) - var(--label_column_gap)) !important;
  /*   flex: 1 1 auto; */
  max-width:var(--input_width) !important;
  min-width: 0; /* ← 중요! 줄어들 수 있게 */
}
.custom_hsform_asside .hs-fieldtype-textarea .input{
/*   max-width:none !important; */
}
.custom_hsform_asside .hs-fieldtype-file .input{
  width:calc(100% - var(--label_width) - var(--label_column_gap)) !important;
  max-width:100% !important;
  padding-top:10px !important;
}

.custom_hsform_asside .hs-fieldtype-text input,
.custom_hsform_asside .hs-fieldtype-select select,
.custom_hsform_asside .hs-fieldtype-textarea textarea,
.custom_hsform_asside .hs-fieldtype-number input,
.custom_hsform_asside .hs-fieldtype-phonenumber input{
  box-shadow:none !important;
  background:none !important;
  border:none !important;
  border-radius:0 !important;
}

.custom_hsform_asside .form-columns-2 > div:first-of-type{
  width:calc(var(--label_width) + var(--label_column_gap) + var(--input_width)) !important;
  max-width:100% !important;
}
.custom_hsform_asside .form-columns-2 > div:nth-of-type(2){
  width:calc(var(--column_2_label_width) + var(--label_column_gap) + var(--column_2_input_width)) !important;
}
.custom_hsform_asside .form-columns-2 > div:nth-of-type(2) label{
  min-width:var(--column_2_label_width) !important;
}
.custom_hsform_asside .form-columns-2 > div:nth-of-type(2)  .input{
  max-width:var(--column_2_input_width) !important;
}



.custom_hsform_asside .hs-richtext h2,
.custom_hsform_asside .hs-richtext h3{
  /*   padding-top: 112px !important; */
  padding-top: 8.8rem !important;
  /*   padding-bottom:26px !important; */
  padding-bottom:2.6rem !important;
  /*   font-size:29px !important; */
  font-size:2.9rem !important;
  line-height:1 !important;
  font-weight:600 !important;
  color:#000 !important;
}
.custom_hsform_asside .hs-richtext h3{
  /*   padding-bottom:60px !important; */
  padding-bottom:6.0rem !important;
}
.custom_hsform_asside fieldset:first-of-type .hs-richtext h2,
.custom_hsform_asside form >div:first-of-type .hs-richtext h2{
  padding-top: 0 !important;
}
.custom_hsform_asside .hs-richtext p{
  /*   font-size:16px !important; */
  font-size:max(14px,1.6rem) !important;
  /*   line-height:22px !important; */
  line-height:max(14px,2.2rem) !important;
  color:#9E9E9E !important;
  margin-bottom:8px !important;
}
.custom_hsform_asside .hs-richtext h5{
  /*   font-size:24px !important; */
  font-size:max(14px,2.4rem) !important;
  /*   line-height:36px !important; */
  line-height:3.6rem !important;
  font-weight:400 !important;
  color:#616161 !important;
  margin-bottom:8px !important;
}
.custom_hsform_asside .hs-richtext h6{
  /*   font-size:20px !important; */
  font-size:max(14px,2.0rem) !important;
  line-height:1 !important;
  color:#9E9E9E !important;
  font-weight:400 !important;
}



.custom_hsform_asside .hs-fieldtype-text input,
.custom_hsform_asside .hs-fieldtype-select select,
.custom_hsform_asside .hs-fieldtype-textarea textarea,
.custom_hsform_asside .hs-fieldtype-number input,
.custom_hsform_asside .hs-fieldtype-phonenumber input{
  padding:12px 0 !important;
  color:#616161 !important;
  /*   font-size:23px !important; */
  font-size:max(14px,2.3rem) !important;
  line-height:1 !important;
  font-weight:400 !important;
  border-bottom:1px solid #E0E0E0 !important;
  width:100% !important;
}
.custom_hsform_asside .hs-fieldtype-textarea textarea{
  line-height:1.2 !important;
}
.custom_hsform_asside .hs-fieldtype-text input.error,
.custom_hsform_asside .hs-fieldtype-select select.error,
.custom_hsform_asside .hs-fieldtype-number input.error,
.custom_hsform_asside .hs-fieldtype-phonenumber input.error{
  border-bottom:1px solid #e51520 !important;
}


/* placeholder 스타일 */
.custom_hsform_asside .hs-fieldtype-text input::placeholder,
.custom_hsform_asside .hs-fieldtype-textarea textarea::placeholder,
.custom_hsform_asside .hs-fieldtype-number input::placeholder,
.custom_hsform_asside .hs-fieldtype-phonenumber input::placeholder{
  color: #EEEEEE !important;
  opacity: 1 !important;     /* ← 이게 핵심 */
}


.custom_hsform_asside label{
  flex: 0 0 auto !important; /* 자기 크기 유지, 줄어들지 않음 */
  min-width:var(--label_width) !important;
  /*   font-size:23px !important; */
  font-size:max(14px, 2.3rem) !important;
  font-weight:600 !important;
  color:#000 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  /*   height:52px !important; */
  height:5.2rem !important;
}
.custom_hsform_asside .hs-fieldtype-textarea label{
  /*   height:52px !important; */
  height:5.2rem !important;
}
.custom_hsform_asside .hs-form-booleancheckbox label{
  /*   font-size:22px !important; */
  font-size:2.2rem !important;
  font-weight:400 !important;
  line-height:36px !important;
}
.custom_hsform_asside .hs-form-booleancheckbox label > span{
  display:flex;
  align-items:center;
  gap:12px;
  position:relative;
  cursor:pointer;
}
.custom_hsform_asside .hs-form-booleancheckbox label a{
  position:absolute;
  top:50%;
  left:calc(100% + 60px);
  transform:translateY(-50%);
  white-space: nowrap;
  /*   font-size:20px !important; */
  font-size:max(14px, 2.0rem) !important;
  line-height:1 !important;
  font-weight:600 !important;
  border-bottom:1px solid #000;
}
.custom_hsform_asside .hs-error-msgs{
  width:100%;
}
.custom_hsform_asside .hs-error-msgs .hs-error-msg{
  font-size:16px !important;
  font-weight:400 !important;
  color:#e51520 !important;
  height:auto !important;
}
.custom_hsform_asside .hs_error_rollup li label{
  color:#e51520 !important;
  font-size:16px !important;
  font-weight:400 !important;
}

.custom_hsform_asside .hs-fieldtype-select select{
  cursor:pointer !important;
  appearance: none !important;      
  -webkit-appearance: none !important;
  -moz-appearance: none !important; 
  padding-right: 30px !important; /* 아이콘 공간 확보 */
}
.custom_hsform_asside .hs-fieldtype-select select:invalid,
.custom_hsform_asside .hs-fieldtype-select select option[disabled][selected] {
  color: #EEEEEE !important;
  opacity: 1 !important;     /* ← 이게 핵심 */
}


.custom_hsform_asside .actions{
  padding-top:58px !important;
  display:flex !important;
  justify-content:center !important;
}






.custom_hsform_asside .actions input{
  font-size:24px !important;
  font-weight:600 !important;
  color:#000 !important;
  line-height:1 !important;
  padding:11px 40px !important;
  background:#eee !important;
  cursor:pointer !important;
  transition:all 0.3s ease;
}

/* 1) 파일 인풋 자체를 한 줄 꽉 채우게 */
.custom_hsform_asside .hs-input[type="file"]{
  display:block !important;
  width:100% !important;          /* 또는 inline-size:100% */
  box-sizing:border-box !important;
  min-width:0 !important;         /* flex 컨텍스트에서 수축 허용 */
  font: inherit !important;
}

/* 2) 버튼 스타일 – 가상요소에는 width:100% 주지 않기 */
.custom_hsform_asside .hs-input[type="file"]::-webkit-file-upload-button,
.custom_hsform_asside .hs-input[type="file"]::file-selector-button{
  font-size:24px !important;
  font-weight:600 !important;
  color:#000 !important;
  line-height:1 !important;
  border:none !important;
  padding:11px 40px !important;
  background:#eee !important;
  cursor:pointer !important;
  display:block !important;  /* flex 금지 */
  margin: 0 !important;
  margin-bottom: 12px !important;
  /*   white-space:nowrap !important;      */
}


.hs-input[type="file"]::-webkit-file-upload-button:hover ,
.custom_hsform_asside .hs-input[type="file"]::file-selector-button:hover ,
.custom_hsform_asside .actions input:hover{
  background:#000 !important;
  color:#fff !important;
}

/* 땡큐 메시지 */
.custom_hsform_asside .submitted-message p{
  font-size:36px !important;
  line-height:1 !important;
  color:#00DC84 !important;
  font-weight:600 !important;
  text-align:center !important;
  padding:97px 0 !important;
}
.custom_hsform_asside .submitted-message ul{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  padding-top:50px !important;
}
.custom_hsform_asside .submitted-message ul li{
  color:#CCCCCC !important;
  font-size:22px !important;
  font-weight:500 !important;
  line-height:31px !important;
  display:flex !important;
  align-items:flex-start !important;
  gap:12px !important;
}
.custom_hsform_asside .submitted-message ul li::before{
  content:'' !important;
  min-width:6px !important;
  width:6px !important;
  height:6px !important;
  background:#D8D8D8 !important;
  transform:translateY(11px) !important;
}


@media (max-width: 1520px){
  .custom_hsform_asside .form-columns-2 > div:nth-of-type(2) label{
    min-width:var(--label_width) !important;
  }
  .custom_hsform_asside .form-columns-2 > div:first-of-type,
  .custom_hsform_asside .form-columns-2 > div:nth-of-type(2){
    width:100% !important;
  }
  .custom_hsform_asside .form-columns-2 > div:nth-of-type(2) .input{
    width: calc(100% - var(--label_width) - var(--label_column_gap)) !important;
    max-width: var(--input_width) !important;
  }
}



@media (max-width: 1200px) {
  .custom_hsform_asside{
    padding:6.0rem 1.0rem;
  }
}
@media (max-width: 768px) {

  .custom_hsform_asside label{
    min-width:0;
    width:100%;
  }
  .custom_hsform_asside .hs-fieldtype-text .input, .custom_hsform_asside .hs-fieldtype-select .input, .custom_hsform_asside .hs-fieldtype-textarea .input, .custom_hsform_asside .hs-fieldtype-number .input, .custom_hsform_asside .hs-fieldtype-phonenumber .input {
    width: 100% !important;
    max-width: none !important;
  }
  .legal-consent-container .hs-form-booleancheckbox-display p{
    display:flex !important;
    align-items:center !important;
    gap:8px; !important;
  }
  .custom_hsform_asside .hs-form-booleancheckbox label a{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
  }

}









