.site-footer{background:var(--bg-darker);border-top:1px solid var(--border-color);padding:var(--space-2xl) 0 0;position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-primary);opacity:0.5}
.footer-inner{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-xl)}
.footer-col h4{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-md);position:relative;padding-bottom:0.75rem}
.footer-col h4::after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background:var(--gradient-primary)}
.footer-col p{font-size:0.875rem;color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-sm)}
.footer-col a{display:block;font-size:0.875rem;color:var(--text-secondary);padding:0.375rem 0;transition:all var(--transition-fast)}
.footer-col a:hover{color:var(--accent);padding-left:0.5rem}
.footer-brand .logo{margin-bottom:var(--space-md)}
.footer-brand p{font-size:0.875rem;color:var(--text-secondary);line-height:1.8}
.footer-contact-item{display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:var(--space-sm)}
.footer-contact-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:1rem;flex-shrink:0}
.footer-contact-text{font-size:0.875rem;color:var(--text-secondary);line-height:1.6}
.footer-bottom{border-top:1px solid var(--border-color);padding:var(--space-md) 0;text-align:center}
.footer-bottom p{font-size:0.8rem;color:var(--text-muted)}
.footer-links{display:flex;justify-content:center;gap:var(--space-md);margin-top:0.5rem}
.footer-links a{font-size:0.8rem;color:var(--text-muted)}
.footer-links a:hover{color:var(--accent)}
@media(max-width:1024px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr}}

/* 修复移动端横向溢出：grid子元素min-width:0防止内容撑开 */
.footer-col{min-width:0;overflow:hidden}
.footer-col *{max-width:100%}
.footer-brand .logo{max-width:100%;flex-wrap:wrap}
.footer-brand .logo-text{max-width:100%;flex-wrap:wrap}
.footer-brand .logo-name,.footer-brand .logo-sub{max-width:100%;white-space:normal;word-break:break-word}


/* ä¿®å¤ç§»å¨ç«¯æ¨ªåæº¢åºï¼gridå­åç´ min-width:0é²æ­¢åå®¹æå¼ */
.site-footer .footer-grid .footer-col{min-width:0;overflow:hidden}
.site-footer .footer-grid .footer-col *{max-width:100%}
.site-footer .footer-brand .logo{max-width:100%;flex-wrap:wrap}
.site-footer .footer-brand .logo-text{max-width:100%;flex-wrap:wrap}
.site-footer .footer-brand .logo-name,.site-footer .footer-brand .logo-sub{max-width:100%;white-space:normal;word-break:break-word}
@media(max-width:1024px){
  .site-footer .footer-grid .footer-col{min-width:0;overflow:hidden}
}
@media(max-width:640px){
  .site-footer .footer-grid .footer-col{min-width:0;overflow:hidden}
  .site-footer .footer-brand .logo{max-width:100%}
}


/* ===== 移动端页脚重构 v2（仅影响移动端 ≤768px，PC 端不变）===== */
@media (max-width:768px){
.site-footer{padding-top:2.5rem}
.footer-inner{padding:0 1.25rem}
.footer-grid{gap:1.1rem;margin-bottom:1.75rem}
.footer-brand{text-align:center;padding:1.4rem 1.1rem;background:linear-gradient(145deg,rgba(30,111,255,.10),rgba(0,212,255,.04));border:1px solid rgba(30,111,255,.22);border-radius:16px;margin-bottom:.25rem}
.footer-brand .logo{justify-content:center;margin-bottom:.75rem}
.footer-brand p{font-size:.85rem;line-height:1.8}
.footer-col h3{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.85rem .2rem;margin-bottom:0;font-size:.95rem;letter-spacing:.02em;user-select:none;-webkit-tap-highlight-color:transparent}
.footer-col h3::after{content:"";position:static;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #00d4ff;margin-left:auto;transform:rotate(0deg);transition:transform .25s ease;background:none}
.footer-col.collapsed h3::after{transform:rotate(180deg)}
.footer-col.collapsed a{display:none}
.footer-col a{display:block;font-size:.85rem;padding:.45rem .2rem}
.footer-col a:hover{padding-left:.2rem}
.footer-contact-item{margin-bottom:.55rem}
.footer-contact-icon{width:30px;height:30px;font-size:.9rem}
.footer-contact-text{font-size:.85rem}
.footer-bottom{padding:.9rem 0 1.25rem}
.footer-bottom p{font-size:.72rem;line-height:1.7;padding:0 .75rem}
.footer-links{gap:.9rem;margin-top:.45rem}
.footer-links a{font-size:.75rem}
.site-footer .nl-sub{padding:0 0 1.1rem!important;margin-bottom:1.25rem!important;flex-direction:column;align-items:stretch!important;gap:8px!important}
.site-footer .nl-sub input{width:100%;min-width:0!important;margin:0!important}
.site-footer .nl-sub button{width:100%;padding:.75rem 18px!important}
}