/* ================= 全站基础重置与品牌色彩变量 ================= */
:root {
    --primary-orange: #ff5722; 
    --hover-orange: #e64a19;
    --light-warm: #fff8f0; 
    --gradient-warm: linear-gradient(135deg, #fff3e0 0%, #ffebee 100%); 
    --text-dark: #333333;
    --text-gray: #666666;
    --text-light: #999999;
    --border-color: #ffe0b2;
    --border-light: #f5f5f5; 
    --white: #ffffff;
    --shadow-color: rgba(255, 87, 34, 0.15);
    --shadow-soft: 0 12px 30px rgba(0, 0, 0, 0.03); 
    --shadow-hover: 0 20px 45px rgba(255, 87, 34, 0.08); 
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'PingFang SC', -apple-system, BlinkMacSystemFont, 'Microsoft YaHei', sans-serif; color: var(--text-dark); line-height: 1.6; background-color: #fcfcfc; }
a { text-decoration: none; color: inherit; transition: all 0.3s ease; }
ul { list-style: none; }
.container { width: 1200px; margin: 0 auto; padding: 0 15px; }

/* ================= 统一通用标题与面包屑 ================= */
.breadcrumb { padding: 25px 15px; font-size: 14px; color: var(--text-light); }
.breadcrumb a { color: var(--text-dark); transition: color 0.3s; }
.breadcrumb a:hover { color: var(--primary-orange); }
.breadcrumb span { margin: 0 10px; color: #d1d1d1; }
.section-title { text-align: center; font-size: 32px; font-weight: 900; color: var(--text-dark); margin-bottom: 12px; }
.section-title span { color: var(--primary-orange); }
.section-subtitle { text-align: center; font-size: 15px; color: var(--text-gray); margin-bottom: 50px; }
.section-title::after { content: ''; display: block; width: 50px; height: 3px; background: var(--primary-orange); margin: 15px auto 0; border-radius: 2px;}

/* ================= 统一头部导航 (Header) ================= */
header { background: var(--white); box-shadow: 0 2px 15px rgba(0,0,0,0.03); position: relative; z-index: 999; padding: 15px 0; }
.header-inner { display: flex; justify-content: space-between; align-items: center; }
.logo-area { display: flex; align-items: center; gap: 10px; font-size: 24px; font-weight: bold; color: var(--primary-orange); }
.logo-img { width: 40px; height: 40px; background: var(--primary-orange); border-radius: 8px; display: inline-block; position: relative; overflow: hidden;}
.logo-img::before, .logo-img::after { content: ''; position: absolute; background: #fff; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.logo-img::before { width: 20px; height: 6px; border-radius: 3px; }
.logo-img::after { width: 6px; height: 20px; border-radius: 3px; }

nav ul { display: flex; gap: 30px; align-items: center; }
nav ul li { position: relative; } 
nav ul li > a { font-size: 16px; font-weight: 500; position: relative; padding: 10px 0 5px; display: flex; align-items: center; gap: 4px; }
nav ul li > a::after { content: ''; position: absolute; width: 0; height: 2px; bottom: 0; left: 50%; background: var(--primary-orange); transition: all 0.3s ease; transform: translateX(-50%); }
nav ul li:hover > a, nav ul li.active > a { color: var(--primary-orange); }
nav ul li:hover > a::after, nav ul li.active > a::after { width: 100%; }
.nav-arrow { width: 10px; height: 10px; fill: currentColor; transition: transform 0.3s ease; margin-top: 2px;}
nav ul li:hover .nav-arrow { transform: rotate(180deg); }

.submenu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(15px); background: var(--white); min-width: 140px; box-shadow: 0 10px 30px rgba(255, 87, 34, 0.12); border-radius: 12px; padding: 10px 0; opacity: 0; visibility: hidden; transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); z-index: 200; border: 1px solid #ffebee; display: block; }
.submenu::after { content: ''; position: absolute; top: -15px; left: 0; width: 100%; height: 15px; background: transparent; }
.submenu::before { content: ''; position: absolute; top: -6px; left: 50%; transform: translateX(-50%); border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid var(--white); filter: drop-shadow(0 -2px 2px rgba(255, 87, 34, 0.05)); }
nav ul li:hover .submenu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(5px); }
.submenu li { width: 100%; }
.submenu li a { display: block; padding: 12px 20px; font-size: 14px; color: var(--text-dark); text-align: center; font-weight: normal; transition: background 0.3s, color 0.3s; }
.submenu li a::after { display: none; }
.submenu li a:hover { color: var(--primary-orange); background: #fffaf7; }

.header-phone { display: flex; align-items: center; gap: 12px; background: linear-gradient(90deg, #ff7a55 0%, #ff5722 100%); color: var(--white); padding: 6px 24px 6px 8px; border-radius: 50px; font-size: 16px; font-weight: bold; box-shadow: 0 4px 15px rgba(255, 87, 34, 0.25); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); border: none; }
.header-phone:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(255, 87, 34, 0.4); background: linear-gradient(90deg, #ff8c6b 0%, #ff6b3b 100%); color: var(--white); }
.phone-icon-wrap { width: 32px; height: 32px; background: var(--white); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--primary-orange); box-shadow: 0 2px 5px rgba(0,0,0,0.1); }
.phone-icon-wrap svg { width: 18px; height: 18px; fill: currentColor; }

/* ================= 统一页脚 (Footer) ================= */
footer { background: #2d1b15; color: #a89f9c; padding: 60px 0 20px; font-size: 14px; border-top: 5px solid var(--primary-orange); margin-top: 50px;}
.footer-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 40px; border-bottom: 1px solid #4a3630; padding-bottom: 40px; margin-bottom: 25px; }
.footer-logo { font-size: 22px; color: var(--white); font-weight: bold; margin-bottom: 15px; display: flex; align-items: center; gap: 10px;}
.footer-logo span.icon { width: 35px; height: 35px; background: var(--primary-orange); display: inline-block; border-radius: 8px; position: relative;}
.footer-logo span.icon::before, .footer-logo span.icon::after { content: ''; position: absolute; background: #fff; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.footer-logo span.icon::before { width: 18px; height: 4px; border-radius: 2px; }
.footer-logo span.icon::after { width: 4px; height: 18px; border-radius: 2px; }
.footer-col h4 { color: var(--white); font-size: 16px; margin-bottom: 20px; }
.footer-col ul li { margin-bottom: 12px; }
.footer-col ul li a:hover { color: var(--primary-orange); padding-left: 5px; }
.footer-qr { display: flex; gap: 15px; }
.footer-qr-img { width: 90px; height: 90px; background: #fff; padding: 5px; border-radius: 4px;}
.footer-bottom { text-align: center; font-size: 13px; }
.footer-bottom p { margin-bottom: 8px; }
.footer-bottom a:hover { color: var(--white); }

/* ================= 统一联系弹窗与回到顶部 ================= */
.modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); z-index: 1000; align-items: center; justify-content: center; backdrop-filter: blur(5px); }
.modal-content { background-color: var(--white); padding: 45px 40px; border-radius: 20px; text-align: center; position: relative; box-shadow: 0 20px 50px rgba(0,0,0,0.3); width: 360px; animation: modalFadeIn 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
@keyframes modalFadeIn { from { opacity: 0; transform: translateY(-40px) scale(0.9); } to { opacity: 1; transform: translateY(0) scale(1); } }
.close-btn { position: absolute; top: 15px; right: 20px; font-size: 32px; cursor: pointer; color: #bbb; transition: color 0.3s; line-height: 1; font-weight: 300;}
.close-btn:hover { color: var(--primary-orange); }
.modal-qr { width: 180px; height: 180px; background: #fff0eb; border: 1px dashed var(--primary-orange); margin: 0 auto; display: flex; align-items: center; justify-content: center; color: var(--primary-orange); border-radius: 12px; font-size: 14px; }

#unique-btt-btn { all: unset; box-sizing: border-box; position: fixed; bottom: 40px; right: 40px; z-index: 2147483647; width: 55px; height: 55px; border-radius: 50%; background: linear-gradient(135deg, rgba(255, 143, 163, 0.85), rgba(255, 179, 71, 0.85)); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.5); box-shadow: 0 8px 24px rgba(255, 143, 163, 0.35); display: flex; justify-content: center; align-items: center; color: #ffffff; cursor: pointer; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); opacity: 0; visibility: hidden; transform: translateY(20px) scale(0.8); }
#unique-btt-btn svg { width: 24px; height: 24px; transition: transform 0.3s ease; }
#unique-btt-btn:hover { background: linear-gradient(135deg, rgba(255, 105, 180, 0.95), rgba(255, 140, 0, 0.95)); box-shadow: 0 12px 30px rgba(255, 105, 180, 0.5); transform: translateY(-6px) scale(1.05); }
#unique-btt-btn:hover svg { transform: translateY(-3px); }
#unique-btt-btn.unique-btt-show { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }