/* ======== 基础：禁止溢出 ======== */
html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
}

#page {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

.elementor-section, 
.elementor-container, 
.elementor-element, 
.elementor-column,
.elementor-widget-wrap {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* ======== 全局居中 ======== */
.elementor-section > .elementor-container {
    margin: 0 auto !important;
    max-width: 100% !important;
}

.elementor-column {
    justify-content: center !important;
    text-align: center !important;
}

.elementor-widget-wrap {
    justify-content: center !important;
    text-align: center !important;
}

/* ======== 标题居中 ======== */
h1.elementor-heading-title,
h2.elementor-heading-title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ======== 按钮居中 ======== */
.elementor-button-wrapper {
    text-align: center !important;
    display: block !important;
}

/* ======== 响应式断点 ======== */
@media (max-width: 1024px) {
    .elementor-section { padding: 40px 20px !important; }
    h1.elementor-heading-title { font-size: 32px !important; }
    h2.elementor-heading-title { font-size: 26px !important; }
}

@media (max-width: 767px) {
    .elementor-section { padding: 30px 15px !important; }
    h1.elementor-heading-title { font-size: 24px !important; }
    h2.elementor-heading-title { font-size: 20px !important; }
    .elementor-button { padding: 12px 24px !important; font-size: 14px !important; }
}

@media (max-width: 480px) {
    .elementor-section { padding: 25px 12px !important; }
    h1.elementor-heading-title { font-size: 20px !important; }
    h2.elementor-heading-title { font-size: 18px !important; }
    p { font-size: 14px !important; }
}

/* ======== 心理健康知识 - 强制卡片布局 ======== */
/* 找到知识区块的直接子元素 */
#post-11 .elementor-element .elementor-widget:not(:first-child) {
    display: inline-block !important;
    width: 30% !important;
    margin: 1.5% !important;
    padding: 15px !important;
    background: #fff !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06) !important;
    vertical-align: top !important;
    text-align: left !important;
}

@media (max-width: 767px) {
    #post-11 .elementor-element .elementor-widget:not(:first-child) {
        width: 47% !important;
        margin: 1.5% !important;
    }
}

@media (max-width: 480px) {
    #post-11 .elementor-element .elementor-widget:not(:first-child) {
        width: 100% !important;
        margin: 10px 0 !important;
        display: block !important;
    }
}
