/* ═══════════════════════════════════════════════════════════════
   EISTRUPWEB — MASTER STYLESHEET
   Version: 2.0 (omstruktureret)
   
   INDHOLDSFORTEGNELSE:
   ─────────────────────────────────────────────────────────────
   0. RESET & BASE
   1. DESIGN TOKENS — Farve-mapping (Elementor → tokens)
   2. DESIGN TOKENS — Typografi, spacing, shadows, radii
   3. UTILITY CLASSES — Typografi
   4. UTILITY CLASSES — Spacing (padding, margin)
   5. UTILITY CLASSES — Border radius
   6. UTILITY CLASSES — Shadows
   7. RESPONSIVE SPACING OVERRIDES
   ─────────────────────────────────────────────────────────────
   8. ELEMENTOR OVERRIDES (generelle)
   9. GLOBAL TYPOGRAFI (font-family resets)
   10. HEADER & STICKY HEADER
   11. NAVIGATION & MENU (2026-v2)
   12. SUBMENU & DROPDOWN
   13. CHEVRON-IKON (custom SVG arrow)
   14. HERO
   15. KNAPPER (btn-system)
   16. BADGES & OVERLINES
   17. SEGMENT LINE SIGNATUR
   18. SECTION TITLES
   19. KORT (service, case, testimonial)
   20. PROCES-TIDSLINJE
   21. FAQ ACCORDION
   22. CHECKMARK-LISTE
   23. LOGO-ITEMS
   24. FOOTER
   25. TOPBAR
   26. ANIMATIONER
   27. SITE-SPECIFIC / DIVERSE
   28. CASES
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════
   0. RESET & BASE
   ═══════════════════════════════════════ */

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Vis altid fade-sektioner i Elementor editor */
.elementor-editor-active .fade-in-section {
  opacity: 1 !important;
  transform: none !important;
}


/* ═══════════════════════════════════════
   1. DESIGN TOKENS — Farve-mapping
   (Elementors globale farver → tokens)
   ★ DETTE ER DET ENESTE LAG DU ÆNDRER PER KUNDE ★
   ═══════════════════════════════════════ */

body {

  /* ═══ PRIMARY ═══ */
  --primary-50:   var(--e-global-color-be054a1);   /* #EFFBFA */
  --primary-100:  var(--e-global-color-2213097);   /* #D2F4F2 */
  --primary-200:  var(--e-global-color-d8b5d9f);   /* #A3E8E4 */
  --primary-300:  var(--e-global-color-c0fedb8);   /* #5FD5CF */
  --primary-400:  var(--e-global-color-e103c0f);   /* #1FBDB5 */
  --primary-500:  var(--e-global-color-ccaeb2d);   /* #009E97 */
  --primary-600:  var(--e-global-color-4c0c197);   /* #008078 */
  --primary-700:  var(--e-global-color-4f618c1);   /* #024C48 */
  --primary-800:  var(--e-global-color-6ca0174);   /* #033B37 */

  /* ═══ PRIMARY DARK ═══ */
  --dark-50:      var(--e-global-color-f50fc2a);   /* #EEF5F4 */
  --dark-100:     var(--e-global-color-e8e7490);   /* #D4E5E3 */
  --dark-200:     var(--e-global-color-18b9005);   /* #A8CBC7 */
  --dark-300:     var(--e-global-color-7249434);   /* #6B9E99 */
  --dark-400:     var(--e-global-color-40cff99);   /* #3D7570 */
  --dark-500:     var(--e-global-color-2baa304);   /* #1A5550 */
  --dark-600:     var(--e-global-color-0112139);   /* #0D413D */
  --dark-700:     var(--e-global-color-b6eb4f8);   /* #063531 */
  --dark-800:     var(--e-global-color-f9b7ba2);   /* #022824 */

  /* ═══ NEUTRAL ═══ */
  --neutral-50:   var(--e-global-color-061a1c9);   /* #F7FAFA */
  --neutral-100:  var(--e-global-color-94368af);   /* #E8F0EF */
  --neutral-200:  var(--e-global-color-9efa25d);   /* #D1DFDE */
  --neutral-300:  var(--e-global-color-b94eb90);   /* #A3B8B6 */
  --neutral-400:  var(--e-global-color-745c389);   /* #6B8885 */
  --neutral-500:  var(--e-global-color-9035fa5);   /* #4A6360 */
  --neutral-600:  var(--e-global-color-93badf9);   /* #354B48 */
  --neutral-700:  var(--e-global-color-de3001c);   /* #233836 */
  --neutral-800:  var(--e-global-color-17c85d6);   /* #1A2F2D */

  /* ═══ ACCENT ═══ */
  --accent-50:    var(--e-global-color-026995c);   /* #FFF9EB */
  --accent-100:   var(--e-global-color-664e68d);   /* #FFF0CC */
  --accent-200:   var(--e-global-color-1732920);   /* #FFDF94 */
  --accent-300:   var(--e-global-color-438f3ba);   /* #FFCC5C */
  --accent-400:   var(--e-global-color-6f391c9);   /* #F5B731 */
  --accent-500:   var(--e-global-color-82b1365);   /* #D9960A */

  /* ═══ SEMANTIC ═══ */
  --success:      var(--e-global-color-fbfbe09);   /* #10B981 */
  --danger:       var(--e-global-color-519aa65);   /* #EF4444 */
  --white:        var(--e-global-color-9071110);   /* #FFFFFF */
}


/* ═══════════════════════════════════════
   2. DESIGN TOKENS — Typografi, spacing,
   shadows, radii
   ★ GENBRUGES PÅ TVÆRS AF ALLE KUNDER ★
   ═══════════════════════════════════════ */

body {

  /* ═══ TYPE SCALE ═══ */
  --text-xs:     0.75rem;    /* 12px */
  --text-sm:     0.875rem;   /* 14px */
  --text-base:   1rem;       /* 16px */
  --text-lg:     1.125rem;   /* 18px */
  --text-xl:     1.25rem;    /* 20px */
  --text-2xl:    1.5rem;     /* 24px */
  --text-3xl:    1.875rem;   /* 30px */
  --text-4xl:    2.25rem;    /* 36px */
  --text-5xl:    3rem;       /* 48px */
  --text-6xl:    3.2rem;     /* 51px */

  /* ═══ LINE HEIGHT ═══ */
  --leading-none:    1;
  --leading-tight:   1.15;    /* hero headlines */
  --leading-snug:    1.3;     /* section titles, card headings */
  --leading-normal:  1.5;     /* body copy */
  --leading-relaxed: 1.65;    /* small text, captions */
  --leading-loose:   1.8;     /* long-form prose */

  /* ═══ LETTER SPACING ═══ */
  --tracking-tighter: -0.025em;  /* hero headlines */
  --tracking-tight:   -0.015em;  /* section titles */
  --tracking-normal:   0;        /* body */
  --tracking-wide:     0.025em;  /* nav, buttons */
  --tracking-wider:    0.06em;   /* small caps, labels */
  --tracking-widest:   0.14em;   /* overlines */

  /* ═══ SPACING (4px base) ═══ */
  --sp-1:  4px;   --sp-2:  8px;   --sp-3:  12px;
  --sp-4:  16px;  --sp-5:  20px;  --sp-6:  24px;
  --sp-8:  32px;  --sp-10: 40px;  --sp-12: 48px;
  --sp-16: 64px;  --sp-20: 80px;  --sp-24: 96px;
  --sp-32: 128px;

  /* ═══ BORDER RADIUS ═══ */
  --radius-sm:   6px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   16px;
  --radius-2xl:  20px;
  --radius-full: 100px;

  /* ═══ SHADOWS ═══ */
  --shadow-xs:   0 1px 2px rgba(2,40,36,0.06);
  --shadow-sm:   0 1px 3px rgba(2,40,36,0.09), 0 1px 2px rgba(2,40,36,0.06);
  --shadow-md:   0 4px 6px rgba(2,40,36,0.07), 0 2px 4px rgba(2,40,36,0.04);
  --shadow-lg:   0 10px 15px rgba(2,40,36,0.09), 0 4px 6px rgba(2,40,36,0.04);
  --shadow-xl:   0 20px 25px rgba(2,40,36,0.11), 0 8px 10px rgba(2,40,36,0.04);
  --shadow-2xl:  0 25px 50px rgba(2,40,36,0.16);

  /* ═══ FONTS ═══ */
  --font-display: 'Manrope', sans-serif;
  --font-body:    'DM Sans', sans-serif;
}


/* ═══════════════════════════════════════
   3. UTILITY CLASSES — Typografi
   ═══════════════════════════════════════ */

.text-xs    { font-size: var(--text-xs);   line-height: var(--leading-relaxed); }
.text-sm    { font-size: var(--text-sm);   line-height: var(--leading-normal); }
.text-base  { font-size: var(--text-base); line-height: var(--leading-normal); }
.text-lg    { font-size: var(--text-lg);   line-height: var(--leading-normal); }
.text-xl    { font-size: var(--text-xl);   line-height: var(--leading-snug); }
.text-2xl   { font-size: var(--text-2xl);  line-height: var(--leading-snug); }
.text-3xl   { font-size: var(--text-3xl);  line-height: var(--leading-tight); }
.text-4xl   { font-size: var(--text-4xl);  line-height: var(--leading-tight); }
.text-5xl   { font-size: var(--text-5xl);  line-height: var(--leading-tight); }
.text-6xl   { font-size: var(--text-6xl);  line-height: var(--leading-tight); }

.font-display { font-family: var(--font-display); }
.font-body    { font-family: var(--font-body); }

.tracking-tighter { letter-spacing: var(--tracking-tighter); }
.tracking-tight   { letter-spacing: var(--tracking-tight); }
.tracking-normal  { letter-spacing: var(--tracking-normal); }
.tracking-wide    { letter-spacing: var(--tracking-wide); }
.tracking-wider   { letter-spacing: var(--tracking-wider); }
.tracking-widest  { letter-spacing: var(--tracking-widest); }


/* ═══════════════════════════════════════
   4. UTILITY CLASSES — Spacing
   ═══════════════════════════════════════ */

/* --- Padding (all) --- */
.p-1  { padding: var(--sp-1); }   .p-2  { padding: var(--sp-2); }
.p-3  { padding: var(--sp-3); }   .p-4  { padding: var(--sp-4); }
.p-5  { padding: var(--sp-5); }   .p-6  { padding: var(--sp-6); }
.p-8  { padding: var(--sp-8); }   .p-10 { padding: var(--sp-10); }
.p-12 { padding: var(--sp-12); }  .p-16 { padding: var(--sp-16); }
.p-20 { padding: var(--sp-20); }  .p-24 { padding: var(--sp-24); }
.p-32 { padding: var(--sp-32); }

/* --- Padding X --- */
.px-1  { padding-left: var(--sp-1);  padding-right: var(--sp-1); }
.px-2  { padding-left: var(--sp-2);  padding-right: var(--sp-2); }
.px-3  { padding-left: var(--sp-3);  padding-right: var(--sp-3); }
.px-4  { padding-left: var(--sp-4);  padding-right: var(--sp-4); }
.px-5  { padding-left: var(--sp-5);  padding-right: var(--sp-5); }
.px-6  { padding-left: var(--sp-6);  padding-right: var(--sp-6); }
.px-8  { padding-left: var(--sp-8);  padding-right: var(--sp-8); }
.px-10 { padding-left: var(--sp-10); padding-right: var(--sp-10); }
.px-12 { padding-left: var(--sp-12); padding-right: var(--sp-12); }
.px-16 { padding-left: var(--sp-16); padding-right: var(--sp-16); }
.px-20 { padding-left: var(--sp-20); padding-right: var(--sp-20); }
.px-24 { padding-left: var(--sp-24); padding-right: var(--sp-24); }
.px-32 { padding-left: var(--sp-32); padding-right: var(--sp-32); }

/* --- Padding Y --- */
.py-1  { padding-top: var(--sp-1);  padding-bottom: var(--sp-1); }
.py-2  { padding-top: var(--sp-2);  padding-bottom: var(--sp-2); }
.py-3  { padding-top: var(--sp-3);  padding-bottom: var(--sp-3); }
.py-4  { padding-top: var(--sp-4);  padding-bottom: var(--sp-4); }
.py-5  { padding-top: var(--sp-5);  padding-bottom: var(--sp-5); }
.py-6  { padding-top: var(--sp-6);  padding-bottom: var(--sp-6); }
.py-8  { padding-top: var(--sp-8);  padding-bottom: var(--sp-8); }
.py-10 { padding-top: var(--sp-10); padding-bottom: var(--sp-10); }
.py-12 { padding-top: var(--sp-12); padding-bottom: var(--sp-12); }
.py-16 { padding-top: var(--sp-16); padding-bottom: var(--sp-16); }
.py-20 { padding-top: var(--sp-20); padding-bottom: var(--sp-20); }
.py-24 { padding-top: var(--sp-24); padding-bottom: var(--sp-24); }
.py-32 { padding-top: var(--sp-32); padding-bottom: var(--sp-32); }

/* --- Padding Top --- */
.pt-1  { padding-top: var(--sp-1); }   .pt-2  { padding-top: var(--sp-2); }
.pt-3  { padding-top: var(--sp-3); }   .pt-4  { padding-top: var(--sp-4); }
.pt-5  { padding-top: var(--sp-5); }   .pt-6  { padding-top: var(--sp-6); }
.pt-8  { padding-top: var(--sp-8); }   .pt-10 { padding-top: var(--sp-10); }
.pt-12 { padding-top: var(--sp-12); }  .pt-16 { padding-top: var(--sp-16); }
.pt-20 { padding-top: var(--sp-20); }  .pt-24 { padding-top: var(--sp-24); }
.pt-32 { padding-top: var(--sp-32); }

/* --- Padding Bottom --- */
.pb-1  { padding-bottom: var(--sp-1); }   .pb-2  { padding-bottom: var(--sp-2); }
.pb-3  { padding-bottom: var(--sp-3); }   .pb-4  { padding-bottom: var(--sp-4); }
.pb-5  { padding-bottom: var(--sp-5); }   .pb-6  { padding-bottom: var(--sp-6); }
.pb-8  { padding-bottom: var(--sp-8); }   .pb-10 { padding-bottom: var(--sp-10); }
.pb-12 { padding-bottom: var(--sp-12); }  .pb-16 { padding-bottom: var(--sp-16); }
.pb-20 { padding-bottom: var(--sp-20); }  .pb-24 { padding-bottom: var(--sp-24); }
.pb-32 { padding-bottom: var(--sp-32); }

/* --- Padding Left --- */
.pl-1  { padding-left: var(--sp-1); }   .pl-2  { padding-left: var(--sp-2); }
.pl-3  { padding-left: var(--sp-3); }   .pl-4  { padding-left: var(--sp-4); }
.pl-5  { padding-left: var(--sp-5); }   .pl-6  { padding-left: var(--sp-6); }
.pl-8  { padding-left: var(--sp-8); }   .pl-10 { padding-left: var(--sp-10); }
.pl-12 { padding-left: var(--sp-12); }  .pl-16 { padding-left: var(--sp-16); }
.pl-20 { padding-left: var(--sp-20); }  .pl-24 { padding-left: var(--sp-24); }
.pl-32 { padding-left: var(--sp-32); }

/* --- Padding Right --- */
.pr-1  { padding-right: var(--sp-1); }   .pr-2  { padding-right: var(--sp-2); }
.pr-3  { padding-right: var(--sp-3); }   .pr-4  { padding-right: var(--sp-4); }
.pr-5  { padding-right: var(--sp-5); }   .pr-6  { padding-right: var(--sp-6); }
.pr-8  { padding-right: var(--sp-8); }   .pr-10 { padding-right: var(--sp-10); }
.pr-12 { padding-right: var(--sp-12); }  .pr-16 { padding-right: var(--sp-16); }
.pr-20 { padding-right: var(--sp-20); }  .pr-24 { padding-right: var(--sp-24); }
.pr-32 { padding-right: var(--sp-32); }

/* --- Margin Top --- */
.mt-1  { margin-top: var(--sp-1); }
.mt-2  { margin-top: var(--sp-2); }
.mt-3  { margin-top: var(--sp-3); }
.mt-4  { margin-top: var(--sp-4); }
.mt-5  { margin-top: var(--sp-5); }
.mt-6  { margin-top: var(--sp-6)!important; }
.mt-8  { margin-top: var(--sp-8); }   .mt-10 { margin-top: var(--sp-10); }
.mt-12 { margin-top: var(--sp-12); }  .mt-16 { margin-top: var(--sp-16); }
.mt-20 { margin-top: var(--sp-20); }  .mt-24 { margin-top: var(--sp-24); }
.mt-32 { margin-top: var(--sp-32); }

/* --- Margin Bottom --- */
.mb-1  { margin-bottom: var(--sp-1) !important; }
.mb-2  { margin-bottom: var(--sp-2) !important; }
.mb-3  { margin-bottom: var(--sp-3) !important; }
.mb-4  { margin-bottom: var(--sp-4) !important; }
.mb-5  { margin-bottom: var(--sp-5) !important; }
.mb-6  { margin-bottom: var(--sp-6) !important; }
.mb-8  { margin-bottom: var(--sp-8) !important; }
.mb-10 { margin-bottom: var(--sp-10) !important; }
.mb-12 { margin-bottom: var(--sp-12) !important; }
.mb-16 { margin-bottom: var(--sp-16) !important; }
.mb-20 { margin-bottom: var(--sp-20) !important; }
.mb-24 { margin-bottom: var(--sp-24) !important; }
.mb-32 { margin-bottom: var(--sp-32) !important; }

/* --- Margin Left --- */
.ml-1  { margin-left: var(--sp-1); }   .ml-2  { margin-left: var(--sp-2); }
.ml-3  { margin-left: var(--sp-3); }   .ml-4  { margin-left: var(--sp-4); }
.ml-5  { margin-left: var(--sp-5); }   .ml-6  { margin-left: var(--sp-6); }
.ml-8  { margin-left: var(--sp-8); }   .ml-10 { margin-left: var(--sp-10); }
.ml-12 { margin-left: var(--sp-12); }  .ml-16 { margin-left: var(--sp-16); }
.ml-20 { margin-left: var(--sp-20); }  .ml-24 { margin-left: var(--sp-24); }
.ml-32 { margin-left: var(--sp-32); }

/* --- Margin Right --- */
.mr-1  { margin-right: var(--sp-1); }   .mr-2  { margin-right: var(--sp-2); }
.mr-3  { margin-right: var(--sp-3); }   .mr-4  { margin-right: var(--sp-4); }
.mr-5  { margin-right: var(--sp-5); }   .mr-6  { margin-right: var(--sp-6); }
.mr-8  { margin-right: var(--sp-8); }   .mr-10 { margin-right: var(--sp-10); }
.mr-12 { margin-right: var(--sp-12); }  .mr-16 { margin-right: var(--sp-16); }
.mr-20 { margin-right: var(--sp-20); }  .mr-24 { margin-right: var(--sp-24); }
.mr-32 { margin-right: var(--sp-32); }

/* --- Margin All --- */
.m-1  { margin: var(--sp-1); }   .m-2  { margin: var(--sp-2); }
.m-3  { margin: var(--sp-3); }   .m-4  { margin: var(--sp-4); }
.m-5  { margin: var(--sp-5); }   .m-6  { margin: var(--sp-6); }
.m-8  { margin: var(--sp-8); }   .m-10 { margin: var(--sp-10); }
.m-12 { margin: var(--sp-12); }  .m-16 { margin: var(--sp-16); }
.m-20 { margin: var(--sp-20); }  .m-24 { margin: var(--sp-24); }
.m-32 { margin: var(--sp-32); }


/* ═══════════════════════════════════════
   5. UTILITY CLASSES — Border Radius
   ═══════════════════════════════════════ */

/* All corners */
.rounded-sm   { border-radius: var(--radius-sm); }
.rounded-md   { border-radius: var(--radius-md); }
.rounded-lg   { border-radius: var(--radius-lg); }
.rounded-xl, .rounded-xl img   { border-radius: var(--radius-xl); }
.rounded-2xl  { border-radius: var(--radius-2xl); }
.rounded-full { border-radius: var(--radius-full); }

/* Top */
.rounded-t-sm   { border-top-left-radius: var(--radius-sm);   border-top-right-radius: var(--radius-sm); }
.rounded-t-md   { border-top-left-radius: var(--radius-md);   border-top-right-radius: var(--radius-md); }
.rounded-t-lg   { border-top-left-radius: var(--radius-lg);   border-top-right-radius: var(--radius-lg); }
.rounded-t-xl, .rounded-t-xl img   { border-top-left-radius: var(--radius-xl);   border-top-right-radius: var(--radius-xl); }
.rounded-t-2xl  { border-top-left-radius: var(--radius-2xl);  border-top-right-radius: var(--radius-2xl); }
.rounded-t-full { border-top-left-radius: var(--radius-full); border-top-right-radius: var(--radius-full); }

/* Bottom */
.rounded-b-sm   { border-bottom-left-radius: var(--radius-sm);   border-bottom-right-radius: var(--radius-sm); }
.rounded-b-md   { border-bottom-left-radius: var(--radius-md);   border-bottom-right-radius: var(--radius-md); }
.rounded-b-lg   { border-bottom-left-radius: var(--radius-lg);   border-bottom-right-radius: var(--radius-lg); }
.rounded-b-xl, .rounded-b-xl img   { border-bottom-left-radius: var(--radius-xl);   border-bottom-right-radius: var(--radius-xl); }
.rounded-b-2xl  { border-bottom-left-radius: var(--radius-2xl);  border-bottom-right-radius: var(--radius-2xl); }
.rounded-b-full { border-bottom-left-radius: var(--radius-full); border-bottom-right-radius: var(--radius-full); }

/* Left */
.rounded-l-sm   { border-top-left-radius: var(--radius-sm);   border-bottom-left-radius: var(--radius-sm); }
.rounded-l-md   { border-top-left-radius: var(--radius-md);   border-bottom-left-radius: var(--radius-md); }
.rounded-l-lg   { border-top-left-radius: var(--radius-lg);   border-bottom-left-radius: var(--radius-lg); }
.rounded-l-xl, .rounded-l-xl img { border-top-left-radius: var(--radius-xl);   border-bottom-left-radius: var(--radius-xl); }
.rounded-l-2xl  { border-top-left-radius: var(--radius-2xl);  border-bottom-left-radius: var(--radius-2xl); }
.rounded-l-full { border-top-left-radius: var(--radius-full); border-bottom-left-radius: var(--radius-full); }

/* Right */
.rounded-r-sm   { border-top-right-radius: var(--radius-sm);   border-bottom-right-radius: var(--radius-sm); }
.rounded-r-md   { border-top-right-radius: var(--radius-md);   border-bottom-right-radius: var(--radius-md); }
.rounded-r-lg   { border-top-right-radius: var(--radius-lg);   border-bottom-right-radius: var(--radius-lg); }
.rounded-r-xl, .rounded-r-xl img { border-top-right-radius: var(--radius-xl);   border-bottom-right-radius: var(--radius-xl); }
.rounded-r-2xl  { border-top-right-radius: var(--radius-2xl);  border-bottom-right-radius: var(--radius-2xl); }
.rounded-r-full { border-top-right-radius: var(--radius-full); border-bottom-right-radius: var(--radius-full); }

/* Individual corners */
.rounded-tl-sm { border-top-left-radius: var(--radius-sm); }   .rounded-tl-md { border-top-left-radius: var(--radius-md); }
.rounded-tl-lg { border-top-left-radius: var(--radius-lg); }   .rounded-tl-xl { border-top-left-radius: var(--radius-xl); }
.rounded-tl-2xl { border-top-left-radius: var(--radius-2xl); } .rounded-tl-full { border-top-left-radius: var(--radius-full); }

.rounded-tr-sm { border-top-right-radius: var(--radius-sm); }   .rounded-tr-md { border-top-right-radius: var(--radius-md); }
.rounded-tr-lg { border-top-right-radius: var(--radius-lg); }   .rounded-tr-xl { border-top-right-radius: var(--radius-xl); }
.rounded-tr-2xl { border-top-right-radius: var(--radius-2xl); } .rounded-tr-full { border-top-right-radius: var(--radius-full); }

.rounded-bl-sm { border-bottom-left-radius: var(--radius-sm); }   .rounded-bl-md { border-bottom-left-radius: var(--radius-md); }
.rounded-bl-lg { border-bottom-left-radius: var(--radius-lg); }   .rounded-bl-xl, .rounded-bl-xl img, .rounded-bl-xl:hover { border-bottom-left-radius: var(--radius-xl); }
.rounded-bl-2xl { border-bottom-left-radius: var(--radius-2xl); } .rounded-bl-full { border-bottom-left-radius: var(--radius-full); }

.rounded-br-sm { border-bottom-right-radius: var(--radius-sm); }   .rounded-br-md { border-bottom-right-radius: var(--radius-md); }
.rounded-br-lg { border-bottom-right-radius: var(--radius-lg); }   .rounded-br-xl, .rounded-br-xl img { border-bottom-right-radius: var(--radius-xl); }
.rounded-br-2xl { border-bottom-right-radius: var(--radius-2xl); } .rounded-br-full { border-bottom-right-radius: var(--radius-full); }


/* ═══════════════════════════════════════
   6. UTILITY CLASSES — Shadows
   ═══════════════════════════════════════ */

.shadow-xs  { box-shadow: var(--shadow-xs); }
.shadow-sm  { box-shadow: var(--shadow-sm); }
.shadow-md  { box-shadow: var(--shadow-md); }
.shadow-lg  { box-shadow: var(--shadow-lg); }
.shadow-xl, .shadow-xl img  { box-shadow: var(--shadow-xl); }
.shadow-2xl { box-shadow: var(--shadow-2xl); }


/* ═══════════════════════════════════════
   7. RESPONSIVE SPACING OVERRIDES
   ═══════════════════════════════════════ */

@media(max-width:1216px){
  body{
    --sp-16:48px!important;  /* 64→48 */
    --sp-20:64px!important;  /* 80→64 */
    --sp-24:72px!important;  /* 96→72 */
    --sp-32:96px!important;  /* 128→96 */
  }
  
  .sub-hero.pl-32, .sub-hero.pl-16, .content.pl-24, .related-posts-section 
  {padding-left: 2px!important;}
  .sub-hero.pr-32, .sub-hero.pr-16, .content.pr-24, .related-posts-section
  {padding-right: 24px!important;}
  .sub-hero.p-16 {padding: 24px!important;}
}

@media(max-width:640px){
  body{
    --sp-10:32px!important;  /* 40→32 */
    --sp-12:40px!important;  /* 48→40 */
    --sp-16:40px!important;  /* 64→40 */
    --sp-20:48px!important;  /* 80→48 */
    --sp-24:56px!important;  /* 96→56 */
    --sp-32:64px!important;  /* 128→64 */
  }
  
  .sub-hero.pl-32, .sub-hero.pl-16, .content.pl-24, .related-posts-section {padding-left: 24px !important;}
  .sub-hero.pr-32, .sub-hero.pr-16, .content.pr-24, .related-posts-section {padding-right: 24px !important;}
  .sub-hero.p-16, .sub-hero.hero-icon {padding: 48px 0px 48px 0px !important;}
  
  .related-posts .e-con-inner, .content .e-con-inner {
  padding-right: 0px !important;
  padding-left: 0px !important;
}
}

@media (max-width: 400px) {
  .sub-hero.pl-32, .sub-hero.pl-16, .content.pl-24, .related-posts-section {padding-left: 16px !important;}
  .sub-hero.pr-32, .sub-hero.pr-16, .content.pr-24, .related-posts-section {padding-right: 16px !important;}
  .sub-hero.p-16, .sub-hero.hero-icon {padding: 48px 0px 48px 0px !important;}
  
  .related-posts .e-con-inner, .content .e-con-inner {
  padding-right: 0px !important;
  padding-left: 0px !important;
}
}


/* ═══════════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════════
   CUSTOM CSS — EistrupWeb site-specifik styling
   ═══════════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════
   8. ELEMENTOR OVERRIDES (generelle)
   ═══════════════════════════════════════ */

/* Nulstil Elementor paragraph margin */
.entry-content .wp-audio-shortcode,
.entry-content .wp-embedded-audio,
.entry-content .wp-embedded-video,
.entry-content .wp-video,
.entry-content p {
  margin-bottom: inherit;
}

/* Heading em → accent farve */
h1 em, h2 em, h3 em, h4 em, h5 em, h6 em {
  font-style: normal;
  color: var(--primary-500)!important;
  font-weight: 300 !important;
}

/* Padding utilities → Elementor inner targets */
.pt-1 .elementor-widget-container { padding-top: var(--sp-1) !important; }
.pb-1 .elementor-widget-container { padding-bottom: var(--sp-1) !important; }
.pr-3 .elementor-widget-container { padding-right: var(--sp-3) !important; }

/* Rounded → Elementor inner targets */
.rounded-md .elementor-button  { border-radius: var(--radius-md) !important; }
.rounded-full .elementor-widget-container { border-radius: var(--radius-full); }

/* Shadow → Elementor button targets */
.shadow-sm .elementor-button,
.elementor-button.shadow-sm { box-shadow: var(--shadow-sm); }

/* Elementor search icon */
.elementor-search-form--skin-full_screen .elementor-search-form__toggle i {background-color:transparent!important;}

/* Elementor-specifik box-shadow nulstilling */
.elementor-1448 .elementor-element.elementor-element-7eecb59f {box-shadow: none;}

/* Cookie + footer skjul */
div#cookie-information-template-wrapper, .elementor.elementor-5495.elementor-location-footer {
  display: none!important;
}

/* Font-family inherit reset */
body, button, input, select, textarea, .ast-button, .ast-custom-button, .elementor-9569 .elementor-element.elementor-element-d85dd59 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-9569 .elementor-element.elementor-element-d85dd59 .elementor-icon-list-item > a, .elementor-8117 .elementor-element.elementor-element-8fdfba7 {font-family: inherit!important;}


/* ═══════════════════════════════════════
   9. GLOBAL TYPOGRAFI (font-family resets)
   ═══════════════════════════════════════ */

h1, h2, h3, h4, h5, h6 {font-family: "Manrope"!important;}

p, .hero-trustpilot h2, .service-card a {
  font-family: "DM Sans", sans-serif !important;
}

.footer-menu .menu-item a {font-family: "DM Sans"!important; text-decoration: none!important;}


/* ═══════════════════════════════════════
   10. HEADER & STICKY HEADER
   ═══════════════════════════════════════ */

.header-notification a.elementor-button.elementor-button-link.elementor-size-sm {
  border: none!important;
}

header.sticky-header.elementor-sticky--effects {
  --header-height: 69px!important;
  --shrink-header-to: 0.6!important;
  --transition: .45s cubic-bezier(.4, 0, .2, 1);
  background-color: transparent;
  transition: background-color var(--transition),
              backdrop-filter var(--transition),
              box-shadow var(--transition);
}

header.sticky-header.elementor-sticky--effects .header-menu {
  margin-bottom: 0px;
  padding: 10px 0px!important;
  --transition: .45s cubic-bezier(.4, 0, .2, 1);
  background: #fff;
}

header.sticky-header.elementor-sticky--effects .elementor-search-form i.fa-search {color: #453E3E!important;}

/* Sticky header activated */
header.sticky-header.elementor-sticky--effects {
  background-color: #fff;
  box-shadow: 0px 4px 33px 1px rgba(0, 0, 0, .07)!important;
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
}

header.sticky-header > .elementor-container {
  min-height: var(--header-height);
  transition: min-height var(--transition);
}

header.sticky-header.elementor-sticky--effects > .elementor-container {
  min-height: calc( var(--header-height) * var(--shrink-header-to) );
}

header.sticky-header.elementor-sticky--effects .header-top {
  display: none!important;
  --transition: .45s cubic-bezier(.4, 0, .2, 1);
}

/* Logo switching */
.logo-black {display: none;}
header.elementor-sticky--effects .logo-black {display: block!important;}
header.elementor-sticky--effects .logo {display: none!important;}
.elementor-12813 .elementor-element.elementor-element-1b18f27 img {width:200px!important;}

/* Header container */
header.elementor-sticky--effects {background:#fff!important;}

.site-content header.elementor-sticky--effects {
  background: rgba(247,250,250,0.95)!important;
  backdrop-filter: blur(16px)!important;
  border-bottom-color: var(--neutral-100)!important;
  box-shadow: var(--shadow-xs)!important;
}

/* Sticky header — desktop */
@media only screen and (min-width: 768px) {
  header.sticky-header.elementor-sticky--effects .top-menu ul li a {color: #000!important;}
  header.sticky-header.elementor-sticky--effects .top-menu ul li ul.sub-menu li a {color: #fff!important;}
}

/* Sticky header — mobil logo */
@media only screen and (max-width: 767px) {
  .elementor-12813 .elementor-element.elementor-element-1b18f27 img {width:176px!important;}
}


/* ═══════════════════════════════════════
   11. NAVIGATION & MENU (2026-v2)
   ═══════════════════════════════════════ */

.menu-2026-v2 .elementor-item, .menu-2026-v2 .elementor-sub-item.menu-link {
  padding: var(--sp-2) var(--sp-3)!important;
  font-family: "DM Sans", sans-serif!important;
  text-decoration: none!important;
}

/* Fjern Elementors egen underline-effekt */
.menu-2026 .elementor-item:after {
  display: none !important;
}

/* Hover-effekt: baggrund + afrunding */
.menu-2026 .elementor-item:hover {
  background: rgba(0, 0, 0, 0.05);
  border-radius: 6px;
}

/* Active state */
.menu-2026 .elementor-item.elementor-item-active,
.menu-2026 .current_page_item > a,
.menu-2026 .current-menu-item > a {
  position: relative;
  background: transparent !important;
}

/* Hover på topmenuen (desktop) */
.menu-2026-v2 .elementor-nav-menu--layout-horizontal .elementor-item:hover {
  border-radius: 6px;
  background: rgba(255,255,255,0.08)!important;
  padding: var(--sp-2) var(--sp-3)!important;
}

.menu-2026-v2 .elementor-nav-menu--layout-horizontal .elementor-item {
  text-decoration: none;
}

/* Active state – underline */
.menu-2026-v2 .elementor-nav-menu--layout-horizontal .current-menu-item > a,
.menu-2026-v2 .elementor-nav-menu--layout-horizontal .current_page_item > a,
.menu-2026-v2 .elementor-nav-menu--layout-horizontal .elementor-item.elementor-item-active {
  background: transparent;
  border-radius: 0;
  text-decoration-line: underline !important;
  text-decoration-color: #009e97!important;
  text-decoration-thickness: 3px!important;
  text-underline-offset: 24px!important;
  padding: var(--sp-2) var(--sp-3)!important;
  border-radius: var(--radius-sm)!important;
}

/* Hover på active punkt */
.menu-2026-v2 .elementor-nav-menu--layout-horizontal .current-menu-item > a:hover,
.menu-2026-v2 .elementor-nav-menu--layout-horizontal .current_page_item > a:hover,
.menu-2026-v2 .elementor-nav-menu--layout-horizontal .elementor-item.elementor-item-active:hover {
  border-radius: 6px!important;
  color: var( --e-global-color-6116c1c )!important;
}

/* Sticky header menu farver */
header.sticky-header.elementor-sticky--effects .top-menu ul li a:hover {
  border-radius: 6px!important;
  background: var(--primary-50)!important;
  color: var(--primary-500)!important;
}

header.sticky-header.elementor-sticky--effects .top-menu ul li a {color: var(--neutral-500)!important;}


/* ═══════════════════════════════════════
   12. SUBMENU & DROPDOWN
   ═══════════════════════════════════════ */

.sub-menu {
  position: absolute!important;
  top: 100%!important;
  left: 50%!important;
  transform: translateX(-50%) translateY(4px)!important;
  min-width: 220px!important;
  background: var(--white)!important;
  border-radius: var(--radius-lg)!important;
  padding: var(--sp-2)!important;
  transition: opacity 0.15s, visibility 0.15s, transform 0.15s!important;
  z-index: 200!important;
}

.sub-menu ul li a {color: #000!important;}

.elementor-sub-item.menu-link, .topbar a, .topbar h2 {
  font-family: "DM Sans", sans-serif !important;
}

header.elementor-sticky--effects .sub-menu {
  border: 1px solid var(--neutral-100)!important;
  box-shadow: var(--shadow-lg)!important;
}

/* Dropdown link farver */
.elementor-14664 .elementor-element.menu-2026-v2 .elementor-nav-menu--dropdown a,
.elementor-14664 .elementor-element.menu-2026-v2 .elementor-nav-menu--dropdown a:hover,
header.sticky-header.elementor-sticky--effects .elementor-14664 .elementor-element.menu-2026-v2 .elementor-nav-menu--dropdown a:hover {
  padding-left: 4px !important;
  color: var( --e-global-color-ccaeb2d )!important;
}

header.sticky-header.elementor-sticky--effects .elementor-14664 .elementor-element.menu-2026-v2 .elementor-nav-menu--dropdown a,
.elementor-14664 .elementor-element.menu-2026-v2 .elementor-nav-menu--dropdown a {
  color: var( --e-global-color-9035fa5 )!important;
}

.elementor-14664 .elementor-element.menu-2026-v2 .elementor-nav-menu--dropdown a:hover {
  border-radius: var(--sp-2) !important;
}

@media only screen and (min-width: 768px) {
  header.sticky-header.elementor-sticky--effects .top-menu ul li ul.sub-menu li a {
    color: inherit !important;
  }
}


/* ═══════════════════════════════════════
   13. CHEVRON-IKON (custom SVG arrow)
   ═══════════════════════════════════════ */

/* Skjul det originale Font Awesome-ikon */
.sub-arrow .fas.fa-chevron-down {
  display: none;
}

/* Erstat med EistrupWeb chevron-ikon */
.sub-arrow {
  display: inline-flex;
  align-items: center;
  margin-left: -6px;
}

.sub-arrow::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  transition: transform 0.3s ease;
  transform-origin: center center;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: currentColor;
}

/* Hover-rotation — forbliv opadgående i hele dropdown */
.has-submenu:hover .sub-arrow::after,
.menu-item-has-children:hover .sub-arrow::after {
  transform: rotate(-180deg);
}


/* ═══════════════════════════════════════
   14. HERO
   ═══════════════════════════════════════ */

.hero {
  padding: var(--sp-20) 0;
  background: var(--dark-800);
  position: relative;
  overflow: hidden;
}

.hero .e-con-inner {
  position: relative;
  z-index: 1;
  padding-top: 56px;
  padding-bottom: 56px;
}

.hero h1 em {
  font-style: normal;
  color: var(--primary-300);
  font-weight: 300;
}

.hero .btn-secondary .elementor-button {
  color: var(--primary-300)!important;
  border-color: rgba(255,255,255,0.15)!important;
}

.hero .btn-secondary .elementor-button:hover {
  background: rgba(255,255,255,0.06)!important;
  border-color: var(--primary-300)!important;
  color: var(--white)!important;
}

.hero-trustpilot {
  position: absolute;
  top: var(--sp-8);
  right: calc(-1 * 64px);
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: var(--sp-3) var(--sp-4);
  box-shadow: var(--shadow-xl);
  font-size: var(--text-xs);
  text-align: center;
  z-index: 2;
}


/* ═══════════════════════════════════════
   15. KNAPPER (btn-system)
   ═══════════════════════════════════════ */

/* Shared button base */
.btn .elementor-button {
  align-items: center !important;
  gap: var(--sp-2) !important;
  padding: var(--sp-3) var(--sp-6) !important;
  border-radius: var(--radius-md) !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: var(--tracking-wide) !important;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.2s ease;
  border: 2px solid transparent!important;
}

/* Primary */
.btn-primary .elementor-button {
  background: var(--primary-500) !important;
  color: var(--white) !important;
  box-shadow: var(--shadow-sm) !important;
}
.btn-primary .elementor-button:hover {
  background: var(--primary-700) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-md) !important;
}
.btn-primary .elementor-button:active {
  transform: translateY(0);
  box-shadow: var(--shadow-xs) !important;
}

/* Secondary */
.btn-secondary .elementor-button, .btn-third .elementor-button {
  background: transparent !important;
  color: var(--primary-500) !important;
  border-color: var(--neutral-200) !important;
}
.btn-secondary .elementor-button:hover, .btn-third .elementor-button:hover {
  background: var(--primary-50) !important;
  border-color: var(--primary-500) !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm) !important;
}

.btn-secondary .elementor-button:hover {
  background: var(--primary-50)!important;
  border-color: var(--primary-500)!important;
  transform: translateY(-1px)!important;
  box-shadow: var(--shadow-sm)!important;
}

/* Third */

.btn-third .elementor-button {
  color: var(--primary-300)!important;
  border-color: rgba(255,255,255,0.2)!important;
}

.btn-third .elementor-button:hover {
  background: rgba(255,255,255,0.06)!important;
  border-color: var(--primary-300)!important;
  color: var(--white)!important;
}

/* No borders on a */
.btn-no-borders .elementor-button
{
  border: 2px solid transparent !important;
}

.btn-no-borders .elementor-button:hover
{
  border: 2px solid var(--primary-500) !important;
}

/* Mini */
.btn.btn-mini .elementor-button {
  padding: var(--sp-2) var(--sp-4) !important;
}

/* Ghost (hvid — til mørke baggrunde) */
.btn-ghost .elementor-button {
  background: transparent !important;
  color: var(--white) !important;
  border-color: rgba(255,255,255,0.35) !important;
}
.btn-ghost .elementor-button:hover {
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.6) !important;
}

/* Ghost White */
.btn-ghost-white .elementor-button {
  background: transparent!important;
  color: var(--white)!important;
  border-color: rgba(255,255,255,0.35)!important;
}
.btn-ghost-white .elementor-button:hover {
  background: rgba(255,255,255,0.08)!important;
  border-color: rgba(255,255,255,0.6)!important;
  transform: translateY(-1px)!important;
  box-shadow: var(--shadow-md) !important;
}

/* Ghost Primary (til lyse baggrunde, ingen border) */
.btn-ghost-primary .elementor-button {
  background: transparent !important;
  color: var(--primary-500) !important;
  border-color: transparent !important;
}
.btn-ghost-primary .elementor-button:hover {
  background: var(--primary-50) !important;
  color: var(--primary-700) !important;
}

/* Arrow animation */
.btn-arrow .elementor-button-icon {
  transition: transform 0.2s ease;
}
.btn-arrow .elementor-button:hover .elementor-button-icon {
  transform: translateX(3px);
}

/* Button link ikon-animation */
.elementor-button-link:hover .elementor-button-icon svg {
  transform: translateX(3px)!important;
}
.elementor-button-link .elementor-button-icon svg {
  transition: all 0.3s ease!important;
  margin-left: 3px!important;
}

/* Størrelsesvarianter */
.btn-menu .elementor-button {padding: var(--sp-2) var(--sp-3)!important;}
.btn-case .elementor-button {padding: var(--sp-1) var(--sp-3)!important;}


/* ═══════════════════════════════════════
   16. BADGES & OVERLINES
   ═══════════════════════════════════════ */

/* Hero badge (mørk baggrund) */
.hero-badge .elementor-widget-container {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2) !important;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-full);
  padding: 2px var(--sp-3) 0 var(--sp-2) !important;
  font-size: var(--text-xs);
  color: var(--dark-200);
}
.hero-badge { margin-bottom: var(--sp-8) !important; }

/* Status badge (lys baggrund) */
.status-badge .elementor-widget-container {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2) !important;
  background: var(--primary-50);
  border: 1px solid var(--primary-100);
  border-radius: var(--radius-full);
  padding: var(--sp-1) var(--sp-3) var(--sp-1) var(--sp-2) !important;
  font-size: var(--text-xs);
  font-weight: 600;
  color: var(--primary-600);
}

/* Location badge */
.location-badge .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: var(--radius-full);
  padding: var(--sp-2) var(--sp-4);
  font-size: var(--text-sm);
  color: var(--white);
  margin-top: var(--sp-4);
  width: fit-content;
}
.location-badge .elementor-button .elementor-button-icon i {color: var(--primary-300)!important;}

/* Overline */
.overline,
.overline .elementor-heading-title {
  font-family: var(--font-body) !important;
  font-size: var(--text-xs) !important;
  font-weight: 600 !important;
  letter-spacing: var(--tracking-widest) !important;
  text-transform: uppercase !important;
  line-height: var(--leading-relaxed) !important;
}

.overline-light .elementor-heading-title {
  color: var(--primary-500) !important;
}

.overline-dark .elementor-heading-title {
  color: var(--primary-300) !important;
}


/* ═══════════════════════════════════════
   17. SEGMENT LINE SIGNATUR
   ═══════════════════════════════════════ */

.section-divider {
  padding: var(--sp-1) 0;
}

.section-divider .sig-a {
  opacity: 0.3;
}

.sig-a {
  display: flex;
  align-items: center;
  gap: 6px;
}

.sig-a-long {
  height: 2px;
  background: var(--primary-500);
  border-radius: 1px;
}

.sig-a-short {
  width: 12px;
  height: 2px;
  background: var(--primary-500);
  border-radius: 1px;
}

.sig-a.full .sig-a-long   { flex: 1; }
.sig-a.compact .sig-a-long { width: 40px; }
.sig-a.section-top         { margin-bottom: var(--sp-5); }

/* Varianter */
.sig-a.on-dark .sig-a-long,
.sig-a.on-dark .sig-a-short { background: var(--primary-300); }
.sig-a.muted .sig-a-long,
.sig-a.muted .sig-a-short   { background: var(--neutral-200); }

/* Venstre kant */
.sig-a-left-border {
  position: relative;
  padding-left: var(--sp-5);
}
.sig-a-left-border::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 16px;
  width: 2px;
  background: var(--primary-500);
  border-radius: 1px;
}
.sig-a-left-border::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 2px;
  height: 10px;
  background: var(--primary-500);
  border-radius: 1px;
}


/* ═══════════════════════════════════════
   18. SECTION TITLES
   ═══════════════════════════════════════ */

.section-title .elementor-heading-title {
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  line-height: var(--leading-snug) !important;
  letter-spacing: var(--tracking-tight) !important;
}

.section-title-light .elementor-heading-title {
  color: var(--dark-800) !important;
}

.section-title-dark .elementor-heading-title {
  color: var(--white) !important;
}


/* ═══════════════════════════════════════
   19. KORT (service, case, testimonial, post)
   ═══════════════════════════════════════ */

/* --- Service card --- */
.service-card, .service-card > .elementor-widget-wrap,
.service-card > .elementor-widget-wrap > .e-con-inner {
  border: 1px solid var(--neutral-100)!important;
  border-radius: var(--radius-xl);
  padding: var(--sp-8)!important;
  transition: all 0.2s ease!important;
  box-shadow: var(--shadow-xs)!important;
}
.service-card:hover > .elementor-widget-wrap,
.service-card:hover > .elementor-widget-wrap > .e-con-inner {
  box-shadow: var(--shadow-lg)!important;
  transform: translateY(-2px)!important;
  border-color: var(--neutral-200)!important;
}

/* Featured service card */
.service-card-featured > .elementor-widget-wrap,
.service-card-featured > .elementor-widget-wrap > .e-con-inner {
  border-color: var(--primary-200);
  background: linear-gradient(180deg, var(--primary-50) 0%, var(--white) 40%);
}

/* Service card — e-con variant med segment line */
.service-card.e-con {
  position: relative!important;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--neutral-100);
}

.service-card.e-con::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--primary-500);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.service-card.e-con::after{
  content: "";
  position: absolute;
  top: 0;
  right: 6px;
  width: 12px;
  height: 2px;
  background: var(--primary-500);
  border-radius: 1px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.service-card.e-con:hover {
  transform: translateY(-2px)!important;
  box-shadow: var(--shadow-lg)!important;
  border-color: var(--neutral-200)!important;
}

.service-card.e-con:hover::before {
  transform: scaleX(1)!important;
  width: calc(100% - 24px)!important;
}

.service-card.e-con:hover::after {
  opacity: 1!important;
}

/* --- Related posts card --- */
.related-posts, .related-posts > .elementor-widget-wrap,
.related-posts > .elementor-widget-wrap > .e-con-inner {
  background: var(--white)!important;
  border: 1px solid var(--neutral-100)!important;
  border-radius: var(--radius-xl);
  padding: 0px !important;
  transition: all 0.2s ease!important;
  box-shadow: var(--shadow-xs)!important;
}

.related-posts:hover > .elementor-widget-wrap,
.related-posts:hover > .elementor-widget-wrap > .e-con-inner {
  box-shadow: var(--shadow-lg)!important;
  transform: translateY(-2px)!important;
  border-color: var(--neutral-200)!important;
}

/* Featured related posts card */
.related-posts-featured > .elementor-widget-wrap,
.related-posts-featured > .elementor-widget-wrap > .e-con-inner {
  border-color: var(--primary-200);
  background: linear-gradient(180deg, var(--primary-50) 0%, var(--white) 40%);
}

/* Related posts card — e-con variant med segment line */
.related-posts.e-con {
  position: relative!important;
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--neutral-100);
}

.related-posts.e-con::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--primary-500);
  transform: scaleX(0);
  transform-origin: left center 0px;
  transition: transform 0.3s ease;
  z-index: 1!important;
}

.related-posts.e-con::after {
  content: "";
  position: absolute;
  top: 0;
  right: 6px;
  width: 12px;
  height: 2px;
  background: var(--primary-500);
  border-radius: 1px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.related-posts.e-con:hover {
  transform: translateY(-2px)!important;
  box-shadow: var(--shadow-lg)!important;
  border-color: var(--neutral-200)!important;
}

.related-posts.e-con:hover::before {
  transform: scaleX(1)!important;
  width: calc(100% - 24px)!important;
}

.related-posts.e-con:hover::after {
  opacity: 1!important;
}

/* --- Case card (mørk bg) --- */
.case-card, .case-card > .elementor-widget-wrap,
.case-card > .elementor-widget-wrap > .e-con-inner {
  background: rgba(255,255,255,0.04)!important;
  border: 1px solid rgba(255,255,255,0.08)!important;
  border-radius: var(--radius-xl)!important;
  overflow: hidden!important;
  transition: all 0.2s ease!important;
}
.case-card:hover > .elementor-widget-wrap,
.case-card:hover > .elementor-widget-wrap > .e-con-inner {
  background: rgba(255,255,255,0.06)!important;
  border-color: rgba(255,255,255,0.12)!important;
  transform: translateY(-2px)!important;
}

.case-card.e-con:hover {
  background: rgba(255,255,255,0.06)!important;
  border-color: rgba(255,255,255,0.12)!important;
  transform: translateY(-2px)!important;
}

.case-card.e-con::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 24px;
  height: 2px;
  background: var(--primary-400);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
  z-index: 2;
}

.case-card.e-con::after {
  content: "";
  position: absolute;
  top: 0;
  right: 6px;
  width: 12px;
  height: 2px;
  background: var(--primary-400);
  border-radius: 1px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.case-card.e-con:hover::before {
  transform: scaleX(1)!important;
  width: calc(100% - 24px)!important;
}

.case-card.e-con:hover::after {
  opacity: 1!important;
}

.case-card .elementor-heading-title a {text-decoration: none!important;}
.case-branche .elementor-heading-title {text-transform: uppercase;}

/* --- Testimonial card (mørk bg) --- */
.testimonial-card.e-con {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-xl);
  padding: var(--sp-8);
  transition: all 0.2s ease;
  box-shadow: none;
  position: relative;
  overflow: hidden;
}

.testimonial-card.e-con:hover {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.12);
}

.testimonial-card.e-con::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 24px;
  height: 2px;
  background: var(--primary-400);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.testimonial-card.e-con::after {
  content: '';
  position: absolute;
  top: 0;
  right: 6px;
  width: 12px;
  height: 2px;
  background: var(--primary-400);
  border-radius: 1px!important;
  opacity: 0!important;
  transition: opacity 0.3s ease!important;
}

.testimonial-card.e-con:hover::after {
  opacity: 1!important;
}

.testimonial-card.e-con:hover::before {
  transform: scaleX(1);
  width: calc(100% - 24px)!important;
}


/* ═══════════════════════════════════════
   20. PROCES-TIDSLINJE
   ═══════════════════════════════════════ */

.process-num {
  border-radius: 50% !important;
}

.process-num .elementor-heading-title {
  width: var(--sp-12);
  height: var(--sp-12);
  background: var(--white);
  border: 2px solid var(--primary-500);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-lg);
  box-shadow: var(--shadow-sm);
  font-weight: 700!important;
  color: var(--primary-500);
}

.process-timeline::before {
  content: '';
  position: absolute;
  top: 24px;
  left: 0px;
  right: 0px;
  height: 2px;
  background: var(--neutral-100);
  z-index: 0;
}

@media (max-width: 900px) {
  .process-timeline::before {
    display: none;
  }
}


/* ═══════════════════════════════════════
   21. FAQ ACCORDION
   ═══════════════════════════════════════ */

.faq-item > .elementor-widget-wrap,
.faq-item > .elementor-widget-wrap > .e-con-inner {
  background: var(--neutral-50);
  border: 1px solid var(--neutral-100);
  border-radius: var(--radius-lg);
  transition: all 0.2s ease;
}

.faq-price-box > .elementor-widget-wrap,
.faq-price-box > .elementor-widget-wrap > .e-con-inner {
  background: transparent!important;
  border: none!important;
}

.faq-grid .e-n-accordion-item, .e-n-accordion-item-title[aria-expanded="true"] {
  border-radius: 12px !important;
}

.e-n-accordion-item-title[aria-expanded="true"] {
  box-shadow: var(--shadow-sm)!important;
}

.e-n-accordion-item-title.is-expanded {
  border-bottom-left-radius: 0px !important;
  border-bottom-right-radius: 0px !important;
}

.e-n-accordion-item-title.is-collapsed {
  border-radius: 12px !important;
}

.e-n-accordion-item-content {
  transition: max-height 0.3s ease, padding 0.3s ease !important;
}

.e-n-accordion-item-content[style*="animation"] {
  animation: none !important;
}

.faq-price-box .e-n-accordion-item-title.is-expanded, .faq-price-box .e-n-accordion-item-title.is-collapsed, .faq-price-box .e-con {
  border: 0px !important;
  box-shadow: none!important;
  border-radius: 0px!important;
}

/* Ikon-animation */
.e-n-accordion-item-title-icon .e-opened,
.e-n-accordion-item-title-icon .e-closed {
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

.e-n-accordion-item-title[aria-expanded="false"] .e-closed {
  opacity: 1;
  transform: rotate(0deg);
}

.e-n-accordion-item-title[aria-expanded="false"] .e-opened {
  opacity: 0;
  transform: rotate(-45deg);
}

.e-n-accordion-item-title[aria-expanded="true"] .e-opened {
  opacity: 1;
  transform: rotate(0deg);
}

.e-n-accordion-item-title[aria-expanded="true"] .e-closed {
  opacity: 0;
  transform: rotate(45deg);
}


/* ═══════════════════════════════════════
   22. CHECKMARK-LISTE
   ═══════════════════════════════════════ */

.checkmark-list .elementor-icon-list-items .elementor-icon-list-icon {
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
  padding-inline-end: 0px!important;
  background: var(--primary-50);
  padding: var(--sp-1);
}

.checkmark-list .elementor-icon-list-items .elementor-icon-list-icon svg {
  stroke: var(--primary-500)!important;
  stroke-width: 4;
  fill: none;
}

.checkmark-list.primary-500 .elementor-icon-list-items .elementor-icon-list-icon svg {
  stroke: var(--primary-500);
  stroke-width: 4;
  fill: none;
}

.elementor-icon-list-text {
  padding-left: var(--sp-3) !important;
}


/* ═══════════════════════════════════════
   23. LOGO-ITEMS
   ═══════════════════════════════════════ */

.logo-item .elementor-widget-container img {
  filter: brightness(70%) contrast(100%) saturate(100%) blur(0px) hue-rotate(0deg)!important;
  transition-duration: 0.2s!important;
}

.logo-item .elementor-widget-container img:hover {
  filter: brightness(100%) contrast(100%) saturate(100%) blur(0px) hue-rotate(0deg)!important;
}


/* ═══════════════════════════════════════
   24. FOOTER
   ═══════════════════════════════════════ */

.fbs-icon .elementor-icon {
  width: var(--sp-12);
  height: var(--sp-12);
  background: rgba(95,213,207,0.08);
  border: 1px solid rgba(95,213,207,0.12);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.fbs-icon .elementor-icon svg {
  width: 22px;
  height: 22px;
  stroke: var(--primary-300);
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.footer-social-link .elementor-icon {
  width: var(--sp-10);
  height: var(--sp-10);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-md);
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  text-decoration: none;
  transition: all 0.2s;
}

.footer-social-link .elementor-icon svg {
  width: 18px;
  height: 18px;
  stroke: var(--dark-200);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.2s;
}

.footer-social-link .elementor-icon:hover {
  background: rgba(95,213,207,0.1);
  border-color: rgba(95,213,207,0.3);
}

.footer-social-link .elementor-icon:hover svg {
  stroke: var(--primary-300);
}

.footer-contact .elementor-icon-list-text {
  padding-left: 0 !important;
}

.footer-contact .elementor-icon-list-item a, .footer-sitemap-menu .menu-item a {text-decoration: none!important;}

.footer-header .elementor-heading-title {letter-spacing: 0.06em!important;}


/* ═══════════════════════════════════════
   25. TOPBAR
   ═══════════════════════════════════════ */

.topbar ul li a {text-decoration-line: none!important;}
.topbar .elementor-icon-list-text {padding-left: var(--sp-2)!important;}


/* ═══════════════════════════════════════
   26. ANIMATIONER
   ═══════════════════════════════════════ */

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(var(--sp-5)); }
  to   { opacity: 1; transform: translateY(0); }
}

.fade-in-section {
  opacity: 0;
  transform: translateY(var(--sp-6));
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.fade-in-section.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hero-content > * {
  animation: fadeUp 0.6s ease both;
  animation-delay: 0s;
}

.hero-content > :nth-child(1) { animation-delay: 0.1s; }
.hero-content > :nth-child(2) { animation-delay: 0.2s; }
.hero-content > :nth-child(3) { animation-delay: 0.3s; }
.hero-content > :nth-child(4), .hero-content > :nth-child(5) { animation-delay: 0.4s; }
.hero-content > :nth-child(6) { animation-delay: 0.5s; }

.hero-image {
  animation: fadeUp 0.8s 0.2s ease both;
}


/* ═══════════════════════════════════════
   27. SITE-SPECIFIC / DIVERSE
   ═══════════════════════════════════════ */

.no-padding, .no-padding .elementor-button {
  padding: 0px !important;
  border: 0px !important;
}

.pei-image-cta img {
  overflow: hidden;
  flex-shrink: 0;
  border: 4px solid var(--white);
  box-shadow: var(--shadow-lg);
}

.silkeborg-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient( to right, rgba(2, 40, 36, 0.85) 0%, rgba(2, 40, 36, 0.65) 40%, rgba(2, 40, 36, 0.15) 100% );
  border-radius: var(--radius-2xl);
}


/* ═══════════════════════════════════════
   28. RESPONSIVE — TABLET & MOBIL
   ═══════════════════════════════════════ */

@media (max-width: 1216px) {
  .e-con-inner {
    padding: 0 var(--sp-6)!important;
  }
  
  .content {
  padding-left: 0px;
  padding-right: 0px;
  }
  
  .hero {
  padding-left: 0px!important;
  padding-right: 0px!important;
  }

  .four-columns .e-con-inner {
    padding: inherit!important;
  }
  
  .pr-6.pl-6.light-em, .pr-6.pl-6.light-em .pr-2.pl-2, .pr-6.pl-6.dark-section {
    padding-right: 0px;
    padding-left: 0px;
  }
}

@media (max-width: 640px) {
  .testimonial-card {
    padding: var(--sp-8) var(--sp-6) !important;
  }

  .case-card .case-loop-item-content {
    padding: var(--sp-6) 0 !important;
  }

  .silkeborg-hero {
    padding-right: var(--sp-6)!important;
    padding-left: var(--sp-6)!important;
  }

  .cta-book-meeting {
    padding-right: var(--sp-6)!important;
    padding-left: var(--sp-6)!important;
  }
  
  .content {
  padding-left: 16px;
  padding-right: 16px;
  }
  
  .silkeborg-hero.rounded-2xl, .light-em .rounded-2xl, .dark-section .rounded-2xl {
  border-radius: 0px !important;
}
}


/* ═══════════════════════════════════════
   29. CASES
   ═══════════════════════════════════════ */

.browser-bar {
  background: #F7FAFA;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #E8F0EF;
  border-radius: 12px 12px 0 0;
}
.browser-dot { width: 10px; height: 10px; border-radius: 50%; }
.browser-dot.red { background: #FF5F57; }
.browser-dot.yellow { background: #FEBC2E; }
.browser-dot.green { background: #28C840; }
.browser-url {
  flex: 1;
  background: #fff;
  border-radius: 6px;
  padding: 4px 12px;
  font-size: 11px;
  color: #6B8885;
  margin-left: 16px;
  border: 1px solid #E8F0EF;
}
.browser-url a {
  color: inherit;
  text-decoration: none;
}
.browser-url a:hover {
  color: #009E97;
}


/**** BREADCRUMBS ****/
.separator {
  padding: 0 4px!important;
}

/**** BLOG POSTS ****/
.sub-hero .elementor-post-info__item--type-author {color: var( --e-global-color-astglobalcolor5 )!important;
    font-size: var( --e-global-typography-b9dfb05-font-size)!important;
    font-weight: 600;
}

.sub-hero .elementor-post-info__item--type-date, .sub-hero .elementor-post-info__item--type-custom {
  padding: 0px !important;
}

.rank-math-breadcrumb p {
  margin-bottom: 0px !important;
}

.method-badge.blog-post-badge {text-transform: uppercase!important;
    letter-spacing: 0.06em;
}

.method-badge.blog-post-badge .elementor-icon-list-text {text-transform: uppercase!important;
    letter-spacing: 0.06em;
  padding: 0px 12px!important;
}

.elementor-toc__body ol {
    margin: 0px!important;
}

.elementor-toc__body ol li a {
    display: block;
  padding: var(--sp-1) var(--sp-3);
  color: var(--neutral-500);
  text-decoration: none;
  border-left: 2px solid transparent;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  transition: all 0.15s;
  line-height: var(--leading-relaxed);
}

.elementor-toc__body ol li a:hover {
  color: var(--primary-500)!important;
  background: var(--primary-50)!important;
  border-left-color: var(--primary-200)!important;
  text-decoration: none!important;
}

.elementor-toc__body ol li a.active {
  color: var(--primary-500)!important;
  font-weight: 600!important;
  background: var(--primary-50)!important;
  border-left-color: var(--primary-500)!important;
}

.elementor-toc__list-item {
  margin-bottom: 0px!important;
}

.elementor-toc__body ol li a {padding-bottom: 10px!important;
padding-top: 10px!important;}

.blog-article h2, .blog-article h3, .blog-article h4, .blog-article h5 {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 600;
  color: var(--dark-800);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  margin: var(--sp-12) 0 var(--sp-5)!important;
  padding-top: var(--sp-4);
}

.blog-article h3 {
  font-size: var(--text-xl);
  font-weight: 600!important;
}

.blog-article h4 {
  font-size: var(--text-lg);
}

.blog-article p {
  font-size: 16px;
  line-height: var(--leading-loose);
  color: var(--neutral-600)!important;
  font-family: "DM Sans", sans-serif!important;
}

.blog-article ul, .blog-article ol {
  margin: 0 0 var(--sp-6) var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  font-family: "DM Sans", sans-serif!important;
}

.blog-article li {
  font-size: 1rem!important;
  line-height: var(--leading-relaxed);
  color: var(--neutral-600)!important;
  padding-left: var(--sp-2)!important;
  font-family: "DM Sans", sans-serif!important;
}

.blog-article ul li::marker, .blog-article ol li::marker {
  color: var(--primary-500)!important;
}
.blog-article h2.wp-block-heading, .blog-article h3.wp-block-heading, .blog-article h4.wp-block-heading, .blog-article h5.wp-block-heading, .blog-article h6.wp-block-heading {margin: var(--sp-12) 0 var(--sp-5)!important;
  padding-top: var(--sp-4)!important;}

.blog-article table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--sp-8) 0;
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  border: 1px solid var(--neutral-100)!important;
  text-align: left!important;
}

.blog-article table thead {
  border-radius: var(--radius-lg)!important;}

.blog-article thead th {
  background: var(--neutral-50)!important;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--dark-800)!important;
  padding: var(--sp-3) var(--sp-5);
  text-align: left;
  border-bottom: 2px solid var(--neutral-100);
  letter-spacing: var(--tracking-tight);
}

.blog-article tbody td {
  padding: var(--sp-3) var(--sp-5);
  font-size: 14px!important;
  color: var(--neutral-500)!important;
  border-bottom: 1px solid var(--neutral-100)!important;
  line-height: var(--leading-relaxed);
}

.blog-article tbody td:first-child {
  font-weight: 500!important;
  color: var(--dark-800)!important;
}

.blog-article tbody tr:hover td {
  background: var(--primary-50)!important;
}

.blog-article p a, .blog-article ul li a, .blog-article ol li a, p a {
  color: var(--primary-500)!important;
  text-decoration: underline!important;
    text-decoration-color: currentcolor!important;
  text-underline-offset: 3px!important;
  text-decoration-color: var(--primary-200)!important;
  transition: text-decoration-color 0.15s!important;
  font-family: "DM Sans", sans-serif!important;
}

.blog-article p a:hover, .blog-article ul li a:hover, .blog-article ol li a:hover, p a:hover {
  text-decoration-color: var(--primary-500)!important;
}

.elementor-widget-theme-post-content li, .elementor-widget-theme-post-content ul {font-size: 16px!important;}

.elementor-widget-theme-post-content li, .blog-article table, .wp-block-list li, .blog-article ul li::marker, .blog-article ol li::marker, .blog-article thead th, .blog-article tbody td, .blog-article p a, .senest-opdateret, .post-preview-text, p a {
font-family: "DM Sans", sans-serif!important;}

.blog-article blockquote {
  border-left: 3px solid var(--primary-500)!important;
  background: var(--primary-50)!important;
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  padding: var(--sp-6) var(--sp-8);
  margin: var(--sp-8) 0;
}

.blog-article blockquote p {
  color: var(--dark-800)!important;
  font-size: 1.125rem;
  font-style: normal!important;
  font-weight: 500;
  line-height: var(--leading-normal);
  margin-bottom: 0;
}

/*** BLOCKQUOTES ***/
/* Info-boks */
blockquote.exclamation-info, blockquote.tip-info {
    position: relative;
    background: #f7f2e7;
    border: 1px solid #e6d7b8;
    padding: 18px 20px 18px 56px;
    margin: 32px 0;
}

/* Fjern standard blockquote styling */
.blog-article blockquote.exclamation-info, .blog-article blockquote.tip-info {
  border: 1px solid var(--accent-100) !important;
  background: var(--accent-50) !important;
  border-radius: var(--radius-lg)!important;
  padding: var(--sp-6) var(--sp-8) !important;
  margin: var(--sp-8) 0 !important;
}

/* Tekst */
blockquote.exclamation-info p, blockquote.tip-info p {
    margin: 0;
    font-size: 14px!important;
    color: var(--neutral-600)!important;
    padding-left: 34px;
    font-weight: 400!important;
}

/* Ikon */
/* Kassen rundt om ikonet */
blockquote.exclamation-info::before, blockquote.tip-info::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);

    width: 32px;
    height: 32px;

    background: var(--accent-100);
    border-radius: 8px;
}

/* Selve ikonet */
blockquote.exclamation-info::after {
    content: "";
    position: absolute;
    left: 26px;
    top: 50%;
    transform: translateY(-50%);

    width: 16px;
    height: 16px;

    background-color: var(--accent-500);

    -webkit-mask-image: url("https://eistrupweb.dk/wp-content/uploads/2026/03/advarsel_stroke-2.svg");
    mask-image: url("https://eistrupweb.dk/wp-content/uploads/2026/03/advarsel_stroke-2.svg");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Selve ikonet */
blockquote.tip-info::after {
    content: "";
    position: absolute;
    left: 26px;
    top: 50%;
    transform: translateY(-50%);

    width: 16px;
    height: 16px;

    background-color: var(--accent-500);

    -webkit-mask-image: url("https://eistrupweb.dk/wp-content/uploads/2026/03/skjold_stroke-2.svg");
    mask-image: url("https://eistrupweb.dk/wp-content/uploads/2026/03/skjold_stroke-2.svg");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}

.post-preview-text {
  font-size: 14px!important;
  color: var(--neutral-500)!important;}
  
@media (max-width:900px){

  .elementor-element-1c0669e h6{
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
  }

  .elementor-element-1c0669e h6::after{
    content:"";
    width:18px;
    height:18px;
    background-image:url("https://eistrupweb.dk/wp-content/uploads/2026/03/chevron-ned-1.svg");
    background-size:contain;
    background-repeat:no-repeat;
    transition:transform .25s ease;
  }

  .toc-open h6::after{
    background-image:url("https://eistrupweb.dk/wp-content/uploads/2026/03/chevron-op-1.svg");
  }
  
  .toc-collapsed {
  padding-bottom: 8px!important;
    }
    
    .toc-open {
  padding-bottom: 24px!important;
}

  /* smooth animation */

  .elementor-toc__body{
    overflow:hidden;
    max-height:800px;
    transition:max-height .35s ease, opacity .25s ease;
    opacity:1;
  }

  .toc-collapsed .elementor-toc__body{
    max-height:0;
    opacity:0;
  }

  .toc-open .elementor-toc__body{
    max-height:800px;
    opacity:1;
  }

}

.ast-single-post .entry-content a, .ast-comment-content a:not(.ast-comment-edit-reply-wrap a), .woocommerce-js .woocommerce-product-details__short-description a {text-decoration: none;}

.menu-2026-v2 .elementor-nav-menu--layout-horizontal .current-menu-item > a, .menu-2026-v2 .elementor-nav-menu--layout-horizontal .current_page_item > a, .menu-2026-v2 .elementor-nav-menu--layout-horizontal .elementor-item.elementor-item-active {text-decoration: none !important;}

.sm-blog-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: #FFFFFF;
    border: 1px solid #E8F0EF;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(2,40,36,0.06);
}
.sm-blog-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 20px 24px;
    border-bottom: 1px solid #E8F0EF;
    transition: background 0.15s;
}
.sm-blog-item:nth-child(odd) {
    border-right: 1px solid #E8F0EF;
}
.sm-blog-item:hover {
    background: #EFFBFA;
}
.sm-blog-item svg {
    width: 14px;
    height: 14px;
    stroke: #A3B8B6;
    fill: none;
    stroke-width: 2;
    flex-shrink: 0;
    stroke-linecap: round;
    stroke-linejoin: round;
    margin-top: 3px;
}
.sm-blog-item:hover svg {
    stroke: #009E97;
}
.sm-blog-item-text {
    flex: 1;
    min-width: 0;
}
.sm-blog-item-text a {
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
    font-weight: 600!important;
    color: #022824;
    text-decoration: none;
    line-height: 1.3;
    display: block;
    transition: color 0.15s;
}
.sm-blog-item {
    text-decoration: none;
    color: inherit;
}
.sm-blog-item-title {
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #022824;
    line-height: 1.3;
    display: block;
    transition: color 0.15s;
}
.sm-blog-item:hover .sm-blog-item-title {
    color: #009E97;
}

.sm-blog-item:hover .sm-blog-item-text a {
    color: #009E97;
}
.sm-blog-item-excerpt {
    font-size: 12px;
    color: #6B8885;
    line-height: 1.65;
    margin-top: 4px;
}
.sm-blog-cat {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6B8885;
    background: #F7FAFA;
    border: 1px solid #E8F0EF;
    padding: 0px 8px;
    border-radius: 6px;
    flex-shrink: 0;
    white-space: nowrap;
    margin-top: 2px;
    font-family: "DM Sans", sans-serif;
}

.sm-count {
    font-size: 0.75rem;
    font-weight: 600;
    color: #009E97;
    background: #EFFBFA;
    border: 1px solid #D2F4F2;
    border-radius: 100px;
    padding: 4px 12px;
    margin-left: 8px;
    vertical-align: middle;
}
@media (max-width: 900px) {
    .sm-blog-grid { grid-template-columns: 1fr; }
    .sm-blog-item:nth-child(odd) { border-right: none; }
}

.sm-cats-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.sm-cat-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #FFFFFF;
    border: 1px solid #E8F0EF;
    border-radius: 100px;
    padding: 8px 20px;
    font-family: 'DM Sans', sans-serif!important;
    font-size: 0.875rem;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.15s;
    color: var(--neutral-500);
}
.sm-cat-link:hover {
    border-color: #009E97;
    color: #009E97;
    background: #EFFBFA;
}
.sm-cat-count {
    font-size: 0.75rem;
    color: #6B8885;
    font-weight: 600;
}
.sm-cat-link:hover .sm-cat-count {
    color: #009E97;
}

.sm-updated {
  text-align: center;
  font-size: 12px;
  color: var(--neutral-400);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "DM Sans", sans-serif;
}

.sub-hero p a {
  color: #fff!important;
  font-family: "DM Sans", sans-serif !important;
}

.light-em em, .hero em, .sub-hero em, .sub-hero .btn-secondary .elementor-button, .dark-section .btn-secondary .elementor-button, .hero .btn-secondary .elementor-button:hover, .dark-section em {color: var(--primary-300)!important;}

.dark-section .btn-secondary .elementor-button:hover, .sub-hero .btn-secondary .elementor-button:hover, .hero .btn-secondary .elementor-button {color: var(--primary-500)!important;}

.small-icon .elementor-icon svg, .small-icon .elementor-icon-list-icon svg {
  stroke-width: 2!important;
}

.short-testimonial .ewtm-heading {
  font-size: 20px;
  font-weight: 600;
  text-align: left;
  margin-bottom: var(--sp-4)!important
}

.short-testimonial .ewtm-stars, .short-testimonial .ewtm-author {justify-content: left!important;}

.short-testimonial .ewtm-stars svg {
  width: 12px !important;
  height: 12px !important;
}

.short-testimonial .ewtm-review {
  font-size: 14px!important;
  color: var(--neutral-500)!important;
  line-height: var(--leading-relaxed)!important;
  margin-bottom: var(--sp-5)!important;
  text-align: left;
}

.short-testimonial .ewtm-avatar {
  border-radius: var(--radius-full)!important;
}

.short-testimonial .ewtm-author {margin-bottom: 0px;}

.short-testimonial .sig-a, .short-testimonial .ewtm-trustpilot-link {display:none;}

.dark-section .short-testimonial .ewtm-review {color: var(--dark-200)!important;}
.dark-section .short-testimonial .ewtm-author, .dark-section .short-testimonial .ewtm-heading, .dark-section .short-testimonial .ewtm-name {color: var(--white)!important;}
.dark-section .short-testimonial .ewtm-meta  {color: var(--neutral-300)!important;}

.method-badge .elementor-widget-container {
  display: inline-flex!important;
  align-items: center!important;
  gap: var(--sp-2)!important;
  background: rgba(255,255,255,0.06)!important;
  border: 1px solid rgba(255,255,255,0.06)!important;
  border-radius: var(--radius-full)!important;
  padding: var(--sp-1) var(--sp-4) var(--sp-1) var(--sp-3)!important;
  font-size: var(--text-xs)!important;
  color: var(--deep-200)!important;
  font-weight: 500!important;
}

.elementor-icon-list-icon svg {
  stroke: currentColor !important;
}

.mini-card {transition: all 0.2s ease!important;}

.mini-card:hover {
  box-shadow: var(--shadow-sm)!important;
  border-color: var(--primary-200)!important;
}

/** Proces **/
/* Lodret tidslinje-kolonne */
.timeline-col {
  position: relative;
  display: flex;
  padding-top: 0;
}

/* Den lodrette linje */
.timeline-col::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: var(--neutral-200);
  transform: translateX(-50%);
}

/* Nummercirklen over linjen */
.timeline-col .process-num {
  position: relative;
  z-index: 1;
  background: var(--white);
}

.timeline-col-first::before { top: 0%; }
.timeline-col-last::before  { bottom: 50%; }

.hero-icon .elementor-icon-list-icon svg, .process-badge svg {
  stroke: var(--primary-500) !important;
}

.process-badge {display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--primary-50);
  border: 1px solid var(--primary-100);
  border-radius: var(--radius-full);
  padding: 0 var(--sp-3);
}

.kender-du-det-list .elementor-icon-list-item {
  align-items: center;
  background: var(--white)!important;
  gap: var(--sp-3);
  border: 1px solid var(--neutral-100);
  border-radius: var(--radius-lg);
  padding: var(--sp-4) var(--sp-5);
  transition: all 0.15s;}
  
.kender-du-det-list .elementor-icon-list-item:hover {
  box-shadow: var(--shadow-sm)!important;
  border-color: var(--primary-200)!important;
}

.kender-du-det-list .elementor-icon-list-item .elementor-icon-list-icon svg {stroke: var(--primary-500)!important;
    stroke-width: 2!important;
}

.elementor-widget .elementor-icon-list-icon+.elementor-icon-list-text {
  align-self:center;
  padding-inline-start:7px!important;
}

.mini-card:hover {
    border-color: var(--primary-200)!important;
    box-shadow: var(--shadow-sm) !important;
  transform: none !important;
}

.process-num.green .elementor-heading-title {
  width: 32px !important;
  height: 32px !important;
  background: var(--primary-50) !important;
  border: 1px solid var(--primary-100) !important;
  color: var(--primary-500) !important;
  box-shadow: none !important;
}

.process-step.icon .elementor-icon {
  border: 2px solid var(--primary-500)!important;
  border-radius: 50%;
  padding: 12px!important;
}

.process-timeline.no-left::before {
  left: 0px !important;
}

.list-icon .elementor-icon-list-icon svg {stroke: var(--primary-300)!important;}

.pricing-yearly {
  display: none;
}
.pricing-yearly.active {
  display: grid;
}
.pricing-monthly.hidden {
  display: none;
}
.pricing-toggle {
  cursor: pointer;
}
.toggle-track {
  width: 48px;
  height: 26px;
  background: var(--neutral-100);
  border-radius: 100px;
  position: relative;
  transition: background 0.2s;
  display: inline-block;
  vertical-align: middle;
}
.toggle-track::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 20px;
  height: 20px;
  background: #FFFFFF;
  border-radius: 50%;
  transition: transform 0.2s;
  box-shadow: 0 1px 3px rgba(2,40,36,0.15);
}

.toggle-track.yearly {
    background: #009E97!important;}

.toggle-track.yearly::after {
  transform: translateX(22px);
}
.toggle-label {
  font-weight: 600;
  color: #6B8885;
  transition: color 0.2s;
  font-size: var(--text-sm);
  font-family: "DM Sans", sans-serif;
}
.toggle-label.active {
  color: #022824;
}

.checkmark-list.grey .elementor-icon-list-items .elementor-icon-list-icon svg, .checkmark-list.serviceaftale .elementor-icon-list-items li:nth-child(-n+2) .elementor-icon-list-icon svg {
  stroke: var(--neutral-300) !important;
  stroke-width: 4;
  fill: none;
}

.checkmark-list.serviceaftale .elementor-icon-list-items li:nth-child(-n+2) .elementor-icon-list-text {color: var(--neutral-300) !important;}

.checkmark-list.grey .elementor-icon-list-items .elementor-icon-list-icon, .checkmark-list.serviceaftale .elementor-icon-list-items li:nth-child(-n+2) .elementor-icon-list-icon {background: var(--neutral-50)!important;}

.svg-icon .elementor-icon-list-items .elementor-icon-list-icon svg {
  stroke: var(--primary-500) !important;
}

.twentytwenty-overlay {
  font-family: "DM Sans", sans-serif !important;
}

.sub-hero .elementor-post-info__item--type-author {color: var( --e-global-color-astglobalcolor5 )!important;
    font-size: var( --e-global-typography-b9dfb05-font-size)!important;
    font-weight: 600;
}

.sub-hero .elementor-post-info__item--type-date, .sub-hero .elementor-post-info__item--type-custom {
  padding: 0px !important;
}

.rank-math-breadcrumb p {
  margin-bottom: 0px !important;
}

.method-badge.blog-post-badge {text-transform: uppercase!important;
    letter-spacing: 0.06em;
}

.method-badge.blog-post-badge .elementor-icon-list-text {text-transform: uppercase!important;
    letter-spacing: 0.06em;
  padding: 0px 12px!important;
}

.elementor-toc__body ol {
    margin: 0px!important;
}

.elementor-toc__body ol li a {
    display: block;
  padding: var(--sp-1) var(--sp-3);
  color: var(--neutral-500);
  text-decoration: none;
  border-left: 2px solid transparent;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  transition: all 0.15s;
  line-height: var(--leading-relaxed);
}

.elementor-toc__body ol li a:hover {
  color: var(--primary-500)!important;
  background: var(--primary-50)!important;
  border-left-color: var(--primary-200)!important;
  text-decoration: none!important;
}

.elementor-toc__body ol li a.active {
  color: var(--primary-500)!important;
  font-weight: 600!important;
  background: var(--primary-50)!important;
  border-left-color: var(--primary-500)!important;
}

.elementor-toc__list-item {
  margin-bottom: 0px!important;
}

.elementor-toc__body ol li a {padding-bottom: 10px!important;
padding-top: 10px!important;}

.blog-article h2 {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 600;
  color: var(--dark-800);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  margin: var(--sp-12) 0 var(--sp-5)!important;
  padding-top: var(--sp-4);
}

.blog-article p {
  font-size: 16px;
  line-height: var(--leading-loose);
  color: var(--neutral-600)!important;
  font-family: "DM Sans", sans-serif!important;
}

.blog-article ul, .blog-article ol {
  margin: 0 0 var(--sp-6) var(--sp-6);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  font-family: "DM Sans", sans-serif!important;
}

.blog-article li {
  font-size: 1rem!important;
  line-height: var(--leading-relaxed);
  color: var(--neutral-600)!important;
  padding-left: var(--sp-2)!important;
  font-family: "DM Sans", sans-serif!important;
}

.blog-article ul li::marker, .blog-article ol li::marker {
  color: var(--primary-500)!important;
}
.blog-article h2.wp-block-heading {margin: var(--sp-12) 0 var(--sp-5)!important;
  padding-top: var(--sp-4)!important;}

.blog-article table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--sp-8) 0;
  overflow: hidden;
  box-shadow: var(--shadow-xs);
  border: 1px solid var(--neutral-100)!important;
  text-align: left!important;
}

.blog-article table thead {
  border-radius: var(--radius-lg)!important;}

.blog-article thead th {
  background: var(--neutral-50)!important;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 600;
  color: var(--dark-800)!important;
  padding: var(--sp-3) var(--sp-5);
  text-align: left;
  border-bottom: 2px solid var(--neutral-100);
  letter-spacing: var(--tracking-tight);
}

.blog-article tbody td {
  padding: var(--sp-3) var(--sp-5);
  font-size: 14px!important;
  color: var(--neutral-500)!important;
  border-bottom: 1px solid var(--neutral-100)!important;
  line-height: var(--leading-relaxed);
}

.blog-article tbody td:first-child {
  font-weight: 500!important;
  color: var(--dark-800)!important;
}

.blog-article tbody tr:hover td {
  background: var(--primary-50)!important;
}

.blog-article p a, .blog-article ul li a, .blog-article ol li a {
  color: var(--primary-500)!important;
  text-decoration: underline;
    text-decoration-color: currentcolor;
  text-underline-offset: 3px;
  text-decoration-color: var(--primary-200);
  transition: text-decoration-color 0.15s;
}

.blog-article p a:hover, .blog-article ul li a:hover, .blog-article ol li a:hover {
  text-decoration-color: var(--primary-500)!important;
}

.elementor-widget-theme-post-content li, .elementor-widget-theme-post-content ul {font-size: 16px!important;}

.elementor-widget-theme-post-content li, .blog-article table, .wp-block-list li, .blog-article ul li::marker, .blog-article ol li::marker, .blog-article thead th, .blog-article tbody td, .blog-article p a, .senest-opdateret, .post-preview-text {
font-family: "DM Sans", sans-serif!important;}

.blog-article blockquote {
  border-left: 3px solid var(--primary-500)!important;
  background: var(--primary-50)!important;
  border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
  padding: var(--sp-6) var(--sp-8);
  margin: var(--sp-8) 0;
}

.blog-article blockquote p {
  color: var(--dark-800)!important;
  font-size: 1.125rem;
  font-style: normal!important;
  font-weight: 500;
  line-height: var(--leading-normal);
  margin-bottom: 0;
}

/*** BLOCKQUOTES ***/
/* Info-boks */
blockquote.exclamation-info, blockquote.tip-info {
    position: relative;
    background: #f7f2e7;
    border: 1px solid #e6d7b8;
    padding: 18px 20px 18px 56px;
    margin: 32px 0;
}

/* Fjern standard blockquote styling */
.blog-article blockquote.exclamation-info, .blog-article blockquote.tip-info {
  border: 1px solid var(--accent-100) !important;
  background: var(--accent-50) !important;
  border-radius: var(--radius-lg)!important;
  padding: var(--sp-6) var(--sp-8) !important;
  margin: var(--sp-8) 0 !important;
}

/* Tekst */
blockquote.exclamation-info p, blockquote.tip-info p {
    margin: 0;
    font-size: 14px!important;
    color: var(--neutral-600)!important;
    padding-left: 34px;
    font-weight: 400!important;
}

/* Ikon */
/* Kassen rundt om ikonet */
blockquote.exclamation-info::before, blockquote.tip-info::before {
    content: "";
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);

    width: 32px;
    height: 32px;

    background: var(--accent-100);
    border-radius: 8px;
}

/* Selve ikonet */
blockquote.exclamation-info::after {
    content: "";
    position: absolute;
    left: 26px;
    top: 50%;
    transform: translateY(-50%);

    width: 16px;
    height: 16px;

    background-color: var(--accent-500);

    -webkit-mask-image: url("https://eistrupweb.dk/wp-content/uploads/2026/03/advarsel_stroke-2.svg");
    mask-image: url("https://eistrupweb.dk/wp-content/uploads/2026/03/advarsel_stroke-2.svg");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Selve ikonet */
blockquote.tip-info::after {
    content: "";
    position: absolute;
    left: 26px;
    top: 50%;
    transform: translateY(-50%);

    width: 16px;
    height: 16px;

    background-color: var(--accent-500);

    -webkit-mask-image: url("https://eistrupweb.dk/wp-content/uploads/2026/03/skjold_stroke-2.svg");
    mask-image: url("https://eistrupweb.dk/wp-content/uploads/2026/03/skjold_stroke-2.svg");

    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;

    -webkit-mask-position: center;
    mask-position: center;

    -webkit-mask-size: contain;
    mask-size: contain;
}

.post-preview-text {
  font-size: 14px!important;
  color: var(--neutral-500)!important;}
  
@media (max-width:900px){

  .elementor-element-1c0669e h6{
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
  }

  .elementor-element-1c0669e h6::after{
    content:"";
    width:18px;
    height:18px;
    background-image:url("https://eistrupweb.dk/wp-content/uploads/2026/03/chevron-ned-1.svg");
    background-size:contain;
    background-repeat:no-repeat;
    transition:transform .25s ease;
  }

  .toc-open h6::after{
    background-image:url("https://eistrupweb.dk/wp-content/uploads/2026/03/chevron-op-1.svg");
  }
  
  .toc-collapsed {
  padding-bottom: 8px!important;
    }
    
    .toc-open {
  padding-bottom: 24px!important;
}

  /* smooth animation */

  .elementor-toc__body{
    overflow:hidden;
    max-height:800px;
    transition:max-height .35s ease, opacity .25s ease;
    opacity:1;
  }

  .toc-collapsed .elementor-toc__body{
    max-height:0;
    opacity:0;
  }

  .toc-open .elementor-toc__body{
    max-height:800px;
    opacity:1;
  }

}

.ew-breadcrumb {
  font-size: 11px !important;
}

.ew-breadcrumb a, .ew-breadcrumb a:hover {color: var( --e-global-color-c0fedb8 )!important; text-decoration: none!important;}

.ew-breadcrumb span, .ew-breadcrumb {color: var( --e-global-color-18b9005 )!important;}
.ew-breadcrumb {font-family: "DM Sans", sans-serif!important;}

.light-badge.process-badge {
  background: #fff !important;
}

.checkmark-list.danger .elementor-icon-list-items .elementor-icon-list-icon svg {
  stroke: var(--danger)!important;
  stroke-width: 2 !important;
}

.checkmark-list.danger .elementor-icon-list-items .elementor-icon-list-icon {
  background: transparent !important;
}

.large-btn .elementor-button.elementor-button-link.elementor-size-sm {
  width: 100%;
}

.meta-link .elementor-button-link:hover .elementor-button-icon svg {transform: translateX(0px) !important;}

.case-sidebar-icon .elementor-icon {
  padding: 6px;
  background: var(--primary-50);
  border-radius: var(--radius-md);
}

h2.elementor-heading-title {margin-bottom: 0px!important}

.solution-icon svg {
  width: 24px;
  height: 24px;
  stroke: var(--primary-300);
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.solution-icon {
  width: var(--sp-12);
  height: var(--sp-12);
  background: rgba(95,213,207,0.1);
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.testimonial-author-block {
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  gap: var(--sp-3)!important;
  font-family: "DM Sans", sans-serif!important;
}

.elementor-button-text {font-family: "DM Sans", sans-serif!important;}

.testimonial-avatar {
  width: var(--sp-12) !important;
  height: var(--sp-12) !important;
  background: var(--primary-100) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  color: var(--primary-800) !important;
  font-size: var(--text-base) !important;
}

.testimonial-author-info {
  text-align: left!important;
}

.testimonial-author-info strong {
  display: block;
  font-size: var( --e-global-typography-b9dfb05-font-size )!important;
  font-weight: var( --e-global-typography-b9dfb05-font-weight )!important;
  line-height: var( --e-global-typography-b9dfb05-line-height )!important;
  letter-spacing: var( --e-global-typography-b9dfb05-letter-spacing )!important;
  color: var( --e-global-color-f9b7ba2 )!important;
}

.testimonial-author-info span {
  color: var(--neutral-400)!important;
  font-size: var( --e-global-typography-99c2698-font-size )!important;
  font-weight: var( --e-global-typography-99c2698-font-weight )!important;
  line-height: var( --e-global-typography-99c2698-line-height )!important;
  color: var( --e-global-color-745c389 )!important;
}

.testimonial-avatar img {
  border-radius: 50% !important;
}

.before-after .elementor-widget-container, .before-after {
  border-radius: var(--sp-1) !important;
}

.gallery-item {transition: box-shadow 0.2s ease!important;
  border-top-left-radius: var(--radius-xl) !important;
    border-top-right-radius: var(--radius-xl) !important;
}

.gallery-item:hover {
  transform: translateY(-3px)!important;
  box-shadow: 0 16px 30px rgba(2,40,36,0.12), 0 6px 10px rgba(2,40,36,0.05)!important;
}

.gallery-area .gallery-item {
    border-radius: var(--rounded-t-xl)!important;
}

.gallery-section .browser-bar {
  border: 1px solid #E8F0EF!important;
  border-radius: 12px 12px 0 0;
}

/* ─── Phone Frame ─── */
.phone-frame {
  max-width: 100%;
  background: #FFFFFF;
  border-radius: 0 0 28px 28px;
  overflow: hidden;
}

/* Statusbar */
.phone-statusbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 14px 4px;
  background: #EEF4FA;
  border-radius: 20px 20px 0 0;
  color: #4A6360;
}
.phone-time {
  font-family: 'Manrope', sans-serif;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.phone-statusbar-icons {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #4A6360;
}

/* Screenshot-billedet */
.phone-frame .elementor-widget-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* Homebar via ::after */
.phone-frame::after {
  content: '';
  display: block;
  width: 80px;
  height: 4px;
  background: #D1DFDE;
  border-radius: 2px;
  margin: 8px auto 4px;
}

.gallery-item.phone-item {border-radius: 28px!important;}

/* ═══ Mobilmenu popup — nulstil submenu-styling ═══ */
.elementor-18170 .sub-menu {
  position: static !important;
  transform: none !important;
  left: auto !important;
  top: auto !important;
  min-width: unset !important;
  border-radius: 0 !important;
  padding: 0 0 0 var(--sp-4) !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  z-index: auto !important;
}

.case-logo {
  width: auto;
  height: auto;
  padding: 6px 10px;
  min-width: 80px;
  max-width: 140px;
  bottom: 12px;
  left: 12px !important;
  top: auto !important;
  right: auto !important;
  inset: auto auto 56px 12px !important;
  margin-bottom: -47px!important;
}

.case-logo img {
  width: auto;
  height: 28px;
  object-fit: contain;
  display: block;
}

.case-logo .elementor-widget-container {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.case-logo .elementor-widget-image {
  width: auto;
}

.case-card > .elementor-widget-image {
  line-height: 0!important;
  margin-bottom: 0 !important;
}

.case-card > .elementor-widget-image img {
  display: block!important;
}

.elementor-widget-image a img[src$=".svg"] {
  width: inherit;
}

/* ── Metoden: progressiv timeline ved scroll ── */

/* Numre: start grå, transition til teal */
.process-num .elementor-heading-title {
  border-color: var(--clr-neutral-200, #e2e8f0);
  transition: border-color 0.4s ease;
}

/* Trin 1: altid teal */
.timeline-col-first .process-num .elementor-heading-title {
  border-color: var(--primary-500)!important;
}

/* Aktiveret nummer */
.process-num.num-active .elementor-heading-title {
  border-color: var(--primary-500);
}

/* Forbindelseslinjen: gradient-fill via pseudo-element */
.timeline-col::before {
  background: var(--clr-neutral-200, #e2e8f0) !important;
}

.timeline-col::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: var(--line-fill, 0%);
  background: var(--primary-500);
  transform: translateX(-50%);
  z-index: 0;
}

.timeline-col {
  will-change: --line-fill;
}

/* ── Metoden: aktivt trin-kort ── */
.service-card.e-con.step-active {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: var(--neutral-200) !important;
}

/* Aktivt trin: samme effekt som hover */
.service-card.e-con.step-active::before {
  transform: scaleX(1) !important;
  width: calc(100% - 24px) !important;
}

.service-card.e-con.step-active::after {
  opacity: 1 !important;
}

@media (max-width: 1216px) {  
  .case-logo {
  inset: auto auto 56px 28px !important;
}
}

@media only screen and (max-width: 640px) {
    .browser-bar {
  padding: 8px 16px!important;}
  .browser-url {
  padding: 0px 12px!important;
}

.elementor-sticky--effects .mobile-menu-icon a svg {
  color: var(--primary-800) !important;
}

.case-logo {
  inset: auto auto 56px 12px !important;
}
}