.elementor-21 .elementor-element.elementor-element-bdcdbd0{--display:flex;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-accent );}.elementor-widget-nested-tabs.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > :is( .e-n-tab-title > .e-n-tab-title-text, .e-n-tab-title ){font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-21 .elementor-element.elementor-element-f89a7bb{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-93b08fc{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-21 .elementor-element.elementor-element-9119d84{--n-tabs-heading-justify-content:initial;--n-tabs-title-width:100%;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:1;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;--n-tabs-title-border-radius:10px 10px 10px 10px;--n-tabs-title-padding-top:10px;--n-tabs-title-padding-right:10px;--n-tabs-title-padding-bottom:10px;--n-tabs-title-padding-left:10px;}.elementor-21 .elementor-element.elementor-element-9119d84.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='false'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:var( --e-global-color-secondary );}.elementor-21 .elementor-element.elementor-element-9119d84.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"], .elementor-21 .elementor-element.elementor-element-9119d84.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode='true'] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover{background:#000000;}.elementor-21 .elementor-element.elementor-element-0a2e1b6{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-21 .elementor-element.elementor-element-9119d84{--n-tabs-heading-justify-content:initial;--n-tabs-title-width:100%;--n-tabs-title-height:initial;--n-tabs-title-align-items:center;--n-tabs-title-flex-grow:1;--n-tabs-heading-wrap:wrap;--n-tabs-heading-overflow-x:initial;--n-tabs-title-white-space:initial;}}@media(min-width:768px){.elementor-21 .elementor-element.elementor-element-bdcdbd0{--content-width:350px;}}/* Start custom CSS for nested-tabs, class: .elementor-element-9119d84 */.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-auth{
  max-width: 420px;
  margin: 0 auto;
  padding: 24px 28px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background: #fff;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-auth__alert{
  margin-bottom: 14px;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.4;
  background: rgba(0,0,0,.04);
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-field{
  margin-bottom: 16px;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-label{
  display: block;
  font-size: 14px;
  margin-bottom: 8px;
  color: rgba(0,0,0,.75);
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-input{
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,.22);
  border-radius: 0;
  padding: 10px 4px;
  font-size: 16px;
  outline: none;
  background: transparent;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-input:focus{
  border-bottom-color: rgba(0,0,0,.6);
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-actions{
  display: flex;
  gap: 10px;
  margin-top: 10px;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-btn{
  appearance: none;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  color: rgba(0,0,0,.85);
  padding: 10px 12px;
  border-radius: 10px;
  font-size: 14px;
  cursor: pointer;
  width: 100%;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-btn--primary{
  background: #111;
  color: #fff;
  border-color: #111;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-btn--otp{
  background: #fff;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-btn--ghost{
  background: rgba(0,0,0,.03);
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-btn.is-disabled,
.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-btn:disabled{
  opacity: .55;
  cursor: not-allowed;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-pass{
  position: relative;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-input--pass{
  padding-right: 42px;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-eye{
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 20px;
  opacity: .65;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-eye:hover{
  opacity: .9;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-eye.is-on{
  opacity: 1;
}

/* ===== 註冊規範欄位上下 20px ===== */

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-field--terms{
  margin-top: 20px;
  margin-bottom: 20px;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-terms{
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.4;
  cursor: pointer;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-terms input[type="checkbox"]{
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-terms a{
  text-decoration: underline;
}

/* ===== 只調整登入頁密碼欄位下方 30px ===== */

.elementor-21 .elementor-element.elementor-element-9119d84 .vivi-auth[data-purpose="login"] #viviLoginPass{
  margin-bottom: 30px;
}/* End custom CSS */