.elementor-2103 .elementor-element.elementor-element-3eb20082{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:120px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-login .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-login .elementor-field-group > a{color:var( --e-global-color-text );}.elementor-widget-login .elementor-field-group > a:hover{color:var( --e-global-color-accent );}.elementor-widget-login .elementor-form-fields-wrapper label{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-login .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-login .elementor-field-group .elementor-field, .elementor-widget-login .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-login .elementor-login__logged-in-message{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-2103 .elementor-element.elementor-element-24cc77ad{width:var( --container-widget-width, 61.412% );max-width:61.412%;--container-widget-width:61.412%;--container-widget-flex-grow:0;}.elementor-2103 .elementor-element.elementor-element-24cc77ad.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-2103 .elementor-element.elementor-element-24cc77ad .elementor-field-group{margin-bottom:10px;}.elementor-2103 .elementor-element.elementor-element-24cc77ad .elementor-form-fields-wrapper{margin-bottom:-10px;}body .elementor-2103 .elementor-element.elementor-element-24cc77ad .elementor-field-group > label{padding-bottom:0px;}.elementor-2103 .elementor-element.elementor-element-24cc77ad .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-2103 .elementor-element.elementor-element-24cc77ad .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-2103 .elementor-element.elementor-element-e14eef8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2103 .elementor-element.elementor-element-0a36504{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}@media(max-width:1024px){.elementor-widget-login .elementor-form-fields-wrapper label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-login .elementor-field-group .elementor-field, .elementor-widget-login .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-login .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-login .elementor-login__logged-in-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-2103 .elementor-element.elementor-element-0a36504{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-2103 .elementor-element.elementor-element-3eb20082{--margin-top:100px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-widget-login .elementor-form-fields-wrapper label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-login .elementor-field-group .elementor-field, .elementor-widget-login .elementor-field-subgroup label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-widget-login .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-login .elementor-login__logged-in-message{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-2103 .elementor-element.elementor-element-24cc77ad{width:var( --container-widget-width, 321.667px );max-width:321.667px;--container-widget-width:321.667px;--container-widget-flex-grow:0;}.elementor-2103 .elementor-element.elementor-element-e14eef8{--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2103 .elementor-element.elementor-element-0a36504{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for shortcode, class: .elementor-element-a06132e *//* ===== 上傳三欄外層 ===== */
/* 把這一層換成你的實際父層 class；如果不確定，先用下面較寬鬆版本 */
.spr-upload-grid,
.spr-upload-row,
.spr-upload-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ===== 每個卡片：施工前 / 施工中 / 施工後 ===== */
.spr-upload-card {
    flex: 1 1 calc(33.333% - 14px) !important;
    max-width: calc(33.333% - 14px) !important;
    min-width: 0 !important;
    width: calc(33.333% - 14px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;

    border: 1px solid #e5e5e5;
    border-radius: 14px;
    padding: 20px !important;
    background: #fff;
}

/* ===== 卡片內元素不要撐破 ===== */
.spr-upload-card h3,
.spr-upload-card p,
.spr-upload-card .spr-hint {
    margin: 0 0 12px 0;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.spr-upload-card input,
.spr-upload-card select,
.spr-upload-card textarea,
.spr-upload-card button {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* ===== 檔案欄位特別修正 ===== */
.spr-upload-card input[type="file"] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* ===== 桌機版：避免第三個施工後被擠出去 ===== */
@media (min-width: 769px) {
    .spr-upload-card {
        flex: 1 1 calc(33.333% - 14px) !important;
        max-width: calc(33.333% - 14px) !important;
        width: calc(33.333% - 14px) !important;
    }
}

/* ===== 手機版：改成單欄 ===== */
@media (max-width: 768px) {
    .spr-upload-grid,
    .spr-upload-row,
    .spr-upload-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    .spr-upload-card {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 16px !important;
    }

    .spr-upload-card input[type="file"] {
        width: 100% !important;
    }
}/* End custom CSS */