{"version":3,"file":"ModelsTOC.DCQsRGMC.mjs","names":["withMakeTokens","ensureParagraphWrap","rewriteServiceLinks","p","React.useState","css","CheckCircle2","withTokens","toCssSize","p","React.useState","React.useMemo","css","useState","_Fragment","u","p","useRef","css","Clock","MapPin","StarIcon","Phone","Shield","CheckCircle2","React.Component","toCssSize","deriveModelSlugFromUrl","rewriteServiceLinks","React.useState","React.useMemo","isProdDomain","css","Info","ExternalLink","Building2","Droplet","ShieldCheck","CheckCircle2","useState","makeName","useMemo","p","css","_Fragment","toTitle","isLiveDomain","useMemo","useState","useRef","p","useId","css","rewriteServiceUrls","withTokens","p","useState","useMemo","css","withTokens","slugify","p","rewriteServiceUrls","React.useState","React.useMemo","isProdDomain","error","css","HelpCircle","ChevronDown","toCssSize","React.useState","isLiveDomain","React.useMemo","css","Shield","CheckCircle2","withTokens","React.useState","React.useMemo","isProdDomain","css","createClient","React.useState","React.useMemo","error","withTokens","css","React.useState","React.useMemo","React.useState","React.useMemo","Info","Wrench","DollarSign","List","Crosshair","CheckCircle2","ShieldCheck","HelpCircle","React.useRef"],"sources":["https:/framerusercontent.com/modules/acYr29dC7nDrBKdehRPN/Ha3ItHS83Gbm42luvLk2/ModelADASSection.js","https:/framerusercontent.com/modules/7ddLNlhMgGBFPo3ceSj7/0vXLd1pbWMVzYqg937KY/ModelCTA.js","https:/framerusercontent.com/modules/bF9QdJDZzvibU3Kwk3mV/hsvv4P1w2Wb78krVk1C5/ModelHero.js","https:/framerusercontent.com/modules/tD7vCtP6QoicoBqfyRar/GDB8Vyus97uoqemVNslw/ModelsAbout.js","https:/framerusercontent.com/modules/bXpUxba1pn5M8jqg0KFH/5BOKiecX4yhr5CLqIfiQ/ModelsAllModels.js","https:/framerusercontent.com/modules/1E44SlT23HZA6TeeEk0Y/PSQamLsG8tu50JfFRWZg/ModelsBlog.js","https:/framerusercontent.com/modules/UiNl86TVsZI80pcyDLcX/IgBncTivgAfUhnmKbPOy/ModelsCost.js","https:/framerusercontent.com/modules/XG8rtiwHwUkaZFNW2HVs/rOB2CkvdWBHDGNEeAjQ9/ModelsFAQ.js","https:/framerusercontent.com/modules/rum6bs7Y7XCeGKhlRo6t/ZrgBFIPfpTMUnbuottoa/ModelsInsurance.js","https:/framerusercontent.com/modules/ZCLCCI2u3Nqy8f85UmwV/dpj73HqFCtIdMuBYPyX4/ModelsMobile.js","https:/framerusercontent.com/modules/iMn1kGxON2OmJzEtgUwS/A02coNTzIZw2rxUXsN6s/ModelsOem.js","https:/framerusercontent.com/modules/ndXjobcpYEOxMwrwoDG4/66imP7pROBH0dTWab13P/ModelsServices.js","https:/framerusercontent.com/modules/r8jD7SGPzpSNjEj6LYO3/3V3wIqRXKvRUn2QIS1TW/ModelsTOC.js"],"sourcesContent":["// ModelADASSection.tsx — BLACK+GREEN THEME v3.2 (models version)\n// -----------------------------------------------------------------------------\n// Supabase-bound ADAS section for /auto-glass/{make}/{model}\n// Table: public.models\n// Binds: adas_aria_label, adas_heading, adas_paragraph,\n//        adas_feature1..3, adas_featureparagraph1..3\n// Max width fixed to 1280px, tablet/mobile optimized,\n// primary CTA -> Schedule Appointment, secondary -> More Questions?\n// -----------------------------------------------------------------------------\n\"use client\";import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/* ---------- Icons (unchanged) ---------- */const Crosshair=({size=20})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"22\",y1:\"12\",x2:\"18\",y2:\"12\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"6\",y1:\"12\",x2:\"2\",y2:\"12\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"6\",x2:\"12\",y2:\"2\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"22\",x2:\"12\",y2:\"18\"})]});const Camera=({size=18})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"13\",r:\"3\"})]});const Wrench=({size=18})=>/*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\"})});const ShieldCheck=({size=18})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]});const CheckCircle2=({size=18})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]});const Info=({size=16})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"16\",x2:\"12\",y2:\"12\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"8\",x2:\"12.01\",y2:\"8\"})]});/* ---------- Helpers (unchanged token behavior, now fed with {make} from URL) ---------- */function withMakeTokens(input,makeName){if(!input)return input??undefined;const m=(makeName||\"your\").trim();return input.replace(/\\{\\s*make\\s*\\}/gi,m);}/** Ensure we render a <p> under the H2 even if CMS text is raw */function ensureParagraphWrap(htmlOrText){if(!htmlOrText)return\"\";const s=String(htmlOrText).trim();if(!s)return\"\";if(/<(p|ul|ol|div|section|br)\\b/i.test(s))return s;return`<p>${s}</p>`;}/** Rewrite legacy service links to new /services/{make}-{model}-{service} pattern */function rewriteServiceLinks(input){if(!input)return\"\";// Matches absolute or root-relative legacy URLs\nreturn input.replace(/(https?:\\/\\/(?:www\\.)?bangautoglass\\.com)?\\/auto-glass\\/([^/]+)\\/([^/]+)\\/([a-z0-9-]+)/gi,(_m,domain=\"\",make,model,service)=>`${domain}/services/${decodeURIComponent(make)}-${decodeURIComponent(model)}-${decodeURIComponent(service)}`);}/** Extract {make} and {model} from /auto-glass/{make}/{model} (also supports /auto-glass/{make}/models/{model}) */function detectMakeAndModelFromURL(){if(typeof window===\"undefined\")return{makeSlug:undefined,modelSlug:undefined};const parts=window.location?.pathname?.split(\"/\").filter(Boolean)||[];const idx=parts.findIndex(p=>p.toLowerCase()===\"auto-glass\");if(idx<0)return{makeSlug:undefined,modelSlug:undefined};const makeSlug=parts[idx+1]?decodeURIComponent(parts[idx+1]):undefined;let modelSlug;if(parts[idx+2]){const seg=parts[idx+2].toLowerCase();modelSlug=seg===\"models\"&&parts[idx+3]?decodeURIComponent(parts[idx+3]):decodeURIComponent(parts[idx+2]);}return{makeSlug,modelSlug};}/** Gate data fetching to the main domain only (editors/previews use defaults) */function useIsBangDomain(){const[isBang,setIsBang]=React.useState(false);React.useEffect(()=>{if(typeof window===\"undefined\")return;const h=window.location.hostname.toLowerCase();const ok=h===\"bangautoglass.com\"||h.endsWith(\".bangautoglass.com\");setIsBang(ok);},[]);return isBang;}export default function ModelADASSection(props){const{supabaseUrl,supabaseAnonKey,slug:slugProp,modelId,rowOverride,className,style}=props;const[row,setRow]=React.useState(null);const[error,setError]=React.useState(null);// Resolve make/model from URL; use slug prop if provided for model\nconst[{makeSlug,modelSlug:detectedModelSlug}]=React.useState(detectMakeAndModelFromURL());const[resolvedSlug,setResolvedSlug]=React.useState(slugProp||detectedModelSlug||undefined);React.useEffect(()=>{setResolvedSlug(slugProp||detectedModelSlug||undefined);},[slugProp,detectedModelSlug]);const isBangDomain=useIsBangDomain();React.useEffect(()=>{let cancelled=false;const controller=new AbortController;async function load(){// If NOT on main domain, use defaults/overrides only (no remote calls while editing)\nif(!isBangDomain){if(rowOverride&&Object.keys(rowOverride).length){const merged={id:\"override\",slug:rowOverride.slug||resolvedSlug||\"\",model:rowOverride.model??null,adas_aria_label:rowOverride.adas_aria_label??null,adas_heading:rowOverride.adas_heading??null,adas_paragraph:rowOverride.adas_paragraph??null,adas_feature1:rowOverride.adas_feature1??null,adas_feature2:rowOverride.adas_feature2??null,adas_feature3:rowOverride.adas_feature3??null,adas_featureparagraph1:rowOverride.adas_featureparagraph1??null,adas_featureparagraph2:rowOverride.adas_featureparagraph2??null,adas_featureparagraph3:rowOverride.adas_featureparagraph3??null};if(!cancelled)setRow(merged);}else{if(!cancelled)setRow(null);}if(!cancelled)setError(null);return;}// On main domain → fetch from Supabase\nif(!supabaseUrl||!supabaseAnonKey){if(!cancelled){setError(\"Supabase URL/key missing.\");setRow(null);}return;}if(!modelId&&!resolvedSlug){if(!cancelled){setError(\"Provide a model id or ensure URL is /auto-glass/{make}/{model}.\");setRow(null);}return;}try{const columns=[\"id\",\"slug\",\"model\",\"adas_aria_label\",\"adas_heading\",\"adas_paragraph\",\"adas_feature1\",\"adas_feature2\",\"adas_feature3\",\"adas_featureparagraph1\",\"adas_featureparagraph2\",\"adas_featureparagraph3\"].join(\",\");const filter=modelId?`id=eq.${encodeURIComponent(modelId)}`:`slug=ilike.${encodeURIComponent(resolvedSlug)}`;const url=`${supabaseUrl}/rest/v1/models?select=${columns}&${filter}&limit=1`;const response=await fetch(url,{headers:{apikey:supabaseAnonKey,Authorization:`Bearer ${supabaseAnonKey}`,Accept:\"application/json\",Prefer:\"count=none\"},cache:\"no-store\",signal:controller.signal});if(!response.ok)throw new Error(`HTTP ${response.status}`);const data=await response.json();if(cancelled)return;const rec=Array.isArray(data)?data?.[0]:null;setRow(rec);setError(rec?null:\"No model found for the given identifier.\");}catch(err){if(cancelled)return;if(err?.name===\"AbortError\")return;setError(err instanceof Error?err.message:\"Failed to fetch data\");setRow(null);}}load();return()=>{cancelled=true;controller.abort();};},[isBangDomain,supabaseUrl,supabaseAnonKey,modelId,resolvedSlug,rowOverride]);// Use {make} from URL; this feeds token replacement to keep content behavior identical\nconst makeName=makeSlug?decodeURIComponent(makeSlug):undefined;// Strings with {make} token support (identical UX, now backed by models row)\nconst ariaLabel=withMakeTokens(row?.adas_aria_label??\"ADAS camera & sensor info for {make}\",makeName)||\"ADAS camera & sensor info\";const heading=withMakeTokens(row?.adas_heading??\"ADAS Camera & Sensor Calibration for {make}\",makeName)||\"ADAS Camera & Sensor Calibration\";// Paragraph + legacy link rewrite\nconst rawParagraph=withMakeTokens(row?.adas_paragraph??\"Many {make} windshields integrate forward-facing cameras, rain/light sensors, acoustic layers, HUD areas, and heating elements. If your windshield is replaced or ADAS components are disturbed, calibration may be required to restore safety features such as lane-keeping, automatic emergency braking, and adaptive cruise control. We verify the correct glass variant for your build and guide you on the right calibration path—mobile or static—based on OEM procedures.\",makeName);const paragraphHtml=ensureParagraphWrap(rewriteServiceLinks(rawParagraph));// Feature list (unchanged)\nconst features=[{icon:/*#__PURE__*/_jsx(Camera,{size:18,\"aria-hidden\":\"true\"}),title:withMakeTokens(row?.adas_feature1??\"When calibration is needed\",makeName),body:withMakeTokens(row?.adas_featureparagraph1??\"Windshield replacement, camera removal, front-end or suspension work, or fault codes after a collision.\",makeName)},{icon:/*#__PURE__*/_jsx(Wrench,{size:18,\"aria-hidden\":\"true\"}),title:withMakeTokens(row?.adas_feature2??\"Calibration types\",makeName),body:withMakeTokens(row?.adas_featureparagraph2??\"Static (target board on level floor), Dynamic (road drive to spec), or Dual—based on OEM procedures.\",makeName)},{icon:/*#__PURE__*/_jsx(ShieldCheck,{size:18,\"aria-hidden\":\"true\"}),title:withMakeTokens(row?.adas_feature3??\"How we help\",makeName),body:withMakeTokens(row?.adas_featureparagraph3??\"We confirm the correct glass variant and coordinate proper calibration through in-house or trusted partners.\",makeName)}];// Fixed CTAs per spec\nconst primaryCtaText=\"Schedule Appointment\";const primaryCtaHref=\"https://www.bangautoglass.com/schedule-appointment\";const secondaryCtaText=\"More Questions?\";const secondaryCtaHref=\"/frequently-asked-questions\";return /*#__PURE__*/_jsxs(\"section\",{id:\"adas\",\"aria-label\":ariaLabel,className:`bag-make-adas ${className||\"\"}`,style:style,\"data-framer-component\":\"ModelADASSection\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"wrap\",children:[/*#__PURE__*/_jsxs(\"header\",{className:\"head\",children:[/*#__PURE__*/_jsx(Crosshair,{size:20}),/*#__PURE__*/_jsx(\"h2\",{className:\"h2\",children:heading})]}),/*#__PURE__*/_jsx(\"div\",{className:\"content-intro\",children:/*#__PURE__*/_jsx(\"div\",{className:\"rich\",dangerouslySetInnerHTML:{__html:paragraphHtml}})}),error?/*#__PURE__*/_jsx(\"div\",{role:\"status\",className:\"error\",children:error}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"grid\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"content\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"ctaRow\",role:\"group\",\"aria-label\":\"ADAS calls to action\",children:[/*#__PURE__*/_jsxs(\"a\",{className:\"btn btn-primary\",href:primaryCtaHref,\"aria-label\":\"Schedule an appointment for windshield service\",children:[/*#__PURE__*/_jsx(ShieldCheck,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:primaryCtaText})]}),/*#__PURE__*/_jsxs(\"a\",{className:\"btn btn-secondary\",href:secondaryCtaHref,\"aria-label\":\"Read answers to frequently asked questions\",children:[/*#__PURE__*/_jsx(Info,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:secondaryCtaText})]})]})}),/*#__PURE__*/_jsxs(\"aside\",{className:\"aside\",\"aria-labelledby\":\"adas-essentials-heading\",children:[/*#__PURE__*/_jsx(\"h3\",{id:\"adas-essentials-heading\",className:\"sr-only\",children:\"ADAS essentials\"}),/*#__PURE__*/_jsx(\"ul\",{className:\"checks\",role:\"list\",children:features.map((f,i)=>/*#__PURE__*/_jsxs(\"li\",{children:[f.icon,/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"strong\",{children:f.title}),/*#__PURE__*/_jsx(\"p\",{children:f.body})]})]},i))}),/*#__PURE__*/_jsxs(\"div\",{className:\"note\",role:\"note\",\"aria-label\":\"Safety note\",children:[/*#__PURE__*/_jsx(CheckCircle2,{size:18,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"p\",{children:\"Calibration requirements vary by model year, trim, and camera system. Always complete calibration when required to restore ADAS performance.\"})]})]})]})]})]});}/* ---------- Framer Controls (Supabase only, + model slug override) ---------- */addPropertyControls(ModelADASSection,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Anon Key\"},slug:{type:ControlType.String,title:\"Model Slug Override\"}});/* ---------- Styles (bound to Theme tokens with safe fallbacks; visual unchanged) ---------- */const css=/*css*/`\n.bag-make-adas, .bag-make-adas *{ box-sizing: border-box; }\n.bag-make-adas{\n  /* Bind to global Theme tokens with safe fallbacks (avoid self-references) */\n  --emerald: var(--neon, #39FF14);\n  --emerald-2: var(--neon-600, #1EEA00);\n  --emerald-bright: var(--neon-400, #7CFF62);\n  --ring: color-mix(in srgb, var(--emerald, #39FF14) 38%, transparent);\n  --wrap-max:1280px;\n  --text: var(--color-text, #f7f9f7);\n  --muted: var(--color-muted, #c8d1c9);\n  --dim: color-mix(in srgb, var(--color-muted, #c8d1c9) 68%, transparent);\n\n  color: var(--text);\n  padding-block: clamp(32px, 5vw, 56px);\n  padding-inline: clamp(16px, 3vw, 32px);\n  background:\n    radial-gradient(65% 65% at 92% 8%, color-mix(in srgb, var(--emerald) 12%, transparent) 0%, transparent 58%),\n    radial-gradient(50% 50% at 12% 95%, color-mix(in srgb, var(--emerald) 8%, transparent) 0%, transparent 52%),\n    linear-gradient(180deg, #070e0c 0%, #08130f 42%, #0a1713 100%);\n  position: relative;\n  border-top: 2px solid color-mix(in srgb, var(--emerald) 75%, #06251a);\n  border-bottom: 2px solid color-mix(in srgb, var(--emerald) 75%, #06251a);\n  box-shadow:\n    inset 0 12px 28px color-mix(in srgb, var(--emerald) 8%, transparent),\n    inset 0 -12px 28px color-mix(in srgb, var(--emerald) 8%, transparent);\n}\n.bag-make-adas::before{\n  content:\"\"; position:absolute; inset:0; pointer-events:none; opacity:.055; mix-blend-mode:overlay;\n  background-image:\n    repeating-linear-gradient(0deg, rgba(255,255,255,.04) 0 1px, transparent 1px 3px),\n    repeating-linear-gradient(90deg, rgba(255,255,255,.04) 0 1px, transparent 1px 3px);\n}\n.bag-make-adas .wrap{\n  max-width:var(--wrap-max);\n  margin:0 auto; width:100%; position: relative; z-index: 1;\n}\n\n/* Header */\n.bag-make-adas .head{ display:flex; align-items:center; gap:12px; margin:0 0 clamp(14px, 2.2vw, 20px); }\n.bag-make-adas .head svg{\n  color: var(--emerald-bright);\n  filter: drop-shadow(0 0 8px color-mix(in srgb, var(--emerald) 45%, transparent));\n  flex-shrink: 0;\n}\n.bag-make-adas .h2{ margin:0; font-size: clamp(22px, 2vw, 28px); font-weight:700; letter-spacing:-.015em; line-height:1.2; color: var(--text); }\n\n/* Intro paragraph block directly under H2 */\n.bag-make-adas .content-intro{ margin: 8px 0 20px; }\n.bag-make-adas .rich{ line-height:1.7; }\n.bag-make-adas .rich p{ color: var(--muted); margin:0 0 14px; font-size: clamp(14px, 1.1vw, 16px); line-height:1.7; }\n.bag-make-adas .rich p:last-child{ margin-bottom:0; }\n.bag-make-adas .rich strong, .bag-make-adas .rich b{ color: var(--text); font-weight:700; }\n.bag-make-adas .rich a{ color: var(--emerald-bright); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:2px; transition: color .15s ease; }\n.bag-make-adas .rich a:hover{ color:#ffffff; }\n\n/* Grid */\n.bag-make-adas .grid{ display:grid; gap: clamp(18px, 3vw, 28px); grid-template-columns: 1fr; align-items:start; }\n@media(min-width: 980px){\n  .bag-make-adas .grid{ grid-template-columns: minmax(0,1.05fr) minmax(0,0.95fr); gap:32px; }\n}\n\n/* Left content (CTAs) */\n.bag-make-adas .content{ display:flex; flex-direction:column; gap: clamp(16px, 2.5vw, 22px); }\n.bag-make-adas .ctaRow{ display:flex; flex-wrap:wrap; gap:12px; margin-top: 4px; }\n.bag-make-adas .btn{\n  display:inline-flex; align-items:center; gap:10px;\n  padding: 14px 20px; border-radius: var(--radius-button, 14px); font-weight:700; font-size:14px;\n  text-decoration:none; transition: all .18s cubic-bezier(0.4,0,0.2,1);\n  cursor:pointer; white-space:nowrap;\n}\n.bag-make-adas .btn svg{ flex-shrink:0; }\n\n.bag-make-adas .btn-primary{\n  background: linear-gradient(135deg, var(--emerald) 0%, var(--emerald-2) 100%);\n  color:#0a1713; border: 1px solid color-mix(in srgb, var(--emerald) 85%, white);\n  box-shadow: 0 4px 14px color-mix(in srgb, var(--emerald) 28%, transparent), inset 0 1px 0 rgba(255,255,255,.25);\n}\n.bag-make-adas .btn-primary:hover{\n  transform: translateY(-2px);\n  box-shadow: 0 6px 20px color-mix(in srgb, var(--emerald) 38%, transparent), inset 0 1px 0 rgba(255,255,255,.3);\n  background: linear-gradient(135deg, var(--emerald-bright) 0%, var(--emerald) 100%);\n}\n.bag-make-adas .btn-primary:active{ transform: translateY(0); }\n\n.bag-make-adas .btn-secondary{\n  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.08));\n  color: var(--text); border: 1px solid rgba(255,255,255,.20);\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.03);\n}\n.bag-make-adas .btn-secondary:hover{\n  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.12));\n  border-color: color-mix(in srgb, var(--emerald) 22%, rgba(255,255,255,.28));\n  transform: translateY(-1px);\n}\n.bag-make-adas .btn:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--ring), 0 0 0 5px rgba(0,0,0,.7); }\n\n/* Right aside (features) */\n.bag-make-adas .aside{ display:grid; gap: 14px; align-content:start; }\n.bag-make-adas .checks{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }\n.bag-make-adas .checks li{\n  display:grid; grid-template-columns:auto 1fr; gap:12px;\n  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));\n  border:1px solid rgba(255,255,255,.18); border-radius: var(--radius-lg, 14px); padding: 16px;\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02); transition: all .18s ease;\n}\n.bag-make-adas .checks li:hover{\n  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.09));\n  border-color: color-mix(in srgb, var(--emerald) 20%, rgba(255,255,255,.24));\n  transform: translateX(3px);\n}\n.bag-make-adas .checks svg{\n  color: var(--emerald-bright); margin-top:2px;\n  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--emerald) 35%, transparent));\n}\n.bag-make-adas .checks strong{\n  display:block; font-size:15px; font-weight:700; color: var(--text);\n  margin-bottom:4px; letter-spacing:-.005em;\n}\n.bag-make-adas .checks p{ margin:0; color: var(--dim); font-size:14px; line-height:1.55; }\n\n/* Safety note */\n.bag-make-adas .note{\n  display:grid; grid-template-columns:auto 1fr; gap:12px; border-radius: var(--radius-lg, 14px); padding: 16px;\n  background: linear-gradient(135deg, color-mix(in srgb, var(--emerald) 14%, rgba(255,255,255,.08)), color-mix(in srgb, var(--emerald) 10%, rgba(255,255,255,.06)));\n  border:1px solid color-mix(in srgb, var(--emerald) 45%, rgba(255,255,255,.15));\n  box-shadow: 0 8px 20px color-mix(in srgb, var(--emerald) 18%, transparent), inset 0 1px 0 rgba(255,255,255,.12);\n}\n.bag-make-adas .note svg{\n  color: var(--emerald-bright); margin-top:2px; filter: drop-shadow(0 0 8px color-mix(in srgb, var(--emerald) 40%, transparent));\n}\n.bag-make-adas .note p{ margin:0; color: var(--text); font-size:14px; line-height:1.6; font-weight:500; }\n\n/* Anchor offset */\n:where(section[id]){ scroll-margin-top: 96px; }\n\n/* Error */\n.bag-make-adas .error{\n  color:#fef2f2; background: linear-gradient(135deg, #991b1b, #7f1d1d);\n  border:1px solid #dc2626; padding:12px 16px; border-radius:12px; font-size:14px; margin-top: 12px;\n  box-shadow: 0 4px 12px rgba(153, 27, 27, 0.3);\n}\n\n/* Responsive refinements */\n@media(max-width: 979px){\n  .bag-make-adas .head{ gap:10px; }\n  .bag-make-adas .head svg{ width:18px; height:18px; }\n  .bag-make-adas .ctaRow{ flex-direction: column; }\n  .bag-make-adas .btn{ width: 100%; justify-content: center; padding: 16px 22px; border-radius: var(--radius-lg, 16px); }\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelADASSection\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelADASSection.map","// ModelCTA.tsx\n// -----------------------------------------------------------------------------\n// Binds from public.models:\n//   final_cta_aria, final_cta_heading, final_cta_paragraph\n// Anchor: id=\"final-cta\"\n// Theme: LIGHT PANEL on soft gradient backdrop, centered CTA\n// -----------------------------------------------------------------------------\n\"use client\";import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";/* ---------- Domain / Environment ---------- */function isLiveDomain(){if(typeof window===\"undefined\")return false;const host=window.location?.hostname||\"\";return host===\"bangautoglass.com\"||host.endsWith(\".bangautoglass.com\");}/* ---------- Helpers ---------- */function withTokens(input,makeName,modelName){if(!input)return input??undefined;const mk=(makeName||\"your\").trim();const md=(modelName||\"vehicle\").trim();return input.replace(/\\{\\s*make\\s*\\}/gi,mk).replace(/\\{\\s*model\\s*\\}/gi,md);}function toCssSize(v,fallback=\"1280px\"){if(v===null||v===undefined)return fallback;if(typeof v===\"number\"&&isFinite(v))return`${v}px`;const s=String(v).trim();if(!s)return fallback;if(/^\\d+(?:\\.\\d+)?$/.test(s))return`${s}px`;if(/px|rem|em|vw|vh|%|ch|ex|cm|mm|in|pt|pc$/.test(s)||/^(?:calc|min|max|clamp)\\(/.test(s))return s;const n=parseFloat(s);return isNaN(n)?fallback:`${n}px`;}function titleCaseSlug(slug){if(!slug)return undefined;return slug.split(\"-\").filter(Boolean).map(p=>p.charAt(0).toUpperCase()+p.slice(1)).join(\" \");}/** Expect path: /auto-glass/{make}/{model} */function deriveMakeModelFromPath(pathname){if(!pathname)return{};const parts=pathname.replace(/\\/+/g,\"/\").split(\"/\").filter(Boolean);const idx=parts.indexOf(\"auto-glass\");if(idx>=0){const make=parts[idx+1];const model=parts[idx+2];return{make:make?.toLowerCase(),model:model?.toLowerCase()};}// fallback: try last two segments\nconst L=parts.length;if(L>=2)return{make:parts[L-2]?.toLowerCase(),model:parts[L-1]?.toLowerCase()};return{};}/** Rewrite legacy service links:\n *   /auto-glass/{make}/{model}/{service}\n * → /services/{make}-{model}-{service}\n * (handles absolute and relative, keeps query/hash)\n */function rewriteLegacyServiceLinks(html){if(!html)return html;// absolute URLs\nconst abs=/https?:\\/\\/(?:www\\.)?bangautoglass\\.com\\/auto-glass\\/([^\\/\\s\"'<>]+)\\/([^\\/\\s\"'<>]+)\\/([^\"'\\s<>#?]+)([^\\s\"'<>]*)/gi;html=html.replace(abs,(_m,make,model,service,rest=\"\")=>{return`https://bangautoglass.com/services/${make}-${model}-${service}${rest||\"\"}`;});// relative URLs\nconst rel=/(href=[\"']?)\\/auto-glass\\/([^\\/\\s\"'<>]+)\\/([^\\/\\s\"'<>]+)\\/([^\"'\\s<>#?]+)([^\\s\"'<>]*)([\"'])/gi;html=html.replace(rel,(_m,pre,make,model,service,rest=\"\",post)=>{return`${pre}/services/${make}-${model}-${service}${rest||\"\"}${post}`;});return html;}/* ---------- Icons ---------- */function PhoneIcon(props){return /*#__PURE__*/_jsx(\"svg\",{width:props.size||18,height:props.size||18,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",...props,children:/*#__PURE__*/_jsx(\"path\",{d:\"M22 16.92V21a2 2 0 0 1-2.18 2A19.72 19.72 0 0 1 3 5.18 2 2 0 0 1 5 3h4.09a2 2 0 0 1 2 1.72c.13 1.13.37 2.23.72 3.28a2 2 0 0 1-.45 2.11l-1.27 1.27a16 16 0 0 0 6.29 6.29l1.27-1.27a2 2 0 0 1 2.11-.45c1.05.35 2.15.59 3.28.72A2 2 0 0 1 22 16.92z\"})});}function CalendarIcon(props){return /*#__PURE__*/_jsxs(\"svg\",{width:props.size||18,height:props.size||18,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",...props,children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"4\",width:\"18\",height:\"18\",rx:\"2\",ry:\"2\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"16\",y1:\"2\",x2:\"16\",y2:\"6\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"8\",y1:\"2\",x2:\"8\",y2:\"6\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"3\",y1:\"10\",x2:\"21\",y2:\"10\"})]});}function ArrowRightIcon(props){return /*#__PURE__*/_jsxs(\"svg\",{width:props.size||16,height:props.size||16,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",...props,children:[/*#__PURE__*/_jsx(\"line\",{x1:\"5\",y1:\"12\",x2:\"19\",y2:\"12\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"12 5 19 12 12 19\"})]});}function ShieldIcon(props){return /*#__PURE__*/_jsx(\"svg\",{width:props.size||22,height:props.size||22,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",...props,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"})});}/* ---------- Simple in-memory cache to avoid repeat fetches ---------- */const rowCache=new Map;export default function ModelCTA(props){const{supabaseUrl,supabaseAnonKey,slug:modelSlugOverride,rowOverride,contentMaxWidth=1280,scrollOffsetPx=96,primaryCtaText=\"Schedule Appointment\",primaryCtaHref=\"/schedule-appointment/\",secondaryCtaText=\"Call Now\",secondaryCtaHref=\"tel:+18779945277\",showBadges=true,className,style}=props;const[fetchedRow,setFetchedRow]=React.useState(null);const[loadError,setLoadError]=React.useState(null);const wrapMax=toCssSize(contentMaxWidth);// Determine {make}/{model} from URL (or override for model slug)\nconst urlSlugs=React.useMemo(()=>{if(typeof window!==\"undefined\"){return deriveMakeModelFromPath(window.location?.pathname);}return{};},[]);const resolvedModelSlug=React.useMemo(()=>modelSlugOverride?.trim()?modelSlugOverride.trim().toLowerCase():urlSlugs.model,[modelSlugOverride,urlSlugs.model]);const resolvedMakeSlug=urlSlugs.make;// Supabase client (only instantiate on live domain)\nconst supabase=React.useMemo(()=>{if(!isLiveDomain())return null;if(!supabaseUrl||!supabaseAnonKey)return null;try{return createClient(supabaseUrl,supabaseAnonKey);}catch{return null;}},[supabaseUrl,supabaseAnonKey]);// Fetch row for public.models by {model slug} (+ make guard if available)\nReact.useEffect(()=>{let cancelled=false;async function run(){if(!isLiveDomain())return;if(!supabase||!resolvedModelSlug)return;setLoadError(null);try{const cacheKey=`${resolvedMakeSlug||\"\"}|${resolvedModelSlug}`;if(rowCache.has(cacheKey)){if(!cancelled)setFetchedRow(rowCache.get(cacheKey)||null);return;}const fields=\"id, slug, make, model, final_cta_aria, final_cta_heading, final_cta_paragraph\";// Try most-specific: model slug + make (case-insensitive)\nlet q=supabase.from(\"models\").select(fields).eq(\"slug\",resolvedModelSlug);if(resolvedMakeSlug)q=q.ilike(\"make\",resolvedMakeSlug);let{data,error}=await q.maybeSingle();if(error&&error.code!==\"PGRST116\")throw error;// Fallback 1: model slug only\nif(!data){const{data:d2,error:e2}=await supabase.from(\"models\").select(fields).eq(\"slug\",resolvedModelSlug).maybeSingle();if(e2&&e2.code!==\"PGRST116\")throw e2;if(d2)data=d2;}// Fallback 2: model name match + make (case-insensitive)\nif(!data&&resolvedMakeSlug){const{data:d3,error:e3}=await supabase.from(\"models\").select(fields).ilike(\"model\",resolvedModelSlug).ilike(\"make\",resolvedMakeSlug).maybeSingle();if(e3&&e3.code!==\"PGRST116\")throw e3;if(d3)data=d3;}const row=data||null;rowCache.set(cacheKey,row);if(!cancelled)setFetchedRow(row);}catch(e){if(!cancelled)setLoadError(e?.message||\"Failed to load content\");}}run();return()=>{cancelled=true;};},[supabase,resolvedModelSlug,resolvedMakeSlug]);// Merge: rowOverride > fetchedRow\nconst merged={id:rowOverride?.id??fetchedRow?.id??0,slug:rowOverride?.slug??fetchedRow?.slug??(resolvedModelSlug||\"\"),make:rowOverride?.make??fetchedRow?.make??(resolvedMakeSlug?titleCaseSlug(resolvedMakeSlug):null),model:rowOverride?.model??fetchedRow?.model??(resolvedModelSlug?titleCaseSlug(resolvedModelSlug):null),final_cta_aria:rowOverride?.final_cta_aria??fetchedRow?.final_cta_aria??null,final_cta_heading:rowOverride?.final_cta_heading??fetchedRow?.final_cta_heading??null,final_cta_paragraph:rowOverride?.final_cta_paragraph??fetchedRow?.final_cta_paragraph??null};const makeName=merged.make||(resolvedMakeSlug?titleCaseSlug(resolvedMakeSlug):undefined);const modelName=merged.model||(resolvedModelSlug?titleCaseSlug(resolvedModelSlug):undefined);const ariaLabel=withTokens(merged?.final_cta_aria??\"Schedule {model} auto glass service\",makeName,modelName)||\"Schedule auto glass service\";const heading=withTokens(merged?.final_cta_heading??\"Ready to Service Your {model}?\",makeName,modelName)||\"Ready to Service Your Vehicle?\";// Apply legacy link rewrite on any HTML pulled from DB or defaults\nconst paragraphHtml=rewriteLegacyServiceLinks(withTokens(merged?.final_cta_paragraph??\"Pick a time that works for you, or call to talk with a specialist. We’ll verify your VIN, match the exact glass, and guide any calibration.\",makeName,modelName)||\"\");React.useEffect(()=>{if(typeof document!==\"undefined\"){const sections=document.querySelectorAll(\":where(section[id])\");sections.forEach(el=>el.style.setProperty(\"--offset\",`${scrollOffsetPx}px`));}},[scrollOffsetPx]);return /*#__PURE__*/_jsxs(\"section\",{id:\"final-cta\",\"aria-label\":ariaLabel,className:`bag-final-cta ${className||\"\"}`,style:{...style||{},[\"--wrap-max\"]:wrapMax},\"data-framer-component\":\"ModelCTA\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(\"div\",{className:\"wrap\",style:{maxWidth:wrapMax},children:/*#__PURE__*/_jsxs(\"div\",{className:\"panel\",role:\"region\",\"aria-labelledby\":\"final-cta-title\",children:[loadError&&isLiveDomain()&&/*#__PURE__*/_jsx(\"div\",{className:\"error\",children:\"Could not load model content. Showing defaults.\"}),/*#__PURE__*/_jsx(\"div\",{className:\"eyebrow\",\"aria-hidden\":\"true\",children:\"Book in minutes\"}),/*#__PURE__*/_jsxs(\"header\",{className:\"head\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"shield\",children:/*#__PURE__*/_jsx(ShieldIcon,{size:20,\"aria-hidden\":\"true\"})}),/*#__PURE__*/_jsx(\"h2\",{id:\"final-cta-title\",className:\"h2\",children:heading})]}),/*#__PURE__*/_jsx(\"div\",{className:\"lead rich\",dangerouslySetInnerHTML:{__html:paragraphHtml}}),/*#__PURE__*/_jsxs(\"div\",{className:\"ctaRow\",role:\"group\",\"aria-label\":\"Final calls to action\",children:[/*#__PURE__*/_jsxs(\"a\",{className:\"btn btn-primary\",href:primaryCtaHref,children:[/*#__PURE__*/_jsx(CalendarIcon,{size:18,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:primaryCtaText}),/*#__PURE__*/_jsx(ArrowRightIcon,{size:16,\"aria-hidden\":\"true\",className:\"arr\"})]}),/*#__PURE__*/_jsxs(\"a\",{className:\"btn btn-ghost\",href:secondaryCtaHref,children:[/*#__PURE__*/_jsx(PhoneIcon,{size:18,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:secondaryCtaText})]})]}),showBadges&&/*#__PURE__*/_jsxs(\"ul\",{className:\"badges\",\"aria-label\":\"Service assurances\",children:[/*#__PURE__*/_jsx(\"li\",{children:\"AGSC standards\"}),/*#__PURE__*/_jsx(\"li\",{children:\"OEM-quality options\"}),/*#__PURE__*/_jsx(\"li\",{children:\"Lifetime workmanship\"})]})]})})]});}/* ---------- Defaults ---------- */ModelCTA.defaultProps={contentMaxWidth:1280,scrollOffsetPx:96,primaryCtaText:\"Schedule Appointment\",primaryCtaHref:\"/schedule-appointment/\",secondaryCtaText:\"Call Now\",secondaryCtaHref:\"tel:+18779945277\",showBadges:true};/* ---------- Keep ONLY these property controls ---------- */addPropertyControls(ModelCTA,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Key\"},slug:{type:ControlType.String,title:\"Model Slug Override\"}});/* ---------- Styles: centered final CTA, responsive (theme-aligned greens) ---------- */const css=/*css*/`\n.bag-final-cta, .bag-final-cta *{ box-sizing:border-box; }\n.bag-final-cta{\n  --wrap-max:1280px;\n\n  /* Use THEME greens; keep text dark for readability on light panel */\n  --accent: var(--cta-a, #39FF14);\n  --accent-2: var(--cta-b, #1EEA00);\n  --ink:#0f172a;            /* fixed dark text for light panel */\n  --ink-dim:#475569;        /* fixed muted text */\n  --ring: color-mix(in srgb, var(--accent) 22%, transparent);\n  --bd:rgba(2,6,23,.08);\n  --btn: var(--accent);\n\n  /* Light panel background */\n  --from:#ffffff;\n  --to:#f9fafb;\n\n  background:\n    radial-gradient(1000px 520px at 50% -10%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 55%),\n    linear-gradient(180deg, var(--from), var(--to));\n  color: var(--ink);\n  padding: 40px 0 44px;\n  border-top:1px solid var(--bd);\n}\n\n.bag-final-cta .wrap{ max-width:var(--wrap-max); width:100%; margin:0 auto; padding:0 16px; }\n@media(min-width:900px){ .bag-final-cta .wrap{ padding:0 24px } }\n@media(min-width:1200px){ .bag-final-cta .wrap{ padding:0 32px } }\n\n/* Panel centered */\n.bag-final-cta .panel{\n  margin:0 auto;\n  max-width:920px;\n  border:1px solid var(--bd);\n  background:linear-gradient(180deg, #fff, #f7f9fb 85%);\n  border-radius:var(--radius-card, 24px);\n  padding:28px 28px 26px;\n  text-align:center;\n  box-shadow:\n    0 10px 30px rgba(2,6,23,.06),\n    inset 0 1px 0 rgba(255,255,255,.7);\n}\n\n.bag-final-cta .eyebrow{\n  display:inline-block;\n  font-size:12px;\n  font-weight:800;\n  letter-spacing:.08em;\n  text-transform:uppercase;\n  color:var(--accent-2);\n  background:color-mix(in srgb, var(--accent) 10%, transparent);\n  border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);\n  padding:6px 10px;\n  border-radius:var(--radius-chip, 999px);\n  margin-bottom:12px;\n}\n\n.bag-final-cta .head{ display:flex; align-items:center; justify-content:center; gap:12px; margin:0 0 8px; }\n.bag-final-cta .shield{\n  width:36px; height:36px; display:grid; place-items:center;\n  border-radius:999px;\n  background:color-mix(in srgb, var(--accent) 14%, transparent);\n  color:var(--accent-2);\n  border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);\n}\n.bag-final-cta .h2{\n  margin:0; font-size:30px; line-height:1.15; font-weight:900; letter-spacing:-.01em; color:var(--ink);\n}\n\n.bag-final-cta .lead.rich{\n  color:var(--ink-dim);\n  max-width:720px; margin:0 auto;\n}\n.bag-final-cta .lead.rich p{ margin:0; line-height:1.7; }\n.bag-final-cta .lead.rich a{ color:var(--accent-2); text-decoration:underline; }\n\n/* CTA row centered */\n.bag-final-cta .ctaRow{\n  margin-top:16px; display:flex; flex-wrap:wrap; justify-content:center; gap:12px;\n}\n.bag-final-cta .btn{\n  display:inline-flex; align-items:center; justify-content:center; gap:10px;\n  padding:14px 20px; border-radius:var(--radius-button, 14px); font-weight:900; text-decoration:none; transition:all .15s ease;\n  border:1px solid var(--bd);\n}\n.bag-final-cta .btn-primary{\n  background:var(--btn); color:#fff; border-color:transparent;\n  box-shadow:0 6px 18px color-mix(in srgb, var(--accent) 28%, transparent);\n}\n.bag-final-cta .btn-primary .arr{ transform:translateX(0); transition:transform .15s ease; }\n.bag-final-cta .btn-primary:hover .arr{ transform:translateX(3px); }\n.bag-final-cta .btn-ghost{\n  background:#ffffff; color:var(--ink); border:1.5px solid rgba(2,6,23,.12);\n}\n.bag-final-cta .btn:focus-visible{ outline:none; box-shadow:0 0 0 4px var(--ring); }\n\n/* Badges centered */\n.bag-final-cta .badges{\n  margin-top:14px; list-style:none; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:8px;\n}\n.bag-final-cta .badges li{\n  background:color-mix(in srgb, var(--accent) 12%, #ffffff);\n  color:var(--accent-2);\n  border:1px solid color-mix(in srgb, var(--accent) 24%, transparent);\n  padding:6px 10px; border-radius:999px; font-weight:800; font-size:12.5px;\n}\n\n:where(section[id]){ scroll-margin-top: var(--offset, 96px); }\n\n/* error */\n.bag-final-cta .error{\n  color:#1b1b1b; background:#fde68a; border:1px solid #f59e0b; padding:8px 10px; border-radius:10px; margin-bottom:10px;\n  text-align:left;\n}\n\n/* --------- Responsive --------- */\n@media (max-width: 900px) {\n  .bag-final-cta { padding: 32px 0 36px; }\n  .bag-final-cta .panel{ padding:22px; border-radius:20px; }\n  .bag-final-cta .h2{ font-size:26px; }\n  .bag-final-cta .btn{ padding:12px 16px; border-radius:12px; }\n}\n\n@media (max-width: 640px) {\n  .bag-final-cta { padding: 24px 0 28px; }\n  .bag-final-cta .wrap { padding: 0 10px; }\n  .bag-final-cta .panel { padding:18px; border-radius:16px; }\n  .bag-final-cta .shield{ width:32px; height:32px; }\n  .bag-final-cta .h2{ font-size:22px; }\n  .bag-final-cta .lead.rich{ font-size:15px; }\n  .bag-final-cta .ctaRow{ gap:10px; }\n  .bag-final-cta .btn{ width:100%; max-width:520px; padding:12px 14px; font-size:15px; }\n  .bag-final-cta .badges li{ font-size:11.5px; padding:5px 8px; }\n}\n\n@media (max-width: 420px) {\n  .bag-final-cta .h2{ font-size:20px; }\n  .bag-final-cta .btn{ font-size:14px; border-radius:10px; }\n  .bag-final-cta .panel{ padding:14px; }\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelCTA\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelCTA.map","// ModelHero.tsx — v1.6 (models schema, auto-glass/{make}/{model})\n// -----------------------------------------------------------------------------\n// Visual parity with MakeHero.tsx. Sources content strictly from public.models.\n// Uses fields: hero_aria_label, hero_heading, hero_paragraph,\n// hero_bullet_point_1..hero_bullet_point_5\n// Slugs from /auto-glass/{make}/{model} + Model Slug (override) control.\n// Uses AutoGlassReplacementForm.tsx (no hard-coded form).\n// Theme-aligned: uses global CSS variables from Theme.tsx (no hard-coded colors).\n// Fetches Supabase data only on live domain (bangautoglass.com). On Canvas/Preview\n// it renders with defaults instantly for a fast editing experience.\n// Also rewrites legacy service links /auto-glass/{make}/{model}/{service}\n// → /services/{make}-{model}-{service} in any HTML/text hrefs.\n// Tablet/Mobile: tightened container width, added min-width resets, safe-area padding,\n// and overflow-wrap to prevent right-edge overflow.\n// -----------------------------------------------------------------------------\n\"use client\";function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{Phone,Shield,Star as StarIcon,MapPin,Clock,CheckCircle2}from\"lucide-react\";import{addPropertyControls,ControlType}from\"framer\";import AutoGlassReplacementForm from\"https://framerusercontent.com/modules/Ezo6jQ8ofAtPoFgLuz2G/hZFg08y3LxE2AY3sPurP/AutoGlassReplacementForm.js\";/* ---------------------------------- Error & Client ---------------------------------- */class ErrorBoundary extends React.Component{componentDidCatch(err,info){console.error(\"ModelHero crashed\",err,info);this.setState({err});}render(){if(this.state.err){return /*#__PURE__*/_jsxs(\"div\",{style:{border:\"1px solid #fecaca\",background:\"#fee2e2\",color:\"#991b1b\",padding:12,borderRadius:12,fontFamily:\"var(--font-body, ui-sans-serif), system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial\"},role:\"alert\",\"aria-live\":\"assertive\",children:[/*#__PURE__*/_jsx(\"strong\",{children:\"ModelHero error:\"}),\" \",String(this.state.err?.message||this.state.err)]});}return this.props.children;}constructor(...args){super(...args);_define_property(this,\"state\",{err:undefined});}}function ClientOnly({children}){const[mounted,setMounted]=useState(false);useEffect(()=>setMounted(true),[]);if(typeof window===\"undefined\")return null;return mounted?/*#__PURE__*/_jsx(_Fragment,{children:children}):null;}/* ---------------------------------- Helpers ---------------------------------- */const coerceHTML=v=>{if(!v&&v!==0)return\"\";if(typeof v===\"string\")return v;if(typeof v?.html===\"string\")return v.html;if(typeof v?.value===\"string\")return v.value;if(typeof v?.plainText===\"string\")return v.plainText;return\"\";};const coerceText=v=>{if(!v&&v!==0)return\"\";if(typeof v===\"string\"||typeof v===\"number\")return String(v);if(typeof v?.plainText===\"string\")return v.plainText;if(typeof v?.value===\"string\")return v.value;const html=coerceHTML(v);if(html)return html.replace(/<[^>]+>/g,\" \").replace(/\\s+/g,\" \").trim();return\"\";};const renderFormatted=(v,className=\"rich\")=>{if(!v&&v!==0)return null;const html=coerceHTML(v);if(html)return /*#__PURE__*/_jsx(\"div\",{className:className,dangerouslySetInnerHTML:{__html:html}});const txt=coerceText(v);return txt?/*#__PURE__*/_jsx(\"div\",{className:className,children:txt}):null;};const getImageSrc=img=>{if(!img)return\"\";if(typeof img===\"string\")return img;if(typeof img?.src===\"string\")return img.src;if(typeof img?.url===\"string\")return img.url;if(Array.isArray(img)&&img[0]?.src)return img[0].src;return\"\";};const readStr=v=>typeof v===\"string\"?v.trim():\"\";const sanitizeSlug=s=>decodeURIComponent(s||\"\").toLowerCase().replace(/\\.html?$/i,\"\").replace(/[^a-z0-9-_]+/g,\"-\").replace(/^-+|-+$/g,\"\");const deslugWords=s=>decodeURIComponent(s||\"\").replace(/[-_]+/g,\" \").trim();const normalizeTokenText=(s,makeName,modelName)=>(s??\"\").replaceAll(\"{make}\",makeName).replaceAll(\"{model}\",modelName);/** Rewrite legacy service links:\n *  /auto-glass/{make}/{model}/{service}  →  /services/{make}-{model}-{service}\n */function rewriteServiceHref(href){try{const base=\"https://bangautoglass.com\";const u=new URL(href,base);const m=u.pathname.match(/^\\/auto-glass\\/([^/]+)\\/([^/]+)\\/([^/]+)/i);if(m){u.pathname=`/services/${m[1]}-${m[2]}-${m[3]}`;const out=u.origin===base?`${u.pathname}${u.search}${u.hash}`:`${u.origin}${u.pathname}${u.search}${u.hash}`;return out;}return href;}catch{return href.replace(/\\/auto-glass\\/([^/]+)\\/([^/]+)\\/([^/?#]+)/gi,(_m,make,model,svc)=>`/services/${make}-${model}-${svc}`);}}function rewriteServiceLinksInHtml(html){if(!html)return html;return html.replace(/href=\"([^\"]+)\"/gi,(_match,href)=>`href=\"${rewriteServiceHref(href)}\"`);}/* ---------- Config helpers ---------- */function resolveSupabaseConfig(props){// 1) Property controls (Canvas/Preview)\nlet url=readStr(props.supabaseUrl);let key=readStr(props.supabaseAnonKey);// 2) URL query (handy in Preview)\nif(typeof window!==\"undefined\"){const sp=new URLSearchParams(window.location.search);url||=readStr(sp.get(\"supabaseUrl\")||sp.get(\"supabase_url\"));key||=readStr(sp.get(\"supabaseAnonKey\")||sp.get(\"supabase_anon_key\"));}// 3) localStorage (persisted from Canvas)\nif(typeof window!==\"undefined\"){url||=readStr(window.localStorage.getItem(\"bag.supabaseUrl\"));key||=readStr(window.localStorage.getItem(\"bag.supabaseAnonKey\"));}// 4) Env (Next.js sites)\nif(typeof process!==\"undefined\"){url||=readStr(process.env?.NEXT_PUBLIC_SUPABASE_URL);key||=readStr(process.env?.NEXT_PUBLIC_SUPABASE_ANON_KEY);}return{url,key};}function resolveMakeModelSlugs(opts){let makeSlug=\"\";let modelSlug=sanitizeSlug(readStr(opts?.modelSlugOverride));// Querystring for model (if not provided via override)\nif(!modelSlug&&typeof window!==\"undefined\"){const sp=new URLSearchParams(window.location.search);modelSlug=sanitizeSlug(readStr(sp.get(\"model\")||sp.get(\"model_slug\")));}// From anchored path (/auto-glass/{make}/{model})\nif(typeof window!==\"undefined\"){const{pathname}=window.location;const parts=pathname.toLowerCase().split(\"/\").filter(Boolean);const looksLikeFramerPreview=pathname.endsWith(\".html\")||parts.some(p=>p.includes(\"preview\")||p.includes(\"canvas\")||p.includes(\"module\"));if(!looksLikeFramerPreview){const anchors=[\"auto-glass\",\"makes\",\"make\",\"brand\",\"brands\"];const idx=parts.findIndex(s=>anchors.includes(s));if(idx>=0){makeSlug=sanitizeSlug(parts[idx+1]||\"\");modelSlug||=sanitizeSlug(parts[idx+2]||\"\");}else{const a=parts[parts.length-2];const b=parts[parts.length-1];if(a&&b){makeSlug=sanitizeSlug(a);modelSlug||=sanitizeSlug(b);}}}}// localStorage fallback\nif(typeof window!==\"undefined\"){makeSlug||=sanitizeSlug(window.localStorage.getItem(\"bag.makeSlug\")||\"\");modelSlug||=sanitizeSlug(window.localStorage.getItem(\"bag.modelSlug\")||\"\");}return{makeSlug,modelSlug};}/* ---------------------------------- Supabase fetch + mapping ---------------------------------- *//** Query ONLY by model; do not constrain by make. */async function fetchModelByModelOnly(supabaseUrl,supabaseAnonKey,modelSlug){if(!modelSlug)throw new Error(\"Model slug resolved empty.\");const base=supabaseUrl.replace(/\\/+$/,\"\");const modelGuess=deslugWords(modelSlug);// Single-call OR filter for lower latency\nconst qp=new URLSearchParams;qp.set(\"select\",[\"id\",\"make\",\"model\",\"slug\",\"hero_aria_label\",\"hero_heading\",\"hero_paragraph\",\"hero_bullet_point_1\",\"hero_bullet_point_2\",\"hero_bullet_point_3\",\"hero_bullet_point_4\",\"hero_bullet_point_5\"].join(\",\"));qp.set(\"or\",`(slug.eq.${modelSlug},model.ilike.${modelGuess})`);qp.set(\"limit\",\"1\");const url=`${base}/rest/v1/models?${qp.toString()}`;const res=await fetch(url,{headers:{apikey:supabaseAnonKey,Authorization:`Bearer ${supabaseAnonKey}`,Accept:\"application/json\",Prefer:\"count=none\"},cache:\"no-store\"});if(!res.ok)throw new Error(`Supabase error (${res.status})`);const rows=await res.json();if(rows?.[0])return rows[0];return null;}function mapRowToHeroProps(row){if(!row)return{};const makeName=String(row.make||\"\").trim();const modelName=String(row.model||\"\").trim()||String(row.slug||\"\").replace(/-/g,\" \").trim();const norm=s=>normalizeTokenText(s||\"\",makeName,modelName);return{makeName,modelName,sectionAriaLabel:row.hero_aria_label||undefined,headline:norm(row.hero_heading),subheadHtml:norm(row.hero_paragraph?rewriteServiceLinksInHtml(row.hero_paragraph):\"\"),bullet1:norm(row.hero_bullet_point_1),bullet2:norm(row.hero_bullet_point_2),bullet3:norm(row.hero_bullet_point_3),bullet4:norm(row.hero_bullet_point_4),bullet5:norm(row.hero_bullet_point_5),bgUrl:\"\",bgImageAlt:norm(`${makeName} ${modelName} windshield replacement`)};}/* ---------------------------------- Breadcrumbs ---------------------------------- */function BreadcrumbsModel(props){const{show=true,emitJsonLd=false,siteBaseUrl=\"https://bangautoglass.com\",makeName=\"{make}\",modelName=\"{model}\",makeSlug=\"\",modelSlug=\"\",homeHref=\"/\",autoGlassHref=\"/auto-glass/\"}=props;if(!show)return null;const trimmedAutoGlass=autoGlassHref.replace(/\\/+$/,\"\");const makeHref=`${trimmedAutoGlass}/${makeSlug||\"\"}/`;const modelHref=`${makeHref}${modelSlug||\"\"}/`;const abs=p=>p.startsWith(\"http\")?p:`${siteBaseUrl.replace(/\\/+$/,\"\")}${p.startsWith(\"/\")?\"\":\"/\"}${p}`;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"nav\",{className:\"breadcrumbs\",\"aria-label\":\"Breadcrumb\",children:/*#__PURE__*/_jsxs(\"ol\",{children:[/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:homeHref,children:\"Home\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:autoGlassHref,children:\"Auto Glass\"})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:makeHref,children:makeName})}),/*#__PURE__*/_jsx(\"li\",{\"aria-current\":\"page\",children:/*#__PURE__*/_jsx(\"span\",{children:modelName})})]})}),emitJsonLd&&/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify({\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",itemListElement:[{\"@type\":\"ListItem\",position:1,name:\"Home\",item:abs(homeHref)},{\"@type\":\"ListItem\",position:2,name:\"Auto Glass\",item:abs(autoGlassHref)},{\"@type\":\"ListItem\",position:3,name:makeName,item:abs(makeHref)},{\"@type\":\"ListItem\",position:4,name:modelName,item:abs(modelHref)}]})}})]});}/* ---------------------------------- Presentational Hero ---------------------------------- */function ModelHeroInner(props){const{sectionAriaLabel,phoneDisplay,phoneHref,phoneAriaLabel,headline,subheadHtml,pillText,primaryText,primaryHref,primaryAriaLabel,secondaryText,secondaryHref,secondaryAriaLabel,primaryCta,secondaryCta,formTitle,formSubheadHtml,consentText,barLeftItem1,barLeftItem2,ratingText,credentialsText,bullet1,bullet2,bullet3,bullet4,bullet5,bgUrl,bgImage,bgImageAlt,showForm=true,contentMaxWidth,contentGutter,enableStickyMobileCta=true,stickyCtaLabel,useEdgeEmail,edgeEmailUrl,edgeApiKey,orgId,templateId,sendBackupToFormsubmit,useDbIntake,dbIntakeUrl,dbApiKey,defaultLeadStatus,defaultSaleSource,defaultState,style,className,showBreadcrumbs=true,emitBreadcrumbJsonLd=true,siteBaseUrl=\"https://bangautoglass.com\",breadcrumbsHomeHref=\"/\",breadcrumbsAutoGlassHref=\"/auto-glass/\",resolvedMakeSlug=\"\",resolvedModelSlug=\"\",makeName=\"{make}\",modelName=\"{model}\"}=props;const safeTelHref=`tel:${(coerceText(phoneHref)||\"\").replace(/[^+\\d]/g,\"\")}`;const pText=coerceText(primaryText)||coerceText(primaryCta?.text);const pHrefRaw=coerceText(primaryHref)||coerceText(primaryCta?.href);const pHref=pHrefRaw?rewriteServiceHref(pHrefRaw):\"\";const pAria=coerceText(primaryAriaLabel)||coerceText(primaryCta?.ariaLabel);const sText=coerceText(secondaryText)||coerceText(secondaryCta?.text);const sHrefRaw=coerceText(secondaryHref)||coerceText(secondaryCta?.href);const sHref=sHrefRaw?rewriteServiceHref(sHrefRaw):\"\";const sAria=coerceText(secondaryAriaLabel)||coerceText(secondaryCta?.ariaLabel);const stickyLabel=coerceText(stickyCtaLabel)||pText||\"Get Quote\";const wrapMax=(()=>{const v=contentMaxWidth??\"var(--header-inner-max, var(--header-max, var(--shell-wrap-max, var(--wrap-max, 1280px))))\";if(typeof v===\"number\")return`${v}px`;const s=String(v).trim();return/^\\d+$/.test(s)?`${s}px`:s;})();const gutter=(()=>{const v=contentGutter??\"var(--header-gutter, var(--shell-gutter, clamp(16px,3vw,32px)))\";if(typeof v===\"number\")return`${v}px`;const s=String(v).trim();return/^\\d+$/.test(s)?`${s}px`:s;})();const cls=className||\"\";const bgSrc=coerceText(bgUrl)||getImageSrc(bgImage);const alt=coerceText(bgImageAlt);const formRef=useRef(null);const[formInView,setFormInView]=useState(false);useEffect(()=>{if(!formRef.current||typeof IntersectionObserver===\"undefined\")return;const io=new IntersectionObserver(entries=>setFormInView(entries[0]?.isIntersecting??false),{threshold:.2});io.observe(formRef.current);return()=>io.disconnect();},[]);// Prepare subhead HTML with link rewrites\nconst subheadHTMLString=rewriteServiceLinksInHtml(coerceHTML(subheadHtml));return /*#__PURE__*/_jsxs(\"section\",{className:`bag-model-hero ${cls}`,style:{...style||{},[\"--align-max\"]:wrapMax,[\"--align-gutter\"]:gutter},\"aria-label\":sectionAriaLabel||\"Model auto glass hero\",\"data-framer-component\":\"ModelHero\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(\"a\",{className:\"skipToForm\",href:\"#quote\",children:\"Skip to quote form\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"bg\",role:alt?\"img\":undefined,\"aria-label\":alt||undefined,children:[/*#__PURE__*/_jsx(\"div\",{className:\"image\",children:bgSrc?/*#__PURE__*/_jsx(\"img\",{src:bgSrc,alt:\"\",\"aria-hidden\":\"true\",className:\"imageTag\",decoding:\"async\",loading:\"eager\",fetchPriority:\"high\",sizes:\"100vw\"}):null}),/*#__PURE__*/_jsx(\"div\",{className:\"tint\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"div\",{className:\"noise\",\"aria-hidden\":\"true\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"wrap\",children:[/*#__PURE__*/_jsx(BreadcrumbsModel,{show:showBreadcrumbs,emitJsonLd:emitBreadcrumbJsonLd,siteBaseUrl:siteBaseUrl,makeName:coerceText(makeName)||\"{make}\",modelName:coerceText(modelName)||\"{model}\",makeSlug:resolvedMakeSlug,modelSlug:resolvedModelSlug,homeHref:breadcrumbsHomeHref,autoGlassHref:breadcrumbsAutoGlassHref}),/*#__PURE__*/_jsx(\"div\",{className:\"bar\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"barLeft\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"inline\",children:[/*#__PURE__*/_jsx(Clock,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:coerceText(barLeftItem1)})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"inline\",children:[/*#__PURE__*/_jsx(MapPin,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:coerceText(barLeftItem2)})]})]})}),/*#__PURE__*/_jsxs(\"div\",{className:`grid ${showForm?\"two\":\"one\"}`,children:[/*#__PURE__*/_jsx(\"div\",{className:\"content\",\"data-area\":\"content\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"contentGlass\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"contentTop\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pill\",children:[/*#__PURE__*/_jsx(StarIcon,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{className:\"pillText\",children:coerceText(pillText)})]}),/*#__PURE__*/_jsxs(\"a\",{className:\"contentPhone\",href:safeTelHref,\"aria-label\":coerceText(phoneAriaLabel)||\"Call now\",children:[/*#__PURE__*/_jsx(Phone,{\"aria-hidden\":\"true\",size:16}),/*#__PURE__*/_jsx(\"span\",{className:\"num\",children:coerceText(phoneDisplay)})]})]}),/*#__PURE__*/_jsx(\"h1\",{children:coerceText(headline)}),subheadHTMLString?/*#__PURE__*/_jsx(\"div\",{className:\"lead rich\",dangerouslySetInnerHTML:{__html:subheadHTMLString}}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"trust\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"starsRow\",role:\"img\",\"aria-label\":`${coerceText(ratingText)} average rating`,children:[[0,1,2,3,4].map(i=>/*#__PURE__*/_jsx(StarIcon,{size:20,\"aria-hidden\":\"true\"},i)),/*#__PURE__*/_jsx(\"span\",{className:\"rating\",children:coerceText(ratingText)})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"credentials\",children:[/*#__PURE__*/_jsx(Shield,{size:20,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:coerceText(credentialsText)})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"ctaRow\",role:\"group\",\"aria-label\":\"Primary calls to action\",children:[/*#__PURE__*/_jsx(\"a\",{className:\"btn btn-primary\",href:pHref||\"#quote\",\"aria-label\":pAria,\"aria-controls\":\"quote\",children:pText}),/*#__PURE__*/_jsx(\"a\",{className:\"btn btn-secondary\",href:sHref||\"#\",\"aria-label\":sAria,children:sText})]}),/*#__PURE__*/_jsx(\"div\",{className:\"micro\",children:[bullet1,bullet2,bullet3,bullet4,bullet5].filter(Boolean).map((b,i)=>/*#__PURE__*/_jsxs(\"div\",{className:\"bullet\",children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16,className:\"ok\",\"aria-hidden\":\"true\"}),\" \",/*#__PURE__*/_jsx(\"span\",{children:coerceText(b)})]},i))})]})}),showForm&&/*#__PURE__*/_jsx(\"aside\",{className:\"quote\",id:\"quote\",\"aria-label\":\"Instant quote form\",\"data-area\":\"form\",role:\"complementary\",ref:formRef,children:/*#__PURE__*/_jsx(AutoGlassReplacementForm,{title:coerceText(formTitle),subheadHtml:formSubheadHtml,consentText:coerceText(consentText),defaultState:coerceText(defaultState),useEdgeEmail:useEdgeEmail,edgeEmailUrl:edgeEmailUrl,edgeApiKey:edgeApiKey,orgId:orgId,templateId:templateId,sendBackupToFormsubmit:sendBackupToFormsubmit,useDbIntake:useDbIntake,dbIntakeUrl:dbIntakeUrl,dbApiKey:dbApiKey,defaultLeadStatus:defaultLeadStatus,defaultSaleSource:defaultSaleSource})})]})]}),enableStickyMobileCta&&!formInView&&/*#__PURE__*/_jsxs(\"div\",{className:\"mobileStickyCta\",role:\"region\",\"aria-label\":\"Quick actions\",children:[/*#__PURE__*/_jsx(\"a\",{href:\"#quote\",\"aria-controls\":\"quote\",className:\"mobileStickyBtn\",children:stickyLabel}),/*#__PURE__*/_jsxs(\"a\",{href:safeTelHref,className:\"mobileStickyCall\",\"aria-label\":\"Call now\",children:[/*#__PURE__*/_jsx(Phone,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:coerceText(phoneDisplay)})]})]})]});}function isLiveBangDomain(){if(typeof window===\"undefined\")return false;const host=window.location.hostname||\"\";return/(^|\\.)bangautoglass\\.com$/i.test(host);}export default function ModelHero(props){const[row,setRow]=useState(null);const[status,setStatus]=useState(\"idle\");const[err,setErr]=useState(\"\");// Resolve config (works on Canvas + Preview)\nconst{url:resolvedSupabaseUrl,key:resolvedSupabaseKey}=resolveSupabaseConfig({supabaseUrl:props.supabaseUrl,supabaseAnonKey:props.supabaseAnonKey});// Resolve slugs (make + model; make is used only for breadcrumbs/URLs)\nconst{makeSlug,modelSlug}=resolveMakeModelSlugs({modelSlugOverride:props.modelSlugOverride});// Persist for Preview reuse\nuseEffect(()=>{if(typeof window===\"undefined\")return;if(resolvedSupabaseUrl)window.localStorage.setItem(\"bag.supabaseUrl\",resolvedSupabaseUrl);if(resolvedSupabaseKey)window.localStorage.setItem(\"bag.supabaseAnonKey\",resolvedSupabaseKey);if(makeSlug)window.localStorage.setItem(\"bag.makeSlug\",makeSlug);if(modelSlug)window.localStorage.setItem(\"bag.modelSlug\",modelSlug);},[resolvedSupabaseUrl,resolvedSupabaseKey,makeSlug,modelSlug]);useEffect(()=>{let alive=true;(async()=>{// Fast Canvas/Preview: render defaults, skip network entirely\nif(!isLiveBangDomain()){setStatus(\"ready\");return;}if(!modelSlug){setStatus(\"error\");setErr(\"Missing model slug (set via prop or ?model= or /auto-glass/{make}/{model}).\");return;}if(!resolvedSupabaseUrl||!resolvedSupabaseKey){setStatus(\"error\");setErr(\"Missing Supabase URL or anon key.\");return;}try{setStatus(\"loading\");const r=await fetchModelByModelOnly(resolvedSupabaseUrl,resolvedSupabaseKey,modelSlug);if(!alive)return;if(!r){setStatus(\"error\");setErr(`No model found for \"${modelSlug}\".`);return;}setRow(r);setStatus(\"ready\");}catch(e){if(!alive)return;setStatus(\"error\");setErr(e?.message||\"Failed to load model content.\");}})();return()=>{alive=false;};},[resolvedSupabaseUrl,resolvedSupabaseKey,modelSlug]);// Derive integration toggles from provided config\nconst derivedUseEdgeEmail=Boolean(props.edgeEmailUrl&&props.edgeApiKey);const derivedUseDbIntake=Boolean(props.dbIntakeUrl&&props.dbApiKey);const mapped=mapRowToHeroProps(row);const merged={...ModelHeroDefaults,...mapped,makeName:mapped.makeName||row?.make||\"{make}\",modelName:mapped.modelName||row?.model||\"{model}\",resolvedMakeSlug:makeSlug,resolvedModelSlug:modelSlug,// Integrations (derived)\nuseEdgeEmail:derivedUseEdgeEmail||ModelHeroDefaults.useEdgeEmail,edgeEmailUrl:props.edgeEmailUrl||ModelHeroDefaults.edgeEmailUrl,edgeApiKey:props.edgeApiKey||ModelHeroDefaults.edgeApiKey,templateId:props.templateId||ModelHeroDefaults.templateId,useDbIntake:derivedUseDbIntake||ModelHeroDefaults.useDbIntake,dbIntakeUrl:props.dbIntakeUrl||ModelHeroDefaults.dbIntakeUrl,dbApiKey:props.dbApiKey||ModelHeroDefaults.dbApiKey,// expose resolved values (debug/preview)\nsupabaseUrl:resolvedSupabaseUrl,supabaseAnonKey:resolvedSupabaseKey};return /*#__PURE__*/_jsx(ClientOnly,{children:/*#__PURE__*/_jsxs(ErrorBoundary,{children:[status===\"loading\"&&/*#__PURE__*/_jsx(\"div\",{style:{padding:16,color:\"var(--color-muted)\",fontFamily:\"var(--font-body, ui-sans-serif)\"},children:\"Loading model content…\"}),status===\"error\"&&/*#__PURE__*/_jsxs(\"div\",{style:{border:\"1px solid #fde68a\",background:\"#fffbeb\",color:\"#92400e\",padding:12,borderRadius:12,fontFamily:\"var(--font-body, ui-sans-serif)\",margin:8},role:\"alert\",children:[/*#__PURE__*/_jsx(\"strong\",{children:\"Content unavailable.\"}),\" \",err]}),status===\"ready\"&&/*#__PURE__*/_jsx(ModelHeroInner,{...merged})]})});}/* ---------------------------------- Property Controls (Framer) ---------------------------------- */addPropertyControls(ModelHero,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Anon Key\"},modelSlugOverride:{type:ControlType.String,title:\"Model Slug (override)\"},// Kept integrations\nedgeEmailUrl:{type:ControlType.String,title:\"Edge Email URL\"},edgeApiKey:{type:ControlType.String,title:\"Edge Email API Key\"},templateId:{type:ControlType.String,title:\"SendGrid Template ID\"},dbIntakeUrl:{type:ControlType.String,title:\"Intake Function URL\"},dbApiKey:{type:ControlType.String,title:\"Intake API Key\"}});/* ---------------------------------- Defaults ---------------------------------- */const ModelHeroDefaults={sectionAriaLabel:\"Model auto glass hero\",phoneDisplay:\"(877) 994-5277\",phoneHref:\"+1-877-994-5277\",phoneAriaLabel:\"Call now to speak with auto glass specialist\",headline:\"{model} Auto Glass & Windshield Replacement\",subheadHtml:'Get expert, model-specific auto glass service for your {make} {model}—from front windshield replacement to door, quarter, rear, and sunroof glass. Our mobile technicians verify your VIN, identify the correct windshield variant and features, and guide you on any ADAS calibration. We use OEM-quality materials and follow safety standards. <a href=\"/services/{make}-{model}-windshield-replacement\">Schedule windshield replacement</a> for fast mobile service.',pillText:\"Premium Mobile Windshield Replacement\",primaryText:\"Schedule Appointment\",primaryHref:\"/schedule-appointment/\",primaryAriaLabel:\"Schedule mobile {make} {model} auto glass service\",secondaryText:\"Browse {make} Models\",secondaryHref:\"#models\",secondaryAriaLabel:\"Browse {make} models\",formTitle:\"\",formSubheadHtml:\"\",consentText:\"\",barLeftItem1:\"Same-day scheduling when available\",barLeftItem2:\"Arizona & Florida Mobile Service\",ratingText:\"4.9/5 Rated on Google\",credentialsText:\"AGSC standards • DOT compliant • ADAS recalibration\",bullet1:\"Insurance accepted—often $0 with comprehensive\",bullet2:\"Lifetime workmanship warranty\",bullet3:\"Same-day availability in many areas\",bullet4:\"Quick, free quotes\",bullet5:\"Certified techs for ADAS features\",bgUrl:\"\",bgImage:null,bgImageAlt:\"{make} {model} windshield replacement\",shortFormMode:false,showForm:true,contentMaxWidth:\"var(--header-inner-max, var(--header-max, var(--shell-wrap-max, var(--wrap-max, 1280px))))\",contentGutter:\"var(--header-gutter, var(--shell-gutter, clamp(16px,3vw,32px)))\",useEdgeEmail:false,edgeEmailUrl:\"\",edgeApiKey:\"\",orgId:1,templateId:\"\",sendBackupToFormsubmit:false,useDbIntake:false,dbIntakeUrl:\"\",dbApiKey:\"\",defaultLeadStatus:\"New Lead\",defaultSaleSource:\"Website Form\",defaultState:\"\",showBreadcrumbs:true,emitBreadcrumbJsonLd:true,siteBaseUrl:\"https://bangautoglass.com\",breadcrumbsHomeHref:\"/\",breadcrumbsAutoGlassHref:\"/auto-glass/\",enableStickyMobileCta:true,stickyCtaLabel:\"\"};/* ---------------------------------- Styles (Theme-aligned & responsive) ---------------------------------- */const css=`\n/* Root */\n.bag-model-hero{\n  /* Use global Theme tokens */\n  color: var(--color-text);\n  color-scheme: dark;\n  container: hero / inline-size;\n  position:relative;\n  isolation:isolate;\n  overflow-x: clip; /* prevent horizontal overflow on mobile */\n  overflow-y: visible;\n  width: 100%;\n  max-width: 100vw;\n  /* Add safe-area padding on small screens to avoid right overflow */\n  --_gutter: var(--align-gutter, var(--header-gutter, var(--shell-gutter, clamp(16px, 3vw, 32px))));\n  padding-top: calc(18px + env(safe-area-inset-top));\n  padding-bottom: 40px;\n  padding-left: calc(var(--_gutter) + env(safe-area-inset-left));\n  padding-right: calc(var(--_gutter) + env(safe-area-inset-right));\n  background: var(--color-bg);\n  min-height: 0;\n}\n.bag-model-hero, .bag-model-hero * { box-sizing: border-box; }\n.bag-model-hero * { min-width: 0; } /* prevent flex/grid children from overflowing */\n.bag-model-hero .wrap{ max-width: var(--align-max, var(--header-inner-max, var(--header-max, var(--shell-wrap-max, var(--wrap-max, 1280px))))); width:100%; margin-inline:auto; }\n\n/* Background */\n.bag-model-hero .bg{ position:absolute; inset:0; pointer-events:none; z-index:-1; }\n.bag-model-hero .image{ position:absolute; inset:0; z-index:0; }\n.bag-model-hero .imageTag{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.38; filter:saturate(108%) contrast(106%); }\n.bag-model-hero .tint{\n  position:absolute; inset:0; z-index:1;\n  background:\n    radial-gradient(70% 70% at 12% 10%, color-mix(in hsl, var(--teal) 14%, transparent) 0%, transparent 60%),\n    radial-gradient(70% 70% at 88% 8%, color-mix(in hsl, var(--emerald) 14%, transparent) 0%, transparent 60%),\n    linear-gradient(180deg, color-mix(in hsl, var(--color-bg) 10%, transparent) 0%, color-mix(in hsl, var(--color-bg) 45%, transparent) 55%, color-mix(in hsl, var(--color-bg) 62%, transparent) 100%);\n}\n.bag-model-hero .noise{\n  position:absolute; inset:0; z-index:2; opacity:.07; mix-blend-mode:overlay;\n  background-image: repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 3px),\n                    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 3px);\n  background-size:4px 4px;\n}\n\n/* Skip link */\n.bag-model-hero .skipToForm{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }\n.bag-model-hero .skipToForm:focus{\n  position:static; width:auto; height:auto; padding:8px 10px; border-radius:var(--radius-lg);\n  background:rgba(0,0,0,.6); border:1px solid var(--color-line); box-shadow:var(--shadow-elev-1);\n}\n\n/* Breadcrumbs + bar */\n.bag-model-hero .breadcrumbs{ color:var(--color-muted); font-size:12.5px; margin:2px 0 0; }\n.bag-model-hero .breadcrumbs ol{ list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }\n.bag-model-hero .breadcrumbs li{ display:flex; gap:8px; align-items:center; }\n.bag-model-hero .breadcrumbs li + li::before{ content:\"›\"; opacity:.35; }\n.bag-model-hero .breadcrumbs a{ color: color-mix(in hsl, var(--color-text) 92%, transparent); text-decoration:none; opacity:.95; }\n.bag-model-hero .breadcrumbs [aria-current=\"page\"] span{ color: color-mix(in hsl, var(--color-muted) 85%, transparent); }\n\n.bag-model-hero .bar{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:2px 0; margin-top:2px; color:var(--color-muted); font-size:14px; }\n.bag-model-hero .barLeft{ display:flex; flex-wrap:wrap; gap:10px; }\n.bag-model-hero .inline{ display:flex; align-items:center; gap:6px; flex:0 1 auto; }\n.bag-model-hero .inline svg{ width:14px; height:14px; color: var(--color-muted); opacity:.85; }\n\n/* Grid */\n.bag-model-hero .grid{ display:grid; align-items:start; gap:22px; padding-top:8px; grid-template-columns:1fr; grid-template-areas:\"content\" \"form\"; max-width:100%; }\n.bag-model-hero .grid.one{ grid-template-areas:\"content\"; }\n.bag-model-hero [data-area=\"form\"]{ grid-area:form; }\n.bag-model-hero [data-area=\"content\"]{ grid-area:content; }\n\n@container hero (min-width:1100px){\n  .bag-model-hero .grid.two{\n    grid-template-columns:minmax(0,1fr) minmax(0, fit-content(640px));\n    grid-template-areas:\"content form\";\n    gap:clamp(22px,2.6vw,34px);\n  }\n}\n\n/* Content */\n.bag-model-hero .content{ position:relative; max-width:100%; }\n.bag-model-hero .contentGlass{\n  width:100%;\n  background:linear-gradient(180deg, rgba(0,0,0,.28), rgba(0,0,0,.16));\n  border:1px solid var(--color-line);\n  border-radius:var(--radius-2xl);\n  backdrop-filter:blur(6px) saturate(120%);\n  padding:clamp(14px,1.8vw,18px);\n  box-shadow:var(--shadow-card);\n  color:var(--color-text);\n  max-width:100%;\n}\n.bag-model-hero .contentTop{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }\n.bag-model-hero .contentPhone{ display:none !important; }\n\n.bag-model-hero h1{\n  color:var(--color-text);\n  font-family: var(--font-display), Inter, ui-sans-serif;\n  font-weight:800; letter-spacing:0; margin:.05rem 0 0 0;\n  font-size:clamp(28px,4.6vw,50px); line-height:1.06; max-width:14ch;\n}\n\n.bag-model-hero .lead{ color:color-mix(in srgb, var(--color-text) 94%, transparent); max-width:65ch; font-size:clamp(14px,1.6vw,17px); line-height:1.55; margin:8px 0 0; overflow-wrap:anywhere; word-break:break-word; }\n.bag-model-hero .rich a{ color:var(--color-text); text-decoration:underline; }\n\n/* Pill */\n.bag-model-hero .pill{\n  display:inline-flex; align-items:center; gap:6px; border-radius:var(--radius-pill);\n  padding:5px 9px;\n  background:color-mix(in hsl, var(--emerald) 10%, transparent);\n  color:color-mix(in hsl, var(--emerald) 55%, white 45%);\n  border:1px solid color-mix(in hsl, var(--emerald) 25%, transparent);\n  font-size:11.5px; font-weight:600;\n}\n.bag-model-hero .pillText{ margin:0; font-size:inherit; font-weight:600; overflow-wrap:anywhere; }\n\n/* Trust row */\n.bag-model-hero .trust{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:10px; }\n.bag-model-hero .starsRow{ display:flex; align-items:center; gap:6px; }\n.bag-model-hero .starsRow svg{ color:#facc15; width:18px; height:18px; }\n.bag-model-hero .rating{ color:color-mix(in srgb, var(--color-text) 96%, transparent); font-size:13px; }\n.bag-model-hero .credentials{ display:none; align-items:center; gap:8px; color:color-mix(in srgb, var(--color-text) 90%, transparent); }\n@media(min-width:768px){ .bag-model-hero .credentials{ display:flex; } }\n\n/* CTAs */\n.bag-model-hero .ctaRow{ display:flex; flex-wrap:wrap; gap:10px; padding-top:12px; width:100%; }\n.bag-model-hero .btn{\n  display:inline-flex; align-items:center; justify-content:center; gap:8px;\n  border-radius:var(--radius-pill); padding:12px 16px;\n  font-family: var(--font-display), Inter, ui-sans-serif; font-weight:800;\n  border:1px solid transparent; cursor:pointer; transition:transform .18s ease, background .18s ease, box-shadow .18s ease;\n  text-decoration:none; min-height:40px; min-width:0; /* allow shrink on small screens */\n}\n.bag-model-hero .btn:focus-visible{ outline:none; box-shadow:0 0 0 3px color-mix(in hsl, var(--emerald) 38%, transparent), 0 0 0 5px rgba(0,0,0,.6); }\n.bag-model-hero .btn-primary{\n  color:#eafff4; background:transparent;\n  border-color:color-mix(in hsl, var(--emerald) 55%, transparent);\n  box-shadow:0 10px 26px color-mix(in hsl, var(--emerald) 40%, transparent), inset 0 0 0 1px color-mix(in hsl, var(--emerald) 26%, transparent);\n}\n.bag-model-hero .btn-primary:hover{\n  background:linear-gradient(180deg, color-mix(in hsl, var(--emerald) 10%, transparent), color-mix(in hsl, var(--emerald) 6%, transparent));\n  transform:translateY(-1px);\n}\n.bag-model-hero .btn-secondary{ background:transparent; color:var(--color-text); border-color:var(--color-line-2, rgba(255,255,255,.22)); }\n.bag-model-hero .btn-secondary:hover{ background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06)); }\n\n/* Form container */\n.bag-model-hero .quote{\n  position:relative; width:auto; max-width:640px; color:var(--color-text);\n  background:transparent; border:0; padding:0; box-shadow:none; border-radius:0;\n  scroll-margin-top:clamp(60px, 12vh, 120px);\n}\n@media(max-width:1100px){ .bag-model-hero .quote{ width:100%; max-width:100%; } }\n\n/* Micro bullets */\n.bag-model-hero .micro{ display:grid; grid-template-columns:1fr; gap:8px; margin-top:10px; }\n.bag-model-hero .bullet{ display:flex; align-items:center; gap:6px; color:color-mix(in srgb, var(--color-text) 92%, transparent); font-size:12.5px; }\n.bag-model-hero .bullet .ok{ color:var(--emerald); width:14px; height:14px; }\n.bag-model-hero .bullet span{ overflow-wrap:anywhere; word-break:break-word; }\n\n/* Responsive */\n@media(max-width:980px){\n  .bag-model-hero{ padding-bottom:26px; }\n  .bag-model-hero .grid{ gap:20px; }\n  .bag-model-hero .contentGlass{ background:linear-gradient(180deg, rgba(0,0,0,.24), rgba(0,0,0,.14)); border-radius:var(--radius-xl); }\n}\n@media(max-width:680px){\n  .bag-model-hero .bar{ padding:2px 0 0; }\n  .bag-model-hero .btn{ padding:12px 15px; }\n  .bag-model-hero .contentTop{ flex-wrap:wrap; gap:8px; }\n}\n\n/* Sticky mobile CTA */\n.bag-model-hero .mobileStickyCta{\n  position:fixed;\n  left: max(0px, env(safe-area-inset-left));\n  right: max(0px, env(safe-area-inset-right));\n  bottom:calc(12px + env(safe-area-inset-bottom));\n  display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center;\n  padding-left: calc(var(--_gutter) + env(safe-area-inset-left));\n  padding-right: calc(var(--_gutter) + env(safe-area-inset-right));\n  z-index:50; width:auto; max-width:100vw;\n}\n.bag-model-hero .mobileStickyBtn{\n  display:inline-flex; align-items:center; justify-content:center; padding:14px 18px;\n  border-radius:var(--radius-pill); text-decoration:none; font-weight:800;\n  border:1px solid color-mix(in hsl, var(--emerald) 55%, transparent);\n  color:#eafff4; background:color-mix(in hsl, var(--emerald) 12%, rgba(0,0,0,.35));\n  box-shadow:var(--shadow-elev-2), inset 0 0 0 1px color-mix(in hsl, var(--emerald) 26%, transparent);\n  min-height:48px; min-width:0;\n}\n.bag-model-hero .mobileStickyCall{\n  display:inline-flex; align-items:center; gap:8px; text-decoration:none; padding:14px 16px; min-height:48px;\n  border-radius:var(--radius-pill); color:var(--color-text); background:var(--color-surface);\n  border:1px solid var(--color-line-2); min-width:0; max-width:40vw;\n}\n.bag-model-hero .mobileStickyCall span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }\n@container hero (min-width:1100px){ .bag-model-hero .mobileStickyCta{ display:none; } }\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelHero\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelHero.map","// ModelsAbout.tsx (Supabase v5 – reads model slug from /auto-glass/{make}/{model})\n// -----------------------------------------------------------------------------\n// Property controls: Supabase URL, Supabase Key, Slug Override\n// Binds to public.models with columns:\n//   id, slug, make, model,\n//   atm_aria_label, atm_heading, atm_paragraph,\n//   atm_glassmanufacturer, atm_gmparagraph,\n//   atm_adhesivemanufacturer, atm_adhesiveparagraph,\n//   atm_correctpart, atm_correctpartparagraph\n// -----------------------------------------------------------------------------\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";import{Info,Building2,Droplet,ShieldCheck,CheckCircle2,ExternalLink}from\"lucide-react\";/** Environment helpers */const isBrowser=typeof window!==\"undefined\";const isProdDomain=isBrowser?/(^|\\.)bangautoglass\\.com$/i.test(window.location.hostname):false;/** Replace {make} and {model} tokens (case-insensitive) */function withMakeModelTokens(input,makeName,modelName){if(!input)return input??undefined;const m=(makeName??\"your\").trim();const mdl=(modelName??\"model\").trim();return input.replace(/\\{\\s*make\\s*\\}/gi,m).replace(/\\{\\s*model\\s*\\}/gi,mdl);}/** Coerce numbers/strings into valid CSS sizes (defaults to px) */function toCssSize(v,fallback=\"1280px\"){if(v===null||v===undefined)return fallback;if(typeof v===\"number\"&&isFinite(v))return`${v}px`;const s=String(v).trim();if(!s)return fallback;if(/^\\d+(?:\\.\\d+)?$/.test(s))return`${s}px`;if(/px|rem|em|vw|vh|%|ch|ex|cm|mm|in|pt|pc$/.test(s)||/^(?:calc|min|max|clamp)\\(/.test(s))return s;const n=parseFloat(s);return isNaN(n)?fallback:`${n}px`;}/** Read {model} slug from /auto-glass/{make}/{model} */function deriveModelSlugFromUrl(){if(!isBrowser)return null;const parts=window.location.pathname.split(\"/\").filter(Boolean);const idx=parts.indexOf(\"auto-glass\");if(idx>=0){// Expect: ... /auto-glass/{make}/{model}\nconst modelSeg=parts[idx+2];if(modelSeg)return decodeURIComponent(modelSeg);}// Fallback to last segment (just in case)\nconst last=parts[parts.length-1];return last?decodeURIComponent(last):null;}/** Rewrite old service URLs → new /services/{full_service} slugs */function rewriteServiceLinks(html,make,model){if(!html)return\"\";// Handle absolute and relative old paths:\n//   /auto-glass/{make}/{model}/{service}\n//   https://bangautoglass.com/auto-glass/{make}/{model}/{service}\nconst pattern=/(https?:\\/\\/(?:www\\.)?bangautoglass\\.com)?\\/auto-glass\\/([^\\/\\s]+)\\/([^\\/\\s]+)\\/([^\"'\\s<>#?]+)/gi;return html.replace(pattern,(_m,_abs,mk,mdl,svc)=>{const m=decodeURIComponent(mk);const md=decodeURIComponent(mdl);const s=decodeURIComponent(svc);const slug=(m||make||\"\").toString().trim().toLowerCase()+\"-\"+(md||model||\"\").toString().trim().toLowerCase()+\"-\"+s.toString().trim().toLowerCase();return`/services/${slug.replace(/\\s+/g,\"-\")}`;});}const defaultRowForEditing={id:\"default\",slug:\"sample-model\",make:\"Honda\",model:\"Accord\",atm_aria_label:\"About Honda Accord auto glass\",atm_heading:\"About Honda Accord Auto Glass & Windshields\",atm_paragraph:'<p>Modern windshields for the {make} {model} can include acoustic interlayers, infrared coatings, HUD zones, ADAS camera brackets, and rain sensors. Selecting the correct variant is essential for safety and feature compatibility. Our team decodes VIN-level build info and verifies part attributes before installation so everything functions as intended. We align with industry guidance and use OEM-quality materials. Explore related services like <a href=\"/auto-glass/honda/accord/windshield-replacement\">windshield replacement</a>.</p>',atm_glassmanufacturer:\"Glass Manufacturer & OEM Provider\",atm_gmparagraph:\"We source approved OEM and Tier-1 glass for {make} {model}, matching acoustic layers, coatings, and windshield features for the exact build.\",atm_adhesivemanufacturer:\"Adhesive Provider\",atm_adhesiveparagraph:\"We use high-modulus, crash-tested urethane systems with documented cure profiles and safe drive-away guidance.\",atm_correctpart:\"Correct Part & VIN Match\",atm_correctpartparagraph:\"VIN + option code verification ensures HUD areas, brackets, sensors, tint bands, and acoustic interlayers align with your specific {make} {model}.\"};/** Lightweight in-memory cache per session */const cache=new Map;export default function ModelsAbout(props){const{supabaseUrl,supabaseKey,supabaseAnonKey,slugOverride,slug,makeId,rowOverride,showHighlights=true,showAuthorities=true,contentMaxWidth=\"var(--content-max-w, 1280px)\",contentGutter=\"var(--container-pad-x, clamp(16px,3vw,32px))\",scrollOffsetPx=96,className,style}=props;const[row,setRow]=React.useState(null);const[loading,setLoading]=React.useState(false);const[error,setError]=React.useState(null);const wrapMax=toCssSize(contentMaxWidth);// Only instantiate Supabase on production domain to avoid editor slowdown\nconst supabase=React.useMemo(()=>{if(!isProdDomain)return null;const key=supabaseKey||supabaseAnonKey;if(!supabaseUrl||!key)return null;return createClient(supabaseUrl,key);},[supabaseUrl,supabaseKey,supabaseAnonKey]);React.useEffect(()=>{let cancelled=false;const abort=new AbortController;async function load(){// If the editor provided a row override, prefer it (no network)\nif(rowOverride&&Object.keys(rowOverride).length){const merged={...defaultRowForEditing,...rowOverride,id:rowOverride.id??\"override\",slug:rowOverride.slug||slugOverride||slug||\"sample-model\"};setRow(merged);setError(null);return;}// In Framer canvas / non-prod domains: show fast default content, no fetch\nif(!isProdDomain){setRow(defaultRowForEditing);setError(null);return;}// Production domain → fetch from Supabase\nif(!supabase){setError(\"Supabase URL/key missing.\");setRow(null);return;}const urlSlug=deriveModelSlugFromUrl();const rawSlug=(slugOverride||urlSlug||slug||\"\").trim();if(!rawSlug&&!makeId){setError(\"Provide a model slug (Slug Override) or ensure the URL is /auto-glass/{make}/{model}.\");setRow(null);return;}setLoading(true);setError(null);try{// Use cache first (fast path)\nconst cacheKey=makeId?`id:${makeId}`:`slug:${rawSlug.toLowerCase()}`;if(cache.has(cacheKey)){const cached=cache.get(cacheKey);if(!cancelled){setRow(cached);setLoading(false);}return;}// Build base select\nlet q=supabase.from(\"models\").select([\"id\",\"slug\",\"make\",\"model\",\"atm_aria_label\",\"atm_heading\",\"atm_paragraph\",\"atm_glassmanufacturer\",\"atm_gmparagraph\",\"atm_adhesivemanufacturer\",\"atm_adhesiveparagraph\",\"atm_correctpart\",\"atm_correctpartparagraph\"].join(\", \")).abortSignal(abort.signal).limit(1);let data=null;let fetchErr=null;if(makeId){const{data:d,error:e}=await q.eq(\"id\",makeId).maybeSingle();data=d??null;fetchErr=e;}else{// Try fast equality on (likely) lowercase slugs to leverage index\nconst lower=rawSlug.toLowerCase();const tryEq=await q.eq(\"slug\",lower).maybeSingle();if(tryEq.error&&tryEq.error.code!==\"PGRST116\"){fetchErr=tryEq.error;}else if(tryEq.data){data=tryEq.data;}else{// Fallback to ilike if eq failed (handles weird cases)\nconst{data:d2,error:e2}=await supabase.from(\"models\").select(\"id, slug, make, model, atm_aria_label, atm_heading, atm_paragraph, atm_glassmanufacturer, atm_gmparagraph, atm_adhesivemanufacturer, atm_adhesiveparagraph, atm_correctpart, atm_correctpartparagraph\").ilike(\"slug\",rawSlug).abortSignal(abort.signal).limit(1);data=(d2?.[0])??null;fetchErr=e2??null;}}if(cancelled)return;if(fetchErr){setError(fetchErr.message??\"Unable to load model data.\");setRow(null);}else{if(!data){setError(\"No model found for the given identifier.\");setRow(null);}else{const rec=data;const key=makeId?`id:${makeId}`:`slug:${(rec.slug||\"\").toLowerCase()}`;cache.set(key,rec);setRow(rec);setError(null);}}}catch(e){if(!cancelled){setError(e?.message??\"Unexpected error.\");setRow(null);}}finally{if(!cancelled)setLoading(false);}}load();return()=>{cancelled=true;abort.abort();};},[supabase,slugOverride,slug,makeId,rowOverride]);const makeName=row?.make||undefined;const modelName=row?.model||undefined;const aboutAriaLabel=withMakeModelTokens(row?.atm_aria_label??\"About {make} {model} auto glass\",makeName,modelName)||\"About auto glass\";const heading=withMakeModelTokens(row?.atm_heading??\"About {make} {model} Auto Glass & Windshields\",makeName,modelName)||\"About Auto Glass & Windshields\";const paragraphHtmlRaw=withMakeModelTokens(row?.atm_paragraph??\"{make} {model} windshields can include acoustic interlayers, infrared coatings, HUD zones, ADAS camera brackets, and rain sensors. Selecting the correct windshield variant is essential for safety and feature compatibility; our team decodes VIN-level build info and verifies part attributes before installation.\",makeName,modelName);const paragraphHtml=React.useMemo(()=>rewriteServiceLinks(paragraphHtmlRaw,makeName,modelName),[paragraphHtmlRaw,makeName,modelName]);const gmHeading=withMakeModelTokens(row?.atm_glassmanufacturer??\"Glass Manufacturer & OEM Provider\",makeName,modelName);const gmParagraph=withMakeModelTokens(row?.atm_gmparagraph??\"We source approved OEM and Tier-1 glass for {make} {model}, matching acoustic layers, coatings, and windshield features for the exact build.\",makeName,modelName);const adhHeading=withMakeModelTokens(row?.atm_adhesivemanufacturer??\"Adhesive Provider\",makeName,modelName);const adhParagraph=withMakeModelTokens(row?.atm_adhesiveparagraph??\"We use high-modulus, crash-tested urethane systems with documented cure profiles and safe drive-away guidance.\",makeName,modelName);const vinHeading=withMakeModelTokens(row?.atm_correctpart??\"Correct Part & VIN Match\",makeName,modelName);const vinParagraph=withMakeModelTokens(row?.atm_correctpartparagraph??\"VIN + option code verification ensures HUD areas, brackets, sensors, tint bands, and acoustic interlayers align with your specific {make} {model}.\",makeName,modelName);const titleId=\"about-model-title\";return /*#__PURE__*/_jsxs(\"section\",{id:\"about-model\",className:`bag-about-model ${className||\"\"}`,\"aria-label\":aboutAriaLabel,\"aria-labelledby\":titleId,\"data-loading\":loading?\"true\":undefined,tabIndex:-1,style:{...style||{},[\"--page-max\"]:wrapMax,[\"--page-gutter\"]:typeof contentGutter===\"number\"?`${contentGutter}px`:String(contentGutter),[\"--toc-offset\"]:`${scrollOffsetPx}px`},children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"wrap\",children:[/*#__PURE__*/_jsxs(\"header\",{className:\"head\",children:[/*#__PURE__*/_jsxs(\"span\",{className:\"kicker\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(Info,{size:14}),\"Overview\"]}),/*#__PURE__*/_jsx(\"h2\",{className:\"h2\",id:titleId,children:heading})]}),error&&isProdDomain&&/*#__PURE__*/_jsx(\"div\",{role:\"status\",className:\"error\",children:error}),/*#__PURE__*/_jsxs(\"div\",{className:\"grid\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"content\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"rich lead\",dangerouslySetInnerHTML:{__html:paragraphHtml||\"\"}}),showAuthorities&&/*#__PURE__*/_jsxs(\"ul\",{className:\"authorityLinks\",\"aria-label\":\"Trusted references\",children:[/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"https://www.nhtsa.gov/\",rel:\"nofollow noopener\",target:\"_blank\",children:[/*#__PURE__*/_jsx(ExternalLink,{size:14,\"aria-hidden\":\"true\"}),\" \",\"NHTSA – Vehicle Safety\"]})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"https://www.iihs.org/\",rel:\"nofollow noopener\",target:\"_blank\",children:[/*#__PURE__*/_jsx(ExternalLink,{size:14,\"aria-hidden\":\"true\"}),\" \",\"IIHS – Crashworthiness Research\"]})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"https://agsc.org/\",rel:\"nofollow noopener\",target:\"_blank\",children:[/*#__PURE__*/_jsx(ExternalLink,{size:14,\"aria-hidden\":\"true\"}),\" \",\"AGSC – Auto Glass Safety Council\"]})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"https://www.ase.com/\",rel:\"nofollow noopener\",target:\"_blank\",children:[/*#__PURE__*/_jsx(ExternalLink,{size:14,\"aria-hidden\":\"true\"}),\" \",\"ASE – ADAS Fundamentals\"]})}),/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsxs(\"a\",{href:\"https://www.aaa.com/\",rel:\"nofollow noopener\",target:\"_blank\",children:[/*#__PURE__*/_jsx(ExternalLink,{size:14,\"aria-hidden\":\"true\"}),\" \",\"AAA – Consumer Guidance\"]})})]})]}),showHighlights&&/*#__PURE__*/_jsx(\"aside\",{className:\"aside\",role:\"complementary\",\"aria-label\":\"Key windshield details\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"card\",children:[/*#__PURE__*/_jsx(\"i\",{className:\"rail\",\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"row\",children:[/*#__PURE__*/_jsx(Building2,{size:18,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h3\",{children:gmHeading}),/*#__PURE__*/_jsx(\"p\",{children:gmParagraph})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"row\",children:[/*#__PURE__*/_jsx(Droplet,{size:18,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h3\",{children:adhHeading}),/*#__PURE__*/_jsx(\"p\",{children:adhParagraph})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"row\",children:[/*#__PURE__*/_jsx(ShieldCheck,{size:18,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h3\",{children:vinHeading}),/*#__PURE__*/_jsx(\"p\",{children:vinParagraph})]})]}),/*#__PURE__*/_jsxs(\"ul\",{className:\"ticks\",\"aria-label\":\"Quick facts\",children:[/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16,\"aria-hidden\":\"true\"}),\" \",\"OEM/OE glass provider\"]}),/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16,\"aria-hidden\":\"true\"}),\" \",\"Approved adhesive system\"]}),/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16,\"aria-hidden\":\"true\"}),\" \",\"VIN & feature-match verification\"]})]})]})})]})]})]});}/* ---------- Property Controls (ONLY 3) ---------- */addPropertyControls(ModelsAbout,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\",defaultValue:\"\"},supabaseKey:{type:ControlType.String,title:\"Supabase Key\",defaultValue:\"\"},slugOverride:{type:ControlType.String,title:\"Slug Override\",defaultValue:\"\"}});/* ---------------- Light theme (white) — uses Bang theme tokens where possible ---------------- */const css=/*css*/`\n.bag-about-model, .bag-about-model * { box-sizing: border-box; }\n.bag-about-model{\n  --page-max: var(--page-max, var(--content-max-w, 1280px));\n  --page-gutter: var(--page-gutter, var(--container-pad-x, clamp(16px, 3vw, 32px)));\n\n  /* Force a light palette locally (mirrors ThemeProvider light values) */\n  --text: #101410;\n  --muted: #3a4a3b;\n  --neon: var(--neon, #39FF14);\n  --neon-400: var(--neon-400, #2BE80B);\n  --neon-600: var(--neon-600, #14C90A);\n  --aqua-500: var(--aqua-500, #00CFA1);\n\n  /* Structured aliases tied into site tokens with light overrides */\n  --color-bg: #ffffff;\n  --color-surface: #ffffff;\n  --color-surface-strong: #fbfbfb;\n  --color-text: var(--text);\n  --color-muted: var(--muted);\n  --color-accent: var(--neon);\n  --color-accent-2: var(--neon-600);\n  --color-line: rgba(0,0,0,.12);\n  --color-line-2: rgba(0,0,0,.18);\n\n  --radius-card: var(--radius-card, 22px);\n  --radius-lg: var(--radius-lg, 14px);\n  --radius-pill: var(--radius-pill, 999px);\n\n  --shadow-card: var(--shadow-card, 0 10px 28px rgba(2,6,23,.08));\n\n  /* Component-level mappings used below */\n  --text-strong: var(--color-text);\n  --brand: var(--color-accent);\n  --border: var(--color-line);\n  --card: var(--color-surface);\n  --card-strong: var(--color-surface-strong);\n  --card-tint: linear-gradient(180deg, color-mix(in srgb, var(--brand) 10%, transparent), color-mix(in srgb, var(--brand) 4%, transparent));\n\n  background:#ffffff;\n  color: var(--text-strong);\n  padding: 48px 0;\n  scroll-margin-top: var(--toc-offset, 96px);\n  font-family: var(--font-body, Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\");\n}\n\n.bag-about-model .wrap{ max-width: var(--page-max); width: 100%; margin: 0 auto; padding-inline: var(--page-gutter); }\n.bag-about-model .head{ display:flex; flex-direction:column; gap:10px; margin:0; }\n.bag-about-model .kicker{\n  display:inline-flex; align-items:center; gap:8px; width:fit-content;\n  padding:6px 10px; border-radius: var(--radius-pill);\n  font-size:12px; font-weight:700; letter-spacing:.02em;\n  color:#065f46;\n  background: color-mix(in srgb, var(--brand) 12%, #ffffff);\n  border:1px solid color-mix(in srgb, var(--brand) 28%, transparent);\n}\n.bag-about-model .kicker svg{ color:#059669; }\n.bag-about-model .h2{ margin:0; font-weight:800; line-height:1.15; letter-spacing:-0.02em; color:var(--text-strong); font-size: clamp(24px, 3.2vw, 38px); }\n.bag-about-model .grid{ display:grid; gap:22px; grid-template-columns: 1fr; }\n@media(min-width: 980px){ .bag-about-model .grid{ grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); gap: 28px; } }\n.bag-about-model .content .rich{ max-width: 760px; }\n.bag-about-model .content .lead{ margin-top: 16px; }\n.bag-about-model .content .rich + .rich{ margin-top: 10px; }\n.bag-about-model .content .rich p{\n  margin:0 0 10px;\n  font: 400 16px/1.5 var(--font-body, Inter, ui-sans-serif);\n  color: var(--color-muted);\n  letter-spacing:-0.005em;\n}\n.bag-about-model .content .rich p[style], .bag-about-model .content .rich p *[style]{\n  font-size: 16px !important; line-height: 1.5 !important; font-weight: 400 !important; color: var(--color-muted) !important; font-family: var(--font-body, Inter, ui-sans-serif) !important;\n}\n.bag-about-model .content .rich strong, .bag-about-model .content .rich b{ color: var(--text-strong); }\n.bag-about-model .content .rich a{ color:inherit; text-decoration:underline; }\n\n.bag-about-model .authorityLinks{ display:flex; flex-wrap:wrap; gap:8px 12px; margin:16px 0 0; padding:0; list-style:none; }\n.bag-about-model .authorityLinks a{\n  display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius: var(--radius-pill);\n  text-decoration:none; background:#f8fafc;\n  border:1px solid var(--border);\n  font-weight:700; font-size:13px; color:#0f172a;\n  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;\n}\n.bag-about-model .authorityLinks a:hover{\n  background:#ffffff;\n  transform: translateY(-1px);\n  box-shadow:0 6px 14px rgba(2,6,23,.08);\n}\n.bag-about-model .authorityLinks svg{ color:#64748b; }\n\n.bag-about-model .aside .card{\n  position:relative; border-radius: var(--radius-card);\n  padding:18px;\n  background: linear-gradient(#fff, #fff) padding-box,\n             linear-gradient(120deg, color-mix(in srgb, var(--brand) 40%, transparent), color-mix(in srgb, var(--brand) 25%, transparent), color-mix(in srgb, var(--brand) 40%, transparent)) border-box;\n  border:1px solid transparent;\n  box-shadow: var(--shadow-card);\n}\n@media(min-width:1200px){ .bag-about-model .aside .card{ padding:20px } }\n.bag-about-model .aside .card::after{ content:\"\"; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background: var(--card-tint); opacity:.7; }\n.bag-about-model .aside .rail{ position:absolute; left:0; top:12px; bottom:12px; width:6px; border-radius:8px; background: linear-gradient(180deg, color-mix(in srgb, var(--brand) 75%, transparent), color-mix(in srgb, var(--brand) 65%, transparent)); }\n.bag-about-model .aside .row{ position:relative; display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; padding:10px 0; }\n.bag-about-model .aside .row + .row{ border-top:1px dashed rgba(15,23,42,.12); }\n.bag-about-model .aside .row svg{ color:#059669; filter: drop-shadow(0 1px 0 rgba(2,6,23,.02)); }\n.bag-about-model .aside h3{ margin:0 0 4px; font-size:18px; font-weight:700; letter-spacing:-.01em; color:var(--text-strong); line-height:1.3; font-family: var(--font-display, var(--font-body, Inter, ui-sans-serif)); }\n.bag-about-model .aside p{ margin:0; font-size:15.5px; color:var(--text); line-height:1.55; }\n.bag-about-model .ticks{ list-style:none; margin:14px 0 0; padding:0; display:grid; gap:8px; }\n.bag-about-model .ticks li{ display:flex; align-items:center; gap:8px; font-size:14px; color:#0b1220; }\n.bag-about-model .ticks svg{ color: var(--brand); }\n\n.bag-about-model a:focus{ outline:none; box-shadow:0 0 0 3px var(--brand); border-color:var(--brand); }\n.bag-about-model[data-loading=\"true\"]{ opacity:.92; }\n.bag-about-model .error{\n  color:#b91c1c; background:#fef2f2; border:1px solid #fecaca; padding:8px 10px; border-radius: var(--radius-lg); margin-bottom:12px; font-size:14px;\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelsAbout\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsAbout.map","// ModelsAllModels.tsx — compact, 8-per-slide (4x2 desktop, 2x4 tablet/mobile)\n// • Headings are explicitly white\n// • All items render in the DOM (SEO-safe)\n// • Cards brighten on hover ONLY (no lift) and are not clickable\n// • Only service chips (green) + “View model” button are links (with slight hover brighten on chips)\n// • “View model” button is bottom-aligned in every card\n// • Non-active panes are hidden to prevent edge overlap/peek\n// • TOC anchor id=\"all-models\"; Supabase columns aligned\n\"use client\";import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useMemo,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/* ------------------------- Utilities ------------------------- */function getSlugFromLocation(){try{const{pathname,search}=window.location;const sp=new URLSearchParams(search);const q=sp.get(\"slug\")||sp.get(\"make\")||sp.get(\"make_slug\")||sp.get(\"brand\");if(q)return decodeURIComponent(q).toLowerCase();const parts=pathname.toLowerCase().split(\"/\").filter(Boolean);const idx=parts.indexOf(\"auto-glass\");if(idx!==-1&&parts[idx+1])return decodeURIComponent(parts[idx+1]);const anchors=[\"makes\",\"make\",\"brand\",\"brands\"];const i2=parts.findIndex(s=>anchors.includes(s));if(i2>=0&&parts[i2+1])return decodeURIComponent(parts[i2+1]);const last=parts[parts.length-1];if(last&&![\"preview\",\"canvas\"].includes(last))return decodeURIComponent(last);return\"\";}catch{return\"\";}}function titleCaseFromSlug(s){return(s||\"\").replace(/[-_]+/g,\" \").replace(/\\s+/g,\" \").trim().toLowerCase().replace(/\\b\\w/g,m=>m.toUpperCase());}function isProdDomain(){try{if(typeof window===\"undefined\")return false;const host=window.location.hostname||\"\";return host===\"bangautoglass.com\"||host.endsWith(\".bangautoglass.com\");}catch{return false;}}/* ------------------------- Layout constants ------------------------- */// Per page = 8 everywhere\nconst COLS_D=4;const ROWS_D=2;const COLS_T=2;const ROWS_T=4;const COLS_M=2;const ROWS_M=4;const PER_PAGE=8;const SHOW_SEARCH=true;const SHOW_BADGES=true;const ALLOW_VIEW_ALL=true;const SHOW_VIEW_MODEL_BUTTON=true;const SITE_BASE_URL=\"https://www.bangautoglass.com\";const AUTO_GLASS_BASE=\"/auto-glass\";const SLUG_WIND=\"windshield\";const SLUG_REAR=\"rear\";const SLUG_DOOR=\"door\";const SLUG_QUARTER=\"quarter\";const SLUG_SUNROOF=\"sunroof\";const SLUG_ADAS=\"calibration\";/* New service mapping for /services/{full_service} */const SERVICE_SLUGS={[SLUG_WIND]:\"windshield-replacement\",[SLUG_REAR]:\"rear-window-replacement\",[SLUG_DOOR]:\"door-glass-replacement\",[SLUG_QUARTER]:\"quarter-glass-replacement\",[SLUG_SUNROOF]:\"sunroof-glass-replacement\",[SLUG_ADAS]:\"adas-calibration\"};const EMIT_JSONLD=true;const BG_COLOR_CSS=\"var(--color-bg, #121212)\";/* ------------------------- Data (Supabase) ------------------------- */async function fetchMakeBySlug(supabaseUrl,supabaseAnonKey,slug,signal){const url=`${supabaseUrl.replace(/\\/+$/,\"\")}`+`/rest/v1/makes?slug=eq.${encodeURIComponent(slug.toLowerCase())}`+`&select=make,slug,all_models_aria_label,all_models_2nd_aria_label,all_models_heading,all_models_paragraph`;const res=await fetch(url,{headers:{apikey:supabaseAnonKey,Authorization:`Bearer ${supabaseAnonKey}`,Accept:\"application/json\"},cache:\"no-store\",signal});if(!res.ok)return null;const rows=await res.json();return rows?.[0]||null;}async function fetchModelsByMake(supabaseUrl,supabaseAnonKey,makeName,signal){const base=`${supabaseUrl.replace(/\\/+$/,\"\")}/rest/v1/models`;const select=\"slug,make,model,windshield,door,quarter,sunroof,rear,adas&order=model.asc\";// Try exact (fast, index-friendly), then fallback to ilike if needed.\nconst eqUrl=`${base}?make=eq.${encodeURIComponent(makeName)}&select=${select}`;const resEq=await fetch(eqUrl,{headers:{apikey:supabaseAnonKey,Authorization:`Bearer ${supabaseAnonKey}`,Accept:\"application/json\"},cache:\"no-store\",signal});if(resEq.ok){const rows=await resEq.json();if(rows?.length)return rows;}const ilikeUrl=`${base}?make=ilike.${encodeURIComponent(makeName)}&select=${select}`;const resIlike=await fetch(ilikeUrl,{headers:{apikey:supabaseAnonKey,Authorization:`Bearer ${supabaseAnonKey}`,Accept:\"application/json\"},cache:\"no-store\",signal});if(!resIlike.ok)throw new Error(`Supabase error (${resIlike.status}) loading models`);const rows=await resIlike.json();return rows||[];}/* ------------------------- Default (Canvas) Content ------------------------- */function getDefaultModels(makeSlug,makeName){const models=[\"Model A\",\"Model B\",\"Model C\",\"Model D\",\"Model E\",\"Model F\",\"Model G\",\"Model H\"];return models.map((m,i)=>({slug:m.toLowerCase().replace(/\\s+/g,\"-\"),make:makeName,model:m,windshield:true,door:i%2===0,quarter:i%3===0,sunroof:i%4===0,rear:i%2===1,adas:i%3===1}));}function getDefaultMakeRow(makeName){return{make:makeName,slug:makeName.toLowerCase().replace(/\\s+/g,\"-\"),all_models_aria_label:`${makeName} models`,all_models_2nd_aria_label:`${makeName} models`,all_models_heading:`All ${makeName} Models We Service`,all_models_paragraph:`Select your ${makeName} model to explore auto glass specs, feature checks, and the exact windshield replacement or glass repair you need; each hub links to front windshield, rear, door, quarter, and sunroof pages.`};}export default function MakeAllModelsCarousel({supabaseUrl=\"\",supabaseAnonKey=\"\",slug:slugOverride,className=\"\",style}){const resolvedSlug=(slugOverride??(typeof window!==\"undefined\"?getSlugFromLocation():\"\"))||\"\";const derivedMakeName=titleCaseFromSlug(resolvedSlug);const[status,setStatus]=useState(\"idle\");const[err,setErr]=useState(\"\");const[makeRow,setMakeRow]=useState(null);const[models,setModels]=useState([]);const[q,setQ]=useState(\"\");const[page,setPage]=useState(0);const[viewAll,setViewAll]=useState(false);useEffect(()=>{let alive=true;const controller=new AbortController;(async()=>{try{// Gate Supabase fetches to production domain only; show fast defaults elsewhere (Framer canvas, preview, localhost, etc.)\nif(!isProdDomain()){const mk=derivedMakeName||\"Sample Make\";if(!alive)return;setMakeRow(getDefaultMakeRow(mk));setModels(getDefaultModels(resolvedSlug||\"sample-make\",mk));setStatus(\"ready\");setPage(0);return;}if(!supabaseUrl||!supabaseAnonKey||!resolvedSlug){setStatus(\"error\");setErr(!resolvedSlug?\"Missing slug from URL.\":\"Missing Supabase URL or anon key.\");return;}setStatus(\"loading\");// Load make row first to get the canonical make name, then fetch models using eq (fast) with ilike fallback.\nlet row=null;try{row=await fetchMakeBySlug(supabaseUrl,supabaseAnonKey,resolvedSlug,controller.signal);}catch{}if(alive)setMakeRow(row);const makeName=row?.make||derivedMakeName;const list=await fetchModelsByMake(supabaseUrl,supabaseAnonKey,makeName,controller.signal);if(!alive)return;setModels(list)// Load ALL items up-front for SEO\n;setStatus(\"ready\");setPage(0);}catch(e){if(!alive)return;setStatus(\"error\");setErr(e?.message||\"Failed to load content.\");}})();return()=>{alive=false;controller.abort();};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[supabaseUrl,supabaseAnonKey,resolvedSlug]);const makeName=makeRow?.make||derivedMakeName||\"Make\";const heading=makeRow?.all_models_heading||`All ${makeName} Models We Service`;const paragraph=makeRow?.all_models_paragraph||`Select your ${makeName} model to explore auto glass specs, feature checks, and the exact windshield replacement or glass repair you need; each hub links to front windshield, rear, door, quarter, and sunroof pages.`;const ariaLabel=makeRow?.all_models_aria_label||makeRow?.all_models_2nd_aria_label||`${makeName} models`;const filtered=useMemo(()=>{const term=q.trim().toLowerCase();if(!term)return models;return models.filter(r=>r.model.toLowerCase().includes(term));},[q,models]);// Pages of 8; render ALL to DOM for SEO\nconst pages=useMemo(()=>{const out=[];for(let i=0;i<filtered.length;i+=PER_PAGE)out.push(filtered.slice(i,i+PER_PAGE));return out;},[filtered]);const pageCount=Math.max(1,pages.length);const safePage=Math.min(page,pageCount-1);useEffect(()=>{const onKey=e=>{if(e.key===\"ArrowLeft\")setPage(p=>(p-1+pageCount)%pageCount);if(e.key===\"ArrowRight\")setPage(p=>(p+1)%pageCount);};window.addEventListener(\"keydown\",onKey);return()=>window.removeEventListener(\"keydown\",onKey);},[pageCount]);// href builders\nconst modelHref=modelSlug=>`${AUTO_GLASS_BASE.replace(/\\/+$/,\"\")}/${encodeURIComponent(resolvedSlug)}/${encodeURIComponent(modelSlug)}/`;// new /services/{full_service} link builder\nconst serviceHref=(modelSlug,svc)=>{const svcPart=SERVICE_SLUGS[svc]||svc;const full=`${resolvedSlug}-${modelSlug}-${svcPart}`.toLowerCase().replace(/[^a-z0-9-]+/g,\"-\").replace(/-+/g,\"-\").replace(/^-|-$/g,\"\");return`/services/${full}`;};const gotoPrev=()=>setPage(p=>(p-1+pageCount)%pageCount);const gotoNext=()=>setPage(p=>(p+1)%pageCount);const titleId=\"models-title\";const descId=\"models-desc\";return /*#__PURE__*/_jsxs(\"section\",{id:\"all-models\",className:`bag-all-models-pro ${className}`,\"aria-label\":ariaLabel,\"aria-labelledby\":titleId,\"aria-describedby\":descId,\"data-framer-component\":\"MakeAllModelsCarousel\",style:{...style||{},[\"--bg\"]:BG_COLOR_CSS},itemScope:true,itemType:\"https://schema.org/CollectionPage\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"wrap\",style:{[\"--cols-d\"]:String(COLS_D),[\"--rows-d\"]:String(ROWS_D),[\"--cols-t\"]:String(COLS_T),[\"--rows-t\"]:String(ROWS_T),[\"--cols-m\"]:String(COLS_M),[\"--rows-m\"]:String(ROWS_M)},children:[status===\"loading\"&&/*#__PURE__*/_jsx(\"div\",{className:\"status\",children:\"Loading models…\"}),status===\"error\"&&/*#__PURE__*/_jsxs(\"div\",{className:\"error\",role:\"alert\",children:[/*#__PURE__*/_jsx(\"strong\",{children:\"Content unavailable.\"}),\" \",err]}),status===\"ready\"&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"header\",{className:\"head\",children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",width:\"100%\"},children:/*#__PURE__*/_jsxs(\"div\",{className:\"eyebrow\",children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"7\",cy:\"17\",r:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M9 17h6\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"17\",cy:\"17\",r:\"2\"})]}),/*#__PURE__*/_jsxs(\"span\",{children:[\"All \",makeName,\" Models\"]})]})}),/*#__PURE__*/_jsx(\"h2\",{id:titleId,itemProp:\"name\",children:heading}),/*#__PURE__*/_jsx(\"p\",{id:descId,className:\"lead\",itemProp:\"description\",children:paragraph}),/*#__PURE__*/_jsxs(\"div\",{className:\"toolbar\",children:[SHOW_SEARCH&&/*#__PURE__*/_jsxs(\"label\",{className:\"search\",children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m21 21-4.3-4.3\"})]}),/*#__PURE__*/_jsx(\"input\",{type:\"search\",placeholder:`Search ${makeName} models (e.g., Civic)`,\"aria-label\":\"Search models\",value:q,onChange:e=>{setQ(e.target.value);setPage(0);}})]}),ALLOW_VIEW_ALL&&filtered.length>PER_PAGE&&/*#__PURE__*/_jsxs(\"button\",{className:\"viewAll\",type:\"button\",onClick:()=>setViewAll(v=>!v),\"aria-pressed\":viewAll,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"rect\",{width:\"7\",height:\"7\",x:\"3\",y:\"3\",rx:\"1\"}),/*#__PURE__*/_jsx(\"rect\",{width:\"7\",height:\"7\",x:\"14\",y:\"3\",rx:\"1\"}),/*#__PURE__*/_jsx(\"rect\",{width:\"7\",height:\"7\",x:\"14\",y:\"14\",rx:\"1\"}),/*#__PURE__*/_jsx(\"rect\",{width:\"7\",height:\"7\",x:\"3\",y:\"14\",rx:\"1\"})]}),viewAll?\"Collapse\":`View all (${filtered.length})`]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"count\",\"aria-live\":\"polite\",children:[\"Showing \",/*#__PURE__*/_jsx(\"strong\",{children:filtered.length}),\" \",\"models\",!viewAll&&pageCount>1?/*#__PURE__*/_jsxs(_Fragment,{children:[\" \",\"• Page \",safePage+1,\" of \",pageCount]}):null]})]}),viewAll?/*#__PURE__*/_jsx(\"ul\",{className:\"allGrid\",children:filtered.map(m=>/*#__PURE__*/_jsx(\"li\",{className:\"card\",itemScope:true,itemType:\"https://schema.org/ListItem\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"cardInner\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"title\",children:m.model}),SHOW_BADGES&&/*#__PURE__*/_jsxs(\"div\",{className:\"badges\",role:\"group\",\"aria-label\":\"Services\",children:[m.windshield&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_WIND),\"aria-label\":`${m.model} Windshield Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Windshield Replacement\"]}),m.door&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_DOOR),\"aria-label\":`${m.model} Door Glass Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Door Glass Replacement\"]}),m.quarter&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_QUARTER),\"aria-label\":`${m.model} Quarter Panel Glass Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Quarter Panel Glass Replacement\"]}),m.rear&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_REAR),\"aria-label\":`${m.model} Rear Window Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Rear Window Replacement\"]}),m.sunroof&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_SUNROOF),\"aria-label\":`${m.model} Sunroof Glass Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Sunroof Glass Replacement\"]}),m.adas&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_ADAS),\"aria-label\":`${m.model} ADAS Calibration`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"ADAS Calibration\"]})]}),SHOW_VIEW_MODEL_BUTTON&&/*#__PURE__*/_jsxs(\"a\",{className:\"ghostBtn\",href:modelHref(m.slug),\"aria-label\":`View ${m.model} page`,children:[\"View model\",\" \",/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m12 5 7 7-7 7\"})]})]})]})},m.slug))}):/*#__PURE__*/_jsxs(\"div\",{className:\"carousel\",children:[/*#__PURE__*/_jsx(\"button\",{className:\"nav prev\",onClick:gotoPrev,\"aria-label\":\"Previous models page\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"m15 18-6-6 6-6\"})})}),/*#__PURE__*/_jsx(\"div\",{className:\"viewport\",children:/*#__PURE__*/_jsx(\"ul\",{className:\"track\",style:{[\"--page\"]:safePage},children:pages.map((chunk,i)=>/*#__PURE__*/_jsx(\"li\",{className:\"pane\",\"aria-hidden\":i!==safePage,children:/*#__PURE__*/_jsx(\"ul\",{className:\"grid\",children:chunk.map(m=>/*#__PURE__*/_jsx(\"li\",{className:\"card\",itemScope:true,itemType:\"https://schema.org/ListItem\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"cardInner\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"title\",children:m.model}),SHOW_BADGES&&/*#__PURE__*/_jsxs(\"div\",{className:\"badges\",role:\"group\",\"aria-label\":\"Services\",children:[m.windshield&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_WIND),\"aria-label\":`${m.model} Windshield Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Windshield Replacement\"]}),m.door&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_DOOR),\"aria-label\":`${m.model} Door Glass Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Door Glass Replacement\"]}),m.quarter&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_QUARTER),\"aria-label\":`${m.model} Quarter Panel Glass Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Quarter Panel Glass Replacement\"]}),m.rear&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_REAR),\"aria-label\":`${m.model} Rear Window Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Rear Window Replacement\"]}),m.sunroof&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_SUNROOF),\"aria-label\":`${m.model} Sunroof Glass Replacement`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"Sunroof Glass Replacement\"]}),m.adas&&/*#__PURE__*/_jsxs(\"a\",{className:\"chip link\",href:serviceHref(m.slug,SLUG_ADAS),\"aria-label\":`${m.model} ADAS Calibration`,children:[/*#__PURE__*/_jsxs(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",className:\"ok\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]}),\"ADAS Calibration\"]})]}),SHOW_VIEW_MODEL_BUTTON&&/*#__PURE__*/_jsxs(\"a\",{className:\"ghostBtn\",href:modelHref(m.slug),\"aria-label\":`View ${m.model} page`,children:[\"View model\",\" \",/*#__PURE__*/_jsxs(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M5 12h14\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m12 5 7 7-7 7\"})]})]})]})},m.slug))})},i))})}),/*#__PURE__*/_jsx(\"button\",{className:\"nav next\",onClick:gotoNext,\"aria-label\":\"Next models page\",children:/*#__PURE__*/_jsx(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"m9 18 6-6-6-6\"})})}),pageCount>1&&/*#__PURE__*/_jsx(\"div\",{className:\"dots\",role:\"tablist\",\"aria-label\":\"Model pages\",children:pages.map((_,i)=>/*#__PURE__*/_jsx(\"button\",{role:\"tab\",\"aria-selected\":i===safePage,className:`dot ${i===safePage?\"on\":\"\"}`,onClick:()=>setPage(i)},i))})]}),/*#__PURE__*/_jsx(\"div\",{className:\"seo-block\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"ul\",{className:\"seo-list\",children:filtered.map(m=>/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(\"a\",{href:modelHref(m.slug),children:m.model}),/*#__PURE__*/_jsxs(\"ul\",{children:[m.windshield&&/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:serviceHref(m.slug,SLUG_WIND),children:\"Windshield Replacement\"})}),m.door&&/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:serviceHref(m.slug,SLUG_DOOR),children:\"Door Glass Replacement\"})}),m.quarter&&/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:serviceHref(m.slug,SLUG_QUARTER),children:\"Quarter Panel Glass Replacement\"})}),m.rear&&/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:serviceHref(m.slug,SLUG_REAR),children:\"Rear Window Replacement\"})}),m.sunroof&&/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:serviceHref(m.slug,SLUG_SUNROOF),children:\"Sunroof Glass Replacement\"})}),m.adas&&/*#__PURE__*/_jsx(\"li\",{children:/*#__PURE__*/_jsx(\"a\",{href:serviceHref(m.slug,SLUG_ADAS),children:\"ADAS Calibration\"})})]})]},`seo-${m.slug}`))})}),EMIT_JSONLD&&filtered.length>0&&/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify({\"@context\":\"https://schema.org\",\"@type\":\"ItemList\",name:`All ${makeName} Models`,itemListElement:filtered.map((m,i)=>({\"@type\":\"ListItem\",position:i+1,name:m.model,url:`${SITE_BASE_URL.replace(/\\/+$/,\"\")}${modelHref(m.slug)}`}))})}})]})]})]});}/* ------------------------- Minimal Framer Controls ------------------------- */addPropertyControls(MakeAllModelsCarousel,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Anon Key\"},slug:{type:ControlType.String,title:\"Slug Override (optional)\"}});/* ------------------------- Styles (theme-aligned) ------------------------- */const css=/* css */`\n.bag-all-models-pro, .bag-all-models-pro * { box-sizing:border-box; }\n.bag-all-models-pro{\n  /* Map to theme tokens */\n  --bg: var(--color-bg);\n  --ink: var(--color-text);\n  --muted: var(--color-muted);\n  --ok: var(--color-accent);\n  --bd: var(--color-line);\n  --bd-2: var(--color-line-2);\n  --card: var(--color-surface-strong);\n  --card-hi: var(--color-surface);\n  --chip-bg: color-mix(in srgb, var(--color-accent) 14%, transparent);\n  --chip-bd: color-mix(in srgb, var(--color-accent) 45%, transparent);\n  --accent: var(--color-accent);\n\n  scroll-margin-top: 96px;\n\n  /* Use theme accent family for the glow background */\n  --bag-all-models-bg:\n    radial-gradient(75% 120% at 120% 0%, color-mix(in srgb, var(--neon) 64%, transparent) 0%, transparent 52%),\n    radial-gradient(75% 120% at -20% 0%, color-mix(in srgb, var(--neon-400) 62%, transparent) 0%, transparent 52%),\n    linear-gradient(180deg, #050708 0%, #0a0f11 56%, #0b1012 100%);\n\n  background: var(--bag-all-models-bg);\n  color: var(--ink);\n  padding: clamp(36px, 5vw, 56px) clamp(16px, 4vw, 28px);\n  border-bottom: 1px solid rgba(255,255,255,.06);\n}\n\n.bag-all-models-pro .wrap{ max-width:1280px; width:100%; margin:0 auto; }\n\n/* header — force white headings */\n.bag-all-models-pro .head{ max-width:980px; margin: 0 auto; text-align: center; color: var(--ink); }\n.bag-all-models-pro .eyebrow{\n  display:inline-flex; align-items:center; gap:8px;\n  font-weight:700; font-size:clamp(12px, 1.2vw, 13px); color:#f6f8f8;\n  background:rgba(255,255,255,.06); border:1px solid var(--bd); padding:5px 9px; border-radius:var(--radius-pill, 999px);\n}\n.bag-all-models-pro h2{ margin:10px 0 6px; font-size:clamp(22px, 3.1vw, 30px); font-weight:700; letter-spacing:-.04em; line-height:1.1; color:#f6f8f8; font-family:var(--font-display, inherit); }\n.bag-all-models-pro .lead{ color:var(--muted); margin:6px auto 12px; font-size:clamp(13.5px, 1.3vw, 15px); line-height:1.35; font-weight:500; letter-spacing:-.01em; max-width: 800px; font-family:var(--font-body, inherit); }\n\n/* toolbar */\n.bag-all-models-pro .toolbar{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:center; margin-top:16px; }\n.bag-all-models-pro .search{\n  display:flex; align-items:center; gap:8px; flex:1 1 360px; min-width:260px; max-width: 500px;\n  padding:10px 12px; border:1px solid var(--bd); border-radius:var(--radius-md, 12px);\n  background:rgba(255,255,255,.04);\n  backdrop-filter:saturate(120%) blur(8px);\n  box-shadow:var(--shadow-elev-1, 0 2px 8px rgba(0,0,0,.28)), inset 0 1px 0 rgba(255,255,255,.06);\n}\n.bag-all-models-pro .search input{ border:none; outline:none; font-size:14px; flex:1; color:var(--ink); background:transparent; font-weight:500; }\n.bag-all-models-pro .search input::placeholder{ color:rgba(201,208,215,.6); }\n.bag-all-models-pro .viewAll{\n  display:inline-flex; align-items:center; gap:8px; border:1px solid var(--bd);\n  background:rgba(255,255,255,.05);\n  padding:9px 12px; border-radius:var(--radius-md, 11px); cursor:pointer; font-weight:700; color:#f6f8f8;\n  backdrop-filter:saturate(120%) blur(6px);\n  box-shadow:var(--shadow-elev-1, 0 2px 8px rgba(0,0,0,.28)), inset 0 1px 0 rgba(255,255,255,.06);\n  font-size: 13.5px; letter-spacing:-.01em;\n}\n\n/* count */\n.bag-all-models-pro .count{ color: var(--muted); font-size: 13px; margin-top: 12px; text-align: center; font-weight: 500; }\n\n/* carousel */\n.bag-all-models-pro .carousel{ position:relative; margin-top:24px; padding-bottom:10px; }\n\n/* viewport — fully clips to avoid edge peeking */\n.bag-all-models-pro .viewport{\n  position:relative; overflow:hidden; isolation:isolate;\n}\n\n/* track/panes */\n.bag-all-models-pro .track{\n  list-style:none; padding:0; margin:0; display:flex;\n  transition:transform .38s cubic-bezier(.22,.61,.36,1);\n  transform: translate3d(calc(var(--page, 0) * -100%), 0, 0);\n  will-change: transform;\n}\n.bag-all-models-pro .pane{\n  width:100%; flex:0 0 100%; overflow:visible; contain: layout paint;\n}\n/* hide non-active panes (still occupy space so width calc is stable) */\n.bag-all-models-pro .pane[aria-hidden=\"true\"]{ visibility:hidden; }\n\n/* grid: desktop 4x2, tablet 2x4, mobile 2x4 */\n.bag-all-models-pro .grid{\n  list-style:none; padding:0; margin:0; display:grid; gap:12px; overflow:visible;\n  align-content:start; align-items:stretch;\n  grid-template-columns:repeat(var(--cols-m, 2), minmax(0,1fr));\n}\n@media(min-width:640px){ .bag-all-models-pro .grid{ grid-template-columns:repeat(var(--cols-t, 2), minmax(0,1fr)); } }\n@media(min-width:1100px){ .bag-all-models-pro .grid{ grid-template-columns:repeat(var(--cols-d, 4), minmax(0,1fr)); } }\n\n/* nav arrows (kept outside viewport clipping) */\n.bag-all-models-pro .nav{\n  position:absolute; top:50%; transform:translateY(-50%); z-index:3;\n  display:inline-flex; align-items:center; justify-content:center;\n  width:38px; height:38px; border-radius:var(--radius-pill, 999px); border:1px solid var(--bd);\n  background:rgba(255,255,255,.07); color:#f6f8f8; cursor:pointer;\n  box-shadow:0 3px 10px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);\n  backdrop-filter: blur(6px) saturate(120%);\n}\n.bag-all-models-pro .nav.prev{ left:-6px; }\n.bag-all-models-pro .nav.next{ right:-6px; }\n@media(max-width:640px){ .bag-all-models-pro .nav.prev{ left:-2px; } .bag-all-models-pro .nav.next{ right:-2px; } }\n\n/* \"view all\" grid */\n.bag-all-models-pro .allGrid{\n  list-style:none; padding:0; margin:24px 0 0; display:grid; gap:12px; overflow:visible;\n  grid-template-columns:repeat(2, minmax(0,1fr));\n}\n@media(min-width:640px){ .bag-all-models-pro .allGrid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }\n@media(min-width:900px){ .bag-all-models-pro .allGrid{ grid-template-columns:repeat(4, minmax(0,1fr)); } }\n@media(min-width:1200px){ .bag-all-models-pro .allGrid{ grid-template-columns:repeat(6, minmax(0,1fr)); } }\n\n/* cards — brighten on hover ONLY (no lift) & not clickable */\n.bag-all-models-pro .card{\n  display:flex;\n  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));\n  border:1px solid var(--bd);\n  border-radius:var(--radius-md, 12px); min-width:0; cursor:default;\n  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);\n  backdrop-filter: blur(6px) saturate(120%);\n  transition: background .2s ease, border-color .2s ease;\n}\n@media (hover:hover) and (pointer:fine) {\n  .bag-all-models-pro .card:hover {\n    background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.10));\n    border-color: color-mix(in hsl, var(--color-accent) 24%, rgba(255,255,255,.25));\n  }\n}\n\n/* compact inner & bottom-aligned CTA */\n.bag-all-models-pro .cardInner{ display:flex; flex-direction:column; gap:8px; padding:14px 14px; width:100%; min-height:100%; }\n.bag-all-models-pro .title{ color:#f6f8f8; font-weight:700; letter-spacing:-.015em; font-size:clamp(15px, 1.5vw, 17px); line-height:1.2; }\n\n/* ghost button */\n.bag-all-models-pro .ghostBtn{\n  display:inline-flex; align-items:center; gap:8px;\n  margin-top:auto; /* pushes to bottom */\n  padding:8px 10px; border:1px solid var(--bd);\n  background:rgba(255,255,255,.05); border-radius:var(--radius-lg, 10px); font-weight:700; \n  font-size:13px; color:#f6f8f8; \n  box-shadow:var(--shadow-elev-2, 0 8px 18px rgba(0,0,0,.3)), inset 0 1px 0 rgba(255,255,255,.06);\n  text-decoration:none; cursor:pointer;\n}\n\n/* service chips — single line; slight brightening on hover/focus */\n.bag-all-models-pro .badges{ display:flex; flex-direction:column; gap:6px; margin-top:2px; }\n.bag-all-models-pro .chip{\n  display:inline-flex; align-items:center; gap:6px;\n  font-size:11.5px; padding:5px 9px; border-radius:var(--radius-pill, 999px);\n  background:var(--chip-bg); color:#f6f8f8; border:1px solid var(--chip-bd);\n  font-weight:600; text-decoration:none;\n  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;\n  cursor:pointer; transition: background .15s ease, border-color .15s ease;\n}\n.bag-all-models-pro .chip:hover,\n.bag-all-models-pro .chip:focus-visible{\n  background: color-mix(in srgb, var(--color-accent) 22%, transparent);\n  border-color: color-mix(in srgb, var(--color-accent) 65%, transparent);\n  outline: none;\n}\n.bag-all-models-pro .ok{ color: var(--ok); }\n\n/* dots */\n.bag-all-models-pro .dots{ display:flex; gap:8px; justify-content:center; margin-top:12px; }\n.bag-all-models-pro .dot{ width:8px; height:8px; border-radius:999px; border:1px solid var(--bd); background:rgba(255,255,255,.2); cursor:pointer; }\n.bag-all-models-pro .dot.on{ background:var(--accent); border-color:var(--accent); }\n\n/* states */\n.bag-all-models-pro .status{ color:var(--muted); padding:10px 0; text-align:center; font-weight:500; }\n.bag-all-models-pro .error{\n  border:1px solid #F59E0B; background:rgba(245,158,11,.12); color:#FFEDD5;\n  padding:14px; border-radius:var(--radius-md, 10px); margin:12px auto; max-width: 600px; font-weight:500;\n}\n\n/* hidden SEO block */\n.bag-all-models-pro .seo-block{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }\n.bag-all-models-pro .seo-list{ list-style:none; padding:0; margin:0; }\n\n/* motion respect */\n@media (prefers-reduced-motion: reduce) {\n  .bag-all-models-pro .track{ transition:none; }\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MakeAllModelsCarousel\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsAllModels.map","// ModelsBlog.tsx — Jitter-free, 2x5 on tablet & mobile, Supabase-powered, with #blogs anchor\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useRef,useState,useId}from\"react\";import{motion,AnimatePresence}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";/**\n * @framerIntrinsicWidth 1280\n * @framerIntrinsicHeight 800\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ModelBlogSection(props){const{heading=\"Latest Articles\",paragraph=\"Explore our latest insights, tutorials, and industry news\",viewAllLabel=\"View All\",searchPlaceholder=\"Search articles...\",blogs,headingFont={fontSize:\"40px\",fontWeight:700,letterSpacing:\"-0.04em\",lineHeight:\"1em\"},paragraphFont={fontSize:\"15px\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},cardTitleFont={fontSize:\"22px\",fontWeight:600,letterSpacing:\"-0.01em\",lineHeight:\"1.2em\"},cardDescFont={fontSize:\"15px\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},// Theme-aligned defaults (use CSS tokens; instances can override)\nbackgroundColor=\"var(--color-bg)\",textColor=\"var(--color-text)\",mutedColor=\"var(--color-muted)\",accentColor=\"var(--color-accent)\",searchBg=\"var(--color-surface)\",cardBg=\"var(--color-surface)\",style,supabaseUrl,supabaseKey,modelOverride}=props;// ---------- Helpers ----------\nconst isUUID=v=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(v.trim());const toTitle=slugish=>slugish.split(/[-_]/g).filter(Boolean).map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join(\" \");// Rewrite legacy service URLs to new /services/{make-model-service}\nconst rewriteLegacyServiceUrls=text=>{if(!text)return text;// Handle both absolute and relative URLs\n// e.g., /auto-glass/honda/accord/windshield-replacement → /services/honda-accord-windshield-replacement\n//       https://bangautoglass.com/auto-glass/honda/accord/windshield-replacement → /services/honda-accord-windshield-replacement\nreturn text.replace(/(?:https?:\\/\\/(?:www\\.)?bangautoglass\\.com)?\\/auto-glass\\/([a-z0-9-]+)\\/([a-z0-9-]+)\\/([a-z0-9-]+)/gi,(_m,make,model,svc)=>`/services/${make}-${model}-${svc}`);};// Deterministic RNG so canvas == preview/live\nconst hashString=s=>{let h=1779033703^s.length;for(let i=0;i<s.length;i++){h=Math.imul(h^s.charCodeAt(i),3432918353);h=h<<13|h>>>19;}return h>>>0||1;};const mulberry32=seed=>()=>{let t=seed+=1831565813;t=Math.imul(t^t>>>15,t|1);t^=t+Math.imul(t^t>>>7,t|61);return((t^t>>>14)>>>0)/4294967296;};const deterministicSample=(arr,count,seedStr)=>{const seed=hashString(seedStr);const rand=mulberry32(seed);const a=[...arr];for(let i=a.length-1;i>0;i--){const j=Math.floor(rand()*(i+1));[a[i],a[j]]=[a[j],a[i]];}return a.slice(0,count);};/** Extract { make, model } from /auto-glass/{make}/{model}, with override support. */const extractMakeModelFromLocation=()=>{// Model override accepts \"make/model\" or just \"model\"\nif(modelOverride&&modelOverride.trim()){const raw=modelOverride.trim().toLowerCase();const match=raw.match(/^(?:\\s*([a-z0-9-]+)\\s*[\\/|]\\s*)?([a-z0-9-]+)\\s*$/);if(match){const[,makePart,modelPart]=match;return{make:makePart||null,model:modelPart||(makePart?null:raw)||null};}return{make:null,model:raw};}if(typeof window===\"undefined\")return{make:null,model:null};const path=window.location?.pathname||\"\";// /auto-glass/{make}/{model}\nconst segs=path.split(\"/\").filter(Boolean);const idx=segs.indexOf(\"auto-glass\");if(idx>=0&&segs[idx+1]&&segs[idx+2]){return{make:decodeURIComponent(segs[idx+1]).toLowerCase(),model:decodeURIComponent(segs[idx+2]).toLowerCase()};}// Fallback: querystring ?make=&model=\nconst qs=new URLSearchParams(window.location.search);const make=qs.get(\"make\");const model=qs.get(\"model\");return{make:make?make.toLowerCase():null,model:model?model.toLowerCase():null};};// ---------- Domain gate (canvas-friendly) ----------\nconst isLiveDomain=useMemo(()=>{if(typeof window===\"undefined\")return false;const host=window.location.hostname.toLowerCase();// Only fetch on the main domain (and subdomains if any)\nreturn/(^|\\.)bangautoglass\\.com$/.test(host);},[]);// ---------- Default content (canvas-first) ----------\nconst defaultBlogs=useMemo(()=>Array.from({length:30},(_,i)=>({image:{src:[\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\"][i%5],alt:`Blog post ${i+1}`},title:`Blog Post ${i+1}: Modern Web Development`,description:\"Discover insights and best practices for modern web development and design. Learn about the latest trends and techniques.\"})),[]);// ---------- Search ----------\nconst[searchQuery,setSearchQuery]=useState(\"\");const[showSearchResults,setShowSearchResults]=useState(false);const searchRef=useRef(null);useEffect(()=>{if(typeof window===\"undefined\")return;const onClick=e=>{if(searchRef.current&&!searchRef.current.contains(e.target)){setShowSearchResults(false);}};document.addEventListener(\"mousedown\",onClick);return()=>document.removeEventListener(\"mousedown\",onClick);},[]);// ---------- Slug + Supabase fetch ----------\nconst[{make:resolvedMake,model:resolvedModel},setResolved]=useState({make:null,model:null});const[dbHeading,setDbHeading]=useState(null);const[dbParagraph,setDbParagraph]=useState(null);const[fetchedBlogs,setFetchedBlogs]=useState(null);const[currentPage,setCurrentPage]=useState(0);// Exactly 10 items per page → 2 columns × 5 rows on tablet & mobile\nconst itemsPerPage=10;useEffect(()=>{setResolved(extractMakeModelFromLocation());},[modelOverride]);// Only create a Supabase client on live domain to avoid canvas slowdown\nconst supabase=useMemo(()=>{if(!isLiveDomain)return null;if(!supabaseUrl||!supabaseKey)return null;try{return createClient(supabaseUrl,supabaseKey);}catch{return null;}},[supabaseUrl,supabaseKey,isLiveDomain]);const fetchGuardRef=useRef(0);useEffect(()=>{let cancelled=false;const id=++fetchGuardRef.current;// Gate fetching strictly to live domain\nconst shouldFetch=isLiveDomain&&!!supabase&&!!resolvedMake&&!!resolvedModel;if(!shouldFetch){// Ensure canvas shows defaults instantly\nsetFetchedBlogs(null);setDbHeading(null);setDbParagraph(null);return;}const fetchData=async(makeSlug,modelSlug)=>{if(!supabase)return;const selectCols=\"id, slug, make, model, blog_heading, blog_paragraph, blog_1, blog_2, blog_3, blog_4, blog_5, blog_6, blog_7, blog_8, blog_9, blog_10\";// ---- Optimized: single OR query for the model row (reduces round-trips)\n// Matches:\n// 1) slug=modelSlug & make=Title(make)\n// 2) slug=modelSlug\n// 3) model=Title(modelSlug) & make=Title(make)\n// 4) model=Title(modelSlug)\nconst tMake=toTitle(makeSlug);const tModel=toTitle(modelSlug);const{data:modelRow}=await supabase.from(\"models\").select(selectCols).or([`and(slug.eq.${modelSlug},make.eq.${tMake})`,`slug.eq.${modelSlug}`,`and(model.eq.${tModel},make.eq.${tMake})`,`model.eq.${tModel}`].join(\",\")).limit(1).maybeSingle();if(!modelRow)return;if(!cancelled&&fetchGuardRef.current===id){if(modelRow.blog_heading)setDbHeading(modelRow.blog_heading);if(modelRow.blog_paragraph)setDbParagraph(modelRow.blog_paragraph);}const selectedRaw=[modelRow.blog_1,modelRow.blog_2,modelRow.blog_3,modelRow.blog_4,modelRow.blog_5,modelRow.blog_6,modelRow.blog_7,modelRow.blog_8,modelRow.blog_9,modelRow.blog_10].filter(Boolean);// Pull explicit selections first\nlet selectedRows=[];if(selectedRaw.length>0){const{data:selBySlug}=await supabase.from(\"blogs\").select(\"id, slug, title, name, heading, description, excerpt, summary, image_url, image, cover, alt, make_slug, make, makes_id, created_at\").in(\"slug\",selectedRaw);selectedRows=selBySlug||[];// Fill by UUIDs if some selections were IDs\nconst missing=selectedRaw.filter(s=>!selectedRows.some(r=>r.slug===s));const uuidMissing=missing.filter(isUUID);if(uuidMissing.length>0){const{data:selById}=await supabase.from(\"blogs\").select(\"id, slug, title, name, heading, description, excerpt, summary, image_url, image, cover, alt, make_slug, make, makes_id, created_at\").in(\"id\",uuidMissing);if(selById?.length){selectedRows=[...selectedRows,...selById.filter(row=>!selectedRows.some(r=>r.id===row.id||r.slug===row.slug))];}}}const selectedSlugs=selectedRows.map(r=>r.slug).filter(Boolean);// ---- Optimized: single union query for the pools using OR\nconst{data:poolCombinedRaw}=await supabase.from(\"blogs\").select(\"id, slug, title, name, heading, description, excerpt, summary, image_url, image, cover, alt, make_slug, make, makes_id, created_at\").or([`make_slug.eq.${makeSlug}`,`make.eq.${tMake}`,`title.ilike.%${tModel}%`,`name.ilike.%${tModel}%`,`heading.ilike.%${tModel}%`].join(\",\")).limit(200);const poolCombined=(poolCombinedRaw||[]).filter(row=>!selectedSlugs.includes(row.slug))??[];// Deterministic 20\nconst randomTwenty=deterministicSample(poolCombined,20,`${makeSlug}/${modelSlug}|${selectedSlugs.join(\",\")}`);// Keep selected order as given\nconst selectedOrdered=selectedRaw.map(idOrSlug=>selectedRows.find(r=>r.slug===idOrSlug)||selectedRows.find(r=>r.id===idOrSlug)).filter(Boolean);const toPost=(row,idx)=>{const imageSrc=row?.image_url||row?.image||row?.cover||defaultBlogs[idx%defaultBlogs.length].image.src;const title=row?.title||row?.name||row?.heading||(row?.slug?toTitle(row.slug):`Blog ${idx+1}`);const descriptionRaw=row?.excerpt||row?.summary||row?.description||\"Explore insights tailored to your vehicle.\";const description=rewriteLegacyServiceUrls(descriptionRaw);const alt=row?.alt||title;return{image:{src:imageSrc,alt},title,description};};const finalList=[...selectedOrdered.map(toPost),...randomTwenty.map(toPost)].slice(0,itemsPerPage*3);if(!cancelled&&fetchGuardRef.current===id){setFetchedBlogs(finalList.length>0?finalList:null);setCurrentPage(0);}};if(resolvedMake&&resolvedModel&&supabase){fetchData(resolvedMake,resolvedModel);}return()=>{cancelled=true;};},[resolvedMake,resolvedModel,supabase,defaultBlogs,isLiveDomain]);// ---------- Data precedence ----------\nconst allBlogs=fetchedBlogs||blogs||defaultBlogs;const finalHeading=dbHeading??heading;const finalParagraph=dbParagraph??paragraph;// ---------- Search + Pagination (10 per page) ----------\nconst[paginatedBlogs,totalPages,filteredBlogs]=useMemo(()=>{const filtered=searchQuery.trim()?allBlogs.filter(b=>b.title?.toLowerCase().includes(searchQuery.toLowerCase())):[];const total=Math.max(1,Math.ceil(allBlogs.length/itemsPerPage));const safePage=Math.min(currentPage,total-1);const start=safePage*itemsPerPage;return[allBlogs.slice(start,start+itemsPerPage),total,filtered];},[allBlogs,currentPage,searchQuery]);const handlePrev=()=>setCurrentPage(p=>Math.max(0,p-1));const handleNext=()=>setCurrentPage(p=>Math.min(totalPages-1,p+1));const onSearch=e=>{const v=e.target.value;setSearchQuery(v);setShowSearchResults(v.trim().length>0);};// ---------- CSS (container queries; enforce 2 columns on tablet & mobile) ----------\nconst scope=useId().replace(/:/g,\"\");const css=`\n    /* The container – gives us the query context */\n    [data-mbs=\"${scope}\"].mbs-container {\n      container-type: inline-size;\n      container-name: mbs;\n      contain: layout paint;\n      background: transparent;\n    }\n\n    /* Defaults live on a DESCENDANT of the container (so @container can affect them) */\n    [data-mbs=\"${scope}\"] .mbs-scope {\n      --pad-block: 100px;\n      --pad-inline: 40px;\n      --gap: 24px;\n      --cards: 5;        /* desktop default: 5 columns */\n      --card-pad: 20px;\n      --maxw: 1280px;\n      --smt: 96px;       /* default scroll-margin-top for the #blogs anchor */\n    }\n\n    /* Tablet: 768–1023px → exactly 2 columns */\n    @container mbs (min-width: 768px) and (max-width: 1023px) {\n      [data-mbs=\"${scope}\"] .mbs-scope {\n        --pad-block: 80px;\n        --pad-inline: 40px;\n        --gap: 24px;\n        --cards: 2;      /* enforce 2 columns on tablet */\n        --card-pad: 20px;\n        --smt: 84px;\n      }\n    }\n\n    /* Mobile: <768px → exactly 2 columns */\n    @container mbs (max-width: 767px) {\n      [data-mbs=\"${scope}\"] .mbs-scope {\n        --pad-block: 60px;\n        --pad-inline: 20px;\n        --gap: 20px;\n        --cards: 2;      /* enforce 2 columns on mobile */\n        --card-pad: 16px;\n        --smt: 72px;\n      }\n    }\n\n    [data-mbs=\"${scope}\"] .mbs-outer {\n      width: 100%;\n      display: flex;\n      justify-content: center;\n      box-sizing: border-box;\n      padding: var(--pad-block) var(--pad-inline);\n    }\n\n    [data-mbs=\"${scope}\"] .mbs-inner {\n      width: 100%;\n      max-width: var(--maxw);\n      margin: 0 auto;\n    }\n\n    [data-mbs=\"${scope}\"] .mbs-grid {\n      display: grid;\n      grid-template-columns: repeat(var(--cards), minmax(0, 1fr));\n      gap: var(--gap);\n      margin-bottom: 32px;\n    }\n\n    /* Invisible anchor that honors sticky headers when scrolled-to */\n    [data-mbs=\"${scope}\"] .mbs-anchor {\n      position: relative;\n      height: 0;          /* no visual impact */\n      overflow: visible;\n      scroll-margin-top: var(--smt);\n    }\n  `;// ---------- Render ----------\nreturn /*#__PURE__*/_jsxs(\"div\",{\"data-mbs\":scope,className:\"mbs-container\",\"aria-label\":\"Blog articles section\",style:{width:\"100%\",backgroundColor,...style},children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"mbs-scope\",children:[/*#__PURE__*/_jsx(\"div\",{id:\"blogs\",className:\"mbs-anchor\"}),/*#__PURE__*/_jsx(\"div\",{className:\"mbs-outer\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"mbs-inner\",children:[/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:48,textAlign:\"center\"},children:[/*#__PURE__*/_jsx(\"h2\",{style:{...headingFont,color:textColor,margin:0,marginBottom:16},children:finalHeading}),/*#__PURE__*/_jsx(\"p\",{style:{...paragraphFont,color:mutedColor,margin:0,maxWidth:600,marginLeft:\"auto\",marginRight:\"auto\"},children:finalParagraph})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:16,marginBottom:40,alignItems:\"center\"},children:[/*#__PURE__*/_jsxs(\"div\",{ref:searchRef,style:{flex:1,position:\"relative\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:searchPlaceholder,value:searchQuery,onChange:onSearch,onFocus:()=>searchQuery.trim()&&setShowSearchResults(true),\"aria-label\":\"Search articles\",style:{width:\"100%\",padding:\"12px 16px\",backgroundColor:searchBg,border:\"1px solid var(--color-line)\",borderRadius:\"var(--radius-lg)\",color:textColor,fontSize:15,outline:\"none\",boxSizing:\"border-box\"}}),/*#__PURE__*/_jsx(AnimatePresence,{initial:false,children:showSearchResults&&filteredBlogs.length>0&&/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2},style:{position:\"absolute\",top:\"calc(100% + 8px)\",left:0,right:0,backgroundColor:cardBg,border:\"1px solid var(--color-line)\",borderRadius:\"var(--radius-lg)\",maxHeight:300,overflowY:\"auto\",zIndex:10,boxShadow:\"var(--shadow-elev-1)\"},children:filteredBlogs.map((blog,idx)=>/*#__PURE__*/_jsxs(motion.div,{whileHover:{backgroundColor:\"var(--color-surface)\"},style:{padding:\"12px 16px\",borderBottom:idx<filteredBlogs.length-1?\"1px solid var(--color-line)\":\"none\",cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...cardTitleFont,color:textColor,fontSize:14,marginBottom:4},children:blog.title}),/*#__PURE__*/_jsx(\"div\",{style:{...cardDescFont,color:mutedColor,fontSize:12,overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"},children:blog.description})]},idx))})})]}),/*#__PURE__*/_jsx(motion.a,{href:\"/blog\",whileHover:{y:-2,boxShadow:\"var(--shadow-cta)\"},\"aria-label\":\"View all blog posts\",style:{padding:\"12px 24px\",background:\"linear-gradient(90deg, var(--cta-a), var(--cta-b))\",color:\"#040607\",borderRadius:\"var(--radius-button)\",textDecoration:\"none\",fontSize:15,fontWeight:600,whiteSpace:\"nowrap\",display:\"inline-block\",textAlign:\"center\"},children:viewAllLabel})]}),/*#__PURE__*/_jsx(\"div\",{className:\"mbs-grid\",children:paginatedBlogs.map((blog,idx)=>{const blogImage=blog?.image||{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Blog post\"};const blogTitle=blog?.title||\"Untitled Post\";const blogDescription=rewriteLegacyServiceUrls(blog?.description||\"No description available\");return /*#__PURE__*/_jsxs(motion.div,{initial:false,whileHover:{y:-4,boxShadow:\"var(--shadow-card)\"},style:{backgroundColor:cardBg,borderRadius:\"var(--radius-2xl)\",overflow:\"hidden\",border:\"1px solid var(--color-line)\",cursor:\"pointer\",willChange:\"transform\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",paddingTop:\"100%\",position:\"relative\",backgroundColor:\"var(--color-surface-strong)\"},children:/*#__PURE__*/_jsx(\"img\",{src:blogImage.src,alt:blogImage.alt,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",objectFit:\"cover\"}})}),/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"var(--card-pad)\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...cardTitleFont,color:textColor,margin:0,marginBottom:8},children:blogTitle}),/*#__PURE__*/_jsx(\"p\",{style:{...cardDescFont,color:mutedColor,margin:0,display:\"-webkit-box\",WebkitLineClamp:3,WebkitBoxOrient:\"vertical\",overflow:\"hidden\"},children:blogDescription})]})]},`${currentPage}-${idx}`);})}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",gap:16},children:[/*#__PURE__*/_jsx(motion.button,{onClick:handlePrev,disabled:currentPage===0,whileHover:currentPage===0?{}:{scale:1.05,backgroundColor:\"var(--color-surface)\"},\"aria-label\":\"Previous page\",style:{width:40,height:40,borderRadius:\"50%\",border:\"1px solid var(--color-line-2)\",backgroundColor:cardBg,color:textColor,cursor:currentPage===0?\"not-allowed\":\"pointer\",opacity:currentPage===0?.4:1,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M15 18l-6-6 6-6\"})})}),/*#__PURE__*/_jsxs(\"span\",{style:{color:mutedColor,fontSize:14},\"aria-live\":\"polite\",children:[currentPage+1,\" / \",totalPages]}),/*#__PURE__*/_jsx(motion.button,{onClick:handleNext,disabled:currentPage===totalPages-1,whileHover:currentPage===totalPages-1?{}:{scale:1.05,backgroundColor:\"var(--color-surface)\"},\"aria-label\":\"Next page\",style:{width:40,height:40,borderRadius:\"50%\",border:\"1px solid var(--color-line-2)\",backgroundColor:cardBg,color:textColor,cursor:currentPage===totalPages-1?\"not-allowed\":\"pointer\",opacity:currentPage===totalPages-1?.4:1,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M9 18l6-6-6-6\"})})})]})]})})]})]});}// Minimal property controls: Supabase + Model override\naddPropertyControls(ModelBlogSection,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\",placeholder:\"https://YOUR-PROJECT.supabase.co\"},supabaseKey:{type:ControlType.String,title:\"Supabase Key\",placeholder:\"Public anon key\"},modelOverride:{type:ControlType.String,title:\"Preview Model\",placeholder:\"e.g. toyota/camry or camry\"}});ModelBlogSection.defaultProps={height:800,width:1280,heading:\"Latest Articles\",paragraph:\"Explore our latest insights, tutorials, and industry news\",viewAllLabel:\"View All\",searchPlaceholder:\"Search articles...\",backgroundColor:\"var(--color-bg)\",textColor:\"var(--color-text)\",mutedColor:\"var(--color-muted)\",accentColor:\"var(--color-accent)\",searchBg:\"var(--color-surface)\",cardBg:\"var(--color-surface)\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelBlogSection\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"800\",\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"1280\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsBlog.map","// ModelsCost.tsx — Supabase-bound, slug-aware, 2x2 on tablet & mobile\n// Targets public.models (model-level content)\n// Anchor-ready for TOC: id=\"cost-factors\" (+ scroll-margin-top)\n\"use client\";import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";/* ---------- Utils ---------- */function toTitle(input){if(!input)return\"\";return input.replace(/[-_]/g,\" \").replace(/\\b\\w/g,m=>m.toUpperCase()).trim();}/** Rewrite old service URLs to new `/services/{full_service}` format. */function rewriteServiceUrls(input){if(!input)return input??undefined;// Matches optional domain + /auto-glass/{make}/{model}/{service}\nconst re=/(https?:\\/\\/(?:www\\.)?bangautoglass\\.com)?\\/auto-glass\\/([^\\/\\s]+)\\/([^\\/\\s]+)\\/([^\\/\\s#?]+)(?=[\\/#?]|\\b|$)/gi;return input.replace(re,(_m,domain,make,model,service)=>{const full=`${make}-${model}-${service}`.toLowerCase();return domain?`https://bangautoglass.com/services/${full}`:`/services/${full}`;});}function withTokens(input,makeName,modelName){if(!input)return input??undefined;const mk=(makeName||\"your\").trim();const mdl=(modelName||\"your\").trim();const out=input.replace(/\\{\\s*make\\s*\\}/gi,mk).replace(/\\{\\s*model\\s*\\}/gi,mdl);return rewriteServiceUrls(out);}/** First letter uppercased, all others lowercased */function sentenceCaseStrict(str){if(!str)return str??\"\";const s=str.trim();if(!s)return s;return s.charAt(0).toUpperCase()+s.slice(1).toLowerCase();}/** Resolve make & model slugs from URL paths like:\n *  /auto-glass/{make}/{model}\n *  /auto-glass/{make}/models/{model}\n */function getMakeAndModelFromPath(){if(typeof window===\"undefined\")return{};const parts=window.location?.pathname?.split(\"/\").filter(Boolean)||[];const idx=parts.findIndex(p=>p.toLowerCase()===\"auto-glass\");if(idx<0)return{};const makeSlug=parts[idx+1]?decodeURIComponent(parts[idx+1]).toLowerCase():undefined;let modelSlug;if(parts[idx+2]){const seg=parts[idx+2].toLowerCase();if(seg===\"models\"&&parts[idx+3]){modelSlug=decodeURIComponent(parts[idx+3]).toLowerCase();}else{modelSlug=decodeURIComponent(parts[idx+2]).toLowerCase();}}return{makeSlug,modelSlug};}/** Domain gate: only fetch live data on bangautoglass.com */function isBangAutoGlassHost(){if(typeof window===\"undefined\")return false;try{const host=window.location.hostname.toLowerCase();return host===\"bangautoglass.com\"||host.endsWith(\".bangautoglass.com\");}catch{return false;}}/** Lightweight session cache to speed up repeated lookups */function readCache(key){if(typeof window===\"undefined\")return null;try{const v=window.sessionStorage.getItem(key);return v?JSON.parse(v):null;}catch{return null;}}function writeCache(key,value){if(typeof window===\"undefined\"||!value)return;try{window.sessionStorage.setItem(key,JSON.stringify(value));}catch{}}export default function ModelsCost(props){const{supabaseUrl,supabaseKey,slugOverride,style}=props;const[row,setRow]=useState(null);const[loading,setLoading]=useState(false);const[error,setError]=useState(null);const{makeSlug:urlMakeSlug,modelSlug:urlModelSlug}=useMemo(getMakeAndModelFromPath,[]);const modelSlug=useMemo(()=>{const override=slugOverride?.trim().toLowerCase();return(override||urlModelSlug)?.toLowerCase();},[slugOverride,urlModelSlug]);const supabase=useMemo(()=>{if(!supabaseUrl||!supabaseKey)return null;return createClient(supabaseUrl,supabaseKey);},[supabaseUrl,supabaseKey]);const shouldFetch=useMemo(()=>isBangAutoGlassHost(),[]);useEffect(()=>{let alive=true;async function run(){// Gate network calls to live domain only; show defaults in Framer canvas or elsewhere\nif(!shouldFetch||!supabase||!modelSlug)return;const cacheKey=`models:${modelSlug}`;const cached=readCache(cacheKey);if(cached&&alive)setRow(cached);setLoading(true);setError(null);try{const columns=\"slug,model,make,cost_factors_aria_label,cost_factors_heading,cost_factors_paragraph,costfactor_infoheading1,costfactor_infoheading2,costfactor_infoheading3,costfactor_infoheading4,costfactor_infoparagraph1,costfactor_infoparagraph2,costfactor_infoparagraph3,costfactor_infoparagraph4\";// Prefer exact equality (fast, index-friendly) and fall back to ilike if needed\nlet{data,error:qErr}=await supabase.from(\"models\").select(columns).eq(\"slug\",modelSlug).limit(1).maybeSingle();if(!data){const res2=await supabase.from(\"models\").select(columns).ilike(\"slug\",modelSlug).limit(1).maybeSingle();data=res2.data;qErr=qErr??res2.error;}if(!alive)return;if(qErr)throw qErr;setRow(data??null);if(data)writeCache(cacheKey,data);}catch(e){if(!alive)return;setError(e?.message||\"Failed to load cost factors.\");}finally{if(alive)setLoading(false);}}run();return()=>{alive=false;};},[supabase,modelSlug,shouldFetch]);const makeName=row?.make||(urlMakeSlug?toTitle(urlMakeSlug):undefined);const modelName=row?.model||(modelSlug?toTitle(modelSlug):undefined);// Content + token replacement (with service-link rewrites)\nconst ariaLabel=withTokens(row?.cost_factors_aria_label,makeName,modelName)||\"Windshield cost factors\";const rawHeading=withTokens(row?.cost_factors_heading,makeName,modelName)||\"What affects the cost of windshield replacement?\";const heading=sentenceCaseStrict(rawHeading);const paragraph=withTokens(row?.cost_factors_paragraph,makeName,modelName)||\"Several factors influence the total cost of replacing your windshield, including your vehicle’s make and model, any advanced features like ADAS or heating elements, the glass type, and regional labor rates. Using OEM-quality components and required calibrations can also affect the final work order.\";const items=[{h:withTokens(row?.costfactor_infoheading1,makeName,modelName)||\"Vehicle make and model\",p:withTokens(row?.costfactor_infoparagraph1,makeName,modelName)||\"Different vehicles require specific windshield shapes, sensors, and trims, which can impact complexity.\"},{h:withTokens(row?.costfactor_infoheading2,makeName,modelName)||\"Glass type and spec\",p:withTokens(row?.costfactor_infoparagraph2,makeName,modelName)||\"OEM-quality specifications and special interlayers or acoustic glass may change parts availability and cost.\"},{h:withTokens(row?.costfactor_infoheading3,makeName,modelName)||\"Advanced features (ADAS, sensors, heating)\",p:withTokens(row?.costfactor_infoparagraph3,makeName,modelName)||\"Cameras and sensors often require compatible glass and post-install calibration, adding time and steps.\"},{h:withTokens(row?.costfactor_infoheading4,makeName,modelName)||\"Location and labor\",p:withTokens(row?.costfactor_infoparagraph4,makeName,modelName)||\"Labor rates, drive times, and regional market conditions can influence the overall service cost.\"}];/* ---------- Layout & Typography (light-themed using tokens) ---------- */const sectionStyle={...style||{},boxSizing:\"border-box\",width:\"100%\",display:\"block\",background:\"var(--cost-bg, #ffffff)\",border:\"0\",borderBottom:\"0\",scrollMarginTop:\"96px\"};const innerStyle={maxWidth:1280,margin:\"0 auto\",padding:\"48px var(--container-pad-x)\",border:\"0\",borderBottom:\"0\"};const h2Style={margin:0,fontFamily:'Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\"',fontWeight:800,lineHeight:1.15,letterSpacing:\"-0.02em\",color:\"var(--cost-h2, #101410)\",fontSize:\"clamp(24px, 3.2vw, 38px)\"};const h3Style={gridArea:\"title\",margin:0,minWidth:0,fontFamily:'Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\"',fontWeight:700,fontSize:18,lineHeight:1.3,letterSpacing:\"-0.01em\",color:\"var(--cost-h3, #101410)\",wordBreak:\"break-word\",overflowWrap:\"anywhere\"};const pStyle={gridArea:\"body\",margin:0,minWidth:0,fontFamily:'Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\"',fontSize:15.5,lineHeight:1.55,color:\"var(--cost-text, #3a4a3b)\",wordBreak:\"break-word\",overflowWrap:\"anywhere\"};// Move grid definitions to CSS so breakpoints can adjust them reliably\nconst cardStyle={display:\"grid\",gap:10,padding:\"16px 16px\",borderRadius:12,background:\"#ffffff\",border:\"1px solid var(--color-line, rgba(0,0,0,.12))\",boxShadow:\"var(--shadow-card, 0 8px 22px rgba(0,0,0,.08))\",alignItems:\"start\"};const iconWrap={gridArea:\"icon\",alignSelf:\"start\",width:34,height:34,minWidth:34,borderRadius:\"50%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"var(--color-accent, var(--neon))\",boxShadow:\"var(--shadow-cta, 0 8px 22px rgba(57,255,20,.28))\"};const css=`\n  /* Scope light-theme tokens to this section, without changing global theme */\n  .wcf-wrap {\n    /* Light-mode aliases from Theme.tsx */\n    --cost-bg:#ffffff;                 /* Hard white background as requested */\n    --cost-h2:#101410;                 /* light mode --text */\n    --cost-h3:#101410;                 /* light mode --text */\n    --cost-text:#3a4a3b;               /* light mode --muted */\n\n    /* Also remap structured aliases for this subtree */\n    --color-bg:#ffffff;\n    --color-text:#101410;\n    --color-muted:#3a4a3b;\n    --color-surface:#ffffff;\n    --color-surface-strong:rgba(0,0,0,.04);\n    --color-line:rgba(0,0,0,.12);\n    --color-line-2:rgba(0,0,0,.18);\n    --color-accent:var(--cta-a);       /* neon accent from theme */\n    --color-accent-2:var(--cta-b);\n\n    /* Softer, neutral card shadow for light surfaces */\n    --shadow-card:0 8px 22px rgba(0,0,0,.08);\n\n    border-bottom: 0 !important;\n    border: 0 !important;\n    box-shadow: none !important;\n    background: var(--cost-bg);\n  }\n  .wcf-wrap::after, .wcf-wrap::before { content: none !important; }\n  .wcf-inner { max-width:1280px; border: 0 !important; }\n\n  .wcf-lead {\n    margin: 16px 0 0 0;\n    max-width: 760px;\n    font-family: Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\";\n    font-size: 16px;\n    line-height: 1.5;\n    font-weight: 400;\n    letter-spacing: -0.005em;\n    color: var(--cost-text);\n  }\n\n  .wcf-list {\n    list-style: none;\n    padding: 0;\n    margin: 28px 0 0 0;\n    display: grid;\n    grid-template-columns: repeat(4, minmax(0, 1fr)); /* desktop */\n    gap: 20px;\n  }\n\n  /* Card grid (moved to CSS so breakpoints can adjust) */\n  .wcf-card {\n    grid-template-columns: 34px 1fr;\n    grid-template-rows: auto auto;\n    grid-template-areas: \"icon title\" \"icon body\";\n  }\n\n  .wcf-card h3, .wcf-card p { min-width: 0; }\n\n  @media (max-width: 1199px) {\n    .wcf-inner { padding: 40px var(--container-pad-x); }\n    .wcf-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } /* 2x2 */\n  }\n\n  @media (max-width: 640px) {\n    .wcf-inner { padding: 28px var(--container-pad-x); }\n    .wcf-lead { line-height: 1.45; }\n\n    /* On small screens, let the body span full width under the title */\n    .wcf-card {\n      grid-template-columns: 34px 1fr;\n      grid-template-areas: \"icon title\" \"body body\";\n      gap: 10px;\n    }\n\n    .wcf-card h3 { font-size: 16px; line-height: 1.3; }\n    .wcf-card p { font-size: 14.5px; line-height: 1.55; }\n    .wcf-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } /* keep 2x2 */\n  }\n\n  /* Better long-word handling across breakpoints */\n  .wcf-card h3, .wcf-card p {\n    overflow-wrap: anywhere;\n    word-break: break-word;\n    hyphens: auto;\n  }`;return /*#__PURE__*/_jsxs(\"section\",{id:\"cost-factors\"// <-- anchor for TOC\n,className:\"wcf-wrap\",style:sectionStyle,\"aria-label\":ariaLabel||\"Windshield cost factors\",\"aria-labelledby\":\"cost-factors-heading\",itemScope:true,itemType:\"https://schema.org/WebPageElement\",itemProp:\"mainEntity\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"wcf-inner\",style:innerStyle,children:[/*#__PURE__*/_jsx(\"h2\",{className:\"wcf-title\",style:h2Style,id:\"cost-factors-heading\",children:heading}),/*#__PURE__*/_jsx(\"p\",{className:\"wcf-lead\",children:paragraph}),error?/*#__PURE__*/_jsx(\"p\",{\"aria-live\":\"polite\",className:\"wcf-lead\",style:{marginTop:12,fontSize:14,opacity:.9},children:error}):loading?/*#__PURE__*/_jsx(\"p\",{\"aria-live\":\"polite\",className:\"wcf-lead\",style:{marginTop:12,fontSize:14,opacity:.8},children:\"Loading cost factors…\"}):null,/*#__PURE__*/_jsx(\"ul\",{className:\"wcf-list\",\"aria-labelledby\":\"cost-factors-heading\",children:items.map((it,idx)=>/*#__PURE__*/_jsxs(\"li\",{className:\"wcf-card\",style:cardStyle,children:[/*#__PURE__*/_jsx(\"span\",{style:iconWrap,\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsxs(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 20 20\",fill:\"none\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"10\",cy:\"10\",r:\"9\",stroke:\"#fff\",strokeWidth:\"2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 5v6\",stroke:\"#fff\",strokeWidth:\"2\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"10\",cy:\"14.5\",r:\"1.6\",fill:\"#fff\"})]})}),/*#__PURE__*/_jsx(\"h3\",{style:h3Style,children:it.h}),/*#__PURE__*/_jsx(\"p\",{style:pStyle,children:it.p})]},idx))})]})]});}/* ---------- Property Controls (ONLY 3) ---------- */addPropertyControls(ModelsCost,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\",defaultValue:\"\"},supabaseKey:{type:ControlType.String,title:\"Supabase Key\",defaultValue:\"\"},slugOverride:{type:ControlType.String,title:\"Slug Override (Model)\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelsCost\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsCost.map","// ModelsFAQ.tsx\n// -----------------------------------------------------------------------------\n// Source: public.models (only)\n// Columns used:\n//   id, slug, make, model,\n//   faq_aria_label, faq_heading,\n//   faq_q1..faq_q6, faq_a1..faq_a6\n//\n// URL shape expected: /auto-glass/{make}/{model}\n// Property Controls: Supabase URL, Supabase Key, Slug Override (model)\n// Anchor: id=\"faq\"\n// Notes:\n// - In Framer canvas (non bangautoglass.com domains) we render default content\n//   and skip Supabase calls for speed while editing.\n// - On bangautoglass.com (and subdomains) we query Supabase.\n// - All FAQ answers are rendered in the DOM at load (never display:none) so\n//   search engines can read them even when collapsed.\n// -----------------------------------------------------------------------------\n\"use client\";import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";import{HelpCircle,ChevronDown}from\"lucide-react\";/* ---------- Helpers ---------- */function withTokens(input,makeName,modelName){if(!input)return input??undefined;const mk=(makeName||\"your\").trim();const md=(modelName||\"vehicle\").trim();return input.replace(/\\{\\s*make\\s*\\}/gi,mk).replace(/\\{\\s*model\\s*\\}/gi,md);}function slugify(v){return v.toLowerCase().trim().replace(/[%]/g,\"-\").replace(/[\\s_]+/g,\"-\").replace(/[^a-z0-9-]/g,\"\").replace(/-+/g,\"-\");}function getMakeSlugFromLocation(){if(typeof window===\"undefined\")return undefined;const parts=window.location.pathname.split(\"/\").filter(Boolean);const ix=parts.findIndex(p=>p.toLowerCase()===\"auto-glass\");if(ix>=0&&parts[ix+1])return decodeURIComponent(parts[ix+1]);if(parts[0])return decodeURIComponent(parts[0]);return undefined;}function getModelSlugFromLocation(){if(typeof window===\"undefined\")return undefined;const parts=window.location.pathname.split(\"/\").filter(Boolean);const ix=parts.findIndex(p=>p.toLowerCase()===\"auto-glass\");if(ix>=0&&parts[ix+2])return decodeURIComponent(parts[ix+2]);if(parts[1])return decodeURIComponent(parts[1]);return undefined;}/**\n * Rewrite old service URLs of the form:\n *   /auto-glass/{make}/{model}/{service}\n * (optionally with https://bangautoglass.com prefix)\n * to:\n *   /services/{make}-{model}-{service}\n */function rewriteServiceUrls(html,make,model){if(!html)return\"\";const re=/(?:https?:\\/\\/(?:www\\.)?bangautoglass\\.com)?\\/auto-glass\\/([^\\/]+)\\/([^\\/]+)\\/([^\\/?#\"']+)/gi;return html.replace(re,(_m,mk,md,svc)=>{const _mk=slugify(decodeURIComponent(mk||make||\"\"));const _md=slugify(decodeURIComponent(md||model||\"\"));const _sv=slugify(decodeURIComponent(svc||\"\"));if(!_mk||!_md||!_sv)return _m;return`/services/${_mk}-${_md}-${_sv}`;});}/* Default content used while editing in Framer (non-production domains) */const DEFAULT_ROW={id:\"placeholder\",slug:\"placeholder\",make:\"Sample\",model:\"Model\",faq_aria_label:\"{make} {model} auto glass FAQs\",faq_heading:\"{make} {model} Auto Glass FAQs\",faq_q1:\"Do you offer mobile windshield service for {make} {model}?\",faq_a1:'Yes—mobile technicians come to your home or office for most jobs. Learn more on our <a href=\"/services/{make}-{model}-windshield-replacement\">windshield replacement</a> page.',faq_q2:\"Can you calibrate ADAS after replacing my windshield?\",faq_a2:\"Vehicles with cameras or sensors often need calibration after glass replacement, and we coordinate that service to meet safety standards.\",faq_q3:\"Do you work with my insurance company?\",faq_a3:\"We assist with claims and paperwork for major insurers to keep the process simple and fast.\",faq_q4:\"What glass quality do you install?\",faq_a4:\"We use OEM-quality glass and premium urethane to match fit and performance expectations.\",faq_q5:\"How long does a typical replacement take?\",faq_a5:\"Most replacements are completed in about an hour, followed by a safe drive-away time recommended by the adhesive manufacturer.\",faq_q6:\"How do I schedule service?\",faq_a6:'You can book online or contact us for next-day availability in many areas. Start with <a href=\"/services/{make}-{model}-windshield-repair\">windshield repair</a> or replacement.'};export default function ModelsFAQSection(props){const{supabaseUrl,supabaseAnonKey,slugOverride,className,style}=props;const[row,setRow]=React.useState(null);const[error,setError]=React.useState(null);const[openIds,setOpenIds]=React.useState(()=>new Set);const supabase=React.useMemo(()=>{if(!supabaseUrl||!supabaseAnonKey)return null;return createClient(supabaseUrl,supabaseAnonKey);},[supabaseUrl,supabaseAnonKey]);const isProdDomain=React.useMemo(()=>{if(typeof window===\"undefined\")return false;const host=window.location.hostname.toLowerCase();// root or any subdomain of bangautoglass.com\nreturn/(^|\\.)bangautoglass\\.com$/.test(host);},[]);const makeSegment=React.useMemo(()=>getMakeSlugFromLocation(),[]);const modelSegment=React.useMemo(()=>getModelSlugFromLocation(),[]);const effectiveModelSlugRaw=slugOverride&&slugOverride.trim()||modelSegment||\"\";// Load from public.models using efficient slug matching\nReact.useEffect(()=>{let cancelled=false;async function load(){// Editing mode (Framer canvas) → use defaults, skip network\nif(!isProdDomain){setError(null);setRow(DEFAULT_ROW);return;}setError(null);setRow(null);if(!supabase){setError(\"Supabase URL/key missing.\");return;}const trySlugs=[];if(effectiveModelSlugRaw){trySlugs.push(effectiveModelSlugRaw,slugify(effectiveModelSlugRaw));}else{setError(\"Could not determine model slug. Provide Slug Override.\");return;}const columns=[\"id\",\"slug\",\"make\",\"model\",\"faq_aria_label\",\"faq_heading\",\"faq_q1\",\"faq_a1\",\"faq_q2\",\"faq_a2\",\"faq_q3\",\"faq_a3\",\"faq_q4\",\"faq_a4\",\"faq_q5\",\"faq_a5\",\"faq_q6\",\"faq_a6\"].join(\", \");try{let rec=null;// 1) Single round-trip for equal candidates\nif(trySlugs.length){const{data,error}=await supabase.from(\"models\").select(columns).in(\"slug\",trySlugs).limit(1).maybeSingle();if(error)throw error;if(data)rec=data;}// 2) Fallback: case-insensitive match\nif(!rec){const{data,error}=await supabase.from(\"models\").select(columns).ilike(\"slug\",effectiveModelSlugRaw).limit(1).maybeSingle();if(error)throw error;rec=data||null;}if(!cancelled){if(!rec)setError(\"No model found for the given slug in public.models.\");else setRow(rec);}}catch(e){if(!cancelled)setError(e?.message||\"Failed to load FAQs.\");}}load();return()=>{cancelled=true;};},[supabase,effectiveModelSlugRaw,isProdDomain]);const makeName=row?.make||undefined;const modelName=row?.model||undefined;const ariaLabel=withTokens(row?.faq_aria_label??\"{make} {model} auto glass FAQs\",makeName,modelName)||\"Auto glass FAQs\";const heading=withTokens(row?.faq_heading??\"{make} {model} Auto Glass FAQs\",makeName,modelName)||\"Auto Glass FAQs\";const items=[{q:row?.faq_q1,a:row?.faq_a1},{q:row?.faq_q2,a:row?.faq_a2},{q:row?.faq_q3,a:row?.faq_a3},{q:row?.faq_q4,a:row?.faq_a4},{q:row?.faq_q5,a:row?.faq_a5},{q:row?.faq_q6,a:row?.faq_a6}].map(({q,a})=>{const qText=withTokens(q||\"\",makeName,modelName)?.trim();const aHtml=withTokens(a||\"\",makeName,modelName)?.trim();const aRewritten=rewriteServiceUrls(aHtml,makeName,modelName);return{q:qText,a:aRewritten};}).filter(({q,a})=>q&&a);const toggleId=id=>{setOpenIds(prev=>{const next=new Set(prev);if(next.has(id))next.delete(id);else next.add(id);return next;});};const faqJsonLd=items.length>0?{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",mainEntity:items.map(({q,a})=>({\"@type\":\"Question\",name:q,acceptedAnswer:{\"@type\":\"Answer\",text:a}}))}:null;React.useEffect(()=>{const sections=document.querySelectorAll(\":where(section[id])\");sections.forEach(el=>el.style.setProperty(\"--offset\",`96px`));},[]);return /*#__PURE__*/_jsxs(\"section\",{id:\"faq\",\"aria-label\":ariaLabel,className:`bag-make-faq ${className||\"\"}`,style:style,\"data-framer-component\":\"ModelsFAQSection\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsx(\"div\",{className:\"wrap\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"box\",children:[/*#__PURE__*/_jsxs(\"header\",{className:\"head\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"badge\",children:/*#__PURE__*/_jsx(HelpCircle,{size:16})}),/*#__PURE__*/_jsx(\"h2\",{className:\"h2\",children:heading})]}),error?/*#__PURE__*/_jsx(\"div\",{role:\"status\",className:\"error\",children:error}):null,!row&&!error?/*#__PURE__*/_jsx(\"div\",{className:\"empty\",children:\"Loading FAQs…\"}):items.length===0?/*#__PURE__*/_jsx(\"div\",{className:\"empty\",children:\"No FAQs available.\"}):/*#__PURE__*/_jsx(\"ul\",{className:\"accordion\",role:\"list\",children:items.map(({q,a},idx)=>{const id=`faq-${idx}`;const panelId=`faq-panel-${idx}`;const isOpen=openIds.has(id);return /*#__PURE__*/_jsxs(\"li\",{className:`item ${isOpen?\"open\":\"\"}`,children:[/*#__PURE__*/_jsx(\"h3\",{className:\"q\",children:/*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-expanded\":isOpen?\"true\":\"false\",\"aria-controls\":panelId,id:id,onClick:()=>toggleId(id),className:\"btnQ\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"qText\",children:q}),/*#__PURE__*/_jsx(\"span\",{className:\"chevWrap\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(ChevronDown,{className:\"chev\",size:18})})]})}),/*#__PURE__*/_jsx(\"div\",{id:panelId,role:\"region\",\"aria-labelledby\":id,className:\"a\",children:/*#__PURE__*/_jsx(\"div\",{className:\"rich\",dangerouslySetInnerHTML:{__html:a}})})]},id);})}),faqJsonLd&&/*#__PURE__*/_jsx(\"script\",{type:\"application/ld+json\",dangerouslySetInnerHTML:{__html:JSON.stringify(faqJsonLd)}})]})})]});}/* ---------- Framer Property Controls (ONLY 3) ---------- */addPropertyControls(ModelsFAQSection,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Key\"},slugOverride:{type:ControlType.String,title:\"Slug Override (model)\"}});/* ---------- Styles: cleaner look + explicit grey borders + neon icon ----------\n   - Each item now has a neutral grey border.\n   - Chevron is neon green, inside a very light green circular chip.\n   - Hover elevates item slightly and brightens the chip with a soft neon ring.\n   - Content remains in DOM when collapsed (max-height only).\n----------------------------------------------------------------------------- */const css=/* css */`\n.bag-make-faq, .bag-make-faq *{ box-sizing: border-box; }\n.bag-make-faq{\n  --wrap-max: var(--content-max-w, 1200px);\n  --bg:#ffffff;\n  --text:#0f172a;\n  --muted:#475569;\n  --accent: var(--color-accent, var(--neon, #39FF14));\n  --accent-2: var(--color-accent-2, var(--neon-600, #1EEA00));\n  --ring: color-mix(in srgb, var(--accent) 30%, transparent);\n  --bd: var(--color-line, rgba(15,23,42,.10));\n  --bd-strong: var(--color-line-2, rgba(15,23,42,.18));\n  /* Explicit neutral grey for item borders */\n  --bd-item: color-mix(in srgb, var(--text, #0f172a) 12%, #ffffff 88%); /* ~gray-200 */\n  --radius-xl: var(--radius-2xl, 22px);\n  --shadow-card: var(--shadow-card, 0 14px 36px rgba(0,0,0,.10));\n  background: var(--bg);\n  color: var(--text);\n  padding: 32px 0 30px;\n  border-top:1px solid var(--bd);\n  border-bottom:1px solid var(--bd);\n  font-family: var(--font-body, Inter, ui-sans-serif);\n}\n\n.bag-make-faq .wrap{ max-width:var(--wrap-max); width:100%; margin:0 auto; padding:0 16px; }\n@media(min-width:810px){ .bag-make-faq .wrap{ padding:0 24px; } }\n@media(min-width:1200px){ .bag-make-faq .wrap{ padding:0 32px; } }\n\n.bag-make-faq .box{\n  background:#fff;\n  border:1px solid var(--bd-strong);\n  border-radius: var(--radius-xl);\n  box-shadow: var(--shadow-card);\n  padding: 22px 18px 24px;\n}\n@media(min-width:1200px){ .bag-make-faq .box{ padding: 26px 22px 28px; } }\n\n.bag-make-faq .head{ display:flex; align-items:center; gap:12px; margin:0 6px 14px; }\n.bag-make-faq .badge{\n  display:inline-flex; align-items:center; justify-content:center;\n  width:26px; height:26px; border-radius:999px;\n  background: color-mix(in srgb, var(--accent) 18%, #ffffff);\n  color: var(--accent);\n  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 36%, transparent) inset;\n}\n.bag-make-faq .h2{\n  margin:0; font-size:22px; font-weight:800; letter-spacing:-.01em;\n  font-family: var(--font-display, Inter, ui-sans-serif);\n}\n@media(min-width:810px){ .bag-make-faq .h2{ font-size:24px; } }\n@media(min-width:1200px){ .bag-make-faq .h2{ font-size:26px; } }\n\n.bag-make-faq .accordion{ list-style:none; margin:10px 0 0; padding:0; display:grid; gap:12px; }\n@media(min-width:810px){ .bag-make-faq .accordion{ gap:14px; } }\n\n/* FAQ item — explicit grey border */\n.bag-make-faq .item{\n  position:relative;\n  border:1px solid var(--bd-item);\n  border-radius: 18px;\n  background:#fff;\n  box-shadow: 0 8px 20px rgba(2,6,23,.06);\n  overflow:hidden;\n  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;\n}\n.bag-make-faq .item::before{\n  content:\"\";\n  position:absolute; inset:0;\n  border-radius: inherit;\n  padding:1px; /* gradient outline when open */\n  background: linear-gradient(90deg, var(--accent), var(--accent-2));\n  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);\n  -webkit-mask-composite: xor;\n          mask-composite: exclude;\n  opacity:0; transition:opacity .2s ease;\n}\n.bag-make-faq .item:hover{ transform: translateY(-1px); box-shadow: 0 10px 24px rgba(2,6,23,.08); }\n.bag-make-faq .item.open{\n  border-color: color-mix(in srgb, var(--accent) 26%, var(--bd-item));\n  box-shadow: 0 12px 28px rgba(0,0,0,.08), 0 8px 22px rgba(57,255,20,.10);\n}\n.bag-make-faq .item.open::before{ opacity:.85; }\n\n/* Header button */\n.bag-make-faq .q{ margin:0; }\n.bag-make-faq .btnQ{\n  width:100%;\n  display:flex; align-items:center; justify-content:space-between; gap:12px;\n  padding:16px 18px;\n  background:#fff; border:0; cursor:pointer;\n  font-weight:800; text-align:left; color: var(--text);\n}\n.bag-make-faq .btnQ:hover .qText{ text-decoration:underline; text-underline-offset:2px; }\n.bag-make-faq .btnQ:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--ring); border-radius:14px; }\n\n.bag-make-faq .qText{ line-height:1.35; font-size:15px; }\n@media(min-width:810px){ .bag-make-faq .qText{ font-size:16px; } }\n@media(min-width:1200px){ .bag-make-faq .qText{ font-size:17px; } }\n\n/* Chevron chip — neon icon + very light green fill + hover glow */\n.bag-make-faq .chevWrap{\n  display:inline-flex; align-items:center; justify-content:center;\n  width:30px; height:30px; border-radius:999px;\n  background: color-mix(in srgb, var(--accent) 12%, #ffffff);\n  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent);\n  transition: background .18s ease, box-shadow .18s ease, transform .18s ease;\n}\n.bag-make-faq .chev{ color: var(--accent); transition: transform .18s ease; }\n.bag-make-faq .btnQ:hover .chevWrap{\n  background: color-mix(in srgb, var(--accent) 22%, #ffffff);\n  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--accent) 34%, transparent);\n  transform: translateY(-1px);\n}\n.bag-make-faq .item.open .chev{ transform: rotate(180deg); }\n\n/* Collapsed content — present in DOM; never display:none */\n.bag-make-faq .a{\n  padding:0 18px 0;\n  max-height:0;\n  opacity:.0;\n  overflow:hidden;\n  transition:max-height .28s ease, opacity .2s ease, padding .28s ease;\n  will-change: max-height, opacity, padding;\n}\n.bag-make-faq .item.open .a{\n  padding:0 18px 16px;\n  max-height:800px;\n  opacity:1;\n}\n\n/* Body copy */\n.bag-make-faq .rich{ font-size:15px; line-height:1.65; color:var(--muted); }\n.bag-make-faq .rich p{ margin:0 0 10px; }\n.bag-make-faq .rich p:last-child{ margin:0; }\n.bag-make-faq .rich a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }\n\n.bag-make-faq .empty{\n  color:#6b7280; background:#f8fafc; border:1px dashed var(--bd);\n  padding:12px; border-radius:12px; font-size:14px;\n}\n:where(section[id]){ scroll-margin-top: var(--offset, 96px); }\n.bag-make-faq .error{\n  color:#b45309; background:#fffbeb; border:1px solid #f59e0b;\n  padding:8px 10px; border-radius:10px;\n}\n\n@media (prefers-reduced-motion: reduce){\n  .bag-make-faq .a, .bag-make-faq .chev, .bag-make-faq .chevWrap, .bag-make-faq .item{ transition:none; }\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelsFAQSection\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsFAQ.map","// ModelsInsurance.tsx — models-bound (no visual changes)\n// -----------------------------------------------------------------------------\n// Binds from public.models:\n//   insurance_aria_label, insurance_heading, insurance_paragraph,\n//   insurance_benefit1..4\n// Anchor: id=\"insurance\"\n// Theme: dark + green (unchanged), responsive, a11y-friendly\n// -----------------------------------------------------------------------------\n\"use client\";import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/* ---------- Helpers ---------- */function replaceTokens(input,makeName,modelName){if(!input)return input??undefined;const m=(makeName||\"your\").trim();const mdl=(modelName||\"\").trim();return input.replace(/\\{\\s*make\\s*\\}/gi,m).replace(/\\{\\s*model\\s*\\}/gi,mdl);}function toCssSize(v,fallback=\"1280px\"){if(v===null||v===undefined)return fallback;if(typeof v===\"number\"&&isFinite(v))return`${v}px`;const s=String(v).trim();if(!s)return fallback;if(/^\\d+(?:\\.\\d+)?$/.test(s))return`${s}px`;if(/px|rem|em|vw|vh|%|ch|ex|cm|mm|in|pt|pc$/.test(s)||/^(?:calc|min|max|clamp)\\(/.test(s))return s;const n=parseFloat(s);return isNaN(n)?fallback:`${n}px`;}function getModelSlugFromPath(pathname){if(!pathname)return null;const parts=pathname.split(\"/\").filter(Boolean);const i=parts.indexOf(\"auto-glass\");const modelSlug=i>=0?parts[i+2]:null// /auto-glass/{make}/{model}\n;return modelSlug?decodeURIComponent(modelSlug):null;}// Ensure we render a <p> even if CMS text is raw (prevents inheriting parent color)\nfunction ensureParagraphWrap(htmlOrText){if(!htmlOrText)return\"\";const s=String(htmlOrText).trim();if(!s)return\"\";if(/<(p|ul|ol|div|section|br)\\b/i.test(s))return s;return`<p>${s}</p>`;}/** Rewrite old service links like\n *   /auto-glass/{make}/{model}/{service}\n * to\n *   /services/{make}-{model}-{service}\n * Works for absolute or relative links. Leaves everything else untouched.\n */function rewriteOldServiceLinks(html){if(!html)return html;const re=/(https?:\\/\\/(?:www\\.)?bangautoglass\\.com)?\\/auto-glass\\/([^\\/\\s]+)\\/([^\\/\\s]+)\\/([^\"'\\s<]+)(?=[\"'\\s<])/gi;return html.replace(re,(_m,_host,make,model,service)=>{const full=`${make}-${model}-${service}`.replace(/--+/g,\"-\");return`/services/${full}`;});}/* ---------- Icons (unchanged) ---------- */const Shield=({size=20})=>/*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"})});const DollarSign=({size=16})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"1\",x2:\"12\",y2:\"23\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"})]});const Phone=({size=16})=>/*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"})});const CheckCircle2=({size=16})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]});export default function ModelsInsuranceSection(props){const{supabaseUrl,supabaseAnonKey,slugOverride,className,style}=props;const[row,setRow]=React.useState(null);const[error,setError]=React.useState(null);const[resolvedSlug,setResolvedSlug]=React.useState(slugOverride||null);const[isLiveDomain,setIsLiveDomain]=React.useState(false);// Determine host mode (design vs live). Only fetch on bangautoglass.com.\nReact.useEffect(()=>{if(typeof window===\"undefined\")return;const host=window.location.hostname;const live=/(^|\\.)bangautoglass\\.com$/i.test(host);setIsLiveDomain(live);},[]);React.useEffect(()=>{if(slugOverride){setResolvedSlug(slugOverride);return;}if(typeof window!==\"undefined\"){setResolvedSlug(getModelSlugFromPath(window.location?.pathname??null));}},[slugOverride]);React.useEffect(()=>{let cancelled=false;const ac=new AbortController;async function load(){// Design-time defaults: do NOT hit Supabase in Framer/preview.\nif(!isLiveDomain){setError(null);setRow(null)// default content renders\n;return;}if(!supabaseUrl||!supabaseAnonKey){setError(\"Supabase URL/key missing.\");setRow(null);return;}if(!resolvedSlug){setError(\"Could not resolve model slug from URL. Provide slugOverride to preview.\");setRow(null);return;}try{const columns=[\"id\",\"slug\",\"make\",\"model\",\"insurance_aria_label\",\"insurance_heading\",\"insurance_paragraph\",\"insurance_benefit1\",\"insurance_benefit2\",\"insurance_benefit3\",\"insurance_benefit4\"].join(\",\");// Faster equality match (leverages index) vs ilike\nconst filter=`slug=eq.${encodeURIComponent(resolvedSlug)}`;const url=`${supabaseUrl}/rest/v1/models?${filter}&select=${columns}&limit=1`;const response=await fetch(url,{headers:{apikey:supabaseAnonKey,Authorization:`Bearer ${supabaseAnonKey}`,Accept:\"application/json\"},signal:ac.signal,cache:\"no-store\"});if(!response.ok)throw new Error(`HTTP error! status: ${response.status}`);const data=await response.json();if(cancelled)return;const rec=data?.[0]||null;setRow(rec);setError(rec?null:\"No model found for the given slug.\");}catch(err){if(cancelled)return;setError(err instanceof Error?err.message:\"Failed to fetch data\");setRow(null);}}load();return()=>{cancelled=true;ac.abort();};},[supabaseUrl,supabaseAnonKey,resolvedSlug,isLiveDomain]);const makeName=row?.make||undefined;const modelName=row?.model||undefined;const ariaLabel=replaceTokens(row?.insurance_aria_label??\"Insurance & claims for {make} glass service\",makeName,modelName)||\"Insurance & claims\";const heading=replaceTokens(row?.insurance_heading??\"Insurance & Claims\",makeName,modelName)||\"Insurance & Claims\";// Rewrite old service links inside paragraph HTML to new /services/{full_service}\nconst paragraphHtml=rewriteOldServiceLinks(replaceTokens(row?.insurance_paragraph??\"We coordinate windshield claims for {make}, help confirm comprehensive coverage and deductibles, and document parts and calibration for your records.\",makeName,modelName)||\"\");const benefits=React.useMemo(()=>[row?.insurance_benefit1,row?.insurance_benefit2,row?.insurance_benefit3,row?.insurance_benefit4].filter(Boolean),[row?.insurance_benefit1,row?.insurance_benefit2,row?.insurance_benefit3,row?.insurance_benefit4]);React.useEffect(()=>{const sections=document.querySelectorAll(\":where(section[id])\");sections.forEach(el=>el.style.setProperty(\"--offset\",`96px`));},[]);const wrapMax=toCssSize(1280);return /*#__PURE__*/_jsxs(\"section\",{id:\"insurance\",\"aria-label\":ariaLabel,className:`bag-make-insurance ${className||\"\"}`,style:{...style||{},[\"--wrap-max\"]:wrapMax},\"data-framer-component\":\"ModelsInsuranceSection\",\"data-mode\":isLiveDomain?\"live\":\"design\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"wrap\",style:{maxWidth:wrapMax},children:[/*#__PURE__*/_jsxs(\"header\",{className:\"head\",children:[/*#__PURE__*/_jsx(Shield,{size:20}),/*#__PURE__*/_jsx(\"h2\",{className:\"h2\",children:heading})]}),error?/*#__PURE__*/_jsx(\"div\",{role:\"status\",className:\"error\",children:error}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"grid\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"content\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"rich\",dangerouslySetInnerHTML:{__html:ensureParagraphWrap(paragraphHtml)}}),/*#__PURE__*/_jsxs(\"div\",{className:\"ctaRow\",role:\"group\",\"aria-label\":\"Insurance actions\",children:[/*#__PURE__*/_jsxs(\"a\",{className:\"btn btn-primary\",href:\"/schedule-appointment\",children:[/*#__PURE__*/_jsx(DollarSign,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Get Free Quote\"})]}),/*#__PURE__*/_jsxs(\"a\",{className:\"btn btn-ghost\",href:\"/deductible-assistance-program\",children:[/*#__PURE__*/_jsx(Phone,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Deductible Assistance\"})]})]}),benefits.length>0&&/*#__PURE__*/_jsx(\"ul\",{className:\"badges\",\"aria-label\":\"Included benefits\",children:benefits.map((b,i)=>/*#__PURE__*/_jsx(\"li\",{children:b},i))})]}),/*#__PURE__*/_jsx(\"aside\",{className:\"aside\",\"aria-label\":\"What to have ready\",children:/*#__PURE__*/_jsx(\"div\",{className:\"card\",children:/*#__PURE__*/_jsxs(\"ul\",{className:\"list\",role:\"list\",children:[/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Insurance carrier & policy number\"})]}),/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Vehicle VIN and current mileage\"})]}),/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Photos of the damage (if available)\"})]}),/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:\"Preferred appointment window\"})]})]})})})]})]})]});}/* ---------- Minimal Property Controls (kept) ---------- */addPropertyControls(ModelsInsuranceSection,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Anon Key\"},slugOverride:{type:ControlType.String,title:\"Slug Override (model, optional)\"}});/* ---------- Styles (theme-aligned, visual parity) ---------- */const css=/*css*/`\n.bag-make-insurance, .bag-make-insurance *{ box-sizing: border-box; }\n.bag-make-insurance{\n  --wrap-max:1280px;\n\n  /* Use theme tokens with sensible fallbacks to preserve look */\n  --bg-from: color-mix(in srgb, var(--neon, #39FF14) 8%, var(--color-bg, #0a0a0a));\n  --bg-to:   color-mix(in srgb, var(--neon-700, #12C900) 6%, var(--color-bg, #0a0a0a));\n\n  background: linear-gradient(135deg, var(--bg-from), var(--bg-to));\n  color: var(--color-text, #f7f9f7);\n  padding: 28px 0 26px;\n  border-top:1px solid rgba(0,0,0,.3);\n  border-bottom:1px solid rgba(0,0,0,.3);\n}\n\n.bag-make-insurance .wrap{ max-width:var(--wrap-max); margin:0 auto; width:100%; padding:0 16px; }\n@media(min-width:810px){ .bag-make-insurance .wrap{ padding:0 24px } }\n@media(min-width:1200px){ .bag-make-insurance .wrap{ padding:0 32px } }\n\n/* Header */\n.bag-make-insurance .head{ display:flex; align-items:center; gap:10px; margin:0 0 12px; }\n.bag-make-insurance .head svg{ color: var(--emerald, var(--neon, #39FF14)); }\n.bag-make-insurance .h2{ margin:0; font-size:22px; font-weight:800; letter-spacing:-.01em; color:var(--color-text, #ffffff); }\n\n/* Grid */\n.bag-make-insurance .grid{ display:grid; gap:16px; grid-template-columns:1fr; }\n@media(min-width:980px){ .bag-make-insurance .grid{ grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:22px; } }\n\n/* Left content — force readable paragraph text */\n.bag-make-insurance .content .rich{\n  color:var(--color-text, #ffffff);\n  font-size: clamp(15px, 1.1vw, 16px);\n  line-height:1.7;\n}\n.bag-make-insurance .content .rich p{\n  margin:0 0 14px;\n  color:inherit;\n  line-height:1.7;\n}\n.bag-make-insurance .content .rich p:last-child{ margin-bottom:0; }\n.bag-make-insurance .content .rich strong, .bag-make-insurance .content .rich b{ color:var(--color-text, #ffffff); font-weight:700; }\n.bag-make-insurance .content .rich a{\n  color: color-mix(in srgb, var(--aqua-500, #00E6B0) 55%, white 0%);\n  text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; transition: color .15s ease;\n}\n.bag-make-insurance .content .rich a:hover{ color:#ffffff; }\n\n.bag-make-insurance .ctaRow{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }\n\n.bag-make-insurance .btn{\n  display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border-radius: var(--radius-button, 14px);\n  font-weight:800; text-decoration:none; border:1px solid var(--color-line, rgba(255,255,255,.14)); transition:all .15s ease;\n  box-shadow: var(--shadow-cta, 0 8px 22px rgba(57,255,20,.28));\n}\n.bag-make-insurance .btn-primary{ background: var(--emerald, var(--neon, #39FF14)); color:#0b1117; border-color:transparent; }\n.bag-make-insurance .btn-primary:hover{ filter:brightness(1.05); }\n.bag-make-insurance .btn-ghost{ background: var(--color-surface, rgba(255,255,255,.06)); color:var(--color-text, #f7f9f7); }\n.bag-make-insurance .btn:focus-visible{ outline:none; box-shadow:0 0 0 3px color-mix(in srgb, var(--neon-400, #7CFF62) 35%, transparent); }\n\n/* Benefits (from schema) */\n.bag-make-insurance .badges{\n  list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:8px; color:#0b1117;\n}\n.bag-make-insurance .badges li{\n  background:#ecfdf5; color:#064e3b; border:1px solid rgba(16,185,129,.35);\n  padding:6px 10px; border-radius: var(--radius-chip, 999px); font-weight:800; font-size:12.5px;\n}\n\n/* Right card */\n.bag-make-insurance .aside .card{\n  border-radius: var(--radius-card, 22px);\n  background: var(--color-surface, rgba(255,255,255,.06));\n  border:1px solid var(--color-line, rgba(255,255,255,.14));\n  padding:14px;\n  box-shadow: var(--shadow-card, 0 14px 36px rgba(0,0,0,.35));\n  color:var(--color-text, #f7f9f7);\n}\n.bag-make-insurance .list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }\n.bag-make-insurance .list li{ display:flex; align-items:center; gap:10px; }\n.bag-make-insurance .list svg{ color: color-mix(in srgb, var(--emerald, var(--neon, #39FF14)) 70%, white 0%); }\n\n/* a11y + state */\n:where(section[id]){ scroll-margin-top: var(--offset, 96px); }\n.bag-make-insurance .error{\n  color:#1b1b1b; background:#fde68a; border:1px solid #f59e0b; padding:8px 10px; border-radius:10px;\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelsInsuranceSection\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsInsurance.map","// ModelsMobile.tsx — models-only, matches ModelCTA green palette\n// -----------------------------------------------------------------------------\n// Source: public.models\n// Uses ONLY the {model} from /auto-glass/{make}/{model} (or slug override).\n// Binds:\n//   process_aria_label, process_header,\n//   process_confirm_details, process_schedule,\n//   process_install, process_calibration, process_warranty_care\n//\n// Anchor: id=\"process\"\n// -----------------------------------------------------------------------------\n\"use client\";import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/* ---------- Helpers ---------- */function supaHeaders(key){return{apikey:key,Authorization:`Bearer ${key}`};}/** Take the last meaningful token as the model slug (supports pasted paths or \"make/model\"). */function deriveModelSlug(slugOverride){if(slugOverride&&slugOverride.trim()){let s=slugOverride.trim();const m=s.match(/auto-glass\\/([^/?#]+)\\/([^/?#]+)/i);if(m)return decodeURIComponent(m[2]);s=s.replace(/^\\/+|\\/+$/g,\"\").replace(/\\s+/g,\"/\");const parts=s.split(\"/\").filter(Boolean);return decodeURIComponent(parts[parts.length-1]);}if(typeof window!==\"undefined\"){const parts=window.location.pathname.split(\"/\").filter(Boolean);const idx=parts.indexOf(\"auto-glass\");if(idx>=0)return decodeURIComponent(parts[idx+2]||\"\");}return undefined;}function toTitleCaseFromSlug(slug){if(!slug)return undefined;return slug.split(/[ -]+/g).filter(Boolean).map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join(\" \");}function withTokens(input,makeName,modelName){if(!input)return input??undefined;const mk=(makeName||\"your\").trim();const md=(modelName||\"vehicle\").trim();return input.replace(/\\{\\s*make\\s*\\}/gi,mk).replace(/\\{\\s*model\\s*\\}/gi,md);}/** Rewrite legacy service links from /auto-glass/{make}/{model}/{service} → /services/{make}-{model}-{service} */function rewriteServiceLinks(html){if(!html)return html;// Absolute or relative URLs, keep any trailing query/hash by replacing only the matched path segment.\nconst re=new RegExp(String.raw`(?:(?:https?:\\/\\/)?(?:www\\.)?bangautoglass\\.com)?\\/auto-glass\\/([^\\/?#]+)\\/([^\\/?#]+)\\/([^\\/?#]+)`,\"gi\");return html.replace(re,(_m,mk,md,svc)=>{const parts=[mk,md,svc].map(s=>decodeURIComponent(String(s)).trim().toLowerCase().replace(/\\s+/g,\"-\"));return`/services/${parts.join(\"-\")}`;});}function toCssSize(v,fallback=\"1280px\"){if(v===null||v===undefined)return fallback;if(typeof v===\"number\"&&isFinite(v))return`${v}px`;const s=String(v).trim();if(!s)return fallback;if(/^\\d+(?:\\.\\d+)?$/.test(s))return`${s}px`;if(/px|rem|em|vw|vh|%|ch|ex|cm|mm|in|pt|pc$/.test(s)||/^(?:calc|min|max|clamp)\\(/.test(s))return s;const n=parseFloat(s);return isNaN(n)?fallback:`${n}px`;}export default function ModelsMobile({supabaseUrl,supabaseAnonKey,slug,contentMaxWidth=1280,scrollOffsetPx=96,showCtas=true,primaryCtaText=\"Schedule Appointment\",primaryCtaHref=\"/schedule-appointment/\",className,style}){const[row,setRow]=React.useState(null);const[error,setError]=React.useState(null);const wrapMax=toCssSize(contentMaxWidth);const modelSlug=React.useMemo(()=>deriveModelSlug(slug),[slug]);// Only hit Supabase on live site under bangautoglass.com. In Framer canvas/editor or other origins, render defaults without fetching.\nconst isProdDomain=React.useMemo(()=>{if(typeof window===\"undefined\")return false;const host=window.location.hostname||\"\";return/\\bbangautoglass\\.com$/i.test(host);},[]);React.useEffect(()=>{// In non-prod environments (e.g., Framer canvas), skip network calls and show default preview content.\nif(!isProdDomain){setError(null);setRow(null);return;}let cancelled=false;const ctrl=new AbortController;async function fetchOne(url){const res=await fetch(url,{headers:supaHeaders(supabaseAnonKey),signal:ctrl.signal});if(!res.ok)return null;const data=await res.json();return Array.isArray(data)&&data.length?data[0]:null;}async function load(){if(!supabaseUrl||!supabaseAnonKey){setError(\"Supabase URL/key missing.\");setRow(null);return;}if(!modelSlug){// On prod we need a model; in preview we bail earlier.\nsetError(\"Model slug not found. Place this on /auto-glass/{make}/{model} or provide a slug override.\");setRow(null);return;}const base=`${supabaseUrl}/rest/v1/models`;const selectCols=[\"id\",\"slug\",\"make\",\"model\",\"process_aria_label\",\"process_header\",\"process_confirm_details\",\"process_schedule\",\"process_install\",\"process_calibration\",\"process_warranty_care\"].join(\",\");// Exact by slug, then title-case fallback by model.\nconst q1=`${base}?slug=eq.${encodeURIComponent(modelSlug)}&select=${encodeURIComponent(selectCols)}&order=updated_at.desc&limit=1`;const titleGuess=toTitleCaseFromSlug(modelSlug);const q2=titleGuess?`${base}?model=eq.${encodeURIComponent(titleGuess)}&select=${encodeURIComponent(selectCols)}&order=updated_at.desc&limit=1`:null;try{const rec=await fetchOne(q1)||(q2?await fetchOne(q2):null);if(cancelled)return;if(!rec){setError(\"No model found for the provided model slug.\");setRow(null);return;}setRow(rec);setError(null);}catch(e){if(cancelled)return;if(e?.name===\"AbortError\")return;setError(String(e?.message||e));setRow(null);}}load();return()=>{cancelled=true;ctrl.abort();};},[supabaseUrl,supabaseAnonKey,modelSlug,isProdDomain]);const modelName=row?.model||toTitleCaseFromSlug(modelSlug);const makeName=row?.make// optional for token replacement\n;const ariaLabel=withTokens(row?.process_aria_label??\"How our mobile {model} glass service works\",makeName,modelName)||\"How our mobile glass service works\";const heading=withTokens(row?.process_header??\"How Our Mobile Service Works\",makeName,modelName)||\"How Our Mobile Service Works\";const steps=React.useMemo(()=>{const raw=[{key:\"verify\",title:\"Verify Details\",html:withTokens(row?.process_confirm_details??\"{model} specifics pulled from the VIN ensure the exact glazing package.\",makeName,modelName)||\"\"},{key:\"schedule\",title:\"Schedule\",html:withTokens(row?.process_schedule??\"Pick a curbside or office time that works; we’ll confirm safe-to-drive guidance.\",makeName,modelName)||\"\"},{key:\"install\",title:\"Install\",html:withTokens(row?.process_install??\"We prep the pinch-weld, set the glass precisely, and refit cameras/brackets as required.\",makeName,modelName)||\"\"},{key:\"calibration\",title:\"Calibration\",html:withTokens(row?.process_calibration??\"If replacement triggers ADAS, we handle calibration to keep features working properly.\",makeName,modelName)||\"\"},{key:\"warranty\",title:\"Warranty\",html:withTokens(row?.process_warranty_care??\"You get workmanship coverage plus care tips to prevent leaks while adhesive cures.\",makeName,modelName)||\"\"}];// Rewrite any legacy service links to the new /services/{full_service} structure.\nreturn raw.map(r=>({...r,html:rewriteServiceLinks(r.html)}));},[row,makeName,modelName]);// Keep TOC scroll offset behavior\nReact.useEffect(()=>{const sections=document.querySelectorAll(\":where(section[id])\");sections.forEach(el=>el.style.setProperty(\"--offset\",`${scrollOffsetPx}px`));},[scrollOffsetPx]);return /*#__PURE__*/_jsxs(\"section\",{id:\"process\",\"aria-label\":ariaLabel,className:`bag-make-process ${className||\"\"}`,style:{...style||{},[\"--wrap-max\"]:wrapMax},\"data-framer-component\":\"ModelsMobile\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"wrap\",style:{maxWidth:wrapMax},children:[/*#__PURE__*/_jsx(\"header\",{className:\"head\",children:/*#__PURE__*/_jsx(\"h2\",{className:\"h2\",children:heading})}),error?/*#__PURE__*/_jsx(\"div\",{role:\"status\",className:\"error\",children:error}):null,/*#__PURE__*/_jsx(\"ol\",{className:\"steps\",role:\"list\",children:steps.map(({key,title,html},i)=>/*#__PURE__*/_jsxs(\"li\",{className:\"step\",role:\"listitem\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"num\",\"aria-hidden\":\"true\",children:i+1}),/*#__PURE__*/_jsxs(\"div\",{className:\"body\",children:[/*#__PURE__*/_jsx(\"h3\",{className:\"title\",children:title}),/*#__PURE__*/_jsx(\"div\",{className:\"rich\",dangerouslySetInnerHTML:{__html:html}})]})]},key))}),showCtas&&/*#__PURE__*/_jsx(\"div\",{className:\"ctaRow\",role:\"group\",\"aria-label\":\"Process actions\",children:/*#__PURE__*/_jsx(\"a\",{className:\"btn btn-primary\",href:primaryCtaHref,children:/*#__PURE__*/_jsx(\"span\",{children:primaryCtaText})})})]})]});}/* ---------- Defaults + minimal controls ---------- */ModelsMobile.defaultProps={contentMaxWidth:1280,scrollOffsetPx:96,showCtas:true,primaryCtaText:\"Schedule Appointment\",primaryCtaHref:\"/schedule-appointment/\"};addPropertyControls(ModelsMobile,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Anon Key\"},slug:{type:ControlType.String,title:\"Model Slug (override)\"}});/* ---------- Styles — aligned with theme tokens for greens + white button text ---------- */const css=/*css*/`\n.bag-make-process, .bag-make-process *{ box-sizing: border-box; }\n.bag-make-process{\n  position:relative;\n  --wrap-max:1280px;\n\n  /* Theme-aligned tokens (with safe fallbacks to preserve current visuals) */\n  --text:#0f172a;\n  --muted:#475569;\n\n  /* Accents mapped to theme */\n  --ring: color-mix(in srgb, var(--color-accent, #21cf83) 20%, transparent);\n  --btn: var(--color-accent, #21cf83);  /* primary accent */\n  --emerald: var(--emerald, #10b981);   /* theme alias for green accents */\n  --emeraldBorder: color-mix(in srgb, var(--color-accent, #21cf83) 22%, transparent);\n  --emeraldBg: color-mix(in srgb, var(--color-accent, #21cf83) 12%, transparent);\n\n  --bd: var(--color-line, rgba(2,6,23,.08));\n\n  background:#ffffff; /* keep original surface look */\n  color:var(--text);\n  padding:28px 0 26px;\n}\n\n/* hairlines */\n.bag-make-process::before,\n.bag-make-process::after{\n  content:\"\";\n  position:absolute;\n  left:50%;\n  transform:translateX(-50%);\n  width:100%;\n  max-width:var(--wrap-max);\n  height:1px;\n  background:var(--bd);\n  pointer-events:none;\n}\n.bag-make-process::before{ top:0; }\n.bag-make-process::after{ bottom:0; }\n\n.bag-make-process .wrap{ max-width:var(--wrap-max); width:100%; margin:0 auto; padding:0 16px; }\n@media(min-width:810px){ .bag-make-process .wrap{ padding:0 24px } }\n@media(min-width:1200px){ .bag-make-process .wrap{ padding:0 32px } }\n\n.bag-make-process .head{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 12px; }\n.bag-make-process .h2{ margin:0; font-family:var(--font-display, inherit); font-size:22px; font-weight:800; letter-spacing:-.01em; }\n\n/* Steps */\n.bag-make-process .steps{\n  list-style:none; padding:0; margin:6px 0 0;\n  display:grid; gap:12px;\n}\n@media(min-width:700px){\n  .bag-make-process .steps{ grid-template-columns: repeat(2, minmax(0,1fr)); gap:14px; }\n}\n@media(min-width:1200px){\n  .bag-make-process .steps{ grid-template-columns: repeat(3, minmax(0,1fr)); }\n}\n\n.bag-make-process .step{\n  position:relative; display:grid; grid-template-columns:auto 1fr; gap:12px;\n  background:#ffffff;\n  border:1px solid var(--bd); border-radius: var(--radius-xl, 16px); padding:16px;\n  box-shadow: var(--shadow-elev-1, 0 2px 8px rgba(2,6,23,.04));\n  align-items:flex-start;\n}\n\n.bag-make-process .num{\n  width:32px; height:32px; display:flex; align-items:center; justify-content:center;\n  border-radius:999px; background:var(--btn); color:#ffffff;  /* white numerals */\n  font-weight:900; font-size:14px; line-height:1;\n  flex:0 0 auto;\n}\n\n.bag-make-process .title{ margin:0 0 6px; font-size:16px; font-weight:800; letter-spacing:-.01em; }\n.bag-make-process .rich p{ margin:0; color:var(--muted); font-size:14px; line-height:1.6; }\n.bag-make-process .rich a{ color: var(--emerald, #059669); text-decoration:underline; }\n\n/* CTA */\n.bag-make-process .ctaRow{ margin-top:14px; display:flex; flex-wrap:wrap; gap:10px; }\n.bag-make-process .btn{\n  display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border-radius: var(--radius-button, 14px);\n  background:var(--btn); color:#ffffff; font-weight:800; text-decoration:none; border:0;\n  box-shadow: var(--shadow-cta, 0 6px 18px rgba(33,207,131,.25));\n  transition:filter .15s ease, transform .02s ease;\n}\n.bag-make-process .btn:hover{ filter:brightness(1.05); }\n.bag-make-process .btn:active{ transform:translateY(1px); }\n.bag-make-process .btn:focus-visible{ outline:none; box-shadow:0 0 0 4px var(--ring); }\n\n/* a11y + state */\n:where(section[id]){ scroll-margin-top: var(--offset, 96px); }\n.bag-make-process .error{ color:#1b1b1b; background:#fde68a; border:1px solid #f59e0b; padding:8px 10px; border-radius:10px; }\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelsMobile\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsMobile.map","// ModelsOem.tsx (icon-safe) — CLEANED & HARD-CODED (no section icons; keep bullet checkmarks)\n// -----------------------------------------------------------------------------\n// Now binds from public.models (not public.makes):\n//   oem_aria_label, oem_heading, oem_paragraph,\n//   oem_oem1bullet..oem_oem4bullet,\n//   oem_aftermarket1bullet..oem_aftermarket4bullet\n// Anchor id=\"oem\". Light background. Responsive.\n// Primary button only: \"Book Appointment\" → /schedule-appointment\n// Max inner content width reaches 1280px (container accounts for padding).\n// Optimization & Theming:\n// - Supabase queries only run on bangautoglass.com; Framer canvas uses defaults.\n// - Exact slug equality lookup for fastest REST path.\n// - Colors/radii/shadows lean on Theme tokens where possible without changing visuals.\n// - Internal links to old /auto-glass/{make}/{model}/{service} are rewritten to /services/{make}-{model}-{service}.\n// -----------------------------------------------------------------------------\n\"use client\";import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/* ---------- Domain gate (prod vs. editor/staging) ---------- */function isBangAutoGlassProd(){if(typeof window===\"undefined\")return false;const host=window.location.hostname||\"\";return host===\"bangautoglass.com\"||host.endsWith(\".bangautoglass.com\");}/* ---------- Inline Supabase client (REST fetcher, tiny) ---------- */function createClient(supabaseUrl,supabaseKey){const baseHeaders={apikey:supabaseKey,Authorization:`Bearer ${supabaseKey}`};return{from:table=>({select:columns=>({limit:n=>({eq:async(column,value,opts)=>{const url=`${supabaseUrl}/rest/v1/${table}?${column}=eq.${encodeURIComponent(value)}&select=${encodeURIComponent(columns)}&limit=${n}`;const res=await fetch(url,{headers:baseHeaders,signal:opts?.signal});if(!res.ok)return{data:null,error:{message:await res.text()}};return{data:await res.json(),error:null};},ilike:async(column,value,opts)=>{const url=`${supabaseUrl}/rest/v1/${table}?${column}=ilike.${encodeURIComponent(value)}&select=${encodeURIComponent(columns)}&limit=${n}`;const res=await fetch(url,{headers:baseHeaders,signal:opts?.signal});if(!res.ok)return{data:null,error:{message:await res.text()}};return{data:await res.json(),error:null};}})})})};}/* ---------- Inline Icons ---------- */const Shield=({size=20,...props})=>/*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"})});const Building2=({size=18,...props})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 6h4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 10h4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 14h4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 18h4\"})]});const Scale=({size=18,...props})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:[/*#__PURE__*/_jsx(\"path\",{d:\"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M7 21h10\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 3v18\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2\"})]});const CheckCircle2=({size=16,...props})=>/*#__PURE__*/_jsxs(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...props,children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),/*#__PURE__*/_jsx(\"path\",{d:\"m9 12 2 2 4-4\"})]});/* ---------- Helpers ---------- */function withMakeTokens(input,makeName){if(!input)return input??undefined;const m=(makeName||\"your\").trim();return input.replace(/\\{\\s*make\\s*\\}/gi,m);}/** Rewrite internal service URLs from old pattern to new. Works on plain text and HTML. */function rewriteServiceUrls(str,make,model){if(!str)return str;let out=str;// Absolute URLs\nout=out.replace(/https?:\\/\\/(?:www\\.)?bangautoglass\\.com\\/auto-glass\\/([A-Za-z0-9-]+)\\/([A-Za-z0-9-]+)\\/([A-Za-z0-9-]+)/g,(_m,mk,mdl,svc)=>{const full=`${mk}-${mdl}-${svc}`.toLowerCase();return`https://bangautoglass.com/services/${full}`;});// Relative URLs\nout=out.replace(/\\/auto-glass\\/([A-Za-z0-9-]+)\\/([A-Za-z0-9-]+)\\/([A-Za-z0-9-]+)/g,(_m,mk,mdl,svc)=>{const full=`${mk}-${mdl}-${svc}`.toLowerCase();return`/services/${full}`;});// If content forgot to include make/model and we have them, upgrade /auto-glass/* placeholders just in case\nif(make&&model){out=out.replace(/\\/auto-glass\\/\\{?make\\}?\\/\\{?model\\}?\\/([A-Za-z0-9-]+)/g,(_m,svc)=>`/services/${`${make}-${model}-${svc}`.toLowerCase()}`);}return out;}/* ---------- Component ---------- */export default function ModelsOem({supabaseUrl,supabaseAnonKey,slug,className,style}){// Hard-coded behavior/settings (unchanged visuals)\nconst MAX_WIDTH=\"1280px\";const DESKTOP_PAD_X=48;const WRAP_MAX_COMPUTED=`calc(${MAX_WIDTH} + ${DESKTOP_PAD_X*2}px)`;const SCROLL_OFFSET_PX=96;const SHOW_COMPARISON=true;const SHOW_BADGES=true;const CTA_TEXT=\"Book Appointment\";const CTA_HREF=\"/schedule-appointment\";const[isProd,setIsProd]=React.useState(false);React.useEffect(()=>{setIsProd(isBangAutoGlassProd());},[]);const resolvedSlug=React.useMemo(()=>{if(slug)return slug;if(typeof window!==\"undefined\"){const parts=window.location.pathname.split(\"/\").filter(Boolean);// Works for /auto-glass/{make}/{model} → model is last segment\nreturn parts[parts.length-1]||undefined;}return undefined;},[slug]);const[row,setRow]=React.useState(null);const[error,setError]=React.useState(null);const supabase=React.useMemo(()=>{if(!supabaseUrl||!supabaseAnonKey)return null;return createClient(supabaseUrl,supabaseAnonKey);},[supabaseUrl,supabaseAnonKey]);// Data load — gated to production domain only to keep Framer canvas snappy\nReact.useEffect(()=>{let cancelled=false;const controller=new AbortController;async function load(){// Only fetch live on prod domain; in editor/staging we show defaults silently\nif(!isProd)return;if(!supabase){setError(\"Supabase URL/key missing.\");setRow(null);return;}if(!resolvedSlug){setError(\"Provide a model slug or place this on a /auto-glass/{make}/{model} page.\");setRow(null);return;}const columns=[\"id\",\"slug\",\"model\",\"make\",\"oem_aria_label\",\"oem_heading\",\"oem_paragraph\",\"oem_oem1bullet\",\"oem_oem2bullet\",\"oem_oem3bullet\",\"oem_oem4bullet\",\"oem_aftermarket1bullet\",\"oem_aftermarket2bullet\",\"oem_aftermarket3bullet\",\"oem_aftermarket4bullet\"].join(\", \");// Prefer exact equality for fastest lookup (ensure index on models.slug)\nconst query=supabase.from(\"models\").select(columns).limit(1);const{data,error}=await query.eq(\"slug\",resolvedSlug,{signal:controller.signal});if(cancelled)return;if(error){setError(error.message);setRow(null);}else{const rec=data?.[0]||null;setRow(rec);if(!rec)setError(\"No model found for the given slug.\");}}load();return()=>{cancelled=true;controller.abort();};},[supabase,resolvedSlug,isProd]);const makeName=row?.make||undefined;const ariaLabel=withMakeTokens(row?.oem_aria_label??\"OEM-quality vs aftermarket options for {make}\",makeName)||\"OEM-quality vs aftermarket options\";const heading=withMakeTokens(row?.oem_heading??\"OEM-Quality vs Aftermarket Options\",makeName)||\"OEM-Quality vs Aftermarket Options\";// Paragraph with internal-link rewrite\nconst paragraphHtml=React.useMemo(()=>{const base=row?.oem_paragraph??\"We prioritize OEM-quality glass for {make} to preserve safety systems, acoustic performance, optical clarity, and precise fit. Our team verifies VIN-level features—HUD areas, camera brackets, rain/light sensors, tint bands, and heating elements—so the installed windshield matches your build. When acceptable, select aftermarket options from Tier-1 suppliers may be used if they meet DOT/AGSC guidance and match OEM specifications.\";const withTokens=withMakeTokens(base,makeName)||\"\";return rewriteServiceUrls(withTokens,row?.make,row?.model)||\"\";},[row?.oem_paragraph,row?.make,row?.model,makeName]);// Bullets with internal-link rewrite\nconst oemBullets=React.useMemo(()=>{const list=[row?.oem_oem1bullet,row?.oem_oem2bullet,row?.oem_oem3bullet,row?.oem_oem4bullet].map(b=>withMakeTokens(b,makeName)).filter(Boolean);return(list.length?list:[\"Matches OEM thickness, acoustic layers, frits, and coatings\",\"Correct brackets for cameras, sensors, mirrors, and HUD\",\"Optical clarity and curvature reduce distortion\",\"Supports proper ADAS calibration outcomes\"]).map(b=>rewriteServiceUrls(b,row?.make,row?.model)||b);},[row?.oem_oem1bullet,row?.oem_oem2bullet,row?.oem_oem3bullet,row?.oem_oem4bullet,row?.make,row?.model,makeName]);const aftermarketBullets=React.useMemo(()=>{const list=[row?.oem_aftermarket1bullet,row?.oem_aftermarket2bullet,row?.oem_aftermarket3bullet,row?.oem_aftermarket4bullet].map(b=>withMakeTokens(b,makeName)).filter(Boolean);return(list.length?list:[\"Tier-1 producers that meet DOT/AGSC guidance\",\"Feature-match verified against your VIN/options\",\"Used only when it equals OEM specs for fit & function\",\"Backed by our workmanship warranty\"]).map(b=>rewriteServiceUrls(b,row?.make,row?.model)||b);},[row?.oem_aftermarket1bullet,row?.oem_aftermarket2bullet,row?.oem_aftermarket3bullet,row?.oem_aftermarket4bullet,row?.make,row?.model,makeName]);React.useEffect(()=>{const sections=document.querySelectorAll(\":where(section[id])\");sections.forEach(el=>el.style.setProperty(\"--offset\",`${SCROLL_OFFSET_PX}px`));},[]);// Suppress error UI when not in prod (Framer canvas editing) to keep visuals clean\nconst showError=isProd&&!!error;return /*#__PURE__*/_jsxs(\"section\",{id:\"oem\",\"aria-label\":ariaLabel,className:`bag-make-oem ${className||\"\"}`,style:{...style||{},[\"--wrap-max\"]:MAX_WIDTH},\"data-framer-component\":\"ModelsOem\",children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"wrap\",style:{maxWidth:WRAP_MAX_COMPUTED},children:[/*#__PURE__*/_jsxs(\"header\",{className:\"head\",children:[/*#__PURE__*/_jsx(Shield,{size:20}),/*#__PURE__*/_jsx(\"h2\",{className:\"h2\",children:heading})]}),showError?/*#__PURE__*/_jsx(\"div\",{role:\"status\",className:\"error\",children:error}):null,/*#__PURE__*/_jsxs(\"div\",{className:\"grid\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"content\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"rich\",dangerouslySetInnerHTML:{__html:paragraphHtml||\"\"}}),/*#__PURE__*/_jsx(\"div\",{className:\"ctaRow\",role:\"group\",\"aria-label\":\"OEM section primary action\",children:/*#__PURE__*/_jsxs(\"a\",{className:\"btn btn-primary\",href:CTA_HREF,\"aria-label\":\"Book your auto glass appointment\",children:[/*#__PURE__*/_jsx(Shield,{size:16,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"span\",{children:CTA_TEXT})]})}),SHOW_BADGES&&/*#__PURE__*/_jsxs(\"ul\",{className:\"badges\",\"aria-label\":\"Certifications and standards\",children:[/*#__PURE__*/_jsx(\"li\",{children:\"AGSC standards\"}),/*#__PURE__*/_jsx(\"li\",{children:\"DOT compliant materials\"}),/*#__PURE__*/_jsx(\"li\",{children:\"Tier-1 suppliers\"})]})]}),SHOW_COMPARISON&&/*#__PURE__*/_jsx(\"aside\",{className:\"aside\",\"aria-label\":\"OEM vs aftermarket at a glance\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"card\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"row\",children:/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h3\",{children:\"OEM-Quality Glass\"}),/*#__PURE__*/_jsx(\"ul\",{className:\"list\",children:oemBullets.map((b,i)=>/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16}),/*#__PURE__*/_jsx(\"span\",{dangerouslySetInnerHTML:{__html:b}})]},`oem-${i}`))})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"row\",children:/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h3\",{children:\"Aftermarket (When Acceptable)\"}),/*#__PURE__*/_jsx(\"ul\",{className:\"list\",children:aftermarketBullets.map((b,i)=>/*#__PURE__*/_jsxs(\"li\",{children:[/*#__PURE__*/_jsx(CheckCircle2,{size:16}),/*#__PURE__*/_jsx(\"span\",{dangerouslySetInnerHTML:{__html:b}})]},`aft-${i}`))})]})})]})})]})]})]});}/* ---------- Property Controls (ONLY: Supabase + optional slug override) ---------- */addPropertyControls(ModelsOem,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Anon Key\"},slug:{type:ControlType.String,title:\"Model Slug (override)\"}});/* ---------- Styles (unchanged visuals; tokens aligned where safe) ---------- */const css=/*css*/`\n.bag-make-oem, .bag-make-oem *{ box-sizing: border-box; }\n.bag-make-oem{\n  --wrap-max:1280px;\n  /* Local palette tuned to keep light section visuals unchanged */\n  --text:#0a0a0a; \n  --muted:#525252;\n  /* Accents, borders & radii come from Theme tokens */\n  --accent:var(--color-accent);\n  --accent-hover:var(--color-accent-2);\n  --success:var(--aqua-500);\n  --border:var(--color-line);\n  --card-bg:#fafafa;\n\n  background:#ffffff;\n  color:var(--text);\n  padding:72px 0;\n  position:relative;\n}\n.bag-make-oem::before{\n  content:'';\n  position:absolute;\n  top:0; left:0; right:0;\n  height:1px;\n  background:linear-gradient(90deg, transparent, var(--border) 20%, var(--border) 80%, transparent);\n}\n.bag-make-oem .wrap{ max-width:var(--wrap-max); margin:0 auto; width:100%; padding:0 18px; }\n@media(min-width:810px){ .bag-make-oem .wrap{ padding:0 32px } }\n@media(min-width:1200px){ .bag-make-oem .wrap{ padding:0 48px } }\n\n.bag-make-oem .head{\n  display:flex; align-items:center; gap:12px;\n  margin:0 0 14px;\n  padding-bottom: 18px;\n  border-bottom:2px solid var(--border);\n}\n.bag-make-oem .head svg{ color:var(--accent); stroke-width:2.5; }\n.bag-make-oem .h2{\n  margin:0; font-size:28px; font-weight:700; letter-spacing:-.02em;\n  background:linear-gradient(135deg, var(--text) 0%, var(--muted) 100%);\n  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;\n}\n@media(min-width:810px){ .bag-make-oem .h2{ font-size:36px; } }\n\n.bag-make-oem .grid{ display:grid; gap:28px; grid-template-columns:1fr; margin-top:32px; }\n@media(min-width:980px){ .bag-make-oem .grid{ grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:44px; } }\n\n/* Paragraph block — enforced font to beat external overrides */\n.bag-make-oem .content .rich{\n  -webkit-font-smoothing: antialiased;\n  text-rendering: optimizeLegibility;\n  font-family: var(--font-body, Inter), ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Apple Color Emoji\", \"Segoe UI Emoji\" !important;\n}\n.bag-make-oem .content .rich p{\n  margin:0 0 16px;\n  color:#3f3f46 !important;\n  line-height:1.75 !important;\n  font-size:16px !important;\n  letter-spacing:0;\n}\n.bag-make-oem .content .rich a{\n  color:var(--accent); text-decoration:none; border-bottom:1px solid var(--accent);\n  transition:border-color .2s ease;\n}\n.bag-make-oem .content .rich a:hover{ border-bottom-color:transparent; }\n\n.bag-make-oem .ctaRow{\n  display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;\n}\n.bag-make-oem .btn{\n  display:inline-flex; align-items:center; justify-content:center;\n  gap:10px; padding:14px 22px; border-radius:var(--radius-lg);\n  font-weight:600; font-size:15px; text-decoration:none;\n  border:2px solid transparent; transition:all .2s cubic-bezier(0.4,0,0.2,1); cursor:pointer;\n  box-shadow: var(--shadow-cta, 0 4px 12px rgba(14,165,233,.25));\n}\n.bag-make-oem .btn svg{ transition:transform .2s ease; }\n.bag-make-oem .btn:hover svg{ transform:translateX(2px); }\n.bag-make-oem .btn-primary{\n  background:var(--accent); color:#ffffff;\n}\n.bag-make-oem .btn-primary:hover{\n  background:var(--accent-hover);\n  transform:translateY(-1px);\n}\n.bag-make-oem .btn:focus-visible{ outline:none; box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 28%, transparent); }\n@media(max-width:520px){\n  .bag-make-oem .btn{ width:100%; }\n}\n\n.bag-make-oem .badges{\n  list-style:none; margin:22px 0 0; padding:0;\n  display:flex; flex-wrap:wrap; gap:10px;\n}\n.bag-make-oem .badges li{\n  display:inline-flex; align-items:center; gap:6px; padding:10px 18px;\n  border-radius:var(--radius-md); background:var(--card-bg); border:1px solid var(--border);\n  font-weight:600; font-size:13px; color:var(--text); transition:all .2s ease;\n}\n.bag-make-oem .badges li:hover{\n  background:#ffffff; border-color:var(--accent); transform:translateY(-2px);\n  box-shadow:0 4px 12px rgba(0,0,0,.06);\n}\n\n/* Aside card — internal padding retained; section icons removed */\n.bag-make-oem .aside .card{\n  border-radius:var(--radius-2xl); background:var(--card-bg); border:1px solid var(--border);\n  box-shadow: var(--shadow-card, 0 4px 24px rgba(0,0,0,.04)); padding:24px; transition:box-shadow .3s ease;\n}\n@media(min-width:1200px){\n  .bag-make-oem .aside .card{ padding:32px; }\n}\n\n/* Rows now single-column since icons were removed */\n.bag-make-oem .row{ display:grid; grid-template-columns:1fr; gap:16px; align-items:start; padding:0; }\n.bag-make-oem .row + .row{ border-top:1px solid var(--border); margin-top:22px; padding-top:22px; }\n.bag-make-oem .row svg{ color:var(--accent); stroke-width:2.5; margin-top:2px; }\n.bag-make-oem .row h3{ margin:0 0 10px; font-size:18px; font-weight:700; color:var(--text); letter-spacing:-.01em; }\n\n/* Bullet checkmarks kept */\n.bag-make-oem .list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }\n.bag-make-oem .list li{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:var(--muted); line-height:1.6; }\n.bag-make-oem .list svg{ color:var(--success); flex-shrink:0; margin-top:3px; stroke-width:2.5; }\n\n:where(section[id]){ scroll-margin-top: var(--offset, 96px); }\n.bag-make-oem .error{\n  color:#dc2626; background:#fef2f2; border:1px solid #fecaca;\n  padding:12px 16px; border-radius:var(--radius-lg); font-size:14px; font-weight:500;\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelsOem\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsOem.map","// ModelsServices.tsx — based on MakeServices, retargeted to public.models\n// Desktop: 3 columns × 2 rows | Tablet: 2 columns | Mobile: 1 column\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";/* -------------------------- utilities -------------------------- *//** Replace {make} or {model} tokens (case-insensitive) with the provided name */function withTokens(input,name){if(!input)return input??undefined;const n=name?.trim()||\"your\";return input.replace(/\\{\\s*(make|model)\\s*\\}/gi,n);}/** Slugify helper for URL parts */function slugify(s){if(!s)return\"\";return s.toLowerCase().trim().replace(/[^a-z0-9]+/g,\"-\").replace(/^-+|-+$/g,\"\");}/** Parse make & model from URL when in /auto-glass/{make}/{model} */function parseMakeModelFromUrl(){if(typeof window===\"undefined\")return{};const parts=window.location.pathname.split(\"/\").filter(Boolean);const idx=parts.indexOf(\"auto-glass\");if(idx!==-1){const make=parts[idx+1]?decodeURIComponent(parts[idx+1]):undefined;const model=parts[idx+2]?decodeURIComponent(parts[idx+2]):undefined;return{make,model};}// fallback: last segment treated as \"model\"\nreturn{model:parts.length?decodeURIComponent(parts[parts.length-1]):undefined};}/** Derive model slug (back-compat with previous behavior) */function deriveSlugFromUrl(){if(typeof window===\"undefined\")return null;const{model}=parseMakeModelFromUrl();return model||null;}/** Detect production domain to control when Supabase queries run */function onBangDomain(){if(typeof window===\"undefined\")return false;const host=window.location.hostname;return/\\.?bangautoglass\\.com$/i.test(host);}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export default function ServicesSection(props){const{style,supabaseUrl,supabaseAnonKey,slug:slugOverride,scrollOffsetPx=96}=props;// Use a single stroke value across the set (Material/Fluent recommend ~2 on a 24 grid)\nconst stroke=2.1;// Helper: common attrs for all icon <path>/<rect> for crisp, consistent rendering\nconst common={stroke:\"currentColor\",strokeWidth:stroke,strokeLinecap:\"round\",strokeLinejoin:\"round\",vectorEffect:\"non-scaling-stroke\",fill:\"none\"};// Inline SVG icon set (24x24 grid, optically centered)\nconst Icons={Windshield:()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"path\",{...common,d:\"M6.5 6 L17.5 6 L19.6 14.9 Q12 16.8 4.4 14.9 Z\"})}),DoorGlass:()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"path\",{...common,d:\"M7 6 Q12.4 5.7 16.6 7.7 L18 14.2 L18 16 L7 16 Z\"})}),RearGlass:()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"path\",{...common,d:\"M5 8.5 Q12 7.9 19 8.5 L17.6 15.5 Q12 16.1 6.4 15.5 Z\"})}),QuarterGlass:()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"path\",{...common,d:\"M6.6 8.6 Q12.2 8.0 15.8 8.6 L17.8 8.6 L17.8 15.0 Q12.3 16.1 9.0 15.6 Z\"})}),Sunroof:()=>/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\",children:/*#__PURE__*/_jsx(\"rect\",{...common,x:\"7.2\",y:\"7.8\",width:\"9.6\",height:\"6.4\",rx:\"2.1\"})}),ADAS:()=>/*#__PURE__*/_jsxs(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",focusable:\"false\",children:[/*#__PURE__*/_jsx(\"path\",{...common,d:\"M7 6 H5 V8 M17 6 h2 v2 M7 18 H5 v-2 M17 18h2v-2\"}),/*#__PURE__*/_jsx(\"circle\",{...common,cx:\"12\",cy:\"12\",r:\"2.6\"}),/*#__PURE__*/_jsx(\"path\",{...common,d:\"M12 9.2v1.6 M12 13.2v1.6 M9.2 12h1.6 M13.2 12h1.6\"})]})};/* --------------------------- data wiring --------------------------- */const[row,setRow]=React.useState(null);const[derivedSlug,setDerivedSlug]=React.useState(null);const[urlParts,setUrlParts]=React.useState({});// figure out which slug to use and capture URL parts\nReact.useEffect(()=>{if(!slugOverride){setDerivedSlug(deriveSlugFromUrl());setUrlParts(parseMakeModelFromUrl());}else{setDerivedSlug(slugOverride);setUrlParts({model:slugOverride});}},[slugOverride]);const effectiveSlug=(slugOverride??derivedSlug??\"\").trim();const isProd=onBangDomain();const supabase=React.useMemo(()=>{// Only create a client on the live domain to avoid slowing Framer canvas edits\nif(!isProd||!supabaseUrl||!supabaseAnonKey)return null;return createClient(supabaseUrl,supabaseAnonKey);},[isProd,supabaseUrl,supabaseAnonKey]);React.useEffect(()=>{let cancelled=false;async function load(){// Skip querying off-domain (e.g., Framer canvas / preview) or when missing essentials\nif(!isProd||!supabase||!effectiveSlug){setRow(null);return;}const fields=[\"id\",\"slug\",\"services_aria_label\",\"services_heading\",\"services_paragraph\",\"service_front_paragraph\",\"service_rear_paragraph\",\"service_door_paragraph\",\"service_quarter_paragraph\",\"service_sunroof_paragraph\",\"service_adas_calibration_paragraph\"].join(\", \");// Fast path: exact match (best with an index)\nlet{data,error}=await supabase.from(\"models\").select(fields).eq(\"slug\",effectiveSlug).limit(1);// Fallback: case-insensitive match if exact returns nothing\nif(!error&&(!data||data.length===0)){const res=await supabase.from(\"models\").select(fields).ilike(\"slug\",effectiveSlug).limit(1);data=res.data;error=res.error;}if(cancelled)return;if(error){setRow(null)// fail silent, keep defaults for editor visibility\n;}else{setRow((data?.[0])??null);}}load();return()=>{cancelled=true;};},[supabase,effectiveSlug,isProd]);/* ------------------------- content mapping ------------------------- */// If you later add a \"model\" or \"name\" column, pass it into withTokens below.\nconst modelName=undefined;const sectionAria=withTokens(row?.services_aria_label,modelName)||withTokens(\"Services for {model}\",modelName);const headingText=withTokens(row?.services_heading,modelName)||withTokens(\"Services for {model}\",modelName);const subheadingText=withTokens(row?.services_paragraph,modelName)||\"Expert auto glass services for your vehicle, delivered by certified technicians\";// Titles are FIXED per spec; only paragraphs come from Supabase\nconst card={windshield:{title:\"Windshield Replacement\",desc:withTokens(row?.service_front_paragraph,modelName)||\"Professional windshield replacement using OEM-quality glass and advanced installation techniques\"},door:{title:\"Door Glass Replacement\",desc:withTokens(row?.service_door_paragraph,modelName)||\"Expert door glass replacement for driver, passenger, and rear doors with precise fitting\"},rear:{title:\"Rear Glass Replacement\",desc:withTokens(row?.service_rear_paragraph,modelName)||\"Complete rear windshield replacement with careful sealing and proper adhesive curing\"},quarter:{title:\"Quarter Panel Glass Replacement\",desc:withTokens(row?.service_quarter_paragraph,modelName)||\"Specialized quarter glass service ensuring proper seal and structural integrity\"},sunroof:{title:\"Sunroof Glass Replacement\",desc:withTokens(row?.service_sunroof_paragraph,modelName)||\"Sunroof glass replacement and repair including track alignment and seal inspection\"},adas:{title:\"ADAS Calibration\",desc:withTokens(row?.service_adas_calibration_paragraph,modelName)||\"Calibration to verify cameras and sensors function correctly after windshield replacement\"}};// Build NEW canonical service URLs at /services/{make}-{model}-{service}\nconst makeSlug=slugify(urlParts.make);const modelSlug=slugify(row?.slug||urlParts.model||effectiveSlug||\"\");const serviceSlug=svc=>{const head=[makeSlug,modelSlug].filter(Boolean).join(\"-\");return head?`/services/${head}-${svc}`:`/services/${svc}`;};const serviceUrls={windshield:serviceSlug(\"windshield-replacement\"),door:serviceSlug(\"door-glass-replacement\"),rear:serviceSlug(\"rear-glass-replacement\"),sunroof:serviceSlug(\"sunroof-glass-replacement\"),quarter:serviceSlug(\"quarter-panel-glass-replacement\"),adas:serviceSlug(\"adas-calibration\")};/* --------------------------- browse models --------------------------- */const smoothTo=hash=>{if(typeof window===\"undefined\")return;const el=document.querySelector(hash);if(!el)return;const y=el.getBoundingClientRect().top+window.scrollY-scrollOffsetPx;window.scrollTo({top:y,behavior:\"smooth\"});};return /*#__PURE__*/_jsxs(\"section\",{id:\"services\"// <-- anchor for TOC\n,\"aria-label\":sectionAria||\"Services\",style:{...style,width:\"100%\",background:`\n          radial-gradient(75% 120% at 120% 0%, color-mix(in srgb, var(--neon) 64%, transparent) 0%, transparent 52%),\n          radial-gradient(75% 120% at -20% 0%, color-mix(in srgb, var(--neon-400) 62%, transparent) 0%, transparent 52%),\n          linear-gradient(180deg, #050708 0%, #0a0f11 56%, #0b1012 100%)\n        `,padding:\"clamp(40px, 6vw, 64px) clamp(16px, 4vw, 32px)\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:32,borderBottom:\"1px solid var(--color-line)\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n        /* Typography & spacing (fluid) aligned with theme tokens */\n        .services-heading { font-size: clamp(24px, 3.5vw, 32px); line-height: 1.1; }\n        .services-subheading { font-size: clamp(14px, 1.4vw, 15px); line-height: 1.35; }\n        .services-card-title { font-size: clamp(16px, 1.6vw, 18px); }\n        .services-card-description { font-size: clamp(13px, 1.4vw, 14px); }\n        .services-card { padding: clamp(16px, 2.4vw, 20px); }\n        .services-grid { gap: clamp(12px, 1.8vw, 16px); }\n        .services-buttons { gap: clamp(12px, 1.6vw, 14px); }\n\n        /* Desktop: exactly 3 columns = 3\\xd72 with 6 items */\n        .services-grid {\n          display: grid;\n          grid-template-columns: repeat(3, minmax(0, 1fr));\n          width: 100%;\n        }\n\n        /* Icon scale — large but balanced; stroke doesn't scale (see vectorEffect) */\n        .services-card-icon svg {\n          width: clamp(48px, 6vw, 64px);\n          height: clamp(48px, 6vw, 64px);\n          display: block;\n        }\n\n        /* Tablet (<= 1024px): 2 columns + balanced side padding */\n        @media (max-width: 1024px) {\n          .services-grid { grid-template-columns: repeat(2, 1fr) !important; }\n        }\n\n        /* Mobile (<= 768px): 1 column + stacked CTAs */\n        @media (max-width: 768px) {\n          .services-container { gap: 24px !important; }\n          .services-buttons { flex-direction: column !important; width: 100% !important; }\n          .services-buttons a, .services-buttons button {\n            width: 100% !important;\n            text-align: center !important;\n            padding: 12px 20px !important;\n            font-size: 14px !important;\n          }\n        }\n\n        /* Hover elevation only on hover-capable devices */\n        @media (hover:hover) and (pointer:fine) {\n          .services-card:hover {\n            transform: translateY(-2px);\n            background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.10));\n            border-color: color-mix(in srgb, var(--neon) 24%, rgba(255,255,255,.25));\n          }\n        }\n      `}),/*#__PURE__*/_jsxs(\"div\",{className:\"services-container\",style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:32,width:\"100%\",maxWidth:1280,margin:\"0 auto\"},children:[/*#__PURE__*/_jsxs(\"header\",{className:\"services-header\",style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:8,textAlign:\"center\",maxWidth:800},children:[/*#__PURE__*/_jsx(\"h2\",{className:\"services-heading\",style:{margin:0,color:\"var(--color-text)\",fontWeight:700,letterSpacing:\"-0.04em\"},children:headingText}),/*#__PURE__*/_jsx(\"p\",{className:\"services-subheading\",style:{margin:0,color:\"var(--color-muted)\",fontWeight:500,letterSpacing:\"-0.01em\"},children:subheadingText})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"services-grid\",role:\"list\",children:[/*#__PURE__*/_jsxs(\"article\",{role:\"listitem\",id:`${modelSlug||\"model\"}-windshield-replacement`,\"data-service-href\":serviceUrls.windshield,className:\"services-card\",style:{background:\"linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06))\",border:\"1px solid var(--color-line-2)\",boxShadow:\"inset 0 0 0 1px rgba(255,255,255,.02)\",backdropFilter:\"blur(6px) saturate(120%)\",borderRadius:\"var(--radius-lg)\",display:\"flex\",flexDirection:\"column\",gap:10,transition:\"transform 0.2s ease, background 0.2s ease, border-color 0.2s ease\",willChange:\"transform\"},itemScope:true,itemType:\"https://schema.org/Service\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"services-card-icon\",style:{color:\"var(--color-accent)\",lineHeight:1},children:/*#__PURE__*/_jsx(Icons.Windshield,{})}),/*#__PURE__*/_jsx(\"h3\",{className:\"services-card-title\",itemProp:\"name\",style:{margin:0,color:\"var(--color-text)\",fontWeight:700,letterSpacing:\"-0.015em\",lineHeight:\"1.2\"},children:card.windshield.title}),/*#__PURE__*/_jsx(\"p\",{className:\"services-card-description\",itemProp:\"description\",style:{margin:0,color:\"var(--color-muted)\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:1.45},children:card.windshield.desc})]}),/*#__PURE__*/_jsxs(\"article\",{role:\"listitem\",id:`${modelSlug||\"model\"}-door-glass-replacement`,\"data-service-href\":serviceUrls.door,className:\"services-card\",style:{background:\"linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06))\",border:\"1px solid var(--color-line-2)\",boxShadow:\"inset 0 0 0 1px rgba(255,255,255,.02)\",backdropFilter:\"blur(6px) saturate(120%)\",borderRadius:\"var(--radius-lg)\",display:\"flex\",flexDirection:\"column\",gap:10,transition:\"transform 0.2s ease, background 0.2s ease, border-color 0.2s ease\",willChange:\"transform\"},itemScope:true,itemType:\"https://schema.org/Service\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"services-card-icon\",style:{color:\"var(--color-accent)\",lineHeight:1},children:/*#__PURE__*/_jsx(Icons.DoorGlass,{})}),/*#__PURE__*/_jsx(\"h3\",{className:\"services-card-title\",itemProp:\"name\",style:{margin:0,color:\"var(--color-text)\",fontWeight:700,letterSpacing:\"-0.015em\",lineHeight:\"1.2\"},children:card.door.title}),/*#__PURE__*/_jsx(\"p\",{className:\"services-card-description\",itemProp:\"description\",style:{margin:0,color:\"var(--color-muted)\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:1.45},children:card.door.desc})]}),/*#__PURE__*/_jsxs(\"article\",{role:\"listitem\",id:`${modelSlug||\"model\"}-rear-glass-replacement`,\"data-service-href\":serviceUrls.rear,className:\"services-card\",style:{background:\"linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06))\",border:\"1px solid var(--color-line-2)\",boxShadow:\"inset 0 0 0 1px rgba(255,255,255,.02)\",backdropFilter:\"blur(6px) saturate(120%)\",borderRadius:\"var(--radius-lg)\",display:\"flex\",flexDirection:\"column\",gap:10,transition:\"transform 0.2s ease, background 0.2s ease, border-color 0.2s ease\",willChange:\"transform\"},itemScope:true,itemType:\"https://schema.org/Service\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"services-card-icon\",style:{color:\"var(--color-accent)\",lineHeight:1},children:/*#__PURE__*/_jsx(Icons.RearGlass,{})}),/*#__PURE__*/_jsx(\"h3\",{className:\"services-card-title\",itemProp:\"name\",style:{margin:0,color:\"var(--color-text)\",fontWeight:700,letterSpacing:\"-0.015em\",lineHeight:\"1.2\"},children:card.rear.title}),/*#__PURE__*/_jsx(\"p\",{className:\"services-card-description\",itemProp:\"description\",style:{margin:0,color:\"var(--color-muted)\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:1.45},children:card.rear.desc})]}),/*#__PURE__*/_jsxs(\"article\",{role:\"listitem\",id:`${modelSlug||\"model\"}-quarter-panel-glass-replacement`,\"data-service-href\":serviceUrls.quarter,className:\"services-card\",style:{background:\"linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06))\",border:\"1px solid var(--color-line-2)\",boxShadow:\"inset 0 0 0 1px rgba(255,255,255,.02)\",backdropFilter:\"blur(6px) saturate(120%)\",borderRadius:\"var(--radius-lg)\",display:\"flex\",flexDirection:\"column\",gap:10,transition:\"transform 0.2s ease, background 0.2s ease, border-color 0.2s ease\",willChange:\"transform\"},itemScope:true,itemType:\"https://schema.org/Service\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"services-card-icon\",style:{color:\"var(--color-accent)\",lineHeight:1},children:/*#__PURE__*/_jsx(Icons.QuarterGlass,{})}),/*#__PURE__*/_jsx(\"h3\",{className:\"services-card-title\",itemProp:\"name\",style:{margin:0,color:\"var(--color-text)\",fontWeight:700,letterSpacing:\"-0.015em\",lineHeight:\"1.2\"},children:card.quarter.title}),/*#__PURE__*/_jsx(\"p\",{className:\"services-card-description\",itemProp:\"description\",style:{margin:0,color:\"var(--color-muted)\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:1.45},children:card.quarter.desc})]}),/*#__PURE__*/_jsxs(\"article\",{role:\"listitem\",id:`${modelSlug||\"model\"}-sunroof-glass-replacement`,\"data-service-href\":serviceUrls.sunroof,className:\"services-card\",style:{background:\"linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06))\",border:\"1px solid var(--color-line-2)\",boxShadow:\"inset 0 0 0 1px rgba(255,255,255,.02)\",backdropFilter:\"blur(6px) saturate(120%)\",borderRadius:\"var(--radius-lg)\",display:\"flex\",flexDirection:\"column\",gap:10,transition:\"transform 0.2s ease, background 0.2s ease, border-color 0.2s ease\",willChange:\"transform\"},itemScope:true,itemType:\"https://schema.org/Service\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"services-card-icon\",style:{color:\"var(--color-accent)\",lineHeight:1},children:/*#__PURE__*/_jsx(Icons.Sunroof,{})}),/*#__PURE__*/_jsx(\"h3\",{className:\"services-card-title\",itemProp:\"name\",style:{margin:0,color:\"var(--color-text)\",fontWeight:700,letterSpacing:\"-0.015em\",lineHeight:\"1.2\"},children:card.sunroof.title}),/*#__PURE__*/_jsx(\"p\",{className:\"services-card-description\",itemProp:\"description\",style:{margin:0,color:\"var(--color-muted)\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:1.45},children:card.sunroof.desc})]}),/*#__PURE__*/_jsxs(\"article\",{role:\"listitem\",id:`${modelSlug||\"model\"}-adas-calibration`,\"data-service-href\":serviceUrls.adas,className:\"services-card\",style:{background:\"linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06))\",border:\"1px solid var(--color-line-2)\",boxShadow:\"inset 0 0 0 1px rgba(255,255,255,.02)\",backdropFilter:\"blur(6px) saturate(120%)\",borderRadius:\"var(--radius-lg)\",display:\"flex\",flexDirection:\"column\",gap:10,transition:\"transform 0.2s ease, background 0.2s ease, border-color 0.2s ease\",willChange:\"transform\"},itemScope:true,itemType:\"https://schema.org/Service\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"services-card-icon\",style:{color:\"var(--color-accent)\",lineHeight:1},children:/*#__PURE__*/_jsx(Icons.ADAS,{})}),/*#__PURE__*/_jsx(\"h3\",{className:\"services-card-title\",itemProp:\"name\",style:{margin:0,color:\"var(--color-text)\",fontWeight:700,letterSpacing:\"-0.015em\",lineHeight:\"1.2\"},children:card.adas.title}),/*#__PURE__*/_jsx(\"p\",{className:\"services-card-description\",itemProp:\"description\",style:{margin:0,color:\"var(--color-muted)\",fontWeight:500,letterSpacing:\"-0.01em\",lineHeight:1.45},children:card.adas.desc})]})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"services-buttons\",style:{display:\"flex\",gap:14,marginTop:8},children:[/*#__PURE__*/_jsx(\"a\",{href:\"https://www.bangautoglass.com/schedule-appointment\",target:\"_self\",rel:\"noopener\",\"aria-label\":\"Schedule an appointment\",className:\"u-cta-gradient\",style:{textDecoration:\"none\",color:\"var(--ink-0)\",padding:\"14px 32px\",borderRadius:\"var(--radius-button)\",border:\"none\",cursor:\"pointer\",transition:\"transform 0.2s ease, box-shadow 0.2s ease\",fontSize:14,fontWeight:700,letterSpacing:\"-0.01em\",lineHeight:1,boxShadow:\"none\"},onMouseEnter:e=>{if(typeof window!==\"undefined\"&&window.matchMedia(\"(hover:hover)\").matches){e.currentTarget.style.transform=\"translateY(-2px)\";e.currentTarget.style.boxShadow=\"var(--shadow-cta)\";}},onMouseLeave:e=>{if(typeof window!==\"undefined\"&&window.matchMedia(\"(hover:hover)\").matches){e.currentTarget.style.transform=\"translateY(0)\";e.currentTarget.style.boxShadow=\"none\";}},children:\"Schedule Appointment\"}),/*#__PURE__*/_jsx(\"button\",{onClick:e=>{e.preventDefault();smoothTo(\"#models\");},\"aria-label\":\"Browse models\",style:{background:\"transparent\",color:\"var(--color-text)\",padding:\"14px 32px\",borderRadius:\"var(--radius-button)\",border:\"1px solid var(--color-line-2)\",cursor:\"pointer\",transition:\"background 0.2s ease, border-color 0.2s ease\",fontSize:14,fontWeight:700,letterSpacing:\"-0.01em\",lineHeight:1},children:\"Browse Models\"})]})]})]});}/* ----------------------- minimal property controls ---------------------- */addPropertyControls(ServicesSection,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Anon Key\"},slug:{type:ControlType.String,title:\"Slug Override (optional)\"},scrollOffsetPx:{type:ControlType.Number,title:\"Scroll Offset (px)\",min:0,max:200,defaultValue:96}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ServicesSection\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsServices.map","// ModelsTOC.tsx — BLACK+GREEN THEME v1.2 (theme-aligned, live-domain fetch gate)\n// -----------------------------------------------------------------------------\n\"use client\";import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";import{Info,Wrench,DollarSign,Crosshair,CheckCircle2,List,ShieldCheck,HelpCircle}from\"lucide-react\";/* -------------------------- utilities -------------------------- */function withModelTokens(input,modelName,makeName){if(!input)return input??undefined;const mdl=modelName?.trim()||\"your model\";const mk=makeName?.trim()||\"your\";return input.replace(/\\{\\s*model\\s*\\}/gi,mdl).replace(/\\{\\s*make\\s*\\}/gi,mk);}function deriveModelSlugFromUrl(){if(typeof window===\"undefined\")return null;const parts=window.location.pathname.split(\"/\").filter(Boolean);const idx=parts.indexOf(\"auto-glass\");// Expecting /auto-glass/{make}/{model}/...\nif(idx!==-1&&parts[idx+2])return decodeURIComponent(parts[idx+2]).toLowerCase();return parts.length?decodeURIComponent(parts[parts.length-1]).toLowerCase():null;}function isLiveSite(){if(typeof window===\"undefined\")return false;const host=window.location.hostname;// Gate Supabase calls to the live site only (supports root or subdomains on bangautoglass.com)\nreturn/(^|\\.)bangautoglass\\.com$/i.test(host);}/* ---------------------------- component ---------------------------- */export default function ModelsTOC(props){const{supabaseUrl,supabaseAnonKey,slug:slugOverride,className,style}=props;const[derivedSlug,setDerivedSlug]=React.useState(null);const effectiveSlugRaw=(slugOverride??derivedSlug??\"\").trim();const effectiveSlug=effectiveSlugRaw?effectiveSlugRaw.toLowerCase():\"\";React.useEffect(()=>{if(!slugOverride)setDerivedSlug(deriveModelSlugFromUrl());},[slugOverride]);const[row,setRow]=React.useState(null);const[loading,setLoading]=React.useState(false);const[error,setError]=React.useState(null);const live=React.useMemo(()=>isLiveSite(),[]);const supabase=React.useMemo(()=>{if(!supabaseUrl||!supabaseAnonKey)return null;return createClient(supabaseUrl,supabaseAnonKey);},[supabaseUrl,supabaseAnonKey]);React.useEffect(()=>{let cancelled=false;async function load(){// In editor / non-live domains, show default content and do not fetch.\nif(!live){setLoading(false);setError(null);setRow(null)// default tokenized content (editable visuals)\n;return;}if(!supabase){setError(\"Supabase client not configured.\");setRow(null);return;}if(!effectiveSlug){setError(\"No model slug found. Provide a slug override or ensure URL is /auto-glass/{make}/{model}.\");setRow(null);return;}setLoading(true);setError(null);const columns=[\"id\",\"slug\",\"model\",\"make\",\"toc_aria_label\",\"toc_about_model\",\"toc_services\",\"toc_cost_factors\",\"toc_adas\",\"toc_oem\",\"toc_process\",\"toc_insurance\",\"toc_all_models\",\"toc_faqs\"].join(\", \");// Prefer indexed equality on normalized slug for speed\nconst{data:eqData,error:eqErr}=await supabase.from(\"models\").select(columns).eq(\"slug\",effectiveSlug).maybeSingle();if(cancelled)return;if(eqErr&&eqErr.message){// If equality lookup fails hard, we'll try a soft fallback below\n// but don't surface this intermediate error.\n}if(eqData){setRow(eqData);setLoading(false);return;}// Fallback: case-insensitive match (for legacy, less performant)\nconst{data:likeData,error:likeErr}=await supabase.from(\"models\").select(columns).ilike(\"slug\",effectiveSlug).limit(1);if(cancelled)return;if(likeErr){setError(likeErr.message);setRow(null);}else{const rec=likeData?.[0]||null;setRow(rec);if(!rec)setError(\"No model found for the given slug.\");}setLoading(false);}load();return()=>{cancelled=true;};},[supabase,effectiveSlug,live]);const title=withModelTokens(\"{model} Auto Glass & Windshield Replacement — On This Page\",row?.model||undefined,row?.make||undefined)||\"On This Page: Auto Glass & Windshield Replacement\";const subtitle=withModelTokens(\"Jump to key sections covering {model} windshield replacement, ADAS calibration, OEM-quality options, pricing factors, our process, insurance, and FAQs.\",row?.model||undefined,row?.make||undefined)||\"\";const labels={about_model:withModelTokens(row?.toc_about_model??\"About the {model}\",row?.model||undefined,row?.make||undefined)||\"\",services:withModelTokens(row?.toc_services??\"Services for {model}\",row?.model||undefined,row?.make||undefined)||\"\",cost_factors:withModelTokens(row?.toc_cost_factors??\"{model} Windshield Replacement Cost Factors\",row?.model||undefined,row?.make||undefined)||\"\",all_models:withModelTokens(row?.toc_all_models??\"All {make} Models\",row?.model||undefined,row?.make||undefined)||\"\",adas:withModelTokens(row?.toc_adas??\"ADAS Camera & Sensor Calibration\",row?.model||undefined,row?.make||undefined)||\"\",oem:withModelTokens(row?.toc_oem??\"OEM-Quality vs Aftermarket Options\",row?.model||undefined,row?.make||undefined)||\"\",process:withModelTokens(row?.toc_process??\"How Our Mobile Service Works\",row?.model||undefined,row?.make||undefined)||\"\",insurance:withModelTokens(row?.toc_insurance??\"Insurance & Claims\",row?.model||undefined,row?.make||undefined)||\"\",faq:withModelTokens(row?.toc_faqs??\"{model} Auto Glass FAQs\",row?.model||undefined,row?.make||undefined)||\"\"};// ORDER (models): about-model → services → cost-factors → all-models → adas → oem → process → insurance → faq\nconst navItems=[{id:\"about-model\",label:labels.about_model,Icon:Info},{id:\"services\",label:labels.services,Icon:Wrench},{id:\"cost-factors\",label:labels.cost_factors,Icon:DollarSign},{id:\"all-models\",label:labels.all_models,Icon:List},{id:\"adas\",label:labels.adas,Icon:Crosshair},{id:\"oem\",label:labels.oem,Icon:CheckCircle2},{id:\"process\",label:labels.process,Icon:List},{id:\"insurance\",label:labels.insurance,Icon:ShieldCheck},{id:\"faq\",label:labels.faq,Icon:HelpCircle}].filter(n=>(n.label||\"\").trim().length>0);// Scroll spy\nconst[active,setActive]=React.useState(\"\");React.useEffect(()=>{if(typeof window===\"undefined\")return;const OFFSET=96;const obs=new IntersectionObserver(entries=>{for(const e of entries)if(e.isIntersecting)setActive(e.target.id);},{root:null,rootMargin:`-${OFFSET+8}px 0px -60% 0px`,threshold:[0,.1,.5]});navItems.forEach(n=>{const el=document.getElementById(n.id);if(el)obs.observe(el);});return()=>obs.disconnect();},[navItems]);// Equal-height chips\nconst sectionRef=React.useRef(null);React.useEffect(()=>{const root=sectionRef.current;if(!root)return;const calc=()=>{const chips=Array.from(root.querySelectorAll(\".chip\"));let max=0;for(const el of chips){el.style.minHeight=\"\";const h=Math.ceil(el.getBoundingClientRect().height);if(h>max)max=h;}if(max>0)root.style.setProperty(\"--chip-h\",`${max}px`);};const ro=new ResizeObserver(calc);const grid=root.querySelector(\".chipGrid\");if(grid)ro.observe(grid);window.addEventListener(\"resize\",calc);const t1=setTimeout(calc,0);const t2=setTimeout(calc,250);const t3=setTimeout(calc,800);return()=>{ro.disconnect();window.removeEventListener(\"resize\",calc);clearTimeout(t1);clearTimeout(t2);clearTimeout(t3);};},[navItems.length,title,subtitle]);const smoothTo=hash=>{const el=document.querySelector(hash);if(!el)return;const OFFSET=96;const y=el.getBoundingClientRect().top+window.scrollY-OFFSET;window.scrollTo({top:y,behavior:\"smooth\"});};const onSelect=e=>{const v=e.target.value;if(v)smoothTo(v);};const ariaTitleId=\"toc-heading\";const ariaNavLabel=withModelTokens(row?.toc_aria_label??\"In-page links\",row?.model||undefined,row?.make||undefined)||\"In-page links\";return /*#__PURE__*/_jsxs(\"section\",{ref:sectionRef,id:\"toc\",\"aria-labelledby\":ariaTitleId,className:`bag-make-toc-pro stickyDesk ${className||\"\"}`,\"data-framer-component\":\"ModelsTOC\",\"data-loading\":loading?\"true\":undefined,\"data-live\":live?\"true\":\"false\",style:style,children:[/*#__PURE__*/_jsx(\"style\",{children:css}),/*#__PURE__*/_jsxs(\"div\",{className:\"wrap\",children:[/*#__PURE__*/_jsxs(\"header\",{className:\"hdr\",children:[/*#__PURE__*/_jsx(\"h2\",{id:ariaTitleId,className:\"title\",children:title}),subtitle?/*#__PURE__*/_jsx(\"p\",{className:\"subtitle\",children:subtitle}):null]}),live&&error?/*#__PURE__*/_jsx(\"div\",{role:\"status\",className:\"err\",children:error}):null,navItems.length>0&&/*#__PURE__*/_jsxs(\"div\",{className:\"mobileSelect\",children:[/*#__PURE__*/_jsx(\"label\",{className:\"sr-only\",htmlFor:\"toc-select\",children:\"Jump to section\"}),/*#__PURE__*/_jsx(\"div\",{className:\"selectWrap\",children:/*#__PURE__*/_jsxs(\"select\",{id:\"toc-select\",onChange:onSelect,\"aria-label\":\"Jump to section\",children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"Jump to…\"}),navItems.map(n=>/*#__PURE__*/_jsx(\"option\",{value:`#${n.id}`,children:n.label},n.id))]})})]}),/*#__PURE__*/_jsx(\"nav\",{\"aria-label\":ariaNavLabel,children:/*#__PURE__*/_jsx(\"ul\",{className:\"chipGrid\",role:\"list\",children:navItems.map(({id,label,Icon})=>{const href=`#${id}`;const isActive=active===id;return /*#__PURE__*/_jsx(\"li\",{className:\"chipWrap\",children:/*#__PURE__*/_jsxs(\"a\",{href:href,onClick:e=>{e.preventDefault();smoothTo(href);},\"aria-current\":isActive?\"location\":undefined,className:`chip ${isActive?\"active\":\"\"}`,children:[/*#__PURE__*/_jsx(Icon,{size:16}),/*#__PURE__*/_jsx(\"span\",{className:\"chipText\",children:label})]})},id);})})})]})]});}/* ----------------------- minimal property controls ---------------------- */addPropertyControls(ModelsTOC,{supabaseUrl:{type:ControlType.String,title:\"Supabase URL\"},supabaseAnonKey:{type:ControlType.String,title:\"Supabase Anon Key\"},slug:{type:ControlType.String,title:\"Model Slug Override (optional)\"}});/* --------------------------- THEME-ALIGNED STYLING --------------------------- */const css=/*css*/`\n.bag-make-toc-pro, .bag-make-toc-pro * { box-sizing: border-box; }\n\n.bag-make-toc-pro{\n  /* Pull from global Theme tokens */\n  --accent: var(--color-accent);\n  --accent-2: var(--color-accent-2);\n  --ring: color-mix(in hsl, var(--accent) 38%, transparent);\n\n  --page-max: 1280px;\n  --page-gutter: clamp(16px, 3vw, 32px);\n\n  --text: var(--color-text);\n  --muted: var(--color-muted);\n\n  color: var(--text);\n  padding-inline: var(--page-gutter);\n  padding-block: clamp(18px, 3.6vw, 28px);\n\n  background:\n    radial-gradient(60% 60% at 8% 0%, color-mix(in hsl, var(--accent) 10%, transparent) 0%, transparent 55%),\n    linear-gradient(180deg, var(--ink-3, #0d1216) 0%, var(--ink-3, #0d1216) 48%, var(--ink-4, #10161a) 100%);\n  position: relative;\n\n  border-top: 2px solid color-mix(in hsl, var(--accent) 80%, var(--color-bg));\n  border-bottom: 2px solid color-mix(in hsl, var(--accent) 80%, var(--color-bg));\n  box-shadow:\n    inset 0 10px 24px color-mix(in hsl, var(--accent) 10%, transparent),\n    inset 0 -10px 24px color-mix(in hsl, var(--accent) 10%, transparent);\n}\n\n.bag-make-toc-pro::before{\n  content:\"\"; position:absolute; inset:0; pointer-events:none; opacity:.06; mix-blend-mode:overlay;\n  background-image:\n    repeating-linear-gradient(0deg, rgba(255,255,255,.035) 0 1px, transparent 1px 3px),\n    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 3px);\n}\n\n.bag-make-toc-pro.stickyDesk{ position:relative; }\n@media(min-width:960px){ .bag-make-toc-pro.stickyDesk{ position:sticky; top:0; z-index:2; } }\n\n.bag-make-toc-pro .wrap{ max-width: var(--page-max); width:100%; margin-inline:auto; }\n\n.bag-make-toc-pro .hdr{ display:grid; gap:6px; margin:0 0 clamp(10px,1.8vw,14px); }\nb, strong { font-weight:700; }\n.bag-make-toc-pro .title{ margin:0; font-size: clamp(18px, 1.5vw, 22px); font-weight:700; letter-spacing:-.005em; color: var(--text); }\n.bag-make-toc-pro .subtitle{ margin:0; color: color-mix(in hsl, var(--muted) 88%, transparent); font-size:14px; max-width:72ch; line-height:1.55; }\n\n.bag-make-toc-pro .mobileSelect{ display:block; margin:10px 0 14px; }\n.bag-make-toc-pro .mobileSelect .selectWrap{ position:relative; }\n.bag-make-toc-pro .mobileSelect select{\n  width:100%; height:44px; border-radius: var(--radius-lg, 14px); font-weight:700;\n  color: var(--text);\n  background: var(--color-surface, rgba(255,255,255,.06));\n  border:1px solid var(--color-line, rgba(255,255,255,.20));\n  padding:0 44px 0 12px;\n  appearance:none; -webkit-appearance:none; -moz-appearance:none;\n}\n.bag-make-toc-pro .mobileSelect .selectWrap::after{\n  content:\"\"; position:absolute; top:50%; right:14px; width:10px; height:10px;\n  transform: translateY(-50%) rotate(45deg);\n  border-right: 2px solid color-mix(in hsl, var(--accent) 80%, white 5%);\n  border-bottom: 2px solid color-mix(in hsl, var(--accent) 80%, white 5%);\n  pointer-events:none; opacity:.95;\n}\n.bag-make-toc-pro .mobileSelect select:focus{\n  outline:none; box-shadow:0 0 0 3px var(--ring), 0 0 0 5px rgba(0,0,0,.6);\n  border-color: color-mix(in hsl, var(--accent) 42%, transparent);\n}\n.bag-make-toc-pro .mobileSelect select option,\n.bag-make-toc-pro .mobileSelect select optgroup{\n  background-color: var(--ink-3, #0b1c17); color: var(--text, #e9fff6);\n}\n.bag-make-toc-pro .mobileSelect select option:hover,\n.bag-make-toc-pro .mobileSelect select option:checked{\n  background-color: color-mix(in hsl, var(--accent) 24%, var(--ink-3, #0b1c17)); color:#ffffff;\n}\n@media(min-width:820px){ .bag-make-toc-pro .mobileSelect{ display:none } }\n\n.bag-make-toc-pro .chipGrid{\n  list-style:none; margin:0; padding:0;\n  display:grid; gap:12px;\n  grid-template-columns: repeat(2, minmax(0,1fr));\n  align-items:stretch;\n}\n@media(min-width:640px){ .bag-make-toc-pro .chipGrid{ grid-template-columns: repeat(3, minmax(0,1fr)); } }\n@media(min-width:960px){ .bag-make-toc-pro .chipGrid{ grid-template-columns: repeat(4, minmax(0,1fr)); } }\n@media(min-width:1280px){ .bag-make-toc-pro .chipGrid{ grid-template-columns: repeat(5, minmax(0,1fr)); } }\n.bag-make-toc-pro .chipWrap{ min-width:0; display:flex; }\n\n.bag-make-toc-pro .chip{\n  display:flex; align-items:flex-start; gap:10px;\n  width:100%;\n  min-height: var(--chip-h, 56px);\n  padding:12px 14px; border-radius: var(--radius-lg, 14px);\n  text-decoration:none; font-weight:700; font-size:14px; white-space:normal;\n  color: var(--text);\n\n  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));\n  border:1px solid var(--color-line, rgba(255,255,255,.18));\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);\n  -webkit-backdrop-filter: blur(6px) saturate(120%);\n  backdrop-filter: blur(6px) saturate(120%);\n\n  transition: transform .12s ease, background .12s ease, color .12s ease, border-color .12s ease, box-shadow .12s ease;\n}\n.bag-make-toc-pro .chip svg{\n  flex:0 0 auto; margin-top:2px;\n  color: color-mix(in hsl, var(--accent) 70%, white 10%);\n}\n.bag-make-toc-pro .chipText{\n  flex:1 1 auto; line-height:1.35;\n  white-space:normal; word-break:break-word; overflow-wrap:anywhere;\n}\n\n.bag-make-toc-pro .chip:hover{\n  background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.10));\n  border-color: color-mix(in hsl, var(--accent) 24%, var(--color-line, rgba(255,255,255,.25)));\n  transform: translateY(-1px);\n}\n.bag-make-toc-pro .chip:focus{\n  outline:none; box-shadow:0 0 0 3px var(--ring), 0 0 0 5px rgba(0,0,0,.65);\n  border-color: color-mix(in hsl, var(--accent) 42%, transparent);\n}\n.bag-make-toc-pro .chip.active{\n  background: linear-gradient(180deg,\n    color-mix(in hsl, var(--accent) 16%, rgba(255,255,255,.22)),\n    rgba(255,255,255,.12)\n  );\n  border-color: color-mix(in hsl, var(--accent) 50%, var(--color-line, rgba(255,255,255,.2)));\n  box-shadow: 0 10px 26px color-mix(in hsl, var(--accent) 26%, transparent), inset 0 0 0 1px rgba(255,255,255,.18);\n}\n\n/* Anchor offset for target sections */\n:where(section[id]){ scroll-margin-top: 96px; }\n\n.sr-only{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }\n/* Error uses theme-friendly contrast for both dark/light */\n.err{\n  color:#b91c1c;\n  background: color-mix(in hsl, #ef4444 12%, white);\n  border:1px solid color-mix(in hsl, #ef4444 38%, white);\n  padding:8px 10px; border-radius: var(--radius-md, 12px); margin:8px 0 12px; font-size:14px;\n}\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ModelsTOC\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ModelsTOC.map"],"mappings":"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"}