<turbo-stream action="append" target="device-list">
  <template>
      <a class="group block" href="/mobile/39268?back_to=%2Fmobile&amp;url=https%3A%2F%2Fwww.rollingstone.com%2Fwp-content%2Fuploads%2F2024%2F03%2Fsamsung-galaxy-s24-deals-2024.png%3Fw%3D914%26h%3D642%26crop%3D1">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 dark:bg-[rgb(0,22,12)] flex items-center justify-center p-4 h-[180px]">
      <img alt="S24" class="h-full object-contain" src="https://www.rollingstone.com/wp-content/uploads/2024/03/samsung-galaxy-s24-deals-2024.png?w=914&amp;h=642&amp;crop=1" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">SAMSUNG</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        S24 256GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-indigo-600 text-white">
            Grade A
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£399</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39267?back_to=%2Fmobile&amp;url=https%3A%2F%2Fwww.gsmarena.com.in%2Ffront%2Fimages%2Fproduct_images%2Flarge%2F51588.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="S26 5G" class="h-full object-contain" src="https://www.gsmarena.com.in/front/images/product_images/large/51588.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">SAMSUNG</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        S26 5G 256GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-blue-600 text-white">
            Grade A+
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£585</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39266?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn.gsmarena.com%2Fimgroot%2Fnews%2F25%2F05%2Fsamsung-galaxy-s25-edge-official%2Finline%2F-1200%2Fgsmarena_001.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="S25 EDGE" class="h-full object-contain" src="https://fdn.gsmarena.com/imgroot/news/25/05/samsung-galaxy-s25-edge-official/inline/-1200/gsmarena_001.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">SAMSUNG</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        S25 EDGE 256GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£545</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39265?back_to=%2Fmobile&amp;url=https%3A%2F%2Fwww.gsmarena.com.in%2Ffront%2Fimages%2Fproduct_images%2Flarge%2F51588.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="S26 ULTRA" class="h-full object-contain" src="https://www.gsmarena.com.in/front/images/product_images/large/51588.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">SAMSUNG</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        S26 ULTRA 512GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£1035</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39264?back_to=%2Fmobile&amp;url=https%3A%2F%2Fistore.co.na%2Fcdn%2Fshop%2Fproducts%2FiPhone14Pro_LineupScreen_02421b18-0312-494a-ae5f-d402b5f844a4_1200x.png%3Fv%3D1664270671">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 dark:bg-[rgb(0,22,12)] flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 14 PRO MAX" class="h-full object-contain" src="https://istore.co.na/cdn/shop/products/iPhone14Pro_LineupScreen_02421b18-0312-494a-ae5f-d402b5f844a4_1200x.png?v=1664270671" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 14 PRO MAX 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-amber-500 text-gray-900">
            Grade B
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£450</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39260?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fbigpic%2Fwiko-t50.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="T50" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/bigpic/wiko-t50.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">WIKO</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        T50 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£95</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39261?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fbigpic%2Fwiko-t50.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="T50" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/bigpic/wiko-t50.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">WIKO</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        T50 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£95</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39262?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fbigpic%2Fwiko-t50.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="T50" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/bigpic/wiko-t50.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">WIKO</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        T50 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£95</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39263?back_to=%2Fmobile&amp;url=https%3A%2F%2Fi.ebayimg.com%2Fimages%2Fg%2FcaUAAOSw5wVdnkLe%2Fs-l1200.png">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 dark:bg-[rgb(0,22,12)] flex items-center justify-center p-4 h-[180px]">
      <img alt="S10" class="h-full object-contain" src="https://i.ebayimg.com/images/g/caUAAOSw5wVdnkLe/s-l1200.png" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">SAMSUNG</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        S10 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-indigo-600 text-white">
            Grade A
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£139</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39257?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fbigpic%2Fwiko-t50.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="T50" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/bigpic/wiko-t50.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">WIKO</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        T50 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£95</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39258?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fbigpic%2Fwiko-t50.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="T50" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/bigpic/wiko-t50.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">WIKO</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        T50 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£95</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39259?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fbigpic%2Fwiko-t50.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="T50" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/bigpic/wiko-t50.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">WIKO</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        T50 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£95</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39256?back_to=%2Fmobile&amp;url=https%3A%2F%2Fwww.directlinkcom.co.uk%2Fwp-content%2Fuploads%2F2025%2F10%2F17pmax.png">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 dark:bg-[rgb(0,22,12)] flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 17 PRO MAX" class="h-full object-contain" src="https://www.directlinkcom.co.uk/wp-content/uploads/2025/10/17pmax.png" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 17 PRO MAX 256GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£1150</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39255?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fbigpic%2Fgoogle-pixel-10a.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="PIXEL 10A" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/bigpic/google-pixel-10a.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">GOOGLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        PIXEL 10A 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£399</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39254?back_to=%2Fmobile&amp;url=https%3A%2F%2Fi.pinimg.com%2F736x%2Ff7%2F71%2F17%2Ff7711748aab3df6ec786d74b4b1044ac.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 14 PRO" class="h-full object-contain" src="https://i.pinimg.com/736x/f7/71/17/f7711748aab3df6ec786d74b4b1044ac.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 14 PRO 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-amber-500 text-gray-900">
            Grade B
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£350</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39253?back_to=%2Fmobile&amp;url=https%3A%2F%2Fstore.storeimages.cdn-apple.com%2F1%2Fas-images.apple.com%2Fis%2FMXM63ref_FV98_VW_34FR%2Bwatch-case-44-aluminum-starlight-nc-se3_VW_34FR%2Bwatch-face-44-aluminum-starlight-se3_VW_34FR%3Fwid%3D1200%26hei%3D630%26fmt%3Djpeg%26qlt%3D95%26.v%3DQVR6TmZRU2x1RjZIVW5wdDlyenB5RW5TeWJ6QW43NUFnQ2V4cmRFc1VnWURIZXhSOVNUU1hpL1hkOUNjbEVLTGhpTVc5NTdJR1JvUi9pdHVmZmxBMm5qblBjd2JiYm5raG5NaEt4aVI1UUlESGV4UjlTVFNYaS9YZDlDY2xFS0xvK21YS3ZleHRJTHZaYXpyanR3Mll2WUdSYmoxQm9QSEYwaFF1cjNsaWR4MVNuc0M1anc4N2tjZ3pMZWFaVDZtcEt1NEdvbU43emdCOCt1Y0dwSTJhRlcyVXFPSk5zdFVpS1Iyd2M1ZjV1aw">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="WATCH SE 3GEN 44MM" class="h-full object-contain" src="https://store.storeimages.cdn-apple.com/1/as-images.apple.com/is/MXM63ref_FV98_VW_34FR+watch-case-44-aluminum-starlight-nc-se3_VW_34FR+watch-face-44-aluminum-starlight-se3_VW_34FR?wid=1200&amp;hei=630&amp;fmt=jpeg&amp;qlt=95&amp;.v=QVR6TmZRU2x1RjZIVW5wdDlyenB5RW5TeWJ6QW43NUFnQ2V4cmRFc1VnWURIZXhSOVNUU1hpL1hkOUNjbEVLTGhpTVc5NTdJR1JvUi9pdHVmZmxBMm5qblBjd2JiYm5raG5NaEt4aVI1UUlESGV4UjlTVFNYaS9YZDlDY2xFS0xvK21YS3ZleHRJTHZaYXpyanR3Mll2WUdSYmoxQm9QSEYwaFF1cjNsaWR4MVNuc0M1anc4N2tjZ3pMZWFaVDZtcEt1NEdvbU43emdCOCt1Y0dwSTJhRlcyVXFPSk5zdFVpS1Iyd2M1ZjV1aw" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        WATCH SE 3GEN 44MM 64GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">WIFI ONLY</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-indigo-600 text-white">
            Grade A
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£145</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39252?back_to=%2Fmobile&amp;url=https%3A%2F%2Fwww.directlinkcom.co.uk%2Fwp-content%2Fuploads%2F2025%2F10%2F17pmax.png">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 dark:bg-[rgb(0,22,12)] flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 17 PRO MAX" class="h-full object-contain" src="https://www.directlinkcom.co.uk/wp-content/uploads/2025/10/17pmax.png" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 17 PRO MAX 256GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£1150</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39251?back_to=%2Fmobile&amp;url=https%3A%2F%2Fp.turbosquid.com%2Fts-thumb%2Fsw%2FNLKo3U%2FbKepVAXY%2F01%2Fpng%2F1572788217%2F600x600%2Ffit_q87%2F06dea60bd45ff6ccfcdff46f7e2c74ffecabab44%2F01.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 11" class="h-full object-contain" src="https://p.turbosquid.com/ts-thumb/sw/NLKo3U/bKepVAXY/01/png/1572788217/600x600/fit_q87/06dea60bd45ff6ccfcdff46f7e2c74ffecabab44/01.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 11 64GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-amber-500 text-gray-900">
            Grade B
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£149</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39250?back_to=%2Fmobile&amp;url=https%3A%2F%2Fcdn.vodafone.co.uk%2Fweb-marketing%2Friver%2Fconsumer%2Fpay_monthly_contracts%2Fsamsung%2Fgalaxy_s20_fe_5g%2Fimages%2Fdesktop%2Fsamsung-SE20-img1-m.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="S20 FE 5G" class="h-full object-contain" src="https://cdn.vodafone.co.uk/web-marketing/river/consumer/pay_monthly_contracts/samsung/galaxy_s20_fe_5g/images/desktop/samsung-SE20-img1-m.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">SAMSUNG</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        S20 FE 5G 256GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-amber-500 text-gray-900">
            Grade B
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£175</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39249?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fpics%2Foppo%2Foppo-f19-pro-0.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="F19 PRO" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/pics/oppo/oppo-f19-pro-0.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">OPPO</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        F19 PRO 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-indigo-600 text-white">
            Grade A
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£175</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39248?back_to=%2Fmobile&amp;url=https%3A%2F%2Frewardmobile.co.uk%2Fwp-content%2Fuploads%2F2024%2F09%2FApple-iPhone16-Lineup.png">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 dark:bg-[rgb(0,22,12)] flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 16" class="h-full object-contain" src="https://rewardmobile.co.uk/wp-content/uploads/2024/09/Apple-iPhone16-Lineup.png" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
        <div class="absolute inset-0 bg-white/70 dark:bg-black/60 flex items-center justify-center rounded-t-2xl">
          <span class="bg-red-100 dark:bg-red-900/50 text-red-600 dark:text-red-400 text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide">Sold</span>
        </div>
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 16 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-indigo-600 text-white">
            Grade A
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£525</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39246?back_to=%2Fmobile&amp;url=https%3A%2F%2Fm-cdn.phonearena.com%2Fimages%2Farticle%2F179838-wide-two_1200%2FiPhone-18-Pro-colors-all-the-rumored-shades.webp">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 18 PRO MAX" class="h-full object-contain" src="https://m-cdn.phonearena.com/images/article/179838-wide-two_1200/iPhone-18-Pro-colors-all-the-rumored-shades.webp" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 18 PRO MAX 256GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£1349</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39247?back_to=%2Fmobile&amp;url=https%3A%2F%2Fm-cdn.phonearena.com%2Fimages%2Farticle%2F179838-wide-two_1200%2FiPhone-18-Pro-colors-all-the-rumored-shades.webp">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 18 PRO MAX" class="h-full object-contain" src="https://m-cdn.phonearena.com/images/article/179838-wide-two_1200/iPhone-18-Pro-colors-all-the-rumored-shades.webp" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
        <div class="absolute inset-0 bg-white/70 dark:bg-black/60 flex items-center justify-center rounded-t-2xl">
          <span class="bg-red-100 dark:bg-red-900/50 text-red-600 dark:text-red-400 text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide">Sold</span>
        </div>
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 18 PRO MAX 256GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£1349</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39245?back_to=%2Fmobile&amp;url=https%3A%2F%2Fpisces.bbystatic.com%2Fimage2%2FBestBuy_US%2Fimages%2Fproducts%2F8659517d-00e9-47d7-b6ab-5179838201f2.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="MACBOOK PRO M4 14-INCH" class="h-full object-contain" src="https://pisces.bbystatic.com/image2/BestBuy_US/images/products/8659517d-00e9-47d7-b6ab-5179838201f2.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
        <div class="absolute inset-0 bg-white/70 dark:bg-black/60 flex items-center justify-center rounded-t-2xl">
          <span class="bg-red-100 dark:bg-red-900/50 text-red-600 dark:text-red-400 text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide">Sold</span>
        </div>
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        MACBOOK PRO M4 14-INCH 512GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500"></p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£1495</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39243?back_to=%2Fmobile&amp;url=https%3A%2F%2Fpisces.bbystatic.com%2Fimage2%2FBestBuy_US%2Fimages%2Fproducts%2F3cfa0bb8-589d-492f-84a4-1e8d536f84ff.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="IPAD AIR 13-INCH M3" class="h-full object-contain" src="https://pisces.bbystatic.com/image2/BestBuy_US/images/products/3cfa0bb8-589d-492f-84a4-1e8d536f84ff.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPAD AIR 13-INCH M3 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">WIFI ONLY</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-indigo-600 text-white">
            Grade A
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£550</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39244?back_to=%2Fmobile&amp;url=https%3A%2F%2Fpisces.bbystatic.com%2Fimage2%2FBestBuy_US%2Fimages%2Fproducts%2F3cfa0bb8-589d-492f-84a4-1e8d536f84ff.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="IPAD AIR 13-INCH M3" class="h-full object-contain" src="https://pisces.bbystatic.com/image2/BestBuy_US/images/products/3cfa0bb8-589d-492f-84a4-1e8d536f84ff.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPAD AIR 13-INCH M3 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">WIFI ONLY</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-indigo-600 text-white">
            Grade A
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£550</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39242?back_to=%2Fmobile&amp;url=https%3A%2F%2Fwww.citypng.com%2Fpublic%2Fuploads%2Fpreview%2Fiphone-15-pro-max-all-colors-hd-png-116949841795tz5ootrjo.png">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 dark:bg-[rgb(0,22,12)] flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 15 PRO" class="h-full object-contain" src="https://www.citypng.com/public/uploads/preview/iphone-15-pro-max-all-colors-hd-png-116949841795tz5ootrjo.png" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 15 PRO 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-amber-500 text-gray-900">
            Grade B
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£465</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39241?back_to=%2Fmobile&amp;url=https%3A%2F%2Fm-cdn.phonearena.com%2Fimages%2Fphones%2F85478-350%2FGoogle-Pixel-10-Pro-XL.webp%3Fw%3D1">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="PIXEL 10 PRO" class="h-full object-contain" src="https://m-cdn.phonearena.com/images/phones/85478-350/Google-Pixel-10-Pro-XL.webp?w=1" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
        <div class="absolute inset-0 bg-white/70 dark:bg-black/60 flex items-center justify-center rounded-t-2xl">
          <span class="bg-red-100 dark:bg-red-900/50 text-red-600 dark:text-red-400 text-xs font-bold px-3 py-1 rounded-full uppercase tracking-wide">Sold</span>
        </div>
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">GOOGLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        PIXEL 10 PRO 128GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-blue-600 text-white">
            Grade A+
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£495</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39240?back_to=%2Fmobile&amp;url=https%3A%2F%2Ftech-repairs.co.uk%2Fwp-content%2Fuploads%2F2021%2F06%2Fiphone7.png">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 dark:bg-[rgb(0,22,12)] flex items-center justify-center p-4 h-[180px]">
      <img alt="IPHONE 7" class="h-full object-contain" src="https://tech-repairs.co.uk/wp-content/uploads/2021/06/iphone7.png" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">APPLE</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        IPHONE 7 32GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-indigo-600 text-white">
            Grade A
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£75</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
      <a class="group block" href="/mobile/39239?back_to=%2Fmobile&amp;url=https%3A%2F%2Ffdn2.gsmarena.com%2Fvv%2Fpics%2Fmotorola%2Fmotorola-moto-g06-power-1.jpg">
  <div class="bg-white dark:bg-[rgb(0,35,20)] rounded-2xl shadow-sm hover:shadow-md dark:shadow-black/30 dark:hover:shadow-black/50 transition-all duration-200 overflow-hidden flex flex-col h-full border border-gray-100 dark:border-green-900/40 hover:border-green-200 dark:hover:border-green-700">


    <!-- Image — non-PNG device photos are hotlinked JPEGs with an opaque
         white studio background baked into the pixels (no transparency to
         blend with a dark tile), so those stay a deliberate light "photo
         mat" in both themes rather than flipping dark and clashing with
         them. PNGs are usually real cutouts with transparency and don't
         have that problem, so they keep the original theme-aware tile. -->
    <div class="relative bg-gray-50 flex items-center justify-center p-4 h-[180px]">
      <img alt="G06 POWER" class="h-full object-contain" src="https://fdn2.gsmarena.com/vv/pics/motorola/motorola-moto-g06-power-1.jpg" />
      <img alt="Warranty" class="absolute top-2 left-2 opacity-90" src="/assets/warranty-6f2832a6.png" width="64" height="64" />
    </div>

    <!-- Info -->
    <div class="flex flex-col flex-1 p-4 gap-2">
      <p class="text-[10px] font-semibold text-green-600 dark:text-green-400 uppercase tracking-widest">MOTOROLA</p>
      <h3 class="text-sm font-bold text-gray-800 dark:text-white leading-snug line-clamp-2">
        G06 POWER 64GB
      </h3>
      <p class="text-xs text-gray-400 dark:text-gray-500">UNLOCKED</p>

      <!-- Condition badge — a grouped card (show_from) represents several
           storage/grade combinations at once, so showing just this one unit's
           grade would misrepresent the group; the price row alone with
           "From £X" carries the card instead. -->
      <div class="mt-auto pt-2 flex items-center justify-between gap-2">
          <span class="text-[10px] font-semibold px-2 py-0.5 rounded-full bg-green-600 text-white">
            NEW
          </span>
        <div class="flex flex-col items-end">
          <p class="text-base font-extrabold text-gray-900 dark:text-white">£125</p>
        </div>
      </div>

      <button class="mt-2 w-full bg-[rgb(0,106,58)] hover:bg-green-700 dark:bg-green-700 dark:hover:bg-green-600 text-white text-xs py-2 font-semibold rounded-xl transition-colors duration-150">
        View Details
      </button>
    </div>
  </div>
</a>
  </template>
</turbo-stream>


<turbo-stream action="replace" target="load_devices"><template>
    <turbo-frame loading="lazy" id="load_devices" src="/mobile.turbo_stream?pagination%5BPageNumber%5D=2">
      <span class="loading loading-dots loading-lg"></span>
</turbo-frame></template></turbo-stream>