/* bpb-design — GENERERET af tools/build-css.py. Redigér design/tokens.css
   eller tools/bridge.css og kør scriptet igen. Alt (undtagen :root) er
   scopet til body.bp-design, så eksisterende sider ikke påvirkes. */
:root{--bp-accent:        #724EE2;   
  --bp-accent-ink:    #5B3BC4;   
  --bp-accent-soft:   #EFEAFC;   
  --bp-ink:           #2A2A2A;   
  --bp-ink-2:         #5A5A5A;   
  --bp-line:          #E8E8E8;   
  --bp-field:         #F2F1F5;   
  --bp-paper:         #FFFFFF;   
  --bp-paper-2:       #FAF8F6;   
  --bp-peach:         #F8ECE5;   
  --bp-night:         #0F0F10;   
  --bp-night-ink:     #C9C6D4;   
  --bp-ok:            #1F8F5F;   
  --bp-warn:          #B4541A;   

  
  --bp-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bp-fs-xs: 0.8125rem;  
  --bp-fs-s:  0.9375rem;  
  --bp-fs-m:  1.0625rem;  
  --bp-fs-l:  1.25rem;    
  --bp-fs-xl: 1.5rem;     
  --bp-fs-2xl: 2rem;      
  --bp-fs-3xl: 2.75rem;   
  --bp-lh-tight: 1.1;
  --bp-lh-body: 1.55;

  
  --bp-s1: 0.25rem; --bp-s2: 0.5rem; --bp-s3: 0.75rem; --bp-s4: 1rem;
  --bp-s5: 1.5rem; --bp-s6: 2rem; --bp-s7: 3rem; --bp-s8: 4rem; --bp-s9: 6rem;

  
  --bp-r-pill: 999px;
  --bp-r-card: 12px;
  --bp-r-img: 16px;
  --bp-shadow: 0 6px 24px -8px rgba(20, 12, 60, 0.28);   
  --bp-shadow-bar: 0 -4px 20px -6px rgba(0,0,0,0.22);
  --bp-tap: 48px;            
  --bp-measure: 68ch;
  --bp-container: 1120px;
  --bp-gutter: 1.25rem;      

  
  --bp-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --bp-dur: 320ms;}
@media (min-width: 768px){:root{--bp-gutter: 2rem; --bp-fs-m: 1.0625rem; --bp-fs-xl: 1.75rem; --bp-fs-2xl: 2.5rem;}}
@media (min-width: 1024px){:root{--bp-gutter: 2.5rem; --bp-fs-2xl: var(--bp-fs-3xl); --bp-fs-xl: 2rem;}}
body.bp-design :where([data-elementor-type="wp-page"]) *, body.bp-design :where([data-elementor-type="wp-page"]) *::before, body.bp-design :where([data-elementor-type="wp-page"]) *::after{box-sizing: border-box;}
html:has(> body.bp-design){-webkit-text-size-adjust: 100%; scroll-behavior: smooth;}
body.bp-design{margin: 0; background: var(--bp-paper); color: var(--bp-ink);
  font-family: var(--bp-font); font-size: var(--bp-fs-m); line-height: var(--bp-lh-body);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;}
body.bp-design :where([data-elementor-type="wp-page"]) img, body.bp-design :where([data-elementor-type="wp-page"]) svg, body.bp-design :where([data-elementor-type="wp-page"]) video{display: block; max-width: 100%; height: auto;}
body.bp-design :where([data-elementor-type="wp-page"]) a{color: var(--bp-accent); text-decoration-thickness: 1px; text-underline-offset: 0.15em;}
body.bp-design :where([data-elementor-type="wp-page"]) a:hover{color: var(--bp-accent-ink);}
body.bp-design :where([data-elementor-type="wp-page"]) :focus-visible{outline: 3px solid var(--bp-accent); outline-offset: 3px; border-radius: 4px;}
body.bp-design :where([data-elementor-type="wp-page"]) button, body.bp-design :where([data-elementor-type="wp-page"]) input, body.bp-design :where([data-elementor-type="wp-page"]) select, body.bp-design :where([data-elementor-type="wp-page"]) textarea{font: inherit; color: inherit;}
body.bp-design :where([data-elementor-type="wp-page"]) h1, body.bp-design :where([data-elementor-type="wp-page"]) h2, body.bp-design :where([data-elementor-type="wp-page"]) h3, body.bp-design :where([data-elementor-type="wp-page"]) h4{margin: 0; font-weight: 700; line-height: var(--bp-lh-tight); letter-spacing: -0.02em; text-wrap: balance;}
body.bp-design :where([data-elementor-type="wp-page"]) h1{font-size: var(--bp-fs-2xl); font-weight: 800; letter-spacing: -0.03em;}
body.bp-design :where([data-elementor-type="wp-page"]) h2{font-size: var(--bp-fs-xl);}
body.bp-design :where([data-elementor-type="wp-page"]) h3{font-size: var(--bp-fs-l);}
body.bp-design :where([data-elementor-type="wp-page"]) p, body.bp-design :where([data-elementor-type="wp-page"]) li{max-width: var(--bp-measure);}
body.bp-design :where([data-elementor-type="wp-page"]) p{margin: 0 0 var(--bp-s4);}
body.bp-design :where([data-elementor-type="wp-page"]) ul, body.bp-design :where([data-elementor-type="wp-page"]) ol{margin: 0; padding: 0;}
body.bp-design .bp-muted{color: var(--bp-ink-2);}
body.bp-design .bp-sr{position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;}
body.bp-design .bp-wrap{width: 100%; max-width: var(--bp-container); margin-inline: auto; padding-inline: var(--bp-gutter);}
body.bp-design .bp-section{padding-block: var(--bp-s7);}
body.bp-design .bp-section--tight{padding-block: var(--bp-s6);}
body.bp-design .bp-section--warm{background: var(--bp-paper-2);}
body.bp-design .bp-section--night{background: var(--bp-night); color: #fff;}
body.bp-design .bp-section--night .bp-muted{color: var(--bp-night-ink);}
body.bp-design .bp-section > .bp-wrap > h2, body.bp-design .bp-section > .bp-wrap > .bp-h{margin-bottom: var(--bp-s5);}
body.bp-design .bp-kicker{display: block; font-size: var(--bp-fs-s); font-weight: 600; color: var(--bp-accent); margin-bottom: var(--bp-s2);}
body.bp-design .bp-section--night .bp-kicker{color: #B9A6FF;}
body.bp-design .bp-lead{font-size: var(--bp-fs-l); line-height: 1.4; color: var(--bp-ink-2);}
@media (min-width: 768px){body.bp-design .bp-section{padding-block: var(--bp-s8);}}
@media (min-width: 1024px){body.bp-design .bp-section{padding-block: var(--bp-s9);}}
body.bp-design .bp-header{position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.92); backdrop-filter: saturate(160%) blur(12px); border-bottom: 1px solid var(--bp-line);}
body.bp-design .bp-header .bp-wrap{display: flex; align-items: center; justify-content: space-between; gap: var(--bp-s4); min-height: 60px;}
body.bp-design .bp-logo{display: inline-flex; align-items: center; height: var(--bp-tap); color: var(--bp-ink); text-decoration: none; font-weight: 700; font-size: 1.15rem; letter-spacing: -0.02em;}
body.bp-design .bp-logo svg{height: 22px; width: auto;}
body.bp-design .bp-nav{display: none; gap: var(--bp-s5);}
body.bp-design .bp-nav a{color: var(--bp-ink); text-decoration: none; font-weight: 600; font-size: var(--bp-fs-s);}
body.bp-design .bp-nav a:hover, body.bp-design .bp-nav a[aria-current="page"]{color: var(--bp-accent);}
body.bp-design .bp-header__cta{min-height: 44px; padding: 0 18px; font-size: var(--bp-fs-s); box-shadow: none; flex: none;}
body.bp-design .bp-header__cta:hover{box-shadow: var(--bp-shadow);}
@media (min-width: 1024px){body.bp-design .bp-nav{display: flex;}}
body.bp-design .bp-btn{display: inline-flex; align-items: center; justify-content: center; gap: var(--bp-s2); min-height: var(--bp-tap); padding: 0 var(--bp-s5); border-radius: var(--bp-r-pill); border: 0; cursor: pointer; text-decoration: none; font-weight: 700; font-size: var(--bp-fs-m); line-height: 1; transition: background-color var(--bp-dur) var(--bp-ease), transform var(--bp-dur) var(--bp-ease), box-shadow var(--bp-dur) var(--bp-ease);}
body.bp-design .bp-btn--primary{background: var(--bp-accent); color: #fff; box-shadow: var(--bp-shadow);}
body.bp-design .bp-btn--primary:hover{background: var(--bp-accent-ink); color: #fff;}
body.bp-design .bp-btn--primary:active{transform: translateY(1px); box-shadow: none;}
body.bp-design .bp-btn--ghost{background: transparent; color: var(--bp-ink); border: 1.5px solid var(--bp-ink);}
body.bp-design .bp-btn--ghost:hover{background: var(--bp-ink); color: #fff;}
body.bp-design .bp-btn--light{background: #fff; color: var(--bp-ink);}
body.bp-design .bp-btn--block{width: 100%;}
body.bp-design .bp-btn[aria-disabled="true"], body.bp-design .bp-btn:disabled{opacity: 0.55; cursor: not-allowed; box-shadow: none;}
body.bp-design .bp-btn svg{width: 18px; height: 18px;}
body.bp-design .hero-form{width: 100%; max-width: 440px; margin: 0;}
body.bp-design .hero-form .wrap{display: flex; width: 100%;}
body.bp-design .hero-form .search{position: relative; display: flex; align-items: center; width: 100%; min-height: 60px; padding: 6px 6px 6px 20px; background: #fff; border: 1.5px solid var(--bp-line); border-radius: var(--bp-r-pill); box-shadow: var(--bp-shadow); transition: border-color var(--bp-dur) var(--bp-ease), box-shadow var(--bp-dur) var(--bp-ease);}
body.bp-design .hero-form .search:focus-within{border-color: var(--bp-accent); box-shadow: 0 0 0 4px var(--bp-accent-soft), var(--bp-shadow);}
body.bp-design .hero-form .searchTerm{flex: 1; min-width: 0; border: 0 !important; outline: none; background: transparent; padding: 10px 0 !important; margin: 0 !important; border-radius: 0 !important; font-size: 1.0625rem; font-weight: 600; color: var(--bp-ink);}
body.bp-design .hero-form .searchTerm::placeholder{color: var(--bp-ink-2); opacity: 1;}
body.bp-design .hero-form .searchButton{display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: var(--bp-tap); height: var(--bp-tap); padding: 0 18px !important; border: 0 !important; border-radius: var(--bp-r-pill); background: var(--bp-accent); color: #fff; font-weight: 700; font-size: var(--bp-fs-s); cursor: pointer; white-space: nowrap; transition: background-color var(--bp-dur) var(--bp-ease);}
body.bp-design .hero-form .searchButton:hover{background: var(--bp-accent-ink);}
body.bp-design .hero-form .searchButton svg{width: 18px; height: 18px; flex: none;}
body.bp-design .hero-form .searchButton span{display: none;}
body.bp-design .hero-form__hint{display: flex; align-items: center; gap: var(--bp-s2); margin-top: var(--bp-s3); font-size: var(--bp-fs-s); color: var(--bp-ink-2);}
body.bp-design .hero-form__hint svg{width: 16px; height: 16px; color: var(--bp-ok); flex: none;}
body.bp-design .hero-form--dark .search{border-color: transparent;}
body.bp-design .hero-form--dark .hero-form__hint{color: var(--bp-night-ink);}
@media (min-width: 360px){body.bp-design .hero-form .searchButton span{display: inline;}}
body.bp-design .bp-trust{display: flex; flex-wrap: wrap; align-items: center; gap: var(--bp-s2) var(--bp-s3); font-size: var(--bp-fs-s); font-weight: 600;}
body.bp-design .bp-trust__stars{display: inline-flex; gap: 2px;}
body.bp-design .bp-trust__stars i{display: block; width: 18px; height: 18px; background: #00B67A; border-radius: 2px; position: relative;}
body.bp-design .bp-trust__stars i::after{content: ""; position: absolute; inset: 3px; background: #fff; clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);}
body.bp-design .bp-trust__stars i.half::before{content: ""; position: absolute; inset: 0; width: 50%; background: #DCDCE6; border-radius: 2px 0 0 2px;}
body.bp-design .bp-trust a{color: inherit;}
body.bp-design .bp-trust--onphoto{color: #fff;}
body.bp-design .bp-trust--onphoto a{color: #fff;}
body.bp-design .bp-hero{position: relative; color: #fff; background: var(--bp-night); isolation: isolate;}
body.bp-design .bp-hero__media{position: absolute; inset: 0; z-index: -1; overflow: hidden;}
body.bp-design .bp-hero__media img{width: 100%; height: 100%; object-fit: cover; object-position: 62% 50%;}
body.bp-design .bp-hero__media::after{content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,8,20,0.45) 0%, rgba(10,8,20,0.55) 45%, rgba(10,8,20,0.88) 100%);}
body.bp-design .bp-hero .bp-wrap{display: flex; flex-direction: column; justify-content: flex-end; min-height: min(78svh, 720px); padding-block: var(--bp-s6) var(--bp-s6); gap: var(--bp-s4);}
body.bp-design .bp-hero h1{max-width: 14ch;}
body.bp-design .bp-hero__sub{font-size: var(--bp-fs-l); line-height: 1.35; color: #E7E3F4; max-width: 30ch; margin: 0;}
body.bp-design .bp-hero__sub strong{color: #fff;}
body.bp-design .bp-hero__proof{display: flex; flex-wrap: wrap; gap: var(--bp-s2) var(--bp-s4); margin: 0; padding: 0; list-style: none; font-size: var(--bp-fs-s); color: #E7E3F4;}
body.bp-design .bp-hero__proof li{display: inline-flex; align-items: center; gap: 6px; max-width: none;}
body.bp-design .bp-hero__proof svg{width: 16px; height: 16px; color: #B9A6FF;}
@media (min-width: 768px){body.bp-design .bp-hero .bp-wrap{min-height: min(72vh, 680px); justify-content: center; padding-block: var(--bp-s8);}
body.bp-design .bp-hero__media img{object-position: 50% 50%;}
body.bp-design .bp-hero__media::after{background: linear-gradient(90deg, rgba(10,8,20,0.82) 0%, rgba(10,8,20,0.55) 55%, rgba(10,8,20,0.25) 100%);}}
body.bp-design .bp-notice{display: flex; gap: var(--bp-s3); align-items: flex-start; padding: var(--bp-s3) 0; font-size: var(--bp-fs-s); color: var(--bp-ink-2); border-bottom: 1px solid var(--bp-line);}
body.bp-design .bp-notice svg{width: 18px; height: 18px; flex: none; color: var(--bp-accent); margin-top: 2px;}
body.bp-design .bp-notice p{margin: 0; max-width: none;}
body.bp-design .bp-steps{list-style: none; display: grid; gap: var(--bp-s5); counter-reset: step;}
body.bp-design .bp-steps li{display: grid; grid-template-columns: 44px 1fr; gap: var(--bp-s4); max-width: none;}
body.bp-design .bp-steps li::before{counter-increment: step; content: counter(step); display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--bp-r-pill); background: var(--bp-accent); color: #fff; font-weight: 800; font-size: 1.125rem;}
body.bp-design .bp-steps h3{margin-bottom: var(--bp-s1);}
body.bp-design .bp-steps p{margin: 0; color: var(--bp-ink-2);}
@media (min-width: 768px){body.bp-design .bp-steps{grid-template-columns: repeat(3, 1fr); gap: var(--bp-s6);}
body.bp-design .bp-steps li{grid-template-columns: 1fr;}}
body.bp-design .bp-prices{border-top: 1px solid var(--bp-line);}
body.bp-design .bp-prices__row{display: grid; grid-template-columns: 1fr auto; gap: var(--bp-s2) var(--bp-s4); align-items: center; padding: var(--bp-s4) 0; border-bottom: 1px solid var(--bp-line); text-decoration: none; color: inherit;}
body.bp-design .bp-prices__row:hover .bp-prices__name{color: var(--bp-accent);}
body.bp-design .bp-prices__name{font-weight: 700; font-size: var(--bp-fs-l); transition: color var(--bp-dur) var(--bp-ease);}
body.bp-design .bp-prices__desc{grid-column: 1; margin: 0; color: var(--bp-ink-2); font-size: var(--bp-fs-s);}
body.bp-design .bp-prices__price{grid-column: 2; grid-row: 1 / span 2; text-align: right; font-weight: 800; font-size: var(--bp-fs-l); white-space: nowrap;}
body.bp-design .bp-prices__price small{display: block; font-weight: 600; font-size: var(--bp-fs-xs); color: var(--bp-ink-2);}
body.bp-design .bp-prices__foot{margin-top: var(--bp-s4); font-size: var(--bp-fs-s); color: var(--bp-ink-2);}
body.bp-design .bp-table-wrap{overflow-x: auto; -webkit-overflow-scrolling: touch; margin-inline: calc(-1 * var(--bp-gutter)); padding-inline: var(--bp-gutter);}
body.bp-design .bp-table{width: 100%; min-width: 560px; border-collapse: collapse; font-size: var(--bp-fs-s);}
body.bp-design .bp-table th, body.bp-design .bp-table td{padding: var(--bp-s3) var(--bp-s3); text-align: right; border-bottom: 1px solid var(--bp-line); vertical-align: top;}
body.bp-design .bp-table th:first-child, body.bp-design .bp-table td:first-child{text-align: left; position: sticky; left: 0; background: var(--bp-paper);}
body.bp-design .bp-table thead th{font-weight: 700; color: var(--bp-ink); border-bottom: 2px solid var(--bp-ink);}
body.bp-design .bp-table tbody th{font-weight: 600;}
body.bp-design .bp-table td strong{font-weight: 800;}
body.bp-design .bp-table .is-hi{background: var(--bp-accent-soft);}
body.bp-design .bp-table caption{text-align: left; caption-side: bottom; padding-top: var(--bp-s3); color: var(--bp-ink-2); font-size: var(--bp-fs-xs);}
body.bp-design .bp-services{list-style: none; display: grid; gap: var(--bp-s4);}
body.bp-design .bp-services li{max-width: none;}
body.bp-design .bp-services a{display: grid; grid-template-columns: 96px 1fr auto; gap: var(--bp-s4); align-items: center; padding: var(--bp-s3); border: 1px solid var(--bp-line); border-radius: var(--bp-r-card); color: inherit; text-decoration: none; background: #fff; transition: border-color var(--bp-dur) var(--bp-ease), transform var(--bp-dur) var(--bp-ease);}
body.bp-design .bp-services a:hover{border-color: var(--bp-accent); transform: translateY(-2px);}
body.bp-design .bp-services img{width: 96px; height: 96px; object-fit: cover; border-radius: 8px; background: var(--bp-field);}
body.bp-design .bp-services h3{font-size: var(--bp-fs-m); margin-bottom: 2px;}
body.bp-design .bp-services p{margin: 0; font-size: var(--bp-fs-s); color: var(--bp-ink-2);}
body.bp-design .bp-services .bp-services__go{width: 40px; height: 40px; border-radius: var(--bp-r-pill); display: grid; place-items: center; background: var(--bp-field); color: var(--bp-ink);}
body.bp-design .bp-services .bp-services__go svg{width: 18px; height: 18px;}
@media (min-width: 768px){body.bp-design .bp-services{grid-template-columns: repeat(2, 1fr);}}
body.bp-design .bp-proof{display: grid; gap: var(--bp-s5);}
body.bp-design .bp-proof__item strong{display: block; font-size: var(--bp-fs-2xl); font-weight: 800; letter-spacing: -0.03em; line-height: 1;}
body.bp-design .bp-proof__item span{display: block; margin-top: var(--bp-s2); color: var(--bp-ink-2); font-size: var(--bp-fs-s);}
body.bp-design .bp-section--night .bp-proof__item span{color: var(--bp-night-ink);}
@media (min-width: 768px){body.bp-design .bp-proof{grid-template-columns: repeat(3, 1fr);}}
body.bp-design .bp-reviews{list-style: none; display: grid; gap: var(--bp-s4);}
body.bp-design .bp-reviews li{max-width: none;}
body.bp-design .bp-reviews blockquote{margin: 0; padding: var(--bp-s5); background: #fff; border: 1px solid var(--bp-line); border-radius: var(--bp-r-card);}
body.bp-design .bp-reviews p{margin: 0 0 var(--bp-s3); font-size: var(--bp-fs-m);}
body.bp-design .bp-reviews footer{display: flex; justify-content: space-between; align-items: center; gap: var(--bp-s3); font-size: var(--bp-fs-s); color: var(--bp-ink-2);}
body.bp-design .bp-reviews cite{font-style: normal; font-weight: 700; color: var(--bp-ink);}
@media (min-width: 768px){body.bp-design .bp-reviews{grid-template-columns: repeat(3, 1fr);}}
body.bp-design .bp-reviews--scroll{display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--bp-s4); margin-inline: calc(-1 * var(--bp-gutter)); padding: 0 var(--bp-gutter) var(--bp-s2); scroll-padding-inline: var(--bp-gutter); scrollbar-width: none;}
body.bp-design .bp-reviews--scroll::-webkit-scrollbar{display: none;}
body.bp-design .bp-reviews--scroll li{flex: 0 0 min(84vw, 360px); scroll-snap-align: start;}
@media (min-width: 768px){body.bp-design .bp-reviews--scroll{display: grid; overflow: visible; margin-inline: 0; padding: 0;}
body.bp-design .bp-reviews--scroll li{flex: none;}}
body.bp-design .bp-faq{border-top: 1px solid var(--bp-line);}
body.bp-design .bp-faq details{border-bottom: 1px solid var(--bp-line);}
body.bp-design .bp-faq summary{display: flex; justify-content: space-between; align-items: center; gap: var(--bp-s4); min-height: 56px; padding: var(--bp-s3) 0; cursor: pointer; list-style: none; font-weight: 700; font-size: var(--bp-fs-m);}
body.bp-design .bp-faq summary::-webkit-details-marker{display: none;}
body.bp-design .bp-faq summary::after{content: ""; flex: none; width: 12px; height: 12px; border-right: 2px solid var(--bp-ink); border-bottom: 2px solid var(--bp-ink); transform: rotate(45deg); transition: transform var(--bp-dur) var(--bp-ease); margin-right: 4px;}
body.bp-design .bp-faq details[open] summary::after{transform: rotate(-135deg);}
body.bp-design .bp-faq details > div{padding: 0 0 var(--bp-s4); color: var(--bp-ink-2);}
body.bp-design .bp-faq details > div p:last-child{margin-bottom: 0;}
body.bp-design .bp-cities{list-style: none; display: flex; flex-wrap: wrap; gap: var(--bp-s2);}
body.bp-design .bp-cities li{max-width: none;}
body.bp-design .bp-cities a{display: inline-flex; align-items: center; min-height: 40px; padding: 0 var(--bp-s4); border-radius: var(--bp-r-pill); border: 1px solid var(--bp-line); color: var(--bp-ink); text-decoration: none; font-weight: 600; font-size: var(--bp-fs-s);}
body.bp-design .bp-cities a:hover{border-color: var(--bp-accent); color: var(--bp-accent);}
body.bp-design .bp-crumbs{font-size: var(--bp-fs-xs); color: var(--bp-ink-2); padding-block: var(--bp-s3);}
body.bp-design .bp-crumbs ol{list-style: none; display: flex; flex-wrap: wrap; gap: var(--bp-s2);}
body.bp-design .bp-crumbs li{max-width: none; display: inline-flex; gap: var(--bp-s2);}
body.bp-design .bp-crumbs li + li::before{content: "/"; opacity: 0.5;}
body.bp-design .bp-crumbs a{color: inherit;}
body.bp-design .bp-article{max-width: var(--bp-measure);}
body.bp-design .bp-article h2{margin: var(--bp-s7) 0 var(--bp-s3);}
body.bp-design .bp-article h3{margin: var(--bp-s5) 0 var(--bp-s2);}
body.bp-design .bp-article ul, body.bp-design .bp-article ol{padding-left: 1.2em; margin-bottom: var(--bp-s4);}
body.bp-design .bp-article li{margin-bottom: var(--bp-s2);}
body.bp-design .bp-article figure{margin: var(--bp-s5) 0;}
body.bp-design .bp-article img{border-radius: var(--bp-r-img);}
body.bp-design .bp-article figcaption{margin-top: var(--bp-s2); font-size: var(--bp-fs-xs); color: var(--bp-ink-2);}
body.bp-design .bp-answer{padding: var(--bp-s4) var(--bp-s5); background: var(--bp-accent-soft); border-radius: var(--bp-r-card); font-weight: 600; margin-bottom: var(--bp-s4);}
body.bp-design .bp-answer p{margin: 0;}
body.bp-design .bp-meta{display: flex; flex-wrap: wrap; gap: var(--bp-s2) var(--bp-s4); font-size: var(--bp-fs-xs); color: var(--bp-ink-2); margin-bottom: var(--bp-s5);}
body.bp-design .bp-toc{padding: var(--bp-s4) var(--bp-s5); background: var(--bp-paper-2); border-radius: var(--bp-r-card); margin-bottom: var(--bp-s6);}
body.bp-design .bp-toc strong{display: block; margin-bottom: var(--bp-s2); font-size: var(--bp-fs-s);}
body.bp-design .bp-toc ol{list-style: decimal; padding-left: 1.2em; font-size: var(--bp-fs-s);}
body.bp-design .bp-toc a{color: var(--bp-ink);}
body.bp-design .bp-callout{display: grid; gap: var(--bp-s3); padding: var(--bp-s5); background: var(--bp-night); color: #fff; border-radius: var(--bp-r-card); margin: var(--bp-s6) 0;}
body.bp-design .bp-callout p{margin: 0; color: var(--bp-night-ink);}
body.bp-design .bp-callout strong{color: #fff;}
body.bp-design .bp-sticky{position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: var(--bp-s2) var(--bp-gutter) calc(var(--bp-s2) + env(safe-area-inset-bottom)); background: rgba(255,255,255,0.96); backdrop-filter: blur(14px); border-top: 1px solid var(--bp-line); box-shadow: var(--bp-shadow-bar); transform: translateY(110%); transition: transform var(--bp-dur) var(--bp-ease);}
body.bp-design .bp-sticky.is-visible{transform: none;}
body.bp-design .bp-sticky .hero-form{max-width: none;}
body.bp-design .bp-sticky .hero-form .search{box-shadow: none; min-height: 52px;}
body.bp-design .bp-sticky .hero-form .searchButton{height: 40px;}
body.bp-design .bp-sticky__meta{display: none;}
@media (min-width: 768px){body.bp-design .bp-sticky{padding-block: var(--bp-s3);}
body.bp-design .bp-sticky .bp-wrap{display: flex; align-items: center; gap: var(--bp-s5);}
body.bp-design .bp-sticky__meta{display: block; flex: 1; font-size: var(--bp-fs-s); font-weight: 600;}
body.bp-design .bp-sticky .hero-form{max-width: 480px;}}
body.bp-design.has-sticky{padding-bottom: 88px;}
body.bp-design .bp-form{display: grid; gap: var(--bp-s4);}
body.bp-design .bp-form label{display: grid; gap: var(--bp-s1); font-weight: 600; font-size: var(--bp-fs-s);}
body.bp-design .bp-form input, body.bp-design .bp-form textarea, body.bp-design .bp-form select{width: 100%; min-height: 52px; padding: 12px 16px; border: 1.5px solid var(--bp-line); border-radius: 12px; background: #fff; font-size: 1rem;}
body.bp-design .bp-form textarea{min-height: 120px; resize: vertical;}
body.bp-design .bp-form input:focus, body.bp-design .bp-form textarea:focus{border-color: var(--bp-accent); outline: none; box-shadow: 0 0 0 4px var(--bp-accent-soft);}
body.bp-design .bp-form .bp-error{display: none; color: var(--bp-warn); font-size: var(--bp-fs-xs); font-weight: 600;}
body.bp-design .bp-form input:user-invalid ~ .bp-error{display: block;}
body.bp-design .bp-form input:user-invalid{border-color: var(--bp-warn);}
body.bp-design .bp-form__row{display: grid; gap: var(--bp-s4);}
@media (min-width: 640px){body.bp-design .bp-form__row{grid-template-columns: 1fr 1fr;}}
body.bp-design .bp-footer{background: var(--bp-night); color: #fff; padding-block: var(--bp-s7) calc(var(--bp-s6) + 88px);}
body.bp-design .bp-footer a{color: #fff; text-decoration: none;}
body.bp-design .bp-footer a:hover{color: #B9A6FF;}
body.bp-design .bp-footer__grid{display: grid; gap: var(--bp-s6);}
body.bp-design .bp-footer h2{font-size: var(--bp-fs-s); font-weight: 700; color: var(--bp-night-ink); margin-bottom: var(--bp-s3); letter-spacing: 0;}
body.bp-design .bp-footer ul{list-style: none; display: grid; gap: var(--bp-s2);}
body.bp-design .bp-footer li{max-width: none;}
body.bp-design .bp-footer li a{display: inline-flex; align-items: center; min-height: 32px;}
body.bp-design .bp-footer__brand p{color: var(--bp-night-ink); font-size: var(--bp-fs-s);}
body.bp-design .bp-footer__pay{display: flex; gap: var(--bp-s2); margin-top: var(--bp-s3);}
body.bp-design .bp-footer__pay span{display: grid; place-items: center; width: 52px; height: 32px; background: #fff; border-radius: 6px; color: var(--bp-ink); font-size: 10px; font-weight: 800;}
body.bp-design .bp-footer__legal{margin-top: var(--bp-s6); padding-top: var(--bp-s4); border-top: 1px solid rgba(255,255,255,0.14); font-size: var(--bp-fs-xs); color: var(--bp-night-ink); display: flex; flex-wrap: wrap; gap: var(--bp-s2) var(--bp-s4);}
body.bp-design .bp-footer__legal p{margin: 0; max-width: none;}
@media (min-width: 768px){body.bp-design .bp-footer__grid{grid-template-columns: 1.4fr 1fr 1fr 1fr;}}
@media (prefers-reduced-motion: no-preference){body.bp-design .bp-hero h1, body.bp-design .bp-hero__sub, body.bp-design .bp-hero .hero-form, body.bp-design .bp-hero .bp-trust, body.bp-design .bp-hero__proof{animation: bp-rise 700ms var(--bp-ease) both;}
body.bp-design .bp-hero__sub{animation-delay: 80ms;}
body.bp-design .bp-hero .hero-form{animation-delay: 160ms;}
body.bp-design .bp-hero .bp-trust{animation-delay: 240ms;}
body.bp-design .bp-hero__proof{animation-delay: 300ms;}
@keyframes bp-rise{ from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }}

/* ---- bridge.css ---- */
/* =====================================================================
   Elementor-bro. Får Elementors widget-markup og kit 5's arv til at følge
   tokens.css på sider med body.bp-design. Alt er scopet — side 7, kontakt
   og juridiske sider påvirkes ikke.

   Kit 5 sætter bl.a. .elementor-kit-5{color:#fff}, .elementor-kit-5 a{16px/24px}
   og h1 76px / h2 50px. Widget-defaults farver overskrifter #F8F8F8. Det
   neutraliseres her; widget-specifikke Elementor-indstillinger vinder stadig.
   ===================================================================== */

body.bp-design { color: var(--bp-ink); background: var(--bp-paper); }
body.bp-design :where([data-elementor-type="wp-page"]) a { font: inherit; }
/* Theme Builder header/footer er bygget til kit'ets arv (hvid tekst). Behold den. */
body.bp-design .elementor-location-footer { color: #fff; }
body.bp-design .elementor-location-header, body.bp-design .elementor-location-footer { --bp-measure: none; }
body.bp-design [data-elementor-type="wp-page"] .elementor-widget-heading .elementor-heading-title { color: inherit; font-family: var(--bp-font); line-height: var(--bp-lh-tight); text-wrap: balance; }
body.bp-design .elementor-widget-text-editor { font-family: var(--bp-font); font-size: var(--bp-fs-m); font-weight: 400; line-height: var(--bp-lh-body); color: inherit; }
body.bp-design .elementor-widget-text-editor > :last-child,
body.bp-design .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.bp-design .elementor-widget:not(:last-child) { margin-block-end: 0; }

/* ---------- Sektioner (Elementor-containere med .bp-section) ---------- */
body.bp-design .e-con.bp-section { padding-inline: var(--bp-gutter); }
body.bp-design .bp-section--night .elementor-widget-text-editor,
body.bp-design .bp-section--night .elementor-heading-title { color: #fff; }
body.bp-design .bp-section--night .bp-muted,
body.bp-design .bp-section--night .bp-lead { color: var(--bp-night-ink); }

/* ---------- Hero ---------- */
body.bp-design .bp-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--bp-night); }
body.bp-design .bp-hero .bp-hero__media { position: absolute !important; inset: 0; z-index: -1; margin: 0 !important; width: auto !important; max-width: none !important; }
body.bp-design .bp-hero__media > .elementor-widget-container { height: 100%; }
body.bp-design .bp-hero__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 62% 50%; border-radius: 0; }
body.bp-design .bp-hero__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(10,8,20,0.45) 0%, rgba(10,8,20,0.55) 45%, rgba(10,8,20,0.88) 100%); }
body.bp-design .bp-hero__inner { min-height: min(78svh, 720px); justify-content: flex-end !important; padding-block: var(--bp-s6); }
body.bp-design .bp-hero .elementor-heading-title { color: #fff; }
body.bp-design .bp-hero__sub, body.bp-design .bp-hero__sub p { font-size: var(--bp-fs-l); line-height: 1.35; color: #E7E3F4; max-width: 30ch; }
body.bp-design .bp-hero__sub strong { color: #fff; }
body.bp-design .bp-hero .hero-form .search,
body.bp-design .bp-section--night .hero-form .search { border-color: transparent; }
body.bp-design .bp-hero .hero-form__hint { color: var(--bp-night-ink); margin-top: calc(-1 * var(--bp-s2)); }
@media (min-width: 768px) {
  body.bp-design .bp-hero__inner { min-height: min(72vh, 680px); justify-content: center !important; padding-block: var(--bp-s8); }
  body.bp-design .bp-hero__media img { object-position: 50% 50%; }
  body.bp-design .bp-hero__media::after { background: linear-gradient(90deg, rgba(10,8,20,0.82) 0%, rgba(10,8,20,0.55) 55%, rgba(10,8,20,0.25) 100%); }
}

/* Bevis-punkter i heroen: Icon List uden ikoner, flueben tegnes her (ingen Font Awesome). */
body.bp-design .bp-proof-list .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: var(--bp-s2) var(--bp-s4); margin: 0; padding: 0; list-style: none; }
body.bp-design .bp-proof-list .elementor-icon-list-item { display: inline-flex; align-items: center; gap: 6px; margin: 0 !important; padding: 0 !important; max-width: none; font-size: var(--bp-fs-s); color: #E7E3F4; }
body.bp-design .bp-proof-list .elementor-icon-list-item::after { display: none !important; }
body.bp-design .bp-proof-list .elementor-icon-list-item::before { content: ""; flex: none; width: 16px; height: 16px; background: #B9A6FF; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; }
body.bp-design .bp-proof-list .elementor-icon-list-text { color: inherit; padding: 0 !important; }
body.bp-design .bp-proof-list--light .elementor-icon-list-item { color: var(--bp-ink); font-weight: 600; }
body.bp-design .bp-proof-list--light .elementor-icon-list-item::before { background: var(--bp-ok); }

/* ---------- Postnummer-formularen, ordret markup fra assets/booking/hero-form.html ----------
   Markup'en har sin egen <style> (380 px, 30 px rund knap). tokens.css vinder på
   specificitet; her lukkes de sidste huller. Kontrakten (action/method/postnr) er urørt. */
body.bp-design .hero-form__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body.bp-design .hero-form .searchButton { width: auto; height: var(--bp-tap); border-radius: var(--bp-r-pill); }
body.bp-design .hero-form .searchButton:hover { opacity: 1; }
body.bp-design .hero-form .searchButton::before { content: "Se pris"; display: none; }
/* Den ordrette placeholder er lang ("Indtast postnummer og se din pris"): under 440 px
   vises knappen som pil alene (aria-label "Se din pris"), så placeholderen ikke klippes. */
body.bp-design .hero-form .searchTerm { font-size: 1rem; }
body.bp-design .hero-form .searchButton img { width: 18px; height: 18px; display: block; }
/* "Se pris" vises altid (forside-cro.md). Under 440 px uden pil og med mindre placeholder,
   så den ordrette placeholder "Indtast postnummer og se din pris" kan stå helt. */
body.bp-design .hero-form .searchButton::before { display: inline; }
@media (max-width: 439px) {
  body.bp-design .hero-form .search { padding-left: 16px; }
  body.bp-design .hero-form .searchButton { padding: 0 14px !important; }
  body.bp-design .hero-form .searchButton img { display: none; }
  body.bp-design .hero-form .searchTerm::placeholder { font-size: 13.5px; letter-spacing: -0.01em; }
}

/* ---------- Trustpilot (assets/trustpilot/trustbox-micro.html) ---------- */
body.bp-design .bpb-trust { font-family: var(--bp-font); align-items: flex-start; }
/* Micro Star centrerer sit indhold i iframen: med 100 % bredde flyder stjernerne midt i
   en venstrestillet hero, og i smalle wrappers forsvinder logoet. Fast bredde løser begge. */
body.bp-design .bpb-trust .trustpilot-widget { width: 100%; max-width: 350px; }
body.bp-design .bk .bpb-trust .trustpilot-widget { margin-inline: auto; }
body.bp-design .bp-hero .bpb-trust__source,
body.bp-design .bp-hero .bpb-trust__source a,
body.bp-design .bp-hero .trustpilot-widget > a { color: var(--bp-night-ink); opacity: 1; }

/* ---------- Ydelser: Image Box-widgets som rækker (hele kortet er et link) ---------- */
body.bp-design .bp-svc-grid { display: grid !important; gap: var(--bp-s4); }
@media (min-width: 768px) { body.bp-design .bp-svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.bp-design .bp-svc { position: relative; margin: 0 !important; width: 100%; }
body.bp-design .bp-svc .elementor-image-box-wrapper { display: grid !important; grid-template-columns: 96px minmax(0, 1fr); gap: var(--bp-s4); align-items: center; padding: var(--bp-s3); border: 1px solid var(--bp-line); border-radius: var(--bp-r-card); background: #fff; text-align: left; transition: border-color var(--bp-dur) var(--bp-ease), transform var(--bp-dur) var(--bp-ease); }
body.bp-design .bp-svc--link .elementor-image-box-wrapper { grid-template-columns: 96px minmax(0, 1fr) 40px; }
body.bp-design .bp-svc--link:hover .elementor-image-box-wrapper { border-color: var(--bp-accent); transform: translateY(-2px); }
body.bp-design .bp-svc--link .elementor-image-box-wrapper::after { content: ""; width: 40px; height: 40px; border-radius: var(--bp-r-pill); background: var(--bp-field) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232A2A2A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / 18px no-repeat; }
body.bp-design .bp-svc .elementor-image-box-img { width: 96px !important; margin: 0 !important; line-height: 0; }
body.bp-design .bp-svc .elementor-image-box-img img { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; background: var(--bp-field); }
body.bp-design .bp-svc .elementor-image-box-content { min-width: 0; text-align: left; }
body.bp-design .bp-svc .elementor-image-box-title { margin: 0 0 2px; font-family: var(--bp-font); font-size: var(--bp-fs-m); font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: var(--bp-ink); }
body.bp-design .bp-svc .elementor-image-box-title a { color: inherit; text-decoration: none; }
body.bp-design .bp-svc .elementor-image-box-title a::after { content: ""; position: absolute; inset: 0; border-radius: var(--bp-r-card); }
body.bp-design .bp-svc .elementor-image-box-description { margin: 0; font-family: var(--bp-font); font-size: var(--bp-fs-s); line-height: 1.45; color: var(--bp-ink-2); }

/* ---------- Bevis-tal (container .bp-proof med Heading-tag p + tekst) ---------- */
body.bp-design .e-con.bp-proof { display: grid !important; gap: var(--bp-s5); }
@media (min-width: 768px) { body.bp-design .e-con.bp-proof { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.bp-design .bp-proof__num .elementor-heading-title { font-size: var(--bp-fs-2xl); font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: #fff; }
body.bp-design .bp-proof__src { font-size: var(--bp-fs-xs); color: var(--bp-night-ink); }

/* ---------- FAQ: Nested Accordion (<details>/<summary>) ---------- */
body.bp-design .bp-faq-acc .e-n-accordion { border-top: 1px solid var(--bp-line); }
body.bp-design .bp-faq-acc .e-n-accordion-item { border-bottom: 1px solid var(--bp-line); }
body.bp-design .bp-faq-acc .e-n-accordion-item-title { display: flex; justify-content: space-between; align-items: center; gap: var(--bp-s4); min-height: 56px; padding: var(--bp-s3) 0; border: 0; background: transparent; cursor: pointer; list-style: none; }
body.bp-design .bp-faq-acc .e-n-accordion-item-title::-webkit-details-marker { display: none; }
body.bp-design .bp-faq-acc .e-n-accordion-item-title-text { font-family: var(--bp-font); font-weight: 700; font-size: var(--bp-fs-m); line-height: 1.35; color: var(--bp-ink); }
body.bp-design .bp-faq-acc .e-n-accordion-item-title::after { content: ""; flex: none; width: 12px; height: 12px; margin-right: 4px; border-right: 2px solid var(--bp-ink); border-bottom: 2px solid var(--bp-ink); transform: rotate(45deg); transition: transform var(--bp-dur) var(--bp-ease); }
body.bp-design .bp-faq-acc .e-n-accordion-item[open] > .e-n-accordion-item-title::after { transform: rotate(-135deg); }
body.bp-design .bp-faq-acc .e-n-accordion-item > .e-con { padding: 0 0 var(--bp-s4) !important; border: 0 !important; color: var(--bp-ink-2); }
body.bp-design .bp-faq-acc .e-n-accordion-item > .e-con .elementor-widget-text-editor { color: var(--bp-ink-2); }

/* ---------- Sticky CTA: html-widget med .bp-sticky — fjern Elementors wrapper-spacing ---------- */
body.bp-design .bp-sticky-holder { padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
body.bp-design .bp-sticky .bp-wrap { padding-inline: 0; }
@media (min-width: 768px) { body.bp-design .bp-sticky .bp-wrap { padding-inline: var(--bp-gutter); } }

/* ---------- /booking/ (fra design/templates/booking.html) ---------- */
body.bp-design .bk { min-height: calc(100svh - 60px); padding-block: var(--bp-s7) var(--bp-s8); padding-inline: var(--bp-gutter); }
body.bp-design .bk > .e-con-inner, body.bp-design .bk__col { max-width: 560px; margin-inline: auto; text-align: center; align-items: center !important; gap: var(--bp-s4); }
body.bp-design .bk .hero-form { margin-inline: auto; }
body.bp-design .bk .hero-form__hint { justify-content: center; text-align: left; margin-top: calc(-1 * var(--bp-s2)); }
body.bp-design .bk .bpb-trust { align-items: center; }
body.bp-design .bk .bp-proof-list .elementor-icon-list-items { justify-content: center; }
body.bp-design .bk__next { list-style: none; display: grid; gap: var(--bp-s3); margin-top: var(--bp-s5); padding: 0; text-align: left; width: 100%; counter-reset: step; }
body.bp-design .bk__next li { display: grid; grid-template-columns: 28px 1fr; gap: var(--bp-s3); max-width: none; font-size: var(--bp-fs-s); color: var(--bp-ink-2); align-items: start; }
body.bp-design .bk__next li::before { content: counter(step); counter-increment: step; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--bp-accent-soft); color: var(--bp-accent-ink); font-weight: 800; font-size: var(--bp-fs-xs); }
body.bp-design .bk__next strong { color: var(--bp-ink); display: block; }
body.bp-design .bk__help { margin-top: var(--bp-s5); font-size: var(--bp-fs-s); color: var(--bp-ink-2); }
@media (min-width: 768px) { body.bp-design .bk { padding-block: var(--bp-s9); } }

/* HTML-widgets (formular, Trustpilot) må ikke krympe i centrerede flex-kolonner. */
body.bp-design [data-elementor-type="wp-page"] .elementor-widget-html,
body.bp-design [data-elementor-type="wp-page"] .elementor-widget-icon-list,
body.bp-design [data-elementor-type="wp-page"] .elementor-widget-text-editor { width: 100%; max-width: 100%; }
body.bp-design .bk .hero-form { max-width: 440px; }

/* Sticky-bar: luften i bunden lægges i footeren (sort), ikke som hvid body-padding. */
body.bp-design.has-sticky { padding-bottom: 0; }
body.bp-design.has-sticky .elementor-location-footer { padding-bottom: 88px; background: #000; }


/* =====================================================================
   r2 (review forside-r1 + byer/services)
   ===================================================================== */

/* a) Overskrifter efter DESIGN.md på ALLE bp-sider, også Heading-widgets uden egen
   typografi (Elementors default .elementor-widget-heading .elementor-heading-title
   giver ellers kit-størrelsen 45/76 px). Widget-specifik typografi vinder stadig. */
body.bp-design [data-elementor-type="wp-page"] .elementor-widget-heading h1.elementor-heading-title { font-size: var(--bp-fs-2xl); font-weight: 800; letter-spacing: -0.03em; line-height: var(--bp-lh-tight); }
body.bp-design [data-elementor-type="wp-page"] .elementor-widget-heading h2.elementor-heading-title { font-size: var(--bp-fs-xl); font-weight: 700; letter-spacing: -0.02em; line-height: var(--bp-lh-tight); }
body.bp-design [data-elementor-type="wp-page"] .elementor-widget-heading h3.elementor-heading-title { font-size: var(--bp-fs-l); font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }
body.bp-design [data-elementor-type="wp-page"] .elementor-widget-heading h4.elementor-heading-title { font-size: var(--bp-fs-m); font-weight: 700; line-height: 1.3; }

/* d) Grundpadding: indhold står aldrig i x=0, heller ikke uden .bp-section. Kun på
   container-niveau (en widget får aldrig ekstra kant oven i sin containers egen padding),
   og containere, der selv har en .bp-wrap som barn, undtages (den giver sidekanten). */
body.bp-design [data-elementor-type="wp-page"] > .e-con:not(.bp-hero):not(.bp-sticky-holder):not(.bp-page):not(:has(> .bp-wrap, > .e-con-inner > .bp-wrap)),
body.bp-design .bp-page:not(.bp-section):not(.bp-hero):not(.bk) > .e-con:not(.bp-hero):not(.bp-sticky-holder):not(.bp-wrap):not(:has(> .bp-wrap, > .e-con-inner > .bp-wrap)),
body.bp-design .bp-page:not(.bp-section):not(.bp-hero):not(.bk) > .e-con-inner > .e-con:not(.bp-hero):not(.bp-sticky-holder):not(.bp-wrap):not(:has(> .bp-wrap, > .e-con-inner > .bp-wrap)) { padding-inline: var(--bp-gutter); }
/* .bp-wrap (templates) har max-width 1120 INKL. sin gutter → indhold 40 px længere inde end
   Elementor-containere, header og footer på desktop. Bredden lægges uden for gutteren. */
body.bp-design [data-elementor-type="wp-page"] .bp-wrap { max-width: calc(var(--bp-container) + 2 * var(--bp-gutter)); }
/* Tabeller scroller i deres egen ramme og gør aldrig siden bredere. */
body.bp-design .bp-table-wrap { overflow-x: auto; max-width: calc(100% + 2 * var(--bp-gutter)); }
body.bp-design .elementor-widget-text-editor:has(> table) { overflow-x: auto; max-width: 100%; }
body.bp-design [data-elementor-type="wp-page"] { overflow-x: clip; }

/* f) Header og footer (Theme Builder 148/19 + 26) er fælles for ALLE sider, så sidekant og
   pille gælder site-wide — ikke kun på bp-sider. Kun header/footer-selektorer; brødteksten på
   gamle sider (kontakt, juridiske, /udenfor/) røres ikke. */
.elementor-location-header > .e-con,
.elementor-location-footer > .e-con { padding-inline: var(--bp-gutter) !important; }
.elementor-location-header > .e-con > .e-con-inner,
.elementor-location-footer > .e-con > .e-con-inner { max-width: var(--bp-container) !important; }
.elementor-location-header > .e-con .e-con,
.elementor-location-footer > .e-con > .e-con,
.elementor-location-footer > .e-con > .e-con-inner > .e-con { padding-inline: 0 !important; }
/* "Bestil tid": pille i designsystemets ene font (widgetten bad om Gilroy, som ikke indlæses). */
.elementor-location-header .elementor-button { border-radius: var(--bp-r-pill) !important; min-height: 44px; display: inline-flex; align-items: center; font-family: "Plus Jakarta Sans", system-ui, sans-serif !important; font-weight: 700 !important; }

/* Sticky-baren er altid lys med mørk tekst, også når html-widgetten ligger i en mørk
   sektion (.bp-section--night sætter color:#fff, som ellers arves → hvid på hvid). */
body.bp-design .bp-sticky,
body.bp-design .bp-sticky .bp-sticky__meta,
body.bp-design .bp-sticky p,
body.bp-design .bp-section--night .bp-sticky,
body.bp-design .bp-section--night .bp-sticky p { color: var(--bp-ink); }
body.bp-design .bp-sticky .hero-form .search { border-color: var(--bp-line); }
