/**
 * assets/css/universal-fx.css
 * ---------------------------------------------------------------
 * "Universal Button & Card Effect" — System → Universal FX পেইজ থেকে
 * নিয়ন্ত্রিত। সাইটজুড়ে (লগইনের আগে/পরে, পাবলিক সাইট/অ্যাডমিন/চ্যাট/
 * অ্যাকাউন্ট — সব জায়গায়) যেসব বাটন/কার্ডের নিজস্ব কোনো শ্যাডো/hover
 * কন্ট্রোল এখনো নেই, তাদের জন্য একটা সাধারণ শ্যাডো + hover এফেক্ট।
 *
 * ⚠️ নিরাপত্তা — কোনোভাবেই সংঘর্ষ করে না:
 * ১) সম্পূর্ণ `body.universal-fx-on` ক্লাসের আড়ালে — ডিফল্টে এই ক্লাস
 *    নেই, তাই এই পুরো ফাইলটাই নিষ্ক্রিয় থাকে যতক্ষণ না অ্যাডমিন থেকে
 *    সেটিং চালু করা হয়।
 * ২) যেসব এলিমেন্টের ইতিমধ্যেই নিজস্ব ডেডিকেটেড শ্যাডো/hover কন্ট্রোল
 *    আছে (নিচের তালিকা), সেগুলো explicit :not() দিয়ে বাদ দেওয়া আছে —
 *    Universal FX চালু থাকলেও ওগুলো তাদের নিজস্ব সেটিংসেই চলবে,
 *    ওভাররাইড হবে না:
 *      - .nav-actions .btn        (Login/Sign Up/My Account বাটন)
 *      - .quick-menu-dropdown a   (☰ ড্রপডাউনের সব লিংক)
 *      - .nav-links a             (Quick Links)
 *      - .nav-search input        (সার্চ বার)
 *      - .login-box               (Login প্রোমো বার)
 *      - .mini-banner             (Hero মিনি ব্যানার)
 *      - .promo-slider, .promo-arrow (Promotional Items)
 *      - .news-card               (Latest Updates কার্ড)
 *      - .toast, .toast-close     (নোটিফিকেশন পপআপ)
 *      - .nav-lang-option, .nav-lang-menu-option (ভাষা-সুইচার — নিজস্ব
 *        রঙ Admin → Languages থেকে আলাদাভাবে নিয়ন্ত্রিত)
 */

/* ---------- বাটন ---------- */
body.universal-fx-on .universal-fx-shadow .btn:not(.nav-actions .btn):not(.login-box .btn),
body.universal-fx-on .universal-fx-shadow .a-btn,
body.universal-fx-on .universal-fx-shadow button[type="submit"]:not(.promo-arrow):not(.toast-close):not(.nav-lang-option):not(.nav-lang-menu-option) {
  box-shadow: 0 4px 14px rgba(15, 92, 53, 0.12);
}

body.universal-fx-on .universal-fx-hover .btn:not(.nav-actions .btn):not(.login-box .btn),
body.universal-fx-on .universal-fx-hover .a-btn,
body.universal-fx-on .universal-fx-hover button[type="submit"]:not(.promo-arrow):not(.toast-close):not(.nav-lang-option):not(.nav-lang-menu-option) {
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
body.universal-fx-on .universal-fx-hover .btn:not(.nav-actions .btn):not(.login-box .btn):hover:not(:disabled),
body.universal-fx-on .universal-fx-hover .a-btn:hover:not(:disabled),
body.universal-fx-on .universal-fx-hover button[type="submit"]:not(.promo-arrow):not(.toast-close):not(.nav-lang-option):not(.nav-lang-menu-option):hover:not(:disabled) {
  transform: translateY(-1px) scale(1.03);
  box-shadow: 0 8px 22px rgba(15, 92, 53, 0.18);
}
body.universal-fx-on .universal-fx-hover .btn:not(.nav-actions .btn):not(.login-box .btn):active:not(:disabled),
body.universal-fx-on .universal-fx-hover .a-btn:active:not(:disabled),
body.universal-fx-on .universal-fx-hover button[type="submit"]:not(.promo-arrow):not(.toast-close):not(.nav-lang-option):not(.nav-lang-menu-option):active:not(:disabled) {
  transform: scale(0.97);
}

/* ---------- কার্ড ---------- */
body.universal-fx-on .universal-fx-shadow .catalog-card,
body.universal-fx-on .universal-fx-shadow .catalog-card-pro,
body.universal-fx-on .universal-fx-shadow .a-panel,
body.universal-fx-on .universal-fx-shadow .home-card {
  box-shadow: 0 6px 20px rgba(15, 36, 25, 0.08);
}
body.universal-fx-on .universal-fx-hover .catalog-card,
body.universal-fx-on .universal-fx-hover .catalog-card-pro,
body.universal-fx-on .universal-fx-hover .a-panel,
body.universal-fx-on .universal-fx-hover .home-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
body.universal-fx-on .universal-fx-hover .catalog-card:hover,
body.universal-fx-on .universal-fx-hover .catalog-card-pro:hover,
body.universal-fx-on .universal-fx-hover .a-panel:hover,
body.universal-fx-on .universal-fx-hover .home-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(15, 36, 25, 0.14);
}

@media (prefers-reduced-motion: reduce) {
  body.universal-fx-on .universal-fx-hover *:hover {
    transform: none !important;
  }
}
