{"version":3,"file":"ServiceSubheadline.Y3Optqrg.mjs","names":["_Fragment"],"sources":["https:/framerusercontent.com/modules/uNqNkZyn3IpLTwQ59dBY/d5ZewLD4Q54A89gaLzrf/ServiceSubheadline.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";// Normalizes \"Board & Train\", \"board-and-train\", \"Board and Train\" -> \"board and train\"\nconst normalize=(value=\"\")=>value.toLowerCase().replace(/&/g,\"and\").replace(/[-_/]+/g,\" \").replace(/\\s+/g,\" \").trim();// \"Newport Beach\" -> \"newport-beach\", \"Baltimore, MD\" -> \"baltimore-md\"\nconst slugify=(value=\"\")=>value.trim().toLowerCase().replace(/[^a-z0-9]+/g,\"-\").replace(/^-+|-+$/g,\"\");const getDefaultSubheadline=(service=\"\",city=\"your city\",stateAbbr=\"your state\")=>{const citySlug=slugify(city);const stateSlug=slugify(stateAbbr);// Guard against city fields that already include the state (\"Baltimore, MD\")\nconst marketSlug=stateSlug&&!citySlug.endsWith(`-${stateSlug}`)?`${citySlug}-${stateSlug}`:citySlug;const packWalkingURL=`/pack-walking/${marketSlug}`;const groomingURL=`/mobile-grooming/${marketSlug}`;switch(normalize(service)){case\"pack walk\":case\"pack walks\":case\"pack walking\":return\"A structured walking experience led by seasoned handlers — combining exercise, training, and social enrichment for dogs with elevated standards.\";case\"private walk\":case\"private walks\":case\"private walking\":case\"private dog walking\":return\"Personalized walks designed around your routine — perfect for pet parents who expect peace of mind, professionalism, and care at every step.\";case\"dog training\":case\"training\":return`Our trainers use personalized, science-backed methods to solve real behavior issues—from reactivity and leash pulling to confidence-building and focus. We also offer <a href='${packWalkingURL}'>pack walks</a> and <a href='${groomingURL}'>mobile grooming</a> in ${city}.`;case\"mobile grooming\":case\"mobile dog grooming\":return\"Private, crate-free grooming that's calm, consistent, and just steps from your home.\";case\"overnight boarding\":case\"boarding\":return\"An exclusive offering for existing clients, providing structured, stress-free overnights in a home environment trusted by our most loyal families.\";case\"puppy board and train\":case\"puppy boarding and training\":case\"puppy training\":return`Now enrolling in ${city}, ${stateAbbr} and surrounding areas.`;case\"board and train\":return\"Your dog lives in the trainer's home, not a kennel — structured, daily training in a real-world environment.\";default:return\"\";}};export default function ServiceSubheadline({subheadline,service,city=\"your city\",stateAbbr=\"your state\"}){const finalSubheadline=subheadline?.trim()||getDefaultSubheadline(service,city,stateAbbr);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                .responsive-subheadline {\n                    font-family: 'Public Sans', sans-serif;\n                    font-size: 24px;\n                    font-weight: 500;\n                    line-height: 130%;\n                    letter-spacing: -0.04em;\n                    color: #212625;\n                    margin: 0;\n                    max-width: 800px;\n                }\n\n                @media (max-width: 768px) {\n                    .responsive-subheadline {\n                        font-size: 16px;\n                        line-height: 150%;\n                    }\n                }\n\n                .responsive-subheadline a {\n                    color: #1E88E5;\n                    text-decoration: underline;\n                }\n                `}),/*#__PURE__*/_jsx(\"p\",{className:\"responsive-subheadline\",dangerouslySetInnerHTML:{__html:finalSubheadline}})]});}addPropertyControls(ServiceSubheadline,{subheadline:{type:ControlType.String,title:\"Subheadline\",defaultValue:\"\",placeholder:\"Optional override\"},service:{type:ControlType.String,title:\"Service\",defaultValue:\"Pack Walks\"},city:{type:ControlType.String,title:\"City\",defaultValue:\"Newport Beach\"},stateAbbr:{type:ControlType.String,title:\"State Abbr\",defaultValue:\"CA\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ServiceSubheadline\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ServiceSubheadline.map"],"mappings":"sKAG8lD,SAAwB,EAAmB,CAAC,cAAY,UAAQ,OAAK,YAAY,YAAU,cAAc,CAAC,IAAM,EAAiB,GAAa,KAAK,GAAG,EAAsB,EAAQ,EAAK,CAAS,EAAE,OAAoB,EAAMA,EAAU,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;iBAuBp2D,CAAC,EAAe,EAAK,IAAI,CAAC,UAAU,yBAAyB,wBAAwB,CAAC,OAAO,CAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,uBA1BvD,IAAoD,EAC5H,GAAW,EAAM,KAAK,EAAM,YAAY,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,QAAQ,UAAU,GAAG,CAAC,CAAC,QAAQ,OAAO,GAAG,CAAC,CAAC,KAAK,EAC9G,GAAS,EAAM,KAAK,EAAM,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,cAAc,GAAG,CAAC,CAAC,QAAQ,WAAW,EAAE,EAAQ,GAAuB,EAAQ,GAAG,EAAK,YAAY,EAAU,eAAe,CAAC,IAAM,EAAS,EAAQ,CAAI,EAAQ,EAAU,EAAQ,CAAS,EAClP,EAAW,GAAW,CAAC,EAAS,SAAS,IAAI,GAAW,EAAE,GAAG,EAAS,GAAG,IAAY,EAAe,EAAe,iBAAiB,IAAmB,EAAY,oBAAoB,IAAa,OAAO,EAAU,CAAO,EAAxB,CAA2B,IAAI,YAAY,IAAI,aAAa,IAAI,eAAe,MAAM,mJAAmJ,IAAI,eAAe,IAAI,gBAAgB,IAAI,kBAAkB,IAAI,sBAAsB,MAAM,+IAA+I,IAAI,eAAe,IAAI,WAAW,MAAM,kLAAkL,EAAe,gCAAgC,EAAY,2BAA2B,EAAK,GAAG,IAAI,kBAAkB,IAAI,sBAAsB,MAAM,uFAAuF,IAAI,qBAAqB,IAAI,WAAW,MAAM,qJAAqJ,IAAI,wBAAwB,IAAI,8BAA8B,IAAI,iBAAiB,MAAM,oBAAoB,EAAK,IAAI,EAAU,yBAAyB,IAAI,kBAAkB,MAAM,+GAA+G,QAAQ,MAAM,EAAG,CAAC,EAuBt9C,EAAoB,EAAmB,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,YAAY,mBAAmB,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,YAAY,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,eAAe,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,IAAI,CAAC,CAAC"}