main {
  max-width: 700px;
  margin: 0 auto;
}

h3 {
  font-size: 2.2rem;
  margin-bottom: 0;
}

.gap {
  margin: 30px -14px !important;
  height: 1rem;
  max-width: 728px;
  background-color: var(--color-grey-20);
}

#set-purchase label[for="asset"] .dashed-tooltip {
  padding: initial;
  background: none;
  color: var(--color-grey-80) !important;
  font-size: 1.5rem !important;
}

div.error ~ .error-msg {
  margin-top: 4px;
  visibility: visible !important;
}

main .topMessageBar {
  margin-bottom: 2.2rem;
}

#select-summary {
  background: #F3F8FD;
  text-align: center;
  margin-top: 1.5rem;
  padding: 1.1rem 1.4rem;
  border-radius: 5px;
  word-break: keep-all;
}

/* Set-purchase */
#set-purchase > ul > li {
  margin-bottom: 1.8rem;
}

#set-purchase li p,
#set-purchase li label span {
  margin-top: -3px; 
  font-size: 1.2rem;
  color: var(--color-grey-60);
}

#set-purchase select[name="product_name"].form-select {
  background-size: 30px 14px; /* override bootstrap settings */
}

#set-purchase .product-img {
  width: 4.5rem;
  position: absolute;
  bottom: -5px;
  right: 7px;
}

#costGuidance strong {
  color: var(--color-grey-80);
}

#set-purchase li input:not([type="radio"]),
#set-purchase li button,
#set-purchase li select {
  padding: 1.1rem 1.4rem;
  font-size: 1.5rem !important;
  font-weight: 500;
}

#set-purchase input[type="range"] + div > .dot {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 1.45rem; 
  border-radius: 50%;
  background-color: #DEE2E6;
}

#set-purchase .error-msg {
  font-size: 1.35rem;
  color: #EE3239;
  white-space: nowrap;
}

#set-purchase input[name="name"] {
  margin-bottom: .3rem; 
}

#set-purchase input[name="name"] + span, 
.notice-fee {
  color: #9EA4AA;
  font-size: 1.15rem;
  text-align: start;
}

/* 저금 주기 */
#selectIntervalModal .modal-header {
  padding-bottom: 0;
}

#selectIntervalModal .tab img {
  width: 35px;
  margin-top: 1px;
  margin-left: 4px;
  vertical-align: text-top;
}

#selectIntervalModal .modal-content {
  display: block;
  height: 530px;
  width: 90%;
}
#selectIntervalModal .modal-body {
  padding: 0 1rem;
  color: var(--color-grey-40);
  font-size: 1.6rem;
}
#selectIntervalModal .modal-body .tab div {
  font-weight: 400;
  border-bottom: 2px solid var(--color-grey-40);
  padding: 8px;
}
#selectIntervalModal .modal-body .tab div.clicked {
  font-weight: 500; 
  color: var(--color-dark-green-80);
  border-bottom: 2px solid var(--color-dark-green-80);
}

#selectIntervalModal .modal-body ul {
  height: 350px;
  overflow-y: auto;
  overflow-x: hidden;
  text-align: start;
}
#selectIntervalModal .modal-body li {
  display: flex; 
  align-items: center;
  background-color: #fafbfc;
  border-radius: 5px;
  padding: 11px 16px;
  margin: 11px 0;
}

#selectIntervalModal .form-check-label {
  width: 100%;
  font-size: 1.5rem;
  cursor: pointer;
}
#selectIntervalModal .form-check-input {
  margin-top: 0;
  margin-right: 8px; 
}
#selectIntervalModal .modal-footer button {
  position: absolute;
  bottom: 20px;
  left: 5%;
  width: 88%;
}

#selectIntervalModal ul.tab-special input[type="radio"] {
  margin-top: 2.2rem;
}

#selectIntervalModal ul.tab-special {
  font-size: 1.6rem;
}
#selectIntervalModal ul.tab-special li p {
  font-size: 1.6rem;
}

#selectIntervalModal ul.tab-1d img,
#selectIntervalModal ul.tab-special .icon img {
  padding-right: 1rem;
  width: 50px;
}

#selectIntervalModal ul.tab-special .title {
  margin: 0 2px 6px 0;
  color: var(--color-grey-70); 
  font-weight: 700;
  font-size: 1.6rem !important;
  
}
#selectIntervalModal ul.tab-special .caption {
  margin-bottom: 8px;
  font-size: 1.3rem;
  color: var(--color-grey-70); 
}
#selectIntervalModal ul.tab-special .btn-benchmark {
  padding: 0; 
  padding-left: 7.5rem;
  height: inherit; 
  font-size: 1.1rem !important;
  font-weight: normal !important; 
  color: var(--color-grey-60);
  background: none;
  cursor: pointer;
}

#selectIntervalModal .frequency {
  color: #4070ff;
  background-color: rgba(64, 112, 255, 0.05);
  border-radius: 3px;
  padding: 4px 6px;
  font-weight: 400;
}

#selectIntervalModal .benchmark {
  display: none;
  width: 100%;
  padding: 9px 0;
  border-radius: 5px;
  border: solid 1px #e8ebed;
  background-color: #fff;
  text-align: center;
}
#selectIntervalModal .benchmark.open {
  display: block;
  margin-top: 6px;
}
#selectIntervalModal .benchmark .main {
  margin-bottom: 4px;
  font-size: 1.2rem;
  color: var(--color-grey-70);
}
#selectIntervalModal .benchmark .sub {
  margin-bottom: 0;
  font-size: 1.1rem;
  color: #9ea4aa;
}

@media screen and (max-width: 430px) {
  #selectIntervalModal .modal-body {
    padding: 0 4px;
  }
  #selectIntervalModal .modal-body li {
    padding: 1rem;
    font-size: 1.4rem;
  }
  #selectIntervalModal ul.tab-special li p {
    font-size: 1.4rem
  }
}
@media screen and (max-width: 375px) {
  #selectIntervalModal .benchmark .main {
    margin-bottom: 2px;
    font-size: 1.1rem;
  }
  #selectIntervalModal .benchmark .sub {
    margin-bottom: 0;
    font-size: 1rem;
  }
}
@media screen and (max-width: 345px) {
  #selectIntervalModal .modal-body .tab div {
    font-size: 1.5rem;
  }
  #selectIntervalModal .form-check-label {
    font-size: 1.4rem;
  }
}

/* 저금 금액 */
.input_amount {
  position: relative;
}

.input_amount .interval {
  z-index: 10;
  position: absolute;
  left: 1.4rem;
  top: 1rem; 
  font-weight: 500;
}

.input_amount span:last-child {
  z-index: 10;
  position: absolute;
  right: 1.4rem;
  top: 1.2rem; 
  font-weight: 500;
}

#cost_amount {
  padding-right: 3rem !important;
  text-align: end;
}

#cost_amount::placeholder {
  text-align: end;
}

.input_amount + div {
  margin-top: 3px; 
}

.input_amount + div {
  word-break: keep-all;
}

input::placeholder {
  color: var(--color-grey-40) !important;
}

@media screen and (max-width: 500px) {
  #form-purchase.method-exchange label[for="cost_amount"] + p,
  #form-purchase.method-exchange label[for="cost_amount"] + p > span {
    display: block !important;
  }
}

/* 금액추가버튼 */
#set-purchase .helper_amount button {
  width: 25%;
  min-width: 3rem;
  margin-top: 1px;
  font-size: 1.3rem;
  color: var(--color-grey-70);
  background-color: var(--color-grey-20);
  white-space: nowrap;
}

#set-purchase .helper_amount button:hover {
  background-image: linear-gradient(rgba(0, 0, 0, 0.05) 0 0);
}

#set-purchase .helper_amount button:not(:last-child) {
  margin-right: 1rem;
}

@media screen and (max-width: 320px) {
  #set-purchase ul li:first-child .grey-box {
    padding: 1.8rem 1.2rem !important;
  }

  #set-purchase .error-msg {
    text-align: left;
    font-size: 1.25rem;
  }

  #set-purchase .helper_amount button.btn {
    padding: 0.5rem 1rem;
  }
}

/* 저금통생성 전체공개 모달 */
#purchTrialModal .modal-footer button {
  padding: 0.7rem 2rem;
  opacity: 1 !important;
  transition: all 0.1s;
}

/* smart pygg */
ul.amountRange li .circle {
  display: inline-block;
  width: 1rem;
  height: 1rem; 
  margin-right: 8px; 
  border-radius: 50%;
}

.form-check-input {
  width: 1.3rem;
  height: 1.3rem;
  margin-top: 3px; 
}

.form-check-label {
  font-size: 1.4rem;
  color: var(--color-grey-70); 
}

ins {
  color: var(--color-grey-60);
  cursor: pointer;
}

#smartIndexModal ul {
  list-style: inside; 
  list-style-type: "•  ";
}

.smartRainbow label {
  font-size: 1.4rem;
  color: #EE3239;
}

li label + button {
  background: none;
  color: var(--color-grey-60);
}

/* 수확하기 인풋 */
.offcanvas-end {
  width: 100%;
}
.text-blue {
  color: #4070ff;
}

#sections-takeprofit div.dashed {
  border: dashed 1.2px var(--color-grey-40);
  border-radius: 5px;
  font-weight: bold;
}
#sections-takeprofit div.solid {
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.15);
  border-radius: 5px;
  color: var(--color-grey-80);
}

#sections-takeprofit section:has(input[value=""]) div.dashed,
#sections-takeprofit section:not(:has(input[value=""])) div.solid {
  display: block;
}
#sections-takeprofit section:not(:has(input[value=""])) div.dashed,
#sections-takeprofit section:has(input[value=""]) div.solid {
  display: none !important;
}

#sections-takeprofit div.dashed button {
  color: #9ea4aa;
}

#sections-takeprofit div.dashed.error {
  border: dashed 1.2px var(--color-red-50);
}

#section-target_roi:not(:has(input[value=""])) + #section-strategy {
  margin-top: -6px !important;
}

/* 꼭 알아두기 모달 */
#mustReadModal .modal-content {
  padding: 1.4rem 2.4rem;
}
#mustReadModal ul {
  list-style-type: disc;
  padding: 0 2rem;
  color: var(--color-grey-80);
}
#mustReadModal ul li {
  margin-bottom: 4px;
  line-height: 1.5;
  text-align: initial;
}

/* 플러스AI 선택 버튼 */
:root {
  --color-ai-smart: #8d7dce;
  --color-ai-smart-bg: #f8f5fa;
  --color-ai-smart-text: #5c46b9;
  --color-ai-strategy: #27ae60;
  --color-ai-strategy-bg: #eef6f6;
}

label[for="asset"] + div > label {
  padding: 1rem 1.5rem;
  border-radius: 5px;
  font-weight: normal;
}

label[for="asset"] + div > input + label span {
  display: block;
  color: var(--color-grey-60);
  line-height: 2.2;
}
label[for="asset"] + div > input:checked + label span {
  color: #e8ebed !important;
}

label[for="asset"] + div > input[id="selectSmart"]:checked + label {
  background-color: var(--color-ai-smart);
  color: #fff !important;
}
label[for="asset"] + div > input[id="selectTP"]:checked + label {
  background-color: var(--color-ai-strategy);
  color: #fff !important;
}
label[for="asset"] + div > input[id="selectSmart"] + label {
  background-color: var(--color-ai-smart-bg);
  color: var(--color-ai-smart-text);
}
label[for="asset"] + div > input[id="selectTP"] + label {
  background-color: var(--color-ai-strategy-bg);
  color: var(--color-ai-strategy);
}

label[for="asset"] + div > input:disabled + label,
label[for="asset"] + div > input:disabled + label span {
  background-color: var(--color-grey-20);
  color: var(--color-grey-40) !important;
  cursor: not-allowed;
}

/* 플러스AI +/x 아이콘 */
.select-toggle {
  width: 2.5rem; /* 아이콘 공간 */
}
.select-toggle__icon {
  display: none;
  position: relative;
  margin-top: 2.2rem !important;
}
.select-toggle__icon::before,
.select-toggle__icon::after {
  display: inline-block;
  width: 1.4rem;
  height: 1.5px;
  
  content: '';
  position: absolute;
  left: 0;
  transition: all .2s;
}

input[id="selectSmart"] + label .select-toggle__icon::before,
input[id="selectSmart"] + label .select-toggle__icon::after {
  background-color: var(--color-ai-smart);
}
input[id="selectTP"] + label .select-toggle__icon::before,
input[id="selectTP"] + label .select-toggle__icon::after {
  background-color: var(--color-ai-strategy);
}
label[for="asset"] + div > input:disabled + label .select-toggle__icon::before,
label[for="asset"] + div > input:disabled + label .select-toggle__icon::after {
  background-color: var(--color-grey-40) !important;
}

/* 플러스AI +/x 아이콘 애니메이션 */
.select-toggle__icon::before { 
  top: 0;
  transform: rotate(-90deg); 
}
.select-toggle__icon::after {
  top: 0;
}
input:checked + label .select-toggle__icon::before {
  top: 0;
  transform: rotate(135deg);
  background-color: #fff;
}

input:checked + label .select-toggle__icon::after {
  top: 0;
  transform: rotate(-135deg);
  background-color: #fff;
}

/* 수확하기 상품으로 스위치 툴팁 가이드 */
.position-absolute.asset-guide-wrapper  {
  top: -35px;
  left: 0;
  width: fit-content;
  white-space: nowrap;
  border-radius: 5px;
  padding: 5.5px 10px;
  padding-right: 5px;
  background-color: var(--color-grey-80);
  font-size: 1.2rem;
  font-weight: 300;
  color: #fff;
  z-index: 100;
}
.position-absolute.asset-guide-wrapper::before {
  position: absolute;
  bottom: -3px;
  left: 25px;
  content: ' ';
  border-radius: 2px;
  background-color: var(--color-grey-80);
  width: 8.5px;
  height: 8.5px;
  transform: rotate(135deg);
  z-index: -1; 
}