.elementor-3339 .elementor-element.elementor-element-6fd48b2{--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;border-style:none;--border-style:none;--border-radius:8px 8px 8px 8px;box-shadow:0px 18px 45px 0px rgba(0, 0, 0, 0.28);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3339 .elementor-element.elementor-element-6fd48b2:not(.elementor-motion-effects-element-type-background), .elementor-3339 .elementor-element.elementor-element-6fd48b2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-3339 .elementor-element.elementor-element-0e5011b{--display:flex;}.elementor-3339 .elementor-element.elementor-element-11cfc17 .elementor-icon-wrapper{text-align:center;}.elementor-3339 .elementor-element.elementor-element-90aa3da{text-align:center;}.elementor-3339 .elementor-element.elementor-element-90aa3da .elementor-heading-title{font-size:30px;}.elementor-3339 .elementor-element.elementor-element-cefc45c{--display:flex;}#elementor-popup-modal-3339{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-3339 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-3339 .dialog-widget-content{box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}@media(min-width:768px){.elementor-3339 .elementor-element.elementor-element-6fd48b2{--content-width:760px;}}/* Start custom CSS for container, class: .elementor-element-6fd48b2 *//* ==============================
   PIANO Quote Popup - Final PA Style Version
   ============================== */


/* ==============================
   Elementor Popup 外壳
   ============================== */

.elementor-popup-modal .dialog-widget-content {
    width: 720px !important;
    max-width: 92vw !important;

    background: transparent !important;
    box-shadow: none !important;

    padding: 0 !important;
    margin: 0 auto !important;

    border-radius: 12px !important;
    overflow: visible !important;
}

.elementor-popup-modal .dialog-message {
    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: visible !important;
}

.elementor-popup-modal .dialog-message > .elementor {
    width: 100% !important;
    max-width: 100% !important;
}

/* 隐藏 Elementor 默认关闭按钮 */
.elementor-popup-modal .dialog-close-button {
    display: none !important;
}


/* ==============================
   弹窗整体盒子
   ============================== */

.quote-popup-box {
    width: 100% !important;
    max-width: 100% !important;

    background: #ffffff !important;

    border: 2px solid #2f6fd6 !important;
    border-radius: 12px !important;

    padding: 0 !important;
    margin: 0 auto !important;

    gap: 0 !important;
    --gap: 0px !important;

    overflow: hidden !important;

    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.28) !important;
}

/* 只清理最外层，不要把表单区域 padding 清掉 */
.quote-popup-box.e-con,
.quote-popup-box > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    gap: 0 !important;
    --gap: 0px !important;
}


/* ==============================
   顶部标题栏：满宽蓝色
   ============================== */

.quote-popup-header {
    width: 100% !important;
    max-width: 100% !important;

    min-height: 90px !important;

    background: #2f6fd6 !important;

    padding: 24px 72px 23px 72px !important;
    margin: 0 !important;

    border: none !important;
    border-radius: 0 !important;

    position: relative !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;
}

/* 标题栏内部不要被 Elementor 限宽 */
.quote-popup-header > .e-con-inner,
.quote-popup-header .elementor-widget-heading,
.quote-popup-header .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;
}

.quote-popup-header .elementor-heading-title {
    color: #ffffff !important;

    font-size: 36px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
    letter-spacing: 0.2px !important;
    white-space: normal !important;
}


/* ==============================
   自定义关闭按钮
   ============================== */

.quote-popup-close {
    position: absolute !important;
    top: 23px !important;
    right: 26px !important;

    width: 28px !important;
    height: 28px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    z-index: 20 !important;
    cursor: pointer !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.quote-popup-close .elementor-icon,
.quote-popup-close a,
.quote-popup-close i,
.quote-popup-close svg {
    color: #ffffff !important;
    fill: #ffffff !important;

    font-size: 21px !important;
    line-height: 1 !important;
}

.quote-popup-close .elementor-icon {
    background: transparent !important;
    border: none !important;
}

.quote-popup-close:hover {
    opacity: 0.75 !important;
}


/* ==============================
   表单区域：核心，保留呼吸感
   ============================== */

.quote-popup-body {
    width: 100% !important;
    max-width: 100% !important;

    background: #ffffff !important;

    padding: 38px 72px 42px 72px !important;
    margin: 0 !important;

    border: none !important;
    border-radius: 0 !important;
}

/* 如果 quote-popup-body 本身是 Container，内部也要保持同样宽度 */
.quote-popup-body > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    gap: 0 !important;
    --gap: 0px !important;
}

/* 去掉 shortcode/widget 自带空白 */
.quote-popup-body .elementor-widget,
.quote-popup-body .elementor-widget-shortcode,
.quote-popup-body .elementor-shortcode,
.quote-popup-box .fluentform,
.quote-popup-box form {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ==============================
   Fluent Forms 表单
   ============================== */

.quote-popup-box .ff-el-group {
    margin-bottom: 15px !important;
}

.quote-popup-box .ff-el-group:last-child {
    margin-bottom: 0 !important;
}

.quote-popup-box .ff-el-input--label {
    margin-bottom: 7px !important;
    padding: 0 !important;
}

.quote-popup-box .ff-el-input--label label {
    color: #333333 !important;

    font-size: 15.5px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;

    margin: 0 !important;
    padding: 0 !important;
}

.quote-popup-box .ff-el-input--label label .ff_required,
.quote-popup-box .ff-el-input--label label .required {
    color: #e30613 !important;
    font-weight: 700 !important;
    margin-left: 4px !important;
}


/* ==============================
   输入框
   ============================== */

.quote-popup-box .ff-el-form-control {
    width: 100% !important;
    height: 48px !important;

    background: #ffffff !important;

    border: 1px solid #bfc6ce !important;
    border-radius: 6px !important;

    color: #333333 !important;

    font-size: 15px !important;
    line-height: 1.4 !important;

    padding: 11px 15px !important;

    box-shadow: none !important;
    outline: none !important;

    transition: all 0.22s ease !important;
}

.quote-popup-box .ff-el-form-control::placeholder {
    color: #858b95 !important;
}

.quote-popup-box .ff-el-form-control:focus {
    border-color: #2f6fd6 !important;
    box-shadow: 0 0 0 3px rgba(47, 111, 214, 0.14) !important;
}

/* Message 文本框 */
.quote-popup-box textarea.ff-el-form-control {
    height: 92px !important;
    min-height: 92px !important;

    resize: vertical !important;
    line-height: 1.45 !important;
}


/* ==============================
   上传文件按钮
   ============================== */

.quote-popup-box input[type="file"] {
    max-width: 100% !important;

    font-size: 14px !important;
    color: #606873 !important;
}

.quote-popup-box input[type="file"]::file-.elementor-3339 .elementor-element.elementor-element-6fd48b2-button {
    background: #f3f4f6 !important;
    color: #333333 !important;

    border: 1px solid #bfc6ce !important;
    border-radius: 4px !important;

    padding: 8px 14px !important;
    margin-right: 8px !important;

    font-size: 14px !important;
    font-weight: 500 !important;

    cursor: pointer !important;
}

/* Fluent Forms 上传按钮 */
.quote-popup-box .ff_upload_btn,
.quote-popup-box .ff-btn.ff-btn-secondary {
    background: #5d6875 !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 5px !important;

    padding: 10px 17px !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    min-height: 42px !important;
    line-height: 1.2 !important;
}


/* ==============================
   提交按钮
   ============================== */

.quote-popup-box .ff_submit_btn_wrapper {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.quote-popup-box .ff-btn-submit {
    width: 100% !important;
    height: 52px !important;

    background: #2f6fd6 !important;

    border: none !important;
    border-radius: 7px !important;

    color: #ffffff !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    text-transform: none !important;
    letter-spacing: 0.2px !important;

    box-shadow: 0 10px 24px rgba(47, 111, 214, 0.24) !important;

    transition: all 0.22s ease !important;
}

.quote-popup-box .ff-btn-submit:hover {
    background: #245fc0 !important;

    transform: translateY(-1px) !important;
    box-shadow: 0 12px 28px rgba(47, 111, 214, 0.32) !important;
}


/* ==============================
   平板端：768px - 1024px
   ============================== */

@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-popup-modal .dialog-widget-content {
        width: 680px !important;
        max-width: 90vw !important;
    }

    .quote-popup-box {
        max-height: 90vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .quote-popup-header {
        min-height: 82px !important;
        padding: 22px 58px 21px 58px !important;
    }

    .quote-popup-header .elementor-heading-title {
        font-size: 30px !important;
    }

    .quote-popup-close {
        top: 20px !important;
        right: 20px !important;
    }

    .quote-popup-body {
        padding: 30px 46px 34px 46px !important;
    }

    .quote-popup-box .ff-el-group {
        margin-bottom: 12px !important;
    }

    .quote-popup-box .ff-el-form-control {
        height: 44px !important;
    }

    .quote-popup-box textarea.ff-el-form-control {
        height: 76px !important;
        min-height: 76px !important;
    }

    .quote-popup-box .ff-btn-submit {
        height: 48px !important;
    }
}


/* ==============================
   手机端：767px 以下
   ============================== */

@media (max-width: 767px) {
    .elementor-popup-modal .dialog-widget-content {
        width: 92vw !important;
        max-width: 92vw !important;
    }

    .elementor-popup-modal .dialog-message,
    .elementor-popup-modal .dialog-message > .elementor {
        width: 100% !important;
        max-width: 100% !important;
    }

    .quote-popup-box {
        width: 100% !important;
        max-width: 100% !important;

        max-height: 90vh !important;

        border-width: 2px !important;
        border-radius: 9px !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .quote-popup-header {
        min-height: 72px !important;
        padding: 18px 42px 17px 42px !important;
    }

    .quote-popup-header .elementor-heading-title {
        font-size: 22px !important;
        line-height: 1.22 !important;
    }

    .quote-popup-close {
        top: 15px !important;
        right: 14px !important;

        width: 24px !important;
        height: 24px !important;
    }

    .quote-popup-close .elementor-icon,
    .quote-popup-close a,
    .quote-popup-close i,
    .quote-popup-close svg {
        font-size: 18px !important;
    }

    .quote-popup-body {
        padding: 22px 22px 24px 22px !important;
    }

    .quote-popup-box .ff-el-group {
        margin-bottom: 10px !important;
    }

    .quote-popup-box .ff-el-input--label {
        margin-bottom: 5px !important;
    }

    .quote-popup-box .ff-el-input--label label {
        font-size: 14px !important;
        line-height: 1.22 !important;
    }

    .quote-popup-box .ff-el-form-control {
        height: 40px !important;

        font-size: 14px !important;
        padding: 8px 12px !important;
    }

    .quote-popup-box textarea.ff-el-form-control {
        height: 64px !important;
        min-height: 64px !important;
    }

    .quote-popup-box .ff_upload_btn,
    .quote-popup-box .ff-btn.ff-btn-secondary {
        padding: 8px 14px !important;

        font-size: 14px !important;
        min-height: 38px !important;
    }

    .quote-popup-box .ff-btn-submit {
        height: 44px !important;
        font-size: 15px !important;
    }
}


/* ==============================
   小屏手机：480px 以下
   ============================== */

@media (max-width: 480px) {
    .elementor-popup-modal .dialog-widget-content {
        width: 94vw !important;
        max-width: 94vw !important;
    }

    .quote-popup-box {
        max-height: 88vh !important;
    }

    .quote-popup-header {
        min-height: 66px !important;
        padding: 17px 38px 16px 38px !important;
    }

    .quote-popup-header .elementor-heading-title {
        font-size: 20px !important;
    }

    .quote-popup-close {
        top: 14px !important;
        right: 12px !important;
    }

    .quote-popup-body {
        padding: 19px 16px 21px 16px !important;
    }

    .quote-popup-box .ff-el-group {
        margin-bottom: 8px !important;
    }

    .quote-popup-box .ff-el-form-control {
        height: 38px !important;
    }

    .quote-popup-box textarea.ff-el-form-control {
        height: 58px !important;
        min-height: 58px !important;
    }

    .quote-popup-box .ff-btn-submit {
        height: 42px !important;
    }
}



/* ==============================
   Fix Popup Height - Keep Wide Layout
   解决弹窗高度顶满问题
   ============================== */

/* PC端：控制整体高度，不让弹窗贴满上下 */
@media (min-width: 1025px) {
    .elementor-popup-modal .dialog-widget-content {
        width: 720px !important;
        max-width: 92vw !important;
    }

    .quote-popup-box {
        max-height: 86vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    /* 标题栏稍微降低高度，但仍然满宽好看 */
    .quote-popup-header {
        min-height: 76px !important;
        padding: 18px 72px 17px 72px !important;
    }

    .quote-popup-header .elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.18 !important;
    }

    .quote-popup-close {
        top: 18px !important;
        right: 24px !important;
    }

    /* 表单区域上下收紧，左右呼吸感保留 */
    .quote-popup-body {
        padding: 26px 72px 28px 72px !important;
    }

    /* 字段之间稍微紧凑 */
    .quote-popup-box .ff-el-group {
        margin-bottom: 10px !important;
    }

    .quote-popup-box .ff-el-input--label {
        margin-bottom: 5px !important;
    }

    .quote-popup-box .ff-el-input--label label {
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    /* 输入框降低一点 */
    .quote-popup-box .ff-el-form-control {
        height: 42px !important;
        padding: 9px 14px !important;
        font-size: 14.5px !important;
    }

    /* Message 不要太高 */
    .quote-popup-box textarea.ff-el-form-control {
        height: 68px !important;
        min-height: 68px !important;
    }

    /* 上传按钮稍微压缩 */
    .quote-popup-box .ff_upload_btn,
    .quote-popup-box .ff-btn.ff-btn-secondary {
        min-height: 38px !important;
        padding: 8px 16px !important;
    }

    /* 提交按钮降低一点 */
    .quote-popup-box .ff-btn-submit {
        height: 44px !important;
    }

    .quote-popup-box .ff_submit_btn_wrapper {
        margin-top: 8px !important;
    }
}


/* ==============================
   Remove Popup Scrollbar
   去掉弹窗内部滚动条
   ============================== */

@media (min-width: 1025px) {
    .quote-popup-box {
        max-height: none !important;
        overflow: hidden !important;
    }

    .elementor-popup-modal .dialog-widget-content,
    .elementor-popup-modal .dialog-message {
        overflow: visible !important;
    }

    /* 同时稍微压缩一点高度，避免弹窗太高 */
    .quote-popup-header {
        min-height: 76px !important;
        padding: 18px 72px 17px 72px !important;
    }

    .quote-popup-body {
        padding: 24px 72px 26px 72px !important;
    }

    .quote-popup-box .ff-el-group {
        margin-bottom: 9px !important;
    }

    .quote-popup-box .ff-el-form-control {
        height: 40px !important;
        padding: 8px 14px !important;
    }

    .quote-popup-box textarea.ff-el-form-control {
        height: 62px !important;
        min-height: 62px !important;
    }

    .quote-popup-box .ff-btn-submit {
        height: 44px !important;
    }
}/* End custom CSS */