/* ============================================================
   #bookedmodal + #privacymodal (.nte-pop scope)
   圖片使用 CDN 絕對路徑
   ============================================================ */

/* --- .nte-pop 基礎 --- */
.nte-pop.modal *,
.nte-pop.modal *::before,
.nte-pop.modal *::after { margin: 0; padding: 0; box-sizing: border-box; }
.nte-pop.modal { font-size: 14px; line-height: 1.5; }
.nte-pop .rel { position: relative; }
.nte-pop .abs { position: absolute; }
.nte-pop .auto { left: 50%; transform: translateX(-50%); }
.nte-pop .pop { display: block; position: relative; }
.nte-pop .popCont { width: 96%; max-width: 570px; margin: 0 auto; position: relative; }
.nte-pop .popCont1 { width: 100%; height: 735px; background-size: 100% 100%; background-repeat: no-repeat; position: relative; }
.nte-pop .popClose { position: absolute; top: 11px; right: 11px; width: 25px; height: 25px; background: url(https://res1-nte.iwplay.com.tw/images/pop/popClose.png) no-repeat 0 0; background-size: 100% auto; z-index: 1; border: none; cursor: pointer; }
.nte-pop.modal .modal-dialog { width: 96%; max-width: 520px; margin-left: auto; margin-right: auto; }
/* 覆寫 main_ZR.css 全域 a:hover rotate 傾斜效果 */
.nte-pop.modal a:hover { transform: none; }
/* 覆寫 main_ZR.css 全域 .modal-content/.modal-body 殘留底板 */
.nte-pop.modal .modal-content { background: transparent; border: 0; border-radius: 0; height: auto; overflow: visible; box-shadow: none; }
.nte-pop.modal .modal-body { padding: 0; background: none; }
.nte-pop.modal .modal-body::before { display: none; }
.nte-pop.modal .modal-header { display: none; }
.nte-pop.bookedmodal.modal .modal-dialog { max-width: 500px; }
.nte-pop.modal .modal-body .popCont { position: relative !important; top: auto; left: auto; transform: none; }

/* --- #bookedmodal --- */
#bookedmodal .popCont1 {
  width: 100%;
  height: auto;
  aspect-ratio: 760 / 1000;
  background: url(https://res1-nte.iwplay.com.tw/images/sdk/popCont1_booked_sdk.webp) no-repeat 0 0;
  background-size: 100% 100%;
  position: relative;
}
.nte-pop.bookedmodal .popClose { top: 11px; right: 11px; width: 31px; height: 31px; }
#bookedmodal .demo-state-btns {
  position: absolute; top: 1.8%; left: 50%; transform: translateX(-50%);
  display: flex; gap: 7px; z-index: 99;
}
#bookedmodal .demo-state-btns .btn {
  padding: 3px 8px; font-size: 9px; line-height: 1; min-width: 0;
  background-color: #dc3545; border-color: #dc3545; color: #fff;
}
#bookedmodal .pop_booked_tit {
  position: absolute; top: 13.9%; left: 50%; transform: translateX(-50%);
  width: auto; height: 7%; aspect-ratio: 430 / 65;
  background: url(https://res1-nte.iwplay.com.tw/images/sdk/pop_sdk_login_tt.png) no-repeat 0 0;
  background-size: 100% 100%;
}
#bookedmodal .bookedForm {
  position: absolute; top: 21%; left: 50%; transform: translateX(-50%);
  width: 86%; max-width: 451px; height: 33%; z-index: 50; container-type: inline-size;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
}
#bookedmodal .form-bg {
  width: 100%; max-width: 387px; height: 37px; margin-bottom: 0; border-radius: 19px;
  background: #1d1d1d; box-sizing: border-box;
  display: flex; align-items: center; padding: 0 13px;
}
#bookedmodal .graphic_verification_code,
#bookedmodal .phone_verification_code,
#bookedmodal .phone_password {
  width: 100%; max-width: 387px;
  height: 32px; margin-top: 0;
  display: flex; justify-content: space-evenly; align-items: center;
}
#bookedmodal .graphic_verification_code .captcha,
#bookedmodal .phone_verification_code .smsCode {
  width: 230px; height: 37px; font-size: 10px; padding: 3px 11px;
  border-radius: 32px; border: 2px solid #141414; background: #fff;
}
#bookedmodal .graphic_verification_code .img_code { width: 146px; height: 37px; }
#bookedmodal .graphic_verification_code .img_code .img_code_pic {
  width: 100%; height: 100%; border-radius: 18px; border: 2px solid #141414;
}
#bookedmodal .phone_verification_code .btn_get_code {
  width: 146px; height: auto; aspect-ratio: 400 / 100;
  background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/btn_get_code.png);
  background-size: 100% 200%;
  background-position: 0 0;
}
#bookedmodal .phone_verification_code .btn_get_code:hover { background-position: 0 100%; }
#bookedmodal .phone_password .phone_password_input {
  width: 100%; height: 37px; background: #fff; font-size: 10px;
  padding: 3px 11px; border-radius: 32px; border: 2px solid #141414;
  box-sizing: border-box;
}
#bookedmodal .form-select {
  padding: 0 11px; width: 131px; font-size: 12px;
  display: inline-block; border: 0; border-radius: 0;
  border-right: 2px solid #c7c7c7; height: auto; color: #fff;
  text-align: center; background-color: transparent; background-image: none;
  appearance: none; -webkit-appearance: none;
}
#bookedmodal .form-select:focus { color: #fff; border-right: 2px solid #c7c7c7; outline: none; box-shadow: none; }
#bookedmodal #phone_code:-webkit-autofill,
#bookedmodal #phone_code:-webkit-autofill:focus,
#bookedmodal #phone_number:-webkit-autofill,
#bookedmodal #phone_number:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #1d1d1d inset;
  -webkit-text-fill-color: #fff;
}
#bookedmodal .form-select option { background-color: #1d1d1d; text-align: center; }
#bookedmodal .form-control {
  padding: 0 0 0 4%; width: 60%; font-size: 12px; font-weight: 500;
  display: inline-block; border: 0; border-radius: 0; height: auto; color: #fff;
  background-color: transparent; outline: none; box-shadow: none;
}
#bookedmodal .form-control::placeholder { color: #828282; }
#bookedmodal .form-control:focus { outline: none; box-shadow: none; border: 0; color: #fff; background-color: transparent; }
#bookedmodal .privacy-check { display: flex; align-items: center; justify-content: center; gap: 6px; }
#bookedmodal .form-check-input {
  position: relative; flex-shrink: 0; margin: 0; width: 17px; height: 17px;
  background-color: transparent; border: 2px solid #000;
  appearance: none; -webkit-appearance: none;
  background-repeat: no-repeat; background-position: center; background-size: contain;
}
#bookedmodal .form-check-input:checked { background-color: #fff; border-color: #000; }
#bookedmodal .form-check-input:checked[type="checkbox"] { background-image: url(https://res1-nte.iwplay.com.tw/events/pre-gacha/images/pop/sdk/check.svg); }
#bookedmodal .form-check-input[type="checkbox"] { border-radius: 0; }
#bookedmodal .form-check-label { margin: 0; padding: 0; color: #000; font-size: 3cqw; line-height: 17px; cursor: pointer; vertical-align: middle; }
#bookedmodal .button_box {
  position: absolute; left: 50%; transform: translateX(-50%);
  top: 61%; width: 86%; max-width: 451px; height: 22%;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  gap: 10px; background-color: transparent;
}
#bookedmodal .button_box .row { display: contents; }
#bookedmodal .button_box .row .btn { width: 90%; max-width: 226px; height: auto; aspect-ratio: 504 / 77; flex: none; margin: 0; }
#bookedmodal .button_box .btn {
  display: flex; justify-content: center; align-items: center; height: auto;
  background-repeat: no-repeat; background-position: 0 0; background-size: 100% 200%;
  border: none; padding: 0; font-size: 14px; color: #fff; cursor: pointer; background-color: transparent;
}
#bookedmodal .button_box .btn:hover { background-position: 0 100%; }
#booked_button  { background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/booked_button.png); }
#back_sms_button { background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/back_sms_button.png); }
#phoneNextBtn   { background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/phoneNextBtn.png); }
#back_button    { background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/back_button.png); }
#select_role_button { background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/booked_button.png); }
#back_role_button   { background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/back_button.png); }
#bookedmodal .Change_acc_box {
  position: absolute; top: 82.5%; left: 50%; transform: translateX(-50%);
  width: 90%; max-width: 381px; display: flex; flex-direction: column; align-items: center; gap: 2%;
}
#bookedmodal .Change_acc_hint { position: static; color: #fff; font-size: 17px; line-height: 40px; text-align: center; margin: 0; }
#bookedmodal #other_login > .Change_acc_box {
  position: static; width: 100%; height: auto; transform: none; left: auto;
  display: flex; flex-direction: row; justify-content: space-around; align-items: center; gap: 5%;
}
#bookedmodal .Change_acc_box .Change_acc_btn { width: 20%; max-width: 49px; height: auto; aspect-ratio: 1 / 1; background-size: 100% auto; background-position: 0 -49px; cursor: pointer; }
#bookedmodal .google   { background-image: url(https://res1-nte.iwplay.com.tw/events/pre-gacha/images/pop/sdk/google.svg); }
#bookedmodal .ios      { background-image: url(https://res1-nte.iwplay.com.tw/events/pre-gacha/images/pop/sdk/ios.svg); }
#bookedmodal .facebook { background-image: url(https://res1-nte.iwplay.com.tw/events/pre-gacha/images/pop/sdk/facebook.svg); }
#bookedmodal .ps       { background-image: url(https://res1-nte.iwplay.com.tw/images/sdk/ps5.png); }
#bookedmodal #select_role {
  position: absolute; top: 24.6%; left: 50%; transform: translateX(-50%);
  width: 90%; max-width: 451px; height: auto;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  gap: 10px; text-align: center;
}
#bookedmodal #select_role > div:first-child { margin: 0 !important; padding: 0 !important; color: #000; }
#bookedmodal #select_role .bookedForm { position: static; transform: none; left: auto; margin: 0 auto; height: auto; }
#bookedmodal #select_role .form-bg { padding: 0; }
#bookedmodal #role_select { width: 100%; padding: 0 11px; border-right: 0; text-align: center; }

/* --- #privacymodal --- */
.nte-pop.privacymodal.modal .modal-dialog { max-width: 500px; }
.nte-pop.privacymodal .modal-content.popCont { width: 100%; max-width: 100%; margin: 0 auto; background: transparent; border: none; box-shadow: none; }
.nte-pop.privacymodal .popCont3 { width: 100%; height: auto; aspect-ratio: 760 / 1100; background: url(https://res1-nte.iwplay.com.tw/images/sdk/popCont3.png) no-repeat center top; background-size: 100% 100%; position: relative; padding: 0; overflow: hidden; flex: 0 0 auto; }
.nte-pop.privacymodal .res_poptt { position: absolute; top: 13.9%; left: 50%; transform: translateX(-50%); width: auto; height: 7%; aspect-ratio: 430 / 77; background: url(https://res1-nte.iwplay.com.tw/images/pop/pop_yy_privacy_tt.png) no-repeat 0 0; background-size: 100% 100%; }
.nte-pop.privacymodal .res_poptt img { display: none; }
.nte-pop.privacymodal .list_con { position: absolute; top: 23%; left: 50%; transform: translateX(-50%); width: 90%; margin: 0; height: 63%; overflow-y: auto; padding-right: 6px; scrollbar-width: thin; scrollbar-color: #888 #d5d5d5; }
.nte-pop.privacymodal .list_con::-webkit-scrollbar { width: 6px; }
.nte-pop.privacymodal .list_con::-webkit-scrollbar-track { background: #d5d5d5; }
.nte-pop.privacymodal .list_con::-webkit-scrollbar-thumb { background: #888; border-radius: 50px; }
.nte-pop.privacymodal .list_con::-webkit-scrollbar-thumb:hover { background: #555; }
.nte-pop.privacymodal .list_con ol { font-size: 11px; font-weight: 400; padding-left: 14px; list-style: decimal; line-height: 1.6; }
.nte-pop.privacymodal .popup_close { position: absolute; left: 50%; bottom: 4.5%; transform: translateX(-50%); padding: 7px 40px; font-size: 16px; color: #fff; background: #000; cursor: pointer; text-decoration: none; width: auto; }
.nte-pop.privacymodal .popup_close:hover { background: #333; transform: translateX(-50%); }

@media (max-width: 576px) {
  #bookedmodal .popCont1 { aspect-ratio: 760 / 1200; }
  #bookedmodal .bookedForm { top: 20%; }
}
