/* Site-wide Chinese/English font stack (loaded early on all pages) */
body,
button,
input,
select,
textarea {
    font-family: "Euclid Circular", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
}

/* Enhanced Promotion Bar with Ticker Effect — menu color tones */
        .promotion-bar {
            display: flex;
            align-items: center;
            background: linear-gradient(90deg, #1e3a8a 0%, #1d4ed8 45%, #047857 100%);
            color: #f8fafc;
            font-family: "Euclid Circular", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
            font-size: 1.15rem;
            font-weight: 600;
            padding: 10px 0;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            width: 100%;
            height: 52px;
            z-index: 1002;
            box-shadow: 0 2px 10px rgba(15, 23, 42, 0.18);
            overflow: hidden;
            border-bottom: 3px solid #93c5fd;
        }

        .promotion-bar::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.08) 50%, transparent 100%);
            animation: shimmer 3s ease-in-out infinite;
        }

        @keyframes shimmer {
            0% { transform: translateX(-100%); }
            100% { transform: translateX(100%); }
        }

        .ticker-wrapper {
            flex: 1; overflow: hidden; position: relative;
            height: 36px; display: flex; align-items: center;
        }

        .ticker-content {
            display: flex;
            animation: scroll-left 60s linear infinite;
            white-space: nowrap; will-change: transform;
        }

        .ticker-content.paused { animation-play-state: paused; }

        @keyframes scroll-left {
            0% { transform: translate3d(100%, 0, 0); }
            100% { transform: translate3d(-100%, 0, 0); }
        }

        .ticker-item {
            display: inline-flex; align-items: center;
            margin-right: 72px; padding: 6px 16px;
            background: rgba(255, 255, 255, 0.12);
            border-radius: 10px;
            border: 1px solid rgba(147, 197, 253, 0.45);
            transition: all 0.3s ease; cursor: pointer;
            position: relative; overflow: hidden;
            font-size: 1.12rem;
            line-height: 1.35;
            color: #f8fafc;
        }
        .ticker-item strong {
            color: #fff;
            font-weight: 800;
            font-size: 1.18rem;
        }
        .ticker-item::before {
            content: ''; position: absolute; top: 0; left: -100%;
            width: 100%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
            transition: left 0.5s;
        }
        .ticker-item:hover::before { left: 100%; }
        .ticker-item:hover {
            background: rgba(255, 255, 255, 0.2);
            border-color: #93c5fd;
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.25);
        }

        .highlight-badge {
            background: #ffedd5;
            color: #9a3412;
            border: 1px solid #fdba74;
            padding: 3px 10px; border-radius: 8px;
            font-size: 0.85rem; font-weight: 800; margin-left: 12px;
            animation: pulse-badge 2s ease-in-out infinite;
            box-shadow: none;
            letter-spacing: 0.02em;
        }

        @keyframes pulse-badge {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.06); }
        }

        .promotion-controls { padding: 0 15px; display: flex; align-items: center; }

        .pause-btn {
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(147, 197, 253, 0.5);
            color: white; padding: 7px 11px; border-radius: 50%;
            cursor: pointer; transition: all 0.3s ease;
        }
        .pause-btn:hover { background: rgba(255, 255, 255, 0.28); transform: scale(1.08); }
        .pause-btn i { font-size: 0.95rem; }

        /* ===== HEADER POSITIONING - CRITICAL ===== */
        header.rbt-header,
        .rbt-header,
        .rbt-header.rbt-header-4 {
            position: fixed !important;
            top: 52px !important;
            left: 0 !important; right: 0 !important;
            z-index: 1000 !important;
            background: white !important;
        }

        .rbt-header-wrapper,
        .rbt-header-wrapper.header-sticky { position: static !important; }

        .rbt-sticky-placeholder { display: none !important; height: 0 !important; }

        body {
            margin-top: 0 !important;
            padding-top: 182px !important;
            background-color: #f9f9f9;
            font-family: "Euclid Circular", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
        }

        .modal-backdrop { z-index: 1090 !important; }

        .modal, .modal.show, #paymentModal, #couponModal, #enrollmentModal,
        #errorModal, #success-coupon-modal, #error-modal, #success-enroll-payme-modal,
        #success-payment-modal, #success-enroll-modal, #navGuardModal { z-index: 1100 !important; }

        .payment-overlay, .payment-in-progress-overlay, .swal2-container,
        .payment-processing-screen { z-index: 1200 !important; }

        /* ===== MOBILE RESPONSIVE ===== */
        @media (max-width: 991px) {
            .promotion-bar { height: 48px; font-size: 1.05rem; padding: 8px 0; }
            .ticker-wrapper { height: 34px; }
            .ticker-item { margin-right: 48px; padding: 5px 14px; font-size: 1.05rem; }
            .ticker-item strong { font-size: 1.1rem; }
            .highlight-badge { font-size: 0.8rem; padding: 3px 9px; }
            header.rbt-header, .rbt-header, .rbt-header.rbt-header-4 { top: 48px !important; }
            body { padding-top: 160px !important; }
        }
        @media (max-width: 768px) {
            .promotion-bar { height: 46px; font-size: 1rem; padding: 7px 0; }
            .ticker-wrapper { height: 32px; }
            .ticker-item { margin-right: 40px; padding: 4px 12px; font-size: 1rem; }
            .ticker-item strong { font-size: 1.05rem; }
            header.rbt-header, .rbt-header, .rbt-header.rbt-header-4 { top: 46px !important; }
            body { padding-top: 150px !important; }
        }
        @media (max-width: 480px) {
            .promotion-bar { height: 44px; font-size: 0.95rem; padding: 6px 0; }
            .ticker-wrapper { height: 30px; }
            .ticker-item { margin-right: 32px; padding: 4px 10px; font-size: 0.95rem; }
            .ticker-item strong { font-size: 1rem; }
            .highlight-badge { font-size: 0.75rem; }
            header.rbt-header, .rbt-header, .rbt-header.rbt-header-4 { top: 44px !important; }
            body { padding-top: 140px !important; }
        }

        /* ===== Top contact row (WhatsApp / email / phone / Register) ===== */
        .rbt-header-top.uec-topbar {
            background: #f8fafc !important;
            border-bottom: 1px solid #e2e8f0 !important;
            min-height: 48px;
            height: 48px;
            overflow: hidden;
        }
        .uec-topbar .rbt-header-sec {
            min-height: 48px;
            height: 48px;
            align-items: center !important;
        }
        .uec-topbar .rbt-header-content,
        .uec-topbar .header-info,
        .uec-topbar .header-right-btn {
            display: flex;
            align-items: center;
            height: 100%;
        }
        .uec-topbar .rbt-information-list {
            display: flex !important;
            flex-wrap: nowrap;
            align-items: center;
            gap: 8px;
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .uec-topbar .rbt-information-list li {
            margin: 0 !important;
            padding: 0 !important;
        }
        .uec-topbar .rbt-information-list li a {
            display: inline-flex !important;
            align-items: center;
            gap: 7px;
            padding: 6px 12px !important;
            border-radius: 8px;
            border: 1px solid #bfdbfe;
            background: #eff6ff;
            color: #1e3a8a !important;
            font-size: 1.02rem !important;
            font-weight: 700 !important;
            text-decoration: none !important;
            line-height: 1.2;
            transition: all 0.2s ease;
        }
        .uec-topbar .rbt-information-list li a i {
            font-size: 1.05rem;
            color: #1d4ed8;
        }
        .uec-topbar .rbt-information-list li a:hover {
            background: #dbeafe !important;
            border-color: #93c5fd !important;
            color: #1e3a8a !important;
        }
        .uec-topbar .rbt-information-list li a.uec-top-wa {
            background: #ecfdf5;
            border-color: #a7f3d0;
            color: #065f46 !important;
        }
        .uec-topbar .rbt-information-list li a.uec-top-wa i { color: #047857; }
        .uec-topbar .rbt-information-list li a.uec-top-wa:hover {
            background: #d1fae5 !important;
            border-color: #6ee7b7 !important;
            color: #065f46 !important;
        }
        .uec-topbar .rbt-information-list li a.uec-top-fb i { color: #1d4ed8; }

        /* Empty cart: plain icon, not round button */
        .rbt-mini-cart a.uec-header-cart-plain {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: auto;
            height: auto;
            min-width: 0;
            padding: 4px;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            color: #0f172a;
            line-height: 1;
        }
        .rbt-mini-cart a.uec-header-cart-plain:hover,
        .rbt-mini-cart a.uec-header-cart-plain:focus {
            background: transparent !important;
            box-shadow: none !important;
            color: #1d4ed8;
        }
        .rbt-mini-cart a.uec-header-cart-plain i {
            font-size: 1.25rem;
        }

        .uec-topbar .header-right-btn {
            gap: 8px;
        }
        .uec-register-btn {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            gap: 8px;
            height: 34px;
            max-height: 34px;
            padding: 0 14px 0 16px !important;
            border-radius: 8px !important;
            background: #fff7ed !important;
            border: 1px solid #fed7aa !important;
            border-left: 4px solid #c2410c !important;
            color: #9a3412 !important;
            font-size: 1rem !important;
            font-weight: 800 !important;
            letter-spacing: 0.01em;
            text-decoration: none !important;
            box-shadow: none !important;
            transition: background 0.2s ease, border-color 0.2s ease !important;
            line-height: 1;
            white-space: nowrap;
            box-sizing: border-box;
        }
        .uec-register-btn:hover {
            background: #ffedd5 !important;
            border-color: #fdba74 !important;
            color: #7c2d12 !important;
            transform: none;
            text-decoration: none !important;
        }
        .uec-register-btn .uec-reg-ico {
            font-size: 1rem;
            margin-left: 2px;
            flex-shrink: 0;
        }
        .uec-register-btn .uec-reg-label {
            display: inline-flex;
            flex-direction: row;
            align-items: baseline;
            gap: 6px;
            line-height: 1;
        }
        .uec-register-btn .uec-reg-main {
            font-size: 1rem;
            font-weight: 800;
        }
        .uec-register-btn .uec-reg-sub {
            font-size: 0.82rem;
            font-weight: 600;
            opacity: 0.9;
            letter-spacing: 0;
            text-transform: none;
        }

        /* CUSTOM MEGA MENU STYLES */
        .custom-menu-header {
            color: #2c3e50 !important; font-weight: 700 !important; font-size: 1.6rem !important;
            margin: 15px 0 12px 0 !important; padding: 12px 18px 12px 20px !important;
            border-bottom: 3px solid #3498db !important;
            background: linear-gradient(90deg, #f8f9fa 0%, #e9ecef 100%) !important;
            border-radius: 8px !important; border-left: 5px solid #3498db !important;
            display: block !important; text-transform: none !important;
            line-height: 1.35 !important;
        }
        .custom-menu-header:first-child { margin-top: 0 !important; }

        .custom-submenu-category {
            color: #7f8c8d !important; font-weight: 600 !important; font-size: 1.1rem !important;
            margin: 15px 0 8px 0 !important; padding: 8px 15px !important;
            border-left: 3px solid #e74c3c !important; background-color: #f8f9fa !important;
            border-radius: 4px !important; display: block !important;
            text-transform: uppercase !important; letter-spacing: 0.5px !important;
        }

        .custom-menu-link {
            color: #34495e !important; font-weight: 400 !important; font-size: 1.2rem !important;
            padding: 10px 0 10px 25px !important; margin: 4px 0 !important; display: block !important;
            text-decoration: none !important; transition: all 0.3s ease !important;
            border-radius: 4px !important; line-height: 1.4 !important;
        }
        .custom-menu-link:hover {
            background-color: #ecf0f1 !important; color: #2c3e50 !important;
            padding-left: 30px !important; text-decoration: none !important;
        }

        .custom-academic-level {
            color: #8e44ad !important; font-weight: 600 !important; font-size: 1.25rem !important;
            margin: 18px 0 10px 0 !important; padding: 10px 15px !important;
            background: linear-gradient(90deg, #f4f3ff 0%, #e8e6ff 100%) !important;
            border-left: 4px solid #8e44ad !important; border-radius: 6px !important; display: block !important;
        }

        .mega-menu-item li.custom-menu-item {
            margin: 0 !important; padding: 0 !important; list-style: none !important;
            border: none !important; background: none !important;
        }
        .mega-menu-item li.custom-menu-item a { font-weight: 400 !important; text-decoration: none !important; }
        .mega-menu-item li.custom-menu-item a b,
        .mega-menu-item li.custom-menu-item a strong { font-weight: 400 !important; }

        .rbt-badge-card {
            background: linear-gradient(45deg, #e74c3c, #f39c12) !important;
            color: white !important; font-size: 0.85rem !important; padding: 3px 10px !important;
            border-radius: 12px !important; margin-left: 8px !important; font-weight: 500 !important;
        }

        /* Seminar CTA button for Academic menu */
        .seminar-cta-card {
            display: block !important;
            margin-top: 16px !important;
            padding: 18px 18px !important;
            border-radius: 14px !important;
            text-decoration: none !important;
            background: linear-gradient(135deg, #7c2d12 0%, #ea580c 45%, #f97316 100%) !important;
            color: #ffffff !important;
            border: 2px solid rgba(251, 191, 36, 0.45) !important;
            box-shadow: 0 6px 20px rgba(234, 88, 12, 0.35) !important;
            transition: all 0.3s ease !important;
            position: relative !important;
            overflow: hidden !important;
        }
        .seminar-cta-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
            transition: left 0.6s ease;
        }
        .seminar-cta-card:hover::before { left: 100%; }
        .seminar-cta-card:hover {
            transform: translateY(-3px) !important;
            box-shadow: 0 10px 28px rgba(234, 88, 12, 0.55) !important;
            color: #ffffff !important;
            text-decoration: none !important;
        }
        .seminar-cta-card .seminar-badge {
            display: inline-block;
            background: linear-gradient(45deg, #FFD700, #FFA500);
            color: #1a1a2e;
            padding: 3px 10px;
            border-radius: 10px;
            font-size: 0.75rem;
            font-weight: 800;
            margin-bottom: 8px;
            animation: pulse-badge 2s ease-in-out infinite;
        }
        .seminar-cta-card .seminar-title {
            display: block;
            color: #ffffff !important;
            font-size: 1.05rem;
            font-weight: 800;
            line-height: 1.35;
            margin-bottom: 6px;
        }
        .seminar-cta-card .seminar-desc {
            display: block;
            color: rgba(255,255,255,0.92) !important;
            font-size: 0.82rem;
            line-height: 1.45;
            margin-bottom: 10px;
        }
        .seminar-cta-card .seminar-action {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: rgba(255,255,255,0.18);
            color: #ffffff !important;
            border: 1px solid rgba(255,255,255,0.35);
            padding: 7px 14px;
            border-radius: 18px;
            font-size: 0.82rem;
            font-weight: 700;
        }

        /* Pathway info box */
        .pathway-info {
            margin-top: 20px; padding: 15px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border-radius: 10px; color: white;
        }
        .pathway-title { color: #fff; font-weight: 600; margin-bottom: 10px; font-size: 1rem; }
        .pathway-advantages { list-style: none; padding: 0; margin-top: 15px; font-size: 0.85rem; }
        .pathway-advantages li { color: white !important; margin-bottom: 5px; padding-left: 0; }
        .pathway-download { margin-top: 15px; text-align: center; }
        .pathway-download a {
            display: inline-flex; align-items: center; background: rgba(255,255,255,0.15);
            color: white; padding: 10px 20px; border-radius: 25px; text-decoration: none;
            font-size: 0.9rem; font-weight: 600; transition: all 0.3s ease;
            border: 1px solid rgba(255,255,255,0.3);
        }
        .pathway-download a:hover {
            background: rgba(255,255,255,0.25); transform: translateY(-2px);
            color: white; text-decoration: none; box-shadow: 0 4px 12px rgba(0,0,0,0.2);
        }
        .pathway-download i { margin-right: 10px; font-size: 1.1rem; }

        .pdf-download-link {
            display: inline-flex; align-items: center;
            background: linear-gradient(45deg, #ff6b6b, #4ecdc4);
            color: white; padding: 10px 18px; border-radius: 25px; text-decoration: none;
            font-size: 0.9rem; font-weight: 600; transition: all 0.3s ease;
            margin-top: 15px; box-shadow: 0 4px 12px rgba(0,0,0,0.15);
        }
        .pdf-download-link:hover {
            transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.25);
            color: white; text-decoration: none;
            background: linear-gradient(45deg, #ff5252, #26c6da);
        }
        .pdf-download-link i { margin-right: 10px; font-size: 1.1rem; }

        /* Responsive */
        @media (max-width: 768px) {
            .custom-menu-header { font-size: 1.3rem !important; padding: 10px 15px !important; }
            .custom-submenu-category { font-size: 1rem !important; }
            .custom-menu-link { font-size: 1.1rem !important; padding: 8px 0 8px 20px !important; }
            .custom-academic-level { font-size: 1.1rem !important; }
        }
        @media (max-width: 480px) {
            .custom-menu-header { font-size: 1.2rem !important; }
            .custom-submenu-category { font-size: 0.95rem !important; }
            .custom-menu-link { font-size: 1rem !important; }
        }

        /* Back to Top */
        .rbt-progress-parent {
            position: fixed; right: 30px; bottom: 30px; height: 50px; width: 50px;
            cursor: pointer; display: block; border-radius: 50%;
            box-shadow: inset 0 0 0 2px rgba(255,255,255,0.2); z-index: 999;
            opacity: 0; visibility: hidden; transform: translateY(15px);
            transition: all 0.3s linear;
        }
        .rbt-progress-parent.rbt-back-to-top-active { opacity: 1; visibility: visible; transform: translateY(0); }
        .rbt-progress-parent .rbt-back-circle path {
            fill: none; stroke: #ff6b6b; stroke-width: 4;
            box-sizing: border-box; transition: all 0.3s linear;
        }
        .rbt-progress-parent::after {
            font-family: "feather"; content: "\e914"; position: absolute;
            text-align: center; line-height: 50px; font-size: 24px; color: #ffffff;
            left: 0; top: 0; height: 100%; width: 100%; border-radius: 50%;
            background: linear-gradient(45deg, #FF5F6D, #FFC371);
            box-shadow: 0 4px 8px rgba(0,0,0,0.2); transition: all 0.3s ease;
        }
        .rbt-progress-parent:hover { box-shadow: inset 0 0 0 2px rgba(255,255,255,0.5); }
        .rbt-progress-parent:hover::after { transform: scale(1.1); box-shadow: 0 6px 12px rgba(0,0,0,0.3); background: linear-gradient(45deg, #ffc371, #FF5F6D); }

        /* Mobile menu styles */
        @media (max-width: 991px) {
            .popup-mobile-menu .mainmenu-nav .mainmenu li > a { font-size: 1.1rem; padding: 12px 0; line-height: 1.2; display: block; }
            .popup-mobile-menu .mainmenu-nav .mainmenu li { margin-bottom: 0px; border-bottom: 1px solid rgba(0,0,0,0.1); }
            .popup-mobile-menu .mainmenu-nav .mainmenu li:last-child { border-bottom: none; }
            .popup-mobile-menu .mainmenu-nav .mainmenu li > a i.feather-chevron-down { font-size: 0.9rem; margin-left: 8px; }
            .popup-mobile-menu .rbt-megamenu .mega-menu-item li > a { padding: 8px 0 8px 15px; font-size: 1rem; }
            .popup-mobile-menu .rbt-megamenu h4 {
                font-size: 1.3rem !important; font-weight: 700 !important;
                padding: 12px 0 !important; margin-bottom: 8px !important;
                color: #2c3e50 !important; border-bottom: 2px solid #3498db !important;
            }
            .popup-mobile-menu .rbt-megamenu .mega-menu-item li strong,
            .popup-mobile-menu .rbt-megamenu .mega-menu-item strong {
                font-size: 0.95rem !important; font-weight: 600 !important;
                color: #7f8c8d !important; display: block !important; padding: 5px 0 !important;
            }
            .popup-mobile-menu .rbt-megamenu .mega-menu-item li a { font-size: 0.9rem !important; font-weight: 400 !important; }
        }

        .rbt-badge-new {
            background-color: #2ecc71; color: #ffffff; font-size: 12px;
            padding: 2px 8px; border-radius: 12px; margin-left: 6px;
            font-weight: 600; vertical-align: middle; display: inline-block;
        }
        .rbt-badge-new-hot {
            background: linear-gradient(45deg, #ff6348, #ff9f43); color: #ffffff;
            font-size: 12px; padding: 2px 8px; border-radius: 12px; margin-left: 6px;
            font-weight: 600; vertical-align: middle; display: inline-block;
            animation: pulse-badge 2s ease-in-out infinite;
            box-shadow: 0 2px 8px rgba(255, 99, 72, 0.4);
        }

        .ai-dev-home-link {
            display: block !important;
            background: linear-gradient(135deg, #1e1045 0%, #2d1b69 50%, #7c3aed 100%) !important;
            color: white !important; padding: 16px 18px !important; border-radius: 12px !important;
            margin-bottom: 16px !important; text-decoration: none !important;
            transition: all 0.3s ease !important; border: 2px solid rgba(124,58,237,0.3) !important;
            position: relative !important; overflow: hidden !important;
        }
        .ai-dev-home-link:hover {
            transform: translateY(-2px) !important; box-shadow: 0 8px 25px rgba(124,58,237,0.4) !important;
            border-color: rgba(124,58,237,0.6) !important; color: white !important; text-decoration: none !important;
        }
        .ai-dev-home-link .dev-home-title { font-size: 1.15rem; font-weight: 700; display: block; margin-bottom: 4px; }
        .ai-dev-home-link .dev-home-sub { font-size: 0.82rem; opacity: 0.85; display: block; line-height: 1.3; }
        .ai-dev-home-link .dev-home-badge {
            display: inline-block; background: linear-gradient(45deg, #FFD700, #FFA500);
            color: #1a1a2e; padding: 2px 10px; border-radius: 10px;
            font-size: 0.7rem; font-weight: 700; margin-left: 8px; vertical-align: middle;
        }

        /* ===== NCC Diploma articulation hint (AI Dev course) ===== */
        .ncc-hint {
            display:flex; align-items:flex-start; gap:9px;
            margin:0 0 14px; padding:12px 14px;
            background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 100%);
            border:1px solid #c7d2fe; border-left:4px solid #4338ca;
            border-radius:10px;
        }
        .ncc-hint .ncc-ico { font-size:1.25rem; line-height:1.3; flex-shrink:0; }
        .ncc-hint .ncc-txt { font-size:0.95rem; color:#3730a3; line-height:1.5; font-weight:500; }
        .ncc-hint .ncc-txt strong { color:#312e81; font-weight:700; }
        .ncc-hint .ncc-badge {
            display:inline-block; background:#4338ca; color:#fff;
            font-size:0.68rem; font-weight:700; padding:2px 8px;
            border-radius:8px; margin-left:4px; vertical-align:middle; letter-spacing:.3px;
        }
        @media (max-width:991px){ .ncc-hint .ncc-txt{ font-size:0.9rem; } }

        /* ===== 職業培訓 — organized columns, 升學課程 color tone ===== */
        .career-col .custom-menu-header {
            background: #f8fafc !important;
            border-radius: 8px !important;
            padding: 12px 16px 12px 18px !important;
        }
        .career-col-a .custom-menu-header {
            border-left-color: #1d4ed8 !important;
            border-bottom-color: #93c5fd !important;
            background: #eff6ff !important;
        }
        .career-col-b .custom-menu-header {
            border-left-color: #047857 !important;
            border-bottom-color: #6ee7b7 !important;
            background: #ecfdf5 !important;
        }
        .career-col-c .custom-menu-header {
            border-left-color: #c2410c !important;
            border-bottom-color: #fdba74 !important;
            background: #fff7ed !important;
        }
        .career-col-d .custom-menu-header {
            border-left-color: #1d4ed8 !important;
            border-bottom-color: #93c5fd !important;
            background: #eff6ff !important;
        }
        .career-note {
            display: block;
            margin: 0 0 12px;
            padding: 0 4px 0 8px;
            border: none;
            background: none;
            box-shadow: none;
            font-size: 0.95rem;
            line-height: 1.5;
            color: #475569;
            font-weight: 400;
        }
        .career-note strong { color: #0f172a; font-weight: 700; }
        .career-note .note-tag {
            display: inline;
            color: #1d4ed8;
            font-weight: 700;
            font-size: 0.85rem;
            margin-left: 4px;
        }
        .career-col-b .career-note .note-tag { color: #047857; }
        .career-col-c .career-note .note-tag { color: #c2410c; }
        .career-group {
            display: block;
            margin: 10px 0 4px;
            padding: 0 4px 0 8px;
            font-size: 0.88rem;
            font-weight: 700;
            color: #64748b;
            letter-spacing: 0.02em;
        }
        .career-group .gi { margin-right: 6px; }
        .career-col .academic-course-link {
            margin-bottom: 8px;
            padding: 12px 14px 14px 16px !important;
        }
        .career-col-a .academic-course-link { border-left: 4px solid #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
        .career-col-a .academic-course-link:hover { background: #dbeafe; border-color: #93c5fd; }
        .career-col-a .academic-course-link .acl-tag { background: #dbeafe; color: #1e3a8a; }
        .career-col-b .academic-course-link { border-left: 4px solid #047857; background: #ecfdf5; border-color: #a7f3d0; }
        .career-col-b .academic-course-link:hover { background: #d1fae5; border-color: #6ee7b7; }
        .career-col-b .academic-course-link .acl-tag { background: #d1fae5; color: #065f46; }
        .career-col-c .academic-course-link { border-left: 4px solid #c2410c; background: #fff7ed; border-color: #fed7aa; }
        .career-col-c .academic-course-link:hover { background: #ffedd5; border-color: #fdba74; }
        .career-col-c .academic-course-link .acl-tag { background: #ffedd5; color: #9a3412; }
        .career-col-d .academic-course-link { border-left: 4px solid #1d4ed8; background: #eff6ff; border-color: #bfdbfe; }
        .career-col-d .academic-course-link:hover { background: #dbeafe; border-color: #93c5fd; }
        .career-col-d .academic-course-link .acl-tag { background: #dbeafe; color: #1e3a8a; }
        .career-col .custom-menu-link,
        .career-col .custom-menu-link-sub {
            border-left: none !important;
            background: transparent !important;
            border-radius: 4px !important;
            font-weight: 400 !important;
            color: #334155 !important;
        }
        .career-col .custom-menu-link:hover,
        .career-col .custom-menu-link-sub:hover {
            background-color: #f1f5f9 !important;
            color: #0f172a !important;
            box-shadow: none !important;
        }
        .career-col .summer-schedule-menu-link {
            border-left: none !important;
            background: transparent !important;
            color: #334155 !important;
            font-weight: 400 !important;
            padding: 10px 0 10px 25px !important;
        }
        .career-col .summer-schedule-menu-link:hover {
            background-color: #f1f5f9 !important;
            color: #0f172a !important;
            padding-left: 30px !important;
            box-shadow: none !important;
        }

        .menu-group-label {
            display: block !important; font-size: 0.88rem !important; font-weight: 700 !important;
            color: #6b7280 !important; text-transform: uppercase !important; letter-spacing: 0.8px !important;
            padding: 10px 12px 6px !important; margin: 8px 0 4px !important;
            border-bottom: 2px solid #e5e7eb !important;
        }
        .menu-group-label .group-icon { margin-right: 6px; }
        .menu-group-label-video { color: #7c3aed !important; border-bottom-color: #c4b5fd !important; }

        .custom-menu-link-sub {
            color: #34495e !important; font-weight: 400 !important; font-size: 1.1rem !important;
            padding: 7px 0 7px 40px !important; margin: 2px 0 !important; display: block !important;
            text-decoration: none !important; transition: all 0.3s ease !important;
            border-radius: 4px !important; line-height: 1.4 !important; position: relative !important;
        }
        .custom-menu-link-sub::before { content: '└'; position: absolute; left: 25px; color: #c4b5fd; font-size: 1rem; }
        .custom-menu-link-sub:hover {
            background-color: #f5f3ff !important; color: #6d28d9 !important;
            padding-left: 44px !important; text-decoration: none !important;
        }

        /* Pathway / course / resource — match 職業培訓 menu type scale */
        .pathway-card .target-badge,
        .academic-course-link .acl-tag,
        .academic-chip {
            font-size: 0.85rem; /* same as .rbt-badge-card */
        }
        .pathway-card .card-title,
        .academic-course-link .acl-title,
        .academic-resource-link {
            font-size: 1.2rem; /* same as .custom-menu-link */
        }
        .pathway-card .card-desc,
        .academic-course-link .acl-who {
            font-size: 1.1rem; /* same as .custom-menu-link-sub */
        }

        /* Pathway comparison cards (升學課程 menu) — light boxes, dark text for readability */
        .pathway-card {
            display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
            text-align: left; border-radius: 10px; padding: 12px 14px 14px 16px; margin-bottom: 8px;
            text-decoration: none !important; border: 1px solid transparent; border-left-width: 4px;
            transition: all 0.25s ease; position: relative; overflow: hidden; min-height: 0;
            box-sizing: border-box;
        }
        .pathway-card:hover { transform: translateY(-2px); text-decoration: none !important; }
        .pathway-card-a {
            background: #eff6ff; border-color: #bfdbfe; border-left-color: #1d4ed8;
            box-shadow: 0 1px 4px rgba(29,78,216,0.08);
        }
        .pathway-card-a:hover { background: #dbeafe; border-color: #93c5fd; box-shadow: 0 3px 10px rgba(29,78,216,0.15); }
        .pathway-card-b {
            background: #ecfdf5; border-color: #a7f3d0; border-left-color: #047857;
            box-shadow: 0 1px 4px rgba(4,120,87,0.08);
        }
        .pathway-card-b:hover { background: #d1fae5; border-color: #6ee7b7; box-shadow: 0 3px 10px rgba(4,120,87,0.15); }
        .pathway-card-c {
            background: #fff7ed; border-color: #fed7aa; border-left-color: #c2410c;
            box-shadow: 0 1px 4px rgba(194,65,12,0.08);
        }
        .pathway-card-c:hover { background: #ffedd5; border-color: #fdba74; box-shadow: 0 3px 10px rgba(194,65,12,0.15); }
        .pathway-card .target-badge {
            padding: 2px 8px; border-radius: 6px;
            font-weight: 700; display: inline-block; margin-bottom: 4px; line-height: 1.3;
            letter-spacing: 0.02em;
        }
        .pathway-card-a .target-badge { background: #dbeafe; color: #1e3a8a; border: 1px solid #93c5fd; }
        .pathway-card-b .target-badge { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }
        .pathway-card-c .target-badge { background: #ffedd5; color: #9a3412; border: 1px solid #fdba74; }
        .pathway-card .card-title {
            font-weight: 800; color: #0f172a !important; margin: 0 0 2px;
            text-align: left; line-height: 1.25; letter-spacing: -0.2px;
        }
        .pathway-card .card-desc {
            color: #334155 !important; line-height: 1.35;
            margin: 0; font-weight: 500;
        }
        .academic-course-link {
            display: block; padding: 12px 14px 14px 16px; margin-bottom: 8px; border-radius: 8px;
            text-decoration: none !important; border: 1px solid #e2e8f0; background: #f8fafc;
            transition: all 0.2s ease; box-sizing: border-box;
        }
        .academic-course-link:hover { background: #f1f5f9; border-color: #94a3b8; text-decoration: none !important; }
        .academic-course-link .acl-tag {
            display: inline-block; font-weight: 700; color: #64748b;
            text-transform: uppercase; letter-spacing: 0.03em; margin-bottom: 4px;
        }
        .academic-course-link .acl-title {
            display: block; font-weight: 700; color: #0f172a !important; line-height: 1.35;
            margin-bottom: 4px;
        }
        .academic-course-link .acl-who {
            display: block; color: #64748b !important; margin-top: 2px; line-height: 1.4;
            padding-bottom: 2px;
        }
        .academic-resource-link {
            display: flex; align-items: center; gap: 8px; padding: 9px 12px; margin-bottom: 8px;
            border-radius: 8px; text-decoration: none !important; font-weight: 600;
            border: 1px solid transparent; transition: all 0.2s ease;
        }
        .academic-resource-link:hover { transform: translateY(-1px); text-decoration: none !important; }
        .academic-resource-pdf {
            background: #fef2f2; border-color: #fecaca; color: #991b1b !important;
        }
        .academic-resource-pdf:hover { background: #fee2e2; border-color: #f87171; color: #7f1d1d !important; }
        .academic-resource-video {
            background: #f5f3ff; border-color: #ddd6fe; color: #5b21b6 !important;
        }
        .academic-resource-video:hover { background: #ede9fe; border-color: #a78bfa; color: #4c1d95 !important; }
        .academic-menu-video .video-popup-wrapper { max-height: 140px; overflow: hidden; border-radius: 10px; }
        .academic-menu-video .video-popup-wrapper img { object-fit: cover; height: 140px; width: 100%; }
        .academic-chips {
            display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px;
        }
        .academic-chip {
            font-weight: 600; color: #334155; background: #f1f5f9;
            border: 1px solid #e2e8f0; border-radius: 999px; padding: 4px 10px; line-height: 1.2;
        }

        /* English subtitle on top-level nav */
        .nav-en-sub { font-size: 0.78rem; opacity: 0.7; font-weight: 400; margin-left: 3px; }

        /* ===== STUDENT BENEFIT — match 職業培訓 / 升學課程 ===== */
        .student-benefit-menu-item > a,
        .student-benefit-mobile-item > a {
            background: transparent !important;
            color: inherit !important;
            padding: inherit !important;
            border-radius: 0 !important;
            font-weight: inherit !important;
            display: inline-flex !important;
            align-items: center !important;
            gap: 4px !important;
            box-shadow: none !important;
            animation: none !important;
            margin: 0 !important;
        }
        .student-benefit-menu-item > a:hover,
        .student-benefit-mobile-item > a:hover {
            transform: none !important;
            color: inherit !important;
            text-decoration: none !important;
        }
        .student-benefit-menu-item .benefit-tag {
            display: none;
        }

        .benefit-col .custom-menu-header {
            background: #f8fafc !important;
            border-radius: 8px !important;
        }
        .benefit-col-a .custom-menu-header {
            border-left-color: #c2410c !important;
            border-bottom-color: #fdba74 !important;
            background: #fff7ed !important;
        }
        .benefit-col-b .custom-menu-header {
            border-left-color: #1d4ed8 !important;
            border-bottom-color: #93c5fd !important;
            background: #eff6ff !important;
        }
        .benefit-col-c .custom-menu-header {
            border-left-color: #047857 !important;
            border-bottom-color: #6ee7b7 !important;
            background: #ecfdf5 !important;
        }

        /* Reuse pathway-card look for benefit links */
        .benefit-card {
            display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
            text-align: left; border-radius: 10px; padding: 12px 14px 14px 16px; margin-bottom: 8px;
            text-decoration: none !important; border: 1px solid transparent; border-left-width: 4px;
            transition: all 0.25s ease; min-height: 0; box-shadow: 0 1px 4px rgba(15,23,42,0.06);
            box-sizing: border-box;
        }
        .benefit-card:hover { transform: translateY(-2px); text-decoration: none !important; }
        .benefit-card .bc-badge {
            padding: 2px 8px; border-radius: 6px; font-size: 0.85rem; font-weight: 700;
            display: inline-block; margin-bottom: 4px; line-height: 1.3;
        }
        .benefit-card .bc-title {
            font-size: 1.2rem; font-weight: 800; color: #0f172a !important;
            margin: 0 0 2px; line-height: 1.25;
        }
        .benefit-card .bc-sub {
            font-size: 1.1rem; color: #334155 !important; margin: 0; line-height: 1.35; font-weight: 500;
        }

        .benefit-card-1 {
            background: #fff7ed; border-color: #fed7aa; border-left-color: #c2410c;
        }
        .benefit-card-1:hover { background: #ffedd5; border-color: #fdba74; }
        .benefit-card-1 .bc-badge { background: #ffedd5; color: #9a3412; border: 1px solid #fdba74; }

        .benefit-card-2 {
            background: #ecfdf5; border-color: #a7f3d0; border-left-color: #047857;
        }
        .benefit-card-2:hover { background: #d1fae5; border-color: #6ee7b7; }
        .benefit-card-2 .bc-badge { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }

        .benefit-card-3 {
            background: #eff6ff; border-color: #bfdbfe; border-left-color: #1d4ed8;
        }
        .benefit-card-3:hover { background: #dbeafe; border-color: #93c5fd; }
        .benefit-card-3 .bc-badge { background: #dbeafe; color: #1e3a8a; border: 1px solid #93c5fd; }

        .benefit-card-4 {
            background: #ecfdf5; border-color: #a7f3d0; border-left-color: #047857;
        }
        .benefit-card-4:hover { background: #d1fae5; border-color: #6ee7b7; }
        .benefit-card-4 .bc-badge { background: #d1fae5; color: #065f46; border: 1px solid #6ee7b7; }

        .benefit-card-pdf {
            background: #fff7ed; border-color: #fed7aa; border-left-color: #c2410c;
            animation: none;
        }
        .benefit-card-pdf:hover { background: #ffedd5; border-color: #fdba74; }
        .benefit-card-pdf .bc-badge {
            background: #ffedd5; color: #9a3412; border: 1px solid #fdba74; font-weight: 700;
        }
        .benefit-card-pdf .pdf-ico { margin-right: 6px; color: #c2410c; }

        .benefit-wa-link {
            display: inline-flex; align-items: center; gap: 8px;
            margin-top: 8px; color: #047857; font-weight: 600; font-size: 1rem;
            text-decoration: none;
        }
        .benefit-wa-link:hover { color: #065f46; text-decoration: underline; }

/* ===== Summer Schedule Badge / Highlight ===== */
.rbt-badge-summer {
    background: linear-gradient(45deg, #f97316, #facc15);
    color: #7c2d12;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 12px;
    margin-left: 6px;
    font-weight: 800;
    vertical-align: middle;
    display: inline-block;
    animation: summer-schedule-pulse 1.7s ease-in-out infinite;
    box-shadow: 0 2px 10px rgba(249, 115, 22, 0.45);
    white-space: nowrap;
}

.summer-schedule-menu-link {
    padding: 10px 12px !important;
    border-left: 4px solid #f97316 !important;
    background: linear-gradient(90deg, #fff7ed 0%, #fffbeb 100%) !important;
    border-radius: 6px !important;
    color: #7c2d12 !important;
    font-weight: 700 !important;
    position: relative !important;
}

.summer-schedule-menu-link:hover {
    background: linear-gradient(90deg, #ffedd5 0%, #fef3c7 100%) !important;
    color: #7c2d12 !important;
    padding-left: 16px !important;
    box-shadow: 0 5px 14px rgba(249, 115, 22, 0.18) !important;
}

@keyframes summer-schedule-pulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 2px 10px rgba(249, 115, 22, 0.38);
    }

    50% {
        transform: scale(1.08);
        box-shadow: 0 4px 16px rgba(249, 115, 22, 0.62);
    }
}

@media (max-width: 991px) {
    .popup-mobile-menu .summer-schedule-menu-link {
        display: block !important;
        padding: 10px 12px !important;
        margin-bottom: 6px !important;
    }

    .rbt-badge-summer {
        font-size: 11px;
        padding: 2px 7px;
    }
}
