/* 🌍 核心修复：更平滑的淡入效果，彻底解决翻译前的瞬闪和抖动 */

/* 1. 对占位容器进行处理 */
#service_nav-placeholder,
#header-placeholder,
#footer-placeholder {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s;
}

.i18n-ready #service_nav-placeholder,
.i18n-ready #header-placeholder,
.i18n-ready #footer-placeholder {
    opacity: 1 !important;
    visibility: visible !important;
}

/* 2. 对所有带有翻译属性的元素进行初始静默处理 */
[data-i18n],
[data-i18n-html],
[data-i18n-placeholder],
[data-i18n-value],
[data-i18n-title],
[data-i18n-label],
[data-i18n-alt],
[data-i18n-attr] {
    opacity: 0 !important;
    /* 使用 visibility: hidden 占位但不显示原文，防止布局闪烁 */
    visibility: hidden !important;
    transition: opacity 0.4s ease;
}

/* 3. 翻译就绪后，平滑淡入 */
.i18n-ready [data-i18n],
.i18n-ready [data-i18n-html],
.i18n-ready [data-i18n-placeholder],
.i18n-ready [data-i18n-value],
.i18n-ready [data-i18n-title],
.i18n-ready [data-i18n-label],
.i18n-ready [data-i18n-alt],
.i18n-ready [data-i18n-attr] {
    opacity: 1 !important;
    visibility: visible !important;
}