/* ═══════════════════════════════════════════
           SCOPED RESET — only inside .im-page
           Never use bare * / body / a / img selectors
           ═══════════════════════════════════════════ */
        .im-page * {
            margin: 0!important;
            padding: 0!important;
            box-sizing: border-box!important;
        }
        .im-page {
            width: 100%!important;
            font-family: Jost, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif!important;
            line-height: 1.6!important;
            color: #1e293b!important;
            background-color: #f7f8fa!important;
        }
        .im-page a {
            color: inherit!important;
            text-decoration: none!important;
        }

        /* ═══════════════════════════════════════════
           HERO — Search-first messaging
           ═══════════════════════════════════════════ */
        .im-hero {
            background: linear-gradient(135deg, #013a7a 0%, #014da0 40%, #0260b8 100%)!important;
            padding: 36px 24px 40px!important;
            text-align: center!important;
            position: relative!important;
            overflow: hidden!important;
        }
        .im-hero::before {
            content: ""!important;
            position: absolute!important;
            inset: 0!important;
            opacity: 0.10!important;
            background-image: url('https://images.unsplash.com/photo-1532187863486-abf9dbad1b69?w=1400&q=80')!important;
            background-size: cover!important;
            background-position: center!important;
            mix-blend-mode: luminosity!important;
            pointer-events: none!important;
        }
        .im-hero-inner {
            position: relative!important;
            max-width: 640px!important;
            margin: 0 auto!important;
        }
        .im-hero-badge {
            display: inline-block!important;
            font-size: 12px!important;
            text-transform: uppercase!important;
            letter-spacing: 3px!important;
            color: #68d391!important;
            font-weight: 600!important;
            margin-bottom: 8px!important;
        }
        .im-hero h1 {
            color: #ffffff!important;
            font-size: 28px!important;
            font-weight: 700!important;
            line-height: 1.3!important;
            margin-bottom: 6px!important;
        }
        .im-hero-sub {
            color: rgba(255,255,255,0.7)!important;
            font-size: 15px!important;
            line-height: 1.5!important;
            margin-bottom: 22px!important;
        }

        /* ─── FiboSearch shortcode container ─── */
        .im-search-wrap {
            max-width: 560px!important;
            margin: 0 auto!important;
        }
        /* Let the FiboSearch widget render naturally but give it a nice shadow */
        .im-search-wrap .dgwt-wcas-search-wrapp {
            box-shadow: 0 4px 24px rgba(0,0,0,0.25)!important;
            border-radius: 12px!important;
            overflow: visible!important;
        }
        .im-search-wrap .dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp {
            border-radius: 12px!important;
        }
        .im-search-wrap .dgwt-wcas-search-wrapp input[type="search"].dgwt-wcas-search-input {
            border-radius: 12px!important;
            font-size: 15px!important;
            height: 54px!important;
        }
        .im-search-hint {
            color: rgba(255,255,255,0.4)!important;
            font-size: 12px!important;
            margin-top: 10px!important;
            min-height: 18px!important;
        }

        /* ─── Quick-search pills ─── */
        .im-pills {
            display: flex!important;
            flex-wrap: nowrap!important;
            gap: 8px!important;
            justify-content: center!important;
            margin-top: 8px!important;
        }
        .im-pill {
            padding: 5px 14px!important;
            font-size: 12px!important;
            font-weight: 500!important;
            font-family: Jost, sans-serif!important;
            background: rgba(255,255,255,0.08)!important;
            color: rgba(255,255,255,0.75)!important;
            border: 1px solid rgba(255,255,255,0.15)!important;
            border-radius: 20px!important;
            cursor: pointer!important;
            transition: all 0.15s!important;
            line-height: 1.4!important;
        }
        .im-pill:hover {
            background: rgba(255,255,255,0.18)!important;
            color: #ffffff!important;
        }

        /* ═══════════════════════════════════════════
           TAB BAR — Group filters
           ═══════════════════════════════════════════ */
        .im-tabbar {
            background: #ffffff!important;
            border-bottom: 1px solid #e5e7eb!important;
            position: sticky!important;
            top: 0!important;
            z-index: 50!important;
        }
        .im-tabbar-inner {
            max-width: 100%!important;
            margin: 0 auto!important;
            padding: 0 24px 0 24px!important;
            display: flex!important;
            gap: 2px!important;
            overflow-x: auto!important;
            -webkit-overflow-scrolling: touch!important;
            scrollbar-width: none!important;
        }
        .im-tabbar-inner::-webkit-scrollbar {
            display: none!important;
        }
        .im-tabbar-inner::after {
            content: ""!important;
            min-width: 24px!important;
            flex-shrink: 0!important;
        }
        .im-tab {
            flex-shrink: 0!important;
            padding: 11px 14px!important;
            font-size: 12px!important;
            font-weight: 600!important;
            font-family: Jost, sans-serif!important;
            border: none!important;
            background: transparent!important;
            color: #64748b!important;
            cursor: pointer!important;
            white-space: nowrap!important;
            border-bottom: 2px solid transparent!important;
            transition: all 0.15s!important;
            display: flex!important;
            align-items: center!important;
            gap: 5px!important;
            line-height: 1.4!important;
        }
        .im-tab:hover {
            color: #334155!important;
            background: #f8fafc!important;
        }
        .im-tab.im-tab-active {
            color: #014da0!important;
            background: #e8f0fe!important;
            border-bottom-color: #014da0!important;
            border-radius: 6px 6px 0 0!important;
        }
        .im-tab-icon {
            width: 14px!important;
            height: 14px!important;
            flex-shrink: 0!important;
        }
        .im-tab-count {
            font-size: 11px!important;
            opacity: 0.6!important;
        }

        /* ═══════════════════════════════════════════
           CATEGORY GRID — Tag cloud layout
           ═══════════════════════════════════════════ */
        .im-content {
            max-width: 1200px!important;
            margin: 0 auto!important;
            padding: 20px 24px 48px!important;
        }
        .im-group {
            margin-bottom: 20px!important;
        }
        .im-group-header {
            display: flex!important;
            align-items: center!important;
            gap: 8px!important;
            margin-bottom: 10px!important;
        }
        .im-group-icon {
            width: 18px!important;
            height: 18px!important;
            flex-shrink: 0!important;
        }
        .im-group-label {
            font-size: 15px!important;
            font-weight: 700!important;
        }
        .im-group-count {
            font-size: 12px!important;
            color: #94a3b8!important;
        }

        /* ─── Category tags ─── */
        .im-tags {
            display: flex!important;
            flex-wrap: wrap!important;
            gap: 8px!important;
        }
        .im-tag {
            display: inline-flex!important;
            align-items: center!important;
            gap: 6px!important;
            padding: 8px 14px!important;
            background: #ffffff!important;
            border: 1px solid #e2e8f0!important;
            border-radius: 8px!important;
            font-size: 13px!important;
            font-weight: 500!important;
            color: #1e293b!important;
            cursor: pointer!important;
            transition: all 0.15s ease!important;
            line-height: 1!important;
        }
        .im-tag:hover {
            transform: translateY(-1px)!important;
        }
        .im-tag-badge {
            font-size: 11px!important;
            font-weight: 700!important;
            padding: 2px 7px!important;
            border-radius: 12px!important;
            min-width: 20px!important;
            text-align: center!important;
            line-height: 1.4!important;
        }

        /* Group color overrides */
        .im-tag[data-group="molecules"]:hover { background: #eff6ff!important; border-color: #2563eb!important; box-shadow: 0 3px 10px rgba(37,99,235,0.12)!important; }
        .im-tag[data-group="antibodies"]:hover { background: #ecfdf5!important; border-color: #059669!important; box-shadow: 0 3px 10px rgba(5,150,105,0.12)!important; }
        .im-tag[data-group="elisa"]:hover { background: #fffbeb!important; border-color: #d97706!important; box-shadow: 0 3px 10px rgba(217,119,6,0.12)!important; }
        .im-tag[data-group="plant"]:hover { background: #f0fdf4!important; border-color: #16a34a!important; box-shadow: 0 3px 10px rgba(22,163,74,0.12)!important; }
        .im-tag[data-group="reagents"]:hover { background: #f5f3ff!important; border-color: #7c3aed!important; box-shadow: 0 3px 10px rgba(124,58,237,0.12)!important; }
        .im-tag[data-group="diagnostics"]:hover { background: #fff1f2!important; border-color: #e11d48!important; box-shadow: 0 3px 10px rgba(225,29,72,0.12)!important; }

        .im-badge-molecules { background: #eff6ff!important; color: #2563eb!important; }
        .im-badge-antibodies { background: #ecfdf5!important; color: #059669!important; }
        .im-badge-elisa { background: #fffbeb!important; color: #d97706!important; }
        .im-badge-plant { background: #f0fdf4!important; color: #16a34a!important; }
        .im-badge-reagents { background: #f5f3ff!important; color: #7c3aed!important; }
        .im-badge-diagnostics { background: #fff1f2!important; color: #e11d48!important; }


        /* ═══════════════════════════════════════════
           BOTTOM CTA
           ═══════════════════════════════════════════ */
        .im-cta {
            background: #014da0!important;
            padding: 28px 24px!important;
            text-align: center!important;
        }
        .im-cta-text {
            color: rgba(255,255,255,0.6)!important;
            font-size: 14px!important;
            margin-bottom: 12px!important;
        }
        .im-cta-btn {
            display: inline-block!important;
            padding: 12px 32px!important;
            font-size: 14px!important;
            font-weight: 600!important;
            font-family: Jost, sans-serif!important;
            background: #2563eb!important;
            color: #ffffff!important;
            border: none!important;
            border-radius: 8px!important;
            cursor: pointer!important;
            transition: background 0.15s!important;
        }
        .im-cta-btn:hover {
            background: #1d4ed8!important;
        }
        .im-cta-stats {
            display: flex!important;
            justify-content: center!important;
            gap: 40px!important;
            margin-top: 20px!important;
            flex-wrap: wrap!important;
        }
        .im-cta-stat-num {
            font-size: 20px!important;
            font-weight: 700!important;
            color: #68d391!important;
        }
        .im-cta-stat-label {
            font-size: 12px!important;
            color: rgba(255,255,255,0.4)!important;
        }

        /* ═══════════════════════════════════════════
           RESPONSIVE
           ═══════════════════════════════════════════ */
        @media (max-width: 768px) {
            .im-hero { padding: 28px 16px 32px!important; }
            .im-hero h1 { font-size: 22px!important; }
            .im-hero-sub { font-size: 14px!important; }
            .im-content { padding: 16px 16px 40px!important; }
            .im-tags { gap: 6px!important; }
            .im-tag { font-size: 12px!important; padding: 7px 11px!important; }
            .im-tab { padding: 10px 10px!important; font-size: 11px!important; }
            .im-cta-stats { gap: 24px!important; }
        }
        @media (max-width: 480px) {
            .im-hero h1 { font-size: 20px!important; }
            .im-pills { gap: 6px!important; }
            .im-pill { font-size: 11px!important; padding: 4px 10px!important; }
        }