/* ============================================
   SHARED COMPONENTS — Footer, Assistant, Lang Toggle, ICP, Bilingual Titles
   Used across all three theme variants (common.css / style.css / styles.css)
   ============================================ */

/* --- Language Toggle --- */
.site-controls{display:flex;align-items:center;gap:10px;margin-left:auto}
.lang-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);border-radius:999px}
.lang-toggle button{border:0;background:transparent;color:#dbe7f5;padding:8px 12px;border-radius:999px;font-weight:800;cursor:pointer}
.lang-toggle button.active{background:linear-gradient(135deg,var(--gold2,#f0d58e),var(--gold,#d7ac58));color:#0b1322}
.lang-toggle button,.site-assistant-tabs button,.site-assistant-close,.site-assistant-toggle{transition:all .18s ease}
.lang-toggle button:hover,.site-assistant-tabs button:hover,.site-assistant-close:hover,.site-assistant-toggle:hover{transform:translateY(-1px)}

/* --- Site Assistant (Consultation Widget) --- */
.site-assistant{position:fixed;right:18px;bottom:88px;z-index:120}
.site-assistant-toggle{width:60px;height:60px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--gold2,#f0d58e),var(--gold,#d7ac58));color:#0b1322;font-weight:900;box-shadow:0 18px 40px rgba(215,172,88,.28);cursor:pointer}
.site-assistant-panel{position:absolute;right:0;bottom:74px;width:min(400px,calc(100vw - 28px));background:#091324;border:1px solid rgba(255,255,255,.08);border-radius:22px;box-shadow:0 22px 60px rgba(0,0,0,.4);overflow:hidden;color:#dce8f5}
.site-assistant-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px 18px 14px;background:linear-gradient(135deg,rgba(215,172,88,.14),rgba(47,107,255,.08))}
.site-assistant-header strong{display:block;font-size:16px;color:#fff}
.site-assistant-header p{margin:6px 0 0;color:#c7d4e6;font-size:13px;line-height:1.6}
.site-assistant-topic{padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);display:flex;flex-direction:column;gap:4px}
.site-assistant-topic span{font-size:12px;color:#8ea2bc;text-transform:uppercase;letter-spacing:.08em}
.site-assistant-topic strong{color:#fff;font-size:14px}
.site-assistant-close{border:0;background:rgba(255,255,255,.08);color:#fff;width:32px;height:32px;border-radius:10px;cursor:pointer}
.site-assistant-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid rgba(255,255,255,.08)}
.site-assistant-tabs button{border:0;background:transparent;color:#c8d6ea;padding:12px 8px;font-weight:800;cursor:pointer;font-size:13px}
.site-assistant-tabs button.active{color:#fff;background:rgba(255,255,255,.06)}
.site-assistant-body{padding:16px 18px 18px}
.mini-grid{display:grid;grid-template-columns:1fr;gap:10px}
.mini-card{display:block;padding:14px 14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.mini-card strong{display:block;margin-bottom:4px;color:#fff}
.mini-card span,.mini-list a,.site-assistant-body p,.mini-note{color:#b6c5d8}
.mini-list{display:grid;gap:8px}
.mini-list a{display:block;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.mini-note{margin-top:10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:13px;line-height:1.6}
.mini-form{display:grid;gap:10px;margin-top:12px}
.mini-input,.mini-textarea,.mini-form input,.mini-form textarea{width:100%;padding:12px 13px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#fff;font:inherit;outline:none}
.mini-input::placeholder,.mini-textarea::placeholder,.mini-form input::placeholder,.mini-form textarea::placeholder{color:#8799af}
.mini-input:focus,.mini-textarea:focus,.mini-form input:focus,.mini-form textarea:focus{border-color:rgba(234,208,138,.55);box-shadow:0 0 0 3px rgba(198,154,71,.14)}
.mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.mini-form .btn{width:100%}

/* --- ICP Line --- */
.icp-line{margin-top:12px;text-align:center;font-size:12px;line-height:1.6;opacity:.82}
.icp-line a{color:inherit;text-decoration:none}
.icp-line a:hover{text-decoration:underline}

/* --- Shared Footer Grid --- */
.footer-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.footer-brand{min-width:0}
.footer-brand-top{display:flex;align-items:center;gap:14px}
.footer-logo{border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--gold2,#f0d58e),var(--gold,#d7ac58));color:#132034;font-weight:900;letter-spacing:.08em;box-shadow:0 14px 30px rgba(215,172,88,.22)}
.footer-brand strong{display:block;color:#fff;font-size:16px;line-height:1.2}
.footer-sub{margin-top:4px;color:#93a5bd;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.footer-sub,.footer-copy-en,.footer-links a,.footer-contact-inline,.footer-contact-pills a{font-variant-numeric:tabular-nums}
.footer-desc{margin:14px 0 0;color:#b9c7da;line-height:1.8}
.footer-contact-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.footer-contact-pills a,.footer-contact-inline a,.footer-links a,.footer-icp a{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
.footer-contact-pills a{padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10);color:#eef4ff}
.footer-contact-pills a:hover,.footer-contact-inline a:hover,.footer-links a:hover,.footer-icp a:hover{color:#fff}
.footer-col h4{margin:0 0 12px;color:#fff;font-size:15px}
.footer-links{display:grid;gap:10px}
.footer-links a{color:#b9c7da;line-height:1.5}
.footer-links-muted a{color:#a8bad1}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
.footer-copy{display:grid;gap:4px;color:#e8f0fb;font-weight:700}
.footer-copy-en{color:#8ea1ba;font-weight:500;font-size:12px;letter-spacing:.06em}
.footer-contact-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#b9c7da}
.footer-contact-inline a{color:#d8e4f4}
.footer-icp{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.10);font-size:12px;line-height:1.6}
.footer-icp a{display:inline-flex;align-items:center;gap:8px;color:#d7e2f1;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.footer-icp a:hover{background:rgba(255,255,255,.08)}
.beian-icon{width:18px;height:18px;flex:none}
.gongan-link{white-space:nowrap}

/* --- Bilingual Footer Titles --- */
.footer-col h4 .zh-title,.footer-col h4 .en-title{display:none}
html[lang="zh-CN"] .footer-col h4 .zh-title,html[lang="zh"] .footer-col h4 .zh-title{display:inline}
html[lang="en"] .footer-col h4 .en-title{display:inline}

/* --- Shared Responsive: Footer --- */
@media (max-width:1100px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .footer-contact-inline{width:100%}
  .footer-icp{justify-content:flex-start;align-items:flex-start}
}

/* --- Shared Responsive: Site Assistant --- */
@media (max-width:760px){
  .site-controls{width:100%;justify-content:flex-end;margin-left:0}
  .site-assistant{right:10px;bottom:76px}
  .site-assistant-panel{width:min(340px,calc(100vw - 20px))}
  .mini-actions{grid-template-columns:1fr}
}
