.elementor-626 .elementor-element.elementor-element-28bd2d6{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-626 .elementor-element.elementor-element-fd29e56{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:80px;--padding-bottom:60px;--padding-left:80px;--padding-right:80px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-626 .elementor-element.elementor-element-25ff9c4 .elementor-heading-title{font-family:"Noto Sans TC", Sans-serif;font-size:2.5rem;font-weight:600;letter-spacing:1px;color:#444EC5;}.elementor-626 .elementor-element.elementor-element-fb666bd .elementor-heading-title{font-family:"Noto Sans TC", Sans-serif;font-size:2rem;font-weight:600;letter-spacing:1px;color:#444EC5;}.elementor-626 .elementor-element.elementor-element-38d9db7{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--margin-top:-30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:80px;--padding-left:50px;--padding-right:50px;}.elementor-626 .elementor-element.elementor-element-f30393d{width:100%;max-width:100%;}@media(min-width:768px){.elementor-626 .elementor-element.elementor-element-38d9db7{--content-width:800px;}}@media(max-width:1024px){.elementor-626 .elementor-element.elementor-element-fd29e56{--padding-top:50px;--padding-bottom:50px;--padding-left:30px;--padding-right:30px;}.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-626 .elementor-element.elementor-element-38d9db7{--padding-top:10px;--padding-bottom:80px;--padding-left:50px;--padding-right:50px;}}@media(max-width:767px){.elementor-626 .elementor-element.elementor-element-fd29e56{--padding-top:30px;--padding-bottom:30px;--padding-left:10px;--padding-right:10px;}.elementor-widget-heading .elementor-heading-title{letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-626 .elementor-element.elementor-element-25ff9c4 .elementor-heading-title{font-size:1.8rem;}.elementor-626 .elementor-element.elementor-element-fb666bd .elementor-heading-title{font-size:1.3rem;}.elementor-626 .elementor-element.elementor-element-38d9db7{--padding-top:10px;--padding-bottom:50px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS for wpforms, class: .elementor-element-f30393d *//* ================================
Step indicator: center + spacing + proper circles
================================ */
#wpforms-form-629 .wpforms-page-indicator.circles {
  display: flex !important;
  justify-content: center !important;  /* center the steps */
  align-items: center !important;
  gap: 20px;                            /* spacing between steps */
  text-align: center;
  flex-wrap: wrap;
}

/* Each step item */
#wpforms-form-629 .wpforms-page-indicator.circles .wpforms-page-indicator-page {
  display: inline-flex;
  align-items: center;
  gap: 10px;                            /* space between circle and title */
}

/* Circle: force perfect circle */
#wpforms-form-629 .wpforms-page-indicator.circles .wpforms-page-indicator-page-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px !important;               /* fixed width */
  height: 32px !important;              /* fixed height = width */
  box-sizing: border-box;
  border-radius: 50%;
  padding: 0 !important;                 /* avoid stretching */
  background-color: #e6eaf0;            /* inactive */
  color: #333;
  font-weight: 600;
  font-size: 14px;                      /* readable digit */
  line-height: 1;                       /* prevent vertical stretch */
  overflow: hidden;                     /* safety */
}

/* Active circle = orange */
#wpforms-form-629 .wpforms-page-indicator.circles .wpforms-page-indicator-page.active .wpforms-page-indicator-page-number {
  background-color: #F4A32F !important;
  color: #fff !important;
}

/* Titles */
#wpforms-form-629 .wpforms-page-indicator.circles .wpforms-page-indicator-page-title {
  color: #333;
  font-weight: 500;
  white-space: nowrap; /* optional: prevent wrapping */
}


/* ================================
Larger Next/Previous/Submit buttons
================================ */
#wpforms-form-629 .wpforms-submit-container,
#wpforms-form-629 .wpforms-pagebreak-container {
  width: 100% !important;
  text-align: center !important;
  margin-top: 20px !important;
}

#wpforms-form-629 .wpforms-page-button,
#wpforms-form-629 .wpforms-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;       /* full width */
  font-size: 1.4rem !important; /* larger text */
  font-weight: 600 !important;  /* semi-bold */
  line-height: 1.2 !important;
  padding: 26px 22px !important;/* bigger padding */
  margin: 16px 0 !important;
  box-sizing: border-box;
}

/* Ensure multipage buttons don’t float side by side */
#wpforms-form-629 .wpforms-pagebreak .wpforms-page-button {
  float: none !important;
}

/* Optional: keep full width on very small screens too */
@media (max-width: 480px) {
  #wpforms-form-629 .wpforms-page-button,
  #wpforms-form-629 .wpforms-submit {
    width: 100% !important;
  }
}


/* ================================
Field text size = 1rem
================================ */
#wpforms-form-629,
#wpforms-form-629 * {
  font-size: 1rem !important;
  line-height: 1.5; /* comfortable reading */
}

/* Keep inputs tidy */
#wpforms-form-629 input[type="text"],
#wpforms-form-629 input[type="email"],
#wpforms-form-629 input[type="tel"],
#wpforms-form-629 input[type="number"],
#wpforms-form-629 input[type="url"],
#wpforms-form-629 input[type="password"],
#wpforms-form-629 input[type="search"],
#wpforms-form-629 textarea,
#wpforms-form-629 select {
  font-size: 1rem !important;
  line-height: 1.4 !important;
}

/* Placeholder text inherits 1rem too */
#wpforms-form-629 ::placeholder {
  font-size: 1rem !important;
}


/* ================================
Modern File Upload: fixed height + Chinese title/hint + 0.8rem description
(restore your previously working approach)
================================ */
#wpforms-form-629 .wpforms-field-file-upload-modern {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  min-height: 140px;                     /* fixed overall min height */
  user-select: none;
}

#wpforms-form-629 .wpforms-field-file-upload-modern .dropzone {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  height: 140px !important;              /* fixed dropzone height */
  box-sizing: border-box;
}

/* Center the message stack */
#wpforms-form-629 .wpforms-field-file-upload-modern .dz-message {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  row-gap: 6px !important;
  margin: 0 !important;
  text-align: center !important;
}

/* Ensure inner spans are centered */
#wpforms-form-629 .wpforms-field-file-upload-modern .dz-message span,
#wpforms-form-629 .wpforms-field-file-upload-modern .modern-title,
#wpforms-form-629 .wpforms-field-file-upload-modern .modern-hint {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Hide original title/hint and inject Chinese (0.8rem, #6D6D6D) */
#wpforms-form-629 .modern-title,
#wpforms-form-629 .modern-hint {
  position: relative;
  visibility: hidden;
  min-height: 1em;
}

#wpforms-form-629 .modern-title::before {
  content: "點擊或拖放檔案到此處以上傳。";
  visibility: visible;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.8rem !important;
  color: #6D6D6D !important;
}

#wpforms-form-629 .modern-hint::before {
  content: "最多可上傳 3 個檔案。";
  opacity: 0.85;
  visibility: visible;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.8rem !important;
  color: #6D6D6D !important;
}

/* Description text under the field at 0.8rem, #6D6D6D */
#wpforms-form-629 .wpforms-field-file-upload-modern .wpforms-field-description,
#wpforms-form-629 .wpforms-field-description {
  font-size: 0.8rem !important;
  color: #6D6D6D !important;
  line-height: 1.4 !important;
}/* End custom CSS */