{"version":3,"file":"d35nLDhq_HueyOWXAne22bF4ufKDxPAnvkcgW_hmfMg.UoBk5tYv.mjs","names":["p","useRef","useState","useMemo","_Fragment","Navigation","NavigationPopupActive","Alert","Fleet","React.forwardRef","useRef","React.useId","React.useMemo","metadataProvider","sharedStyle.className","React.useContext","className","_Fragment","PropertyOverrides","Image1","RichText","React.Fragment","sharedStyle.css","sharedStyle.fonts"],"sources":["https:/framerusercontent.com/modules/HDMh96ibz35Exc4Tmo3x/0po6Ngr0eKZwifsEyfgm/JetflyExplorer.js","https:/framerusercontent.com/modules/p01itpXQQk9RAwaeqddC/TviEHiuBbgohtloCis45/lbaMJlGT8.js","https:/framerusercontent.com/modules/Zra7aPgqfcFAfrkVTdPi/mV6TFGxpugQG4OWxkylY/lbaMJlGT8.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useMemo,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";function parseFleetFromDOM(root){let listEl=root;for(let i=0;i<8;i++){if(listEl.children.length>1)break;if(listEl.children.length===1)listEl=listEl.children[0];else break;}const children=Array.from(listEl.children);const results=[];for(const child of children){const allText=Array.from(child.querySelectorAll(\"*\")).filter(el=>el.children.length===0&&(el.textContent||\"\").trim()).map(el=>(el.textContent||\"\").trim());const allImgs=Array.from(child.querySelectorAll(\"img\")).map(img=>img.src).filter(src=>src&&!src.includes(\"data:\")&&src.length>10);// Also collect background-image CSS URLs (Framer renders Fill images this way)\nconst bgImgs=[];child.querySelectorAll(\"*\").forEach(el=>{const bg=el.style?.backgroundImage||\"\";const m=bg.match(/url\\([\"']?(https?:\\/\\/[^\"')]+)[\"']?\\)/);if(m?.[1]&&!m[1].includes(\"data:\"))bgImgs.push(m[1]);});// ICO (color icon): named layer first, then bg-image, then first <img>\nconst icoLayer=child.querySelector('[data-framer-name=\"Icone Color\"]')||child.querySelector('[data-framer-name=\"icone color\"]')||child.querySelector('[data-framer-name=\"IconeColor\"]')||child.querySelector('[data-framer-name=\"ICO\"]')||child.querySelector('[data-framer-name=\"ico\"]');let icoSrc=\"\";if(icoLayer){icoSrc=icoLayer.tagName===\"IMG\"?icoLayer.src:icoLayer.querySelector(\"img\")?.src??\"\";}// Pin (map marker): named layer\nconst pinLayer=child.querySelector('[data-framer-name=\"Pin\"]')||child.querySelector('[data-framer-name=\"pin\"]');const pinSrc=pinLayer?pinLayer.tagName===\"IMG\"?pinLayer.src:pinLayer.querySelector(\"img\")?.src??\"\":\"\";// ICO fallback chain (CMS field order: Pin = 1st img, ICO = 2nd img)\nif(!icoSrc){// Try background-image first (Framer Fill)\nconst pinNorm=pinSrc.split(\"?\")[0].split(\"#\")[0].toLowerCase();const candidates=[...bgImgs,...allImgs].filter(src=>{const n=src.split(\"?\")[0].split(\"#\")[0].toLowerCase();return n!==pinNorm&&!n.includes(pinNorm)&&!pinNorm.includes(n);});// ICO is typically 2nd image after Pin in CMS field order\nicoSrc=candidates[0]||\"\";}const galleryLayer=child.querySelector('[data-framer-name=\"Gallery\"]')||child.querySelector('[class*=\"gallery\"]');const galleryImgs=galleryLayer?Array.from(galleryLayer.querySelectorAll(\"img\")).map(i=>i.src).filter(Boolean):[];const noteLayer=child.querySelector('[data-framer-name=\"Note\"]')||child.querySelector('[data-framer-name=\"note\"]');const noteText=noteLayer?(noteLayer.textContent||\"\").trim():\"\";const registration=allText.find(t=>/^[A-Z]{1,2}-[A-Z0-9]{2,5}$/i.test(t.trim()))||\"\";const aircraftType=allText.find(t=>/PC[-\\s]?12|PC[-\\s]?24|SF[-\\s]?50|Pilatus|Cirrus|Vision|Falcon|Citation|Phenom|Praetor/i.test(t))||\"\";// Only accept realistic year values (1980 → current year + 1).\n// Prevents range/autonomy values like \"1300\", \"2200\", \"2000\" from\n// leaking into the typeLabel as if they were a year of manufacture.\nconst yom=allText.find(t=>{if(!/^\\d{4}$/.test(t))return false;const n=parseInt(t,10);return n>=1980&&n<=new Date().getFullYear()+1;})||\"\";const name=allText.find(t=>t.includes(\",\")&&t.length<50)||\"\";if(!registration&&!aircraftType&&!name&&allText.length<2)continue;const img=pinSrc||allImgs[0]||undefined;const ico=icoSrc||undefined;const galleryImages=galleryImgs.length>0?galleryImgs:allImgs.filter(src=>src!==img&&src!==ico);results.push({name,registration,aircraftType,yom,img,ico,gallery:\"\",galleryImages,note:noteText||undefined});}return results;}/* ================================================================\n   ZONE GEOJSON (3-zone system from jetfly-widgets reference)\n   ================================================================ */const ZONE1_IDS=new Set([276,40,203,380,756,250,56,442,528,208,246,752,578,724,620,826,372,470]);const ZONE2_IDS=new Set([8,100,112,70,191,233,300,348,428,440,499,504,807,616,642,688,703,705,788,792]);let _zoneGeoCache=null;async function loadZoneGeo(){if(_zoneGeoCache)return _zoneGeoCache;const res=await fetch(\"https://cdn.jsdelivr.net/npm/world-atlas@2/countries-50m.json\");const world=await res.json();let topo=window.topojson;if(!topo){await new Promise((r,j)=>{const s=document.createElement(\"script\");s.src=\"https://unpkg.com/topojson-client@3/dist/topojson-client.min.js\";s.onload=()=>r();s.onerror=()=>j();document.head.appendChild(s);});topo=window.topojson;}const geos=world.objects.countries.geometries;// Convert each country to a feature individually instead of merging.\n// topojson.merge() incorrectly handles polygons crossing the antimeridian\n// (Russia, Fiji, etc.), producing huge artifact polygons across the map.\n// We ALSO filter out countries that are not in Zone I or Zone II — the\n// \"Out of Zone\" color is applied as the map's background instead, which\n// (a) eliminates the giant Russia/Greenland/Canada polygons from the\n// GeoJSON source entirely (no more antimeridian rendering bugs), and\n// (b) makes country borders crossing oceans irrelevant because there's\n// no fill spilling beyond the polygon boundary.\nconst features=geos.map(g=>{const id=parseInt(g.id);let zone=0;if(ZONE1_IDS.has(id))zone=1;else if(ZONE2_IDS.has(id))zone=2;if(zone===0)return null// skip Out of Zone countries\n;return{type:\"Feature\",properties:{zone},geometry:topo.feature(world,g).geometry};}).filter(Boolean);_zoneGeoCache={type:\"FeatureCollection\",features};return _zoneGeoCache;}async function addZoneFills(map,zone1Color,zone2Color,zoneOutColor,borderColor){try{const geo=await loadZoneGeo();if(!map.getSource(\"countries\"))map.addSource(\"countries\",{type:\"geojson\",data:geo,// Larger tile buffer prevents white/blank rectangles on\n// large polygons (Russia, Greenland, USA) when zooming.\nbuffer:512,// No simplification — country borders are already lightweight\n// and the previous 0.5 tolerance caused fill-color flickering\n// when crossing zoom levels (polygons got re-simplified per\n// tile and some tiles missed segments).\ntolerance:0,// High maxzoom so MapLibre doesn't need to overzoom\n// low-detail tiles when the user zooms in. The previous\n// maxzoom: 5/8 caused fill-color flickering during zoom\n// transitions because tiles at zoom > maxzoom were stretched\n// versions of the maxzoom tiles, sometimes losing the\n// properties needed by the fill-color match expression.\nmaxzoom:12,// Stable IDs for each feature — without this, when a polygon\n// gets split across tile boundaries, MapLibre treats each\n// fragment as a separate \"feature\" and tile generation races\n// can cause inconsistent rendering. generateId assigns\n// numeric IDs based on insertion order, giving MapLibre a\n// stable handle for caching feature state across tiles.\ngenerateId:true});if(!map.getLayer(\"countries-fill\"))map.addLayer({id:\"countries-fill\",type:\"fill\",source:\"countries\",paint:{\"fill-color\":[\"match\",[\"get\",\"zone\"],1,zone1Color,2,zone2Color,zoneOutColor]}},\"water\");// Dedicated stroke layer — fill-outline-color renders as a single hairline\n// pixel which is barely visible. A real line layer gives us full control\n// over width and opacity, and reacts properly to borderColor changes.\nif(!map.getLayer(\"countries-stroke\"))map.addLayer({id:\"countries-stroke\",type:\"line\",source:\"countries\",layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":borderColor,\"line-width\":[\"interpolate\",[\"linear\"],[\"zoom\"],2,.5,6,1,10,1.5],\"line-opacity\":.7}},\"water\");}catch{}}/* ================================================================\n   MAP STYLE\n   ================================================================ */const buildMapStyle=(oceanColor,borderColor,cityLabelColor,zoneOutColor)=>({version:8,sources:{openmaptiles:{type:\"vector\",url:\"https://tiles.openfreemap.org/planet\"}},sprite:\"https://openmaptiles.github.io/dark-matter-gl-style/sprite\",glyphs:\"https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",// Background uses zoneOutColor — countries not explicitly\n    // rendered in our countries-fill (Zone I / Zone II) layer\n    // get this color by default. That's \"Out of Zone\" rendering\n    // via background, which eliminates the need to draw giant\n    // Russia/Canada/Greenland polygons that cause antimeridian\n    // tile bugs.\n    paint:{\"background-color\":zoneOutColor}},{id:\"water\",type:\"fill\",source:\"openmaptiles\",\"source-layer\":\"water\",filter:[\"all\",[\"==\",\"$type\",\"Polygon\"],[\"!=\",\"brunnel\",\"tunnel\"]],paint:{\"fill-color\":oceanColor}},{id:\"boundary_country\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"==\",\"admin_level\",2],[\"any\",[\"!has\",\"maritime\"],[\"==\",\"maritime\",0]],[\"any\",[\"!has\",\"disputed\"],[\"==\",\"disputed\",0]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":borderColor,\"line-width\":[\"interpolate\",[\"linear\"],[\"zoom\"],2,.5,6,1,10,1.5],\"line-opacity\":.7}},// Major cities (capitals & largest) — visible from zoom 4\n    {id:\"place_city_major\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:3,maxzoom:14,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"city\"],[\"<=\",\"rank\",4]],layout:{\"text-field\":[\"coalesce\",[\"get\",\"name:en\"],[\"get\",\"name:latin\"],[\"get\",\"name\"]],\"text-font\":[\"Noto Sans Regular\"],\"text-size\":[\"interpolate\",[\"linear\"],[\"zoom\"],3,9,5,11,7,13,10,15],\"text-anchor\":\"left\",\"text-offset\":[.6,0],\"text-padding\":2,\"text-allow-overlap\":false,\"symbol-avoid-edges\":false,\"text-ignore-placement\":false,\"symbol-sort-key\":[\"get\",\"rank\"]},paint:{\"text-color\":cityLabelColor,\"text-opacity\":.78,\"text-halo-color\":\"rgba(255,255,255,0.9)\",\"text-halo-width\":1.4}},// Major city dot — paired with the label\n    {id:\"place_city_major_dot\",type:\"circle\",source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:3,maxzoom:14,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"city\"],[\"<=\",\"rank\",4]],paint:{\"circle-radius\":[\"interpolate\",[\"linear\"],[\"zoom\"],3,1.5,5,2,8,3],\"circle-color\":cityLabelColor,\"circle-opacity\":.55,\"circle-stroke-color\":\"rgba(255,255,255,0.9)\",\"circle-stroke-width\":1}},// Mid-tier cities — visible from zoom 6\n    {id:\"place_city_mid\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:6,maxzoom:14,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"city\"],[\">\",\"rank\",4],[\"<=\",\"rank\",7]],layout:{\"text-field\":[\"coalesce\",[\"get\",\"name:en\"],[\"get\",\"name:latin\"],[\"get\",\"name\"]],\"text-font\":[\"Noto Sans Regular\"],\"text-size\":[\"interpolate\",[\"linear\"],[\"zoom\"],6,9,9,11],\"text-anchor\":\"left\",\"text-offset\":[.5,0],\"text-padding\":2,\"text-allow-overlap\":false,\"text-ignore-placement\":false,\"symbol-avoid-edges\":false,\"symbol-sort-key\":[\"get\",\"rank\"]},paint:{\"text-color\":cityLabelColor,\"text-opacity\":.62,\"text-halo-color\":\"rgba(255,255,255,0.85)\",\"text-halo-width\":1.2}},{id:\"place_city_mid_dot\",type:\"circle\",source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:6,maxzoom:14,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"city\"],[\">\",\"rank\",4],[\"<=\",\"rank\",7]],paint:{\"circle-radius\":1.8,\"circle-color\":cityLabelColor,\"circle-opacity\":.4,\"circle-stroke-color\":\"rgba(255,255,255,0.85)\",\"circle-stroke-width\":.8}},{id:\"place_country_major\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"place\",maxzoom:8,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",3],[\"==\",\"class\",\"country\"],[\"has\",\"iso_a2\"]],layout:{\"text-field\":[\"coalesce\",[\"get\",\"name:en\"],[\"get\",\"name:latin\"],[\"get\",\"name\"]],\"text-font\":[\"Noto Sans Regular\"],\"text-size\":[\"interpolate\",[\"linear\"],[\"zoom\"],3,[\"case\",[\"<=\",[\"get\",\"rank\"],1],9,8],5,[\"case\",[\"<=\",[\"get\",\"rank\"],1],11,9],7,[\"case\",[\"<=\",[\"get\",\"rank\"],1],13,11]],\"text-transform\":\"uppercase\",\"text-letter-spacing\":.2,\"text-anchor\":\"center\",\"text-padding\":2,\"text-allow-overlap\":false,\"text-ignore-placement\":false,\"symbol-avoid-edges\":false},paint:{\"text-color\":\"#6B6253\",\"text-halo-color\":\"rgba(255,255,255,0.5)\",\"text-halo-width\":.8}}]});/* ================================================================\n   MOCK DATA\n   ================================================================ */const MOCK_AIRPORTS=[// ─────────── FRANCE ───────────\n{id:\"LFPB\",name:\"Paris Le Bourget Airport\",icao:\"LFPB\",iata:\"LBG\",city:\"Paris\",country:\"France\",countryCode:\"FR\",lat:48.9694,lng:2.4414,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"LFPG\",name:\"Paris Charles de Gaulle Airport\",icao:\"LFPG\",iata:\"CDG\",city:\"Paris\",country:\"France\",countryCode:\"FR\",lat:49.0097,lng:2.5479,tags:[{key:\"PC12\",label:\"PC-12\",status:\"restricted\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"LFPO\",name:\"Paris Orly Airport\",icao:\"LFPO\",iata:\"ORY\",city:\"Paris\",country:\"France\",countryCode:\"FR\",lat:48.7262,lng:2.3652,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"LFMN\",name:\"Nice C\\xf4te d'Azur Airport\",icao:\"LFMN\",iata:\"NCE\",city:\"Nice\",country:\"France\",countryCode:\"FR\",lat:43.6653,lng:7.215,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"LFML\",name:\"Marseille Provence Airport\",icao:\"LFML\",iata:\"MRS\",city:\"Marseille\",country:\"France\",countryCode:\"FR\",lat:43.4393,lng:5.2214,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"LFLL\",name:\"Lyon Saint-Exup\\xe9ry Airport\",icao:\"LFLL\",iata:\"LYS\",city:\"Lyon\",country:\"France\",countryCode:\"FR\",lat:45.7256,lng:5.0811,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"LFBO\",name:\"Toulouse Blagnac Airport\",icao:\"LFBO\",iata:\"TLS\",city:\"Toulouse\",country:\"France\",countryCode:\"FR\",lat:43.6294,lng:1.3637,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"unoperable\"}]},{id:\"LFSB\",name:\"EuroAirport Basel-Mulhouse\",icao:\"LFSB\",iata:\"BSL\",city:\"Mulhouse\",country:\"France\",countryCode:\"FR\",lat:47.59,lng:7.5292,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},// ─────────── GERMANY ───────────\n{id:\"EDDF\",name:\"Frankfurt Main\",icao:\"EDDF\",iata:\"FRA\",city:\"Frankfurt\",country:\"Germany\",countryCode:\"DE\",lat:50.0379,lng:8.5622,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"EDDM\",name:\"Munich Airport\",icao:\"EDDM\",iata:\"MUC\",city:\"Munich\",country:\"Germany\",countryCode:\"DE\",lat:48.3538,lng:11.7861,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"EDDB\",name:\"Berlin Brandenburg\",icao:\"EDDB\",iata:\"BER\",city:\"Berlin\",country:\"Germany\",countryCode:\"DE\",lat:52.3667,lng:13.5033,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"EDDH\",name:\"Hamburg Airport\",icao:\"EDDH\",iata:\"HAM\",city:\"Hamburg\",country:\"Germany\",countryCode:\"DE\",lat:53.6304,lng:9.9882,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"EDDS\",name:\"Stuttgart Airport\",icao:\"EDDS\",iata:\"STR\",city:\"Stuttgart\",country:\"Germany\",countryCode:\"DE\",lat:48.6899,lng:9.2218,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},// ─────────── UNITED KINGDOM ───────────\n{id:\"EGLL\",name:\"London Heathrow\",icao:\"EGLL\",iata:\"LHR\",city:\"London\",country:\"United Kingdom\",countryCode:\"GB\",lat:51.47,lng:-.4543,tags:[{key:\"PC12\",label:\"PC-12\",status:\"restricted\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"unoperable\"}]},{id:\"EGGW\",name:\"London Luton\",icao:\"EGGW\",iata:\"LTN\",city:\"London\",country:\"United Kingdom\",countryCode:\"GB\",lat:51.8747,lng:-.3683,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"EGKB\",name:\"London Biggin Hill\",icao:\"EGKB\",iata:\"BQH\",city:\"London\",country:\"United Kingdom\",countryCode:\"GB\",lat:51.3308,lng:.0325,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"EGSS\",name:\"London Stansted\",icao:\"EGSS\",iata:\"STN\",city:\"London\",country:\"United Kingdom\",countryCode:\"GB\",lat:51.885,lng:.235,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},// ─────────── ITALY ───────────\n{id:\"LIML\",name:\"Milan Linate\",icao:\"LIML\",iata:\"LIN\",city:\"Milan\",country:\"Italy\",countryCode:\"IT\",lat:45.4456,lng:9.2778,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"unoperable\"}]},{id:\"LIRF\",name:\"Rome Fiumicino\",icao:\"LIRF\",iata:\"FCO\",city:\"Rome\",country:\"Italy\",countryCode:\"IT\",lat:41.8003,lng:12.2389,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"LIRA\",name:\"Rome Ciampino\",icao:\"LIRA\",iata:\"CIA\",city:\"Rome\",country:\"Italy\",countryCode:\"IT\",lat:41.7994,lng:12.5949,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"LIPZ\",name:\"Venice Marco Polo\",icao:\"LIPZ\",iata:\"VCE\",city:\"Venice\",country:\"Italy\",countryCode:\"IT\",lat:45.5053,lng:12.3519,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"LIRZ\",name:\"Perugia S.Francesco\",icao:\"LIRZ\",iata:\"PEG\",city:\"Perugia\",country:\"Italy\",countryCode:\"IT\",lat:43.0959,lng:12.5132,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},// ─────────── SWITZERLAND ───────────\n{id:\"LSGG\",name:\"Geneva Airport\",icao:\"LSGG\",iata:\"GVA\",city:\"Geneva\",country:\"Switzerland\",countryCode:\"CH\",lat:46.2381,lng:6.1089,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"LSZH\",name:\"Z\\xfcrich Airport\",icao:\"LSZH\",iata:\"ZRH\",city:\"Z\\xfcrich\",country:\"Switzerland\",countryCode:\"CH\",lat:47.4647,lng:8.5492,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"LSZA\",name:\"Lugano Airport\",icao:\"LSZA\",iata:\"LUG\",city:\"Lugano\",country:\"Switzerland\",countryCode:\"CH\",lat:46.0043,lng:8.9105,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},// ─────────── SPAIN ───────────\n{id:\"LEMD\",name:\"Madrid Barajas\",icao:\"LEMD\",iata:\"MAD\",city:\"Madrid\",country:\"Spain\",countryCode:\"ES\",lat:40.4936,lng:-3.5668,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"LEBL\",name:\"Barcelona El Prat\",icao:\"LEBL\",iata:\"BCN\",city:\"Barcelona\",country:\"Spain\",countryCode:\"ES\",lat:41.2974,lng:2.0833,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},{id:\"GCLP\",name:\"Gran Canaria Airport\",icao:\"GCLP\",iata:\"LPA\",city:\"Las Palmas\",country:\"Spain\",countryCode:\"ES\",lat:27.9319,lng:-15.3866,tags:[{key:\"PC12\",label:\"PC-12\",status:\"restricted\"},{key:\"PC24\",label:\"PC-24\",status:\"unoperable\"},{key:\"SF50\",label:\"SF50\",status:\"unoperable\"}]},// ─────────── BELGIUM ───────────\n{id:\"EBBR\",name:\"Brussels Airport\",icao:\"EBBR\",iata:\"BRU\",city:\"Brussels\",country:\"Belgium\",countryCode:\"BE\",lat:50.9014,lng:4.4844,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"EBAW\",name:\"Antwerp Airport\",icao:\"EBAW\",iata:\"ANR\",city:\"Antwerp\",country:\"Belgium\",countryCode:\"BE\",lat:51.1894,lng:4.4603,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},// ─────────── NETHERLANDS ───────────\n{id:\"EHAM\",name:\"Amsterdam Schiphol\",icao:\"EHAM\",iata:\"AMS\",city:\"Amsterdam\",country:\"Netherlands\",countryCode:\"NL\",lat:52.3086,lng:4.7639,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"EHRD\",name:\"Rotterdam The Hague\",icao:\"EHRD\",iata:\"RTM\",city:\"Rotterdam\",country:\"Netherlands\",countryCode:\"NL\",lat:51.9569,lng:4.4372,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},// ─────────── LUXEMBOURG ───────────\n{id:\"ELLX\",name:\"Luxembourg Airport\",icao:\"ELLX\",iata:\"LUX\",city:\"Luxembourg\",country:\"Luxembourg\",countryCode:\"LU\",lat:49.6233,lng:6.2044,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},// ─────────── AUSTRIA ───────────\n{id:\"LOWW\",name:\"Vienna International\",icao:\"LOWW\",iata:\"VIE\",city:\"Vienna\",country:\"Austria\",countryCode:\"AT\",lat:48.1102,lng:16.5697,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"LOWS\",name:\"Salzburg W.A. Mozart\",icao:\"LOWS\",iata:\"SZG\",city:\"Salzburg\",country:\"Austria\",countryCode:\"AT\",lat:47.7933,lng:13.0043,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}]},// ─────────── PORTUGAL ───────────\n{id:\"LPPT\",name:\"Lisbon Humberto Delgado\",icao:\"LPPT\",iata:\"LIS\",city:\"Lisbon\",country:\"Portugal\",countryCode:\"PT\",lat:38.7813,lng:-9.1359,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]},{id:\"LPPR\",name:\"Porto Francisco S\\xe1 Carneiro\",icao:\"LPPR\",iata:\"OPO\",city:\"Porto\",country:\"Portugal\",countryCode:\"PT\",lat:41.2481,lng:-8.6814,tags:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}]}];const POPULAR_AIRPORTS=[{id:\"ELLX\",name:\"Luxembourg Airport\",icao:\"ELLX\",iata:\"LUX\",city:\"Luxembourg\",country:\"Luxembourg\",countryCode:\"LU\",lat:49.6233,lng:6.2044,tags:[]},{id:\"LFPB\",name:\"Paris Le Bourget\",icao:\"LFPB\",iata:\"LBG\",city:\"Paris\",country:\"France\",countryCode:\"FR\",lat:48.9694,lng:2.4414,tags:[]},{id:\"EBBR\",name:\"Brussels Airport\",icao:\"EBBR\",iata:\"BRU\",city:\"Brussels\",country:\"Belgium\",countryCode:\"BE\",lat:50.9014,lng:4.4844,tags:[]},{id:\"LSGG\",name:\"Geneva Airport\",icao:\"LSGG\",iata:\"GVA\",city:\"Geneva\",country:\"Switzerland\",countryCode:\"CH\",lat:46.2381,lng:6.1089,tags:[]},{id:\"LFMN\",name:\"Nice C\\xf4te d'Azur\",icao:\"LFMN\",iata:\"NCE\",city:\"Nice\",country:\"France\",countryCode:\"FR\",lat:43.6653,lng:7.215,tags:[]},{id:\"EGLL\",name:\"London Heathrow\",icao:\"EGLL\",iata:\"LHR\",city:\"London\",country:\"United Kingdom\",countryCode:\"GB\",lat:51.47,lng:-.4543,tags:[]},{id:\"LSZH\",name:\"Z\\xfcrich Airport\",icao:\"LSZH\",iata:\"ZRH\",city:\"Z\\xfcrich\",country:\"Switzerland\",countryCode:\"CH\",lat:47.4647,lng:8.5492,tags:[]},{id:\"EDDM\",name:\"Munich Airport\",icao:\"EDDM\",iata:\"MUC\",city:\"Munich\",country:\"Germany\",countryCode:\"DE\",lat:48.3538,lng:11.7861,tags:[]},{id:\"LIML\",name:\"Milan Linate\",icao:\"LIML\",iata:\"LIN\",city:\"Milan\",country:\"Italy\",countryCode:\"IT\",lat:45.4456,lng:9.2778,tags:[]},{id:\"LEMD\",name:\"Madrid Barajas\",icao:\"LEMD\",iata:\"MAD\",city:\"Madrid\",country:\"Spain\",countryCode:\"ES\",lat:40.4936,lng:-3.5668,tags:[]}];function clamp(n,a=0,b=1){return Math.max(a,Math.min(b,n));}function safeUpper(s){return String(s||\"\").toUpperCase();}function handleLinkClick(e,url){if(!url)return;// If URL is a hash anchor (like \"#connect-with-us\") OR contains a hash\n// pointing to the same page, intercept and smooth-scroll to it.\nconst trimmed=String(url).trim();if(!trimmed)return;let hashTarget=\"\";if(trimmed.startsWith(\"#\")){hashTarget=trimmed.slice(1);}else if(typeof window!==\"undefined\"){try{const u=new URL(trimmed,window.location.href);// Same-origin + same-path + has hash → treat as in-page anchor\nif(u.origin===window.location.origin&&u.pathname===window.location.pathname&&u.hash){hashTarget=u.hash.slice(1);}}catch{}}if(hashTarget){e.preventDefault();const el=document.getElementById(hashTarget);if(el){el.scrollIntoView({behavior:\"smooth\",block:\"start\"});}}}function toHex(color){const s=String(color||\"\").trim();if(/^#[0-9a-f]{6}$/i.test(s))return s;if(/^#[0-9a-f]{3}$/i.test(s))return`#${s[1]}${s[1]}${s[2]}${s[2]}${s[3]}${s[3]}`;if(/^#[0-9a-f]{8}$/i.test(s))return s.slice(0,7);const m=s.match(/rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/);if(m){const r=clamp(Number(m[1]),0,255);const g=clamp(Number(m[2]),0,255);const b=clamp(Number(m[3]),0,255);return`#${(1<<24|r<<16|g<<8|b).toString(16).slice(1)}`;}return s;}function flagEmojiFromCC(cc){const c=(cc||\"\").toUpperCase();if(c.length!==2)return\"\";const A=127462;const a=\"A\".charCodeAt(0);return String.fromCodePoint(A+(c.charCodeAt(0)-a),A+(c.charCodeAt(1)-a));}function fontStyle(font){if(!font)return{};return{fontFamily:font.family||font.fontFamily,fontSize:font.size??font.fontSize,fontWeight:font.weight??font.fontWeight,fontStyle:font.style??font.fontStyle,lineHeight:font.lineHeight,letterSpacing:font.letterSpacing};}function wf(baseFont,overrides){return{...fontStyle(baseFont),...overrides||{}};}function statusColor(s){if(s===\"operable\")return\"#5E8B67\";if(s===\"restricted\")return\"#E58B5A\";return\"#D85B5B\";}function fmtEUR(n){const v=typeof n===\"number\"?n:Number(n);if(!isFinite(v))return\"—\";return new Intl.NumberFormat(\"fr-FR\",{maximumFractionDigits:0}).format(v)+\" €\";}function fmtMinutes(mins){const m=typeof mins===\"number\"?mins:Number(mins);if(!isFinite(m))return\"—\";const h=Math.floor(m/60);const mm=Math.round(m%60);return`${h}H${String(mm).padStart(2,\"0\")}`;}function generateArc(from,to,steps=48){const midLng=(from[0]+to[0])/2;const midLat=(from[1]+to[1])/2;const dLng=to[0]-from[0];const dLat=to[1]-from[1];const dist=Math.sqrt(dLng*dLng+dLat*dLat);// Degenerate case: from === to. Return a single point to avoid NaN from\n// division by zero in the perpendicular vector below.\nif(dist===0||!isFinite(dist)){return[from,to];}const offset=dist*.2;const nx=-dLat/dist;const ny=dLng/dist;const cpLng=midLng+nx*offset;const cpLat=midLat+ny*offset;const pts=[];for(let i=0;i<=steps;i++){const t=i/steps;const u=1-t;const lng=u*u*from[0]+2*u*t*cpLng+t*t*to[0];const lat=u*u*from[1]+2*u*t*cpLat+t*t*to[1];pts.push([lng,lat]);}return pts;}function getSessionId(){const key=\"__jetfly_session_id__\";try{const existing=sessionStorage.getItem(key);if(existing)return existing;const id=crypto?.randomUUID?.()||`${Date.now()}-${Math.random().toString(16).slice(2)}`;sessionStorage.setItem(key,id);return id;}catch{return`${Date.now()}-${Math.random().toString(16).slice(2)}`;}}function aircraftLabelFromKey(key){if(key===\"PC12\")return\"PC-12\";if(key===\"PC24\")return\"PC-24\";return\"SF50\";}function jetflyOperabilityToTags(raw){const pc12=String(raw?.jetfly_pc12_operability||\"\").toLowerCase();const pc24=String(raw?.jetfly_pc24_operability||\"\").toLowerCase();const sf50=String(raw?.jetfly_sf50_operability||\"\").toLowerCase();const mk=(key,v)=>{if(v===\"operable\"||v===\"restricted\"||v===\"unoperable\"){return{key,status:v,label:aircraftLabelFromKey(key)};}return null;};return[mk(\"PC12\",pc12),mk(\"PC24\",pc24),mk(\"SF50\",sf50)].filter(Boolean);}/* -----------------------------------------------------------------\n   NORMALIZE AIRPORT — maximally tolerant.\n   ----------------------------------------------------------------- */function toNum(v){if(typeof v===\"number\"&&isFinite(v))return v;if(typeof v===\"string\"){const n=Number(v.trim());if(isFinite(n))return n;}return null;}function normalizeAirportWithReason(raw){if(!raw)return{airport:null,reason:\"raw null\"};const r=raw?.properties&&typeof raw.properties===\"object\"?{...raw.properties,geometry:raw.geometry}:raw;let lat=null;let lng=null;if(Array.isArray(r?.geometry?.coordinates)){lng=toNum(r.geometry.coordinates[0]);lat=toNum(r.geometry.coordinates[1]);}if(lat==null&&Array.isArray(r?.coordinates)&&r.coordinates.length>=2){lng=toNum(r.coordinates[0]);lat=toNum(r.coordinates[1]);}if(lat==null&&r?.coordinates&&typeof r.coordinates===\"object\"){lat=toNum(r.coordinates.latitude??r.coordinates.lat);lng=toNum(r.coordinates.longitude??r.coordinates.lng??r.coordinates.lon);}if(lat==null){lat=toNum(r?.latitude??r?.lat??r?.Latitude??r?.LAT??r?.latitude_deg??r?.y);}if(lng==null){lng=toNum(r?.longitude??r?.lng??r?.lon??r?.Longitude??r?.LON??r?.longitude_deg??r?.x);}if(lat==null||lng==null)return{airport:null,reason:\"no coords\"};if(!isFinite(lat)||!isFinite(lng))return{airport:null,reason:\"coords not finite\"};if(Math.abs(lat)>90||Math.abs(lng)>180)return{airport:null,reason:`coords out of range lat=${lat} lng=${lng}`};const icaoCandidate=r?.icao_code??r?.icao??r?.ICAO??r?.icao_ident??r?.ident??r?.code??r?.airport_code??r?.gps_code;const icaoStr=icaoCandidate!=null&&icaoCandidate!==\"\"?String(icaoCandidate):\"\";// Build a unique id. If we have a real ICAO use it, otherwise fall back\n// to the numeric `id` from the geojson so we can still display the pin\n// on the map. The detail endpoint requires a real ICAO though, so pins\n// without one can't be enriched via /airports/{icao}.\nconst fallbackId=r?.id!=null?String(r.id):\"\";const stableId=icaoStr||fallbackId;if(!stableId)return{airport:null,reason:\"no icao/id\"};const hasRealIcao=/[A-Z]/i.test(icaoStr);const cityRaw=r?.served_city||r?.city||r?.municipality||r?.town||\"\";const rawName=r?.name||r?.airport_name||r?.title||r?.label||r?.display_name||\"\";// Build a usable name with fallbacks. Order: real name > \"City Airport\" >\n// ICAO code > generic \"Airport\". We keep the airport even when only the\n// ICAO is known — the production API sometimes returns sparse properties.\nlet name=rawName?String(rawName):\"\";if(!name){if(cityRaw)name=`${cityRaw} Airport`;else if(hasRealIcao)name=String(icaoStr).toUpperCase();else name=\"Airport\";}const cc=r?.country?.iso_code||r?.country_code||r?.countryCode||r?.iso2||r?.iso_country;const city=cityRaw?String(cityRaw):undefined;const airport={id:stableId,name,icao:icaoStr,iata:r?.iata_code?String(r.iata_code):r?.iata,city,country:typeof r?.country===\"string\"?r.country:r?.country?.name?String(r.country.name):undefined,countryCode:cc?String(cc).toUpperCase():undefined,lat,lng,tags:jetflyOperabilityToTags(r)};return{airport};}function normalizeAirport(raw){return normalizeAirportWithReason(raw).airport;}/* ================================================================\n   UI SUB-COMPONENTS\n   ================================================================ */function TagLine({tags,fontHanken}){if(!tags?.length)return null;const by={operable:[],restricted:[],unoperable:[]};for(const t of tags)by[t.status].push(t.label);const parts=[];if(by.operable.length)parts.push({status:\"operable\",text:`${by.operable.join(\", \")} Operable`});if(by.restricted.length)parts.push({status:\"restricted\",text:`${by.restricted.join(\", \")} Restricted`});if(by.unoperable.length)parts.push({status:\"unoperable\",text:`${by.unoperable.join(\", \")} Unoperable`});return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:14,marginTop:6},children:parts.map((p,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:8,...wf(fontHanken,{fontSize:12,fontWeight:500})},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:8,height:8,borderRadius:999,background:statusColor(p.status),display:\"inline-block\",boxShadow:`0 0 0 3px ${statusColor(p.status)}30`}}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"rgba(0,0,0,0.50)\"},children:p.text})]},i))});}function AircraftCard(props){const{fontHanken,fontBegum,pinColor,quote,loading,opStatus}=props;return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",background:\"rgba(255,255,255,0.98)\",backdropFilter:\"blur(24px)\",borderRadius:16,border:\"1px solid rgba(0,0,0,0.06)\",padding:\"18px 20px 16px\",boxShadow:\"0 2px 12px rgba(0,0,0,0.04)\",display:\"flex\",flexDirection:\"column\"},children:[props.img?/*#__PURE__*/_jsx(\"img\",{src:props.img,alt:\"\",style:{height:48,marginBottom:10,display:\"block\",objectFit:\"contain\"}}):/*#__PURE__*/_jsx(\"div\",{style:{height:48,marginBottom:10}}),/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:10,fontWeight:600,letterSpacing:\".12em\",textTransform:\"uppercase\"}),color:pinColor,marginBottom:4},children:props.registration||props.typeLabel}),props.registration?/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:13,fontWeight:500}),color:\"rgba(0,0,0,0.55)\",marginBottom:12},children:props.typeLabel}):null,/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:36,fontWeight:500}),letterSpacing:\"-0.02em\",marginBottom:14,color:\"rgba(0,0,0,0.85)\"},children:loading?\"…\":quote?.duration||\"—\"}),/*#__PURE__*/_jsxs(\"div\",{style:{background:\"#FAF7F0\",borderRadius:12,padding:\"12px 14px\",display:\"flex\",flexDirection:\"column\",gap:10,border:\"1px solid rgba(0,0,0,0.04)\"},children:[[{label:\"Departure fee\",value:quote?.departure_fee||\"—\"},{label:\"Arrival fee\",value:quote?.arrival_fee||\"—\"},{label:\"Flight hour cost\",value:quote?.flight_fee||\"—\"}].map((f,fi)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",...wf(fontHanken,{fontSize:12,fontWeight:500}),color:\"rgba(0,0,0,0.50)\"},children:[/*#__PURE__*/_jsx(\"span\",{children:f.label}),/*#__PURE__*/_jsx(\"span\",{style:{color:\"rgba(0,0,0,0.72)\"},children:f.value})]},fi)),/*#__PURE__*/_jsx(\"div\",{style:{height:1,background:\"rgba(0,0,0,0.06)\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"baseline\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{...wf(fontBegum,{fontSize:9,letterSpacing:\"0.14em\",textTransform:\"uppercase\"}),color:\"rgba(0,0,0,0.40)\"},children:\"TOTAL PRICE\"}),/*#__PURE__*/_jsx(\"span\",{style:{...wf(fontHanken,{fontSize:16,fontWeight:700}),color:\"rgba(0,0,0,0.85)\"},children:quote?.total||\"—\"})]})]}),opStatus===\"restricted\"?/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:10,background:\"rgba(229,139,90,0.10)\",border:\"1px solid rgba(229,139,90,0.25)\",borderRadius:10,padding:\"8px 12px\",display:\"flex\",alignItems:\"center\",gap:6,...wf(fontHanken,{fontSize:11,fontWeight:500,lineHeight:1.45}),color:\"#C27A3A\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:6,height:6,borderRadius:\"50%\",background:\"#E58B5A\",flexShrink:0}}),\"Restricted at one or both airports\"]}):null,props.note?/*#__PURE__*/_jsx(\"div\",{style:{marginTop:10,background:`${pinColor}10`,border:`1px solid ${pinColor}25`,borderRadius:10,padding:\"8px 12px\",...wf(fontHanken,{fontSize:11,fontWeight:500,lineHeight:1.45}),color:\"#8B6914\"},children:props.note}):null]});}/* ================================================================\n   MAIN COMPONENT\n   ================================================================ */export default function JetflyExplorer(props){const isStatic=useIsStaticRenderer();if(isStatic)return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"}});const{apiBaseUrl,useRealData,initialZoom,initialCenterLat,initialCenterLng,padding,mapWidthRatio,disclaimer,clusterDensity,showZoomControls,buttonRadius,panelBg,panelBorder,pinColor:pinColorProp,pinBgColor:pinBgColorProp,borderColor:borderColorProp,zone1Color:zone1ColorProp,zone2Color:zone2ColorProp,zoneOutColor:zoneOutColorProp,oceanColor:oceanColorProp,cityLabelColor:cityLabelColorProp,heroTitle,heroSubtitle,topDisclaimerText,topDisclaimerLinkText,topDisclaimerLinkUrl,mobileMapRatio,desktopFillPercent,mobileFillPercent,heroTitleSize,fractionalButtonText,fractionalButtonUrl,card1Title,card1Url,card2Title,card2Url,deletedAirports,fontBegum,fontBegumCta,fontHanken,fleetCollection,opacity,apiVersion,stagingApiBaseUrl}=props;const pinColor=toHex(pinColorProp||\"#C4945A\");const pinBgColor=toHex(pinBgColorProp||\"#FFFFFF\");const borderColor=toHex(borderColorProp||\"#B8B0A0\");const zone1Color=toHex(zone1ColorProp||\"#FFFFFF\");const zone2Color=toHex(zone2ColorProp||\"#E8DECC\");const zoneOutColor=toHex(zoneOutColorProp||\"#A89B85\");const oceanColor=toHex(oceanColorProp||\"#D6EAF0\");const cityLabelColor=toHex(cityLabelColorProp||\"#000000\");const btnR=buttonRadius??10;const fleetHiddenRef=useRef(null);const[fleetItems,setFleetItems]=useState([]);useEffect(()=>{if(!fleetCollection||!fleetHiddenRef.current)return;const parse=()=>{const items=parseFleetFromDOM(fleetHiddenRef.current);setFleetItems(items);};const t=setTimeout(parse,600);const mo=new MutationObserver(parse);mo.observe(fleetHiddenRef.current,{childList:true,subtree:true});return()=>{clearTimeout(t);mo.disconnect();};},[fleetCollection]);const aircraftMetaByKey=useMemo(()=>({PC12:{key:\"PC12\",label:\"PC-12\",name:\"Pilatus PC-12\"},PC24:{key:\"PC24\",label:\"PC-24\",name:\"Pilatus PC-24\"},SF50:{key:\"SF50\",label:\"SF50\",name:\"Cirrus SF50\"}}),[]);const rootOpacity=clamp(opacity?.end??1,0,1);// `base` automatically switches between prod and staging based on the\n// current hostname:\n//   • jetfly.com (and subdomains) → prod API (app.jetfly.com)\n//   • everything else (framer.website, framercanvas.com, localhost, etc.)\n//     → staging API (stg.app.jetfly.com — has framer origins\n//     CORS-whitelisted, confirmed by Ralph)\nconst base=useMemo(()=>{// Hardcoded fallbacks so this works even if the props are empty,\n// misconfigured, or stripped by Framer.\nconst PROD_FALLBACK=\"https://app.jetfly.com/api\";const STAGING_FALLBACK=\"https://stg.app.jetfly.com/api\";// Normalize a URL string: trim, strip trailing slash, ensure https://\nconst norm=(u,fallback)=>{let s=String(u||\"\").trim();if(!s)return fallback;s=s.replace(/\\/+$/,\"\");// Add https:// if missing — guards against props like\n// \"stg.app.jetfly.com\" being treated as relative paths.\nif(!/^https?:\\/\\//i.test(s))s=\"https://\"+s;// Sanity check: if the URL contains \"https\" anywhere except the\n// start (concat foul-up), fall back to the safe default.\nconst httpsIdx=s.indexOf(\"https\",8);if(httpsIdx!==-1)return fallback;return s;};const prod=norm(apiBaseUrl,PROD_FALLBACK);const staging=norm(stagingApiBaseUrl,STAGING_FALLBACK);if(typeof window===\"undefined\")return prod;const h=(window.location?.hostname||\"\").toLowerCase();// PROD only when hostname is literally jetfly.com or *.jetfly.com.\n// Every other hostname (framer.website, framercanvas.com, localhost,\n// 127.0.0.1, IP, etc.) → STAGING.\nconst isProd=h===\"jetfly.com\"||h.endsWith(\".jetfly.com\");const chosen=isProd?prod:staging;return chosen;},[apiBaseUrl,stagingApiBaseUrl]);const isMockMode=!useRealData;// Track CORS-blocked state so we silently fall back without retrying\nconst corsBlockedRef=useRef(false);const AIRPORT_DETAIL_CACHE_KEY=\"__jetflyAirportDetailCache\";const getAirportDetailCache=()=>{if(typeof window===\"undefined\")return{};if(!window[AIRPORT_DETAIL_CACHE_KEY]){window[AIRPORT_DETAIL_CACHE_KEY]={};}return window[AIRPORT_DETAIL_CACHE_KEY];};const pendingDetailFetches=useRef(new Set);const sessionIdRef=useRef(getSessionId());// Per Ralph: the staging API (stg.app.jetfly.com) has framercanvas.com\n// whitelisted in CORS. The prod API (app.jetfly.com) only allows\n// jetfly.com origins. The `base` memo above automatically resolves to\n// the right endpoint based on the current hostname.\nconst apiFetch=(url,init={})=>{const headers=new Headers(init.headers||{});const v=String(apiVersion||\"\").trim();if(v)headers.set(\"X-APP-VERSION\",v);// Session ID header — the ONLY custom header in Ralph's CORS allowlist\n// for Framer origins.\nif(sessionIdRef.current){headers.set(\"X-JETFLY-API-SESSION-ID\",sessionIdRef.current);}return fetch(url,{...init,headers});};const PERSIST_KEY=\"__jetflyExplorerState\";const readPersisted=()=>{if(typeof window===\"undefined\")return{};return window[PERSIST_KEY]||{};};const writePersisted=patch=>{if(typeof window===\"undefined\")return;window[PERSIST_KEY]={...window[PERSIST_KEY]||{},...patch};};const persisted0=readPersisted();const[fromText,setFromText]=useState(persisted0.fromText||\"\");const[toText,setToText]=useState(persisted0.toText||\"\");const[fromSel,setFromSel]=useState(persisted0.fromSel??null);const[toSel,setToSel]=useState(persisted0.toSel??null);const[loading,setLoading]=useState(false);const[err,setErr]=useState(null);const[quote,setQuote]=useState(persisted0.quote??null);// Sync state -> window cache so it survives a Framer remount.\nuseEffect(()=>{writePersisted({fromText,toText,fromSel,toSel,quote});},[fromText,toText,fromSel,toSel,quote]);const[airports,setAirports]=useState(useRealData===false?MOCK_AIRPORTS:[]);const mapHostRef=useRef(null);const mapRef=useRef(null);const maplibreRef=useRef(null);const mapLoadedRef=useRef(false);const routeSourceRef=useRef(false);const airportsSourceRef=useRef(false);const hoverPopupRef=useRef(null);const[isMobile,setIsMobile]=useState(false);const heroRef=useRef(null);const[heroH,setHeroH]=useState(0);const[hasInteracted,setHasInteracted]=useState(false);const fromInputRef=useRef(null);const toInputRef=useRef(null);const activeSideRef=useRef(null);const rootRef=useRef(null);const[openFrom,setOpenFrom]=useState(false);const[openTo,setOpenTo]=useState(false);const[searching,setSearching]=useState(false);const[searchRes,setSearchRes]=useState([]);const[mapReady,setMapReady]=useState(false);// UPDATE: track when airports are loaded + painted to hide loader\nconst[airportsLoaded,setAirportsLoaded]=useState(false);const[panelCollapsed,setPanelCollapsed]=useState(typeof persisted0.panelCollapsed===\"boolean\"?persisted0.panelCollapsed:false);const[mobileMapExpanded,setMobileMapExpanded]=useState(false);useEffect(()=>{writePersisted({panelCollapsed});},[panelCollapsed]);// Hero title fade-in on mount\nconst[titleVisible,setTitleVisible]=useState(false);useEffect(()=>{const t=window.setTimeout(()=>setTitleVisible(true),60);return()=>window.clearTimeout(t);},[]);const hasAnyValue=!!fromSel||!!toSel||!!String(fromText).trim()||!!String(toText).trim();const isAnyOpen=openFrom||openTo;const searchMode=isAnyOpen||hasAnyValue;const hideHero=searchMode;const menuOpen=openFrom||openTo;const EUROPE_BOUNDS=[[-15,35],[35,62]];// Resolved layout ratios — must be defined BEFORE refitView and the\n// recenter helpers, otherwise the closure captures undefined and\n// panelPx calculations silently fail.\nconst mapRatio=clamp(Number(mapWidthRatio)||.5,.2,.7);const mmr=clamp(Number(mobileMapRatio)||.25,.15,.6);const formPart=1-mmr;/* ---------------- helpers ---------------- */function removeHoverPopup(){try{hoverPopupRef.current?.remove?.();}catch{}hoverPopupRef.current=null;}function ensurePopupCSS(){if(document.getElementById(\"jetfly-popup-css\"))return;const style=document.createElement(\"style\");style.id=\"jetfly-popup-css\";style.textContent=`\n            .maplibregl-popup.jetfly-popup-clean .maplibregl-popup-content {\n                background: transparent !important;\n                border: none !important;\n                box-shadow: none !important;\n                padding: 0 !important;\n                border-radius: 0 !important;\n            }\n            .maplibregl-popup.jetfly-popup-clean .maplibregl-popup-tip {\n                display: none !important;\n            }\n            .maplibregl-popup.jetfly-popup-clean .maplibregl-popup-close-button {\n                display: none !important;\n            }\n            /* Hard reset for everything inside our popup — wins over any\n               inherited Framer / Tailwind / MapLibre cascade. */\n            .jetfly-airport-popup,\n            .jetfly-airport-popup * {\n                margin: 0 !important;\n                padding: 0 !important;\n                border: 0 !important;\n                box-sizing: border-box !important;\n                line-height: 1.3 !important;\n                letter-spacing: normal !important;\n                text-transform: none !important;\n                font-style: normal !important;\n                text-decoration: none !important;\n                background: transparent;\n            }\n            .jetfly-airport-popup {\n                background: rgba(255,255,255,0.92) !important;\n                backdrop-filter: blur(8px) !important;\n                -webkit-backdrop-filter: blur(8px) !important;\n                border: 1px solid rgba(0,0,0,0.04) !important;\n                border-radius: 8px !important;\n                padding: 10px 14px !important;\n                box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;\n                min-width: 180px !important;\n                max-width: 320px !important;\n            }\n            .jetfly-airport-popup .jap-header {\n                display: flex !important;\n                align-items: center !important;\n                gap: 10px !important;\n            }\n            .jetfly-airport-popup .jap-name {\n                font-size: 14px !important;\n                font-weight: 600 !important;\n                color: rgba(0,0,0,0.82) !important;\n                flex: 1 !important;\n            }\n            .jetfly-airport-popup .jap-code {\n                font-size: 11px !important;\n                font-weight: 600 !important;\n                letter-spacing: 0.06em !important;\n                color: rgba(0,0,0,0.40) !important;\n            }\n            .jetfly-airport-popup .jap-sep {\n                width: 100% !important;\n                height: 1px !important;\n                background: rgba(0,0,0,0.08) !important;\n                margin: 8px 0 !important;\n            }\n            .jetfly-airport-popup .jap-tags {\n                display: flex !important;\n                flex-direction: column !important;\n                gap: 5px !important;\n            }\n            .jetfly-airport-popup .jap-tag {\n                display: inline-flex !important;\n                align-items: center !important;\n                gap: 8px !important;\n            }\n            .jetfly-airport-popup .jap-dot {\n                width: 8px !important;\n                height: 8px !important;\n                border-radius: 999px !important;\n                display: inline-block !important;\n                flex-shrink: 0 !important;\n            }\n            .jetfly-airport-popup .jap-tag-label {\n                font-size: 12px !important;\n                font-weight: 500 !important;\n                color: rgba(0,0,0,0.50) !important;\n            }\n        `;document.head.appendChild(style);}// UPDATE: improved hover popup — name, ICAO, fleet tags grouped by status\nfunction showHoverPopup(map,coords,props2){let rawName=String(props2?.name||\"\").trim();const code=String(props2?.code||\"\").trim();const ff=fontHanken?.family||fontHanken?.fontFamily||\"sans-serif\";let tags=(()=>{try{return JSON.parse(props2?.tags||\"[]\");}catch{return[];}})();// Pull details from the cache (filled by previous hovers / searches).\n// If the geojson didn't have name/tags, but we have them cached, use\n// the cached version. Cache is keyed by ICAO code.\nconst cache=getAirportDetailCache();if(code){const cached=cache[safeUpper(code)];if(cached){if(!rawName&&cached.name)rawName=cached.name;if((!tags||tags.length===0)&&cached.tags?.length){tags=cached.tags;}}}// Bail if there's truly nothing useful to show\nif(!rawName&&!code&&tags.length===0)return;const name=rawName||code||\"Airport\";// If we don't have a real name OR we don't have tags, kick off a\n// background fetch to populate the cache for next time. We DO show\n// the popup immediately with whatever we have — the next hover will\n// be richer.\nconst needsFetch=code&&(!rawName||rawName===\"Airport\"||!tags||tags.length===0);if(needsFetch){const icaoKey=safeUpper(code);if(!pendingDetailFetches.current.has(icaoKey)&&!isMockMode&&!corsBlockedRef.current){pendingDetailFetches.current.add(icaoKey);fetchAirportByICAO(code).then(a=>{if(a){cache[icaoKey]={name:a.name,city:a.city,country:a.country,countryCode:a.countryCode,tags:a.tags,fetchedAt:Date.now()};// Re-render the airport features on the map so\n// hover popups & list rendering pick up the new\n// metadata immediately.\ntry{syncAirportsData();}catch{}}}).catch(()=>{}).finally(()=>{pendingDetailFetches.current.delete(icaoKey);});}}// Group tags by status — same logic as TagLine component\nconst by={operable:[],restricted:[],unoperable:[]};for(const t of tags)by[t.status].push(t.label);const parts=[];const joinLabels=arr=>{if(arr.length<=1)return arr.join(\"\");if(arr.length===2)return`${arr[0]} & ${arr[1]}`;return`${arr.slice(0,-1).join(\", \")} & ${arr[arr.length-1]}`;};if(by.operable.length)parts.push({status:\"operable\",text:`${joinLabels(by.operable)} Operable`});if(by.restricted.length)parts.push({status:\"restricted\",text:`${joinLabels(by.restricted)} Restricted`});if(by.unoperable.length)parts.push({status:\"unoperable\",text:`${joinLabels(by.unoperable)} Unoperable`});// Legend-styled pill: small, translucent, uppercase, pastille + label\n// Each row matches the bottom legend style exactly:\n//   <pastille 8x8 with border> <UPPERCASE 10px label spaced>\n// Styles are defined in the scoped CSS block via ensurePopupCSS().\n// Only font-family is applied inline (it depends on the fontHanken prop).\nconst tagsHtml=parts.length?parts.map(p=>{const c=statusColor(p.status);return`<div class=\"jap-tag\"><span class=\"jap-dot\" style=\"background:${c};box-shadow:0 0 0 3px ${c}30;\"></span><span class=\"jap-tag-label\">${p.text}</span></div>`;}).join(\"\"):\"\";const headerHtml=`<div class=\"jap-header\">\n            <span class=\"jap-name\">${name}</span>\n            ${code?`<span class=\"jap-code\">${code}</span>`:\"\"}\n        </div>`;const separatorHtml=parts.length?`<div class=\"jap-sep\"></div>`:\"\";ensurePopupCSS();const el=document.createElement(\"div\");// Apply font-family inline since it depends on the fontHanken prop.\n// Everything else is locked down via the scoped CSS reset above.\nel.innerHTML=`<div class=\"jetfly-airport-popup\" style=\"font-family:${ff};\">\n            ${headerHtml}\n            ${separatorHtml}\n            ${tagsHtml?`<div class=\"jap-tags\">${tagsHtml}</div>`:\"\"}\n        </div>`;removeHoverPopup();const PopupCtor=maplibreRef.current?.Popup||maplibreRef.current?.default?.Popup;if(!PopupCtor)return;hoverPopupRef.current=new PopupCtor({closeButton:false,closeOnClick:false,offset:14,maxWidth:\"320px\",className:\"jetfly-popup-clean\"}).setDOMContent(el.firstElementChild).setLngLat(coords).addTo(map);}function showClusterHoverPopup(map,coords,count){const ff=fontHanken?.family||fontHanken?.fontFamily||\"sans-serif\";ensurePopupCSS();// Match the legend \"X airports\" style at the bottom right of the map\nconst el=document.createElement(\"div\");el.innerHTML=`<div style=\"background:rgba(255,255,255,0.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(0,0,0,0.04);border-radius:8px;padding:8px 12px;box-shadow:0 4px 16px rgba(0,0,0,0.06);display:flex;align-items:center;gap:6px;\">\n            <span style=\"width:8px;height:8px;border-radius:50%;background:${pinColor};box-shadow:0 0 0 2px ${pinColor}25;flex-shrink:0;\"></span>\n            <span style=\"font-family:${ff};font-size:10px;font-weight:600;letter-spacing:.04em;color:rgba(0,0,0,0.50);white-space:nowrap;\">\n                <span style=\"color:rgba(0,0,0,0.75);font-weight:700;\">${count}</span> airports\n            </span>\n        </div>`;removeHoverPopup();const PopupCtor=maplibreRef.current?.Popup||maplibreRef.current?.default?.Popup;if(!PopupCtor)return;hoverPopupRef.current=new PopupCtor({closeButton:false,closeOnClick:false,offset:14,maxWidth:\"240px\",className:\"jetfly-popup-clean\"}).setDOMContent(el.firstElementChild).setLngLat(coords).addTo(map);}/* ---------------- airports GeoJSON source + cluster layers ---------------- */function ensureAirportLayers(map){if(airportsSourceRef.current)return;const cRadius=Math.round(20+clamp(Number(clusterDensity)||50,1,100)/100*100);if(!map.getSource(\"airports\")){map.addSource(\"airports\",{type:\"geojson\",data:{type:\"FeatureCollection\",features:[]},cluster:true,clusterRadius:cRadius,clusterMaxZoom:14,buffer:512,tolerance:.5,maxzoom:14});}const pc=pinColor;if(!map.getLayer(\"airports-clusters\")){map.addLayer({id:\"airports-clusters\",type:\"circle\",source:\"airports\",filter:[\"has\",\"point_count\"],paint:{\"circle-color\":pinBgColor,\"circle-opacity\":.88,\"circle-stroke-color\":`${pc}25`,\"circle-stroke-width\":1,\"circle-radius\":11}});}if(!map.getLayer(\"airports-cluster-count\")){map.addLayer({id:\"airports-cluster-count\",type:\"symbol\",source:\"airports\",filter:[\"has\",\"point_count\"],layout:{\"text-field\":[\"to-string\",[\"get\",\"point_count_abbreviated\"]],\"text-size\":10,\"text-font\":[\"Noto Sans Regular\"],\"text-allow-overlap\":true},paint:{\"text-color\":`${pc}BB`}});}if(!map.getLayer(\"airports-unclustered\")){map.addLayer({id:\"airports-unclustered\",type:\"circle\",source:\"airports\",filter:[\"!\",[\"has\",\"point_count\"]],paint:{\"circle-radius\":9,\"circle-color\":pinBgColor,\"circle-opacity\":.92,\"circle-stroke-color\":`${pc}35`,\"circle-stroke-width\":1}});}if(!map.getLayer(\"airports-unclustered-dot\")){map.addLayer({id:\"airports-unclustered-dot\",type:\"circle\",source:\"airports\",filter:[\"!\",[\"has\",\"point_count\"]],paint:{\"circle-radius\":3,\"circle-color\":pc,\"circle-opacity\":.85,\"circle-blur\":0}});}if(!map.getLayer(\"airports-unclustered-label\")){map.addLayer({id:\"airports-unclustered-label\",type:\"symbol\",source:\"airports\",filter:[\"!\",[\"has\",\"point_count\"]],minzoom:5,layout:{\"text-field\":[\"get\",\"code\"],\"text-size\":10,\"text-offset\":[0,1.2],\"text-anchor\":\"top\",\"text-allow-overlap\":false,\"symbol-avoid-edges\":false,\"text-ignore-placement\":false,\"text-font\":[\"Noto Sans Regular\"],\"text-padding\":2,\"symbol-sort-key\":100},paint:{\"text-color\":\"rgba(0,0,0,0.55)\",\"text-halo-color\":\"#FFFFFF\",\"text-halo-width\":1.2}});}const pinLayers=[\"airports-unclustered\",\"airports-unclustered-dot\"];for(const layerId of pinLayers){map.on(\"mouseenter\",layerId,e=>{try{map.getCanvas().style.cursor=\"pointer\";}catch{}const f=e?.features?.[0];if(!f)return;const coords=f.geometry?.coordinates;if(!coords)return;showHoverPopup(map,coords,f.properties);});map.on(\"mouseleave\",layerId,()=>{try{map.getCanvas().style.cursor=\"\";}catch{}removeHoverPopup();});map.on(\"mousemove\",layerId,e=>{const f=e?.features?.[0];if(!f)return;const coords=f.geometry?.coordinates;if(!coords)return;showHoverPopup(map,coords,f.properties);});}map.on(\"mouseenter\",\"airports-clusters\",e=>{try{map.getCanvas().style.cursor=\"pointer\";}catch{}const f=e?.features?.[0];if(!f)return;const coords=f.geometry?.coordinates;const count=f.properties?.point_count||0;if(!coords)return;showClusterHoverPopup(map,coords,count);});map.on(\"mouseleave\",\"airports-clusters\",()=>{try{map.getCanvas().style.cursor=\"\";}catch{}removeHoverPopup();});map.on(\"click\",\"airports-clusters\",e=>{const feature=e?.features?.[0];if(!feature)return;const clusterId=feature.properties?.cluster_id;const source=map.getSource(\"airports\");if(!source?.getClusterExpansionZoom)return;source.getClusterExpansionZoom(clusterId,(err2,zoom)=>{if(err2)return;map.easeTo({center:feature.geometry.coordinates,zoom:zoom+.3,duration:450});});});map.on(\"click\",\"airports-unclustered-dot\",e=>{const f=e?.features?.[0];if(!f)return;const code=f.properties?.code||\"\";if(!code||!/[A-Z]/i.test(code))return;const name=f.properties?.name||\"Airport\";const city=f.properties?.city||\"\";const cc=f.properties?.countryCode||\"\";const tags=(()=>{try{return JSON.parse(f.properties?.tags||\"[]\");}catch{return[];}})();const coords=f.geometry?.coordinates;if(!coords)return;const airport={id:code,name,icao:code,city,country:\"\",countryCode:cc,lat:coords[1],lng:coords[0],tags};if(!fromSel){setFromSel(airport);setFromText(airport.name);setHasInteracted(true);}else if(!toSel){setToSel(airport);setToText(airport.name);setHasInteracted(true);}else{setToSel(airport);setToText(airport.name);}setOpenFrom(false);setOpenTo(false);setSearchRes([]);});map.on(\"dragstart\",()=>removeHoverPopup());map.on(\"zoomstart\",()=>removeHoverPopup());airportsSourceRef.current=true;}function syncAirportsData(){const map=mapRef.current;if(!map||!mapLoadedRef.current)return;ensureAirportLayers(map);const deletedIcaos=new Set((deletedAirports||\"\").split(/[\\s,;]+/).map(s=>s.trim().toUpperCase()).filter(Boolean));const features=[];const cache=getAirportDetailCache();for(const a of airports||[]){const lng=Number(a.lng);const lat=Number(a.lat);if(!isFinite(lng)||!isFinite(lat))continue;if(Math.abs(lat)>90||Math.abs(lng)>180)continue;// Skip airports the user excluded via the Deleted Airports prop\nif(deletedIcaos.has(safeUpper(a.icao)))continue;const displayCode=/[A-Z]/i.test(a?.icao||\"\")?String(a.icao):\"\";// Merge in cached details from /airports/{icao} lazy-fetches.\n// If the airport pool entry has no name (geojson only has id),\n// use whatever the cache has fetched.\nconst cached=cache[safeUpper(a.icao)]||{};const mergedName=a?.name||cached.name||\"\";const mergedCity=a?.city||cached.city||\"\";const mergedCountryCode=a?.countryCode||cached.countryCode||\"\";const mergedTags=a?.tags&&a.tags.length>0?a.tags:cached.tags||[];features.push({type:\"Feature\",properties:{name:String(mergedName),code:displayCode,icao:String(a?.icao||\"\"),city:String(mergedCity),countryCode:String(mergedCountryCode),tags:JSON.stringify(mergedTags)},geometry:{type:\"Point\",coordinates:[lng,lat]}});}const fc={type:\"FeatureCollection\",features};try{const source=map.getSource(\"airports\");if(source&&typeof source.setData===\"function\"){source.setData(fc);try{map.triggerRepaint?.();}catch{}}else{setTimeout(()=>{try{const s=map.getSource(\"airports\");if(s&&typeof s.setData===\"function\"){s.setData(fc);map.triggerRepaint?.();}}catch{}},200);}}catch{}}function setAirportsVisible(visible){const map=mapRef.current;if(!map||!mapLoadedRef.current)return;const v=visible?\"visible\":\"none\";const layers=[\"airports-clusters\",\"airports-cluster-count\",\"airports-unclustered\",\"airports-unclustered-dot\",\"airports-unclustered-label\"];for(const lid of layers){try{if(!map.getLayer(lid))continue;map.setLayoutProperty(lid,\"visibility\",v);}catch{}}if(!visible)removeHoverPopup();}/* ---------------- Route line ---------------- */// UPDATE: removed duration label bubble (route-label source/layers + label feature creation)\nfunction updateRoute(){const map=mapRef.current;if(!map||!mapLoadedRef.current)return;if(!routeSourceRef.current){if(!map.getSource(\"route\")){map.addSource(\"route\",{type:\"geojson\",data:{type:\"FeatureCollection\",features:[]},buffer:512,tolerance:.5,maxzoom:14});}if(!map.getLayer(\"route-line\")){map.addLayer({id:\"route-line\",type:\"line\",source:\"route\",layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":pinColor,\"line-width\":1.8,\"line-dasharray\":[6,4],\"line-opacity\":.45}});}if(!map.getSource(\"sel-markers\")){map.addSource(\"sel-markers\",{type:\"geojson\",data:{type:\"FeatureCollection\",features:[]},buffer:512,tolerance:.5,maxzoom:14});}if(!map.getLayer(\"sel-halo\")){map.addLayer({id:\"sel-halo\",type:\"circle\",source:\"sel-markers\",paint:{\"circle-radius\":11,\"circle-color\":pinBgColor,\"circle-opacity\":.95,\"circle-stroke-color\":pinColor,\"circle-stroke-width\":2}});}if(!map.getLayer(\"sel-dot\")){map.addLayer({id:\"sel-dot\",type:\"circle\",source:\"sel-markers\",paint:{\"circle-radius\":3,\"circle-color\":pinColor,\"circle-opacity\":1}});}routeSourceRef.current=true;}const routeFC={type:\"FeatureCollection\",features:[]};const markersFC={type:\"FeatureCollection\",features:[]};if(fromSel)markersFC.features.push({type:\"Feature\",properties:{kind:\"from\"},geometry:{type:\"Point\",coordinates:[fromSel.lng,fromSel.lat]}});if(toSel)markersFC.features.push({type:\"Feature\",properties:{kind:\"to\"},geometry:{type:\"Point\",coordinates:[toSel.lng,toSel.lat]}});if(fromSel&&toSel){const arcCoords=generateArc([fromSel.lng,fromSel.lat],[toSel.lng,toSel.lat],48);routeFC.features.push({type:\"Feature\",properties:{},geometry:{type:\"LineString\",coordinates:arcCoords}});}try{map.getSource(\"route\")?.setData?.(routeFC);}catch{}try{map.getSource(\"sel-markers\")?.setData?.(markersFC);}catch{}}/* ---------------- Refit view — simple & reliable ---------------- */const refitTimerRef=useRef(null);function refitView(delay=0){clearTimeout(refitTimerRef.current);const doFit=()=>{const map=mapRef.current;const mlib=maplibreRef.current;if(!map||!mapLoadedRef.current||!mlib?.LngLatBounds)return;if(!fromSel||!toSel)return;// Sanity: identical airports or non-finite coordinates would\n// produce NaN bounds and crash MapLibre. Skip refit in that case\n// — the error banner shown by fetchEstimate is enough UX.\nconst fLng=Number(fromSel.lng);const fLat=Number(fromSel.lat);const tLng=Number(toSel.lng);const tLat=Number(toSel.lat);if(!isFinite(fLng)||!isFinite(fLat)||!isFinite(tLng)||!isFinite(tLat))return;if(safeUpper(fromSel.icao)===safeUpper(toSel.icao)||fLng===tLng&&fLat===tLat){// Center on the single airport at a reasonable zoom.\ntry{const cw0=map.getContainer()?.clientWidth||0;const panelPx0=!isMobile&&!panelCollapsed?Math.round(cw0*(1-mapRatio)):0;map.easeTo({center:[fLng,fLat],zoom:7,duration:400,padding:{top:0,bottom:0,left:panelPx0,right:0}});}catch{}return;}const container=map.getContainer();const cw=container?.clientWidth||0;const ch=container?.clientHeight||0;if(cw<100||ch<100)return;// Panel width — only when visible\nconst panelPx=!isMobile&&!panelCollapsed?Math.round(cw*(1-mapRatio)):0;// Build bounds from the full arc (not just endpoints)\nconst arc=generateArc([fromSel.lng,fromSel.lat],[toSel.lng,toSel.lat],48);const b=new mlib.LngLatBounds(arc[0],arc[0]);for(const pt of arc)b.extend(pt);// Compute padding so the arc fills the configured % of visible map\n// area. fillPercent is the % of map space the route should occupy\n// (e.g. 80 → 10% pad each side; 60 → 20% pad each side).\nconst visibleW=Math.max(100,cw-panelPx);const fp=isMobile?mobileFillPercent:desktopFillPercent;const fillRatio=clamp(Number(fp)||80,30,100)/100;const padRatio=(1-fillRatio)/2;const padX=Math.max(20,Math.round(visibleW*padRatio));const padY=Math.max(20,Math.round(ch*padRatio));// Compute the zoom level manually using Web Mercator formula.\n// This is more reliable than fitBounds which silently no-ops in\n// many edge cases (\"cannot fit within canvas\").\nconst sw=b.getSouthWest();const ne=b.getNorthEast();const lngSpan=Math.abs(ne.lng-sw.lng);const latSpan=Math.abs(ne.lat-sw.lat);const midLng=(sw.lng+ne.lng)/2;const midLat=(sw.lat+ne.lat)/2;// Available area for the arc (after subtracting padding)\nconst availW=Math.max(50,visibleW-padX*2);const availH=Math.max(50,ch-padY*2);// Mercator-friendly span computation. For longitude this is\n// straightforward. For latitude we use the simpler formula since\n// we're at moderate latitudes (Europe).\n// Zoom = log2(world_pixels_at_zoom_0 * 360 / (degrees * pixels_avail))\n// World tile size = 512px (MapLibre)\nconst TILE=512;const zoomFromLng=lngSpan>0?Math.log2(availW*360/(TILE*lngSpan)):18;// For lat, account for mercator distortion at mid-latitude\nconst latRad=midLat*Math.PI/180;const latScale=Math.cos(latRad);const zoomFromLat=latSpan>0?Math.log2(availH*360*latScale/(TILE*latSpan)):18;// Take the smaller zoom so both dimensions fit (cap at map maxZoom).\nconst targetZoom=Math.max(1,Math.min(13.5,zoomFromLng,zoomFromLat));// Center offset: shift the center to the right by half the panel\n// width so the route appears centered within the visible area.\n// We do this via `padding` on easeTo, which is the proper way.\nconst animPadding={top:0,bottom:0,left:panelPx,right:0};try{map.easeTo({center:[midLng,midLat],zoom:targetZoom,duration:600,padding:animPadding});}catch{}};if(delay>0){refitTimerRef.current=setTimeout(doFit,delay);}else{doFit();}}function recenterToInitial(duration=350){const map=mapRef.current;if(!map||!mapLoadedRef.current)return;const lng=typeof initialCenterLng===\"number\"&&isFinite(initialCenterLng)?initialCenterLng:8;const lat=typeof initialCenterLat===\"number\"&&isFinite(initialCenterLat)?initialCenterLat:48.5;const z=typeof initialZoom===\"number\"&&initialZoom>0?initialZoom:4;try{const container=map.getContainer();const cw=container?.clientWidth||0;const panelPx=!isMobile&&!panelCollapsed?Math.round(cw*(1-mapRatio)):0;map.easeTo({center:[lng,lat],zoom:z,duration,padding:{top:0,bottom:0,left:panelPx,right:0}});}catch{}}// Recenter the current route (or initial view) WITHOUT changing zoom.\n// Used when the panel opens/closes so the user keeps their zoom level\n// but the visible region shifts to account for the panel width.\nfunction recenterPreservingZoom(duration=350){const map=mapRef.current;if(!map||!mapLoadedRef.current)return;try{const container=map.getContainer();const cw=container?.clientWidth||0;const panelPx=!isMobile&&!panelCollapsed?Math.round(cw*(1-mapRatio)):0;const padding={top:0,bottom:0,left:panelPx,right:0};if(fromSel&&toSel){const midLng=(fromSel.lng+toSel.lng)/2;const midLat=(fromSel.lat+toSel.lat)/2;map.easeTo({center:[midLng,midLat],duration,padding});}else{const lng=typeof initialCenterLng===\"number\"&&isFinite(initialCenterLng)?initialCenterLng:8;const lat=typeof initialCenterLat===\"number\"&&isFinite(initialCenterLat)?initialCenterLat:48.5;map.easeTo({center:[lng,lat],duration,padding});}}catch{}}/* ---------------- Jetfly API calls — silent CORS fallback ---------------- */// DEV: inject test fleet tags on a few well-known airports so the hover\n// popup shows operability tags even when the API doesn't return them.\n// Remove this block once production data is ready.\nfunction injectTestTags(list){const testTagsByIcao={LFPB:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}],LSGG:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"restricted\"}],EGLL:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"unoperable\"}],LFMN:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"restricted\"},{key:\"SF50\",label:\"SF50\",status:\"operable\"}],LIML:[{key:\"PC12\",label:\"PC-12\",status:\"operable\"},{key:\"PC24\",label:\"PC-24\",status:\"operable\"},{key:\"SF50\",label:\"SF50\",status:\"unoperable\"}]};return list.map(a=>{const inject=testTagsByIcao[safeUpper(a.icao)];if(inject&&(!a.tags||a.tags.length===0)){return{...a,tags:inject};}return a;});}async function fetchAirportsGeoForMap(){if(isMockMode){setAirports(injectTestTags(MOCK_AIRPORTS));return;}// Already known to fail — go straight to fallback\nif(corsBlockedRef.current){setAirports(prev=>prev?.length>4?prev:injectTestTags(POPULAR_AIRPORTS));return;}try{const url=base+\"/fractional/airports.geojson\";const res=await apiFetch(url);if(!res.ok)throw new Error(`HTTP ${res.status}`);const gj=await res.json();const feats=Array.isArray(gj?.features)?gj.features:Array.isArray(gj?.data)?gj.data:Array.isArray(gj)?gj:[];const list=[];for(const f of feats){const flat=f?.properties&&typeof f.properties===\"object\"?{...f.properties||{},geometry:f?.geometry}:f;const{airport}=normalizeAirportWithReason(flat);if(airport)list.push(airport);}setAirports(injectTestTags(list.length?list:POPULAR_AIRPORTS));}catch{// CORS or network error — mark blocked so we don't retry\ncorsBlockedRef.current=true;setAirports(prev=>prev?.length>4?prev:injectTestTags(POPULAR_AIRPORTS));}}async function fetchAirportByICAO(icao){const code=safeUpper(icao);if(!code)return null;if(isMockMode||corsBlockedRef.current)return MOCK_AIRPORTS.find(a=>a.icao===code)||null;try{const res=await apiFetch(`${base}/fractional/airports/${code}`);if(!res.ok)throw new Error(`HTTP ${res.status}`);return normalizeAirport(await res.json());}catch{return null;}}// Filter out only truly invalid entries (no ICAO, no name, or non-ICAO id).\n// Many real airports have a name equal to their city (Geneva, Vienna, Zürich)\n// so we no longer reject those — only entries that clearly aren't airports.\nfunction isRealAirport(a){const name=String(a.name||\"\").trim();const icao=String(a.icao||\"\").trim();if(!name||!icao)return false;// ICAO must look like a real airport code (4 letters)\nif(!/^[A-Z]{4}$/i.test(icao))return false;// Exclude airports the user explicitly removed via the Deleted Airports prop\nconst deleted=(deletedAirports||\"\").split(/[\\s,;]+/).map(s=>s.trim().toUpperCase()).filter(Boolean);if(deleted.includes(icao.toUpperCase()))return false;return true;}// Country name → ISO 3166-1 alpha-2 mapping. Used to translate \"france\",\n// \"allemagne\", \"germany\" etc. into country codes so the local search can\n// match all airports in that country via their countryCode field.\nconst COUNTRY_NAME_TO_CODE={// France\nfrance:\"FR\",français:\"FR\",francais:\"FR\",// Germany\nallemagne:\"DE\",germany:\"DE\",deutschland:\"DE\",// United Kingdom\n\"united kingdom\":\"GB\",uk:\"GB\",\"royaume-uni\":\"GB\",royaumeuni:\"GB\",angleterre:\"GB\",england:\"GB\",britain:\"GB\",\"great britain\":\"GB\",// Spain\nspain:\"ES\",espagne:\"ES\",españa:\"ES\",espana:\"ES\",// Italy\nitaly:\"IT\",italie:\"IT\",italia:\"IT\",// Switzerland\nswitzerland:\"CH\",suisse:\"CH\",schweiz:\"CH\",svizzera:\"CH\",// Belgium\nbelgium:\"BE\",belgique:\"BE\",belgië:\"BE\",belgie:\"BE\",// Netherlands\nnetherlands:\"NL\",\"pays-bas\":\"NL\",paysbas:\"NL\",nederland:\"NL\",holland:\"NL\",hollande:\"NL\",// Luxembourg\nluxembourg:\"LU\",// Austria\naustria:\"AT\",autriche:\"AT\",österreich:\"AT\",osterreich:\"AT\",// Portugal\nportugal:\"PT\",// Ireland\nireland:\"IE\",irlande:\"IE\",// Denmark\ndenmark:\"DK\",danemark:\"DK\",danmark:\"DK\",// Sweden\nsweden:\"SE\",suède:\"SE\",suede:\"SE\",sverige:\"SE\",// Norway\nnorway:\"NO\",norvège:\"NO\",norvege:\"NO\",norge:\"NO\",// Finland\nfinland:\"FI\",finlande:\"FI\",suomi:\"FI\",// Poland\npoland:\"PL\",pologne:\"PL\",polska:\"PL\",// Czech Republic\n\"czech republic\":\"CZ\",czechia:\"CZ\",tchéquie:\"CZ\",tchequie:\"CZ\",// Greece\ngreece:\"GR\",grèce:\"GR\",grece:\"GR\",// Turkey\nturkey:\"TR\",turquie:\"TR\",türkiye:\"TR\",turkiye:\"TR\",// Morocco\nmorocco:\"MA\",maroc:\"MA\",// United States\nusa:\"US\",\"united states\":\"US\",\"\\xe9tats-unis\":\"US\",etatsunis:\"US\",america:\"US\",amérique:\"US\",amerique:\"US\"};// ICAO prefix → country mapping. Useful when user types \"LF\" to find\n// all French airports without knowing the full code. ICAO prefixes are\n// standardized by region.\nconst ICAO_PREFIX_TO_CODE={LF:\"FR\",ED:\"DE\",EG:\"GB\",LE:\"ES\",LI:\"IT\",LS:\"CH\",EB:\"BE\",EH:\"NL\",EL:\"LU\",LO:\"AT\",LP:\"PT\",EI:\"IE\",EK:\"DK\",ES:\"SE\",EN:\"NO\",EF:\"FI\",EP:\"PL\",LK:\"CZ\",LG:\"GR\",LT:\"TR\",GM:\"MA\"};async function searchLocations(q){const query=String(q||\"\").trim();if(!query){setSearchRes(POPULAR_AIRPORTS.filter(isRealAirport).map(a=>({kind:\"airport\",airport:a})));return;}const lq=query.toLowerCase();// Local matcher on the in-memory pool. We use it only to find ICAO/IATA\n// matches that the remote API might miss. We do NOT rely on it for\n// country/name searches because the geojson pool has no metadata\n// (only id + coords + operable).\nconst localMatch=pool=>{const matches=[];for(const a of pool){if(!isRealAirport(a))continue;const icao=String(a.icao||\"\").toLowerCase();const iata=String(a.iata||\"\").toLowerCase();if(icao===lq||iata===lq||icao.startsWith(lq)||iata.startsWith(lq)){matches.push(a);}}return matches;};// If real API is mock or CORS-blocked, search locally only with\n// whatever we have (popular airports as fallback).\nif(isMockMode||corsBlockedRef.current){const pool=airports&&airports.length>0?airports:POPULAR_AIRPORTS;const res=localMatch(pool);setSearchRes(buildSearchResults(res));return;}setSearching(true);try{// Per Ralph's API docs, /fractional/locations doesn't support\n// pagination. It returns up to ~25 airports + matching places.\n// For broader coverage (e.g. \"france\" → ALL French airports), we'd\n// need either:\n//   (a) Ralph to add pagination on /locations\n//   (b) Ralph to add name/country/operability to airports.geojson\n// For now, a single call. The \"places\" in the response (e.g. cities,\n// regions, countries) can be tapped to fetch airports via\n// /places/{id}/airports which DOES support pagination.\nconst apiItems=[];const seenIcaos=new Set;const queryEnc=encodeURIComponent(query);const cache=getAirportDetailCache();const url=`${base}/fractional/locations?query=${queryEnc}`;const res=await apiFetch(url);if(!res.ok)throw new Error(`HTTP ${res.status}`);const data=await res.json();const rawAirports=Array.isArray(data?.airports)?data.airports:Array.isArray(data?.data)?data.data:[];for(const r of rawAirports){const n=normalizeAirport(r);if(n&&isRealAirport(n)){const icaoKey=safeUpper(n.icao);if(!seenIcaos.has(icaoKey)){seenIcaos.add(icaoKey);apiItems.push(n);}// Cache full details so future hovers are instant.\ncache[icaoKey]={name:n.name,city:n.city,country:n.country,countryCode:n.countryCode,tags:n.tags,fetchedAt:Date.now()};}}// If the API returned `places` (cities, regions, countries) and\n// there are many airports under one of them, fetch them via the\n// PAGINATED /places/{id}/airports endpoint to surface ALL.\n// Trigger this when the user's query matches a place exactly\n// (e.g. typing \"France\" returns a place with id \"place_xxx\").\nconst rawPlaces=Array.isArray(data?.places)?data.places:[];if(rawPlaces.length>0&&apiItems.length<25){// Take the first place (most relevant per API response order)\n// and fetch up to ~200 airports for it.\nconst place=rawPlaces[0];if(place?.id){await fetchAllPlaceAirports(place.id,seenIcaos,apiItems,cache);}}// Augment with local ICAO/IATA matches the API might have missed.\nconst localPool=airports&&airports.length>0?airports:POPULAR_AIRPORTS;const extras=localMatch(localPool).filter(a=>!seenIcaos.has(safeUpper(a.icao)));const merged=[...apiItems,...extras];setSearchRes(buildSearchResults(merged));// Re-sync the map source so the hover popups for these airports\n// immediately reflect the freshly cached names + tags.\ntry{syncAirportsData();}catch{}}catch{corsBlockedRef.current=true;const pool=airports&&airports.length>0?airports:POPULAR_AIRPORTS;const local=localMatch(pool);setSearchRes(buildSearchResults(local));}finally{setSearching(false);}}// Build the final search result list with country grouping.\n// Order: country header > airports in that country > next country header > etc.\n// Countries appear in the order they FIRST appear in the API response\n// (preserving the backend's relevance ranking). Airports within each\n// country also keep their API order — the backend sorts by relevance\n// (exact match → proximity → etc.), which is more useful than alpha sort.\n// The ONLY filter applied here is `deletedAirports` from props.\nfunction buildSearchResults(items){if(!items.length)return[];const deleted=(deletedAirports||\"\").split(/[\\s,;]+/).map(s=>s.trim().toUpperCase()).filter(Boolean);const deletedSet=new Set(deleted);const filtered=items.filter(a=>!deletedSet.has(safeUpper(a.icao)));if(!filtered.length)return[];// Group by country while preserving the order each country FIRST\n// appears in the input array. Airports inside each group also keep\n// their original API order.\nconst groupOrder=[];const groups={};for(const a of filtered){const country=String(a.country||\"\").trim()||String(a.countryCode||\"\").trim()||\"Other\";if(!groups[country]){groups[country]={country,countryCode:a.countryCode,items:[]};groupOrder.push(country);}groups[country].items.push(a);}// Always show country headers for consistency — even with a single\n// country, the header anchors the result group visually.\nconst out=[];for(const country of groupOrder){const g=groups[country];out.push({kind:\"country_header\",country:g.country,countryCode:g.countryCode,count:g.items.length});for(const a of g.items){out.push({kind:\"airport\",airport:a});}}return out;}async function fetchPlaceAirports(placeId){if(isMockMode||corsBlockedRef.current)return;setSearching(true);try{const res=await apiFetch(`${base}/fractional/places/${placeId}/airports?limit=24&page=1`);if(!res.ok)throw new Error(`HTTP ${res.status}`);const data=await res.json();const items=[];for(const r of Array.isArray(data?.data)?data.data:[]){const n=normalizeAirport(r);if(n&&isRealAirport(n))items.push({kind:\"airport\",airport:n});}setSearchRes(items);}catch{corsBlockedRef.current=true;setSearchRes([]);}finally{setSearching(false);}}// Paginated helper used by searchLocations. Loops through /places/{id}/airports\n// (which DOES support pagination per Ralph's docs) and accumulates all\n// unique airports into the provided arrays/sets. Used to fetch ALL airports\n// for a country/region place when /locations returns the place handle.\nasync function fetchAllPlaceAirports(placeId,seenIcaos,apiItems,cache){const PER_PAGE=50;const MAX_PAGES=20// safety cap → max 1000 airports per place\n;try{for(let page=1;page<=MAX_PAGES;page++){const url=`${base}/fractional/places/${placeId}/airports?limit=${PER_PAGE}&page=${page}`;const res=await apiFetch(url);if(!res.ok)break;const data=await res.json();const rows=Array.isArray(data?.data)?data.data:[];if(!rows.length)break;let addedThisPage=0;for(const r of rows){const n=normalizeAirport(r);if(n&&isRealAirport(n)){const icaoKey=safeUpper(n.icao);if(!seenIcaos.has(icaoKey)){seenIcaos.add(icaoKey);apiItems.push(n);addedThisPage++;}cache[icaoKey]={name:n.name,city:n.city,country:n.country,countryCode:n.countryCode,tags:n.tags,fetchedAt:Date.now()};}}// Stop if last page reached via meta or if we got fewer rows\n// than requested.\nconst lastPage=data?.meta?.last_page;if(typeof lastPage===\"number\"&&page>=lastPage)break;if(rows.length<PER_PAGE)break;if(addedThisPage===0)break;}}catch{// Silently fail — we already have whatever /locations returned.\n}}async function fetchEstimate(){if(!fromSel||!toSel)return;const fromCode=safeUpper(fromSel.icao);const toCode=safeUpper(toSel.icao);const isValidIcao=c=>/[A-Z]/i.test(c);if(!isValidIcao(fromCode)||!isValidIcao(toCode)){setErr(\"Please select airports with valid ICAO codes.\");setQuote(null);return;}// Same airport on both sides → no flight, no estimate. The backend\n// returns 422 and the map would try to fit a zero-distance bounds\n// (crashes MapLibre with \"Invalid LngLat (NaN, NaN)\"). Bail early\n// with a friendly message.\nif(fromCode===toCode){setErr(\"Departure and arrival airports must be different.\");setQuote(null);return;}// Mock estimate — used in mock mode OR when CORS blocks the API\nconst mockEstimate=()=>({pc12:{aircraft:\"PC12\",name:\"Pilatus PC-12\",duration:\"1H10\",departure_fee:\"475 €\",arrival_fee:\"580 €\",flight_fee:\"2 250 €\",total:\"3 305 €\"},pc24:{aircraft:\"PC24\",name:\"Pilatus PC-24\",duration:\"0H55\",departure_fee:\"600 €\",arrival_fee:\"680 €\",flight_fee:\"3 400 €\",total:\"4 680 €\"},sf50:{aircraft:\"SF50\",name:\"Cirrus SF50\",duration:\"1H05\",departure_fee:\"520 €\",arrival_fee:\"620 €\",flight_fee:\"2 950 €\",total:\"4 090 €\"}});if(isMockMode||corsBlockedRef.current){setLoading(true);setErr(null);setTimeout(()=>{setQuote(mockEstimate());setLoading(false);},350);return;}setLoading(true);setErr(null);try{const res=await apiFetch(`${base}/fractional/estimates`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({departure_airport:fromCode,arrival_airport:toCode})});if(!res.ok)throw new Error(`HTTP ${res.status}`);const data=await res.json();const arr=Array.isArray(data?.data)?data.data:[];const out={};for(const row of arr){const type=String(row?.aircraft_type?.icao_code||\"\").toUpperCase();const meta=aircraftMetaByKey[type]||{key:type,label:aircraftLabelFromKey(type),name:type};const qa={aircraft:type,name:meta.name,img:meta.img,duration:fmtMinutes(row?.total_flight_time),departure_fee:fmtEUR(row?.departure_airport_fees),arrival_fee:fmtEUR(row?.arrival_airport_fees),flight_fee:fmtEUR(row?.flight_price),total:fmtEUR(row?.total_price)};if(type===\"PC12\")out.pc12=qa;if(type===\"PC24\")out.pc24=qa;if(type===\"SF50\")out.sf50=qa;}setQuote(out);}catch{// CORS or network — fall back to mock so the UI still works in preview\ncorsBlockedRef.current=true;setQuote(mockEstimate());setErr(null);}finally{setLoading(false);}}/* ---------------- Autocomplete control ---------------- */const debounceRef=useRef(null);function onType(side,v){if(side===\"from\"){setFromText(v);setOpenFrom(true);}else{setToText(v);setOpenTo(true);}activeSideRef.current=side;clearTimeout(debounceRef.current);debounceRef.current=setTimeout(()=>searchLocations(v),180);}function pickAirport(side,a){if(side===\"from\"){setFromSel(a);setFromText(a.name);setOpenFrom(false);}else{setToSel(a);setToText(a.name);setOpenTo(false);}setSearchRes([]);}function clearSide(side){if(side===\"from\"){setFromText(\"\");setFromSel(null);setOpenFrom(false);fromInputRef.current?.blur();}else{setToText(\"\");setToSel(null);setOpenTo(false);toInputRef.current?.blur();}setSearchRes([]);setOpenFrom(false);setOpenTo(false);const nextFromSel=side===\"from\"?null:fromSel;const nextToSel=side===\"to\"?null:toSel;const nextFromText=side===\"from\"?\"\":fromText;const nextToText=side===\"to\"?\"\":toText;if(!String(nextFromText).trim()&&!String(nextToText).trim()&&!nextFromSel&&!nextToSel)setHasInteracted(false);}/* ---------------- Deep link ---------------- */useEffect(()=>{(async()=>{try{if(typeof window===\"undefined\")return;const url=new URL(window.location.href);const f=safeUpper(url.searchParams.get(\"from\")||\"\");const t=safeUpper(url.searchParams.get(\"to\")||\"\");if(!f&&!t)return;if(f&&!fromSel){const a=await fetchAirportByICAO(f);if(a){setFromSel(a);setFromText(a.name);setHasInteracted(true);}}if(t&&!toSel){const a=await fetchAirportByICAO(t);if(a){setToSel(a);setToText(a.name);setHasInteracted(true);}}}catch{}})();},[base]);/* ---------------- Effects ---------------- */useEffect(()=>{const el=heroRef.current;if(!el)return;const measure=()=>setHeroH(el.scrollHeight);measure();const ro=new ResizeObserver(measure);ro.observe(el);return()=>ro.disconnect();},[heroTitle,heroSubtitle,heroTitleSize,isMobile]);useEffect(()=>{const map=mapRef.current;if(!map)return;const t=window.setTimeout(()=>{try{map.resize();}catch{}},60);return()=>window.clearTimeout(t);},[isMobile,mobileMapRatio,panelCollapsed,mobileMapExpanded]);// Window resize: only resize the canvas + re-recadre the route if one is\n// active. Never refetch airports or change state — the existing route &\n// quote stay untouched.\n//\n// Per Jetfly map rendering patch: uses a double-pass forceRepaint to\n// catch layout shifts during resize, plus a ResizeObserver on the actual\n// container (catches Framer canvas resizes that window.resize misses).\nuseEffect(()=>{let resizeTimer=null;// Forces a complete canvas resync — double-pass to catch any\n// layout shift that happened during the first resize itself.\nconst forceRepaint=()=>{const map=mapRef.current;if(!map||!mapLoadedRef.current)return;try{map.resize();requestAnimationFrame(()=>{try{map.resize();map.triggerRepaint();}catch{}});}catch{}};const onResize=()=>{clearTimeout(resizeTimer);resizeTimer=setTimeout(()=>{forceRepaint();if(fromSel&&toSel)refitView(0);},60);};window.addEventListener(\"resize\",onResize);// Trigger a repaint after every map movement settles — catches\n// cases where tiles weren't painted to the very edge during an\n// animated fitBounds.\nconst map=mapRef.current;const moveEndHandler=()=>{try{map?.triggerRepaint();}catch{}};// Dedicated zoomend handler — forces a double-pass repaint after\n// zoom level changes. Without this the GeoJSON `countries` source\n// tiles can render the wrong fill-color during the transition\n// (showing \"Out of Zone\" gray for a frame on countries that should\n// be Zone I/II). The double RAF guarantees one frame of layout\n// settling before the second paint.\nconst zoomEndHandler=()=>{if(!map)return;try{map.triggerRepaint();requestAnimationFrame(()=>{try{map.triggerRepaint();}catch{}});}catch{}};// Sourcedata listener — fires every time a tile finishes loading\n// for the countries GeoJSON source. We force a repaint each time so\n// the fill-color match expression re-evaluates with the freshly\n// loaded tile data, eliminating residual flicker.\nconst sourceDataHandler=e=>{if(e?.sourceId!==\"countries\")return;if(!e?.isSourceLoaded)return;try{map?.triggerRepaint();}catch{}};if(map){try{map.on(\"moveend\",moveEndHandler);map.on(\"zoomend\",zoomEndHandler);map.on(\"sourcedata\",sourceDataHandler);}catch{}}// ResizeObserver on the actual container — catches Framer\n// canvas resizes and parent layout changes that window.resize\n// doesn't fire for.\nlet containerObserver=null;if(typeof ResizeObserver!==\"undefined\"&&mapHostRef.current){containerObserver=new ResizeObserver(()=>{forceRepaint();});try{containerObserver.observe(mapHostRef.current);}catch{}}return()=>{clearTimeout(resizeTimer);window.removeEventListener(\"resize\",onResize);try{map?.off?.(\"moveend\",moveEndHandler);map?.off?.(\"zoomend\",zoomEndHandler);map?.off?.(\"sourcedata\",sourceDataHandler);}catch{}try{containerObserver?.disconnect();}catch{}};},[fromSel,toSel]);useEffect(()=>{const mq=window.matchMedia(\"(max-width: 820px)\");const onChange=()=>setIsMobile(mq.matches);onChange();mq.addEventListener?.(\"change\",onChange);return()=>mq.removeEventListener?.(\"change\",onChange);},[]);useEffect(()=>{if(!fromSel||!toSel)return;fetchEstimate();},[fromSel,toSel]);useEffect(()=>{const onDoc=e=>{const root=rootRef.current;if(!root)return;if(root.contains(e.target))return;setOpenFrom(false);setOpenTo(false);setSearchRes([]);fromInputRef.current?.blur();toInputRef.current?.blur();if(!String(fromText).trim()&&!String(toText).trim()&&!fromSel&&!toSel)setHasInteracted(false);};document.addEventListener(\"mousedown\",onDoc);document.addEventListener(\"touchstart\",onDoc);return()=>{document.removeEventListener(\"mousedown\",onDoc);document.removeEventListener(\"touchstart\",onDoc);};},[fromText,toText,fromSel,toSel]);/* ---------------- Map init ---------------- */useEffect(()=>{let cancelled=false;async function init(){if(!mapHostRef.current||mapRef.current)return;if(!document.getElementById(\"mlcss\")){const l=document.createElement(\"link\");l.id=\"mlcss\";l.rel=\"stylesheet\";l.href=\"https://unpkg.com/maplibre-gl@5.24.0/dist/maplibre-gl.css\";document.head.appendChild(l);}let mlib=null;try{mlib=await import(\"https://esm.sh/maplibre-gl@5.24.0\");}catch{try{if(!window.maplibregl)await new Promise((res,rej)=>{const s=document.createElement(\"script\");s.src=\"https://unpkg.com/maplibre-gl@5.24.0/dist/maplibre-gl.js\";s.crossOrigin=\"anonymous\";s.onload=()=>res();s.onerror=()=>rej();document.head.appendChild(s);});mlib=window.maplibregl;}catch{return;}}if(cancelled)return;maplibreRef.current=mlib;const MapCtor=mlib?.Map||mlib?.default?.Map;if(!MapCtor)return;const centerLng=typeof initialCenterLng===\"number\"&&isFinite(initialCenterLng)?initialCenterLng:8;const centerLat=typeof initialCenterLat===\"number\"&&isFinite(initialCenterLat)?initialCenterLat:48.5;const startZoom=typeof initialZoom===\"number\"&&initialZoom>0?initialZoom:4;const map=new MapCtor({container:mapHostRef.current,style:buildMapStyle(oceanColor,borderColor,cityLabelColor,zoneOutColor),center:[centerLng,centerLat],zoom:startZoom,maxZoom:14,minZoom:1,attributionControl:false,// ── Rendering artefact fixes (per Jetfly map patch) ──\n// Prevent canvas artefacts during fitBounds/resize.\npreserveDrawingBuffer:true,antialias:true,fadeDuration:0,// Render multiple world copies so panning past ±180°\n// doesn't show blank canvas.\nrenderWorldCopies:true,// Use local CJK fonts instead of fetching glyphs — avoids\n// missing glyph rectangles appearing as artefacts.\nlocalIdeographFontFamily:\"'Noto Sans', 'Hiragino Sans', sans-serif\",// Don't re-fetch expired tiles — reduces network thrash.\nrefreshExpiredTiles:false});if(showZoomControls!==false){const NavCtor=mlib?.NavigationControl||mlib?.default?.NavigationControl;if(NavCtor){map.addControl(new NavCtor({showCompass:false}),\"top-left\");}}mapRef.current=map;map.on(\"load\",()=>{mapLoadedRef.current=true;addZoneFills(map,zone1Color,zone2Color,zoneOutColor,borderColor).then(()=>{try{map.triggerRepaint();}catch{}});setMapReady(true);requestAnimationFrame(()=>{try{map.resize();}catch{}updateRoute();recenterToInitial(0);});});}init();return()=>{cancelled=true;removeHoverPopup();try{mapRef.current?.remove?.();}catch{}mapRef.current=null;mapLoadedRef.current=false;routeSourceRef.current=false;airportsSourceRef.current=false;};},[]);// Only fetch airports once per (base, useRealData) combination.\n// Prevents spurious re-fetches during resize / unrelated re-renders.\nconst lastFetchKeyRef=useRef(\"\");useEffect(()=>{const key=`${base}|${useRealData?\"real\":\"mock\"}`;if(lastFetchKeyRef.current===key)return;lastFetchKeyRef.current=key;// Reset the CORS-blocked flag — the new base URL deserves a fresh\n// attempt (e.g. switching from a CORS-blocked prod endpoint to the\n// whitelisted staging endpoint).\ncorsBlockedRef.current=false;fetchAirportsGeoForMap();},[base,useRealData]);// UPDATE: mark airports as loaded after sync so loader can fade out\nuseEffect(()=>{if(!mapReady)return;const map=mapRef.current;if(map&&mapLoadedRef.current){try{ensureAirportLayers(map);}catch{}}if(!airports||airports.length===0)return;syncAirportsData();// Wait for tiles + pins to actually paint before hiding loader\nconst t=setTimeout(()=>setAirportsLoaded(true),400);return()=>clearTimeout(t);},[mapReady,airports,deletedAirports]);useEffect(()=>{if(!mapReady)return;const map=mapRef.current;if(map&&mapLoadedRef.current){try{ensureAirportLayers(map);}catch{}}updateRoute();setAirportsVisible(!fromSel||!toSel);// Full route → fit to visible map area on midpoint.\n// Partial / no route → return to initial center & zoom.\nif(fromSel&&toSel)refitView(0);else recenterToInitial(350);},[mapReady,fromSel,toSel]);useEffect(()=>{if(!mapReady)return;const map=mapRef.current;if(!map||!mapLoadedRef.current)return;try{// Update background — used for \"Out of Zone\" countries now\n// that they're not drawn via countries-fill.\nif(map.getLayer(\"background\")){map.setPaintProperty(\"background\",\"background-color\",zoneOutColor);}// Update ocean fill\nif(map.getLayer(\"water\")){map.setPaintProperty(\"water\",\"fill-color\",oceanColor);}// Update zone fills\nif(map.getLayer(\"countries-fill\")){map.setPaintProperty(\"countries-fill\",\"fill-color\",[\"match\",[\"get\",\"zone\"],1,zone1Color,2,zone2Color,zoneOutColor]);}// Update country stroke (our dedicated line layer)\nif(map.getLayer(\"countries-stroke\")){map.setPaintProperty(\"countries-stroke\",\"line-color\",borderColor);}// Update OpenMapTiles country boundary line (subdivision borders)\nif(map.getLayer(\"boundary_country\")){map.setPaintProperty(\"boundary_country\",\"line-color\",borderColor);}// Update pin background colors\nif(map.getLayer(\"airports-clusters\")){map.setPaintProperty(\"airports-clusters\",\"circle-color\",pinBgColor);}if(map.getLayer(\"airports-unclustered\")){map.setPaintProperty(\"airports-unclustered\",\"circle-color\",pinBgColor);}if(map.getLayer(\"sel-halo\")){map.setPaintProperty(\"sel-halo\",\"circle-color\",pinBgColor);}// Update city label colors (text + dots)\nfor(const lid of[\"place_city_major\",\"place_city_mid\"]){if(map.getLayer(lid)){map.setPaintProperty(lid,\"text-color\",cityLabelColor);}}for(const lid of[\"place_city_major_dot\",\"place_city_mid_dot\"]){if(map.getLayer(lid)){map.setPaintProperty(lid,\"circle-color\",cityLabelColor);}}}catch{}},[mapReady,oceanColor,zone1Color,zone2Color,zoneOutColor,pinBgColor,borderColor,cityLabelColor]);// Mark the panel effect as \"initialized\" once the map is ready.\n// Otherwise the panel effect would skip the FIRST user toggle: it runs\n// once at mount (mapReady=false → early return, ref stays false), then\n// on the first toggle it would still see ref=false and skip again.\nconst panelMountedRef=useRef(false);useEffect(()=>{if(mapReady)panelMountedRef.current=true;},[mapReady]);useEffect(()=>{if(!mapReady)return;const map=mapRef.current;if(!map)return;// Skip if this fires before the map is ready (the mapReady-driven\n// effect above takes care of priming the flag).\nif(!panelMountedRef.current)return;let frame=0;const start=performance.now();const DURATION=300;const tick=()=>{try{map.resize();}catch{}const elapsed=performance.now()-start;if(elapsed<DURATION){frame=requestAnimationFrame(tick);}else{// If a route is active, refit it to the new visible area.\n// Otherwise just recenter preserving the current zoom.\nif(fromSel&&toSel){refitView(0);}else{recenterPreservingZoom(350);}}};frame=requestAnimationFrame(tick);return()=>cancelAnimationFrame(frame);},[panelCollapsed]);/* ---------------- UI values ---------------- */const pc12=quote?.pc12;const pc24=quote?.pc24;const sf50=quote?.sf50;const meta12=aircraftMetaByKey.PC12;const meta24=aircraftMetaByKey.PC24;const meta50=aircraftMetaByKey.SF50;/* ---------------- Fleet → cards helpers ---------------- */function aircraftKeyForFleetItem(item){const h=`${item.aircraftType} ${item.registration} ${item.name}`.toUpperCase();if(h.includes(\"PC-12\")||h.includes(\"PC12\")||h.includes(\"PC 12\")||/\\bPILATUS\\b/.test(h)&&/\\b12\\b/.test(h))return\"PC12\";if(h.includes(\"PC-24\")||h.includes(\"PC24\")||h.includes(\"PC 24\")||/\\bPILATUS\\b/.test(h)&&/\\b24\\b/.test(h))return\"PC24\";if(h.includes(\"SF50\")||h.includes(\"SF-50\")||h.includes(\"SF 50\")||h.includes(\"CIRRUS\")||h.includes(\"VISION\"))return\"SF50\";return null;}function getOperability(key){if(!key)return null;const depTag=(fromSel?.tags||[]).find(t=>t.key===key);const arrTag=(toSel?.tags||[]).find(t=>t.key===key);if(depTag?.status===\"unoperable\"||arrTag?.status===\"unoperable\")return\"unoperable\";if(depTag?.status===\"restricted\"||arrTag?.status===\"restricted\")return\"restricted\";if(depTag?.status===\"operable\"||arrTag?.status===\"operable\")return\"operable\";return null;}function quoteForFleetItem(item){if(!quote)return undefined;const key=aircraftKeyForFleetItem(item);if(key===\"PC12\")return quote.pc12;if(key===\"PC24\")return quote.pc24;if(key===\"SF50\")return quote.sf50;return undefined;}const visibleFleet=fleetItems.filter(item=>{const key=aircraftKeyForFleetItem(item);const status=getOperability(key);return status!==\"unoperable\";});/* ================================================================\n       RENDER\n       ================================================================ */const glassInput={width:\"100%\",border:\"none\",outline:\"none\",background:\"transparent\",...wf(fontHanken,{fontSize:14,fontWeight:500}),color:\"rgba(0,0,0,0.75)\",paddingRight:34};const clearBtnStyle={position:\"absolute\",right:0,top:\"50%\",transform:\"translateY(-50%)\",width:26,height:26,borderRadius:999,border:\"1px solid rgba(0,0,0,0.08)\",background:\"rgba(255,255,255,0.8)\",cursor:\"pointer\",color:\"rgba(0,0,0,0.35)\",fontSize:16,lineHeight:\"26px\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"};const panelW=isMobile?\"100%\":`${Math.round((1-mapRatio)*100)}%`;const mobileHasRoute=isMobile&&fromSel&&toSel;const cardsGridStyle=isMobile?{display:\"grid\",gridTemplateColumns:\"1fr\",gap:12}:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fit, minmax(220px, 1fr))\",gap:14};return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",opacity:rootOpacity,background:\"#FFFFFF\",zIndex:3,overflow:\"hidden\"},children:[fleetCollection&&/*#__PURE__*/_jsx(\"div\",{ref:fleetHiddenRef,\"aria-hidden\":\"true\",style:{position:\"absolute\",width:0,height:0,overflow:\"hidden\",opacity:0,pointerEvents:\"none\",zIndex:-1},children:fleetCollection}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:0,left:0,...isMobile?{right:0,bottom:0,zIndex:8,transform:mobileMapExpanded?\"translateY(-100%)\":\"translateY(0)\",transition:\"transform 300ms cubic-bezier(0.16,1,0.3,1), opacity 200ms ease\",opacity:mobileMapExpanded?0:1,pointerEvents:mobileMapExpanded?\"none\":\"auto\"}:{bottom:0,width:panelW,zIndex:8,transform:panelCollapsed?\"translateX(-100%)\":\"translateX(0)\",transition:\"transform 300ms cubic-bezier(0.16,1,0.3,1), opacity 200ms ease\",opacity:panelCollapsed?0:1,pointerEvents:panelCollapsed?\"none\":\"auto\"},background:panelBg||\"rgba(255,255,255,0.65)\",backdropFilter:\"blur(24px)\",WebkitBackdropFilter:\"blur(24px)\",overflowX:\"hidden\",overflowY:panelCollapsed||mobileMapExpanded?\"hidden\":\"auto\",display:\"flex\",flexDirection:\"column\",borderRight:isMobile?\"none\":\"1px solid rgba(0,0,0,0.06)\",borderBottom:isMobile&&mobileHasRoute?\"1px solid rgba(0,0,0,0.06)\":\"none\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:heroRef,style:{paddingRight:20,paddingLeft:20,paddingTop:isMobile?hideHero?20:40:hideHero?70:110,paddingBottom:isMobile?hideHero?0:12:24,textAlign:\"center\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",maxHeight:hideHero?0:heroH,opacity:hideHero?0:1,transform:hideHero?\"translateY(-10px)\":\"translateY(0px)\",transition:\"max-height 260ms ease, opacity 200ms ease, transform 260ms ease\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{opacity:titleVisible?1:0,transition:\"opacity 700ms ease\",...wf(fontBegum,{color:\"rgba(0,0,0,0.82)\",maxWidth:400,textTransform:\"uppercase\",width:\"100%\",letterSpacing:\"0.14em\",...heroTitleSize?{fontSize:heroTitleSize}:{}})},children:heroTitle}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:14,opacity:titleVisible?1:0,transition:\"opacity 700ms ease 150ms\",...wf(fontHanken,{fontSize:13,fontWeight:400}),color:\"rgba(0,0,0,0.45)\"},children:heroSubtitle})]}),/*#__PURE__*/_jsx(\"div\",{style:{flex:menuOpen?1:0,minHeight:menuOpen?0:\"auto\",display:\"flex\",flexDirection:\"column\"},children:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"1fr 1fr\",margin:\"0 16px\",background:\"rgba(255,255,255,0.92)\",backdropFilter:\"blur(8px)\",borderRadius:14,border:\"1px solid rgba(0,0,0,0.07)\",boxShadow:\"0 1px 4px rgba(0,0,0,0.04)\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{borderRight:\"1px solid rgba(0,0,0,0.06)\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"14px 16px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:10,fontWeight:600,letterSpacing:\".1em\",textTransform:\"uppercase\"}),color:pinColor,marginBottom:6},children:\"From\"}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"input\",{ref:fromInputRef,value:fromText,onChange:e=>onType(\"from\",e.target.value),onFocus:()=>{activeSideRef.current=\"from\";setOpenFrom(true);setHasInteracted(true);searchLocations(fromText);},placeholder:\"Search airport…\",style:glassInput}),fromText?.length?/*#__PURE__*/_jsx(\"button\",{onClick:()=>clearSide(\"from\"),style:clearBtnStyle,\"aria-label\":\"Clear from\",children:\"\\xd7\"}):null]})]})}),/*#__PURE__*/_jsx(\"div\",{children:/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"14px 16px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:10,fontWeight:600,letterSpacing:\".1em\",textTransform:\"uppercase\"}),color:pinColor,marginBottom:6},children:\"To\"}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\"},children:[/*#__PURE__*/_jsx(\"input\",{ref:toInputRef,value:toText,onChange:e=>onType(\"to\",e.target.value),onFocus:()=>{activeSideRef.current=\"to\";setOpenTo(true);setHasInteracted(true);searchLocations(toText);},placeholder:\"Search airport…\",style:glassInput}),toText?.length?/*#__PURE__*/_jsx(\"button\",{onClick:()=>clearSide(\"to\"),style:clearBtnStyle,\"aria-label\":\"Clear to\",children:\"\\xd7\"}):null]})]})})]}),openFrom||openTo?/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flex:1,minHeight:0,margin:\"8px 16px 16px\",background:\"rgba(255,255,255,0.96)\",backdropFilter:\"blur(8px)\",borderRadius:14,border:\"1px solid rgba(0,0,0,0.06)\",overflow:\"auto\",flexDirection:\"column\",boxShadow:\"0 4px 16px rgba(0,0,0,0.05)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 18px 6px\",...wf(fontHanken,{fontSize:10,fontWeight:600,letterSpacing:\".12em\",textTransform:\"uppercase\"}),color:pinColor},children:(activeSideRef.current===\"from\"?fromText:toText).trim()?\"RESULTS\":\"POPULAR AIRPORTS\"}),searching?/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 18px\",...wf(fontHanken,{fontSize:13,fontWeight:400}),color:\"rgba(0,0,0,0.40)\"},children:\"Loading…\"}):!searchRes.length?/*#__PURE__*/_jsx(\"div\",{style:{padding:\"12px 18px\",...wf(fontHanken,{fontSize:13,fontWeight:400}),color:\"rgba(0,0,0,0.40)\"},children:\"No results found.\"}):/*#__PURE__*/_jsx(\"div\",{children:searchRes.map((item,idx)=>{if(item.kind===\"country_header\"){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:10,padding:idx===0?\"14px 18px 10px\":\"18px 18px 10px\",borderTop:idx>0?\"1px solid rgba(0,0,0,0.04)\":\"none\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,lineHeight:1},children:flagEmojiFromCC(item.countryCode)}),/*#__PURE__*/_jsx(\"span\",{style:{...wf(fontHanken,{fontSize:11,fontWeight:600,letterSpacing:\".08em\",textTransform:\"uppercase\"}),color:pinColor,flex:1},children:item.country}),/*#__PURE__*/_jsx(\"span\",{style:{...wf(fontHanken,{fontSize:10,fontWeight:500,letterSpacing:\".08em\"}),color:\"rgba(0,0,0,0.35)\"},children:item.count})]},`country-${item.country}-${idx}`);}if(item.kind===\"place\"){return /*#__PURE__*/_jsxs(\"button\",{onClick:()=>fetchPlaceAirports(item.id),style:{width:\"100%\",textAlign:\"left\",padding:\"12px 18px\",border:\"none\",background:\"transparent\",cursor:\"pointer\",display:\"grid\",gridTemplateColumns:\"22px 1fr\",gap:10,borderTop:idx>0?\"1px solid rgba(0,0,0,0.04)\":\"none\",transition:\"background 100ms\"},onMouseEnter:e=>e.currentTarget.style.background=\"#FAF7F0\",onMouseLeave:e=>e.currentTarget.style.background=\"transparent\",children:[/*#__PURE__*/_jsx(\"div\",{style:{paddingTop:2,color:\"rgba(0,0,0,0.35)\",fontSize:16},children:\"📍\"}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:14,fontWeight:600}),color:\"rgba(0,0,0,0.82)\"},children:item.name}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:3,...wf(fontHanken,{fontSize:12,fontWeight:400}),color:\"rgba(0,0,0,0.45)\"},children:item.country||\"\"})]})]},`place-${item.id}-${idx}`);}const a=item.airport;return /*#__PURE__*/_jsxs(\"button\",{onClick:()=>pickAirport(activeSideRef.current===\"to\"?\"to\":\"from\",a),style:{width:\"100%\",textAlign:\"left\",padding:\"12px 18px\",border:\"none\",background:\"transparent\",cursor:\"pointer\",display:\"grid\",gridTemplateColumns:\"22px 1fr\",gap:10,borderTop:idx>0?\"1px solid rgba(0,0,0,0.04)\":\"none\",transition:\"background 100ms\"},onMouseEnter:e=>e.currentTarget.style.background=\"#FAF7F0\",onMouseLeave:e=>e.currentTarget.style.background=\"transparent\",children:[/*#__PURE__*/_jsx(\"div\",{style:{paddingTop:2,color:\"rgba(0,0,0,0.35)\",fontSize:16},children:\"✈︎\"}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:14,fontWeight:600}),color:\"rgba(0,0,0,0.82)\"},children:a.name}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8,marginTop:3},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14},children:flagEmojiFromCC(a.countryCode)}),/*#__PURE__*/_jsx(\"span\",{style:{...wf(fontHanken,{fontSize:12,fontWeight:400}),color:\"rgba(0,0,0,0.50)\"},children:a.city}),/*#__PURE__*/_jsx(\"span\",{style:{marginLeft:\"auto\",...wf(fontHanken,{fontSize:11,fontWeight:600}),letterSpacing:\"0.06em\",color:\"rgba(0,0,0,0.40)\"},children:a.icao})]}),/*#__PURE__*/_jsx(TagLine,{tags:a.tags||[],fontHanken:fontHanken})]})]},`airport-${a.id}-${idx}`);})})]}):null]})}),!searchMode&&!(fromSel&&toSel)?/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"18px 24px 14px\",textAlign:\"center\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:11,fontWeight:400}),color:\"rgba(0,0,0,0.40)\",maxWidth:380},children:topDisclaimerText}),/*#__PURE__*/_jsx(\"a\",{href:topDisclaimerLinkUrl||\"#\",onClick:e=>handleLinkClick(e,topDisclaimerLinkUrl),style:{marginTop:8,border:\"none\",background:\"transparent\",cursor:\"pointer\",textDecoration:\"underline\",...wf(fontHanken,{fontSize:12,fontWeight:500}),color:pinColor},children:topDisclaimerLinkText})]}):null,!(openFrom||openTo)?/*#__PURE__*/_jsx(\"div\",{style:{flex:1,minHeight:0,overflow:\"auto\",display:\"flex\",flexDirection:\"column\"},children:fromSel&&toSel&&!openFrom&&!openTo?/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"22px 20px 24px\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:10,fontWeight:600,letterSpacing:\".12em\",textTransform:\"uppercase\"}),color:pinColor,marginBottom:10},children:\"ESTIMATED TIME & PRICE\"}),/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:12,fontWeight:400}),color:\"rgba(0,0,0,0.38)\",maxWidth:980,marginBottom:22,lineHeight:1.5},children:String(disclaimer||\"\")}),err?/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:13,fontWeight:500}),color:\"#D85B5B\",marginBottom:16,background:\"rgba(216,91,91,0.08)\",borderRadius:12,padding:\"10px 14px\",border:\"1px solid rgba(216,91,91,0.18)\"},children:err}):null,!err&&/*#__PURE__*/_jsxs(_Fragment,{children:[visibleFleet.length>0?/*#__PURE__*/_jsx(\"div\",{style:cardsGridStyle,children:visibleFleet.map((item,i)=>{const key=aircraftKeyForFleetItem(item);const opStatus=getOperability(key);const q=quoteForFleetItem(item);return /*#__PURE__*/_jsx(AircraftCard,{registration:item.registration||undefined,typeLabel:item.aircraftType||\"Aircraft\",img:item.ico||item.img,note:item.note,opStatus:opStatus,quote:q,loading:loading,fontHanken:fontHanken,fontBegum:fontBegum,pinColor:pinColor},i);})}):/*#__PURE__*/_jsxs(\"div\",{style:cardsGridStyle,children:[/*#__PURE__*/_jsx(AircraftCard,{typeLabel:meta12.name,img:meta12.img,quote:pc12,loading:loading,opStatus:null,fontHanken:fontHanken,fontBegum:fontBegum,pinColor:pinColor}),/*#__PURE__*/_jsx(AircraftCard,{typeLabel:meta24.name,img:meta24.img,quote:pc24,loading:loading,opStatus:null,fontHanken:fontHanken,fontBegum:fontBegum,pinColor:pinColor}),/*#__PURE__*/_jsx(AircraftCard,{typeLabel:meta50.name,img:meta50.img,quote:sf50,loading:loading,opStatus:null,fontHanken:fontHanken,fontBegum:fontBegum,pinColor:pinColor})]}),/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:20,display:\"flex\",justifyContent:\"center\",gap:10,...isMobile?{// Sticky bottom bar on mobile:\n// sits at the bottom of the\n// scrollable panel area with a\n// soft upward shadow + safe-area\n// padding for iOS notches.\nposition:\"sticky\",bottom:0,left:0,right:0,marginTop:24,marginLeft:-20,marginRight:-20,marginBottom:-24,padding:\"14px 20px calc(14px + env(safe-area-inset-bottom, 0px))\",background:\"rgba(255,255,255,0.96)\",backdropFilter:\"blur(12px)\",WebkitBackdropFilter:\"blur(12px)\",borderTop:\"1px solid rgba(0,0,0,0.05)\",boxShadow:\"0 -4px 16px rgba(0,0,0,0.04)\",zIndex:5}:{}},children:[/*#__PURE__*/_jsx(\"a\",{href:fractionalButtonUrl||\"#\",onClick:e=>handleLinkClick(e,fractionalButtonUrl),style:{display:isMobile?\"flex\":\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",// On mobile: fill the remaining\n// horizontal space next to the map\n// toggle button.\nflex:isMobile?1:\"0 0 auto\",height:44,padding:\"0 24px\",borderRadius:btnR,border:\"none\",background:\"rgba(0,0,0,0.85)\",cursor:\"pointer\",textDecoration:\"none\",...wf(fontHanken,{fontSize:11,fontWeight:600,letterSpacing:\".06em\",textTransform:\"uppercase\"}),color:\"#FFFFFF\",transition:\"background 150ms ease, opacity 150ms ease\"},children:loading?\"LOADING…\":fractionalButtonText||\"LEARN ABOUT OUR FRACTIONAL PROGRAM\"}),isMobile&&fromSel&&toSel&&/*#__PURE__*/_jsx(\"button\",{onClick:()=>setMobileMapExpanded(true),style:{height:44,width:44,borderRadius:btnR,flexShrink:0,border:\"1px solid rgba(0,0,0,0.10)\",background:\"rgba(255,255,255,0.90)\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:pinColor,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"8\",y1:\"2\",x2:\"8\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"16\",y1:\"6\",x2:\"16\",y2:\"22\"})]})})]})]})]}):/*#__PURE__*/_jsx(\"div\",{style:{padding:\"20px\",marginTop:\"auto\"},children:!searchMode&&!openFrom&&!openTo?/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",display:\"grid\",gridTemplateColumns:isMobile?\"1fr\":\"1fr 1fr\",gap:12,alignItems:\"stretch\"},children:[{title:card1Title,url:card1Url},{title:card2Title,url:card2Url}].filter(c=>String(c.title||\"\").trim()).map((card,idx)=>/*#__PURE__*/_jsxs(\"a\",{href:card.url||\"#\",onClick:e=>handleLinkClick(e,card.url),style:{position:\"relative\",display:\"flex\",flexDirection:\"column\",background:\"rgba(245,238,224,0.7)\",backdropFilter:\"blur(8px)\",borderRadius:10,padding:\"22px 22px 24px\",textDecoration:\"none\",transition:\"background 200ms ease, transform 200ms ease\",cursor:\"pointer\",height:\"100%\"},onMouseEnter:e=>{e.currentTarget.style.background=\"rgba(245,238,224,1)\";},onMouseLeave:e=>{e.currentTarget.style.background=\"rgba(245,238,224,0.7)\";},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:14,right:14,width:32,height:32,borderRadius:8,background:\"#FFFFFF\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",boxShadow:\"0 1px 3px rgba(0,0,0,0.04)\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"rgba(0,0,0,0.65)\",strokeWidth:\"1.8\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"5\",y1:\"12\",x2:\"19\",y2:\"12\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 5 19 12 12 19\"})]})}),/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontBegumCta,{textTransform:\"none\"}),color:\"rgba(0,0,0,0.85)\",paddingRight:44},children:card.title})]},idx))}):null})}):null]}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,overflow:\"hidden\",background:\"#FFFFFF\",transition:\"opacity 300ms ease\",opacity:isMobile&&!mobileMapExpanded?0:1,pointerEvents:isMobile&&!mobileMapExpanded?\"none\":\"auto\"},children:[/*#__PURE__*/_jsx(\"div\",{ref:mapHostRef,style:{position:\"absolute\",inset:0,opacity:airportsLoaded?1:0,transition:\"opacity 500ms ease\",// Match ocean color so any momentary unpainted GL\n// region during resize blends in instead of flashing\n// white.\nbackground:oceanColor}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,bottom:0,left:!isMobile&&!panelCollapsed?`calc(${panelW})`:0,right:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"#FFFFFF\",opacity:airportsLoaded?0:1,pointerEvents:airportsLoaded?\"none\":\"auto\",transition:\"opacity 400ms ease, left 300ms cubic-bezier(0.16,1,0.3,1)\",zIndex:5},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:14},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:28,height:28,borderRadius:\"50%\",border:`2px solid ${pinColor}25`,borderTopColor:pinColor,animation:\"jetfly-spin 700ms linear infinite\"}}),/*#__PURE__*/_jsx(\"div\",{style:{...wf(fontHanken,{fontSize:11,fontWeight:600,letterSpacing:\".12em\",textTransform:\"uppercase\"}),color:\"rgba(0,0,0,0.40)\"},children:\"Loading map…\"})]})}),isMobile&&mobileMapExpanded&&/*#__PURE__*/_jsxs(\"button\",{onClick:()=>setMobileMapExpanded(false),style:{position:\"absolute\",top:12,left:12,zIndex:10,height:36,padding:\"0 14px\",borderRadius:btnR,border:\"none\",background:\"rgba(0,0,0,0.80)\",backdropFilter:\"blur(8px)\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",gap:6,...wf(fontHanken,{fontSize:11,fontWeight:600,letterSpacing:\".04em\",textTransform:\"uppercase\"}),color:\"#FFFFFF\"},children:[/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"#fff\",strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M15 18l-6-6 6-6\"})}),\"Results\"]}),!isMobile&&/*#__PURE__*/_jsx(\"button\",{onClick:()=>setPanelCollapsed(p=>!p),style:{position:\"absolute\",top:\"50%\",zIndex:10,left:panelCollapsed?12:`calc(${panelW} + 8px)`,transform:\"translateY(-50%)\",width:28,height:48,borderRadius:8,border:\"1px solid rgba(0,0,0,0.06)\",background:\"rgba(255,255,255,0.90)\",backdropFilter:\"blur(8px)\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",boxShadow:\"0 2px 8px rgba(0,0,0,0.06)\",transition:\"background 150ms ease, left 300ms cubic-bezier(0.16,1,0.3,1)\"},onMouseEnter:e=>e.currentTarget.style.background=\"rgba(255,255,255,1)\",onMouseLeave:e=>e.currentTarget.style.background=\"rgba(255,255,255,0.90)\",title:panelCollapsed?\"Show panel\":\"Hide panel\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"rgba(0,0,0,0.45)\",strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{transition:\"transform 300ms ease\",transform:panelCollapsed?\"rotate(180deg)\":\"rotate(0deg)\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M15 18l-6-6 6-6\"})})}),/*#__PURE__*/_jsx(\"style\",{children:`\n                    .maplibregl-ctrl-group{border:1px solid rgba(0,0,0,0.06)!important;border-radius:12px!important;overflow:hidden;box-shadow:none!important}\n                    .maplibregl-ctrl-group button{width:32px!important;height:32px!important;background:rgba(255,255,255,0.9)!important}\n                    .maplibregl-ctrl-group button:hover{background:#fff!important}\n                    .maplibregl-ctrl-group button+button{border-top:1px solid rgba(0,0,0,0.06)!important}\n                    @keyframes jetfly-spin { from { transform: rotate(0deg) } to { transform: rotate(360deg) } }\n                `}),!isMobile&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",bottom:16,right:16,zIndex:6,display:\"flex\",alignItems:\"center\",gap:16,background:\"rgba(255,255,255,0.80)\",backdropFilter:\"blur(4px)\",border:\"1px solid rgba(0,0,0,0.04)\",borderRadius:8,padding:\"8px 12px\",transition:\"opacity 500ms ease\",opacity:mapReady&&airportsLoaded?1:0},children:[[{color:zone1Color,border:borderColor,label:\"Zone I\"},{color:zone2Color,border:borderColor,label:\"Zone II\"},{color:zoneOutColor,border:borderColor,label:\"Out of zone\"}].map((z,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:8,height:8,borderRadius:\"50%\",background:z.color,border:`1px solid ${z.border}`,flexShrink:0}}),/*#__PURE__*/_jsx(\"span\",{style:{...wf(fontHanken,{fontSize:10,fontWeight:500,letterSpacing:\".12em\",textTransform:\"uppercase\"}),color:\"rgba(0,0,0,0.45)\"},children:z.label})]},i)),/*#__PURE__*/_jsx(\"div\",{style:{width:1,height:14,background:\"rgba(0,0,0,0.08)\",margin:\"0 2px\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:6},children:[/*#__PURE__*/_jsx(\"span\",{style:{width:8,height:8,borderRadius:\"50%\",background:pinColor,flexShrink:0,boxShadow:`0 0 0 2px ${pinColor}25`}}),/*#__PURE__*/_jsxs(\"span\",{style:{...wf(fontHanken,{fontSize:10,fontWeight:600,letterSpacing:\".04em\"}),color:\"rgba(0,0,0,0.50)\",whiteSpace:\"nowrap\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:\"rgba(0,0,0,0.75)\",fontWeight:700},children:airports.length}),\" airports\"]})]})]})]})]});}/* ================================================================\n   PROPERTY CONTROLS\n   ================================================================ */addPropertyControls(JetflyExplorer,{apiBaseUrl:{type:ControlType.String,title:\"API Base\",defaultValue:\"https://app.jetfly.com/api\",description:\"Production API endpoint (used on jetfly.com)\"},stagingApiBaseUrl:{type:ControlType.String,title:\"Staging API\",defaultValue:\"https://stg.app.jetfly.com/api\",description:\"Staging endpoint used in Framer preview/canvas (framercanvas.com is CORS-whitelisted there). Auto-switches based on hostname.\"},apiVersion:{type:ControlType.String,title:\"API Version\",defaultValue:\"1.0.0\",placeholder:\"X-APP-VERSION header value\"},useRealData:{type:ControlType.Boolean,title:\"Real Data\",defaultValue:true},initialZoom:{type:ControlType.Number,title:\"Initial Zoom\",defaultValue:4,min:1,max:18,step:.5,description:\"Zoom level when the map first loads\"},initialCenterLat:{type:ControlType.Number,title:\"Center Lat\",defaultValue:48.5,min:-90,max:90,step:.1},initialCenterLng:{type:ControlType.Number,title:\"Center Lng\",defaultValue:8,min:-180,max:180,step:.1},heroTitleSize:{type:ControlType.Number,title:\"Hero Title Size\",defaultValue:40,min:18,max:72,step:1},mobileMapRatio:{type:ControlType.Number,title:\"Mobile Map Ratio\",defaultValue:.25,min:.15,max:.6,step:.01},heroTitle:{type:ControlType.String,title:\"Hero Title\",defaultValue:\"TIME & PRICE\\nCALCULATOR\"},heroSubtitle:{type:ControlType.String,title:\"Hero Subtitle\",defaultValue:\"Estimate your flight time with your favourite aircraft.\"},topDisclaimerText:{type:ControlType.String,title:\"Top Disclaimer\",defaultValue:\"The costs displayed are estimates only, may be subject to additional charges, and are exclusively available to current Jetfly Owners.\"},topDisclaimerLinkText:{type:ControlType.String,title:\"Contact CTA Label\",defaultValue:\"Contact us for more information.\"},topDisclaimerLinkUrl:{type:ControlType.Link,title:\"Contact CTA URL\",description:\"Link target for the contact button under the disclaimer\"},card1Title:{type:ControlType.String,title:\"Card 1 Title\",defaultValue:\"PC-12\"},card1Url:{type:ControlType.Link,title:\"Card 1 URL\"},card2Title:{type:ControlType.String,title:\"Card 2 Title\",defaultValue:\"PC-24\"},card2Url:{type:ControlType.Link,title:\"Card 2 URL\"},deletedAirports:{type:ControlType.String,title:\"Deleted Airports\",defaultValue:\"EGLL\",placeholder:\"EGLL, EHAM, LFPG\",description:\"ICAO codes to exclude from search and map (comma-separated)\",displayTextArea:true},fractionalButtonText:{type:ControlType.String,title:\"Fractional CTA Label\",defaultValue:\"LEARN ABOUT OUR FRACTIONAL PROGRAM\"},fractionalButtonUrl:{type:ControlType.Link,title:\"Fractional CTA URL\",description:\"Link target for the button below the result cards\"},mapWidthRatio:{type:ControlType.Number,title:\"Map %\",defaultValue:.5,min:.2,max:.7,step:.01},desktopFillPercent:{type:ControlType.Number,title:\"Desktop Zoom %\",defaultValue:80,min:30,max:100,step:5,description:\"How much of the visible map the route should fill on desktop (higher = more zoomed in)\"},mobileFillPercent:{type:ControlType.Number,title:\"Mobile Zoom %\",defaultValue:60,min:30,max:100,step:5,description:\"How much of the visible map the route should fill on mobile\"},disclaimer:{type:ControlType.String,title:\"Disclaimer\",defaultValue:\"Quoted prices are estimates and may be adjusted based on actual flight time and handling costs. Estimates are excluding VAT (and Italian luxury taxes), based on variable costs only and include 12 minutes for taxi time.\"},clusterDensity:{type:ControlType.Number,title:\"Cluster Density\",defaultValue:40,min:1,max:100,step:1},showZoomControls:{type:ControlType.Boolean,title:\"Zoom Controls\",defaultValue:true},buttonRadius:{type:ControlType.Number,title:\"Button Radius\",defaultValue:10,min:0,max:30,step:1},pinColor:{type:ControlType.Color,title:\"Pin Color\",defaultValue:\"#C4945A\"},pinBgColor:{type:ControlType.Color,title:\"Pin Background\",defaultValue:\"#FFFFFF\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#B8B0A0\",description:\"Country borders, applied to all zones\"},zone1Color:{type:ControlType.Color,title:\"Zone I Color\",defaultValue:\"#FFFFFF\"},zone2Color:{type:ControlType.Color,title:\"Zone II Color\",defaultValue:\"#E8DECC\"},zoneOutColor:{type:ControlType.Color,title:\"Out of Zone\",defaultValue:\"#A89B85\"},oceanColor:{type:ControlType.Color,title:\"Ocean Color\",defaultValue:\"#D6EAF0\"},cityLabelColor:{type:ControlType.Color,title:\"City Labels\",defaultValue:\"#000000\",description:\"Text & dot color for city labels on the map\"},panelBg:{type:ControlType.Color,title:\"Panel BG\",defaultValue:\"rgba(255,255,255,0.65)\"},panelBorder:{type:ControlType.Color,title:\"Border\",defaultValue:\"#EDEDED\"},fontBegum:{type:ControlType.Font,title:\"Font Begum\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.1,letterSpacing:\"0.14em\"}},fontBegumCta:{type:ControlType.Font,title:\"Font Begum CTA\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:28,lineHeight:1.1,letterSpacing:\"0\"}},fontHanken:{type:ControlType.Font,title:\"Font Hanken\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:34,lineHeight:1.05,letterSpacing:\"0em\"}},fleetCollection:{type:ControlType.ComponentInstance,title:\"Fleet Collection\"},opacity:{type:ControlType.Object,title:\"Opacity\",description:\"More components at [Memselon ☁️](http://memselon.com)\",controls:{start:{type:ControlType.Number,min:0,max:1,step:.01,defaultValue:1},end:{type:ControlType.Number,min:0,max:1,step:.01,defaultValue:1}},defaultValue:{start:1,end:1}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"JetflyExplorer\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./JetflyExplorer.map","// Generated by Framer (d22cd96)\nimport{LazyValue}from\"framer\";const valuesByLocaleId={DX3fwShy3:new LazyValue(()=>import(\"./lbaMJlGT8-4.js\")),jX_QcaZe7:new LazyValue(()=>import(\"./lbaMJlGT8-1.js\")),NNchHHCh7:new LazyValue(()=>import(\"./lbaMJlGT8-2.js\")),NsI4FdG6z:new LazyValue(()=>import(\"./lbaMJlGT8-5.js\")),Wv8_XumxS:new LazyValue(()=>import(\"./lbaMJlGT8-0.js\")),z_jSmpdQm:new LazyValue(()=>import(\"./lbaMJlGT8-3.js\"))};export default function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values){const value=values.read()[key];if(value)return value;}locale=locale.fallback;}}function preload(locale){const promises=[];while(locale){const values=valuesByLocaleId[locale.id];if(values){const promise=values.preload();if(promise)promises.push(promise);}locale=locale.fallback;}if(promises.length>0)return Promise.all(promises);}export function usePreloadLocalizedValues(locale){const preloadPromise=preload(locale);if(preloadPromise)throw preloadPromise;}\nexport const __FramerMetadata__ = {\"exports\":{\"usePreloadLocalizedValues\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (d22cd96)\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addFonts,ChildrenCanSuspend,clampRGB,ComponentViewportProvider,Container,cx,forwardLoader,GeneratedComponentContext,getFonts,getFontsFromSharedStyle,Image as Image1,InjectSelectionStyle,PathVariablesContext,PropertyOverrides,queryCache,ResetOuterLinkContext,ResolveLinks,RichText,useActiveVariantCallback,useComponentViewport,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,useMetadata,useOverlayState,useQueryData,useRouter,withCSS}from\"framer\";import{AnimatePresence,LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as ReactDOM from\"react-dom\";import Navigation from\"#framer/local/canvasComponent/HlpP6EFWh/HlpP6EFWh.js\";import NavigationPopupActive from\"#framer/local/canvasComponent/klWHiKoxo/klWHiKoxo.js\";import AlertPopupNew from\"#framer/local/codeFile/A99iRp9/AlertPopupNew.js\";import JetflyExplorer from\"#framer/local/codeFile/gy1R4tf/JetflyExplorer.js\";import Alert from\"#framer/local/collection/DpsIM4OBw/DpsIM4OBw.js\";import Fleet from\"#framer/local/collection/k107aHw4r/k107aHw4r.js\";import*as sharedStyle from\"#framer/local/css/jqjEMEZIa/jqjEMEZIa.js\";import getLocalizedValue,{usePreloadLocalizedValues}from\"#framer/local/localization/lbaMJlGT8/lbaMJlGT8.js\";import metadataProvider from\"#framer/local/webPageMetadata/lbaMJlGT8/lbaMJlGT8.js\";const AlertPopupNewFonts=getFonts(AlertPopupNew);const NavigationFonts=getFonts(Navigation);const NavigationPopupActiveFonts=getFonts(NavigationPopupActive);const JetflyExplorerFonts=getFonts(JetflyExplorer);const breakpoints={gDS5mgxCI:\"(min-width: 810px) and (max-width: 1199.98px)\",IQ4FP_fhx:\"(min-width: 1200px)\",RvRzf0tUA:\"(max-width: 809.98px)\"};const isBrowser=()=>typeof document!==\"undefined\";export const queryParamNames=[];const serializationHash=\"framer-E0XgY\";const variantClassNames={gDS5mgxCI:\"framer-v-ad6w1z\",IQ4FP_fhx:\"framer-v-4jcw7h\",RvRzf0tUA:\"framer-v-19zpttx\"};const gMytuXv7hsrxW7FOVf=undefined;const g4CMV_ooGsrxW7FOVf=undefined;const ByHIkKyVMsrxW7FOVf=undefined;const JhyP4iQnMsrxW7FOVf=undefined;const JFGQHAOaMsrxW7FOVf=undefined;const r0ii3TmoKsrxW7FOVf=undefined;const JqStIhiiQsrxW7FOVf=undefined;const idsrxW7FOVf=undefined;const myfBueoqUKnljN96mK=undefined;const Q9xAH19mSKnljN96mK=undefined;const lAzOiHvjJKnljN96mK=undefined;const gve1lcpQiKnljN96mK=undefined;const DDeyOTRgSKnljN96mK=undefined;const UKbYx_KPJKnljN96mK=undefined;const OaFA6CRCHKnljN96mK=undefined;const gWHSnVYh7KnljN96mK=undefined;const OvMjLi_baKnljN96mK=undefined;const IJS16IpyvKnljN96mK=undefined;const idKnljN96mK=undefined;const getRootLayoutProp=(hasLayoutTemplate,hasInheritedFlowEffect,fallback)=>{if(!hasLayoutTemplate)return fallback;return hasInheritedFlowEffect?\"position\":fallback;};const query=()=>({from:{alias:\"srxW7FOVf\",data:Alert,type:\"Collection\"},limit:{type:\"LiteralValue\",value:1},orderBy:[{collection:\"srxW7FOVf\",direction:\"desc\",name:\"yzXsN6lh0\",type:\"Identifier\"}],select:[{collection:\"srxW7FOVf\",name:\"gMytuXv7h\",type:\"Identifier\"},{collection:\"srxW7FOVf\",name:\"g4CMV_ooG\",type:\"Identifier\"},{collection:\"srxW7FOVf\",name:\"ByHIkKyVM\",type:\"Identifier\"},{collection:\"srxW7FOVf\",name:\"JhyP4iQnM\",type:\"Identifier\"},{collection:\"srxW7FOVf\",name:\"JFGQHAOaM\",type:\"Identifier\"},{collection:\"srxW7FOVf\",name:\"r0ii3TmoK\",type:\"Identifier\"},{collection:\"srxW7FOVf\",name:\"JqStIhiiQ\",type:\"Identifier\"},{collection:\"srxW7FOVf\",name:\"id\",type:\"Identifier\"}]});const QueryData=({query,pageSize,children})=>{const data=useQueryData(query);return children(data);};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const getContainer=()=>{return document.querySelector(\"#template-overlay\")??document.querySelector(\"#overlay\")??document.body;};const Overlay=({children,blockDocumentScrolling,dismissWithEsc,enabled=true})=>{const[visible,setVisible]=useOverlayState({blockDocumentScrolling,dismissWithEsc:enabled&&dismissWithEsc});return children({hide:()=>setVisible(false),show:()=>setVisible(true),toggle:()=>setVisible(!visible),visible:enabled&&visible});};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};const toString=value=>{return typeof value===\"string\"?value:String(value);};const isSet=value=>{if(Array.isArray(value))return value.length>0;return value!==undefined&&value!==null&&value!==\"\";};const query1=()=>({from:{alias:\"KnljN96mK\",data:Fleet,type:\"Collection\"},select:[{collection:\"KnljN96mK\",name:\"myfBueoqU\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"Q9xAH19mS\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"lAzOiHvjJ\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"gve1lcpQi\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"DDeyOTRgS\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"UKbYx_KPJ\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"OaFA6CRCH\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"gWHSnVYh7\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"OvMjLi_ba\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"IJS16Ipyv\",type:\"Identifier\"},{collection:\"KnljN96mK\",name:\"id\",type:\"Identifier\"}]});const humanReadableVariantMap={Desktop:\"IQ4FP_fhx\",Phone:\"RvRzf0tUA\",Tablet:\"gDS5mgxCI\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"IQ4FP_fhx\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const metadata=React.useMemo(()=>metadataProvider({},activeLocale),[activeLocale]);useMetadata(metadata);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const{activeVariantCallback,delay}=useActiveVariantCallback(undefined);const j1ZTGeBZDko9la1=({overlay})=>activeVariantCallback(async(...args)=>{overlay.toggle();});const JRj6r0Xzg1q29jei=({overlay})=>activeVariantCallback(async(...args)=>{overlay.hide();});const j1ZTGeBZD1q29jei=({overlay})=>activeVariantCallback(async(...args)=>{overlay.hide();});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const hasLayoutTemplate=React.useContext(GeneratedComponentContext)?.isLayoutTemplate;const hasInheritedFlowEffect=Boolean(React.useContext(MotionConfigContext)?.transition?.layout);const motionLayout=getRootLayoutProp(hasLayoutTemplate,hasInheritedFlowEffect);usePreloadLocalizedValues(activeLocale);const isDisplayed=()=>{if(!isBrowser())return true;if(baseVariant===\"RvRzf0tUA\")return false;return true;};const isDisplayed1=()=>{if(!isBrowser())return true;if(baseVariant===\"RvRzf0tUA\")return true;return false;};const router=useRouter();useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,humanReadableVariantMap,primaryVariantId:\"IQ4FP_fhx\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\"html body { background: rgb(255, 255, 255); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-4jcw7h\",className),ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-roh7uc\",layout:motionLayout,children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query(),children:(collection,paginationInfo,loadMore)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection?.map(({ByHIkKyVM:ByHIkKyVMsrxW7FOVf,g4CMV_ooG:g4CMV_ooGsrxW7FOVf,gMytuXv7h:gMytuXv7hsrxW7FOVf,id:idsrxW7FOVf,JFGQHAOaM:JFGQHAOaMsrxW7FOVf,JhyP4iQnM:JhyP4iQnMsrxW7FOVf,JqStIhiiQ:JqStIhiiQsrxW7FOVf,r0ii3TmoK:r0ii3TmoKsrxW7FOVf},index)=>{gMytuXv7hsrxW7FOVf??=true;g4CMV_ooGsrxW7FOVf??=true;ByHIkKyVMsrxW7FOVf??=0;JhyP4iQnMsrxW7FOVf??=0;JFGQHAOaMsrxW7FOVf??=\"\";r0ii3TmoKsrxW7FOVf??=\"\";JqStIhiiQsrxW7FOVf??=\"\";return /*#__PURE__*/_jsx(LayoutGroup,{id:`srxW7FOVf-${idsrxW7FOVf}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{JqStIhiiQ:JqStIhiiQsrxW7FOVf},children:/*#__PURE__*/_jsx(\"div\",{className:\"framer-1bmskxz\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-17f4dh0-container\",isAuthoredByUser:true,nodeId:\"dORIbZqyE\",scopeId:\"lbaMJlGT8\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{RvRzf0tUA:{categoryFont:{fontFamily:'\"Hanken Grotesk\", \"Hanken Grotesk Placeholder\", sans-serif',fontSize:\"11px\",fontStyle:\"normal\",fontWeight:600,letterSpacing:\"0.05em\",lineHeight:\"1.2em\"},descriptionFont:{fontFamily:'\"Hanken Grotesk\", \"Hanken Grotesk Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.01em\",lineHeight:\"1.6em\"},offsetTop:74,showIcon:false,titleFont:{fontFamily:'\"Begum Sans Regular\", \"Begum Sans Regular Placeholder\", sans-serif',fontSize:\"18px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.02em\",lineHeight:\"1.2em\"}}},children:/*#__PURE__*/_jsx(AlertPopupNew,{active:gMytuXv7hsrxW7FOVf,backgroundColor:\"rgb(255, 255, 255)\",borderColor:\"rgba(230, 227, 223, 0)\",borderRadius:8,category:getLocalizedValue(\"v0\",activeLocale)??\"INCIDENT\",categoryFont:{fontFamily:'\"Hanken Grotesk\", \"Hanken Grotesk Placeholder\", sans-serif',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:600,letterSpacing:\"0.05em\",lineHeight:\"1.2em\"},closeButtonBg:\"rgba(255, 255, 255, 0.4)\",closeButtonBorderColor:\"rgba(230, 227, 223, 0)\",closeButtonBorderWidth:1,closeButtonGap:4,closeButtonHeight:70,closeButtonRadius:8,closeButtonSize:42,closeIconColor:\"var(--token-4214cb87-174a-4809-8608-02f64f930163, rgb(29, 29, 27))\",contactBackgroundColor:\"var(--token-cf13b632-4bff-4b66-b870-7b70d6c1986b, rgb(248, 243, 234))\",contactDetailsFont:{fontFamily:'\"Hanken Grotesk\", \"Hanken Grotesk Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.01em\",lineHeight:\"1.4em\"},contactEmail:getLocalizedValue(\"v4\",activeLocale)??\"cedric.lescop@jetfly.com\",contactFont:{fontFamily:'\"Hanken Grotesk\", \"Hanken Grotesk Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:600,letterSpacing:\"-0.01em\",lineHeight:\"1.4em\"},contactJobTitle:getLocalizedValue(\"v3\",activeLocale)??\"Chief Executive Officer\",contactName:getLocalizedValue(\"v2\",activeLocale)??\"C\\xe9dric Lescop\",contactPhone:getLocalizedValue(\"v5\",activeLocale)??\"+352 661 233 802\",contactTitle:getLocalizedValue(\"v6\",activeLocale)??\"Direct Contact\",date:getLocalizedValue(\"v1\",activeLocale)??\"Jun 18, 2026\",description:r0ii3TmoKsrxW7FOVf,descriptionFont:{fontFamily:'\"Hanken Grotesk\", \"Hanken Grotesk Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.01em\",lineHeight:\"170%\"},devTest:false,dividerColor:\"rgb(229, 226, 221)\",height:\"100%\",hideDurationHours:ByHIkKyVMsrxW7FOVf,hideDurationMinutes:JhyP4iQnMsrxW7FOVf,iconBackgroundColor:\"var(--token-cf13b632-4bff-4b66-b870-7b70d6c1986b, rgb(248, 243, 234))\",iconBorderRadius:8,iconColor:\"var(--token-7d029f02-ef07-4f22-bfa1-1f8693a5a1a5, rgb(255, 75, 69))\",id:\"dORIbZqyE\",layoutId:\"dORIbZqyE\",mutedTextColor:\"rgb(169, 166, 158)\",offsetSide:16,offsetTop:82,padding:16,panelBorderRadius:12,panelSide:\"right\",panelWidth:380,secondaryTextColor:\"rgb(61, 59, 55)\",showContactInfo:true,showIcon:true,showOnce:g4CMV_ooGsrxW7FOVf,style:{height:\"100%\",width:\"100%\"},textColor:\"var(--token-4214cb87-174a-4809-8608-02f64f930163, rgb(29, 29, 27))\",title:JFGQHAOaMsrxW7FOVf,titleFont:{fontFamily:'\"Begum Sans Regular\", \"Begum Sans Regular Placeholder\", sans-serif',fontSize:\"18px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"-0.02em\",lineHeight:\"130%\"},width:\"100%\"})})})})})})},idsrxW7FOVf);})});}})})}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:82,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-gnyb5q-container hidden-19zpttx\",layout:motionLayout,layoutScroll:true,nodeId:\"IehVwWpRW\",scopeId:\"lbaMJlGT8\",children:/*#__PURE__*/_jsx(Navigation,{CW73M0LKR:true,EePoUwjsR:0,height:\"100%\",id:\"IehVwWpRW\",layoutId:\"IehVwWpRW\",style:{width:\"100%\"},variant:matchVariant(\"ohVwSIKFe\"),width:\"100%\"})})}),isDisplayed1()&&/*#__PURE__*/_jsx(Overlay,{dismissWithEsc:true,children:overlay=>/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{RvRzf0tUA:{height:82,width:componentViewport?.width||\"100vw\",y:(componentViewport?.y||0)+-1}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsxs(Container,{className:\"framer-347lz-container hidden-4jcw7h hidden-ad6w1z\",\"data-framer-name\":\"Nav Dark\",id:\"347lz\",layout:motionLayout,name:\"Nav Dark\",nodeId:\"sQ3wMBNxK\",scopeId:\"lbaMJlGT8\",children:[/*#__PURE__*/_jsx(Navigation,{CW73M0LKR:true,EePoUwjsR:0,height:\"100%\",id:\"sQ3wMBNxK\",j1ZTGeBZD:j1ZTGeBZDko9la1({overlay}),layoutId:\"sQ3wMBNxK\",name:\"Nav Dark\",style:{width:\"100%\"},variant:matchVariant(overlay.visible&&\"txPxdmukd\",overlay.visible?\"txPxdmukd\":\"bqKlSf348\"),width:\"100%\"}),/*#__PURE__*/_jsx(AnimatePresence,{children:overlay.visible&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/ReactDOM.createPortal(/*#__PURE__*/_jsx(InjectSelectionStyle,{triggerId:\"347lz\",children:/*#__PURE__*/_jsxs(ResetOuterLinkContext,{children:[/*#__PURE__*/_jsx(motion.div,{animate:{opacity:1,transition:{delay:0,duration:0,ease:[.5,0,.88,.77],type:\"tween\"}},className:cx(scopingClassNames,\"framer-47pmtv\"),\"data-framer-portal-id\":\"347lz\",exit:{opacity:0,transition:{delay:0,duration:0,ease:[.12,.23,.5,1],type:\"tween\"}},initial:{opacity:0},onTap:()=>overlay.hide()},\"G7jphnyIg\"),/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{RvRzf0tUA:{width:\"100vw\"}},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{width:\"1200px\",children:/*#__PURE__*/_jsx(Container,{className:cx(scopingClassNames,\"framer-l8xjzf-container\"),\"data-framer-portal-id\":\"347lz\",inComponentSlot:true,nodeId:\"iFo7ouvaQ\",rendersWithMotion:true,scopeId:\"lbaMJlGT8\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{RvRzf0tUA:{JRj6r0Xzg:JRj6r0Xzg1q29jei({overlay}),variant:matchVariant(\"dCyun0Wyl\")}},children:/*#__PURE__*/_jsx(NavigationPopupActive,{height:\"100%\",id:\"iFo7ouvaQ\",layoutId:\"iFo7ouvaQ\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"r0mSkLmtq\"),vAsg9hEMM:\"150px 20px 100px 20px\",width:\"100%\",YTg6x60_t:true})})})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{width:\"100vw\",children:/*#__PURE__*/_jsx(Container,{className:cx(scopingClassNames,\"framer-p28r5e-container\"),\"data-framer-portal-id\":\"347lz\",inComponentSlot:true,nodeId:\"VxbKR2Uss\",rendersWithMotion:true,scopeId:\"lbaMJlGT8\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{RvRzf0tUA:{j1ZTGeBZD:j1ZTGeBZD1q29jei({overlay})}},children:/*#__PURE__*/_jsx(Navigation,{CW73M0LKR:true,EePoUwjsR:0,height:\"100%\",id:\"VxbKR2Uss\",layoutId:\"VxbKR2Uss\",style:{width:\"100%\"},variant:matchVariant(\"ysd9JuzLH\"),width:\"100%\"})})})})]})}),getContainer())})})]})})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{hash:\":Y3pV2sGjq\",webPageId:\"Y6JiAhPV2\"},implicitPathVariables:undefined},{href:{webPageId:\"uGHixqS50\"},implicitPathVariables:undefined},{href:{hash:\":Y3pV2sGjq\",webPageId:\"Y6JiAhPV2\"},implicitPathVariables:undefined},{href:{webPageId:\"uGHixqS50\"},implicitPathVariables:undefined},{href:{hash:\":Y3pV2sGjq\",webPageId:\"Y6JiAhPV2\"},implicitPathVariables:undefined},{href:{webPageId:\"uGHixqS50\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-dp3gj5-container\",isAuthoredByUser:true,layout:motionLayout,layoutScroll:true,nodeId:\"ifkpnNhQ4\",scopeId:\"lbaMJlGT8\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{gDS5mgxCI:{card2Url:resolvedLinks[3],heroTitleSize:32,topDisclaimerLinkUrl:resolvedLinks[2]},RvRzf0tUA:{card2Url:resolvedLinks[5],fontBegumCta:{fontFamily:'\"Begum Sans Regular\", \"Begum Sans Regular Placeholder\", sans-serif',fontSize:\"18px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"1.1em\"},fractionalButtonText:getLocalizedValue(\"v18\",activeLocale)??\"OUR FRACTIONAL PROGRAMME\",heroTitleSize:26,initialZoom:1,mapWidthRatio:.3,mobileFillPercent:55,topDisclaimerLinkUrl:resolvedLinks[4]}},children:/*#__PURE__*/_jsx(JetflyExplorer,{apiBaseUrl:getLocalizedValue(\"v7\",activeLocale)??\"https://app.jetfly.com/api\",apiVersion:\"\",borderColor:\"rgb(222, 216, 206)\",buttonRadius:8,card1Title:getLocalizedValue(\"v13\",activeLocale)??\"Fly in the USA with PlaneSense\",card1Url:\"https://www.planesense.com\",card2Title:getLocalizedValue(\"v14\",activeLocale)??\"Fractionnal Jet Ownership\",card2Url:resolvedLinks[1],cityLabelColor:\"var(--token-e2111148-d9a8-4d13-b080-ae3c4ae8a420, rgb(137, 129, 126))\",clusterDensity:35,deletedAirports:getLocalizedValue(\"v15\",activeLocale)??\"EGLL\",desktopFillPercent:60,disclaimer:getLocalizedValue(\"v17\",activeLocale)??\"Quoted prices are estimates and may be adjusted based on actual flight time and handling costs. Estimates are excluding VAT (and Italian luxury taxes), based on variable costs only and include 12 minutes for taxi time.\",fleetCollection:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-rbq4j4\",children:/*#__PURE__*/_jsx(ChildrenCanSuspend,{children:/*#__PURE__*/_jsx(QueryData,{query:query1(),children:(collection1,paginationInfo1,loadMore1)=>{return /*#__PURE__*/_jsx(_Fragment,{children:collection1?.map(({DDeyOTRgS:DDeyOTRgSKnljN96mK,gve1lcpQi:gve1lcpQiKnljN96mK,gWHSnVYh7:gWHSnVYh7KnljN96mK,id:idKnljN96mK,IJS16Ipyv:IJS16IpyvKnljN96mK,lAzOiHvjJ:lAzOiHvjJKnljN96mK,myfBueoqU:myfBueoqUKnljN96mK,OaFA6CRCH:OaFA6CRCHKnljN96mK,OvMjLi_ba:OvMjLi_baKnljN96mK,Q9xAH19mS:Q9xAH19mSKnljN96mK,UKbYx_KPJ:UKbYx_KPJKnljN96mK},index1)=>{Q9xAH19mSKnljN96mK??=\"\";lAzOiHvjJKnljN96mK??=0;gve1lcpQiKnljN96mK??=0;DDeyOTRgSKnljN96mK??=0;UKbYx_KPJKnljN96mK??=0;OvMjLi_baKnljN96mK??=\"#09F\";IJS16IpyvKnljN96mK??=\"\";const textContent=toString(lAzOiHvjJKnljN96mK);const textContent1=toString(gve1lcpQiKnljN96mK);const textContent2=toString(DDeyOTRgSKnljN96mK);const textContent3=toString(UKbYx_KPJKnljN96mK);const visible=isSet(OaFA6CRCHKnljN96mK);return /*#__PURE__*/_jsx(LayoutGroup,{id:`KnljN96mK-${idKnljN96mK}`,children:/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{IJS16Ipyv:IJS16IpyvKnljN96mK},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ox9h5h\",children:[/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",sizes:\"62px\",...toResponsiveImage(myfBueoqUKnljN96mK)},className:\"framer-1b8cwlz\",fitImageDimension:\"height\"}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-1m8wzdb\",\"data-styles-preset\":\"jqjEMEZIa\",dir:\"auto\",children:\"Gstaad, CH\"})}),className:\"framer-igqlt0\",\"data-framer-name\":\"Base\",fonts:[\"Inter\"],text:Q9xAH19mSKnljN96mK,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-1m8wzdb\",\"data-styles-preset\":\"jqjEMEZIa\",dir:\"auto\",children:\"OH-GEM\"})}),className:\"framer-or4qto\",\"data-framer-name\":\"Base\",fonts:[\"Inter\"],text:textContent,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-1m8wzdb\",\"data-styles-preset\":\"jqjEMEZIa\",dir:\"auto\",children:\"PC-12 PRO\"})}),className:\"framer-2jepww\",\"data-framer-name\":\"Base\",fonts:[\"Inter\"],text:textContent1,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-1m8wzdb\",\"data-styles-preset\":\"jqjEMEZIa\",dir:\"auto\",children:\"46.4753, 7.2853\"})}),className:\"framer-7nwqbd\",\"data-framer-name\":\"Base\",fonts:[\"Inter\"],text:textContent2,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(\"p\",{className:\"framer-styles-preset-1m8wzdb\",\"data-styles-preset\":\"jqjEMEZIa\",dir:\"auto\",children:\"2025\"})}),className:\"framer-1ubd28z\",\"data-framer-name\":\"Base\",fonts:[\"Inter\"],text:textContent3,verticalAlignment:\"top\",withExternalLayout:true}),visible!==false&&/*#__PURE__*/_jsx(Image1,{background:{alt:\"\",fit:\"fill\",sizes:\"62px\",...toResponsiveImage(gWHSnVYh7KnljN96mK)},className:\"framer-r54rt4\",fitImageDimension:\"height\"}),visible!==false&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-wz25re\",style:{\"--1a20mxb\":OvMjLi_baKnljN96mK,\"--7hnxj8\":clampRGB(OvMjLi_baKnljN96mK)}})]})})},idKnljN96mK);})});}})})})],fontBegum:{fontFamily:'\"Begum Sans Regular\", \"Begum Sans Regular Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0.14em\",lineHeight:\"1.1em\"},fontBegumCta:{fontFamily:'\"Begum Sans Regular\", \"Begum Sans Regular Placeholder\", sans-serif',fontSize:\"20px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"1.1em\"},fontHanken:{fontFamily:'\"Hanken Grotesk\", \"Hanken Grotesk Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"1.35em\"},fractionalButtonText:getLocalizedValue(\"v16\",activeLocale)??\"LEARN ABOUT OUR FRACTIONAL PROGRAMME\",height:\"100%\",heroSubtitle:getLocalizedValue(\"v10\",activeLocale)??\"Estimate your flight time with your favourite aircraft.\",heroTitle:getLocalizedValue(\"v9\",activeLocale)??\"TIME & PRICE\\nCALCULATOR\",heroTitleSize:36,id:\"ifkpnNhQ4\",initialCenterLat:48.5,initialCenterLng:8,initialZoom:3.5,layoutId:\"ifkpnNhQ4\",mapWidthRatio:.5,mobileFillPercent:30,mobileMapRatio:.25,oceanColor:\"rgb(234, 242, 248)\",opacity:{end:1,start:1},panelBg:\"rgba(255, 255, 255, 0.9)\",panelBorder:\"rgb(237, 237, 237)\",pinBgColor:\"rgb(255, 255, 255)\",pinColor:\"rgb(196, 148, 90)\",showZoomControls:false,stagingApiBaseUrl:getLocalizedValue(\"v8\",activeLocale)??\"https://stg.app.jetfly.com/api\",style:{height:\"100%\",width:\"100%\"},topDisclaimerLinkText:getLocalizedValue(\"v12\",activeLocale)??\"Contact us for more information.\",topDisclaimerLinkUrl:resolvedLinks[0],topDisclaimerText:getLocalizedValue(\"v11\",activeLocale)??\"The costs displayed are estimates only, may be subject to additional charges, and are exclusively available to current Jetfly Owners.\",useRealData:true,width:\"100%\",zone1Color:\"rgb(255, 255, 255)\",zone2Color:\"rgb(250, 245, 237)\",zoneOutColor:\"rgb(227, 223, 216)\"})})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"overlay\"})]})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-E0XgY.framer-1c5rs6h, .framer-E0XgY .framer-1c5rs6h { display: block; }\",\".framer-E0XgY.framer-4jcw7h { align-content: center; align-items: center; background-color: #ffffff; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; min-height: 1000px; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 1200px; }\",\".framer-E0XgY .framer-roh7uc { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: 10px; justify-content: center; padding: 0px; position: absolute; right: 0px; top: 0px; width: 10px; z-index: 7; }\",\".framer-E0XgY .framer-1bmskxz { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 1px; justify-content: flex-start; padding: 0px; position: relative; width: 100%; }\",\".framer-E0XgY .framer-17f4dh0-container { flex: none; height: 1px; position: absolute; right: 0px; top: 1px; width: 1px; z-index: 1; }\",\".framer-E0XgY .framer-gnyb5q-container, .framer-E0XgY.framer-p28r5e-container { flex: none; height: auto; left: 50%; position: fixed; top: 0px; transform: translateX(-50%); width: 100%; z-index: 8; }\",\".framer-E0XgY .framer-347lz-container { flex: none; height: auto; left: 50%; position: absolute; top: -1px; transform: translateX(-50%); width: 100%; z-index: 9; }\",\".framer-E0XgY.framer-47pmtv { background-color: rgba(0, 0, 0, 0.8); inset: 0px; position: fixed; user-select: none; }\",\".framer-E0XgY.framer-l8xjzf-container { flex: none; height: 100vh; position: fixed; right: -810px; top: 0px; width: 1200px; z-index: 8; }\",\".framer-E0XgY .framer-dp3gj5-container { flex: none; height: 100vh; left: calc(50.00000000000002% - 100% / 2); position: fixed; top: 0px; width: 100%; z-index: 1; }\",\".framer-E0XgY .framer-rbq4j4 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 20px; height: min-content; justify-content: center; padding: 0px; position: relative; width: min-content; }\",\".framer-E0XgY .framer-ox9h5h { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; padding: 0px; position: relative; width: min-content; }\",\".framer-E0XgY .framer-1b8cwlz { flex: none; height: auto; position: relative; width: 62px; }\",\".framer-E0XgY .framer-igqlt0, .framer-E0XgY .framer-or4qto, .framer-E0XgY .framer-2jepww, .framer-E0XgY .framer-7nwqbd, .framer-E0XgY .framer-1ubd28z { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-E0XgY .framer-r54rt4 { border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; border-top-left-radius: 8px; border-top-right-radius: 8px; flex: none; height: auto; position: relative; width: 62px; }\",\".framer-E0XgY .framer-wz25re { background-color: var(--iuc2jt, var(--7hnxj8)); border-bottom-left-radius: 8px; border-bottom-right-radius: 8px; border-top-left-radius: 8px; border-top-right-radius: 8px; flex: none; height: 30px; position: relative; width: 30px; }\",\"@supports (color: color(display-p3 1 1 1)) { .framer-E0XgY .framer-wz25re { --iuc2jt: var(--1a20mxb); } }\",...sharedStyle.css,\"@media (min-width: 810px) and (max-width: 1199.98px) { .framer-E0XgY.framer-4jcw7h { width: 810px; }}\",\"@media (max-width: 809.98px) { .framer-E0XgY.framer-4jcw7h { min-height: 1796px; width: 390px; } .framer-E0XgY .framer-17f4dh0-container { height: 100%; width: 100%; } .framer-E0XgY.framer-47pmtv { background-color: unset; z-index: 9; } .framer-E0XgY.framer-l8xjzf-container { left: 0px; right: unset; width: 100%; z-index: 9; } .framer-E0XgY.framer-p28r5e-container { z-index: 9; } .framer-E0XgY .framer-dp3gj5-container { height: 93vh; top: 60px; }}\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"gDS5mgxCI\":{\"layout\":[\"fixed\",\"auto\"]},\"RvRzf0tUA\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerAcceptsLayoutTemplate true\n * @framerScrollSections false\n * @framerResponsiveScreen true\n * @framerLayoutTemplateFlowEffect true\n */const FramerlbaMJlGT8=withCSS(Component,css,\"framer-E0XgY\");export default FramerlbaMJlGT8;FramerlbaMJlGT8.displayName=\"About Us\";FramerlbaMJlGT8.defaultProps={height:1e3,width:1200};addFonts(FramerlbaMJlGT8,[{explicitInter:true,fonts:[{cssFamilyName:\"Begum Sans Regular\",source:\"custom\",style:\"normal\",uiFamilyName:\"Begum Sans\",url:\"https://framerusercontent.com/assets/tnuchQybj9FOWTzwA3Kku2CD0.woff2\",weight:\"400\"},{cssFamilyName:\"Hanken Grotesk\",source:\"google\",style:\"normal\",uiFamilyName:\"Hanken Grotesk\",url:\"https://fonts.gstatic.com/s/hankengrotesk/v12/ieVq2YZDLWuGJpnzaiwFXS9tYvBRzyFLlZg_f_NcbWFa5PpNzXhRKA.woff2\",weight:\"600\"},{cssFamilyName:\"Hanken Grotesk\",source:\"google\",style:\"normal\",uiFamilyName:\"Hanken Grotesk\",url:\"https://fonts.gstatic.com/s/hankengrotesk/v12/ieVq2YZDLWuGJpnzaiwFXS9tYvBRzyFLlZg_f_Ncs2Za5PpNzXhRKA.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...AlertPopupNewFonts,...NavigationFonts,...NavigationPopupActiveFonts,...JetflyExplorerFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});FramerlbaMJlGT8.loader={load:(props,context)=>{const locale=context.locale;const queryCacheEntry=queryCache.get(query(),locale);const queryCacheEntry1=queryCache.get(query1(),locale);return Promise.allSettled([queryCacheEntry.preload(),queryCacheEntry1.preload(),forwardLoader(Navigation,{},context),forwardLoader(NavigationPopupActive,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerlbaMJlGT8\",\"slots\":[],\"annotations\":{\"framerAutoSizeImages\":\"true\",\"framerColorSyntax\":\"true\",\"framerAcceptsLayoutTemplate\":\"true\",\"framerResponsiveScreen\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerScrollSections\":\"false\",\"framerIntrinsicWidth\":\"1200\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerLayoutTemplateFlowEffect\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"gDS5mgxCI\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"RvRzf0tUA\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"queryParamNames\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}