{"version":3,"file":"CardShadows.Dfeo749p.mjs","names":[],"sources":["https:/framerusercontent.com/modules/p7WXPWiTKxSvzL9ARkah/qHQoosD4FKMv8lxASKRp/CardShadows.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls}from\"framer\";/**\n * CardShadows\n *\n * Adds subtle box-shadows to white / bordered cards and runs agency-page\n * responsive overrides on /agency.\n *\n * HOW TO REVERT: remove this component from the page, or restore the\n * previous version from Framer's version history. All injected styles\n * and DOM attributes are cleaned up on unmount.\n *\n * Performance / scroll-jank fix (this revision):\n *   The previous revision used JS to set inline `!important` styles on\n *   tracked elements. That works on first render, but when scroll-triggered\n *   Framer components (HighlightReveal, animated reveals, etc.) fire and\n *   cause React subtrees to re-render, React replaces those elements'\n *   `style` props and our inline overrides get wiped. The element snaps\n *   back to its desktop size, and on the next pass the overrides reapply.\n *   On mobile English builds this manifested as the page visibly resizing\n *   between two layouts as the user scrolled.\n *\n *   The fix: do all the responsive work as PURE CSS rules scoped under\n *   `[data-agency-page]`. JS only tags elements with stable `data-*` markers\n *   (which React doesn't touch), and CSS handles every actual style change.\n *   Pure CSS can't be clobbered by React re-renders.\n */const SHADOW=\"0 8px 40px rgba(0,0,0,0.08), 0 2px 12px rgba(0,0,0,0.04)\";const SHADOW_ATTR=\"data-kime-shadow\";export default function CardShadows(){useEffect(()=>{/* ── Card shadow injection ── */var t=[];function go(){var a=document.querySelectorAll(\"div\");for(var j=0;j<a.length;j++){var e=a[j];if(e.hasAttribute(SHADOW_ATTR))continue;var s=window.getComputedStyle(e);var bg=s.backgroundColor;var r=parseFloat(s.borderRadius)||0;var rc=e.getBoundingClientRect();var w=rc.width,h=rc.height;var wh=bg===\"rgb(255, 255, 255)\";var bw=parseFloat(s.borderTopWidth)||0;var hb=bw>0&&s.borderTopStyle!==\"none\";var nc=bg!==\"transparent\"&&bg!==\"rgba(0, 0, 0, 0)\"&&!!bg;if(wh&&r>=12&&w>150&&h>150){e.style.boxShadow=SHADOW;e.setAttribute(SHADOW_ATTR,\"1\");t.push(e);continue;}if(hb&&r>=10&&w>150&&h>100&&nc){e.style.boxShadow=SHADOW;e.setAttribute(SHADOW_ATTR,\"1\");t.push(e);}}var ac=document.querySelectorAll(\"[data-kime-analyse-card]\");for(var k=0;k<ac.length;k++){var c=ac[k];if(c.hasAttribute(SHADOW_ATTR))continue;c.style.boxShadow=SHADOW;c.setAttribute(SHADOW_ATTR,\"1\");t.push(c);}}var d1=setTimeout(go,100);var d2=setTimeout(go,600);var d3=setTimeout(go,2e3);/* ── Agency page responsive overrides ── */var agencyCleanup=setupAgencyResponsive();return function(){clearTimeout(d1);clearTimeout(d2);clearTimeout(d3);for(var i=0;i<t.length;i++){t[i].style.boxShadow=\"\";t[i].removeAttribute(SHADOW_ATTR);}if(agencyCleanup)agencyCleanup();};},[]);return /*#__PURE__*/_jsx(\"div\",{style:{width:1,height:1,opacity:0,pointerEvents:\"none\",overflow:\"hidden\"}});}addPropertyControls(CardShadows,{});/* ==========================================================================\n   AGENCY PAGE – TABLET & MOBILE RESPONSIVE OVERRIDES\n   Only runs on /agency. Pure-CSS approach: JS only tags elements with stable\n   data-* markers; all style changes happen in the stylesheet. Reversible:\n   the stylesheet and all data-* markers are removed on unmount.\n   ========================================================================== */function setupAgencyResponsive(){if(typeof window===\"undefined\")return null;var path=window.location.pathname.replace(/\\/$/,\"\");// Match /agency and any locale-prefixed variant like /dk/agency\nif(!/(^|\\/)agency$/.test(path))return null;var STYLE_ID=\"agency-responsive-css\";/*\n     * All responsive behaviour lives here as CSS. Scoped under\n     * [data-agency-page] so we never touch other pages. Element-specific\n     * overrides use small data-* markers added by the JS pass below.\n     *\n     * Why CSS not inline JS styles: React re-renders during scroll wipe\n     * inline styles on Framer-managed elements, but stylesheets are not\n     * affected by React. CSS rules survive any re-render.\n     */var CSS=[\"/* ===== Agency responsive – tablet (<=810px) ===== */\",\"@media(max-width:810px){\",\"  [data-agency-page] h1{font-size:40px!important;line-height:1.2em!important}\",\"  [data-agency-page] h2{font-size:36px!important;line-height:1.2em!important}\",\"  [data-agency-page] [data-agency-pad]{padding-left:20px!important;padding-right:20px!important}\",\"  /* Funnel card: full-width, fixed height on tablet */\",\"  [data-agency-page] [data-agency-funnel-card]{\",\"    width:100%!important;max-width:100%!important;height:380px!important;\",\"  }\",\"  /* Feature card rows: stack vertically */\",\"  [data-agency-page] [data-agency-feature-row]{\",\"    flex-direction:column!important;height:auto!important;\",\"  }\",\"  [data-agency-page] [data-agency-feature-row]>*{\",\"    width:100%!important;height:auto!important;min-height:280px!important;flex:none!important;\",\"  }\",\"  [data-agency-page] [data-agency-feature-row]>* [data-agency-feature-col]{\",\"    height:auto!important;\",\"  }\",\"  [data-agency-page] [data-agency-feature-row]>* [data-agency-feature-col]>*{\",\"    height:auto!important;min-height:250px!important;flex:none!important;\",\"  }\",\"  /* Before/after row */\",\"  [data-agency-page] [data-agency-beforeafter-row]{\",\"    flex-direction:column!important;gap:16px!important;\",\"  }\",\"  [data-agency-page] [data-agency-beforeafter-row]>*{\",\"    width:100%!important;height:320px!important;\",\"  }\",\"  /* Pitch visual card */\",\"  [data-agency-page] [data-agency-pitch-card]{\",\"    width:100%!important;max-width:100%!important;\",\"  }\",\"  /* CTA / demo green section */\",\"  [data-agency-page] [data-agency-cta-section]{\",\"    padding-top:40px!important;padding-bottom:40px!important;\",\"  }\",\"  [data-agency-page] [data-agency-cta-section] [data-agency-cta-inner]{\",\"    min-height:auto!important;\",\"  }\",\"}\",\"/* ===== Agency responsive – phone (<=480px) ===== */\",\"@media(max-width:480px){\",\"  [data-agency-page] h1{font-size:28px!important;line-height:1.2em!important}\",\"  [data-agency-page] h2{font-size:26px!important;line-height:1.2em!important}\",\"  [data-agency-page] p{font-size:14px!important;line-height:1.5em!important}\",\"  [data-agency-page] [data-agency-pad]{padding-left:16px!important;padding-right:16px!important}\",\"  /* Hero buttons stack vertically */\",\"  [data-agency-page] [data-agency-hero-buttons]{\",\"    flex-direction:column!important;align-items:stretch!important;gap:10px!important;width:100%!important;\",\"  }\",\"  /* Funnel card height shrinks further on phone */\",\"  [data-agency-page] [data-agency-funnel-card]{\",\"    height:260px!important;\",\"  }\",\"  /* Before/after cards a touch shorter */\",\"  [data-agency-page] [data-agency-beforeafter-row]>*{\",\"    height:300px!important;\",\"  }\",\"  /* CTA section padding tightens */\",\"  [data-agency-page] [data-agency-cta-section]{\",\"    padding-top:32px!important;padding-bottom:32px!important;\",\"  }\",\"  /* Outer section padding scales down */\",\"  [data-agency-page] [data-agency-section-pad]{\",\"    padding-top:var(--agency-section-pt-phone)!important;\",\"    padding-bottom:var(--agency-section-pb-phone)!important;\",\"  }\",\"  /* Hero wrapper override on phone */\",\"  [data-agency-page] [data-agency-hero-wrap]{\",\"    padding-top:40px!important;padding-bottom:32px!important;\",\"  }\",\"}\"].join(\"\\n\");if(!document.getElementById(STYLE_ID)){var styleEl=document.createElement(\"style\");styleEl.id=STYLE_ID;styleEl.textContent=CSS;document.head.appendChild(styleEl);}/*\n     * Tag the page root synchronously. Doing this in the same task as\n     * mount means the [data-agency-page] CSS scope applies before the\n     * first paint that the user sees, eliminating the visible \"snap\"\n     * from desktop sizes to mobile sizes that happened in the previous\n     * revision (where tagging waited until 200ms).\n     */function tagPageRoot(){var existing=document.querySelector(\"[data-agency-page]\");if(existing)return existing;var pr=document.querySelector(\"[data-framer-name]\");if(!pr){// Fallback: pick a large container\nvar all=document.querySelectorAll(\"div\");for(var i=0;i<all.length;i++){var el=all[i];if(el.offsetWidth>600&&el.offsetHeight>400){pr=el;break;}}}if(pr)pr.setAttribute(\"data-agency-page\",\"1\");return pr;}tagPageRoot();// Tracked tagged elements; on cleanup we strip every tag we added.\nvar tagged=[];function tag(el,attr){if(el.hasAttribute(attr))return;el.setAttribute(attr,\"1\");// If we've already tracked this element, append the attr; otherwise add a new entry.\nfor(var i=0;i<tagged.length;i++){if(tagged[i].el===el){tagged[i].attrs.push(attr);return;}}tagged.push({el:el,attrs:[attr]});}function findByText(tagName,text){var els=document.querySelectorAll(tagName);for(var i=0;i<els.length;i++){if((els[i].textContent||\"\").includes(text))return els[i];}return null;}function ancestorWhere(el,test,max){if(!max)max=12;var n=el.parentElement;for(var i=0;i<max;i++){if(!n)return null;if(test(n))return n;n=n.parentElement;}return null;}function findFlexRows(section,heading){var rows=[];section.querySelectorAll(\"div\").forEach(function(d){var el=d;var s=getComputedStyle(el);if(s.display===\"flex\"&&s.flexDirection===\"row\"&&el.children.length>=2&&el.offsetWidth>400&&el.offsetHeight>150&&!el.contains(heading)){rows.push(el);}});var outer=rows.filter(function(r){return!rows.some(function(o){return o!==r&&o.contains(r);});});outer.sort(function(a,b){return a.getBoundingClientRect().top-b.getBoundingClientRect().top;});return outer;}/*\n     * One-shot tagging pass. Identifies the structural elements that the\n     * CSS rules need to target. These tags are inert markers – React leaves\n     * `data-*` attributes alone on its managed elements, so the tags survive\n     * scroll-triggered re-renders. This pass is idempotent: each tag function\n     * checks `hasAttribute` first.\n     *\n     * Heading text strings used here exist in BOTH languages because we now\n     * search h1/h2 by EN text first, then DK text, so locale switch doesn't\n     * break the tagging.\n     */function findHeading(tagName,en,dk){return findByText(tagName,en)||findByText(tagName,dk);}function applyTags(){/* Tag 40px padding containers */document.querySelectorAll(\"div\").forEach(function(d){var el=d;var px=parseInt(getComputedStyle(el).paddingLeft)||0;if(px>=35&&px<=45&&el.offsetWidth>300)tag(el,\"data-agency-pad\");});/* Hero buttons (the row with two buttons under the H1) */var heroH1=findHeading(\"h1\",\"Help your clients win AI search\",\"Hj\\xe6lp dine kunder\");if(heroH1){var scope=heroH1.parentElement;for(var i=0;i<6;i++){if(!scope)break;for(var j=0;j<scope.children.length;j++){var kid=scope.children[j];var ks=getComputedStyle(kid);if(ks.display===\"flex\"&&ks.flexDirection===\"row\"&&kid.offsetHeight>30&&kid.offsetHeight<60&&kid.children.length===2){tag(kid,\"data-agency-hero-buttons\");}}scope=scope.parentElement;}/* Hero wrapper for phone padding override */var hw=ancestorWhere(heroH1,function(e){return(parseInt(getComputedStyle(e).paddingTop)||0)>=50&&e.offsetWidth>300;});if(hw)tag(hw,\"data-agency-hero-wrap\");}/* Funnel card */var funnelH2=findHeading(\"h2\",\"AI selects few\",\"AI n\\xe6vner de f\\xe6rreste\");if(funnelH2){var sec=ancestorWhere(funnelH2,function(e){return e.offsetWidth>600&&e.offsetHeight>400;});if(sec){sec.querySelectorAll(\"div\").forEach(function(d){var el=d;var s=getComputedStyle(el);if(el.offsetWidth>700&&el.offsetHeight>350&&s.backgroundColor===\"rgb(255, 255, 255)\"&&parseFloat(s.borderRadius)>=12){tag(el,\"data-agency-funnel-card\");}});}}/* Feature card rows (\"Everything you need\" / \"Alle værktøjer\") */var featH2=findHeading(\"h2\",\"Everything you need\",\"Alle v\\xe6rkt\\xf8jer\");if(featH2){var sec2=ancestorWhere(featH2,function(e){return e.offsetWidth>500&&e.offsetHeight>300;});if(sec2){findFlexRows(sec2,featH2).forEach(function(row){tag(row,\"data-agency-feature-row\");Array.from(row.children).forEach(function(child){var el=child;var cs=getComputedStyle(el);if(cs.flexDirection===\"column\"&&el.children.length>=2){tag(el,\"data-agency-feature-col\");}});});}}/* Before/after row */var clientH2=findHeading(\"h2\",\"Replace manual reports\",\"Drop rapporter\");if(clientH2){var sec3=ancestorWhere(clientH2,function(e){return e.offsetWidth>500&&e.offsetHeight>300;});if(sec3){findFlexRows(sec3,clientH2).forEach(function(row){tag(row,\"data-agency-beforeafter-row\");});}}/* Pitch visual card */var pitchH2=findHeading(\"h2\",\"Win client pitches\",\"Vind kundepitches\");if(pitchH2){var sec4=ancestorWhere(pitchH2,function(e){return e.offsetWidth>500;});if(sec4){sec4.querySelectorAll(\"div\").forEach(function(d){var el=d;var s=getComputedStyle(el);if(s.backgroundColor===\"rgb(255, 255, 255)\"&&parseFloat(s.borderRadius)>=12&&el.offsetWidth>500&&parseInt(s.minHeight)>=200){tag(el,\"data-agency-pitch-card\");}});}}/* CTA / demo green section */var ctaH2=findHeading(\"h2\",\"Ready to help\",\"Klar til at hj\\xe6lpe\");if(ctaH2){var green=ancestorWhere(ctaH2,function(e){return getComputedStyle(e).backgroundColor===\"rgb(76, 122, 109)\";});if(green){tag(green,\"data-agency-cta-section\");green.querySelectorAll(\"div\").forEach(function(d){var el=d;if(parseInt(getComputedStyle(el).minHeight)>=500)tag(el,\"data-agency-cta-inner\");});}}/* Outer section padding (phone): scale down chunky vertical padding.\n         * We tag the section and store the scaled-down values as CSS custom\n         * properties on the element so the @media phone rule reads them. */document.querySelectorAll(\"div\").forEach(function(d){var el=d;if(el.hasAttribute(\"data-agency-section-pad\"))return;var s=getComputedStyle(el);var pt=parseInt(s.paddingTop)||0;var pb=parseInt(s.paddingBottom)||0;if(pt>=80&&pb>=80&&el.offsetWidth>300&&el.offsetHeight>200){el.style.setProperty(\"--agency-section-pt-phone\",Math.round(pt*.6)+\"px\");el.style.setProperty(\"--agency-section-pb-phone\",Math.round(pb*.6)+\"px\");tag(el,\"data-agency-section-pad\");}});}// First tag pass synchronously (right after page-root tagging) for\n// earliest CSS application. Two more passes catch late content.\napplyTags();var t1=setTimeout(applyTags,200);var t2=setTimeout(applyTags,800);var t3=setTimeout(applyTags,2e3);// No resize handler needed: the responsive behaviour is now CSS media\n// queries, which the browser handles natively without JS.\nreturn function cleanup(){clearTimeout(t1);clearTimeout(t2);clearTimeout(t3);var styleEl=document.getElementById(STYLE_ID);if(styleEl)styleEl.remove();// Strip all data-* tags we added\nfor(var i=0;i<tagged.length;i++){var entry=tagged[i];for(var j=0;j<entry.attrs.length;j++){entry.el.removeAttribute(entry.attrs[j]);}// Also clear any custom props we set\nentry.el.style.removeProperty(\"--agency-section-pt-phone\");entry.el.style.removeProperty(\"--agency-section-pb-phone\");}tagged=[];var pr=document.querySelector(\"[data-agency-page]\");if(pr)pr.removeAttribute(\"data-agency-page\");};}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CardShadows\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CardShadows.map"],"mappings":"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"}