/* ==================================================
   Elementor Contact Buttons — Final Fix
   ================================================== */

/* 关闭状态：不要额外的右侧 padding */
body .e-contact-buttons.has-h-alignment-end
.e-contact-buttons__chat-button-container {
    padding-inline-end: 0px !important;
}

/* 打开后的内容框：与屏幕右侧保留 16px */
body .e-contact-buttons
.e-contact-buttons__content-wrapper {
    inset-inline-end: 16px !important;
}

/* 移除打开内容框时的蓝色 focus outline */
body .e-contact-buttons
.e-contact-buttons__content-wrapper:focus,
body .e-contact-buttons
.e-contact-buttons__content-wrapper:focus-visible,
body .e-contact-buttons
.e-contact-buttons__content-wrapper[tabindex="0"]:focus,
body .e-contact-buttons
.e-contact-buttons__content-wrapper[tabindex="0"]:focus-visible {
    outline: 0 !important;
    outline-width: 0 !important;
    outline-color: transparent !important;
}

/* 按钮点击时也不要出现蓝圈 */
body .e-contact-buttons button:focus,
body .e-contact-buttons button:focus-visible {
    outline: 0 !important;
}

/* Mobile */
@media (max-width: 767px) {
    body .e-contact-buttons
    .e-contact-buttons__content-wrapper {
        inset-inline-end: 12px !important;
        max-width: calc(100vw - 24px) !important;
    }
}
/* ==================================================
   PPOM Pro – Image Option Layout Fix
   修复标题样式、标题与图片距离、图片跑位
   ================================================== */

/* Image 字段必须上下排列：标题在上、图片在下 */
.ppom-rendering-fields
.ppom-field-wrapper[data-type="image"]
fieldset.form-group {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Image 标题与普通 Radio Option 标题保持一致 */
.ppom-rendering-fields
.ppom-field-wrapper[data-type="image"]
legend.form-control-label {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 0 2px !important;
    padding: 0 !important;

    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 28px !important;
}

/* Image 字段说明文字 */
.ppom-rendering-fields
.ppom-field-wrapper[data-type="image"]
.ppom-input-desc {
    display: block !important;
    margin: 0 0 6px !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 18px !important;
}

/* 图片选项恢复横向排列 */
.ppom-rendering-fields
.ppom-field-wrapper[data-type="image"]
.nm-boxes-outer.ppom-image-select {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 10px !important;

    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
    margin: 0 !important;
}

/* 每个图片选项固定为独立项目 */
.ppom-rendering-fields
.ppom-field-wrapper[data-type="image"]
.ppom-palette-item {
    display: block !important;
    flex: 0 0 auto !important;
    width: 75px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 移除 PPOM 原本的 float，防止图片跑位 */
.ppom-rendering-fields
.ppom-field-wrapper[data-type="image"]
.pre_upload_image {
    display: block !important;
    float: none !important;
    width: 75px !important;
    height: 75px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 图片尺寸统一 */
.ppom-rendering-fields
.ppom-field-wrapper[data-type="image"]
.pre_upload_image img {
    display: block !important;
    width: 75px !important;
    height: 75px !important;
    max-width: none !important;
    object-fit: cover !important;
    margin: 0 !important;
}
/* ==================================================
   PPOM – Essential: Compact Field Spacing
   ================================================== */

/* 不在外层字段叠加 margin */
.ppom-rendering-fields .ppom-field-wrapper {
    margin: 0 !important;
}

/* 每个字段内容结束后统一保留 8px */
.ppom-rendering-fields
.ppom-field-wrapper > .form-group,
.ppom-rendering-fields
.ppom-field-wrapper > fieldset.form-group {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

/* 隐藏字段完全不占空间 */
.ppom-rendering-fields
.ppom-field-wrapper.ppom-c-hide {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 移除空 PPOM Group */
.ppom-rendering-fields:not(:has(.ppom-field-wrapper:not(.ppom-c-hide))) {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Group 本身不要额外拉开 */
.ppom-rendering-fields {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}