/* 全站公共页脚视觉，与「联系我们」页（contact-redesign 中页脚段）一致；须在 custom.css 之后加载 */

/* 页脚 Logo：用 CSS 背景图（相对本 CSS 文件解析路径），避免动态注入的 <img> 在部分环境下不显示 SVG */
.footer-enhanced a.footer-site-brand.footer-logo {
    filter: none !important;
    box-sizing: border-box;
    width: 160px;
    height: 52px;
    min-width: 120px;
    min-height: 40px;
    max-width: 168px;
    max-height: 56px;
    background: transparent url("../img/logowhite.svg") no-repeat left center / contain;
    flex-shrink: 0;
}

.footer-enhanced a.footer-site-brand.footer-logo:hover {
    filter: none !important;
}

.footer-enhanced .footer-icons .social-icon {
    width: auto !important;
    height: auto !important;
    min-width: 50px;
    min-height: 50px;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    background: transparent !important;
    border: none !important;
    margin-right: 0.5rem;
    box-shadow: none !important;
    transition: transform 0.45s cubic-bezier(0.34, 1.3, 0.64, 1);
}

.footer-enhanced .footer-icons .social-icon::before {
    display: none !important;
}

/* 悬停时光带从左向右滑过 */
.footer-enhanced .footer-icons .social-icon::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        transparent 0%,
        transparent 32%,
        rgba(58, 125, 255, 0.2) 42%,
        rgba(0, 212, 255, 0.7) 50%,
        rgba(58, 125, 255, 0.25) 58%,
        transparent 68%,
        transparent 100%
    );
    transform: translateX(-120%);
    transition: transform 0.65s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    border-radius: inherit;
}

.footer-enhanced .footer-icons .social-icon:hover::after {
    transform: translateX(120%);
}

.footer-enhanced .footer-icons .social-icon img {
    width: 50px !important;
    height: 50px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    filter: none !important;
    opacity: 0.85;
    position: relative;
    z-index: 1;
    transition: opacity 0.35s ease, transform 0.45s cubic-bezier(0.34, 1.3, 0.64, 1);
}

.footer-enhanced .footer-icons .social-icon:hover {
    transform: translateY(-6px) !important;
    background: transparent !important;
    box-shadow: 0 8px 20px rgba(58, 125, 255, 0.2) !important;
}

.footer-enhanced .footer-icons .social-icon:hover img {
    opacity: 1 !important;
    transform: translateY(-2px) scale(1.06) !important;
    filter: none !important;
}

.footer-enhanced .footer-icons .social-icon:active img {
    transform: translateY(0) scale(1.02) !important;
}

.footer-enhanced .footer-col h3.h4.pb-lg-3.text-light.footer-title {
    margin-bottom: 1rem !important;
    position: relative;
    text-align: left !important;
}

.footer-enhanced .qr-code-wrapper {
    text-align: left !important;
    margin-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
}

.footer-enhanced .qr-link {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    overflow: hidden;
    border-radius: 10px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transition: transform 0.45s cubic-bezier(0.34, 1.3, 0.64, 1);
}

.footer-enhanced .qr-link::before {
    display: none !important;
}

.footer-enhanced .qr-link::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        110deg,
        transparent 0%,
        rgba(58, 125, 255, 0.18) 40%,
        rgba(0, 212, 255, 0.55) 50%,
        rgba(58, 125, 255, 0.22) 60%,
        transparent 100%
    );
    transform: translateX(-130%);
    opacity: 0;
    transition: transform 0.75s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    pointer-events: none;
    border-radius: inherit;
}

.footer-enhanced .qr-link:hover::after {
    transform: translateX(130%);
    opacity: 1;
}

.footer-enhanced .qr-code-img {
    width: 150px !important;
    height: 150px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 0 !important;
    position: relative;
    z-index: 1;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.15) !important;
    background: transparent !important;
    transition: transform 0.45s cubic-bezier(0.34, 1.3, 0.64, 1), box-shadow 0.35s ease !important;
}

.footer-enhanced .qr-link:hover {
    transform: translateY(-5px) !important;
    background: transparent !important;
}

.footer-enhanced .qr-code-img:hover,
.footer-enhanced .qr-link:hover .qr-code-img {
    transform: translateY(-2px) scale(1.03) !important;
    box-shadow: 0 10px 28px rgba(58, 125, 255, 0.18), 0 6px 20px rgba(0, 0, 0, 0.2) !important;
}

.footer-enhanced .qr-text {
    margin-top: 0.8rem !important;
    font-size: 0.9rem !important;
    opacity: 0.9 !important;
    text-align: left !important;
    transition: transform 0.4s ease, opacity 0.35s ease;
}

.footer-enhanced .qr-link:hover + .qr-text,
.footer-enhanced .qr-code-wrapper:hover .qr-text {
    transform: translateX(4px);
    opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
    .footer-enhanced .footer-icons .social-icon,
    .footer-enhanced .footer-icons .social-icon img,
    .footer-enhanced .footer-icons .social-icon::after,
    .footer-enhanced .qr-link,
    .footer-enhanced .qr-link::after,
    .footer-enhanced .qr-code-img,
    .footer-enhanced .qr-text {
        transition: none !important;
        animation: none !important;
    }

    .footer-enhanced .footer-icons .social-icon:hover,
    .footer-enhanced .footer-icons .social-icon:hover img,
    .footer-enhanced .qr-link:hover,
    .footer-enhanced .qr-link:hover .qr-code-img {
        transform: none !important;
    }

    .footer-enhanced .footer-icons .social-icon::after,
    .footer-enhanced .qr-link::after {
        display: none !important;
    }
}
