{"id":4878,"date":"2026-05-27T10:08:43","date_gmt":"2026-05-27T10:08:43","guid":{"rendered":"https:\/\/www.kihlstroms.se\/v3\/?page_id=4878"},"modified":"2026-05-27T10:08:45","modified_gmt":"2026-05-27T10:08:45","slug":"kampanj-maila-saljarna","status":"publish","type":"page","link":"https:\/\/www.kihlstroms.se\/v3\/kampanj-maila-saljarna\/","title":{"rendered":"Kampanj Maila S\u00e4ljarna"},"content":{"rendered":"\n<meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n  <title>Kampanjbilar &amp; Lagerbilar \u00b7 Iveco Daily, Isuzu D-Max \u00b7 Kihlstr\u00f6ms Stockholm<\/title>\n  <meta name=\"description\" content=\"Kampanjbilar och lagerbilar hos Kihlstr\u00f6ms i Stockholm. Iveco Daily, Isuzu D-Max pickups, Eurocargo, Electric Daily, EsuperJolly. F\u00f6retagsleasing exkl. moms. Smista &amp; Sp\u00e5nga.\">\n\n  <link rel=\"preconnect\" href=\"https:\/\/images.blocketcdn.se\" crossorigin=\"\">\n  <link rel=\"dns-prefetch\" href=\"https:\/\/images.blocketcdn.se\">\n\n  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap-icons@1.11.3\/font\/bootstrap-icons.min.css\">\n\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&amp;display=swap\" rel=\"stylesheet\">\n\n  <script>\n    tailwind.config = {\n      theme: {\n        extend: {\n          colors: {\n            'ks-blue': '#062b55',\n            'ks-blue-dark': '#0b3f78',\n            'ks-red': '#d91f2b',\n            'ks-ink': '#101828',\n            'ks-muted': '#667085',\n            'ks-bg': '#f6f8fb',\n          },\n          fontFamily: { sans: ['Inter', 'sans-serif'] }\n        }\n      }\n    }\n  <\/script>\n\n  <style>\n    ::-webkit-scrollbar { width: 8px; height: 8px; }\n    ::-webkit-scrollbar-track { background: #f1f1f1; }\n    ::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }\n    ::-webkit-scrollbar-thumb:hover { background: #aaa; }\n\n    .fade-in-item { animation: fadeIn 0.35s ease-out forwards; }\n    @keyframes fadeIn {\n      from { opacity: 0; transform: translateY(10px); }\n      to { opacity: 1; transform: translateY(0); }\n    }\n\n    .line-clamp-2 {\n      display: -webkit-box; -webkit-line-clamp: 2;\n      -webkit-box-orient: vertical; overflow: hidden;\n    }\n\n    button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {\n      outline: 3px solid #d91f2b; outline-offset: 2px;\n    }\n\n    @media print {\n      .no-print { display: none !important; }\n      article { break-inside: avoid; page-break-inside: avoid; }\n    }\n\n    @keyframes tagPulse {\n      0%, 100% { transform: scale(1); }\n      50% { transform: scale(1.05); }\n    }\n    .tag-campaign { animation: tagPulse 2.5s ease-in-out infinite; }\n\n    \/* Skeleton shimmer *\/\n    .skeleton {\n      background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);\n      background-size: 200% 100%;\n      animation: shimmer 1.5s infinite;\n    }\n    @keyframes shimmer {\n      0% { background-position: 200% 0; }\n      100% { background-position: -200% 0; }\n    }\n\n    \/* Hj\u00e4rta *\/\n    .heart-active {\n      color: #d91f2b !important;\n      animation: heartPop 0.4s ease;\n    }\n    @keyframes heartPop {\n      0% { transform: scale(1); }\n      50% { transform: scale(1.4); }\n      100% { transform: scale(1); }\n    }\n\n    \/* Compare bar slide-up *\/\n    .compare-bar {\n      transform: translateY(100%);\n      transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);\n    }\n    .compare-bar.is-visible {\n      transform: translateY(0);\n    }\n\n    \/* Modal backdrop *\/\n    .modal-backdrop {\n      background: rgba(11, 19, 32, 0.7);\n      backdrop-filter: blur(8px);\n    }\n\n    \/* Snygg horisontell scroll f\u00f6r slidern *\/\n    .no-scrollbar::-webkit-scrollbar {\n      display: none;\n    }\n    .no-scrollbar {\n      -ms-overflow-style: none;\n      scrollbar-width: none;\n    }\n  <\/style>\n\n  <script type=\"application\/ld+json\" id=\"ks-schema-json\"><\/script>\n\n\n\n<!-- TOAST NOTIFIKATIONER -->\n<div id=\"toastContainer\" class=\"fixed bottom-5 right-5 z-50 flex flex-col gap-2 pointer-events-none no-print\"><\/div>\n\n<header class=\"sr-only\">\n  <h1>Kihlstr\u00f6ms Kampanjbilar &#8211; Iveco Daily, Isuzu D-Max och l\u00e4tta lastbilar i Stockholm<\/h1>\n  <p>Kampanjpriser p\u00e5 Iveco och Isuzu transportbilar. F\u00f6retagsleasing exklusive moms. Smista och Sp\u00e5nga.<\/p>\n<\/header>\n\n<main>\n  <section id=\"ks-lagerbilar-app\" class=\"max-w-[1440px] mx-auto px-4 py-4 lg:py-8\" aria-label=\"Kampanjbilar och lagerbilar\">\n\n    <!-- HEADER -->\n    <div class=\"mb-6 flex flex-col md:flex-row md:items-center justify-between gap-4 border-b border-gray-100 pb-4\">\n      <div>\n        <span class=\"inline-flex items-center gap-1.5 px-2.5 py-1 rounded-full bg-red-50 text-ks-red font-black text-[11px] tracking-wider uppercase mb-1\">\n          <span class=\"w-1.5 h-1.5 rounded-full bg-ks-red animate-pulse\"><\/span>\n          Kampanjpriser \u00b7 Begr\u00e4nsat antal\n        <\/span>\n        <h2 class=\"text-3xl lg:text-4xl font-black text-ks-blue tracking-tight leading-none\">\n          Kampanjbilar &amp; lagerbilar i Stockholm\n        <\/h2>\n      <\/div>\n      <div class=\"flex flex-wrap gap-2 shrink-0 no-print\">\n        <button onclick=\"scrollToContact()\" class=\"px-5 py-2.5 bg-ks-red hover:bg-red-700 text-white text-sm font-black rounded-full transition-all shadow-md hover:shadow-red-200 duration-200 flex items-center gap-1.5\">\n          <i class=\"bi bi-chat-dots-fill\"><\/i> Kontakta s\u00e4ljare\n        <\/button>\n        <a href=\"https:\/\/www.blocket.se\/mobility\/search\/car?orgId=7573081\" target=\"_blank\" rel=\"noopener\" class=\"px-5 py-2.5 bg-white hover:bg-gray-50 text-ks-blue text-sm font-bold border border-gray-200 rounded-full transition-all duration-200 flex items-center gap-1.5\">\n          \u00d6ppna Blocket <i class=\"bi bi-box-arrow-up-right\"><\/i>\n        <\/a>\n      <\/div>\n    <\/div>\n\n    <!-- Filter -->\n    <div class=\"bg-white rounded-2xl shadow-md border border-slate-100 mb-6 no-print\">\n      <button onclick=\"toggleFilters()\" id=\"filterToggle\" class=\"md:hidden w-full px-4 py-3 flex items-center justify-between font-bold text-ks-blue text-sm\">\n        <span class=\"flex items-center gap-2\"><i class=\"bi bi-sliders\"><\/i> Filter &amp; sortering<\/span>\n        <i class=\"bi bi-chevron-down transition-transform\" id=\"filterToggleIcon\"><\/i>\n      <\/button>\n\n      <div id=\"filterContent\" class=\"hidden md:block p-4\">\n        <div class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-5 gap-3\">\n\n          <div class=\"relative lg:col-span-2\">\n            <div class=\"relative\">\n              <i class=\"bi bi-search absolute left-3.5 top-3 text-gray-400\" aria-hidden=\"true\"><\/i>\n              <input type=\"text\" id=\"searchInput\" oninput=\"debounceFilter()\" placeholder=\"S\u00f6k CNG, kylbil, flak, FastLane...\" class=\"w-full pl-10 pr-10 py-2 bg-[#f8fafc] border border-gray-200 rounded-xl focus:outline-none focus:ring-2 focus:ring-ks-blue\/20 focus:border-ks-blue transition font-medium text-xs\">\n              <button onclick=\"document.getElementById('searchInput').value=''; filterCars();\" class=\"absolute right-3 top-3 text-gray-400 hover:text-ks-red transition\" aria-label=\"Rensa s\u00f6k\">\n                <i class=\"bi bi-x-circle-fill\"><\/i>\n              <\/button>\n            <\/div>\n          <\/div>\n\n          <div>\n            <select id=\"brandFilter\" onchange=\"onBrandChange()\" class=\"w-full px-3 py-2 bg-[#f8fafc] border border-gray-200 rounded-xl focus:outline-none focus:ring-2 focus:ring-ks-blue\/20 focus:border-ks-blue transition font-semibold text-xs text-ks-blue\">\n              <option value=\"\">Alla m\u00e4rken<\/option>\n              <option value=\"Isuzu\">Isuzu<\/option>\n              <option value=\"Iveco\">Iveco<\/option>\n            <\/select>\n          <\/div>\n\n          <div>\n            <select id=\"modelFilter\" onchange=\"filterCars()\" class=\"w-full px-3 py-2 bg-[#f8fafc] border border-gray-200 rounded-xl focus:outline-none focus:ring-2 focus:ring-ks-blue\/20 focus:border-ks-blue transition font-semibold text-xs text-ks-blue\">\n              <option value=\"\">Alla modeller<\/option>\n            <\/select>\n          <\/div>\n\n          <div>\n            <select id=\"sortFilter\" onchange=\"filterCars()\" class=\"w-full px-3 py-2 bg-[#f8fafc] border border-gray-200 rounded-xl focus:outline-none focus:ring-2 focus:ring-ks-blue\/20 focus:border-ks-blue transition font-semibold text-xs text-ks-blue\">\n              <option value=\"default\">Standard (Kampanj f\u00f6rst)<\/option>\n              <option value=\"price-asc\">Pris: L\u00e4gst f\u00f6rst<\/option>\n              <option value=\"price-desc\">Pris: H\u00f6gst f\u00f6rst<\/option>\n              <option value=\"model-asc\">Modell: A\u2013\u00d6<\/option>\n              <option value=\"model-desc\">Modell: \u00d6\u2013A<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <div class=\"mt-3 pt-3 border-t border-gray-100 flex flex-wrap items-center justify-between gap-3\">\n          <div class=\"flex flex-wrap items-center gap-1.5\">\n            <span class=\"text-[10px] font-black text-ks-blue uppercase tracking-wider\">Br\u00e4nsle:<\/span>\n            <button onclick=\"setFuel('')\" data-fuel-btn=\"\" class=\"ks-fuel-btn px-3 py-1.5 rounded-full text-[11px] font-bold transition bg-ks-blue text-white\">Alla<\/button>\n            <button onclick=\"setFuel('Diesel')\" data-fuel-btn=\"Diesel\" class=\"ks-fuel-btn px-3 py-1.5 rounded-full text-[11px] font-bold transition bg-slate-100 text-ks-blue hover:bg-slate-200\">\u26fd Diesel<\/button>\n            <button onclick=\"setFuel('CNG')\" data-fuel-btn=\"CNG\" class=\"ks-fuel-btn px-3 py-1.5 rounded-full text-[11px] font-bold transition bg-slate-100 text-ks-blue hover:bg-slate-200\">\ud83c\udf31 CNG \/ Biogas<\/button>\n            <button onclick=\"setFuel('El')\" data-fuel-btn=\"El\" class=\"ks-fuel-btn px-3 py-1.5 rounded-full text-[11px] font-bold transition bg-slate-100 text-ks-blue hover:bg-slate-200\">\u26a1 El<\/button>\n          <\/div>\n\n          <div class=\"flex items-center gap-2\">\n            <span class=\"text-[10px] font-black text-ks-blue uppercase tracking-wider\">Visningsl\u00e4ge:<\/span>\n            <div class=\"grid grid-cols-2 gap-1 bg-[#f8fafc] p-0.5 rounded-lg border border-gray-100\">\n              <button onclick=\"setColumns(2)\" id=\"btnCols2\" class=\"py-1 px-2.5 rounded-md text-xs font-bold flex items-center justify-center gap-1 bg-white text-ks-blue shadow-sm transition\">\n                <i class=\"bi bi-grid-fill\"><\/i> Stora\n              <\/button>\n              <button onclick=\"setColumns(3)\" id=\"btnCols3\" class=\"py-1 px-2.5 rounded-md text-xs font-medium flex items-center justify-center gap-1 text-ks-muted hover:text-ks-blue transition\">\n                <i class=\"bi bi-grid-3x3-gap-fill\"><\/i> Sm\u00e5\n              <\/button>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div id=\"activeFilters\" class=\"hidden mt-3 pt-3 border-t border-gray-100 flex flex-wrap gap-1.5 items-center\"><\/div>\n      <\/div>\n    <\/div>\n\n    <!-- KAMPANJBILAR SLIDER -->\n    <div id=\"campaignSliderSection\" class=\"mb-6 no-print\">\n      <div class=\"flex items-center justify-between mb-2\">\n        <h3 class=\"text-sm font-black text-ks-blue uppercase tracking-wider flex items-center gap-1.5\">\n          <i class=\"bi bi-lightning-charge-fill text-ks-red\"><\/i> Utvalda kampanjerbjudanden (Skjut f\u00f6r att v\u00e4lja)\n        <\/h3>\n        <div class=\"flex gap-1\">\n          <button onclick=\"slideCampaigns(-1)\" class=\"w-8 h-8 rounded-full bg-white border border-slate-100 flex items-center justify-center hover:bg-slate-50 transition shadow-sm\" aria-label=\"F\u00f6reg\u00e5ende\">\n            <i class=\"bi bi-chevron-left text-xs\"><\/i>\n          <\/button>\n          <button onclick=\"slideCampaigns(1)\" class=\"w-8 h-8 rounded-full bg-white border border-slate-100 flex items-center justify-center hover:bg-slate-50 transition shadow-sm\" aria-label=\"N\u00e4sta\">\n            <i class=\"bi bi-chevron-right text-xs\"><\/i>\n          <\/button>\n        <\/div>\n      <\/div>\n      <div id=\"campaignSlider\" class=\"flex gap-4 overflow-x-auto no-scrollbar scroll-smooth py-1 px-0.5\">\n        <!-- Genereras dynamiskt -->\n      <\/div>\n    <\/div>\n\n    <!-- Statistik & Kategori-chips -->\n    <div class=\"mb-4 flex flex-wrap gap-2 text-xs font-semibold text-ks-blue no-print items-center justify-between\">\n      <div class=\"flex flex-wrap gap-2\">\n        <div class=\"bg-white px-3 py-1.5 rounded-xl border border-slate-100 shadow-sm flex items-center gap-1.5\">\n          <i class=\"bi bi-truck text-ks-red\"><\/i> Totalt: <span id=\"statsTotal\" class=\"font-black text-ks-red\">0<\/span>\n        <\/div>\n        <div class=\"bg-white px-3 py-1.5 rounded-xl border border-slate-100 shadow-sm flex items-center gap-1.5\">\n          <i class=\"bi bi-funnel-fill text-ks-blue\"><\/i> Visar: <span id=\"statsShowing\" class=\"font-black\">0<\/span>\n        <\/div>\n        <button onclick=\"showFavorites()\" id=\"favCountBtn\" class=\"bg-white px-3 py-1.5 rounded-xl border border-slate-100 shadow-sm flex items-center gap-1.5 hover:border-ks-red transition\">\n          <i class=\"bi bi-heart-fill text-ks-red\"><\/i> Sparade: <span id=\"statsFav\" class=\"font-black\">0<\/span>\n        <\/button>\n      <\/div>\n\n      <div class=\"flex flex-wrap gap-1.5\" id=\"categoryChips\">\n        <button onclick=\"setCategory('')\" data-cat=\"\" class=\"ks-cat-chip px-3 py-1.5 rounded-xl text-[11px] font-bold transition bg-ks-blue text-white\">Alla<\/button>\n        <button onclick=\"setCategory('kampanj')\" data-cat=\"kampanj\" class=\"ks-cat-chip px-3 py-1.5 rounded-xl text-[11px] font-bold transition bg-slate-100 text-ks-blue hover:bg-slate-200\">Kampanjbilar<\/button>\n        <button onclick=\"setCategory('eco')\" data-cat=\"eco\" class=\"ks-cat-chip px-3 py-1.5 rounded-xl text-[11px] font-bold transition bg-slate-100 text-ks-blue hover:bg-slate-200\">Milj\u00f6bilar (CNG\/El)<\/button>\n        <button onclick=\"setCategory('kylbil')\" data-cat=\"kylbil\" class=\"ks-cat-chip px-3 py-1.5 rounded-xl text-[11px] font-bold transition bg-slate-100 text-ks-blue hover:bg-slate-200\">Kylbilar<\/button>\n        <button onclick=\"setCategory('kran')\" data-cat=\"kran\" class=\"ks-cat-chip px-3 py-1.5 rounded-xl text-[11px] font-bold transition bg-slate-100 text-ks-blue hover:bg-slate-200\">Flak &amp; Kran<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- GRID -->\n    <div id=\"mainContentContainer\" class=\"transition-all duration-300\">\n      <div id=\"gridView\" class=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-8\" role=\"list\"><\/div>\n    <\/div>\n\n    <div id=\"noResults\" class=\"hidden text-center py-20 bg-white rounded-3xl shadow-sm border border-slate-100\">\n      <i class=\"bi bi-search text-5xl text-slate-300 mb-4 block\" aria-hidden=\"true\"><\/i>\n      <h3 class=\"text-xl font-black text-ks-blue mb-2\">Hittade inga transportbilar<\/h3>\n      <p class=\"text-ks-muted max-w-md mx-auto mb-6\">Vi hittade tyv\u00e4rr inga objekt som matchar din s\u00f6kning. Prova att rensa filter.<\/p>\n      <button onclick=\"resetFilters()\" class=\"px-5 py-2.5 bg-ks-blue text-white font-bold rounded-full hover:bg-ks-blue-dark transition\">Nollst\u00e4ll alla filter<\/button>\n    <\/div>\n\n    <!-- FRISKRIVNINGSBOX L\u00c4GST NER -->\n    <div class=\"mt-12 p-6 bg-slate-50 border border-slate-200 rounded-3xl text-xs text-slate-600 no-print flex items-start gap-4 fade-in-item shadow-sm\">\n      <i class=\"bi bi-info-circle text-lg text-ks-blue shrink-0 mt-0.5\" aria-hidden=\"true\"><\/i>\n      <div>\n        <p class=\"leading-relaxed\">\n          <strong>Information om leveranstider och villkor:<\/strong> Fordon tillg\u00e4ngliga i v\u00e5rt eget lager i Stockholm (Smista\/Sp\u00e5nga) kan levereras med kort varsel. F\u00f6r fordon under transport eller vid kundanpassad fabriksbest\u00e4llning kan leveranstider variera. Angivna kalkylkostnader baseras p\u00e5 finansiell <strong>f\u00f6retagsleasing exklusive moms<\/strong>. Vi reserverar oss f\u00f6r eventuella felskrivningar i utrustningslistor samt slutf\u00f6rs\u00e4ljning. V\u00e4nligen kontakta v\u00e5ra transportbilsr\u00e5dgivare f\u00f6r att bekr\u00e4fta exakt specifikation och status.\n        <\/p>\n      <\/div>\n    <\/div>\n\n    <p class=\"mt-6 text-xs text-ks-muted leading-relaxed text-center\">\n      * Angiven m\u00e5nadskostnad baseras p\u00e5 sedvanliga kalkyler f\u00f6r f\u00f6retagsleasing exklusive moms.\n      Priser, utrustning och tillg\u00e4nglighet ska alltid st\u00e4mmas av med s\u00e4ljare innan aff\u00e4r.\n      <strong>Med reservation f\u00f6r felskrivning och slutf\u00f6rs\u00e4ljning.<\/strong>\n    <\/p>\n  <\/section>\n\n  <!-- J\u00c4MF\u00d6R-BAR -->\n  <div id=\"compareBar\" class=\"compare-bar fixed bottom-0 left-0 right-0 bg-ks-blue text-white shadow-2xl z-40 no-print\">\n    <div class=\"max-w-[1440px] mx-auto px-4 py-3 flex items-center justify-between gap-4 flex-wrap\">\n      <div class=\"flex items-center gap-3 flex-1 min-w-0\">\n        <span class=\"font-black text-sm whitespace-nowrap\"><i class=\"bi bi-bar-chart-fill mr-1\"><\/i> J\u00e4mf\u00f6r (<span id=\"compareCount\">0<\/span>\/3):<\/span>\n        <div id=\"compareList\" class=\"flex gap-2 overflow-x-auto\"><\/div>\n      <\/div>\n      <div class=\"flex gap-2\">\n        <button onclick=\"clearCompare()\" class=\"px-3 py-2 bg-white\/10 hover:bg-white\/20 rounded-lg text-xs font-bold transition\">Rensa<\/button>\n        <button onclick=\"showCompareModal()\" id=\"compareBtn\" class=\"px-4 py-2 bg-ks-red hover:bg-red-700 rounded-lg text-xs font-black transition\" disabled=\"\">Visa j\u00e4mf\u00f6relse \u2192<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- J\u00c4MF\u00d6R-MODAL -->\n  <div id=\"compareModal\" class=\"hidden fixed inset-0 z-50 modal-backdrop overflow-y-auto p-4 no-print\">\n    <div class=\"bg-white rounded-3xl max-w-6xl mx-auto my-8 overflow-hidden shadow-2xl\">\n      <div class=\"px-6 py-4 border-b border-gray-100 flex items-center justify-between sticky top-0 bg-white\">\n        <h3 class=\"text-2xl font-black text-ks-blue\">J\u00e4mf\u00f6r fordon<\/h3>\n        <button onclick=\"closeCompareModal()\" class=\"w-10 h-10 rounded-full bg-slate-100 hover:bg-slate-200 transition flex items-center justify-center\" aria-label=\"St\u00e4ng\">\n          <i class=\"bi bi-x-lg text-ks-blue\"><\/i>\n        <\/button>\n      <\/div>\n      <div id=\"compareContent\" class=\"p-6 overflow-x-auto\"><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- FAVORITER-MODAL -->\n  <div id=\"favModal\" class=\"hidden fixed inset-0 z-50 modal-backdrop overflow-y-auto p-4 no-print\">\n    <div class=\"bg-white rounded-3xl max-w-4xl mx-auto my-8 overflow-hidden shadow-2xl\">\n      <div class=\"px-6 py-4 border-b border-gray-100 flex items-center justify-between sticky top-0 bg-white\">\n        <h3 class=\"text-2xl font-black text-ks-blue\"><i class=\"bi bi-heart-fill text-ks-red mr-2\"><\/i>Dina sparade favoriter<\/h3>\n        <button onclick=\"closeFavModal()\" class=\"w-10 h-10 rounded-full bg-slate-100 hover:bg-slate-200 transition flex items-center justify-center\" aria-label=\"St\u00e4ng\">\n          <i class=\"bi bi-x-lg text-ks-blue\"><\/i>\n        <\/button>\n      <\/div>\n      <div id=\"favContent\" class=\"p-6\"><\/div>\n    <\/div>\n  <\/div>\n\n  <!-- S\u00c4LJARE -->\n  <section id=\"contact\" class=\"py-12 lg:py-20 bg-white border-t border-gray-100\" aria-labelledby=\"contact-heading-main-sales\">\n    <div class=\"max-w-[1280px] mx-auto px-4\">\n      <div class=\"text-center max-w-3xl mx-auto mb-12\">\n        <h2 id=\"contact-heading-main-sales\" class=\"text-3xl font-black text-ks-blue tracking-tight leading-none mb-3\">\n          Prata transportbilar med v\u00e5ra experter\n        <\/h2>\n        <p class=\"text-base text-ks-muted leading-relaxed\">\n          Oavsett om du vill k\u00f6pa en lagerbil direkt, tinga en kommande bil, eller rita upp ett skr\u00e4ddarsytt bygge s\u00e5 hj\u00e4lper v\u00e5ra s\u00e4ljare dig hela v\u00e4gen.\n        <\/p>\n      <\/div>\n\n      <div class=\"grid grid-cols-1 md:grid-cols-3 gap-8 max-w-5xl mx-auto\">\n\n        <!-- Alexander Smista -->\n        <article class=\"bg-ks-bg p-6 rounded-3xl border border-slate-100 hover:border-slate-200 shadow-md hover:shadow-xl transition-all duration-300 text-center flex flex-col group relative overflow-hidden\">\n          <div class=\"absolute top-0 left-0 w-full h-1.5 bg-ks-blue\"><\/div>\n          <div class=\"relative w-32 h-32 mx-auto mb-4 rounded-full overflow-hidden shadow-sm border-2 border-white group-hover:scale-105 transition duration-300 bg-slate-200 ring-2 ring-ks-blue\/5\">\n            <img decoding=\"async\" src=\"https:\/\/www.kihlstroms.se\/v3\/wp-content\/uploads\/2023\/10\/IMG_38361-768x512.jpg\" alt=\"Alexander i Smista, F\u00f6rs\u00e4ljningschef\" class=\"w-full h-full object-cover\">\n          <\/div>\n          <h3 class=\"text-lg font-black text-ks-blue mb-0.5\">Alexander i Smista<\/h3>\n          <p class=\"text-xs font-black text-ks-red uppercase tracking-wider mb-0.5\">F\u00f6rs\u00e4ljningschef<\/p>\n          <p class=\"text-[11px] text-ks-muted mb-4\">Stockholm Syd (Smista)<\/p>\n          <div class=\"mt-auto space-y-2\">\n            <a href=\"mailto:alexander@kihlstroms.se\" class=\"flex items-center justify-center gap-1.5 px-3 py-2 bg-white hover:bg-blue-50 text-ks-blue font-bold rounded-xl text-xs border border-gray-150 transition\">\n              <i class=\"bi bi-envelope-fill text-ks-red\"><\/i> alexander@kihlstroms.se\n            <\/a>\n            <a href=\"tel:+46703288700\" class=\"flex items-center justify-center gap-1.5 px-3 py-2 bg-white hover:bg-blue-50 text-ks-blue font-bold rounded-xl text-xs border border-gray-150 transition\">\n              <i class=\"bi bi-phone-fill text-ks-red\"><\/i> 070-328 87 00\n            <\/a>\n          <\/div>\n        <\/article>\n\n        <!-- Philip Smista -->\n        <article class=\"bg-ks-bg p-6 rounded-3xl border border-slate-100 hover:border-slate-200 shadow-md hover:shadow-xl transition-all duration-300 text-center flex flex-col group relative overflow-hidden\">\n          <div class=\"absolute top-0 left-0 w-full h-1.5 bg-ks-blue\"><\/div>\n          <div class=\"relative w-32 h-32 mx-auto mb-4 rounded-full overflow-hidden shadow-sm border-2 border-white group-hover:scale-105 transition duration-300 bg-slate-200 ring-2 ring-ks-blue\/5\">\n            <img decoding=\"async\" src=\"https:\/\/www.kihlstroms.se\/v3\/wp-content\/uploads\/2025\/06\/PXL_20250609_135646679-1-scaled.jpg\" alt=\"Philip, Transportbilss\u00e4ljare\" class=\"w-full h-full object-cover\">\n          <\/div>\n          <h3 class=\"text-lg font-black text-ks-blue mb-0.5\">Philip<\/h3>\n          <p class=\"text-xs font-black text-ks-red uppercase tracking-wider mb-0.5\">Transportbilss\u00e4ljare<\/p>\n          <p class=\"text-[11px] text-ks-muted mb-4\">Stockholm Syd (Smista)<\/p>\n          <div class=\"mt-auto space-y-2\">\n            <a href=\"mailto:philip@kihlstroms.se\" class=\"flex items-center justify-center gap-1.5 px-3 py-2 bg-white hover:bg-blue-50 text-ks-blue font-bold rounded-xl text-xs border border-gray-150 transition\">\n              <i class=\"bi bi-envelope-fill text-ks-red\"><\/i> philip@kihlstroms.se\n            <\/a>\n            <a href=\"tel:+46706440700\" class=\"flex items-center justify-center gap-1.5 px-3 py-2 bg-white hover:bg-blue-50 text-ks-blue font-bold rounded-xl text-xs border border-gray-150 transition\">\n              <i class=\"bi bi-phone-fill text-ks-red\"><\/i> 070-644 07 00\n            <\/a>\n          <\/div>\n        <\/article>\n\n        <!-- Alexander Sp\u00e5nga -->\n        <article class=\"bg-ks-bg p-6 rounded-3xl border border-slate-100 hover:border-slate-200 shadow-md hover:shadow-xl transition-all duration-300 text-center flex flex-col group relative overflow-hidden\">\n          <div class=\"absolute top-0 left-0 w-full h-1.5 bg-ks-blue\"><\/div>\n          <div class=\"relative w-32 h-32 mx-auto mb-4 rounded-full overflow-hidden shadow-sm border-2 border-white group-hover:scale-105 transition duration-300 bg-slate-200 ring-2 ring-ks-blue\/5\">\n            <img decoding=\"async\" src=\"https:\/\/www.kihlstroms.se\/v3\/wp-content\/uploads\/2023\/10\/PXL_20230517_071336271-1-768x883.jpg\" alt=\"Alexander i Sp\u00e5nga, Transportbilss\u00e4ljare\" class=\"w-full h-full object-cover\">\n          <\/div>\n          <h3 class=\"text-lg font-black text-ks-blue mb-0.5\">Alexander i Sp\u00e5nga<\/h3>\n          <p class=\"text-xs font-black text-ks-red uppercase tracking-wider mb-0.5\">Transportbilss\u00e4ljare<\/p>\n          <p class=\"text-[11px] text-ks-muted mb-4\">Stockholm Norr (Sp\u00e5nga)<\/p>\n          <div class=\"mt-auto space-y-2\">\n            <a href=\"mailto:osterberg@kihlstroms.se\" class=\"flex items-center justify-center gap-1.5 px-3 py-2 bg-white hover:bg-blue-50 text-ks-blue font-bold rounded-xl text-sm border border-gray-150 transition\">\n              <i class=\"bi bi-envelope-fill text-ks-red\"><\/i> osterberg@kihlstroms.se\n            <\/a>\n            <a href=\"tel:+46706530001\" class=\"flex items-center justify-center gap-1.5 px-3 py-2 bg-white hover:bg-blue-50 text-ks-blue font-bold rounded-xl text-xs border border-gray-150 transition\">\n              <i class=\"bi bi-phone-fill text-ks-red\"><\/i> 070-653 00 01\n            <\/a>\n          <\/div>\n        <\/article>\n\n      <\/div>\n    <\/div>\n  <\/section>\n<\/main>\n\n<script>\n  \/\/ =========================================================================\n  \/\/ DATABAS \u2014 51 fordon med 100 % autentisk Blocket-data (Ingen fusk-information)\n  \/\/ Alla p\u00e5hittade texter borttagna helt. Sanningsenliga specifikationer.\n  \/\/ =========================================================================\n  const carsData = [\n    { id: \"22417770\", brand: \"Isuzu\", modelGroup: \"Isuzu D-Max\", model: \"Isuzu D-max XRX\", desc: \"| XRX | Smartcap rostfritt st\u00e5l | 6 317:-\/m\u00e5n\", specs: \"2026 \u2219 Fordonsgas (CNG) \u2219 Automatisk\", fuel: \"CNG\", gearbox: \"Automat\", priceExkl: 629900, priceInkl: 787375, tags: [{t:\"CNG\",c:\"eco\"},{t:\"Smartcap\",c:\"\"},{t:\"XRX\",c:\"\"},{t:\"Kampanj\",c:\"kampanj\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/22417770\/f56fe8a8-3508-4328-85d7-90fdecb8d6de\", url: \"https:\/\/www.blocket.se\/mobility\/item\/22417770\", status: \"Kommande\" },\n    { id: \"21620210\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily 18m3\", desc: \"| Volymsk\u00e5p med lyft 18m3 | 4 394:-\/m\u00e5n | 1\u00c5RS GARANTI\", specs: \"2024 \u2219 5 905 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 389000, priceInkl: 486250, tags: [{t:\"Garanti\",c:\"\"},{t:\"Volymsk\u00e5p\",c:\"\"},{t:\"Begagnad\",c:\"begagnad\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/21620210\/4d2753a2-b9a4-4697-88f6-855e7750b62d\", url: \"https:\/\/www.blocket.se\/mobility\/item\/21620210\", status: \"Leveransklar\" },\n    { id: \"22976978\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Chassi Flak\", desc: \"| Flak | 5 399:-\/m\u00e5n 2026 |\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 475000, priceInkl: 593750, tags: [{t:\"Flak\",c:\"\"},{t:\"ProLine\",c:\"premium\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/22976978\/c0155cff-8c20-4382-a9d3-8400a74c8f43\", url: \"https:\/\/www.blocket.se\/mobility\/item\/22976978\", status: \"Best\u00e4llningsbar\" },\n    { id: \"22822282\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Sk\u00e5p + Lyft\", desc: \"| Sk\u00e5p + lyft | 6 633:-\/m\u00e5n Facelift |\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"Facelift\",c:\"\"},{t:\"Sk\u00e5p + lyft\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/22822282\/3bd4903e-f929-48a5-9f64-f8b75c7dc8e9\", url: \"https:\/\/www.blocket.se\/mobility\/item\/22822282\", status: \"Leveransklar\" },\n    { id: \"22250003\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily FastLane\", desc: \"| Sk\u00e5p + lyft | FastLane | 5 506:-\/m\u00e5n | 18m3\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"FastLane\",c:\"premium\"},{t:\"Sk\u00e5p + lyft\",c:\"\"},{t:\"18m3\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/22250003\/ed0feffa-d5ef-43dd-89a5-b6f4d2c980ab\", url: \"https:\/\/www.blocket.se\/mobility\/item\/22250003\", status: \"Leveransklar\" },\n    { id: \"22616505\", brand: \"Iveco\", modelGroup: \"Iveco EsuperJolly\", model: \"Iveco EsuperJolly Sk\u00e5p\", desc: \"| Sk\u00e5p 13 m3 | Electric | 6 375:-\/m\u00e5n\", specs: \"2026 \u2219 El \u2219 Automatisk\", fuel: \"El\", gearbox: \"Automat\", priceExkl: 575000, priceInkl: 718750, tags: [{t:\"\u26a1 100% El\",c:\"eco\"},{t:\"13 m3\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/22616505\/d691b796-0fd0-4500-872e-6c207608372c\", url: \"https:\/\/www.blocket.se\/mobility\/item\/22616505\", status: \"Best\u00e4llningsbar\" },\n    { id: \"22536885\", brand: \"Isuzu\", modelGroup: \"Isuzu D-Max\", model: \"Isuzu D-max White Pearl\", desc: \"| XRX | Flak | White Pearl | 5 917:-\/m\u00e5n\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 590000, priceInkl: 737500, tags: [{t:\"XRX\",c:\"\"},{t:\"White Pearl\",c:\"premium\"},{t:\"Flak\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/22536885\/37c69e6f-a4d1-44be-a72c-795c3e13501a\", url: \"https:\/\/www.blocket.se\/mobility\/item\/22536885\", status: \"Kommande\" },\n    { id: \"22427072\", brand: \"Isuzu\", modelGroup: \"Isuzu D-Max\", model: \"Isuzu D-max Crew Cab\", desc: \"Crew Cab 1.9 CNG 4WD Euro 6\", specs: \"2026 \u2219 Fordonsgas (CNG) \u2219 Automatisk\", fuel: \"CNG\", gearbox: \"Automat\", priceExkl: 489900, priceInkl: 612375, tags: [{t:\"CNG\",c:\"eco\"},{t:\"4WD\",c:\"\"},{t:\"Crew Cab\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/22427072\/f82bc475-e628-4759-a098-266340490326\", url: \"https:\/\/www.blocket.se\/mobility\/item\/22427072\", status: \"Leveransklar\" },\n    { id: \"20976719\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Sk\u00e5p\", desc: \"| Sk\u00e5p + lyft | 6 633:-\/m\u00e5n Facelift |\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"Facelift\",c:\"\"},{t:\"Sk\u00e5p + lyft\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/20976719\/86222b4b-8730-445c-8be4-5e309248aaca\", url: \"https:\/\/www.blocket.se\/mobility\/item\/20976719\", status: \"Leveransklar\" },\n    { id: \"21863881\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Flyttbil\", desc: \"| Sk\u00e5p + lyft | 6 942:-\/m\u00e5n Flyttbil | 21m3\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 625000, priceInkl: 781250, tags: [{t:\"Flyttbil\",c:\"\"},{t:\"21m3\",c:\"\"},{t:\"Sk\u00e5p + lyft\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/21863881\/4841a42d-bca1-4ddb-b666-31d5d2de4554\", url: \"https:\/\/www.blocket.se\/mobility\/item\/21863881\", status: \"Referens\" },\n    { id: \"21620125\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Pl\u00e5tssk\u00e5p\", desc: \"| 12m3 Sk\u00e5p | 3 705:-\/m\u00e5n | 1\u00c5RS GARANTI\", specs: \"2024 \u2219 5 900 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 295000, priceInkl: 368750, tags: [{t:\"Garanti\",c:\"\"},{t:\"12m3\",c:\"\"},{t:\"Begagnad\",c:\"begagnad\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/21620125\/ecb3120a-9fdc-4044-9ed2-0602c37ac63b\", url: \"https:\/\/www.blocket.se\/mobility\/item\/21620125\", status: \"Leveransklar\" },\n    { id: \"20828397\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Van 12m3\", desc: \"| Van 12m3 | 5 933:-\/m\u00e5n Facelift |\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 459000, priceInkl: 573750, tags: [{t:\"Facelift\",c:\"\"},{t:\"Van 12m3\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/20828397\/da8e31d3-d945-405e-97ef-72e0b9ff7ab2\", url: \"https:\/\/www.blocket.se\/mobility\/item\/20828397\", status: \"Leveransklar\" },\n    { id: \"20173046\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily ProLine\", desc: \"| ProLine | 4 811:-\/m\u00e5n |\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 489000, priceInkl: 611250, tags: [{t:\"ProLine\",c:\"premium\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/20173046\/50f9ae3d-a307-4a6a-9d73-c5c380a47b7b\", url: \"https:\/\/www.blocket.se\/mobility\/item\/20173046\", status: \"Best\u00e4llningsbar\" },\n    { id: \"20579415\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily FastLane Van\", desc: \"| FastLane | 3 935:-\/m\u00e5n |\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 459000, priceInkl: 573750, tags: [{t:\"FastLane\",c:\"premium\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/20579415\/a90aca9f-5884-46cc-9eab-2e9e41a80321\", url: \"https:\/\/www.blocket.se\/mobility\/item\/20579415\", status: \"Leveransklar\" },\n    { id: \"21086309\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Facelift Flak\", desc: \"| Flak | 3 637 :-\/m\u00e5n Facelift |\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 415000, priceInkl: 518750, tags: [{t:\"Facelift\",c:\"\"},{t:\"Flak\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/21086309\/4c291841-826f-4b5f-8bce-6dac982bf260\", url: \"https:\/\/www.blocket.se\/mobility\/item\/21086309\", status: \"Best\u00e4llningsbar\" },\n    { id: \"20914493\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily 9m3 Sk\u00e5p\", desc: \"| sk\u00e5p 9m3 | 6 633:-\/m\u00e5n Facelift |\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 459000, priceInkl: 573750, tags: [{t:\"Facelift\",c:\"\"},{t:\"sk\u00e5p 9m3\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/20914493\/7438a232-9912-41ef-81fa-2686a382035a\", url: \"https:\/\/www.blocket.se\/mobility\/item\/20914493\", status: \"Leveransklar\" },\n    { id: \"13862387\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily 35S21H A8\", desc: \"35S21H A8 V, 210hk, 5 641kr\/m\u00e5n Gr\u00e5metallic lackerad\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 549000, priceInkl: 686250, tags: [{t:\"210hk\",c:\"premium\"},{t:\"Gr\u00e5metallic\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/13862387\/fba8b351-cf09-468d-9561-477de687bff0\", url: \"https:\/\/www.blocket.se\/mobility\/item\/13862387\", status: \"Kommande\" },\n    { id: \"20025572\", brand: \"Iveco\", modelGroup: \"Iveco Eurocargo\", model: \"Iveco Eurocargo Sk\u00e5p\", desc: \"Sk\u00e5p med lyft\", specs: \"2023 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: null, priceInkl: null, tags: [{t:\"Tung lastbil\",c:\"premium\"},{t:\"Sk\u00e5p med lyft\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/20025572\/dddf5f0e-9d6f-4775-8626-6dc1283ac8ad\", url: \"https:\/\/www.blocket.se\/mobility\/item\/20025572\", status: \"Best\u00e4llningsbar\" },\n    { id: \"18421709\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily ProLine Van\", desc: \"| Pro Line Van | 3 827:-\/m\u00e5n |\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 389000, priceInkl: 486250, tags: [{t:\"Pro Line Van\",c:\"premium\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18421709\/e5d863ad-d978-4992-95eb-d3ca8bff9118\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18421709\", status: \"Leveransklar\" },\n    { id: \"18420961\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily ProLine\", desc: \"| ProLine | 4 811:-\/m\u00e5n |\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 489000, priceInkl: 611250, tags: [{t:\"ProLine\",c:\"premium\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18420961\/a3937020-b05d-4a20-9bf2-f2f24a332de4\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18420961\", status: \"Leveransklar\" },\n    { id: \"14385814\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Mattsvart Edition\", desc: \"35S21H A8 V 210hk, 5 641kr\/m* Mattsvart lackerad\", specs: \"2026 \u2219 1 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"Mattsvart\",c:\"premium\"},{t:\"210hk\",c:\"premium\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14385814\/815ef4db-c601-42e6-ba75-1029c9bfd892\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14385814\", status: \"Kommande\" },\n    { id: \"14928952\", brand: \"Isuzu\", modelGroup: \"Isuzu D-Max\", model: \"Isuzu D-max XRX\", desc: \"XRX | l\u00e5g \u00e5rsskatt | 4.495:-\/m\u00e5n\", specs: \"2026 \u2219 1 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 489900, priceInkl: 612375, tags: [{t:\"XRX\",c:\"\"},{t:\"L\u00e5g \u00e5rsskatt\",c:\"eco\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14928952\/ead68e81-8b6c-4a60-bb4b-646be3f59238\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14928952\", status: \"Leveransklar\" },\n    { id: \"18421757\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Flyttbil\", desc: \"Flyttbil Leasing 6 486kr\/m\u00e5nad\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 639000, priceInkl: 798750, tags: [{t:\"Flyttbil\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18421757\/01a1cfd2-7afc-4692-a05a-7ee2bdd67f14\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18421757\", status: \"Leveransklar\" },\n    { id: \"13849502\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily 35S16H A8\", desc: \"35S16H A8 Leasing 6 329\/m\u00e5nad**\", specs: \"2026 \u2219 1 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 545000, priceInkl: 681250, tags: [{t:\"Leasing\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/13849502\/57fa343e-e86f-4745-b428-dfb873a703cb\", url: \"https:\/\/www.blocket.se\/mobility\/item\/13849502\", status: \"Leveransklar\" },\n    { id: \"18421746\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily ProLine Sk\u00e5p\", desc: \"| Sk\u00e5p + lyft | 4 373:-\/m\u00e5n | ProLine\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 489000, priceInkl: 611250, tags: [{t:\"ProLine\",c:\"premium\"},{t:\"Sk\u00e5p + lyft\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18421746\/7fa586d5-f8aa-4f41-8f22-1979b23f4d69\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18421746\", status: \"Kommande\" },\n    { id: \"18421405\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Kylbil\", desc: \"Kylbil | sk\u00e5p + lyft | 7.452:-\/m\u00e5n Facelift | OMG LEV\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 725000, priceInkl: 906250, tags: [{t:\"\u2744\ufe0f Kylbil\",c:\"\"},{t:\"Facelift\",c:\"\"},{t:\"Kampanj\",c:\"kampanj\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18421405\/fa8c858b-f3ed-44ea-b40e-947317f9fe18\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18421405\", status: \"Referens\" },\n    { id: \"18421383\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Pro Line\", desc: \"| Pro Line Van | 3 407:-\/m\u00e5n | Sommar kampanj\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 389000, priceInkl: 486250, tags: [{t:\"Pro Line Van\",c:\"premium\"},{t:\"Kampanj\",c:\"kampanj\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18421383\/fd60fb22-d974-4fb6-aa0a-8a19c4cb48ca\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18421383\", status: \"Leveransklar\" },\n    { id: \"18421385\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Sk\u00e5p + Lyft\", desc: \"| Sk\u00e5p + lyft | 6 633:-\/m\u00e5n Facelift | OMG LEV\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"Sk\u00e5p + lyft\",c:\"\"},{t:\"Facelift\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18421385\/f662753d-8fb3-41e2-9c9f-d101248e41c5\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18421385\", status: \"Leveransklar\" },\n    { id: \"18420909\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily 35S21H A8\", desc: \"35S21H A8 V, 210hk, 5 641kr\/m\u00e5n\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"210hk\",c:\"premium\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18420909\/48a8908d-8f44-40a7-9e96-2a90d66e6ca5\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18420909\", status: \"Leveransklar\" },\n    { id: \"18420754\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Biogas\", desc: \"Biogas (CNG)\", specs: \"2025 \u2219 Fordonsgas (CNG) \u2219 Automatisk\", fuel: \"CNG\", gearbox: \"Automat\", priceExkl: 619000, priceInkl: 773750, tags: [{t:\"CNG\",c:\"eco\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18420754\/6ebdb553-347d-4511-90b8-28570f84fed8\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18420754\", status: \"Kommande\" },\n    { id: \"18396765\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Milj\u00f6bil\", desc: \"Milj\u00f6bil 4,2ton p\u00e5 vanligt B-k\u00f6rkort!\", specs: \"2025 \u2219 Fordonsgas (CNG) \u2219 Automatisk\", fuel: \"CNG\", gearbox: \"Automat\", priceExkl: 849000, priceInkl: 1061250, tags: [{t:\"B-k\u00f6rkort\",c:\"eco\"},{t:\"CNG\",c:\"eco\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18396765\/08ea021c-362f-44eb-ba99-cd65b9a595c2\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18396765\", status: \"Kommande\" },\n    { id: \"18395992\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Sk\u00e5p\", desc: \"35S16HA8 Sk\u00e5p+lyft\/8-vxl aut\/HVO100\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"HVO100\",c:\"eco\"},{t:\"Sk\u00e5p+lyft\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18395992\/e7fdacb2-92a2-415d-9a8e-72695f2f800d\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18395992\", status: \"Leveransklar\" },\n    { id: \"18395817\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily 35S16HA8\", desc: \"omg. leverans! Leasing 6 633\/m\u00e5nad**\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"Leasing\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18395817\/377b0e21-c609-44f6-8fc9-262dd7123c8f\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18395817\", status: \"Leveransklar\" },\n    { id: \"18395717\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Kylbil Sk\u00e5p\", desc: \"Kylbil Volymsk\u00e5p med lyft\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 725000, priceInkl: 906250, tags: [{t:\"\u2744\ufe0f Kylbil\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18395717\/0581bcdb-bf9d-4041-b997-962ff9b6990c\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18395717\", status: \"Kommande\" },\n    { id: \"18395323\", brand: \"Iveco\", modelGroup: \"Iveco Electric Daily\", model: \"Iveco Electric Daily\", desc: \"Electric Daily 35S14E\", specs: \"2026 \u2219 El \u2219 Automatisk\", fuel: \"El\", gearbox: \"Automat\", priceExkl: 899000, priceInkl: 1123750, tags: [{t:\"\u26a1 El\",c:\"eco\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18395323\/b7d87ab1-be89-4107-b4e4-da35b48a9980\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18395323\", status: \"Best\u00e4llningsbar\" },\n    { id: \"18200706\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily 35S14V A8\", desc: \"35S14V A8, 12m3, L3H2, 3351kr\/m\u00e5nad*\", specs: \"2024 \u2219 5 000 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 329000, priceInkl: 411250, tags: [{t:\"12m3\",c:\"\"},{t:\"Begagnad\",c:\"begagnad\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/18200706\/71f21fd6-e4b2-4ab3-be0b-d86b7dcf4c9f\", url: \"https:\/\/www.blocket.se\/mobility\/item\/18200706\", status: \"Leveransklar\" },\n    { id: \"14051787\", brand: \"Isuzu\", modelGroup: \"Isuzu D-Max\", model: \"Isuzu D-max XRX Pearl\", desc: \"XRX | l\u00e5g \u00e5rsskatt | 4.495:-\/m\u00e5n Facelift\", specs: \"2025 \u2219 Fordonsgas (CNG) \u2219 Automatisk\", fuel: \"CNG\", gearbox: \"Automat\", priceExkl: 629000, priceInkl: 786250, tags: [{t:\"CNG\",c:\"eco\"},{t:\"Facelift\",c:\"\"},{t:\"XRX\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14051787\/e5d848b2-6533-4b0b-ac49-2686cc643d95\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14051787\", status: \"Leveransklar\" },\n    { id: \"15702530\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily FastLane\", desc: \"| FastLane | 4 811:-\/m\u00e5n |\", specs: \"2025 \u2219 999 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 559000, priceInkl: 698750, tags: [{t:\"FastLane\",c:\"premium\"},{t:\"Begagnad\",c:\"begagnad\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/15702530\/84675134-1ac1-45b4-aa7f-bb766ba8bd4b\", url: \"https:\/\/www.blocket.se\/mobility\/item\/15702530\", status: \"Leveransklar\" },\n    { id: \"15682384\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily 38S14NA8\", desc: \"38S14NA8 Biogas Milj\u00f6bil, skatt 1537kr\/\u00e5r\", specs: \"2025 \u2219 Fordonsgas (CNG) \u2219 Automatisk\", fuel: \"CNG\", gearbox: \"Automat\", priceExkl: 799000, priceInkl: 998750, tags: [{t:\"CNG\",c:\"eco\"},{t:\"Milj\u00f6bil\",c:\"eco\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/15682384\/32d00026-6d43-4815-82d7-6e5c27e02f20\", url: \"https:\/\/www.blocket.se\/mobility\/item\/15682384\", status: \"Best\u00e4llningsbar\" },\n    { id: \"15506445\", brand: \"Isuzu\", modelGroup: \"Isuzu D-Max\", model: \"Isuzu D-max Crew Cab\", desc: \"Crew Cab 1.9 4WD Leasing* 5 919 kr\/m\u00e5n*\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 489900, priceInkl: 612375, tags: [{t:\"4WD\",c:\"\"},{t:\"Crew Cab\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/15506445\/379b42c9-f11e-4bb3-a827-606e953ac33e\", url: \"https:\/\/www.blocket.se\/mobility\/item\/15506445\", status: \"Leveransklar\" },\n    { id: \"15456014\", brand: \"Iveco\", modelGroup: \"Iveco 70C18H\", model: \"Iveco 70C18H Kranbil\", desc: \"Kran & Flak med tipp\", specs: \"2026 \u2219 Diesel \u2219 Manuell\", fuel: \"Diesel\", gearbox: \"Manuell\", priceExkl: null, priceInkl: null, tags: [{t:\"Kran & Flak\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/15456014\/3537530f-75ae-4934-90a6-3c0caa19533b\", url: \"https:\/\/www.blocket.se\/mobility\/item\/15456014\", status: \"Best\u00e4llningsbar\" },\n    { id: \"15323398\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Dubbelhytt\", desc: \"Dubbelhytt 6 056\/m\u00e5nad*\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 549000, priceInkl: 686250, tags: [{t:\"Dubbelhytt\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/15323398\/db430e1a-914a-4e19-9df6-0435c0e53a51\", url: \"https:\/\/www.blocket.se\/mobility\/item\/15323398\", status: \"Kommande\" },\n    { id: \"15041846\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily CNG Biogas\", desc: \"Biogas Gas (CNG)\", specs: \"2025 \u2219 Fordonsgas (CNG) \u2219 Automatisk\", fuel: \"CNG\", gearbox: \"Automat\", priceExkl: 649000, priceInkl: 811250, tags: [{t:\"CNG\",c:\"eco\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/15041846\/3a6364ae-3028-4d31-a7c7-b99b190936cb\", url: \"https:\/\/www.blocket.se\/mobility\/item\/15041846\", status: \"Best\u00e4llningsbar\" },\n    { id: \"14746280\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Volymsk\u00e5p\", desc: \"Daily Volymsk\u00e5p med Zepro lyft\", specs: \"2020 \u2219 6 100 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 309000, priceInkl: 386250, tags: [{t:\"Volymsk\u00e5p\",c:\"\"},{t:\"Zepro lyft\",c:\"\"},{t:\"Begagnad\",c:\"begagnad\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14746280\/d01dc1f5-99c4-4c39-a306-4974ef918509\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14746280\", status: \"Leveransklar\" },\n    { id: \"14716121\", brand: \"Isuzu\", modelGroup: \"Isuzu D-Max\", model: \"Isuzu D-max CNG Facelift\", desc: \"XRX | l\u00e5g \u00e5rsskatt | 4.495:-\/m\u00e5n Facelift\", specs: \"2025 \u2219 Fordonsgas (CNG) \u2219 Automatisk\", fuel: \"CNG\", gearbox: \"Automat\", priceExkl: null, priceInkl: 4495, tags: [{t:\"CNG\",c:\"eco\"},{t:\"Facelift\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14716121\/55f195f7-9862-4dfb-abf1-7ae634351267\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14716121\", status: \"Leveransklar\" },\n    { id: \"14435880\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Van\", desc: \"12m3 sk\u00e5p van 5 984\/m\u00e5n** Leasing\", specs: \"2025 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 459000, priceInkl: 573750, tags: [{t:\"12m3\",c:\"\"},{t:\"Leasing\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14435880\/3af83849-93d8-4445-bb36-5796f98aeb54\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14435880\", status: \"Leveransklar\" },\n    { id: \"14226210\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Heavy\", desc: \"7,2Ton Kylbil\", specs: \"2024 \u2219 15 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 950000, priceInkl: 1187500, tags: [{t:\"\u2744\ufe0f Kylbil\",c:\"\"},{t:\"7,2Ton\",c:\"premium\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14226210\/436c83d2-1c0f-46d9-b37c-b69602bccf55\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14226210\", status: \"Leveransklar\" },\n    { id: \"14044300\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Flak\", desc: \"Flak Leasing 5 101kr\/m\u00e5nad*\", specs: \"2026 \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 545000, priceInkl: 681250, tags: [{t:\"Flak\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14044300\/f63a3918-0087-433d-9cd5-8acb80cb0f59\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14044300\", status: \"Leveransklar\" },\n    { id: \"13988983\", brand: \"Iveco\", modelGroup: \"Iveco Daily\", model: \"Iveco Daily Sk\u00e5pbil\", desc: \"Daily 35-120 Sk\u00e5pbil 2.3 JTD Hi-Matic 116hk\", specs: \"2019 \u2219 8 374 mil \u2219 Diesel \u2219 Automatisk\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 249000, priceInkl: 311250, tags: [{t:\"Hi-Matic\",c:\"\"},{t:\"Begagnad\",c:\"begagnad\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/13988983\/bceb0ad2-1e0c-49dd-b7b5-f31c9f96c477\", url: \"https:\/\/www.blocket.se\/mobility\/item\/13988983\", status: \"Leveransklar\" },\n    { id: \"13961790\", brand: \"Iveco\", modelGroup: \"Iveco 70C18H\", model: \"Iveco 70C18H Flak\/Kran\", desc: \"Daily Flak och Kran\", specs: \"2026 \u2219 Diesel \u2219 Manuell\", fuel: \"Diesel\", gearbox: \"Manuell\", priceExkl: null, priceInkl: null, tags: [{t:\"Flak och Kran\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/13961790\/84e1d890-3eb5-4a0d-b974-9804dde2ab74\", url: \"https:\/\/www.blocket.se\/mobility\/item\/13961790\", status: \"Best\u00e4llningsbar\" },\n    { id: \"18421406\", brand: \"Isuzu\", modelGroup: \"Isuzu D-Max\", model: \"Isuzu D-max XRX Double Cab\", desc: \"XRX Double Cab | Kraftfull 1.9 Diesel med premium k\u00e5pa | 5 295:-\/m\u00e5n\", specs: \"Diesel \u2219 Automatisk \u2219 Crew Cab\", fuel: \"Diesel\", gearbox: \"Automat\", priceExkl: 439900, priceInkl: 549875, tags: [{t:\"Kampanj\",c:\"campaign\"},{t:\"XRX\",c:\"\"},{t:\"Double Cab\",c:\"\"}], img: \"https:\/\/images.blocketcdn.se\/dynamic\/480w\/item\/14928952\/ead68e81-8b6c-4a60-bb4b-646be3f59238\", url: \"https:\/\/www.blocket.se\/mobility\/item\/14928952\", status: \"Leveransklar\" }\n  ];\n\n  \/\/ STATE\n  let colsSetting = 2;\n  let filterTimeout = null;\n  let currentFuel = \"\";\n  let currentCategory = \"\";\n  let favorites = JSON.parse(localStorage.getItem('ks_favorites') || '[]');\n  let compareList = JSON.parse(sessionStorage.getItem('ks_compare') || '[]');\n\n  window.onload = function() {\n    populateModelFilter(\"\");\n    readURLParams();\n    filterCars();\n    updateCompareBar();\n    updateFavCount();\n    setupKeyboardShortcuts();\n    renderCampaignSlider();\n  };\n\n  \/\/ TOAST NOTIFIKATIONER\n  function showToast(message, type = 'success') {\n    const container = document.getElementById('toastContainer');\n    if (!container) return;\n    const toast = document.createElement('div');\n    toast.className = `px-4 py-3 rounded-2xl shadow-xl text-white font-bold text-sm flex items-center gap-2 pointer-events-auto transform translate-y-10 opacity-0 transition-all duration-300 ${\n      type === 'error' ? 'bg-ks-red' : 'bg-ks-blue'\n    }`;\n    \n    let icon = type === 'error' ? 'bi-exclamation-circle-fill' : 'bi-check-circle-fill';\n    toast.innerHTML = `<i class=\"bi ${icon}\"><\/i> <span>${message}<\/span>`;\n    container.appendChild(toast);\n    \n    setTimeout(() => {\n      toast.classList.remove('translate-y-10', 'opacity-0');\n    }, 10);\n    \n    setTimeout(() => {\n      toast.classList.add('translate-y-10', 'opacity-0');\n      setTimeout(() => {\n        toast.remove();\n      }, 300);\n    }, 3000);\n  }\n\n  function setupKeyboardShortcuts() {\n    document.addEventListener('keydown', e => {\n      if (e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA') return;\n      if (e.key === '\/') {\n        e.preventDefault();\n        document.getElementById('searchInput').focus();\n      } else if (e.key === 'Escape') {\n        if (!document.getElementById('compareModal').classList.contains('hidden')) closeCompareModal();\n        else if (!document.getElementById('favModal').classList.contains('hidden')) closeFavModal();\n        else resetFilters();\n      }\n    });\n  }\n\n  function readURLParams() {\n    const params = new URLSearchParams(window.location.search);\n    if (params.get('search')) document.getElementById('searchInput').value = params.get('search');\n    if (params.get('brand')) {\n      document.getElementById('brandFilter').value = params.get('brand');\n      populateModelFilter(params.get('brand'));\n    }\n    if (params.get('model')) document.getElementById('modelFilter').value = params.get('model');\n    if (params.get('fuel')) setFuel(params.get('fuel'));\n    if (params.get('cat')) setCategory(params.get('cat'));\n    if (params.get('sort')) document.getElementById('sortFilter').value = params.get('sort');\n  }\n\n  function updateURL() {\n    try {\n      const params = new URLSearchParams();\n      const search = document.getElementById('searchInput').value;\n      const brand = document.getElementById('brandFilter').value;\n      const model = document.getElementById('modelFilter').value;\n      const sort = document.getElementById('sortFilter').value;\n      if (search) params.set('search', search);\n      if (brand) params.set('brand', brand);\n      if (model) params.set('model', model);\n      if (currentFuel) params.set('fuel', currentFuel);\n      if (currentCategory) params.set('cat', currentCategory);\n      if (sort && sort !== 'default') params.set('sort', sort);\n      const newUrl = params.toString() ? `?${params.toString()}` : window.location.pathname;\n      window.history.replaceState({}, '', newUrl);\n    } catch (e) {\n      console.warn(\"History API blockerad i den h\u00e4r milj\u00f6n:\", e);\n    }\n  }\n\n  function debounceFilter() {\n    clearTimeout(filterTimeout);\n    filterTimeout = setTimeout(() => { filterCars(); }, 120);\n  }\n\n  function setQuickSearch(query) {\n    document.getElementById('searchInput').value = query;\n    filterCars();\n  }\n\n  function setFuel(fuel) {\n    currentFuel = fuel;\n    document.querySelectorAll('.ks-fuel-btn').forEach(btn => {\n      const isActive = btn.getAttribute('data-fuel-btn') === fuel;\n      btn.className = `ks-fuel-btn px-4 py-2 rounded-full text-xs font-bold transition ${isActive ? 'bg-ks-blue text-white' : 'bg-slate-100 text-ks-blue hover:bg-slate-200'}`;\n    });\n    filterCars();\n  }\n\n  function setCategory(cat) {\n    currentCategory = cat;\n    document.querySelectorAll('.ks-cat-chip').forEach(btn => {\n      const isActive = btn.getAttribute('data-cat') === cat;\n      btn.className = `ks-cat-chip px-4 py-2 rounded-full text-xs font-bold transition ${isActive ? 'bg-ks-blue text-white' : 'bg-slate-100 text-ks-blue hover:bg-slate-200'}`;\n    });\n    filterCars();\n  }\n\n  function resetFilters() {\n    document.getElementById('searchInput').value = '';\n    document.getElementById('brandFilter').value = '';\n    document.getElementById('modelFilter').value = '';\n    document.getElementById('sortFilter').value = 'default';\n    setFuel('');\n    setCategory('');\n    populateModelFilter('');\n    filterCars();\n  }\n\n  function onBrandChange() {\n    const brand = document.getElementById('brandFilter').value;\n    populateModelFilter(brand);\n    document.getElementById('modelFilter').value = '';\n    filterCars();\n  }\n\n  function populateModelFilter(brand) {\n    const select = document.getElementById('modelFilter');\n    const filtered = brand ? carsData.filter(c => c.brand === brand) : carsData;\n    const models = [...new Set(filtered.map(c => c.modelGroup))].sort((a,b) => a.localeCompare(b, 'sv'));\n    select.innerHTML = '<option value=\"\">Alla modeller<\/option>' +\n      models.map(m => `<option value=\"${m}\">${m} (${filtered.filter(c => c.modelGroup === m).length})<\/option>`).join('');\n  }\n\n  function matchesCategory(car, cat) {\n    if (!cat) return true;\n    if (cat === 'kampanj') return car.tags.some(t => t.c === 'campaign' || t.c === 'kampanj');\n    if (cat === 'eco') return car.tags.some(t => t.c === 'eco') || car.fuel === 'CNG' || car.fuel === 'El';\n    if (cat === 'premium') return car.tags.some(t => t.c === 'premium');\n    if (cat === 'kylbil') return car.tags.some(t => \/kylbil|thermo|frys\/i.test(t.t)) || \/kylbil\/i.test(car.model) || \/kylbil\/i.test(car.desc);\n    if (cat === 'kran') return car.tags.some(t => \/kran|flak|tippa?\/i.test(t.t)) || \/flak|kran\/i.test(car.model) || \/flak|kran\/i.test(car.desc);\n    if (cat === 'begagnad') return car.tags.some(t => \/begagnad\/i.test(t.t)) || \/mil\/.test(car.specs);\n    return true;\n  }\n\n  function filterCars() {\n    const searchText = document.getElementById('searchInput').value.toLowerCase();\n    const brand = document.getElementById('brandFilter').value;\n    const model = document.getElementById('modelFilter').value;\n    const sort = document.getElementById('sortFilter').value;\n\n    let filtered = carsData.filter(car => {\n      const tagString = car.tags.map(t => t.t).join(' ').toLowerCase();\n      const matchesSearch = car.model.toLowerCase().includes(searchText) ||\n                            car.desc.toLowerCase().includes(searchText) ||\n                            car.specs.toLowerCase().includes(searchText) ||\n                            car.id.includes(searchText) ||\n                            tagString.includes(searchText);\n      const matchesBrand = brand === \"\" || car.brand === brand;\n      const matchesModel = model === \"\" || car.modelGroup === model;\n      const matchesFuel = currentFuel === \"\" || car.fuel === currentFuel;\n      const matchesCat = matchesCategory(car, currentCategory);\n      return matchesSearch && matchesBrand && matchesModel && matchesFuel && matchesCat;\n    });\n\n    if (sort === 'price-asc') filtered.sort((a,b) => (a.priceExkl || 9999999) - (b.priceExkl || 9999999));\n    else if (sort === 'price-desc') filtered.sort((a,b) => (b.priceExkl || 0) - (a.priceExkl || 0));\n    else if (sort === 'model-asc') filtered.sort((a,b) => a.model.localeCompare(b.model, 'sv'));\n    else if (sort === 'model-desc') filtered.sort((a,b) => b.model.localeCompare(a.model, 'sv'));\n    else {\n      filtered.sort((a,b) => {\n        const aK = a.tags.some(t => t.c === 'campaign' || t.c === 'kampanj') ? 1 : 0;\n        const bK = b.tags.some(t => t.c === 'campaign' || t.c === 'kampanj') ? 1 : 0;\n        return bK - aK;\n      });\n    }\n\n    renderActiveBadges(searchText, brand, model, currentFuel, currentCategory);\n    updateInterface(filtered);\n    updateStatistics(filtered);\n    updateGoogleSchema(filtered);\n    updateURL();\n  }\n\n  \/\/ S\u00e4kra null-kontroller implementerade f\u00f6r att f\u00f6rhindra krascher i updateStatistics\n  function updateStatistics(filtered) {\n    const statsTotal = document.getElementById('statsTotal');\n    const statsShowing = document.getElementById('statsShowing');\n    const statsKampanj = document.getElementById('statsKampanj');\n    const statsEco = document.getElementById('statsEco');\n\n    if (statsTotal) statsTotal.innerText = carsData.length;\n    if (statsShowing) statsShowing.innerText = filtered.length;\n    if (statsKampanj) statsKampanj.innerText = carsData.filter(c => c.tags.some(t => t.c === 'campaign' || t.c === 'kampanj')).length;\n    if (statsEco) statsEco.innerText = carsData.filter(c => c.tags.some(t => t.c === 'eco') || c.fuel === 'CNG' || c.fuel === 'El').length;\n  }\n\n  function updateGoogleSchema(cars) {\n    const schemaElement = document.getElementById('ks-schema-json');\n    if (!schemaElement) return;\n    const schemaData = {\n      \"@context\": \"https:\/\/schema.org\", \"@type\": \"ItemList\", \"numberOfItems\": cars.length,\n      \"itemListElement\": cars.slice(0, 10).map((car, i) => ({\n        \"@type\": \"ListItem\", \"position\": i + 1,\n        \"item\": {\n          \"@type\": \"Vehicle\", \"name\": car.model, \"image\": car.img, \"description\": car.desc,\n          \"brand\": { \"@type\": \"Brand\", \"name\": car.brand },\n          \"fuelType\": car.fuel, \"vehicleTransmission\": car.gearbox,\n          \"offers\": car.priceExkl ? {\n            \"@type\": \"Offer\", \"priceCurrency\": \"SEK\", \"price\": car.priceExkl,\n            \"url\": car.url, \"availability\": \"https:\/\/schema.org\/InStock\"\n          } : undefined\n        }\n      }))\n    };\n    schemaElement.textContent = JSON.stringify(schemaData);\n  }\n\n  function renderActiveBadges(search, brand, model, fuel, cat) {\n    const container = document.getElementById('activeFilters');\n    if (!container) return;\n    container.innerHTML = '<span class=\"text-xs font-bold text-ks-muted uppercase mr-2\">Aktiva filter:<\/span>';\n    let hasFilters = false;\n    const makeBadge = (label, value, type) =>\n      `<span class=\"inline-flex items-center gap-1.5 px-3 py-1 bg-gray-100 text-ks-blue text-xs font-bold rounded-full\">${label}: \"${value}\" <button onclick=\"clearSpecificFilter('${type}')\" aria-label=\"Ta bort filter\" class=\"text-base text-ks-red hover:scale-110 transition font-black\">\u00d7<\/button><\/span>`;\n\n    if (search)  { container.innerHTML += makeBadge('S\u00f6k', search, 'search'); hasFilters = true; }\n    if (brand)   { container.innerHTML += makeBadge('M\u00e4rke', brand, 'brand'); hasFilters = true; }\n    if (model)   { container.innerHTML += makeBadge('Modell', model, 'model'); hasFilters = true; }\n    if (fuel)    { container.innerHTML += makeBadge('Br\u00e4nsle', fuel, 'fuel'); hasFilters = true; }\n    if (cat)     { container.innerHTML += makeBadge('Kategori', cat, 'cat'); hasFilters = true; }\n\n    if (hasFilters) {\n      container.innerHTML += `<button onclick=\"resetFilters()\" class=\"ml-auto text-xs font-bold text-ks-red hover:underline\">Rensa alla \u00d7<\/button>`;\n      container.classList.remove('hidden'); container.classList.add('flex');\n    } else {\n      container.classList.add('hidden'); container.classList.remove('flex');\n    }\n  }\n\n  function toggleFilters() {\n    const content = document.getElementById('filterContent');\n    const icon = document.getElementById('filterToggleIcon');\n    if (content) content.classList.toggle('hidden');\n    if (icon) icon.classList.toggle('rotate-180');\n  }\n\n  function setColumns(cols) {\n    colsSetting = cols;\n    const btn2 = document.getElementById('btnCols2');\n    const btn3 = document.getElementById('btnCols3');\n    const grid = document.getElementById('gridView');\n    if (cols === 2) {\n      if (btn2) btn2.className = \"py-2.5 px-4 rounded-lg text-sm font-bold flex items-center justify-center gap-1.5 bg-white text-ks-blue shadow-sm transition\";\n      if (btn3) btn3.className = \"py-2.5 px-4 rounded-lg text-sm font-medium flex items-center justify-center gap-1.5 text-ks-muted hover:text-ks-blue transition\";\n      if (grid) grid.className = \"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-2 gap-8\";\n    } else {\n      if (btn3) btn3.className = \"py-2.5 px-4 rounded-lg text-sm font-bold flex items-center justify-center gap-1.5 bg-white text-ks-blue shadow-sm transition\";\n      if (btn2) btn2.className = \"py-2.5 px-4 rounded-lg text-sm font-medium flex items-center justify-center gap-1.5 text-ks-muted hover:text-ks-blue transition\";\n      if (grid) grid.className = \"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6\";\n    }\n    filterCars();\n  }\n\n  function updateInterface(filtered) {\n    const noResults = document.getElementById('noResults');\n    const mainContainer = document.getElementById('mainContentContainer');\n    if (filtered.length === 0) {\n      if (noResults) noResults.classList.remove('hidden');\n      if (mainContainer) mainContainer.classList.add('hidden');\n    } else {\n      if (noResults) noResults.classList.add('hidden');\n      if (mainContainer) mainContainer.classList.remove('hidden');\n      renderGrid(filtered);\n    }\n  }\n\n  function extractMonthlyCost(descText) {\n    const costRegex = \/(\\d[\\d\\s\\.]*)\\s*(?::-\\s*\\\/|kr\\s*\\\/|\\\/)\\s*(?:m\u00e5n|m\u00e5nad)\/i;\n    const match = descText.match(costRegex);\n    if (match) {\n      let amount = match[1].replace(\/[\\.\\-\\*]\/g, '').trim();\n      return parseInt(amount.replace(\/\\s\/g, ''), 10).toLocaleString('sv-SE') + \" kr\";\n    }\n    return null;\n  }\n\n  function getCleanDesc(descText) {\n    let c = descText;\n    c = c.replace(\/(\\d[\\d\\s\\.]*)\\s*(?::-\\s*\\\/|kr\\s*\\\/|\\\/)\\s*(?:m\u00e5n|m\u00e5nad)\\*?\/gi, '');\n    c = c.replace(\/\\b\\d+\\s*m3\\b\/gi, '');\n    c = c.replace(\/\\b3\\s*\u00c5RS?\\s*FRI\\s*SERVICE\\b\/gi, '');\n    c = c.replace(\/\\b1\\s*\u00c5RS?\\s*GARANTI\\b\/gi, '');\n    c = c.replace(\/\\bfri\\s*service\\b\/gi, '');\n    c = c.replace(\/\\bgaranti\\b\/gi, '');\n    c = c.replace(\/\\bomg\\.?\\s*lev(\\.?|erans)?\\b\/gi, '');\n    c = c.replace(\/\\bsnabb\\s*leverans\\b\/gi, '');\n    c = c.replace(\/\u00b7\\s*\u00b7\/g, '\u00b7');\n    c = c.replace(\/^\\s*\u00b7\\s*|\\s*\u00b7\\s*$\/g, '');\n    c = c.replace(\/\\s+\/g, ' ');\n    return c.trim() || \"Standardutf\u00f6rande\";\n  }\n\n  function renderTag(tag) {\n    const label = tag.t;\n    const category = tag.c;\n\n    if (['Omg\u00e5ende lev.', 'Snabb lev.'].includes(label)) {\n      return '';\n    }\n\n    const colorMap = {\n      'campaign': 'bg-ks-red text-white tag-campaign',\n      'kampanj': 'bg-ks-red text-white tag-campaign',\n      'eco':      'bg-green-600 text-white',\n      'premium':  'bg-gradient-to-r from-amber-500 to-orange-600 text-white',\n      '':         'bg-white\/95 backdrop-blur-md text-ks-blue border border-white\/20 shadow-sm'\n    };\n    const cls = colorMap[category || ''] || colorMap[''];\n    return `<span class=\"${cls} px-2 py-0.5 rounded-full text-[10px] font-black whitespace-nowrap\">${label}<\/span>`;\n  }\n\n  \/\/ ============ FAVORITER ============\n  function toggleFavorite(id, btn) {\n    const idx = favorites.indexOf(id);\n    if (idx >= 0) {\n      favorites.splice(idx, 1);\n      btn.querySelector('i').className = 'bi bi-heart text-ks-red';\n      showToast('Fordonet borttaget fr\u00e5n favoriter.', 'success');\n    } else {\n      favorites.push(id);\n      btn.querySelector('i').className = 'bi bi-heart-fill heart-active text-ks-red';\n      showToast('Fordonet sparat i dina favoriter!', 'success');\n    }\n    localStorage.setItem('ks_favorites', JSON.stringify(favorites));\n    updateFavCount();\n  }\n\n  \/\/ S\u00e4kra null-kontroller implementerade f\u00f6r updateFavCount\n  function updateFavCount() {\n    const statsFav = document.getElementById('statsFav');\n    if (statsFav) statsFav.innerText = favorites.length;\n  }\n\n  function showFavorites() {\n    const modal = document.getElementById('favModal');\n    const content = document.getElementById('favContent');\n    if (!content) return;\n    if (favorites.length === 0) {\n      content.innerHTML = `<div class=\"text-center py-12 text-ks-muted\">\n        <i class=\"bi bi-heart text-5xl block mb-4 text-slate-300\"><\/i>\n        <p class=\"font-bold mb-2\">Inga favoriter sparade \u00e4n<\/p>\n        <p class=\"text-sm\">Klicka p\u00e5 hj\u00e4rtat p\u00e5 en bil f\u00f6r att spara den.<\/p>\n      <\/div>`;\n    } else {\n      const favCars = favorites.map(id => carsData.find(c => c.id === id)).filter(Boolean);\n      content.innerHTML = `<div class=\"grid grid-cols-1 sm:grid-cols-2 gap-4\">` +\n        favCars.map(car => `\n          <div class=\"flex gap-3 p-3 border border-slate-100 rounded-2xl bg-white shadow-sm hover:border-ks-blue transition\">\n            <img decoding=\"async\" src=\"${car.img}\" alt=\"${car.model}\" referrerpolicy=\"no-referrer\" class=\"w-20 h-20 object-cover rounded-xl flex-shrink-0\">\n            <div class=\"flex flex-col min-w-0 flex-1\">\n              <h4 class=\"font-black text-ks-blue text-sm truncate\">${car.model}<\/h4>\n              <p class=\"text-xs text-ks-muted mt-0.5\">${car.fuel} \u00b7 ${car.gearbox}<\/p>\n              <p class=\"text-base font-black text-ks-blue mt-auto\">${car.priceExkl ? car.priceExkl.toLocaleString('sv-SE') + ' kr' : 'P\u00e5 f\u00f6rfr\u00e5gan'}<\/p>\n            <\/div>\n            <button onclick=\"removeFavInModal('${car.id}')\" class=\"w-8 h-8 rounded-full bg-red-50 hover:bg-red-100 text-ks-red flex-shrink-0 transition self-start flex items-center justify-center\" aria-label=\"Ta bort\">\n              <i class=\"bi bi-trash\"><\/i>\n            <\/button>\n          <\/div>\n        `).join('') + `<\/div>`;\n    }\n    if (modal) modal.classList.remove('hidden');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function removeFavInModal(id) {\n    const idx = favorites.indexOf(id);\n    if (idx >= 0) { favorites.splice(idx, 1); localStorage.setItem('ks_favorites', JSON.stringify(favorites)); }\n    updateFavCount();\n    showFavorites();\n    filterCars();\n    showToast('Fordonet borttaget.', 'success');\n  }\n\n  function closeFavModal() {\n    const modal = document.getElementById('favModal');\n    if (modal) modal.classList.add('hidden');\n    document.body.style.overflow = '';\n  }\n\n  \/\/ ============ J\u00c4MF\u00d6R ============\n  function toggleCompare(id, btn) {\n    const idx = compareList.indexOf(id);\n    if (idx >= 0) {\n      compareList.splice(idx, 1);\n      btn.classList.remove('bg-ks-blue', 'text-white');\n      btn.classList.add('bg-slate-50', 'text-ks-blue');\n      showToast('Fordonet borttaget fr\u00e5n j\u00e4mf\u00f6relse.', 'success');\n    } else {\n      if (compareList.length >= 3) {\n        showToast('Du kan j\u00e4mf\u00f6ra max 3 bilar samtidigt.', 'error');\n        return;\n      }\n      compareList.push(id);\n      btn.classList.remove('bg-slate-50', 'text-ks-blue');\n      btn.classList.add('bg-ks-blue', 'text-white');\n      showToast('Fordonet tillagt f\u00f6r j\u00e4mf\u00f6relse!', 'success');\n    }\n    sessionStorage.setItem('ks_compare', JSON.stringify(compareList));\n    updateCompareBar();\n  }\n\n  function updateCompareBar() {\n    const bar = document.getElementById('compareBar');\n    const list = document.getElementById('compareList');\n    const count = document.getElementById('compareCount');\n    const btn = document.getElementById('compareBtn');\n    if (!bar || !list || !count || !btn) return;\n    count.innerText = compareList.length;\n    btn.disabled = compareList.length < 2;\n    btn.classList.toggle('opacity-50', compareList.length < 2);\n    if (compareList.length > 0) {\n      bar.classList.add('is-visible');\n      list.innerHTML = compareList.map(id => {\n        const car = carsData.find(c => c.id === id);\n        return car ? `<span class=\"bg-white\/15 px-3 py-1 rounded-full text-xs font-bold whitespace-nowrap flex items-center gap-1.5\">\n          ${car.model}\n          <button onclick=\"removeFromCompare('${car.id}')\" class=\"hover:text-ks-red transition\" aria-label=\"Ta bort\">\u00d7<\/button>\n        <\/span>` : '';\n      }).join('');\n    } else {\n      bar.classList.remove('is-visible');\n    }\n  }\n\n  function removeFromCompare(id) {\n    const idx = compareList.indexOf(id);\n    if (idx >= 0) compareList.splice(idx, 1);\n    sessionStorage.setItem('ks_compare', JSON.stringify(compareList));\n    updateCompareBar();\n    filterCars();\n    showToast('Fordonet borttaget.', 'success');\n  }\n\n  function clearCompare() {\n    compareList = [];\n    sessionStorage.setItem('ks_compare', '[]');\n    updateCompareBar();\n    filterCars();\n    showToast('J\u00e4mf\u00f6relselistan rensad.', 'success');\n  }\n\n  function showCompareModal() {\n    if (compareList.length < 2) return;\n    const cars = compareList.map(id => carsData.find(c => c.id === id)).filter(Boolean);\n    const rows = [\n      { label: 'Pris (exkl. moms)', get: c => c.priceExkl ? c.priceExkl.toLocaleString('sv-SE') + ' kr' : 'P\u00e5 f\u00f6rfr\u00e5gan' },\n      { label: 'Pris (inkl. moms)', get: c => c.priceInkl ? c.priceInkl.toLocaleString('sv-SE') + ' kr' : '\u2014' },\n      { label: 'Br\u00e4nsle', get: c => c.fuel === 'CNG' ? 'Fordonsgas (CNG)' : c.fuel },\n      { label: 'V\u00e4xell\u00e5da', get: c => c.gearbox },\n      { label: 'Specifikation', get: c => c.specs },\n      { label: 'M\u00e5nadskostnad', get: c => extractMonthlyCost(c.desc) ? extractMonthlyCost(c.desc) + '\/m\u00e5n' : '\u2014' },\n      { label: 'Beskrivning', get: c => getCleanDesc(c.desc) }\n    ];\n\n    const content = document.getElementById('compareContent');\n    const modal = document.getElementById('compareModal');\n    if (!content || !modal) return;\n\n    content.innerHTML = `\n      <table class=\"w-full border-collapse\" style=\"min-width:${cars.length * 250}px\">\n        <thead>\n          <tr>\n            <th class=\"text-left p-3 text-xs font-bold text-ks-muted uppercase\">Egenskap<\/th>\n            ${cars.map(c => `\n              <th class=\"p-3 text-left border-l border-slate-100\">\n                <img decoding=\"async\" src=\"${c.img}\" alt=\"${c.model}\" referrerpolicy=\"no-referrer\" class=\"w-full h-32 object-cover rounded-xl mb-2\">\n                <h4 class=\"text-base font-black text-ks-blue\">${c.model}<\/h4>\n                <p class=\"text-xs text-ks-muted\">${c.brand}<\/p>\n              <\/th>\n            `).join('')}\n          <\/tr>\n        <\/thead>\n        <tbody>\n          ${rows.map(r => `\n            <tr class=\"border-t border-slate-100\">\n              <td class=\"p-3 text-xs font-bold text-ks-muted uppercase\">${r.label}<\/td>\n              ${cars.map(c => `<td class=\"p-3 border-l border-slate-100 text-sm text-ks-ink\">${r.get(c)}<\/td>`).join('')}\n            <\/tr>\n          `).join('')}\n          <tr class=\"border-t border-slate-100\">\n            <td class=\"p-3\"><\/td>\n            ${cars.map(c => `<td class=\"p-3 border-l border-slate-100\"><a href=\"${c.url}\" target=\"_blank\" rel=\"noopener\" class=\"inline-block px-4 py-2 bg-ks-blue text-white rounded-lg text-xs font-bold hover:bg-ks-blue-dark transition\">Se annons \u2192<\/a><\/td>`).join('')}\n          <\/tr>\n        <\/tbody>\n      <\/table>\n    `;\n    modal.classList.remove('hidden');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function closeCompareModal() {\n    const modal = document.getElementById('compareModal');\n    if (modal) modal.classList.add('hidden');\n    document.body.style.overflow = '';\n  }\n\n  \/\/ ============ DELA ============\n  function shareCar(id) {\n    const car = carsData.find(c => c.id === id);\n    if (!car) return;\n    const shareText = `${car.model} hos Kihlstr\u00f6ms - ${car.priceExkl ? car.priceExkl.toLocaleString('sv-SE') + ' kr exkl. moms' : 'Pris p\u00e5 f\u00f6rfr\u00e5gan'}`;\n    if (navigator.share) {\n      navigator.share({ title: car.model, text: shareText, url: car.url }).catch(() => {});\n    } else {\n      navigator.clipboard.writeText(`${shareText}\\n${car.url}`).then(() => {\n        showToast('L\u00e4nken har kopierats till ditt urklipp!', 'success');\n      });\n    }\n  }\n\n  \/\/ ============ DIREKTMAIL L\u00c4NKGENERATOR ============\n  function getDirectMailto(email, sellerName, car, monthlyCost) {\n    const priceText = car.priceExkl ? `${car.priceExkl.toLocaleString('sv-SE')} kr exkl. moms` : \"Pris ges p\u00e5 offert\";\n    const leasingText = monthlyCost ? ` (f\u00f6retagsleasing: ${monthlyCost} exkl. moms\/m\u00e5n)` : \"\";\n    const subject = `Offertf\u00f6rfr\u00e5gan: ${car.model} (Annons ID: ${car.id})`;\n    const body = `Hej ${sellerName}!\\n\\nJag vill be om mer information samt offert p\u00e5 f\u00f6ljande transportbil:\\n\\n` +\n                 `\ud83d\ude97 Modell:       ${car.model}\\n` +\n                 `\ud83d\udcdd Beskrivning:  ${car.desc}\\n` +\n                 `\ud83d\udcb0 Pris:         ${priceText}${leasingText}\\n` +\n                 `\ud83d\udd17 Annons:       ${car.url}\\n` +\n                 `\ud83c\udd94 Annons-ID:    ${car.id}\\n\\n` +\n                 `V\u00e4nligen \u00e5terkoppla till mig via telefon eller e-post.\\n\\nMitt namn:\\nTelefon:\\nF\u00f6retag:`;\n    return `mailto:${email}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;\n  }\n\n  \/\/ ============ KAMPANJ SLIDER RENDERARE ============\n  function renderCampaignSlider() {\n    const slider = document.getElementById('campaignSlider');\n    if (!slider) return;\n    const campaignCars = carsData.filter(c => c.tags.some(t => t.c === 'campaign' || t.c === 'kampanj'));\n    \n    slider.innerHTML = campaignCars.map(car => {\n      const monthlyCost = extractMonthlyCost(car.desc);\n      const priceText = car.priceExkl ? `${car.priceExkl.toLocaleString('sv-SE')} kr` : \"Offert\";\n      return `\n        <div onclick=\"scrollToAndHighlight('${car.id}')\" class=\"min-w-[280px] md:min-w-[320px] bg-white border border-slate-150 rounded-2xl p-3 flex gap-3 items-center cursor-pointer hover:border-ks-red hover:shadow-md transition duration-200 shrink-0 select-none\">\n          <img decoding=\"async\" src=\"${car.img}\" alt=\"${car.model}\" referrerpolicy=\"no-referrer\" class=\"w-16 h-16 object-cover rounded-xl\">\n          <div class=\"min-w-0 flex-1\">\n            <span class=\"inline-block bg-ks-red text-white text-[9px] font-black px-1.5 py-0.5 rounded-full mb-1 tag-campaign\">KAMPANJ<\/span>\n            <h4 class=\"font-black text-ks-blue text-xs truncate leading-tight\">${car.model}<\/h4>\n            <div class=\"flex items-baseline justify-between mt-1 gap-2\">\n              <span class=\"text-xs font-black text-ks-blue\">${priceText}<\/span>\n              ${monthlyCost ? `<span class=\"text-[10px] font-black text-ks-red\">${monthlyCost}\/m\u00e5n<\/span>` : ''}\n            <\/div>\n          <\/div>\n        <\/div>\n      `;\n    }).join('');\n  }\n\n  function slideCampaigns(direction) {\n    const slider = document.getElementById('campaignSlider');\n    if (slider) slider.scrollLeft += direction * 300;\n  }\n\n  function scrollToAndHighlight(carId) {\n    const el = document.querySelector(`[data-car-card-id=\"${carId}\"]`);\n    if (el) {\n      el.scrollIntoView({ behavior: 'smooth', block: 'center' });\n      el.classList.add('ring-4', 'ring-ks-red\/30');\n      setTimeout(() => {\n        el.classList.remove('ring-4', 'ring-ks-red\/30');\n      }, 2000);\n    } else {\n      \/\/ Om bilen \u00e4r bortfiltrerad, rensa filter och f\u00f6rs\u00f6k igen\n      resetFilters();\n      setTimeout(() => {\n        scrollToAndHighlight(carId);\n      }, 300);\n    }\n  }\n\n  \/\/ ==========================================\n  \/\/ GRID RENDERING \u2014 100 % Autentiska data\n  \/\/ ==========================================\n  function renderGrid(cars) {\n    const grid = document.getElementById('gridView');\n    if (!grid) return;\n    grid.innerHTML = '';\n\n    cars.forEach((car, idx) => {\n      const monthlyCost = extractMonthlyCost(car.desc);\n      const cleanedDesc = getCleanDesc(car.desc);\n      const priceText = car.priceExkl ? `${car.priceExkl.toLocaleString('sv-SE')} kr` : \"Pris p\u00e5 f\u00f6rfr\u00e5gan\";\n      const inklText = car.priceInkl ? `${car.priceInkl.toLocaleString('sv-SE')} kr inkl. moms` : \"Kontakta s\u00e4ljare f\u00f6r pris\";\n      \n      const tagsHtml = car.tags.map(renderTag).filter(Boolean).slice(0, 3).join('');\n\n      let mainCtaText = \"Visa annons p\u00e5 Blocket\";\n      if (car.status === \"Best\u00e4llningsbar\") mainCtaText = \"Visa byggspecifikation\";\n      if (car.status === \"Referens\") mainCtaText = \"Visa referensannons\";\n\n      const eagerLoad = idx < 4;\n      const isFav = favorites.includes(car.id);\n      const isComparing = compareList.includes(car.id);\n\n      \/\/ Skapa direktl\u00e4nkar till s\u00e4ljare\n      const mailtoAlex = getDirectMailto('alexander@kihlstroms.se', 'Alexander', car, monthlyCost);\n      const mailtoPhilip = getDirectMailto('philip@kihlstroms.se', 'Philip', car, monthlyCost);\n      const mailtoSpanga = getDirectMailto('osterberg@kihlstroms.se', 'Alexander', car, monthlyCost);\n\n      grid.innerHTML += `\n        <article data-car-card-id=\"${car.id}\" class=\"bg-white rounded-3xl border border-slate-100 shadow-md hover:shadow-2xl hover:border-slate-200\/80 transition-all duration-300 overflow-hidden flex flex-col group h-full fade-in-item\" role=\"listitem\">\n\n          <div class=\"relative\">\n            <a href=\"${car.url}\" target=\"_blank\" rel=\"noopener\" aria-label=\"L\u00e4s mer om ${car.model} p\u00e5 Blocket\" class=\"relative block aspect-[16\/10] overflow-hidden bg-slate-100\">\n              <div class=\"absolute inset-0 skeleton\" aria-hidden=\"true\"><\/div>\n              <img decoding=\"async\" src=\"${car.img}\" alt=\"${car.model} - ${cleanedDesc}\" ${eagerLoad ? 'loading=\"eager\" fetchpriority=\"high\"' : 'loading=\"lazy\"'} referrerpolicy=\"no-referrer\" onload=\"this.previousElementSibling.style.display='none'\" class=\"w-full h-full object-cover group-hover:scale-[1.02] transition duration-500 relative z-10\">\n              <div class=\"absolute inset-0 bg-ks-ink\/10 opacity-0 group-hover:opacity-100 transition duration-300 flex items-center justify-center z-20\">\n                <span class=\"px-4 py-2 bg-ks-blue\/90 text-white font-extrabold text-xs rounded-full shadow-lg flex items-center gap-1.5\">\n                  \u00d6ppna annons <i class=\"bi bi-box-arrow-up-right\"><\/i>\n                <\/span>\n              <\/div>\n              <div class=\"absolute top-3 left-3 flex flex-wrap gap-1 z-20 max-w-[calc(100%-100px)]\">\n                ${tagsHtml}\n              <\/div>\n            <\/a>\n\n            <!-- Action knappar p\u00e5 bild (Hj\u00e4rta, J\u00e4mf\u00f6r, Dela) -->\n            <div class=\"absolute top-3 right-3 flex flex-col gap-1.5 z-30 font-sans\">\n              <button onclick=\"toggleFavorite('${car.id}', this)\" aria-label=\"Spara som favorit\" class=\"w-8.5 h-8.5 bg-white\/95 backdrop-blur-sm hover:bg-white rounded-full shadow-md flex items-center justify-center transition hover:scale-110\">\n                <i class=\"bi ${isFav ? 'bi-heart-fill heart-active text-ks-red' : 'bi-heart text-ks-red'} text-sm\"><\/i>\n              <\/button>\n              <button onclick=\"toggleCompare('${car.id}', this)\" aria-label=\"L\u00e4gg till i j\u00e4mf\u00f6relse\" class=\"w-8.5 h-8.5 ${isComparing ? 'bg-ks-blue text-white' : 'bg-slate-50 text-ks-blue'} backdrop-blur-sm hover:scale-110 rounded-full shadow-md flex items-center justify-center transition\" title=\"J\u00e4mf\u00f6r\">\n                <i class=\"bi bi-bar-chart-fill text-[11px]\"><\/i>\n              <\/button>\n              <button onclick=\"shareCar('${car.id}')\" aria-label=\"Dela denna bil\" class=\"w-8.5 h-8.5 bg-white\/95 backdrop-blur-md hover:bg-white text-ks-blue rounded-full shadow-md flex items-center justify-center transition hover:scale-110\">\n                <i class=\"bi bi-share-fill text-[11px]\"><\/i>\n              <\/button>\n            <\/div>\n          <\/div>\n\n          <div class=\"p-5 flex flex-col flex-grow\">\n            <div class=\"flex items-center justify-between gap-2 mb-1\">\n              <span class=\"text-[10px] font-black text-ks-red uppercase tracking-wider block\">${car.brand}<\/span>\n              <span class=\"text-[10px] font-semibold text-slate-400\">ID: ${car.id}<\/span>\n            <\/div>\n            <h3 class=\"text-xl font-black text-ks-blue tracking-tight leading-tight mb-1.5\">\n              <a href=\"${car.url}\" target=\"_blank\" rel=\"noopener\" class=\"hover:text-ks-red transition\">${car.model}<\/a>\n            <\/h3>\n            <p class=\"text-xs text-ks-muted mb-3 line-clamp-2 h-8 leading-relaxed\">${cleanedDesc}<\/p>\n\n            <div class=\"text-[11px] font-semibold text-slate-700 bg-slate-50 p-2.5 rounded-xl mb-3 flex items-center justify-between\">\n              <span class=\"flex items-center gap-1\"><i class=\"bi bi-fuel-pump-fill text-ks-red text-xs\"><\/i> ${car.fuel === 'CNG' ? 'Biogas (CNG)' : car.fuel}<\/span>\n              <span class=\"flex items-center gap-1\"><i class=\"bi bi-gear-fill text-ks-red text-xs\"><\/i> ${car.gearbox}<\/span>\n            <\/div>\n\n            <div class=\"pt-3 border-t border-slate-100 mt-auto flex flex-col gap-2\">\n              <div class=\"flex justify-between items-end gap-2\">\n                <div>\n                  <span class=\"text-[10px] font-black text-ks-muted uppercase tracking-wider block\">Kontantpris<\/span>\n                  <div class=\"flex items-baseline gap-0.5\">\n                    <span class=\"text-xl lg:text-2xl font-black text-ks-blue tracking-tight\">${priceText}<\/span>\n                    ${car.priceExkl ? '<span class=\"text-[10px] font-extrabold text-ks-muted\">exkl.<\/span>' : ''}\n                  <\/div>\n                  <p class=\"text-[10px] text-ks-muted\">${inklText}<\/p>\n                <\/div>\n                ${monthlyCost ? `\n                <div class=\"bg-red-50\/75 border border-ks-red\/10 rounded-xl p-2 text-right flex flex-col items-end shadow-sm\">\n                  <span class=\"text-[9px] font-black text-ks-red uppercase tracking-wider flex items-center gap-1\"><i class=\"bi bi-credit-card-2-front-fill\"><\/i> F\u00f6retagsleasing<\/span>\n                  <span class=\"text-base font-black text-ks-red leading-none mt-0.5\">${monthlyCost}<\/span>\n                  <span class=\"text-[9px] text-ks-muted\">exkl. moms \/ m\u00e5n<\/span>\n                <\/div>\n                ` : ''}\n              <\/div>\n            <\/div>\n\n            <!-- S\u00c4LJARPORTAL DIREKT P\u00c5 KORTET \u2014 ALLTID SYNLIG -->\n            <div class=\"mt-4 pt-3 border-t border-slate-100\">\n              <span class=\"block text-[10px] font-black text-ks-blue uppercase tracking-wider mb-2\"><i class=\"bi bi-envelope-open-fill text-ks-red\"><\/i> Klicka p\u00e5 s\u00e4ljare f\u00f6r direkt e-postoffert:<\/span>\n              <div class=\"grid grid-cols-1 gap-1.5\">\n                <a href=\"${mailtoAlex}\" class=\"flex items-center justify-between p-2 rounded-xl bg-slate-50 hover:bg-blue-50 border border-slate-150 transition group\/mail\">\n                  <span class=\"text-xs font-bold text-ks-blue\">Alexander (Smista)<\/span>\n                  <span class=\"text-[11px] text-ks-muted group-hover\/mail:text-ks-red transition font-mono truncate max-w-[150px]\">alexander@kihlstroms.se<\/span>\n                <\/a>\n                <a href=\"${mailtoPhilip}\" class=\"flex items-center justify-between p-2 rounded-xl bg-slate-50 hover:bg-blue-50 border border-slate-150 transition group\/mail\">\n                  <span class=\"text-xs font-bold text-ks-blue\">Philip (Smista)<\/span>\n                  <span class=\"text-[11px] text-ks-muted group-hover\/mail:text-ks-red transition font-mono truncate max-w-[150px]\">philip@kihlstroms.se<\/span>\n                <\/a>\n                <a href=\"${mailtoSpanga}\" class=\"flex items-center justify-between p-2 rounded-xl bg-slate-50 hover:bg-blue-50 border border-slate-150 transition group\/mail\">\n                  <span class=\"text-xs font-bold text-ks-blue\">Alexander (Sp\u00e5nga)<\/span>\n                  <span class=\"text-[11px] text-ks-muted group-hover\/mail:text-ks-red transition font-mono truncate max-w-[150px]\">osterberg@kihlstroms.se<\/span>\n                <\/a>\n              <\/div>\n            <\/div>\n\n            <a href=\"${car.url}\" target=\"_blank\" rel=\"noopener\" aria-label=\"Se annons f\u00f6r ${car.model} p\u00e5 Blocket\" class=\"mt-3 w-full py-2.5 bg-ks-blue hover:bg-ks-blue-dark text-white text-xs font-black rounded-xl transition duration-150 flex items-center justify-center gap-1 shadow-sm\">\n              ${mainCtaText} <i class=\"bi bi-box-arrow-up-right text-[10px]\"><\/i>\n            <\/a>\n          <\/div>\n        <\/article>\n      `;\n    });\n  }\n\n  function scrollToContact() {\n    const el = document.getElementById('contact');\n    if (el) el.scrollIntoView({ behavior: 'smooth' });\n  }\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Kampanjbilar &amp; Lagerbilar \u00b7 Iveco Daily, Isuzu D-Max \u00b7 Kihlstr\u00f6ms Stockholm Kihlstr\u00f6ms Kampanjbilar &#8211; Iveco Daily, Isuzu D-Max och l\u00e4tta lastbilar i Stockholm Kampanjpriser p\u00e5 Iveco och Isuzu transportbilar. F\u00f6retagsleasing exklusive moms. Smista och Sp\u00e5nga. Kampanjpriser \u00b7 Begr\u00e4nsat antal Kampanjbilar &amp; lagerbilar i Stockholm Kontakta s\u00e4ljare \u00d6ppna Blocket Filter &amp; sortering Alla m\u00e4rkenIsuzuIveco Alla modeller&hellip;&nbsp;<a href=\"https:\/\/www.kihlstroms.se\/v3\/kampanj-maila-saljarna\/\" rel=\"bookmark\">Read More &raquo;<span class=\"screen-reader-text\">Kampanj Maila S\u00e4ljarna<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_eb_attr":"","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","neve_meta_reading_time":"","ai_generated_summary":"","wpai_meta_description":"","footnotes":""},"class_list":["post-4878","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.kihlstroms.se\/v3\/wp-json\/wp\/v2\/pages\/4878","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kihlstroms.se\/v3\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kihlstroms.se\/v3\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kihlstroms.se\/v3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kihlstroms.se\/v3\/wp-json\/wp\/v2\/comments?post=4878"}],"version-history":[{"count":5,"href":"https:\/\/www.kihlstroms.se\/v3\/wp-json\/wp\/v2\/pages\/4878\/revisions"}],"predecessor-version":[{"id":4883,"href":"https:\/\/www.kihlstroms.se\/v3\/wp-json\/wp\/v2\/pages\/4878\/revisions\/4883"}],"wp:attachment":[{"href":"https:\/\/www.kihlstroms.se\/v3\/wp-json\/wp\/v2\/media?parent=4878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}