/* ==========================================================================
   关于我们 about / mode_34
   作用域类: .deco-module-about (.ly_about_34)
   模块级 CSS 变量由模板 <style th:inline="text"> 注入(--ab-* 前缀)
   每个 About 子项变量由 .ab-item[data-index] 内联 <style> 注入(--ab-item-* 前缀)
   ========================================================================== */

.deco-module-about { background-color: var(--ab-bg-color, #FCF6EC); }
.deco-module-about a { text-decoration: none; }
.deco-module-about .ab-container { margin: 0 auto; box-sizing: border-box; }
.deco-module-about .ab-container.module_width_1440 { width: 1440px; max-width: 100%; }
.deco-module-about .ab-container.module_width_full { width: 100%; }
.deco-module-about .ab-container.module_width_global { width: var(--deco-module-width, 1440px); max-width: 100%; }
.deco-module-about .ab-section { box-sizing: border-box; }

/* 顶部标题区 */
.deco-module-about .ab-top-info { text-align: center; }
.deco-module-about .ab-top-info.align_left { text-align: left; }
.deco-module-about .ab-top-info.align_right { text-align: right; }
.deco-module-about .ab-subtitle { font-size: var(--ab-pc-subtitle-font-size, 18px); color: var(--ab-subtitle-color, #514545); line-height: 1.556; }
.deco-module-about .ab-title { margin: 20px 0 0; font-size: var(--ab-pc-title-font-size, 50px); color: var(--ab-title-color, #403634); line-height: 1.2; font-weight: normal; }
.deco-module-about .ab-content { margin-top: 20px; font-size: var(--ab-pc-content-font-size, 18px); color: var(--ab-content-color, #535353); line-height: 1.556; }
/* 富文本(标题/正文)内部段落不额外带默认外边距, 由外层 margin 统一控制 */
.deco-module-about .ab-title > p,
.deco-module-about .ab-content > p { margin: 0; }

/* 卡片网格: 列数由 --ab-pc-columns / --ab-mobile-columns 控制 */
.deco-module-about .ab-list {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(var(--ab-pc-columns, 4), minmax(0, 1fr));
    gap: 30px;
    align-items: stretch;
}
.deco-module-about .ab-item {
    padding: 30px;
    box-sizing: border-box;
    border-radius: 20px;
    border: 1px solid var(--ab-item-card-border, #E0DAD1);
    background-color: var(--ab-item-card-bg, #F3ECE2);
    text-align: center;
}

/* 图标: 圆形底色 + 等比居中图片(原站 60px 见方) */
.deco-module-about .ab-item .ab-icon {
    margin: 0 auto 13px;
    width: 60px;
    height: 60px;
    border-radius: 100%;
    overflow: hidden;
    position: relative;
    background-color: var(--ab-item-icon-bg, #71422D);
}
.deco-module-about .ab-item .ab-icon img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.deco-module-about .ab-item .ab-item-title { margin: 0; font-size: var(--ab-item-pc-title-font-size, 20px); color: var(--ab-item-title-color, #584E4F); line-height: 1.5; font-weight: normal; }
.deco-module-about .ab-item .ab-item-content { margin-top: 13px; font-size: var(--ab-item-pc-content-font-size, 16px); color: var(--ab-item-content-color, #828282); line-height: 1.625; }
.deco-module-about .ab-item .ab-item-content > p { margin: 0; }

/* PC 端间距 (1001px+) */
@media screen and (min-width: 1001px) {
    .deco-module-about { padding-top: var(--ab-pc-padding-top, 80px); padding-bottom: var(--ab-pc-padding-bottom, 90px); }
    .deco-module-about .ab-section { padding-left: var(--ab-pc-padding-left, 0%); padding-right: var(--ab-pc-padding-right, 0%); }
}
/* 1480px 以下: module_width_1440/global 靠 max-width:100% 自适应缩放,不再硬设 96% */

/* 移动端 (1000px-) */
@media screen and (max-width: 1000px) {
    .deco-module-about { padding-top: var(--ab-mobile-padding-top, 30px); padding-bottom: var(--ab-mobile-padding-bottom, 40px); }
    .deco-module-about .ab-section { padding-left: var(--ab-mobile-padding-left, 3%); padding-right: var(--ab-mobile-padding-right, 3%); }
    .deco-module-about .ab-subtitle { font-size: var(--ab-mobile-subtitle-font-size, 16px); }
    .deco-module-about .ab-title { margin-top: 10px; font-size: var(--ab-mobile-title-font-size, 32px); }
    .deco-module-about .ab-content { margin-top: 12px; font-size: var(--ab-mobile-content-font-size, 14px); }
    .deco-module-about .ab-list {
        margin-top: 20px;
        grid-template-columns: repeat(var(--ab-mobile-columns, 2), minmax(0, 1fr));
        gap: 15px;
    }
    .deco-module-about .ab-item { padding: 20px 15px; }
    .deco-module-about .ab-item .ab-icon { width: 45px; height: 45px; }
    .deco-module-about .ab-item .ab-item-title { font-size: var(--ab-item-mobile-title-font-size, 16px); }
    .deco-module-about .ab-item .ab-item-content { font-size: var(--ab-item-mobile-content-font-size, 14px); }
}
