/* footer.css — 从 MainGridLayout.CeED1_Ho.css 收敛的 footer 组件样式（单份，全页面引用） */

.footer-glass { padding:0 1rem 3rem }
.site-footer .footer-branch { display:none }
.footer-glass .footer-divider { position:relative;height:1px;max-width:72rem;margin:3.25rem auto 0;background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--primary) 38%,transparent) 50%,transparent 100%) }
.footer-glass .footer-divider-dot { position:absolute;left:50%;top:50%;width:9px;height:9px;transform:translate(-50%,-50%) rotate(45deg);background:var(--primary);border-radius:2px;box-shadow:0 0 14px color-mix(in oklab,var(--primary) 75%,transparent),0 0 4px color-mix(in oklab,var(--primary) 90%,transparent) }
.footer-glass .footer-panel { position:relative;max-width:74rem;margin:1.75rem auto 0;padding:2rem 2rem 1.75rem;border-radius:var(--radius-large);background:linear-gradient(180deg,color-mix(in oklab,var(--card-bg) 82%,transparent),color-mix(in oklab,var(--btn-regular-bg) 64%,transparent));border:1px solid color-mix(in oklab,var(--primary) 16%,transparent);box-shadow:0 14px 34px -16px #00000073,inset 0 1px #ffffff14,inset 0 -1px #ffffff08;backdrop-filter:blur(12px) saturate(125%);-webkit-backdrop-filter:blur(12px) saturate(125%);transition:border-color .35s ease,box-shadow .35s ease }
.footer-glass .footer-panel:before { content:"";z-index:0;border-radius:inherit;opacity:.6;pointer-events:none;background-image:url(/themes/Ethereal/assets/images/pattern-light.svg);background-position:0 0;background-repeat:repeat;background-size:340px;position:absolute;inset:0 }
:root.dark .footer-glass .footer-panel:before { background-image:url(/themes/Ethereal/assets/images/pattern-dark.svg) }
.footer-glass .footer-panel:hover { border-color:color-mix(in oklab,var(--primary) 32%,transparent);box-shadow:0 18px 40px -16px color-mix(in oklab,var(--primary) 22%,transparent),0 14px 34px -16px #00000080,inset 0 1px #ffffff1a }
.footer-glass .footer-grid { display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:1.75rem 2.25rem;align-items:start }
.footer-glass .footer-brand { min-width:0 }
.footer-glass .footer-brand-name { font-size:1.15rem;font-weight:800;letter-spacing:.02em;color:var(--text-90, oklch(.93 .01 var(--hue))) }
.footer-glass .footer-brand-slogan { margin:.55rem 0 0;max-width:15rem;font-size:.8rem;line-height:1.65;color:var(--text-50, oklch(.72 .02 var(--hue))) }
.footer-glass .footer-social { display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.1rem }
.footer-glass .footer-social-btn { min-width:2.1rem;height:2.1rem;padding:0 .55rem;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;border-radius:.7rem;text-decoration:none;color:var(--primary);background:color-mix(in oklab,var(--primary) 10%,transparent);border:1px solid color-mix(in oklab,var(--primary) 22%,transparent);transition:transform .22s ease,background .22s ease,box-shadow .22s ease }
.footer-glass .footer-social-btn:hover { background:color-mix(in oklab,var(--primary) 20%,transparent);transform:translateY(-2px);box-shadow:0 6px 16px -6px color-mix(in oklab,var(--primary) 45%,transparent) }
.footer-glass .footer-social-icon { display:inline-flex;align-items:center;justify-content:center }
.footer-glass .footer-social-icon svg { width:1.25rem;height:1.25rem;display:block }
.footer-glass .footer-social-text { font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap }
.footer-glass .footer-main { text-align:center;min-width:0 }
.footer-glass .footer-copy { margin:0;line-height:1.6 }
.footer-glass .footer-site { font-weight:700;color:var(--text-90, oklch(.3 .02 var(--hue))) }
.footer-glass .footer-links { display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem }
.footer-glass .footer-links:not(:empty) { margin-top:1rem }
.footer-glass .footer-chip { display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600;text-decoration:none;color:var(--primary);background:color-mix(in oklab,var(--primary) 11%,transparent);border:1px solid color-mix(in oklab,var(--primary) 24%,transparent);transition:transform .22s ease,background .22s ease,box-shadow .22s ease }
.footer-glass .footer-chip:hover { background:color-mix(in oklab,var(--primary) 22%,transparent);transform:translateY(-1px);box-shadow:0 6px 16px -6px color-mix(in oklab,var(--primary) 45%,transparent) }
.footer-glass .footer-custom { margin-top:.85rem;line-height:1.8;color:var(--text-50, oklch(.5 .02 var(--hue))) }
.footer-glass .footer-custom-sep { opacity:.5;margin:0 .15rem }
.footer-glass .footer-custom-link { font-weight:500;text-decoration:none;color:var(--primary);transition:opacity .2s ease }
.footer-glass .footer-custom-link:hover { opacity:.75;text-decoration:underline }
.footer-glass .footer-beian { display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-top:.9rem }
.footer-glass .footer-beian-link { display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;text-decoration:none;color:var(--text-50, oklch(.5 .02 var(--hue)));transition:color .2s ease }
.footer-glass .footer-beian-link:hover { color:var(--primary) }
.footer-glass .footer-credit { margin:1rem 0 0;line-height:1.6 }
.footer-glass .footer-credit-link { font-weight:600;text-decoration:none;color:var(--primary);transition:opacity .2s ease }
.footer-glass .footer-credit-link:hover { opacity:.75;text-decoration:underline }
.footer-glass .footer-nav { min-width:0;text-align:left }
.footer-glass .footer-nav-title { font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in oklab,var(--primary) 78%,var(--text-50, oklch(.72 .02 var(--hue))));margin-bottom:.75rem }
.footer-glass .footer-nav-list { display:flex;flex-direction:column;gap:.5rem }
.footer-glass .footer-nav-list a { width:fit-content;font-size:.85rem;text-decoration:none;color:var(--text-50, oklch(.72 .02 var(--hue)));transition:color .2s ease,transform .2s ease }
.footer-glass .footer-nav-list a:hover { color:var(--primary);transform:translate(2px) }
.footer-glass .footer-top { display:inline-flex;align-items:center;gap:.35rem;margin-top:1.1rem;padding:.4rem .9rem;border-radius:999px;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--primary);background:color-mix(in oklab,var(--primary) 11%,transparent);border:1px solid color-mix(in oklab,var(--primary) 26%,transparent);transition:transform .22s ease,background .22s ease,box-shadow .22s ease }
.footer-glass .footer-top:hover { background:color-mix(in oklab,var(--primary) 22%,transparent);transform:translateY(-1px);box-shadow:0 6px 16px -6px color-mix(in oklab,var(--primary) 45%,transparent) }

@media(min-width:1024px) {
.site-footer[data-dt=glass] .footer-branch-glass { display:block }
.site-footer[data-dt=glass] .footer-branch-original { display:none }
.site-footer[data-dt=original] .footer-branch-original { display:block }
.site-footer[data-dt=original] .footer-branch-glass { display:none }
}

@media(max-width:1023px) {
.site-footer[data-m=glass] .footer-branch-glass { display:block }
.site-footer[data-m=glass] .footer-branch-original { display:none }
.site-footer[data-m=original] .footer-branch-original { display:block }
.site-footer[data-m=original] .footer-branch-glass { display:none }
}

@media(max-width:1023px) {
.footer-glass .footer-panel { padding:1.35rem 1rem 1.25rem;border-radius:var(--radius-large) }
.footer-glass .footer-grid { grid-template-columns:1fr;gap:1.4rem;text-align:center }
.footer-glass .footer-brand,.footer-glass .footer-nav { text-align:center }
.footer-glass .footer-brand-name { font-size:1.05rem }
.footer-glass .footer-brand-slogan { max-width:20rem;margin-left:auto;margin-right:auto;font-size:.78rem }
.footer-glass .footer-social { justify-content:center;gap:.5rem;margin-top:.9rem }
.footer-glass .footer-social-btn { min-width:2rem;height:2rem }
.footer-glass .footer-main { margin-top:.25rem }
.footer-glass .footer-links { gap:.4rem }
.footer-glass .footer-nav-list { align-items:center;gap:.45rem }
.footer-glass .footer-nav-list a { width:auto }
.footer-glass .footer-top { margin-left:auto;margin-right:auto }
.footer-glass .footer-divider { margin-top:2.25rem }
.footer-glass { padding-bottom:2.25rem }
}

@media(max-width:480px) {
.footer-glass .footer-panel { padding:1.1rem .8rem 1rem }
.footer-glass .footer-grid { gap:1.2rem }
.footer-glass .footer-brand-name { font-size:1rem }
.footer-glass .footer-brand-slogan,.footer-glass .footer-chip,.footer-glass .footer-social-btn { font-size:.76rem }
.footer-glass .footer-social-btn { height:1.9rem }
.footer-glass .footer-social-icon svg { width:1.1rem;height:1.1rem }
}

