/* ==== extracted from Default.aspx lines 33-543 ==== */
        /* Scoped Category Widget for Default.aspx */
        .category-widget {
          position: relative;
          min-height: 278px;
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          margin: 20px 0;
          padding: 21px;
          color: #fff;
          border-radius: 18px;
          background: linear-gradient(145deg, #f5833d, #e06d28);
          box-shadow: 0 16px 38px rgba(245,131,61,.28);
          overflow: hidden;
          isolation: isolate;
        }
        .category-widget .wheat-shape {
          position: absolute;
          z-index: -1;
          width: 210px;
          height: 270px;
          inset-inline-end: -25px;
          bottom: -20px;
          color: #ffffff;
          opacity: .60;
          transform: rotate(-9deg);
          pointer-events: none;
        }
        html[dir="rtl"] .category-widget .wheat-shape, [dir="rtl"] .category-widget .wheat-shape { transform: rotate(9deg) scaleX(-1); }
        .category-widget::before {
          content: "";
          position: absolute;
          z-index: -2;
          width: 90px;
          height: 90px;
          inset-inline-end: -25px;
          top: -30px;
          border-radius: 50%;
          border: 1.5px solid rgba(255,255,255,0.45);
          box-shadow: 0 0 0 14px rgba(255,255,255,0.18), 0 0 0 30px rgba(255,255,255,0.09);
          pointer-events: none;
        }
        .category-widget::after { display: none !important; }
        .category-widget .widget-content { position: relative; z-index: 2; }
        .category-widget .category-icon {
          width: 50px; height: 50px;
          display: grid;
          place-items: center;
          color: #f5833d;
          background: #fff;
          border: 1px solid rgba(255,255,255,.6);
          border-radius: 14px;
          margin-bottom: 16px;
          box-shadow: 0 8px 20px rgba(0,0,0,.08);
        }
        .category-widget .category-icon svg { width: 26px; height: 26px; }
        .category-widget h2 {
          margin: 0 0 16px;
          color: #fff;
          font-size: 19px;
          font-weight: 800;
          line-height: 1.4;
        }
        .category-widget .category-stats { display: flex; gap: 10px; margin-bottom: 18px; }
        .category-widget .category-stat {
          flex: 1;
          padding: 10px 12px;
          background: rgba(255,255,255,.14);
          border: 1px solid rgba(255,255,255,.2);
          border-radius: 12px;
          backdrop-filter: blur(4px);
        }
        .category-widget .category-stat strong { display: block; font-size: 20px; font-weight: 900; color: #fff; line-height: 1.1; }
        .category-widget .category-stat span { display: block; font-size: 11px; color: rgba(255,255,255,.9); margin-top: 3px; font-weight: 600; }
        .category-widget .category-button {
          position: relative; z-index: 2;
          display: flex; align-items: center; justify-content: center; gap: 8px;
          width: 100%; padding: 12px 16px;
          color: #f5833d; background: #fff;
          border-radius: 12px; font-size: 13.5px; font-weight: 700;
          text-decoration: none;
          box-shadow: 0 10px 24px rgba(0,0,0,.12);
          transition: transform .2s, box-shadow .2s;
        }
        .category-widget .category-button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(0,0,0,.16); color: #e06d28; }
        .category-widget .category-button svg { width: 16px; height: 16px; transition: transform .2s; }
        html[dir="rtl"] .category-widget .category-button svg, [dir="rtl"] .category-widget .category-button svg { transform: rotate(180deg); }
        .country-flag-circle {
            width: 18px;
            height: 18px;
            border-radius: 50%;
            object-fit: cover;
            vertical-align: middle;
            margin-inline-end: 6px;
            border: 1px solid #e6e6e6;
            display: inline-block;
        }



        .smart-search-wrap {
            position: relative;
            max-width: 680px;
            margin: 0 auto;
        }

        .smart-search-bar {
            display: flex;
            align-items: center;
            background: #fff;
            border: 2px solid #e0e0e0;
            border-radius: 12px;
            padding: 4px 6px;
            box-shadow: 0 2px 12px rgba(0,0,0,0.06);
            transition: all 0.3s cubic-bezier(.4,0,.2,1);
            overflow: hidden;
        }

            .smart-search-bar:focus-within {
                border-color: #2196F3;
                box-shadow: 0 4px 24px rgba(33,150,243,0.18), 0 0 0 3px rgba(33,150,243,0.08);
            }

            .smart-search-bar:hover:not(:focus-within) {
                border-color: #bbb;
                box-shadow: 0 3px 16px rgba(0,0,0,0.09);
            }

        .smart-search-icon {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 38px;
            height: 38px;
            flex-shrink: 0;
            color: #1a8a7d;
            font-size: 16px;
            transition: color 0.3s ease;
        }

        .smart-search-bar:focus-within .smart-search-icon {
            color: #1a8a7d;
        }

        .smart-search-input {
            flex: 1;
            border: none !important;
            outline: none !important;
            background: transparent !important;
            font-size: 15px;
            padding: 10px 4px !important;
            color: #333;
            box-shadow: none !important;
            -webkit-box-shadow: none !important;
            height: auto !important;
            line-height: 1.4 !important;
        }

            .smart-search-input::placeholder {
                color: #c8c8c8;
                font-weight: 400;
                opacity: 0.7;
            }

        .smart-search-btn {
            display: flex;
            align-items: center;
            gap: 6px;
            background: #ff7f27;
            color: #fff;
            border: none;
            border-radius: 10px;
            padding: 10px 22px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            white-space: nowrap;
            transition: all 0.25s ease;
            flex-shrink: 0;
            letter-spacing: 0.2px;
        }

            .smart-search-btn:hover {
                background: #e06b1a;
                transform: translateY(-1px);
                box-shadow: 0 4px 14px rgba(255,127,39,0.4);
            }

            .smart-search-btn:active {
                transform: translateY(0);
                box-shadow: none;
            }

            .smart-search-btn i {
                font-size: 14px;
            }
        /* Hint area */
        .smart-search-hints {
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 5px;
            min-height: 28px;
            text-align: left;
        }

        .smart-search-hint-text {
            font-size: 12px;
            color: #999;
            transition: opacity 0.3s ease;
        }

        .smart-search-mode-badge {
            display: none;
            font-size: 11px;
            font-weight: 400;
            color: #888;
            padding: 0 4px;
            letter-spacing: 0.2px;
            transition: opacity 0.3s ease;
        }

        [dir="rtl"] .smart-search-hints,
        .smart-search-wrap[dir="rtl"] .smart-search-hints {
            text-align: right;
        }

        .smart-search-mode-badge::after {
            content: '';
            animation: dotPulse 1.5s infinite steps(4, end);
        }

        @keyframes dotPulse {
            0% {
                content: '';
            }

            25% {
                content: '.';
            }

            50% {
                content: '..';
            }

            75% {
                content: '...';
            }

            100% {
                content: '';
            }
        }
        /* Action links */
        .smart-search-actions {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin-top: 12px;
        }

        .smart-search-action-link {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 5px 14px;
            border-radius: 20px;
            font-size: 11.5px;
            font-weight: 600;
            text-decoration: none;
            letter-spacing: 0.01em;
            transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.15s ease;
            border: 1.5px solid transparent;
        }

        .smart-search-action-link:first-child {
            background: rgba(26,138,125,0.08);
            color: #1a8a7d;
            border-color: rgba(26,138,125,0.25);
        }

        .smart-search-action-link:last-child {
            background: rgba(44,62,80,0.06);
            color: #34495e;
            border-color: rgba(44,62,80,0.18);
        }

        .smart-search-action-link:hover {
            transform: translateY(-1px);
            box-shadow: 0 3px 10px rgba(0,0,0,0.10);
            text-decoration: none;
        }

        .smart-search-action-link:first-child:hover {
            background: #1a8a7d;
            color: #fff;
            border-color: #1a8a7d;
        }

        .smart-search-action-link:last-child:hover {
            background: #34495e;
            color: #fff;
            border-color: #34495e;
        }

        .smart-search-actions-sep {
            display: none;
        }

        /* Last-update compact badge */
        .tg-last-update-badge {
            display: inline-flex;
            align-items: center;
            gap: 4px;
            font-size: 10px;
            color: #9e9e9e;
            font-weight: 400;
            letter-spacing: 0.01em;
            line-height: 1;
        }

        .tg-last-update-badge i {
            font-size: 9px;
            opacity: 0.7;
        }

        #tendersLastUpdated {
            font-weight: 500;
            color: #757575;
        }
        /* Responsive */
        @media (max-width: 600px) {
            .smart-search-bar {
                border-radius: 16px;
                padding: 3px 4px;
            }

            .smart-search-btn {
                padding: 9px 14px;
                font-size: 13px;
                border-radius: 14px;
            }

                .smart-search-btn .btn-label {
                    display: none;
                }

            .smart-search-input {
                font-size: 14px;
            }

            .smart-search-actions {
                flex-direction: row;
                flex-wrap: wrap;
                gap: 6px;
            }
        }



        .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;
            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;
            }
        }



        .tg-footer__app-row {
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
            margin-top: 8px;
        }

        .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: #2c3e50;
            background: #fff;
            border: 1.5px solid #298495;
            border-radius: 6px;
            transition: all 0.2s ease;
        }

            .tg-footer__app-mini i {
                font-size: 12px;
                color: #298495;
            }

            .tg-footer__app-mini:hover {
                background: #298495;
                color: #fff;
                border-color: #298495;
                text-decoration: none;
            }

                .tg-footer__app-mini:hover i {
                    color: #fff;
                }
        /* Buyer/Publisher orange variant */
        .tg-footer__app-mini--buyer {
            border-color: #e67e22;
            color: #2c3e50;
        }

            .tg-footer__app-mini--buyer i {
                color: #e67e22;
            }

            .tg-footer__app-mini--buyer:hover {
                background: #e67e22;
                color: #fff;
                border-color: #e67e22;
            }

                .tg-footer__app-mini--buyer:hover i {
                    color: #fff;
                }
/* ==== extracted from Default.aspx lines 1349-1544 ==== */
            /* ── Home Banner (hb) — CTA-Section Inspired Gradient ── */
            .hb {
                background: linear-gradient(135deg, #0a3d5c 0%, #117a8a 58%, #17a0b0 100%);
                border-bottom: 2px solid #F27B21;
                position: relative; overflow: hidden;
            }
            .hb--hidden { display: none !important; }

            /* Decorative circle (top-right) */
            .hb::before {
                content: "";
                position: absolute;
                width: 420px;
                height: 420px;
                right: -120px;
                top: -180px;
                border-radius: 50%;
                border: 1px solid rgba(255,255,255,0.12);
                box-shadow:
                    0 0 0 60px rgba(255,255,255,0.04),
                    0 0 0 130px rgba(255,255,255,0.02);
                pointer-events: none;
                z-index: 0;
            }
            /* Decorative circle (bottom-left) */
            .hb::after {
                content: "";
                position: absolute;
                width: 300px;
                height: 300px;
                left: -100px;
                bottom: -140px;
                border-radius: 50%;
                border: 1px solid rgba(255,255,255,0.08);
                box-shadow:
                    0 0 0 40px rgba(255,255,255,0.03),
                    0 0 0 90px rgba(255,255,255,0.02);
                pointer-events: none;
                z-index: 0;
            }

            /* Geometric shapes container */
            .hb-shapes {
                position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden;
            }
            /* Dot grid - left side */
            .hb-shapes::before {
                content: "";
                position: absolute;
                left: 60px;
                top: 10px;
                width: 80px;
                height: 60px;
                background-image: radial-gradient(rgba(255,255,255,0.12) 1.5px, transparent 1.5px);
                background-size: 12px 12px;
            }
            /* Diagonal accent line - right side */
            .hb-shapes::after {
                content: "";
                position: absolute;
                right: 280px;
                top: 8px;
                width: 50px;
                height: 50px;
                border: 1px solid rgba(255,255,255,0.08);
                border-radius: 8px;
                transform: rotate(35deg);
            }

            /* Top row: text + prices + CTA */
            .hb-top {
                max-width: 1240px; margin: 0 auto; position: relative; z-index: 1;
                display: flex; align-items: center; gap: 24px;
                padding: 18px 28px 14px;
            }

            /* Left */
            .hb-left { flex: 1; min-width: 0; }
            .hb-left-row { display: flex; align-items: center; gap: 14px; }
            .hb-text { flex: 1; min-width: 0; }
            .hb-gift {
                flex-shrink: 0; width: 70px; height: 70px;
                display: flex; align-items: center; justify-content: center;
                animation: hbGiftFloat 3s ease-in-out infinite;
            }
            .hb-gift img { width: 80%; height: 80%; object-fit: contain; opacity: 0.88; }
            @keyframes hbGiftFloat {
                0%, 100% { transform: translateY(0) rotate(0deg); }
                50% { transform: translateY(-5px) rotate(3deg); }
            }
            .hb-label {
                display: inline-block; font-size: 10px; font-weight: 700; text-transform: uppercase;
                letter-spacing: 1.2px; color: #F27B21; background: rgba(242,123,33,0.12);
                border: 1px solid rgba(242,123,33,0.25); border-radius: 20px; padding: 4px 14px; margin-bottom: 8px;
            }
            .hb-title {
                color: #ffffff; font-size: 19px; font-weight: 900; margin: 0 0 6px 0; line-height: 1.25; letter-spacing: -0.3px;
            }
            .hb-desc {
                color: rgba(255,255,255,0.65); font-size: 13px; line-height: 1.6; margin: 0; max-width: 440px;
            }

            /* Right: prices + CTA */
            .hb-right { display: flex; align-items: center; gap: 12px; flex-shrink: 0; margin-right: 40px; }
            html[dir="rtl"] .hb-right { margin-right: 0; margin-left: 40px; }
            .hb-prices { display: flex; gap: 8px; }
            .hb-price {
                border-radius: 10px; padding: 8px 14px; text-align: center; min-width: 100px;
                transition: transform 0.15s ease, box-shadow 0.15s ease;
            }
            .hb-price:hover { transform: translateY(-1px); box-shadow: 0 4px 14px rgba(0,0,0,0.2); }
            .hb-price--teal { background: rgba(55,139,149,0.15); border: 1px solid rgba(55,139,149,0.35); }
            .hb-price--orange { background: rgba(242,123,33,0.15); border: 1px solid rgba(242,123,33,0.35); }
            .hb-price-label { display: block; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
            .hb-price--teal .hb-price-label { color: #7dd4dc; }
            .hb-price--orange .hb-price-label { color: #ffc078; }
            .hb-price-val { display: block; font-size: 17px; font-weight: 800; color: #ffffff; }

            /* Region map icon inside price box */
            .hb-price-ico {
                display: block; width: 28px; height: 28px; margin: 0 auto 4px;
                object-fit: contain; filter: brightness(0) invert(1); opacity: 0.85;
            }
            /* CTA */
            .hb-cta {
                display: inline-flex; align-items: center; gap: 6px;
                background: #F27B21; color: #fff; padding: 10px 20px; border-radius: 8px;
                text-decoration: none; font-weight: 700; font-size: 13px;
                transition: all 0.2s ease; white-space: nowrap;
            }
            .hb-cta:hover { background: #d96a16; transform: translateY(-1px); box-shadow: 0 4px 14px rgba(242,123,33,0.45); }
            html[dir="rtl"] .hb-cta svg { transform: scaleX(-1); }



            /* Bottom: countdown strip */
            .hb-bottom {
                position: relative; z-index: 1;
                background: rgba(0,0,0,0.15); border-top: 1px solid rgba(255,255,255,0.1);
                display: flex; align-items: center; justify-content: center; gap: 14px;
                padding: 8px 28px;
            }
            .hb-countdown-label { font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: rgba(255,255,255,0.5); }
            .hb-timer { display: flex; align-items: center; gap: 4px; }
            .hb-tbox {
                background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.12); border-radius: 6px;
                padding: 4px 8px; min-width: 40px; text-align: center;
            }
            .hb-tnum { display: block; font-size: 15px; font-weight: 800; color: #ffffff; line-height: 1; font-variant-numeric: tabular-nums; }
            .hb-tunit { display: block; font-size: 7px; font-weight: 600; text-transform: uppercase; color: rgba(255,255,255,0.5); letter-spacing: 0.5px; margin-top: 1px; }
            .hb-tsep { font-size: 13px; font-weight: 700; color: rgba(255,255,255,0.25); line-height: 1; }
            .hb-expired {
                position: relative; z-index: 1; text-align: center;
                color: rgba(255,255,255,0.6); font-size: 13px; font-weight: 600;
                padding: 8px 28px; background: rgba(0,0,0,0.15); border-top: 1px solid rgba(255,255,255,0.1);
            }

            /* Hide button (absolute top-right) */
            .hb-hide-btn {
                position: absolute; top: 10px; right: 10px; z-index: 5;
                display: inline-flex; align-items: center; gap: 4px;
                background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.2);
                color: rgba(255,255,255,0.6); font-size: 10px; font-weight: 600;
                padding: 3px 8px; border-radius: 14px; cursor: pointer;
                transition: all 0.2s ease; white-space: nowrap;
            }
            [dir="rtl"] .hb-hide-btn { right: auto; left: 10px; }
            .hb-hide-btn:hover {
                background: rgba(255,255,255,0.22); color: #fff;
                border-color: rgba(255,255,255,0.35);
            }
            .hb-hide-btn i { font-size: 9px; }

            /* ── Responsive ── */
            @media (max-width: 1024px) {
                .hb-top { flex-wrap: wrap; justify-content: center; }
                .hb-left { flex: 1 1 100%; text-align: center; }
                .hb-desc { max-width: none; }
                .hb-right { justify-content: center; flex-wrap: wrap; }
                .hb-gift { width: 50px; height: 50px; }
            }
            @media (max-width: 640px) {
                .hb-top { flex-direction: column; gap: 14px; text-align: center; padding: 16px 16px 12px; }
                .hb-left-row { display: none; }
                .hb-right { flex-direction: column; width: 100%; }
                .hb-prices { width: 100%; }
                .hb-price { flex: 1; }
                .hb-cta { width: 100%; justify-content: center; }
                .hb-title { font-size: 16px; }
                .hb-desc { font-size: 12px; }
                .hb-bottom { padding: 8px 16px; gap: 10px; }
                .hb-tbox { min-width: 36px; padding: 3px 6px; }
                .hb-tnum { font-size: 14px; }
            }
/* ==== extracted from Default.aspx lines 3615-3625 ==== */
                                .top-buyers-desktop-only {
                                    display: block;
                                }

                                @media (max-width: 768px) {
                                    .top-buyers-desktop-only {
                                        display: none !important;
                                    }
                                }
/* ==== extracted from Default.aspx lines 5746-5763 ==== */
        #scrollToTopBtn {
            position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
            right: auto !important;
            z-index: 999; background: none; border: none; cursor: pointer;
            opacity: 0; visibility: hidden; transition: all 0.3s ease;
            pointer-events: none; padding: 0;
        }
        #scrollToTopBtn.show { opacity: 1; visibility: visible; pointer-events: auto; }
        #scrollToTopBtn:hover { transform: translateX(-50%) translateY(-3px); }
        #scrollToTopBtn img {
            width: 44px; height: 44px;
            background: #fff; border-radius: 50%; padding: 10px;
            box-shadow: 0 4px 16px rgba(0,0,0,0.12); border: 1px solid rgba(0,0,0,0.08);
            transition: all 0.2s ease;
        }
        #scrollToTopBtn:hover img { box-shadow: 0 6px 20px rgba(0,0,0,0.18); }
