/* ================================================
 * Chongyue 首页样式 - 完整对齐静态 index.html
 * 对应: view/chongyue/index.htm
 * ================================================ */

/* ===== Banner 轮播 ===== */
/* 对应静态中 .do-element-swiper / .do-element-slide 相关 */
.do-element-swiper { position: relative; min-height: 100px; }
.do-element-swiper .swiper-container,
.do-element-swiper .bgimg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.do-element-swiper .swiper-container { overflow: hidden; }
.do-element-slide { position: relative; }
.do-element-slide .swiper-container { height: 100%; }
.do-element-slide-img { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }
.do-slide-bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.do-slide-bg-conter { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-size: cover; background-position: 50% 50%; background-repeat: no-repeat; }
.bgimg { background-repeat: no-repeat; background-position: 50% 50%; background-size: cover; }

/* Banner 箭头 / 分页 - 对应静态 head 中的 style 块 */
.do-element-swiper .swiper-button-prev,
.do-element-swiper .swiper-button-next,
.do-banner .swiper-button-prev,
.do-banner .swiper-button-next { display: block !important; }

.cy-banner { position: relative; width: 100%; overflow: hidden; }
.cy-banner .swiper-button-prev,
.cy-banner .swiper-button-next {
    width: 27px !important; height: 48px !important; margin-top: -24px !important;
    background-size: 14px auto !important; background-color: rgba(0,0,0,0.5) !important;
    opacity: 1 !important; display: block !important;
}
.cy-banner .swiper-pagination { display: block !important; bottom: 12px !important; }
.cy-banner .swiper-pagination-bullet { background: rgba(255,255,255,0.6); opacity: 1; }
.cy-banner .swiper-pagination-bullet-active { background: #d81e06; }

/* ===== 会议服务图标列表（完全自定义，swiper+简单img） ===== */
.cy-conf-swiper-wrap {
    position: relative;
    /* 两侧留出箭头空间 */
    padding: 0 44px;
    box-sizing: border-box;
}
.cy-conf-swiper {
    overflow: hidden;
    width: 100%;
}
.cy-service-list { list-style: none; margin: 0; padding: 0; }
.cy-service-list.swiper-wrapper { display: flex; flex-wrap: nowrap; }
.cy-service-list .swiper-slide {
    text-align: center;
    padding: 0 10px 10px;
    box-sizing: border-box;
    flex-shrink: 0;
    width: 20%; /* 5列 */
}
/* 图标容器：固定高度，图标居中不拉伸 */
.cy-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.5vw;
    max-height: 60px;
    margin-bottom: 12px;
}
.cy-service-icon img {
    display: block;
    width: auto !important;
    height: 100% !important;
    max-height: 90px !important;
    max-width: none !important;
    object-fit: contain;
}
.cy-service-name {
    color: #fff;
    font-size: 15px;
    margin: 0 0 6px;
    text-align: center;
}
.cy-service-desc {
    color: #ddd;
    font-size: 13px;
    line-height: 1.6;
    text-align: left;
    margin: 0;
}
/* 左右箭头：固定在 wrap 两侧，垂直居于图标区中间 */
.cy-conf-swiper-wrap .swiper-button-prev,
.cy-conf-swiper-wrap .swiper-button-next {
    display: block !important;
    position: absolute !important;
    top: 42% !important;
    transform: translateY(-50%);
    margin-top: 0 !important;
    width: 36px !important;
    height: 36px !important;
    background-size: 18px !important;
}
.cy-conf-swiper-wrap .swiper-button-prev { left: 0 !important; }
.cy-conf-swiper-wrap .swiper-button-next { right: 0 !important; }

/* ===== 通用媒体列表基础布局 ===== */
.do-element-media-conter { position: relative; }
.do-media-image-box { overflow: hidden; position: relative; }
.do-media-image { width: 100%; position: relative; overflow: hidden; }
.do-media-image-conter { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }
.do-media-image-conter img { width: 100%; height: 100%; object-fit: cover; }

/* sizeimg 图标模式：图标居中，不拉伸铺满 */
.sizeimg .do-middle {
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    display: flex; align-items: center; justify-content: center;
}
.sizeimg .do-middle-center { text-align: center; }
/* 覆盖 framework.css 的 max-width:none max-height:none，图标限制在160px */
.sizeimg .do-middle-center img {
    width: 160px !important;
    height: auto !important;
    max-width: 160px !important;
    max-height: 160px !important;
    object-fit: contain;
}

/* 通用标题区 */
.do-title { padding: 10px 15px; }
/* 覆盖 framework 的 table/table-cell，改为 block 正常流 */
.do-title-body { display: block !important; overflow: visible !important; width: 100%; }
.do-title-content { display: block !important; width: 100%; }
.do-html-content.title { display: block; }
.do-html-content.des { display: block; }

/* ===== 会议服务区（area_427011_0）专属 ===== */
/* des（描述文字）隐藏，只显示标题名称 */
#area_427011_0 .do-html-content.des { display: none !important; }
/* title 高度自适应，不截断 */
#area_427011_0 .do-html-content.title { height: auto !important; overflow: visible !important; }

/* ===== 服务项目区（area_427011_1）专属 ===== */
.do-ur70b .do-element-media-conter { padding: 10px; }
.do-ur70b .do-title .des * { font-size: 14px; line-height: 1.5em; text-align: left; }

/* 固定 title 区高度（标题+英文+hr+3行描述），所有列"查看更多"按钮对齐 */
#area_427011_1 .do-html-content.title {
    height: 9em;
    overflow: hidden;
    box-sizing: border-box;
    line-height: 1.6;
}
/* 查看更多居中 */
#area_427011_1 .do-html-content.des { text-align: center; }

/* .ly-btn hover 上移效果 */
.ly-btn .do-title .des p span {
    background-color: #ba2222;
    padding: 6px 16px;
    border-radius: 30px;
}
.ly-btn li .do-element-media-conter { position: relative; top: 0; transition: all 0.3s; }
.ly-btn li:hover .do-element-media-conter { top: -20px; }

/* ===== 公司历程区（对应静态 area_427011_2，白色背景） ===== */
/* .do-ur6zk MORE按钮 - 对应静态内联 style 块 */
.do-ur6zk .do-btn { color: rgb(255,255,255); background-color: rgb(216,30,6); }
.do-ur6zk .do-btn,
.do-ur6zk .do-btn p,
.do-ur6zk .do-btn span { font-size: 16px; }

/* 标题行和时间轴之间保留间距，防止重叠 */
.huzi-list { margin-top: 40px; }

/* .do-1op6hp 公司历程列表 - 对应静态 .do-1op6hp */
.do-1op6hp .do-middle-center img { width: 20%; }

/* .huzi-list 公司历程时间轴样式 - 对应静态内联 style 块 */
.huzi-list .do-element-media-conter .do-media-image { display: none; }
.huzi-list .do-element-media-conter { padding: 30px 30px 60px 29px; transition-duration: 0.8s; }
.huzi-list .do-element-media-conter:hover { box-shadow: 0 5px 65px 0 rgba(0,0,0,0.3); }
.huzi-list,
.huzi-list .do-media-image-conter { overflow: visible !important; }
.huzi-list p { text-align: initial; }
.huzi-list .do-middle-center { text-align: left; }
.huzi-list .do-element-media-content { border-top: 1px solid #ccc; }
/* 修复 table-cell 导致时间轴内容区塌陷 */
.huzi-list .do-title-body { display: block !important; overflow: visible !important; }
.huzi-list .do-title-content { display: block !important; }
.huzi-list .do-title { overflow: visible !important; }
/* 消除标题文字上方多余的 border（来自 do-element-text-content 的默认样式） */
.do-element-text-content { border: none !important; outline: none !important; box-shadow: none !important; }

@media only screen and (min-width: 640px) {
    .huzi-list ul { margin-left: 20px !important; }
    .huzi-list .swiper-button-prev { margin-left: -50px; }
    .huzi-list .swiper-button-next { margin-right: -50px; }
    .huzi-list .do-element-media-content.lg ul li { padding: 0; }
    .huzi-list li { border-left: 1px solid #ccc; }
    .huzi-list li:after {
        content: ""; display: block; position: absolute; bottom: 0; left: -8px;
        width: 16px; height: 16px; background-color: #ccc; border-radius: 10px; z-index: 10;
    }
    .huzi-list .do-element-media-conter:hover { animation-duration: 0.8s; animation-name: bounce; }
    .huzi-list.do-swiper > .swiper-pagination { bottom: -50px; }
    .huzi-list .swiper-pagination-bullet { background-color: #cb241c; }
    .huzi-list .swiper-button-prev { left: 0; right: auto; }
    .huzi-list .swiper-button-next { right: 0; left: auto; }
    .huzi-list.do-swiper .swiper-button-next,
    .huzi-list.do-swiper .swiper-button-prev { background-color: rgba(203,36,28,0.5); transition: all 0.3s; }
    .huzi-list .swiper-button-prev:hover,
    .huzi-list .swiper-button-next:hover { background-color: rgba(203,36,28,0.5); }
    .huzi-list .swiper-button-next,
    .huzi-list .swiper-button-prev { width: 48px; }
}

/* ===== 成功案例区（对应静态 area_427011_3，深色 rgb(27,28,32) 背景） ===== */
/* .ly-red hover遮罩 - 对应静态内联 style 块 */
.ly-red .do-caption-overlay-hover-cover .do-title { background-color: rgba(255,255,255,0.6); }

/* .do-ur704 案例格子边框 - 对应静态内联 style 块 */
.do-ur704 .do-middle-center img { width: 100%; }
.do-ur704 .do-element-media-conter { border: 2px solid rgb(27,28,32); }

/* 修复案例图片填满容器：覆盖 framework 的 max-width:none，让图片等比裁剪填满格子 */
.do-ur704 .do-media-image-conter img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    position: absolute;
    top: 0; left: 0;
}

/* ===== 响应式 half列（公司历程/成功案例标题行） ===== */
@media only screen and (max-width: 640px) {
    .do-row.half .do-col-6 { width: 50% !important; float: left !important; margin: 0 10px; }
    .do-row.half [class*=do-col] { margin: 0; }
}

/* ===== 通用 Section 区块包装（动态版自定义类） ===== */
.cy-section { padding: 60px 0; }
.cy-section-dark { background: #1b1c20; }
.cy-section-light { background: #f7f7f7; }
.cy-section-white { background: #fff; }
.cy-section-title { text-align: center; margin-bottom: 40px; }
.cy-section-title .en { font-size: 30px; font-family: Impact, Charcoal, sans-serif; color: #d81e06; line-height: 1; }
.cy-section-title .sep { color: #d81e06; font-size: 18px; margin: 6px 0; }
.cy-section-title .zh { font-size: 22px; color: #333; line-height: 1.2; }
.cy-section-dark .cy-section-title .en,
.cy-section-dark .cy-section-title .sep { color: #d81e06; }
.cy-section-dark .cy-section-title .zh { color: #fff; }

/* ===== 关于我们 ===== */
.cy-about-wrap { max-width: 900px; margin: 0 auto; text-align: center; padding: 0 20px; }
.cy-about-wrap p { color: #555; font-size: 15px; line-height: 1.9; margin-bottom: 30px; }
.cy-btn-red { display: inline-block; background: #d81e06; color: #fff; padding: 10px 36px; font-size: 15px; border-radius: 2px; text-decoration: none; }
.cy-btn-red:hover { background: #b71a05; }

/* 覆盖 framework .do-btn { width:100% }，关于我们区 / 新闻资讯区 / 合作伙伴区 MORE 按钮宽度自适应 */
#area_427011_4 .do-btn,
#area_427011_5 .do-btn,
#area_427011_6 .do-btn {
    width: auto !important;
    display: inline-block !important;
    height: auto !important;
    line-height: normal !important;
    padding: 10px 24px !important;
}

/* 关于我们右侧图片填满格子，等比裁剪，覆盖 framework max-width:none */
#area_427011_4 .do-media-image-conter img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: cover !important;
    position: absolute;
    top: 0; left: 0;
}

/* ===== 新闻资讯 ===== */
.cy-news-list { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.cy-news-item { display: flex; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid #eee; }
.cy-news-item img { width: 180px; height: 120px; object-fit: cover; flex-shrink: 0; }
.news-body { flex: 1; }
.news-title { font-size: 16px; margin-bottom: 10px; }
.news-title a { color: #333; text-decoration: none; }
.news-title a:hover { color: #d81e06; }
.news-date { font-size: 13px; color: #999; }
.cy-btn-outline { display: inline-block; border: 1px solid #d81e06; color: #d81e06; padding: 10px 36px; font-size: 15px; border-radius: 2px; text-decoration: none; }
.cy-btn-outline:hover { background: #d81e06; color: #fff; }

/* ===== 联系入口 ===== */
.cy-contact-bar { background: #d81e06; text-align: center; padding: 50px 20px; }
.cy-contact-bar h3 { color: #fff; font-size: 28px; margin: 0 0 12px; }
.cy-contact-bar p { color: rgba(255,255,255,0.85); font-size: 15px; margin: 0 0 30px; }
.cy-contact-btn { display: inline-block; border: 2px solid #fff; color: #fff; padding: 12px 48px; font-size: 16px; border-radius: 2px; text-decoration: none; transition: all 0.3s; }
.cy-contact-btn:hover { background: #fff; color: #d81e06; }

/* ===== wow 动画修复 ===== */
.wow { visibility: visible !important; }

/* ===== 进场滚动动画 ===== */
.scroll-animate { opacity: 0; transform: translateY(40px); transition: opacity 0.7s ease, transform 0.7s ease; }
.scroll-animate.in-view { opacity: 1; transform: translateY(0); }

/* ===== 首页新闻资讯 ===== */
.cy-idx-news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1200px;margin:0 auto;}
@media(max-width:900px){.cy-idx-news-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.cy-idx-news-grid{grid-template-columns:1fr;}}
.cy-idx-news-card{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid #eee;overflow:hidden;transition:box-shadow .3s;}
.cy-idx-news-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.12);}
.cy-idx-news-img{position:relative;overflow:hidden;padding-top:100%;}
.cy-idx-news-img img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.cy-idx-news-card:hover .cy-idx-news-img img{transform:scale(1.06);}
.cy-idx-news-noimg{position:absolute;top:0;left:0;width:100%;height:100%;background:#eee;}
.cy-idx-news-overlay{position:absolute;bottom:0;left:0;right:0;padding:10px 12px;background:linear-gradient(transparent,rgba(0,0,0,.5));}
.cy-idx-news-date{color:#fff;font-size:12px;}
.cy-idx-news-body{padding:14px;}
.cy-idx-news-body h4{font-size:14px;color:#333;line-height:1.6;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cy-idx-news-body p{font-size:12px;color:#999;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* ===== 首页合作伙伴（ly-partner3，对应静态内联样式） ===== */
.ly-partner3 .do-element-media-li .do-element-media-conter {
    filter: grayscale(0);
    opacity: 1;
    transition: all 0.8s;
    background-color: rgba(255,255,255,0.9);
    border: 1px solid rgba(0,0,0,0);
}
.ly-partner3 .do-element-media-li .do-element-media-conter:hover {
    border: 1px solid #ccc;
}
.ly-partner3 .do-element-media-li:hover .do-element-media-conter {
    filter: grayscale(0);
    opacity: 1;
    transform: rotateY(360deg);
}
/* 合作伙伴图片居中填充 */
.ly-partner3 .do-media-image-conter img {
    max-width: 80%;
    max-height: 80%;
    width: auto;
    height: auto;
    object-fit: contain;
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
}
.ly-partner3 .do-element-media-li:hover .do-media-image-conter img {
    transform: translate(-50%, -50%);
}
