@charset "utf-8";
/* ============================================
   南宁语光贸易有限公司 - 全站样式
   基于参考站 demoall.5fa.cn/30970 还原
   主色: #af80b7  辅色: #9b59b6
   ============================================ */

/* === Reset & Base === */
html { font-size: 625%; }
body, html, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, th, td, form, object, iframe, blockquote, pre, a, abbr, address, code, img, fieldset, form, label, figure { margin: 0; padding: 0; }
body, html, input, button, textarea { color: #333; font-family: "Microsoft YaHei", Arial, Helvetica, sans-serif; line-height: 1.5; }
body { font-size: 14px; background: #fff; width: 100%; min-width: 320px; overflow-x: hidden; }
article, aside, figcaption, figure, footer, header, main, nav, section { display: block; }
img { border: none; vertical-align: middle; max-width: 100%; }
li { list-style: none; }
i, em { font-style: normal; }
a { color: #333; text-decoration: none; transition: all 0.3s ease; }
a:hover { color: #af80b7; text-decoration: none; }
a:focus { outline: none; }
* { box-sizing: border-box; outline: 0; }

/* === Layout === */
.layout { width: 1200px; margin: 0 auto; position: relative; }

/* === Utility === */
.clearfix:after, .layout:after, .flex_row:after, .product_items:after, .apply_items:after, .news_items:after, .company_intr_item:after { content: ""; display: block; clear: both; visibility: hidden; height: 0; }
.hide { display: none; }
.flex_row { display: flex; flex-direction: row; flex-wrap: wrap; }
.img-fallback { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 200px; color: #fff; font-size: 14px; border-radius: 8px; }

/* === Section Title (index_hd) === */
.index_hd { margin-bottom: 40px; text-align: center; color: #000; }
.index_hd .hd_inner { display: inline-block; min-width: 300px; padding: 15px 20px 0; position: relative; }
.index_hd .hd_inner::before { content: ''; display: block; border: 1px solid #777; position: absolute; left: 0; top: 0; right: 0; bottom: 10px; }
.index_hd .hd_title { display: block; font-size: 30px; line-height: 1.2; padding: 0 1em; background-color: #fff; position: relative; z-index: 1; }
.index_hd .hd_title .txt_default { color: #000; }
.index_hd .hd_title .txt_impt { color: #af80b7; }
.index_hd .hd_desc { display: inline-block; font-size: 14px; font-weight: bold; letter-spacing: 2px; position: relative; z-index: 1; background-color: #fff; padding: 0 40px; color: #999; }

/* === Top Header === */
.top_header { background: #fff; border-bottom: 1px solid #eee; padding: 10px 0; }
.top_header .layout { display: flex; align-items: center; justify-content: space-between; }
.top_logo { display: flex; align-items: center; gap: 12px; }
.top_logo a { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.top_logo_svg { width: 50px; height: 50px; flex-shrink: 0; }
.top_logo_text { display: flex; flex-direction: column; }
.top_logo_brand { font-size: 20px; font-weight: 700; color: #333; line-height: 1.3; }
.top_logo_sub { font-size: 12px; color: #999; letter-spacing: 3px; }
.top_phone { display: flex; align-items: center; gap: 8px; font-size: 16px; color: #af80b7; font-weight: 600; }
.top_phone_svg { width: 20px; height: 20px; fill: #af80b7; }

/* === Navigation (web_head / nav_wrap) === */
.web_head { background: #fff; position: relative; z-index: 100; }
.head_layer .layout { display: flex; align-items: center; position: relative; }
.nav_wrap { flex: 1; text-align: center; padding: 0; }
.head_nav { display: inline-flex; position: relative; z-index: 2; }
.head_nav > li { display: inline-block; line-height: 60px; font-size: 15px; position: relative; }
.head_nav > li > a { display: inline-block; color: #000; padding: 0 22px; text-transform: uppercase; position: relative; transition: all 0.3s ease; }
.head_nav > li > a > em { vertical-align: middle; display: inline-block; position: relative; z-index: 1; }
.head_nav > li > a::before { content: ''; display: block; width: 0; height: 100%; position: absolute; left: 0; top: 0; z-index: -1; transition: all 0.3s ease-in-out; background-color: #af80b7; }
.head_nav > li:hover > a, .head_nav > li.nav-current > a { color: #fff; }
.head_nav > li:hover > a::before, .head_nav > li.nav-current > a::before { width: 100%; background-color: #af80b7; }
/* Dropdown */
.head_nav > li > ul { width: 200px; padding: 10px 0; border: 1px solid #ddd; background-color: #fff; position: absolute; left: 0; top: 100%; z-index: 999; transform: translateY(10px); opacity: 0; visibility: hidden; transition: all 0.3s ease; box-shadow: 2px 2px 10px rgba(0,0,0,0.08); }
.head_nav > li > ul::before { content: ''; display: block; height: 2px; background-color: #af80b7; position: absolute; left: -1px; right: -1px; top: -1px; }
.head_nav > li:hover > ul { transform: none; opacity: 1; visibility: visible; }
.head_nav > li > ul > li { position: relative; text-align: left; padding: 0 20px; }
.head_nav > li > ul > li > a { display: block; line-height: 1.8em; padding: 6px 0; font-size: 14px; color: #333; border-bottom: 1px solid #f5f5f5; transition: all 0.3s ease; }
.head_nav > li > ul > li > a:hover { color: #af80b7; }
.head_nav > li > ul > li:last-child > a { border-bottom: none; }
/* Mobile menu button */
.btn_mobile_menu { display: none; width: 40px; height: 40px; cursor: pointer; position: relative; z-index: 200; background: none; border: none; }
.btn_mobile_menu span { display: block; width: 24px; height: 2px; background: #333; margin: 6px auto; transition: all 0.3s ease; }
.btn_mobile_menu.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 6px); }
.btn_mobile_menu.active span:nth-child(2) { opacity: 0; }
.btn_mobile_menu.active span:nth-child(3) { transform: rotate(-45deg) translate(5px, -6px); }

/* === Banner Slider === */
.slider_banner { margin-bottom: 60px; position: relative; overflow: hidden; }
.slider_wrapper { display: flex; transition: transform 0.5s ease; }
.slider_slide { min-width: 100%; position: relative; }
.slider_slide img { width: 100%; height: 500px; object-fit: cover; display: block; }
.slider_control { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 10; }
.slider_dot { width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,0.5); cursor: pointer; transition: all 0.3s ease; border: none; }
.slider_dot.active { background: #af80b7; transform: scale(1.2); }
.slider_btn_prev, .slider_btn_next { position: absolute; top: 50%; transform: translateY(-50%); width: 50px; height: 50px; background: rgba(0,0,0,0.3); color: #fff; border: none; cursor: pointer; font-size: 24px; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; z-index: 10; }
.slider_btn_prev { left: 20px; }
.slider_btn_next { right: 20px; }
.slider_btn_prev:hover, .slider_btn_next:hover { background: #af80b7; }
.slider_overlay { position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.2); display: flex; align-items: center; justify-content: center; }
.slider_text { text-align: center; color: #fff; }
.slider_text h2 { font-size: 42px; font-weight: 700; margin-bottom: 15px; text-shadow: 2px 2px 4px rgba(0,0,0,0.3); }
.slider_text p { font-size: 18px; margin-bottom: 20px; text-shadow: 1px 1px 2px rgba(0,0,0,0.3); }

/* === Buttons === */
.sys_btn { position: relative; display: inline-block; border-radius: 2em; overflow: hidden; color: #fff !important; background: #af80b7; font-size: 16px; font-weight: 400; text-align: center; padding: 0.5em 1.2em; line-height: 1.5em; transition: all 0.4s ease; text-decoration: none; z-index: 1; cursor: pointer; border: none; }
.sys_btn:hover { color: #fff !important; background: #9b59b6; }
.sys_btn .sys_btn_circle { background-color: #9b59b6; border-radius: 1000px; position: absolute; left: 0; top: 0; width: 0; height: 0; pointer-events: none; z-index: -1; }
.sys_btn_white { color: #af80b7 !important; background: #fff; }
.sys_btn_white:hover { color: #fff !important; background: #9b59b6; }

/* === Product Section (index_product) === */
.index_product { margin-bottom: 80px; }
.product_items { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.product_item { width: 25%; padding: 0 15px; margin-bottom: 30px; }
.product_item figure { margin: 0; background-color: #fff; transition: all 0.3s ease; }
.product_item .item_img { display: block; position: relative; width: 100%; overflow: hidden; padding: 4px; border: 1px solid #ddd; border-radius: 4px; }
.product_item .item_img img { width: 100%; height: 220px; object-fit: cover; display: block; transition: all 1s ease; }
.product_item .item_img a { display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 1; background-color: rgba(255,255,255,0.01); }
.product_item .item_img a::before { content: ''; display: block; width: 100%; height: 100%; background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.4)); position: absolute; left: -75%; top: -50%; transform: skewX(-25deg); width: 50%; z-index: 2; opacity: 0; transition: all 0.6s ease-in-out; }
.product_item figure:hover .item_img { border-color: #af80b7; }
.product_item figure:hover .item_img img { transform: scale(1.1); }
.product_item figure:hover .item_img a::before { opacity: 1; left: 125%; }
.product_item figcaption { padding: 12px 8px; }
.product_item .item_title { font-weight: normal; font-size: 15px; text-align: center; }
.product_item .item_title a { display: block; line-height: 1.4em; color: #333; }
.product_item .item_title a:hover { color: #af80b7; }
/* Product swiper control */
.index_swiper_control { text-align: center; margin-top: 10px; }
.swiper-buttons { display: inline-flex; gap: 15px; }
.swiper-button-prev, .swiper-button-next { width: 40px; height: 40px; border: 1px solid #ddd; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #333; transition: all 0.3s ease; background: #fff; }
.swiper-button-prev:hover, .swiper-button-next:hover { background: #af80b7; color: #fff; border-color: #af80b7; }

/* === About Section (index_company_intr) === */
.index_company_intr { margin-bottom: 80px; }
.company_intr_item { display: flex; align-items: stretch; gap: 40px; }
.company_intr_img { flex: 1; min-width: 0; overflow: hidden; border-radius: 4px; }
.company_intr_img img { width: 100%; height: 350px; object-fit: cover; display: block; transition: transform 0.6s ease; }
.company_intr_img:hover img { transform: scale(1.05); }
.company_intr_cont { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.intr_item_tit { font-size: 24px; font-weight: 600; margin-bottom: 15px; color: #333; }
.intr_item_desc { font-size: 15px; line-height: 1.8; color: #666; margin-bottom: 20px; text-align: justify; }
.learn_more { margin-top: 10px; }

/* === Hot Products / Apply Section (index_apply) === */
.index_apply { margin-bottom: 80px; }
.apply_items { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.apply_item { width: 25%; padding: 0 15px; margin-bottom: 20px; }
.apply_item .item_inner { margin: 0; overflow: hidden; border-radius: 4px; }
.apply_item .item_img { overflow: hidden; position: relative; }
.apply_item .item_img img { width: 100%; height: 260px; object-fit: cover; display: block; transition: transform 0.6s ease; }
.apply_item:hover .item_img img { transform: scale(1.08); }
.apply_item .item_img a::after { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(175,128,183,0); transition: all 0.3s ease; }
.apply_item:hover .item_img a::after { background: rgba(175,128,183,0.2); }
.apply_item .item_info { padding: 15px; text-align: center; background: #f9f9f9; }
.apply_item .item_name a { font-size: 15px; color: #333; display: block; }
.apply_item .item_name a:hover { color: #af80b7; }

/* === News Section (index_news) === */
.index_news { margin-bottom: 60px; }
.news_items { padding: 0; }
.news_cell { display: flex; align-items: flex-start; gap: 25px; padding: 20px 0; border-bottom: 1px solid #eee; transition: all 0.3s ease; }
.news_cell:hover { background: #fafafa; }
.cell_time { flex-shrink: 0; text-align: center; padding: 10px 15px; background: #f5f5f5; border-radius: 4px; min-width: 90px; }
.cell_time .time_day { display: block; font-size: 28px; font-weight: 700; color: #af80b7; line-height: 1.2; }
.cell_time .time_month { display: block; font-size: 13px; color: #999; }
.cell_bd { flex: 1; }
.news_tit { font-size: 17px; font-weight: 500; margin-bottom: 8px; }
.news_tit a { color: #333; display: block; }
.news_tit a:hover { color: #af80b7; }
.news_desc { font-size: 14px; color: #888; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* === Subscribe / CTA Section === */
.company_subscribe { padding: 80px 0; background-size: cover; background-position: center; background-attachment: fixed; position: relative; }
.company_subscribe::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); }
.company_subscribe .layout { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.subscribe_cont { flex: 1; }
.subscribe_title { font-size: 32px; color: #fff; margin-bottom: 15px; font-weight: 600; }
.subscribe_desc { font-size: 15px; color: rgba(255,255,255,0.85); line-height: 1.8; max-width: 700px; }

/* === Footer === */
.web_footer { text-align: center; padding-top: 20px; padding-bottom: 20px; background: #fff; }
.foot_contact { padding: 25px 0; border-top: 2px solid #af80b7; border-bottom: 2px solid #e8e8e8; margin-bottom: 20px; }
.foot_contact .contact_list { display: flex; justify-content: space-between; align-items: center; margin: 0 -10px; }
.foot_contact .contact_item { display: inline-flex; align-items: center; font-size: 15px; padding: 10px; line-height: 1.5; gap: 10px; }
.foot_contact .contact_ico { display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center; flex-shrink: 0; }
.foot_contact .contact_ico svg { width: 18px; height: 18px; fill: #af80b7; }
.foot_contact .contact_txt { display: inline; }
.foot_contact .contact_item a { color: #333; }
.foot_contact .contact_item a:hover { color: #af80b7; }
.foot_bar { padding: 20px 0; }
.foot_sns { padding-bottom: 10px; display: flex; justify-content: center; gap: 8px; }
.foot_sns li a { display: inline-flex; width: 36px; height: 36px; background-color: #e8e8e8; border-radius: 50%; align-items: center; justify-content: center; transition: all 0.3s ease; }
.foot_sns li a:hover { background-color: #af80b7; border-radius: 40%; transform: rotate(60deg); }
.foot_sns li svg { width: 16px; height: 16px; fill: #666; }
.foot_sns li a:hover svg { fill: #fff; }
.copyright { line-height: 1.8; font-size: 14px; color: #999; padding-top: 10px; }
.copyright a { color: #999; }
.copyright a:hover { color: #af80b7; }

/* === Page Banner (inner pages) === */
.page_banner { position: relative; height: 250px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.page_banner img { width: 100%; height: 100%; object-fit: cover; position: absolute; left: 0; top: 0; }
.page_banner::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.45); z-index: 1; }
.page_banner .page_banner_text { position: relative; z-index: 2; text-align: center; color: #fff; }
.page_banner .page_banner_text h1 { font-size: 32px; font-weight: 600; margin-bottom: 10px; }
.page_banner .page_banner_text p { font-size: 16px; color: rgba(255,255,255,0.8); }

/* === Breadcrumb === */
.breadcrumb { padding: 15px 0; font-size: 14px; color: #999; border-bottom: 1px solid #eee; margin-bottom: 30px; }
.breadcrumb a { color: #666; }
.breadcrumb a:hover { color: #af80b7; }
.breadcrumb span { margin: 0 8px; color: #ccc; }
.breadcrumb .current { color: #af80b7; }

/* === Product List Page === */
.product_list { margin-bottom: 60px; }
.product_list ul { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.product_list_item { width: 25%; padding: 0 15px; margin-bottom: 30px; }
.product_list_item .item_img { display: block; position: relative; width: 100%; overflow: hidden; padding: 4px; border: 1px solid #ddd; border-radius: 4px; }
.product_list_item .item_img img { width: 100%; height: 220px; object-fit: cover; display: block; transition: all 1s ease; }
.product_list_item .item_img a { display: block; }
.product_list_item figure:hover .item_img { border-color: #af80b7; }
.product_list_item figure:hover .item_img img { transform: scale(1.1); }
.product_list_item figcaption { padding: 12px 8px; text-align: center; }
.product_list_item .item_title { font-size: 15px; font-weight: normal; }
.product_list_item .item_title a { color: #333; }
.product_list_item .item_title a:hover { color: #af80b7; }

/* === Product Detail === */
.product_detail { margin-bottom: 60px; }
.product_intro { display: flex; gap: 40px; margin-bottom: 40px; }
.product_gallery { flex: 1; min-width: 0; }
.product_gallery img { width: 100%; height: 400px; object-fit: cover; border-radius: 4px; border: 1px solid #eee; }
.product_info { flex: 1; min-width: 0; }
.product_info h1 { font-size: 24px; font-weight: 600; color: #333; margin-bottom: 15px; }
.product_info .product_desc { font-size: 15px; line-height: 1.8; color: #666; margin-bottom: 20px; }
.product_params { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
.product_params th { background: #f5f5f5; padding: 10px 15px; text-align: left; font-weight: 600; width: 120px; border: 1px solid #eee; font-size: 14px; }
.product_params td { padding: 10px 15px; border: 1px solid #eee; font-size: 14px; color: #666; }
.product_features { margin-bottom: 30px; }
.product_features h3 { font-size: 18px; margin-bottom: 15px; color: #333; }
.feature_item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.feature_icon { width: 36px; height: 36px; background: #f3e8f7; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.feature_icon svg { width: 18px; height: 18px; fill: #af80b7; }
.feature_text { font-size: 15px; line-height: 1.6; color: #666; }
.related_products { margin-top: 40px; }
.related_products h3 { font-size: 20px; margin-bottom: 20px; text-align: center; }
.related_list { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.related_item { width: 25%; padding: 0 15px; }
.related_item img { width: 100%; height: 180px; object-fit: cover; border-radius: 4px; border: 1px solid #eee; }
.related_item .item_title { text-align: center; font-size: 14px; margin-top: 10px; }
.related_item .item_title a { color: #333; }
.related_item .item_title a:hover { color: #af80b7; }

/* === News List Page === */
.news_list { margin-bottom: 60px; }
.news_list_item { display: flex; gap: 25px; padding: 20px 0; border-bottom: 1px solid #eee; align-items: flex-start; transition: all 0.3s ease; }
.news_list_item:hover { background: #fafafa; }
.news_thumb { flex-shrink: 0; width: 200px; height: 140px; overflow: hidden; border-radius: 4px; }
.news_thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.news_list_item:hover .news_thumb img { transform: scale(1.05); }
.news_body { flex: 1; }
.news_body h3 { font-size: 18px; font-weight: 500; margin-bottom: 8px; }
.news_body h3 a { color: #333; }
.news_body h3 a:hover { color: #af80b7; }
.news_body .news_date { font-size: 13px; color: #999; margin-bottom: 8px; }
.news_body .news_summary { font-size: 14px; color: #888; line-height: 1.7; }

/* === News Detail === */
.news_detail { margin-bottom: 60px; }
.news_detail_header { margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px solid #eee; }
.news_detail_header h1 { font-size: 24px; font-weight: 600; margin-bottom: 10px; color: #333; }
.news_detail_header .news_meta { font-size: 14px; color: #999; }
.news_detail_content { font-size: 15px; line-height: 2; color: #555; }
.news_detail_content p { margin-bottom: 15px; text-indent: 2em; }
.news_detail_content img { max-width: 100%; border-radius: 4px; margin: 15px 0; }
.news_nav { display: flex; justify-content: space-between; margin-top: 30px; padding-top: 20px; border-top: 1px solid #eee; font-size: 14px; }
.news_nav a { color: #666; }
.news_nav a:hover { color: #af80b7; }

/* === About Page === */
.about_section { margin-bottom: 50px; }
.about_section h2 { font-size: 22px; color: #333; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #af80b7; display: inline-block; }
.about_text { font-size: 15px; line-height: 2; color: #666; text-indent: 2em; margin-bottom: 15px; }
.about_img { width: 100%; max-height: 400px; object-fit: cover; border-radius: 4px; margin: 20px 0; }
/* Timeline */
.timeline { position: relative; padding: 20px 0; }
.timeline::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: #af80b7; transform: translateX(-50%); }
.timeline_item { display: flex; align-items: flex-start; margin-bottom: 30px; position: relative; }
.timeline_item:nth-child(odd) { flex-direction: row-reverse; text-align: right; }
.timeline_dot { position: absolute; left: 50%; transform: translateX(-50%); width: 16px; height: 16px; background: #af80b7; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 2px #af80b7; z-index: 1; }
.timeline_content { width: 45%; padding: 15px; background: #f9f5fa; border-radius: 4px; }
.timeline_item:nth-child(odd) .timeline_content { margin-right: auto; margin-left: 55%; }
.timeline_item:nth-child(even) .timeline_content { margin-left: auto; margin-right: 55%; }
.timeline_year { font-size: 18px; font-weight: 700; color: #af80b7; margin-bottom: 5px; }
.timeline_text { font-size: 14px; color: #666; line-height: 1.6; }
/* Culture Cards */
.culture_cards { display: flex; gap: 20px; margin-bottom: 40px; }
.culture_card { flex: 1; text-align: center; padding: 30px 20px; background: #f9f5fa; border-radius: 8px; transition: all 0.3s ease; }
.culture_card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(175,128,183,0.15); }
.culture_card svg { width: 40px; height: 40px; fill: #af80b7; margin-bottom: 15px; }
.culture_card h4 { font-size: 18px; margin-bottom: 10px; color: #333; }
.culture_card p { font-size: 14px; color: #888; line-height: 1.6; }
/* Team */
.team_grid { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.team_member { width: 25%; padding: 0 15px; margin-bottom: 30px; text-align: center; }
.team_member img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin-bottom: 12px; border: 3px solid #f3e8f7; }
.team_member h4 { font-size: 16px; margin-bottom: 5px; color: #333; }
.team_member p { font-size: 13px; color: #999; }

/* === Contact Page === */
.contact_info { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 40px; }
.contact_card { flex: 1; min-width: 250px; padding: 25px; background: #f9f5fa; border-radius: 8px; display: flex; align-items: center; gap: 15px; }
.contact_card svg { width: 36px; height: 36px; fill: #af80b7; flex-shrink: 0; }
.contact_card_text h4 { font-size: 16px; color: #333; margin-bottom: 5px; }
.contact_card_text p { font-size: 14px; color: #666; }
.contact_card_text a { color: #666; }
.contact_card_text a:hover { color: #af80b7; }
/* Contact Form */
.contact_form { max-width: 700px; margin: 0 auto; }
.form_group { margin-bottom: 20px; }
.form_group label { display: block; font-size: 14px; color: #666; margin-bottom: 6px; }
.form_group input, .form_group textarea { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; transition: border-color 0.3s; font-family: inherit; }
.form_group input:focus, .form_group textarea:focus { border-color: #af80b7; }
.form_group textarea { height: 150px; resize: vertical; }
.form_submit { background: #af80b7; color: #fff; padding: 12px 40px; border: none; border-radius: 2em; font-size: 16px; cursor: pointer; transition: background 0.3s; }
.form_submit:hover { background: #9b59b6; }

/* === Fade In Animation === */
.fade_in { opacity: 0; transform: translateY(30px); transition: all 0.6s ease; }
.fade_in.visible { opacity: 1; transform: none; }
.fade_in_left { opacity: 0; transform: translateX(-30px); transition: all 0.6s ease; }
.fade_in_left.visible { opacity: 1; transform: none; }
.fade_in_right { opacity: 0; transform: translateX(30px); transition: all 0.6s ease; }
.fade_in_right.visible { opacity: 1; transform: none; }

/* === Back to Top === */
.back_to_top { position: fixed; right: 20px; bottom: 40px; width: 44px; height: 44px; background: rgba(0,0,0,0.6); color: #fff; border: none; border-radius: 4px; font-size: 20px; cursor: pointer; display: none; align-items: center; justify-content: center; z-index: 999; transition: all 0.3s ease; }
.back_to_top:hover { background: #af80b7; }
.back_to_top.show { display: flex; }

/* ============================================
   CSS 类名速查表
   ============================================
   全局:
   .layout .flex_row .clearfix .hide .img-fallback .fade_in .fade_in_left .fade_in_right .back_to_top

   顶部信息栏:
   .top_header .top_logo .top_logo a .top_logo_svg .top_logo_text .top_logo_brand .top_logo_sub .top_phone .top_phone_svg

   导航栏:
   .web_head .head_layer .nav_wrap .head_nav .head_nav > li .head_nav > li > a .head_nav > li > a > em .nav-current .btn_mobile_menu

   Banner:
   .slider_banner .slider_wrapper .slider_slide .slider_overlay .slider_text .slider_control .slider_dot .slider_btn_prev .slider_btn_next

   区块标题:
   .index_hd .hd_inner .hd_title .hd_desc .txt_default .txt_impt

   产品区:
   .index_product .product_items .product_item .item_img .item_title .index_swiper_control .swiper-buttons .swiper-button-prev .swiper-button-next

   关于我们:
   .index_company_intr .company_intr_item .company_intr_img .company_intr_cont .intr_item_tit .intr_item_desc .learn_more

   热门产品:
   .index_apply .apply_items .apply_item .item_inner .item_info .item_name

   新闻:
   .index_news .news_items .news_cell .cell_time .time_day .time_month .cell_bd .news_tit .news_desc

   CTA:
   .company_subscribe .subscribe_cont .subscribe_title .subscribe_desc

   按钮:
   .sys_btn .sys_btn_circle .sys_btn_white

   页脚:
   .web_footer .foot_contact .contact_list .contact_item .contact_ico .contact_txt .foot_bar .foot_sns .copyright

   内页Banner:
   .page_banner .page_banner_text

   面包屑:
   .breadcrumb .current

   产品列表:
   .product_list .product_list_item

   产品详情:
   .product_detail .product_intro .product_gallery .product_info .product_desc .product_params .product_features .feature_item .feature_icon .feature_text .related_products .related_list .related_item

   新闻列表:
   .news_list .news_list_item .news_thumb .news_body .news_date .news_summary

   新闻详情:
   .news_detail .news_detail_header .news_meta .news_detail_content .news_nav

   关于页:
   .about_section .about_text .about_img .timeline .timeline_item .timeline_dot .timeline_content .timeline_year .timeline_text .culture_cards .culture_card .team_grid .team_member

   联系页:
   .contact_info .contact_card .contact_card_text .contact_form .form_group .form_submit
   ============================================ */

/* === Responsive === */
@media screen and (max-width: 1200px) {
  .layout { width: 96%; padding: 0 2%; }
}
@media screen and (max-width: 1024px) {
  .product_item { width: 33.333%; }
  .product_list_item { width: 33.333%; }
  .apply_item { width: 33.333%; }
  .team_member { width: 33.333%; }
}
@media screen and (max-width: 768px) {
  body { min-width: auto; }
  .layout { width: 100%; padding: 0 15px; }
  /* Mobile menu */
  .btn_mobile_menu { display: block; }
  .head_layer .layout { flex-wrap: wrap; }
  .nav_wrap { width: 100%; display: none; }
  .nav_wrap.show { display: block; }
  .head_nav { display: flex; flex-direction: column; width: 100%; }
  .head_nav > li { line-height: normal; border-bottom: 1px solid #eee; }
  .head_nav > li > a { padding: 12px 15px; display: block; }
  .head_nav > li > a::before { display: none; }
  .head_nav > li.nav-current > a, .head_nav > li:hover > a { color: #af80b7; background: #f9f5fa; }
  .head_nav > li > ul { position: static; transform: none; opacity: 1; visibility: visible; box-shadow: none; border: none; padding: 0 0 0 15px; display: none; }
  .head_nav > li.dropdown-open > ul { display: block; }
  .head_nav > li > ul::before { display: none; }
  /* Banner */
  .slider_slide img { height: 280px; }
  .slider_text h2 { font-size: 24px; }
  .slider_text p { font-size: 14px; }
  .slider_btn_prev, .slider_btn_next { width: 36px; height: 36px; font-size: 16px; }
  /* Products */
  .product_item { width: 50%; }
  .product_list_item { width: 50%; }
  .apply_item { width: 50%; }
  .product_item .item_img img { height: 180px; }
  /* About section */
  .company_intr_item { flex-direction: column; }
  .company_intr_img img { height: 250px; }
  /* Subscribe */
  .company_subscribe .layout { flex-direction: column; text-align: center; }
  .subscribe_title { font-size: 24px; }
  /* Footer */
  .foot_contact .contact_list { flex-direction: column; gap: 10px; }
  /* Timeline */
  .timeline::before { left: 20px; }
  .timeline_item, .timeline_item:nth-child(odd) { flex-direction: row; text-align: left; }
  .timeline_dot { left: 20px; }
  .timeline_item:nth-child(odd) .timeline_content, .timeline_item:nth-child(even) .timeline_content { width: auto; margin-left: 50px; margin-right: 0; width: calc(100% - 50px); }
  /* Culture */
  .culture_cards { flex-direction: column; }
  /* Team */
  .team_member { width: 50%; }
  /* Product detail */
  .product_intro { flex-direction: column; }
  .related_item { width: 50%; }
  /* News */
  .news_list_item { flex-direction: column; }
  .news_thumb { width: 100%; height: 200px; }
  /* Inner banner */
  .page_banner { height: 180px; }
  .page_banner .page_banner_text h1 { font-size: 24px; }
}
@media screen and (max-width: 480px) {
  .product_item { width: 100%; }
  .product_list_item { width: 100%; }
  .apply_item { width: 100%; }
  .related_item { width: 100%; }
  .team_member { width: 100%; }
  .contact_card { min-width: 100%; }
  .slider_slide img { height: 220px; }
  .index_hd .hd_inner { min-width: auto; }
  .index_hd .hd_title { font-size: 24px; }
}
