/* ═══ FOUC Prevention + Critical Animations ═══ */
.reveal, .reveal-left, .reveal-right, .reveal-scale { will-change: opacity, transform; }
body { opacity: 0; animation: bodyFadeIn 0.6s 0.1s ease forwards; }
@keyframes bodyFadeIn { to { opacity: 1; } }

/* ═══ i18n Language Switcher Styles ═══ */
.lang-btn:hover { border-color: var(--accent-cyan) !important; color: var(--accent-cyan) !important; }
.lang-option:hover { background: rgba(0,225,255,0.08) !important; color: #fff !important; }
.lang-option.active { color: var(--accent-cyan) !important; background: rgba(0,225,255,0.05) !important; }
.lang-dropdown::-webkit-scrollbar { width: 4px; }
.lang-dropdown::-webkit-scrollbar-track { background: transparent; }
.lang-dropdown::-webkit-scrollbar-thumb { background: var(--glass-border); border-radius: 4px; }
[dir="rtl"] .nav-links { flex-direction: row-reverse; }
[dir="rtl"] .container { direction: rtl; }
[dir="rtl"] .logo span { margin-left: 0; }
[dir="rtl"] .lang-dropdown { right: auto; left: 0; }
[dir="rtl"] nav { flex-direction: row-reverse; }
@media (max-width: 768px) {
    .lang-switcher { margin: 10px 0; }
    .lang-dropdown { position: fixed !important; bottom: 0 !important; left: 0 !important; right: 0 !important; top: auto !important; border-radius: 16px 16px 0 0 !important; max-height: 60vh !important; min-width: 100% !important; }
}

/* ═══ Chatbot Widget Styles ═══ */
@keyframes chatSlideUp { from { transform:translateY(20px); opacity:0; } to { transform:translateY(0); opacity:1; } }
.cw-msg { margin-bottom:12px; display:flex; }
.cw-msg.cw-bot { justify-content:flex-start; }
.cw-msg.cw-visitor { justify-content:flex-end; }
.cw-bubble { max-width:85%; padding:10px 14px; border-radius:14px; font-size:0.9rem; line-height:1.5; word-wrap:break-word; }
.cw-b-bot { background:rgba(0,225,255,0.08); color:#ccc; border-bottom-left-radius:4px; }
.cw-b-visitor { background:rgba(139,92,246,0.15); color:white; border-bottom-right-radius:4px; }
.cw-b-admin { background:rgba(0,200,100,0.12); color:#ccc; border-bottom-left-radius:4px; border:1px solid rgba(0,200,100,0.15); }
.cw-typing { display:flex; gap:4px; padding:8px 14px; }
.cw-typing span { width:7px; height:7px; background:#A0AABF; border-radius:50%; animation:typingBounce 1.4s infinite; }
.cw-typing span:nth-child(2) { animation-delay:0.2s; }
.cw-typing span:nth-child(3) { animation-delay:0.4s; }
@keyframes typingBounce { 0%,60%,100% { transform:translateY(0); } 30% { transform:translateY(-6px); } }
#chatWidget { font-family:'Inter', Arial, sans-serif; }
@media (max-width:480px) {
    #chatWidget { width:calc(100vw - 20px) !important; right:10px !important; bottom:80px !important; max-height:75vh !important; }
    #chatFab { bottom:15px !important; right:15px !important; width:52px !important; height:52px !important; }
}

/* ═══ Footer Animations ═══ */
@keyframes slideUp { from { transform: translateY(100%); opacity:0; } to { transform: translateY(0); opacity:1; } }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
