/* ==== extracted from Web.Master lines 925-991 ==== */
        /* Top Progress Bar - Visible by default */
        #tenderjo-loading-progress {
            position: fixed;
            top: 0;
            left: 0;
            width: 0%;
            height: 3px;
            background: #ec771c;
            z-index: 1000000;
            transition: width 0.3s ease;
        }

        /* Loading Overlay - Visible by default during page load */
        #tenderjo-loading-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: #ffffff;
            z-index: 999999;
            display: flex;
            justify-content: center;
            align-items: center;
            opacity: 75%;
            transition: opacity 0.3s ease;
        }

            #tenderjo-loading-overlay.hidden {
                opacity: 0;
                pointer-events: none;
            }

        /* Loading Content */
        .tenderjo-loading-content {
            text-align: center;
        }

        /* Spinner */
        .tenderjo-spinner {
            width: 60px;
            height: 60px;
            border: 4px solid #f0f0f0;
            border-top: 4px solid #2e8795;
            border-radius: 50%;
            animation: tenderjoSpin 1s linear infinite;
            margin: 0 auto 1rem;
        }

        @keyframes tenderjoSpin {
            0% {
                transform: rotate(0deg);
            }

            100% {
                transform: rotate(360deg);
            }
        }

        /* Progress Counter */
        .tenderjo-loading-text {
            font-size: 1.5rem;
            color: #333;
            font-weight: 600;
        }
/* ==== extracted from Web.Master lines 1121-1345 ==== */
            /* === Premium Ticket Widget === */
            .tgw-widget { position: fixed; bottom: 24px; right: 25%; z-index: 9999; display: flex; flex-direction: column; align-items: center; pointer-events: none; }
            .tgw-widget .tgw-panel,
            .tgw-widget .tgw-trigger-wrap,
            .tgw-widget .tgw-ribbon { pointer-events: auto; }
            [dir="rtl"] .tgw-widget { right: auto; left: 25%; }


            /* Panel */
            .tgw-panel {
                width: 370px; border-radius: 28px; background: #fff; overflow: hidden; margin-bottom: 20px;
                box-shadow: 0 25px 50px -12px rgba(15,23,42,0.15), 0 0 0 1px rgba(226,232,240,0.8);
                transition: all 0.6s cubic-bezier(0.34,1.56,0.64,1);
                transform-origin: bottom center;
            }
            [dir="rtl"] .tgw-panel { transform-origin: bottom center; }
            .tgw-panel-hidden { opacity: 0; transform: scale(0.3) translateY(40px) rotate(10deg); pointer-events: none; visibility: hidden; }
            .tgw-panel-visible { opacity: 1; transform: scale(1) translateY(0) rotate(0deg); pointer-events: auto; visibility: visible; }

            /* Countdown Strip */
            .tgw-countdown-strip {
                background: linear-gradient(135deg, #0a3d44, #1296A5);
                padding: 10px 20px; display: flex; align-items: center; justify-content: center; gap: 10px;
                border-radius: 28px 28px 0 0;
            }
            .tgw-cd-label { font-size: 8px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.6); }
            .tgw-cd-timer { display: flex; align-items: center; gap: 3px; }
            .tgw-cd-box {
                background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.15);
                border-radius: 5px; padding: 3px 6px; min-width: 34px; text-align: center;
            }
            .tgw-cd-num { display: block; font-size: 13px; font-weight: 800; color: #fff; line-height: 1; font-variant-numeric: tabular-nums; }
            .tgw-cd-unit { display: block; font-size: 6px; font-weight: 600; text-transform: uppercase; color: rgba(255,255,255,0.5); letter-spacing: 0.5px; margin-top: 1px; }
            .tgw-cd-sep { font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.3); }

            /* Header */
            .tgw-header { position: relative; padding: 24px 24px 20px; overflow: hidden; }
            .tgw-header-bg {
                position: absolute; inset: 0;
                background: linear-gradient(120deg, #E0F7FA, #FEF3C7, #E0F7FA);
                background-size: 200% 200%; opacity: 0.7;
                animation: tgwHeaderShift 8s ease-in-out infinite alternate;
            }
            @keyframes tgwHeaderShift { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } }
            .tgw-header-blob { position: absolute; width: 128px; height: 128px; border-radius: 50%; filter: blur(32px); pointer-events: none; }
            .tgw-blob-teal { top: -40px; right: -40px; background: rgba(18,150,165,0.15); }
            .tgw-blob-orange { bottom: -40px; left: -40px; background: rgba(242,123,33,0.15); }
            [dir="rtl"] .tgw-blob-teal { right: auto; left: -40px; }
            [dir="rtl"] .tgw-blob-orange { left: auto; right: -40px; }
            .tgw-header-content { position: relative; z-index: 10; }

            /* Badge */
            .tgw-badge {
                display: inline-flex; align-items: center; gap: 6px;
                background: rgba(255,255,255,0.6); backdrop-filter: blur(8px);
                border: 1px solid rgba(255,255,255,0.8); color: #F27B21;
                font-size: 10px; font-weight: 700; padding: 4px 10px; border-radius: 6px;
                margin-bottom: 16px; box-shadow: 0 1px 3px rgba(0,0,0,0.05);
            }
            .tgw-badge-dot { width: 6px; height: 6px; border-radius: 50%; background: #f97316; animation: tgwPulse 2s infinite; }
            @keyframes tgwPulse { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }

            /* Title */
            .tgw-title { font-size: 22px; font-weight: 800; color: #1A2938; line-height: 1.3; margin: 0 0 8px; }
            .tgw-title-accent {
                color: transparent; background: linear-gradient(135deg, #F27B21, #f59e0b);
                -webkit-background-clip: text; background-clip: text;
            }
            .tgw-subtitle { font-size: 13px; color: #64748b; line-height: 1.6; margin: 0; font-weight: 500; }
            .tgw-subtitle strong { color: #0E7682; }

            /* Divider */
            .tgw-divider { border-top: 2px dashed rgba(226,232,240,0.8); margin: 0 24px; position: relative; }
            .tgw-divider::before, .tgw-divider::after {
                content: ''; position: absolute; top: -10px; width: 20px; height: 20px;
                background: #f1f5f9; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(226,232,240,0.8);
            }
            .tgw-divider::before { left: -30px; }
            .tgw-divider::after { right: -30px; }

            /* Body */
            .tgw-body { padding: 20px 24px 24px; background: #fff; }

            /* Prices */
            .tgw-prices { display: flex; gap: 12px; margin-bottom: 20px; }
            .tgw-price-card {
                flex: 1; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px;
                padding: 12px; display: flex; flex-direction: column; align-items: center;
                justify-content: center; transition: all 0.2s;
            }
            .tgw-price-card:hover { background: #fff; border-color: #1296A5; box-shadow: 0 4px 12px rgba(18,150,165,0.08); }
            .tgw-price-card-gulf {
                background: #fff; border-color: rgba(242,123,33,0.25); position: relative; overflow: hidden;
                box-shadow: 0 4px 15px rgba(242,123,33,0.12);
            }
            .tgw-price-card-gulf:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(242,123,33,0.2); border-color: rgba(242,123,33,0.4); }
            .tgw-price-card-levant {
                background: #fff; border-color: rgba(18,150,165,0.25); position: relative; overflow: hidden;
                box-shadow: 0 4px 15px rgba(18,150,165,0.1);
            }
            .tgw-price-card-levant:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(18,150,165,0.18); border-color: rgba(18,150,165,0.4); }
            .tgw-price-accent-bar { position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, #F27B21, #f59e0b); }
            .tgw-bar-levant { background: linear-gradient(90deg, #0E7682, #1296A5); }
            .tgw-price-label { font-size: 10px; font-weight: 700; text-transform: uppercase; color: #94a3b8; margin-bottom: 4px; }
            .tgw-label-gulf { color: #f97316; margin-top: 4px; }
            .tgw-label-levant { color: #1296A5; margin-top: 4px; }
            .tgw-price-row { display: flex; align-items: baseline; gap: 4px; }
            .tgw-price-currency { font-size: 12px; font-weight: 600; color: #94a3b8; }
            .tgw-price-amount { font-size: 22px; font-weight: 900; color: #1A2938; }
            .tgw-curr-gulf { color: #F27B21; }
            .tgw-amount-gulf { color: #F27B21; }
            .tgw-curr-levant { color: #0E7682; }
            .tgw-amount-levant { color: #0E7682; }

            /* Region map icon in price card */
            .tgw-price-ico { display: block; width: 26px; height: 26px; object-fit: contain; margin: 0 auto 2px; opacity: 0.8; }

            /* Header top row (badge + hide) */
            .tgw-header-top-row { display: flex; align-items: center; justify-content: space-between; width: 100%; }

            /* Hide button (next to badge) */
            .tgw-hide-btn {
                display: inline-flex; align-items: center; justify-content: center;
                width: 20px; height: 20px; padding: 0;
                background: rgba(128,128,128,0.25); border: 1px solid rgba(128,128,128,0.35); border-radius: 50%;
                color: #999; font-size: 10px; cursor: pointer;
                transition: all 0.2s ease;
            }
            .tgw-hide-btn:hover { background: rgba(128,128,128,0.4); color: #666; }
            .tgw-hide-btn i { font-size: 10px; }
            .tgw-widget.tgw-dismissed { display: none !important; }

            /* CTA */
            .tgw-cta {
                display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
                background: #1A2938; color: #fff !important; text-decoration: none !important;
                font-size: 14px; font-weight: 700; border-radius: 12px; padding: 14px 20px;
                box-shadow: 0 4px 12px rgba(26,41,56,0.2); transition: all 0.3s ease; cursor: pointer; border: none;
            }
            .tgw-cta:hover { background: #1296A5; box-shadow: 0 8px 20px rgba(18,150,165,0.25); transform: translateY(-1px); }
            [dir="rtl"] .tgw-cta svg { transform: rotate(180deg); }

            /* Trigger Wrapper */
            .tgw-trigger-wrap {
                position: relative; width: 84px; height: 84px; flex-shrink: 0;
                animation: tgwBounce 2s infinite;
            }
            .tgw-open .tgw-trigger-wrap { animation: none; }
            @keyframes tgwBounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }

            /* Rotating Border Trace Ring — fast spin + pause */
            .tgw-laser-ring {
                position: absolute; inset: -4px; z-index: 15; border-radius: 28px;
                overflow: hidden; pointer-events: none;
            }
            .tgw-laser-ring::before {
                content: ''; position: absolute; inset: -50%;
                background: conic-gradient(from 0deg, transparent 55%, #1296A5 72%, #F27B21 88%, transparent 100%);
                animation: tgwSpin 8s ease-in-out infinite;
            }
            @keyframes tgwSpin {
                0% { transform: rotate(0deg); }
                15% { transform: rotate(360deg); }
                100% { transform: rotate(360deg); }
            }
            .tgw-open .tgw-laser-ring { opacity: 0; transition: opacity 0.3s; }

            /* Pulse Ring */
            .tgw-pulse-ring {
                position: absolute; inset: 0; background: rgba(242,123,33,0.3); border-radius: 24px;
                animation: tgwRingPulse 2.5s cubic-bezier(0.215,0.61,0.355,1) infinite; z-index: -1;
            }
            @keyframes tgwRingPulse { 0% { transform: scale(0.8); opacity: 0.5; } 100% { transform: scale(1.5); opacity: 0; } }

            /* Ribbon */
            .tgw-ribbon {
                position: absolute; top: -12px; right: -10px; z-index: 30;
                background: linear-gradient(135deg, #F27B21, #f59e0b); color: #fff;
                font-size: 11px; font-weight: 800; padding: 4px 10px; border-radius: 12px;
                box-shadow: 0 4px 10px rgba(242,123,33,0.4); border: 2px solid #fff;
                white-space: nowrap; transition: all 0.3s ease;
            }
            [dir="rtl"] .tgw-ribbon { right: auto; left: -10px; }
            .tgw-open .tgw-ribbon { opacity: 0; transform: scale(0) translateY(10px); }

            /* Trigger Button */
            .tgw-trigger {
                position: relative; width: 100%; height: 100%; border-radius: 24px; border: none;
                background: #fff; cursor: pointer; overflow: hidden; z-index: 20;
                box-shadow: 0 10px 25px -5px rgba(18,150,165,0.3), inset 0 0 0 1px rgba(226,232,240,0.8);
                transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1);
            }
            .tgw-trigger:hover { transform: scale(1.05) translateY(-5px); box-shadow: 0 20px 35px -10px rgba(242,123,33,0.3), inset 0 0 0 2px rgba(18,150,165,0.1); }
            /* Light sweep */
            .tgw-trigger::after {
                content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%;
                background: linear-gradient(to right, transparent, rgba(255,255,255,0.8), transparent);
                transform: skewX(-25deg); animation: tgwShineSweep 4s infinite; pointer-events: none; z-index: 10;
            }
            @keyframes tgwShineSweep { 0% { left: -100%; } 20% { left: 200%; } 100% { left: 200%; } }

            /* Icon Layers */
            .tgw-icon-layer {
                position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
                transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.34,1.56,0.64,1);
            }
            .tgw-gift-icon { width: 48px; height: 48px; color: #1296A5; transition: transform 0.3s; }
            .tgw-trigger:hover .tgw-gift-icon { transform: scale(1.1) rotate(-6deg); }
            .tgw-gift-lid { color: #F27B21; }
            .tgw-icon-close { color: #94a3b8; background: #f8fafc; border-radius: 24px; }
            .tgw-trigger:hover .tgw-icon-close { color: #ef4444; }

            /* State: Closed */
            .tgw-closed .tgw-icon-offer { opacity: 1; transform: scale(1) rotate(0deg); }
            .tgw-closed .tgw-icon-close { opacity: 0; transform: scale(0) rotate(90deg); }
            /* State: Open */
            .tgw-open .tgw-icon-offer { opacity: 0; transform: scale(0) rotate(-90deg); }
            .tgw-open .tgw-icon-close { opacity: 1; transform: scale(1) rotate(0deg); }

            /* Mobile */
            @media (max-width: 600px) {
                .tgw-widget { display: none !important; }
            }
/* ==== extracted from Web.Master lines 2519-3375 ==== */
/* ==========================================================================
   Master Page Shared CSS — extracted from Web.Master inline <style> blocks
   Contains: Footer, Ad Popup, Bell Notification styles
   NOTE: Loading overlay styles remain inline in Web.Master (conditional render)
   ========================================================================== */

/* Premium light footer (2026 refresh).
                       Scoped to .tg-footer so it overrides legacy .dynamic-footer / .footer-grid styles.
                       Lighter palette, creative app icons, professional premium feel. */
                    .tg-footer {
                        --tgf-bg: #f8fafb;
                        --tgf-bg-2: #ffffff;
                        --tgf-border: rgba(58,164,184,0.12);
                        --tgf-text: #4a5568;
                        --tgf-text-soft: #718096;
                        --tgf-heading: #1a202c;
                        --tgf-accent: #3aa4b8;
                        --tgf-accent-light: rgba(58,164,184,0.08);
                        --tgf-radius: 12px;
                        background: linear-gradient(180deg, var(--tgf-bg-2) 0%, var(--tgf-bg) 100%);
                        color: var(--tgf-text);
                        font-size: 14px;
                        line-height: 1.6;
                        padding: 56px 0 0;
                        margin-top: 48px;
                    }
                    .tg-footer__container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

                    /* ════════════════════════════════════════════════
                       Creative Feature Cards (Buyer · Data · User)
                       ════════════════════════════════════════════════ */
                    .tg-footer__features {
                        display: grid;
                        grid-template-columns: repeat(3, 1fr);
                        gap: 16px;
                        margin-bottom: 32px;
                    }
                    .tgf-feature {
                        position: relative;
                        display: flex;
                        flex-direction: column;
                        padding: 22px 20px 20px;
                        border-radius: 16px;
                        overflow: hidden;
                        color: #fff;
                        text-decoration: none;
                        min-height: 190px;
                        isolation: isolate;
                        transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease;
                        box-shadow: 0 6px 18px rgba(15,28,44,0.08);
                    }
                    .tgf-feature:hover {
                        text-decoration: none;
                        color: #fff;
                        transform: translateY(-6px);
                        box-shadow: 0 20px 40px rgba(15,28,44,0.18);
                    }
                    /* Background gradient layer per variant */
                    .tgf-feature--buyer { background: linear-gradient(135deg, #ff8a3d 0%, #ff5e62 100%); }
                    .tgf-feature--data  { background: linear-gradient(135deg, #3aa4b8 0%, #1f6b8a 100%); }
                    .tgf-feature--user  { background: linear-gradient(135deg, #7b5cff 0%, #c026d3 100%); }

                    /* Decorative SVG layer */
                    .tgf-feature__bg {
                        position: absolute;
                        inset: 0;
                        z-index: 0;
                        opacity: 0.85;
                        pointer-events: none;
                    }
                    .tgf-feature__bg svg { width: 100%; height: 100%; display: block; }

                    /* Glossy shine overlay */
                    .tgf-feature::before {
                        content: '';
                        position: absolute;
                        inset: 0;
                        background: linear-gradient(140deg, rgba(255,255,255,0.18) 0%, rgba(255,255,255,0) 50%);
                        z-index: 1;
                        pointer-events: none;
                    }
                    .tgf-feature::after {
                        content: '';
                        position: absolute;
                        top: -40%;
                        inset-inline-end: -30%;
                        width: 60%;
                        height: 180%;
                        background: radial-gradient(circle at center, rgba(255,255,255,0.25), transparent 60%);
                        z-index: 1;
                        opacity: 0;
                        transition: opacity 0.5s ease;
                        pointer-events: none;
                    }
                    .tgf-feature:hover::after { opacity: 1; }

                    /* Icon badge */
                    .tgf-feature__icon {
                        position: relative;
                        z-index: 2;
                        width: 54px;
                        height: 54px;
                        border-radius: 14px;
                        background: rgba(255,255,255,0.18);
                        backdrop-filter: blur(4px);
                        -webkit-backdrop-filter: blur(4px);
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        margin-bottom: 14px;
                        border: 1px solid rgba(255,255,255,0.25);
                        transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
                    }
                    .tgf-feature__icon svg { width: 30px; height: 30px; }
                    .tgf-feature:hover .tgf-feature__icon {
                        transform: scale(1.08) rotate(-4deg);
                    }

                    /* Body content */
                    .tgf-feature__body {
                        position: relative;
                        z-index: 2;
                        display: flex;
                        flex-direction: column;
                        flex: 1;
                    }
                    .tgf-feature__tag {
                        font-size: 10px;
                        font-weight: 800;
                        letter-spacing: 1.2px;
                        text-transform: uppercase;
                        color: rgba(255,255,255,0.85);
                        margin-bottom: 6px;
                        display: inline-block;
                    }
                    .tgf-feature__title {
                        font-size: 19px;
                        font-weight: 800;
                        color: #fff;
                        margin: 0 0 8px;
                        letter-spacing: -0.3px;
                        line-height: 1.25;
                    }
                    .tgf-feature__desc {
                        font-size: 13px;
                        color: rgba(255,255,255,0.85);
                        margin: 0 0 14px;
                        line-height: 1.55;
                        font-weight: 500;
                        flex: 1;
                    }
                    .tgf-feature__cta {
                        display: inline-flex;
                        align-items: center;
                        gap: 6px;
                        font-size: 13px;
                        font-weight: 700;
                        color: #fff;
                        padding: 8px 14px;
                        background: rgba(255,255,255,0.16);
                        border: 1px solid rgba(255,255,255,0.28);
                        border-radius: 999px;
                        align-self: flex-start;
                        transition: all 0.3s ease;
                    }
                    .tgf-feature__cta svg {
                        transition: transform 0.3s ease;
                    }
                    .tgf-feature:hover .tgf-feature__cta {
                        background: rgba(255,255,255,0.95);
                        color: #1a202c;
                        border-color: rgba(255,255,255,0.95);
                    }
                    .tgf-feature:hover .tgf-feature__cta svg {
                        transform: translateX(4px);
                    }

                    /* RTL: arrow flips */
                    [dir="rtl"] .tgf-feature__cta svg,
                    html[lang="ar"] .tgf-feature__cta svg {
                        transform: scaleX(-1);
                    }
                    [dir="rtl"] .tgf-feature:hover .tgf-feature__cta svg,
                    html[lang="ar"] .tgf-feature:hover .tgf-feature__cta svg {
                        transform: scaleX(-1) translateX(4px);
                    }

                    /* ════════════════════════════════════════════════
                       FOOTER OVERRIDES — compact, light, blends in
                       Scopes the colourful gradient cards (kept full-
                       size on the homepage .tg-pillars section) into
                       small horizontal pills that match the footer.
                       ════════════════════════════════════════════════ */
                    .tg-footer__features .tgf-feature {
                        flex-direction: row;
                        align-items: center;
                        gap: 12px;
                        padding: 12px 14px;
                        min-height: 0;
                        border-radius: 12px;
                        background: #ffffff;
                        border: 1px solid var(--tgf-border);
                        color: var(--tgf-heading);
                        box-shadow: 0 2px 6px rgba(15,28,44,0.04);
                        transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
                    }
                    .tg-footer__features .tgf-feature:hover {
                        transform: translateY(-2px);
                        box-shadow: 0 10px 22px rgba(15,28,44,0.10);
                        color: var(--tgf-heading);
                    }
                    /* Per-variant accent colours (CSS custom props consumed below) */
                    .tg-footer__features .tgf-feature--buyer { --tgf-acc: #ff7f27; --tgf-acc-2: #ff5e62; --tgf-tint: rgba(255,127,39,0.06); }
                    .tg-footer__features .tgf-feature--data  { --tgf-acc: #3aa4b8; --tgf-acc-2: #1f6b8a; --tgf-tint: rgba(58,164,184,0.07); }
                    .tg-footer__features .tgf-feature--user  { --tgf-acc: #7b5cff; --tgf-acc-2: #c026d3; --tgf-tint: rgba(123,92,255,0.06); }

                    /* Hide the decorative gradient overlays we use on homepage */
                    .tg-footer__features .tgf-feature--buyer,
                    .tg-footer__features .tgf-feature--data,
                    .tg-footer__features .tgf-feature--user { background: #fff; }
                    .tg-footer__features .tgf-feature:hover {
                        background: var(--tgf-tint, #fff);
                        border-color: var(--tgf-acc, var(--tgf-border));
                    }
                    .tg-footer__features .tgf-feature__bg { display: none; }
                    /* Replace the SHINE overlay with a left accent bar */
                    .tg-footer__features .tgf-feature::before {
                        content: '';
                        position: absolute;
                        inset: 0 auto 0 0;
                        inset-inline-start: 0;
                        right: auto;
                        width: 4px;
                        height: auto;
                        background: linear-gradient(180deg, var(--tgf-acc, #3aa4b8) 0%, var(--tgf-acc-2, #1f6b8a) 100%);
                        transition: width 0.3s ease;
                        z-index: 2;
                        opacity: 1;
                    }
                    .tg-footer__features .tgf-feature:hover::before { width: 6px; }
                    .tg-footer__features .tgf-feature::after { display: none; } /* kill the radial spotlight */

                    /* Compact icon badge */
                    .tg-footer__features .tgf-feature__icon {
                        width: 38px;
                        height: 38px;
                        border-radius: 10px;
                        background: var(--tgf-tint, rgba(58,164,184,0.08));
                        border: 1px solid var(--tgf-acc, var(--tgf-border));
                        margin-bottom: 0;
                        flex-shrink: 0;
                        backdrop-filter: none;
                        -webkit-backdrop-filter: none;
                    }
                    .tg-footer__features .tgf-feature__icon svg { width: 20px; height: 20px; }
                    /* Colourise the inline SVG strokes via filter */
                    .tg-footer__features .tgf-feature__icon svg path[fill="#fff"],
                    .tg-footer__features .tgf-feature__icon svg circle[fill="#fff"],
                    .tg-footer__features .tgf-feature__icon svg rect[fill="#fff"] { fill: var(--tgf-acc); }
                    .tg-footer__features .tgf-feature__icon svg path[stroke="#fff"],
                    .tg-footer__features .tgf-feature__icon svg circle[stroke="#fff"] { stroke: var(--tgf-acc); }

                    /* Tighter body */
                    .tg-footer__features .tgf-feature__body { gap: 0; }
                    .tg-footer__features .tgf-feature__tag {
                        font-size: 9.5px;
                        letter-spacing: 0.9px;
                        color: var(--tgf-acc, var(--tgf-text-soft));
                        margin-bottom: 2px;
                    }
                    .tg-footer__features .tgf-feature__title {
                        font-size: 14px;
                        font-weight: 700;
                        color: var(--tgf-heading);
                        margin: 0;
                        line-height: 1.25;
                    }
                    .tg-footer__features .tgf-feature__desc { display: none; } /* hide long copy in compact footer */
                    .tg-footer__features .tgf-feature__cta {
                        display: none; /* card itself is clickable; CTA pill not needed at this size */
                    }

                    /* Tiny right-arrow chip */
                    .tg-footer__features .tgf-feature__body::after {
                        content: '\f054'; /* fa-chevron-right */
                        font-family: 'Font Awesome 5 Free';
                        font-weight: 900;
                        font-size: 10px;
                        color: var(--tgf-acc, var(--tgf-text-soft));
                        margin-inline-start: auto;
                        opacity: 0.7;
                        transition: transform 0.25s ease, opacity 0.25s ease;
                    }
                    .tg-footer__features .tgf-feature__body {
                        flex-direction: row;
                        align-items: center;
                        gap: 8px;
                    }
                    .tg-footer__features .tgf-feature__title { flex: 1; }
                    .tg-footer__features .tgf-feature:hover .tgf-feature__body::after {
                        transform: translateX(3px);
                        opacity: 1;
                    }
                    [dir="rtl"] .tg-footer__features .tgf-feature__body::after,
                    html[lang="ar"] .tg-footer__features .tgf-feature__body::after { transform: scaleX(-1); }
                    [dir="rtl"] .tg-footer__features .tgf-feature:hover .tgf-feature__body::after,
                    html[lang="ar"] .tg-footer__features .tgf-feature:hover .tgf-feature__body::after { transform: scaleX(-1) translateX(3px); }

                    /* Mini app-store links inside the Publishers column */
                    .tg-footer__app-row {
                        display: flex;
                        gap: 6px;
                        flex-wrap: wrap;
                        margin-top: 4px;
                    }
                    .tg-footer__app-mini {
                        display: inline-flex;
                        align-items: center;
                        gap: 5px;
                        padding: 5px 9px;
                        font-size: 11.5px;
                        font-weight: 700;
                        text-decoration: none;
                        color: var(--tgf-heading);
                        background: var(--tgf-accent-light);
                        border: 1px solid var(--tgf-border);
                        border-radius: 6px;
                        transition: all 0.2s ease;
                    }
                    .tg-footer__app-mini i { font-size: 12px; color: var(--tgf-accent); }
                    .tg-footer__app-mini:hover {
                        background: var(--tgf-accent);
                        color: #fff;
                        border-color: var(--tgf-accent);
                        text-decoration: none;
                    }
                    .tg-footer__app-mini:hover i { color: #fff; }

                    /* 4-column grid */
                    .tg-footer__main {
                        display: grid;
                        grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
                        gap: 40px;
                        padding-top: 32px;
                        padding-bottom: 32px;
                        border-top: 1px dashed rgba(58,164,184,0.25);
                    }
                    .tg-footer__col { min-width: 0; }
                    .tg-footer__heading {
                        font-size: 12px;
                        font-weight: 700;
                        color: var(--tgf-heading);
                        margin: 0 0 16px;
                        letter-spacing: 0.5px;
                        text-transform: uppercase;
                        position: relative;
                        padding-bottom: 10px;
                    }
                    .tg-footer__heading::after {
                        content: '';
                        position: absolute;
                        bottom: 0; inset-inline-start: 0;
                        width: 32px; height: 2.5px;
                        background: linear-gradient(90deg, var(--tgf-accent) 0%, rgba(58,164,184,0.3) 100%);
                        border-radius: 2px;
                    }

                    /* Brand column */
                    .tg-footer__brand .tg-footer__logo {
                        display: block;
                        height: 42px;
                        margin-bottom: 16px;
                        filter: brightness(0) saturate(100%) invert(25%) sepia(30%) hue-rotate(170deg);
                        opacity: 0.9;
                    }
                    .tg-footer__tagline {
                        margin: 0 0 22px;
                        font-size: 13.5px;
                        color: var(--tgf-text-soft);
                        line-height: 1.7;
                        max-width: 300px;
                        font-weight: 500;
                    }
                    
                    /* Creative app download section */
                    .tg-footer__apps {
                        display: flex;
                        flex-wrap: wrap;
                        gap: 10px;
                    }
                    .tg-footer__app {
                        display: inline-flex;
                        align-items: center;
                        gap: 10px;
                        padding: 10px 14px;
                        border: 1.5px solid var(--tgf-border);
                        border-radius: 10px;
                        font-size: 13px;
                        font-weight: 600;
                        color: var(--tgf-heading);
                        text-decoration: none;
                        background: linear-gradient(135deg, #ffffff 0%, var(--tgf-accent-light) 100%);
                        transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
                        position: relative;
                        overflow: hidden;
                        box-shadow: 0 2px 8px rgba(58,164,184,0.08);
                    }
                    .tg-footer__app::before {
                        content: '';
                        position: absolute;
                        inset: 0;
                        background: linear-gradient(135deg, rgba(255,255,255,0.5) 0%, transparent 100%);
                        opacity: 0;
                        transition: opacity 0.3s ease;
                        pointer-events: none;
                    }
                    .tg-footer__app i {
                        font-size: 16px;
                        flex-shrink: 0;
                        position: relative;
                        z-index: 1;
                        background: linear-gradient(135deg, var(--tgf-accent) 0%, #2a8fa1 100%);
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                        background-clip: text;
                    }
                    .tg-footer__app span {
                        position: relative;
                        z-index: 1;
                        background: linear-gradient(135deg, var(--tgf-heading) 0%, var(--tgf-text) 100%);
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                        background-clip: text;
                    }
                    .tg-footer__app:hover {
                        background: linear-gradient(135deg, var(--tgf-accent-light) 0%, rgba(58,164,184,0.15) 100%);
                        border-color: var(--tgf-accent);
                        box-shadow: 0 8px 20px rgba(58,164,184,0.15);
                        transform: translateY(-2px);
                    }
                    .tg-footer__app:hover::before { opacity: 1; }

                    /* Link lists */
                    .tg-footer__links {
                        list-style: none;
                        margin: 0;
                        padding: 0;
                        display: grid;
                        gap: 10px;
                    }
                    .tg-footer__links li { line-height: 1.5; }
                    .tg-footer__links a:not(.tg-footer__app-mini) {
                        color: var(--tgf-text);
                        text-decoration: none;
                        font-size: 14px;
                        font-weight: 500;
                        transition: all 0.2s ease;
                        display: inline-block;
                        position: relative;
                    }
                    .tg-footer__links a:not(.tg-footer__app-mini)::after {
                        content: '';
                        position: absolute;
                        bottom: -2px;
                        inset-inline-start: 0;
                        width: 0;
                        height: 2px;
                        background: linear-gradient(90deg, var(--tgf-accent) 0%, rgba(58,164,184,0.4) 100%);
                        transition: width 0.3s ease;
                    }
                    .tg-footer__links a:not(.tg-footer__app-mini):hover {
                        color: var(--tgf-accent);
                        padding-inline-start: 0;
                        text-decoration: none;
                    }
                    .tg-footer__links a:not(.tg-footer__app-mini):hover::after { width: 100%; }

                    /* Contact column */
                    .tg-footer__contact-block { margin-bottom: 18px; }
                    .tg-footer__contact-block:last-child { margin-bottom: 0; }
                    .tg-footer__contact-label {
                        display: inline-block;
                        font-size: 11px;
                        font-weight: 800;
                        text-transform: uppercase;
                        letter-spacing: 0.6px;
                        background: linear-gradient(90deg, var(--tgf-accent) 0%, #2a8fa1 100%);
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                        background-clip: text;
                        margin-bottom: 8px;
                    }
                    .tg-footer__contact-row {
                        display: flex;
                        align-items: center;
                        gap: 9px;
                        font-size: 13.5px;
                        line-height: 1.6;
                        color: var(--tgf-text);
                        font-weight: 500;
                    }
                    .tg-footer__contact-row + .tg-footer__contact-row { margin-top: 4px; }
                    .tg-footer__contact-row i {
                        flex-shrink: 0;
                        width: 15px;
                        font-size: 12px;
                        background: linear-gradient(135deg, var(--tgf-accent) 0%, #2a8fa1 100%);
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                        background-clip: text;
                    }
                    .tg-footer__contact-row a {
                        color: var(--tgf-text) !important;
                        text-decoration: none !important;
                        transition: all 0.2s ease;
                        position: relative;
                    }
                    .tg-footer__contact-row a::after {
                        content: '';
                        position: absolute;
                        bottom: -1px;
                        inset-inline-start: 0;
                        width: 0;
                        height: 1.5px;
                        background: var(--tgf-accent);
                        transition: width 0.3s ease;
                    }
                    .tg-footer__contact-row a:hover {
                        color: var(--tgf-accent) !important;
                        text-decoration: none !important;
                    }
                    .tg-footer__contact-row a:hover::after { width: 100%; }

                    /* Bottom bar */
                    .tg-footer__base {
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        gap: 20px;
                        padding: 22px 0;
                        border-top: 1px solid var(--tgf-border);
                        flex-wrap: wrap;
                        font-size: 13px;
                    }
                    .tg-footer__copy {
                        color: var(--tgf-text-soft);
                        font-weight: 500;
                    }
                    .tg-footer__legal {
                        display: inline-flex;
                        align-items: center;
                        gap: 10px;
                        color: var(--tgf-text-soft);
                    }
                    .tg-footer__legal a {
                        color: var(--tgf-text);
                        text-decoration: none;
                        transition: all 0.2s ease;
                        font-weight: 500;
                        position: relative;
                    }
                    .tg-footer__legal a::after {
                        content: '';
                        position: absolute;
                        bottom: -1px;
                        inset-inline-start: 0;
                        width: 0;
                        height: 1.5px;
                        background: var(--tgf-accent);
                        transition: width 0.2s ease;
                    }
                    .tg-footer__legal a:hover {
                        color: var(--tgf-accent);
                        text-decoration: none;
                    }
                    .tg-footer__legal a:hover::after { width: 100%; }

                    .tg-footer__social {
                        display: inline-flex;
                        align-items: center;
                        gap: 10px;
                    }
                    .tg-footer__social a {
                        width: 36px; height: 36px;
                        display: inline-flex; align-items: center; justify-content: center;
                        border: 1.5px solid var(--tgf-border);
                        border-radius: 50%;
                        color: var(--tgf-accent);
                        font-size: 14px;
                        text-decoration: none;
                        background: var(--tgf-accent-light);
                        transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
                        position: relative;
                        overflow: hidden;
                    }
                    .tg-footer__social a::before {
                        content: '';
                        position: absolute;
                        inset: 0;
                        background: linear-gradient(135deg, var(--tgf-accent) 0%, #2a8fa1 100%);
                        opacity: 0;
                        transition: opacity 0.3s ease;
                        border-radius: 50%;
                        z-index: -1;
                    }
                    .tg-footer__social a:hover {
                        border-color: var(--tgf-accent);
                        color: #fff;
                        box-shadow: 0 4px 12px rgba(58,164,184,0.2);
                        transform: translateY(-3px) scale(1.05);
                    }
                    .tg-footer__social a:hover::before { opacity: 1; }

                    /* Responsive */
                    @media (max-width: 991px) {
                        .tg-footer__features { grid-template-columns: 1fr; gap: 10px; margin-bottom: 28px; }
                        .tg-footer__main { grid-template-columns: 1fr 1fr; gap: 32px; }
                        .tg-footer__brand { grid-column: span 2; }
                        .tg-footer__tagline { max-width: 100%; }
                    }
                    @media (max-width: 575px) {
                        .tg-footer {
                            padding-top: 40px;
                            margin-top: 32px;
                        }
                        .tg-footer__features { gap: 12px; margin-bottom: 28px; }
                        .tgf-feature { padding: 20px 18px 18px; }
                        .tgf-feature__title { font-size: 17px; }
                        .tg-footer__main {
                            grid-template-columns: 1fr;
                            gap: 28px;
                            padding-bottom: 24px;
                        }
                        .tg-footer__brand { grid-column: auto; }
                        .tg-footer__base {
                            justify-content: center;
                            text-align: center;
                        }
                        .tg-footer__copy, .tg-footer__legal, .tg-footer__social {
                            flex: 1 1 100%;
                            justify-content: center;
                        }
                        .tg-footer__apps { justify-content: center; }
                    }



.tg-ad-popup-overlay {
            position: fixed; inset: 0; z-index: 99999;
            background: rgba(0,0,0,0.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
            display: flex; align-items: center; justify-content: center;
            opacity: 0; transition: opacity 0.3s ease;
        }
        .tg-ad-popup-overlay.tg-visible { opacity: 1; }
        .tg-ad-popup-container {
            position: relative; max-width: 520px; width: 92vw;
            border-radius: 16px; overflow: hidden;
            box-shadow: 0 25px 60px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.08);
            transform: scale(0.92) translateY(20px);
            transition: transform 0.35s cubic-bezier(0.16,1,0.3,1);
            background: #fff;
        }
        .tg-ad-popup-overlay.tg-visible .tg-ad-popup-container {
            transform: scale(1) translateY(0);
        }
        .tg-ad-popup-close {
            position: absolute; top: 8px; right: 8px; z-index: 10;
            width: 32px; height: 32px; border-radius: 50%;
            background: rgba(0,0,0,0.55); color: #fff; border: none;
            font-size: 20px; line-height: 1; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: background 0.2s, transform 0.2s;
        }
        .tg-ad-popup-close:hover { background: rgba(220,38,38,0.85); transform: scale(1.1); }
        .tg-ad-popup-link { display: block; line-height: 0; }
        .tg-ad-popup-img {
            width: 100%; height: auto; display: block;
            border-radius: 0; object-fit: contain;
        }
        [dir="rtl"] .tg-ad-popup-close { right: auto; left: 8px; }
        @media (max-width: 480px) {
            .tg-ad-popup-container { max-width: 95vw; border-radius: 12px; }
            .tg-ad-popup-close { width: 28px; height: 28px; font-size: 17px; top: 6px; right: 6px; }
        }



/* Hide the old banner-style NotificationCenter â€” bell replaces it */
        #ctl00_NotificationCenter { display: none !important; }

        /* Bell module wrapper */
        .tg-bell-module { position: relative; display: inline-flex; align-items: center; }

        /* Bell button */
        .tg-bell-btn {
            background: transparent; border: none; padding: 9px; cursor: pointer;
            border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
            color: #6b7280; transition: background 0.18s, color 0.18s; position: relative;
        }
        .tg-bell-btn:hover, .tg-bell-btn.active {
            background: rgba(99,102,241,0.08); color: #2e8795;
        }
        .tg-bell-icon {
            width: 28px; height: 28px; transform-origin: top center;
            animation: tgBellRing 4s cubic-bezier(0.36,0.07,0.19,0.97) infinite;
        }
        .tg-bell-btn.active .tg-bell-icon { animation: none; }

        /* Header bell alignment */
        .tg-bell-header { display: inline-flex; align-items: center; }
        .tg-bell-header .tg-bell-btn { padding: 6px; }

        /* Hide nav-main bell on mobile, show header bell */
        @media (max-width: 767px) {
            .nav-main .tg-bell-module { display: none !important; }
            .tg-bell-header .tg-bell-dropdown {
                position: fixed !important; top: 52px !important;
                left: 8px !important; right: 8px !important;
                width: auto !important; border-radius: 12px;
                z-index: 2000 !important;
                box-shadow: 0 8px 32px rgba(0,0,0,0.18);
            }
            .tg-bell-header .tg-bell-dropdown::before { display: none; }
        }
        /* Hide header bell on desktop (nav-main bell shows instead) */
        @media (min-width: 768px) {
            .tg-bell-header { display: none !important; }
        }

        /* CTA item inside bell dropdown */
        .tg-bell-cta {
            display: flex; align-items: center; gap: 10px;
            padding: 12px 18px; background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
            border-bottom: 1px solid #e5e7eb; text-decoration: none;
        }
        .tg-bell-cta:hover { background: #ecfdf5; }
        .tg-bell-cta-icon {
            width: 38px; height: 38px; border-radius: 10px;
            display: flex; align-items: center; justify-content: center; flex-shrink: 0;
            font-size: 16px; font-weight: 700;
        }
        .tg-bell-cta-icon.cta-days { background: #dbeafe; color: #2563eb; }
        .tg-bell-cta-icon.cta-warn { background: #fef3c7; color: #d97706; }
        .tg-bell-cta-icon.cta-err  { background: #fee2e2; color: #dc2626; }
        .tg-bell-cta-body { display: flex; flex-direction: column; gap: 2px; }
        .tg-bell-cta-title { font-size: 13px; font-weight: 600; color: #111827; }
        .tg-bell-cta-desc { font-size: 11px; color: #6b7280; }
        .tg-bell-cta-action {
            margin-inline-start: auto; font-size: 11px; font-weight: 700;
            color: #2e8795; white-space: nowrap;
        }

        /* Pulsing badge */
        .tg-bell-badge {
            position: absolute; top: 3px; right: 3px;
            background: #fe8a3f; color: #fff; font-size: 10px; font-weight: 700;
            min-width: 17px; height: 17px; border-radius: 50px;
            display: flex; align-items: center; justify-content: center;
            border: 2px solid #fff; animation: tgBellPulse 2s infinite;
            line-height: 1; padding: 0 3px;
        }
        .tg-bell-badge[data-count="0"], .tg-bell-badge:empty { display: none; }

        /* Dropdown panel */
        .tg-bell-dropdown {
            position: absolute; top: calc(100% + 14px); right: -8px;
            width: 320px; background: #fff; border-radius: 14px;
            box-shadow: 0 20px 40px rgba(0,0,0,0.13), 0 0 0 1px rgba(0,0,0,0.04);
            opacity: 0; visibility: hidden;
            transform: translateY(-12px) scale(0.96); transform-origin: top right;
            transition: all 0.22s cubic-bezier(0.16,1,0.3,1); z-index: 9999;
        }
        .tg-bell-dropdown.show { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }

        /* Caret */
        .tg-bell-dropdown::before {
            content: ''; position: absolute; top: -6px; right: 20px;
            width: 13px; height: 13px; background: #fff;
            transform: rotate(45deg);
            border-top: 1px solid rgba(0,0,0,0.06); border-left: 1px solid rgba(0,0,0,0.06);
            z-index: -1;
        }

        /* Header */
        .tg-bell-dd-header {
            display: flex; justify-content: space-between; align-items: center;
            padding: 14px 18px; border-bottom: 1px solid #f3f4f6;
        }
        .tg-bell-dd-title { font-weight: 700; font-size: 15px; color: #111827; margin: 0; }
        .tg-bell-dd-dismiss {
            background: none; border: none; font-size: 12px; color: #2e8795;
            cursor: pointer; font-weight: 600; padding: 0;
        }
      

        /* List */
        .tg-bell-list {
            list-style: none; padding: 0; margin: 0; max-height: 320px; overflow-y: auto;
        }
        .tg-bell-list::-webkit-scrollbar { width: 5px; }
        .tg-bell-list::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 10px; }

        .tg-bell-item {
            display: flex; gap: 12px; padding: 14px 18px;
            border-bottom: 1px solid #f9fafb; cursor: default;
            transition: background 0.15s; position: relative;
        }
        .tg-bell-item:last-child { border-bottom: none; }
        .tg-bell-item:hover { background: #f9fafb; }
        .tg-bell-item-icon {
            width: 34px; height: 34px; border-radius: 50%;
            display: flex; align-items: center; justify-content: center; flex-shrink: 0;
            font-size: 15px;
        }
        .tg-bell-item-icon.tg-warn  { background: #fef3c7; color: #d97706; }
        .tg-bell-item-icon.tg-err   { background: #fee2e2; color: #fe8a3f; }
        .tg-bell-item-icon.tg-info  { background: #e0e7ff; color: #2e8795; }
        .tg-bell-item-icon.tg-sup   { background: #dbeafe; color: #2563eb; }
        .tg-bell-item-body { display: flex; flex-direction: column; gap: 3px; }
        .tg-bell-item-text { font-size: 13px; color: #1f2937; line-height: 1.4; margin: 0; }
        .tg-bell-item-time { font-size: 11px; color: #9ca3af; }

        /* Empty state */
        .tg-bell-empty {
            padding: 28px 18px; text-align: center; color: #9ca3af; font-size: 13px;
        }

        /* Footer */
        .tg-bell-dd-footer {
            padding: 12px 18px; text-align: center; border-top: 1px solid #f3f4f6;
            background: #f9fafb; border-radius: 0 0 14px 14px;
        }
        .tg-bell-dd-footer a {
            color: #2e8795; font-weight: 600; font-size: 13px; text-decoration: none;
        }
        .tg-bell-dd-footer a:hover { text-decoration: underline; }

        /* Animations */
        @keyframes tgBellRing {
            0%,15%,100% { transform: rotate(0); }
            3%  { transform: rotate(14deg); }
            6%  { transform: rotate(-10deg); }
            9%  { transform: rotate(6deg); }
            12% { transform: rotate(-4deg); }
        }
        @keyframes tgBellPulse {
            0%   { transform: scale(1); box-shadow: 0 0 0 0 rgba(239,68,68,0.6); }
            50%  { transform: scale(1.08); box-shadow: 0 0 0 5px rgba(239,68,68,0); }
            100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(239,68,68,0); }
        }

        /* RTL flip */
        [dir="rtl"] .tg-bell-dropdown { right: auto; left: -8px; transform-origin: top left; }
        [dir="rtl"] .tg-bell-dropdown::before { right: auto; left: 20px; }

