/* ============================================
   Custom Layout & Typography Optimization
   仅优化布局、间距、对齐、信息层级
   ============================================ */

/* ---------- 1. 全局排版基础 ---------- */
html body {
    line-height: 1.75 !important;
    -webkit-font-smoothing: antialiased !important;
    word-wrap: break-word !important;
}

/* ---------- 2. Section 容器优化 ---------- */
/* 使用属性选择器和更高特异性 */
.elementor-top-section.elementor-section-full_width,
.elementor-top-section.elementor-section-boxed,
.elementor-section.elementor-section-full_width,
.elementor-section.elementor-section-boxed {
    padding-left: 28px !important;
    padding-right: 28px !important;
}

/* 平板 */
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-top-section.elementor-section-full_width,
    .elementor-top-section.elementor-section-boxed,
    .elementor-section.elementor-section-full_width,
    .elementor-section.elementor-section-boxed {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* 手机 */
@media (max-width: 767px) {
    .elementor-top-section.elementor-section-full_width,
    .elementor-top-section.elementor-section-boxed,
    .elementor-section.elementor-section-full_width,
    .elementor-section.elementor-section-boxed {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ---------- 3. 容器最大宽度 ---------- */
.elementor-section > .elementor-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-section > .elementor-container {
        max-width: 960px !important;
    }
}

@media (max-width: 767px) {
    .elementor-section > .elementor-container {
        max-width: 100% !important;
    }
}

/* ---------- 4. Widget 布局与间距 ---------- */
.elementor-widget-wrap.elementor-element-populated {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    row-gap: 24px !important;
}

@media (max-width: 767px) {
    .elementor-widget-wrap.elementor-element-populated {
        gap: 16px !important;
        row-gap: 16px !important;
    }
}

/* ---------- 5. 按钮布局 ---------- */
.elementor-widget-wrap > .elementor-widget.elementor-widget-button {
    display: flex !important;
    justify-content: flex-start !important;
}

@media (max-width: 767px) {
    .elementor-widget-wrap > .elementor-widget.elementor-widget-button {
        justify-content: center !important;
    }
}

/* ---------- 6. 标题行高 ---------- */
h1.elementor-heading-title,
h2.elementor-heading-title,
h3.elementor-heading-title,
h4.elementor-heading-title,
h5.elementor-heading-title,
h6.elementor-heading-title {
    line-height: 1.3 !important;
}

/* ---------- 7. 图片与周边间距 ---------- */
.elementor-widget-wrap > .elementor-widget.elementor-widget-image {
    margin-bottom: 16px;
}

/* ---------- 8. Elementor Column ---------- */
.elementor-widget-wrap.elementor-element {
    display: flex;
    flex-direction: column;
}
