/* Embodied Fire theme layer for Elementor (ported from site/assets/css/site.css incl. rettelser.css).
   Served from wp-content/uploads/ef-theme/ef-theme.css, enqueued by novamira-sandbox/ef-theme.php.
   Classes go on Elementor elements: containers -> "CSS Classes" (css_classes), widgets -> _css_classes.
   Page-only rules belong in uploads/ef-theme/pages/<slug>.css, shared components in components/<name>.css. */

/* ── fonts (self-hosted, one typeface) ── */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 600;font-display:swap;src:url("fonts/schibsted-grotesk-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 600;font-display:swap;src:url("fonts/schibsted-grotesk-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── tokens: colors read the Elementor Global Kit (Site Settings > Global Colors), hex = fallback ── */
:root{
  --ef-t-display-stor:500 clamp(2.6rem,6.4vw,5.9rem)/1.02 "Schibsted Grotesk",system-ui,sans-serif;
  --ef-t-display-mellem:400 clamp(1.35rem,2.5vw,2.3rem)/1.25 "Schibsted Grotesk",system-ui,sans-serif;
  --ef-t-broedtekst:400 clamp(1rem,1.25vw,1.18rem)/1.66 "Schibsted Grotesk",system-ui,sans-serif;
  --ef-t-label:500 0.72rem/1.4 "Schibsted Grotesk",system-ui,sans-serif;
  --ef-radius-knap:999px;
  --ef-radius-kort:18px;
  --ef-radius-lille:10px;
  --ef-header-h:68px;
  --ef-gutter:clamp(20px,4.4vw,72px);
  --ef-pad:clamp(4.4rem,10vw,9.5rem);
  --ef-pad-moerk:clamp(5.4rem,12vw,11rem);
  --ef-kant-h:clamp(3.5rem,10vh,8rem);
  --ef-bro-op:clamp(1.75rem,5vw,4.5rem);
}
body{
  --ef-lys:var(--e-global-color-eflys,#FAF6EF);
  --ef-ler:var(--e-global-color-efler,#F3ECE1);
  --ef-ler-dyb:var(--e-global-color-eflerdyb,#E9DECD);
  --ef-bordeaux:var(--e-global-color-primary,#8C1C2F);
  --ef-bordeaux-lys:var(--e-global-color-efbordeauxlys,#A8283D);
  --ef-bordeaux-dyb:var(--e-global-color-secondary,#4A1420);
  --ef-bordeaux-natt:var(--e-global-color-efnatt,#330D16);
  --ef-muld:var(--e-global-color-text,#241C17);
  --ef-gloed:var(--e-global-color-accent,#B4562C);
  --ef-gloed-tekst:var(--e-global-color-efgloedtekst,#8E3F1C);
  --ef-gloed-lys:var(--e-global-color-efgloedlys,#DD8250);
  --ef-knap:var(--ef-bordeaux-dyb);
  --ef-knap-hover:var(--e-global-color-efknaphover,#5E1B2B);
  --ef-knap-forste:var(--e-global-color-efknapforste,#6A1B2D);
  --ef-knap-forste-hover:var(--e-global-color-efknapforstehover,#7F2338);
  --ef-bordeaux-basis:var(--ef-bordeaux);
  --ef-gloed-basis:var(--ef-gloed);
  --ef-gloed-tekst-basis:var(--ef-gloed-tekst);
  background:var(--ef-lys);color:var(--ef-muld);font:var(--ef-t-broedtekst);
  -webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden;
}
em{font-style:normal}
::selection{background:var(--ef-bordeaux);color:var(--ef-ler)}
::placeholder{color:currentColor;opacity:.68}
:focus-visible{outline:2px solid var(--ef-gloed);outline-offset:3px}
[id]{scroll-margin-top:calc(var(--ef-header-h) + 16px)}
body a{color:var(--ef-bordeaux);text-decoration:none;transition:color .7s ease}
body a:hover{color:var(--ef-bordeaux-lys)}

/* ── Elementor resets: no default gaps/margins inside ef layouts ── */
.elementor .e-con[class*="ef-"]{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}
.elementor .e-con>.elementor-widget[class*="ef-"]{margin-block-end:0}
.elementor-widget-text-editor[class*="ef-"] p{margin:0}
.elementor-widget-text-editor[class*="ef-"] p+p{margin-top:1.5rem}
.elementor-widget-heading[class*="ef-"] .elementor-heading-title{margin:0;padding:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}
.elementor-widget-heading[class*="ef-"] .elementor-heading-title a{color:inherit}
.ef-side h1,.ef-side h2,.ef-side h3,.ef-side h4{margin:0}

/* ── skip link ── */
.ef-skip{position:fixed;top:-100px;left:12px;z-index:100;background:var(--ef-bordeaux);color:var(--ef-ler);padding:.85rem 1.3rem;border-radius:var(--ef-radius-lille);font:var(--ef-t-label);letter-spacing:.12em;text-transform:uppercase;transition:top .2s ease}
.ef-skip:focus{top:12px;color:var(--ef-ler)}

/* ── sections ── */
.e-con.ef-sec{position:relative;padding:var(--ef-pad) var(--ef-gutter)!important;display:flex;flex-direction:column}
.e-con.ef-wrap{max-width:1560px;width:100%;margin-inline:auto;display:flex;flex-direction:column;gap:0}
.e-con.ef-kol{display:flex;flex-direction:column;gap:1.5rem}
.e-con.ef-kol-s{display:flex;flex-direction:column;gap:.85rem}
.e-con.ef-kol-m{display:flex;flex-direction:column;gap:1.3rem}
.e-con.ef-intro{display:flex;flex-direction:column;gap:1.3rem;max-width:46ch;margin-bottom:clamp(2.6rem,5vw,4.6rem)}
.e-con.ef-intro-bred{max-width:none}

/* two-column split: left heading column with a hairline, right text column */
.e-con.ef-split{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2.4rem,6vw,7rem);align-items:start}
.e-con.ef-split-8-12{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
.e-con.ef-split-85-115{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.e-con.ef-sticky{border-right:1px solid rgba(36,28,23,.16);padding-right:clamp(1.6rem,3vw,3.4rem)!important;display:flex;flex-direction:column}
.e-con.ef-sticky.ef-uden-streg{border-right:0;padding-right:0!important}
.e-con.ef-tekstkol{display:flex;flex-direction:column;gap:1.5rem;max-width:56ch;padding-top:.5rem!important}

/* ── type ── */
.ef-kicker{font:var(--ef-t-label);letter-spacing:.24em;text-transform:uppercase;color:var(--ef-bordeaux)}
.ef-sticky>.ef-kicker{margin-bottom:1.9rem}
.ef-kicker-gloed{letter-spacing:.2em;color:var(--ef-gloed-tekst)}
.ef-kicker-hero{letter-spacing:.26em;margin-bottom:clamp(1.2rem,2.4vw,2rem)}
.ef-h1-hero{font:var(--ef-t-display-stor);font-size:clamp(3rem,7.4vw,7.4rem);line-height:.95;letter-spacing:-.035em;--ef-max:9ch;text-wrap:balance;color:var(--ef-muld)}
.ef-h1{font:var(--ef-t-display-stor);font-size:clamp(2.9rem,7.4vw,7.2rem);line-height:.95;letter-spacing:-.035em;--ef-max:10ch;text-wrap:balance}
.ef-h2{font:var(--ef-t-display-stor);font-size:clamp(2.1rem,4.4vw,3.9rem);letter-spacing:-.02em;text-wrap:balance;--ef-max:22ch}
.ef-h2-s{font-size:clamp(2rem,3.8vw,3.4rem)}
.ef-h2 em,.ef-h1 em{color:var(--ef-bordeaux)}
.ef-h2-streg::after{content:"";display:block;height:1px;max-width:220px;background:var(--ef-gloed);opacity:.5;margin-top:clamp(1.8rem,3vw,2.8rem)}
.ef-h3{font:var(--ef-t-display-stor);font-size:clamp(1.6rem,2.6vw,2.3rem);letter-spacing:-.02em}
.ef-h3-mellem{font:var(--ef-t-display-mellem);font-size:clamp(1.3rem,2.2vw,1.95rem)}
.ef-lead{font:var(--ef-t-display-mellem);font-size:clamp(1.15rem,1.5vw,1.42rem);line-height:1.5}
.ef-lead-dim{font:var(--ef-t-display-mellem);font-size:clamp(1.1rem,1.6vw,1.4rem);opacity:.82;--ef-max:46ch}
.ef-tagline{font:var(--ef-t-display-mellem);font-size:clamp(1.05rem,1.5vw,1.3rem)}
.ef-mellem{font:var(--ef-t-display-mellem);font-size:clamp(1.35rem,2.2vw,1.95rem);--ef-max:24ch}
.ef-dim{opacity:.84}
.ef-smal{--ef-max:44ch}
.ef-accent{font:var(--ef-t-display-mellem);font-size:clamp(1.2rem,1.9vw,1.7rem);color:var(--ef-bordeaux)}
.ef-note{border-left:1px solid var(--ef-bordeaux);padding-left:1.4rem;font:var(--ef-t-display-mellem);font-size:clamp(1.2rem,1.7vw,1.6rem);color:var(--ef-bordeaux)}
.ef-label{font:var(--ef-t-label);letter-spacing:.14em;text-transform:uppercase;opacity:.82}
.ef-lille{font:var(--ef-t-label);letter-spacing:.06em;opacity:.7;--ef-max:30ch}

/* "Læs mere →" style text link (heading widget, link optional: inside a card the card is the link) */
.ef-mere{font:var(--ef-t-label);letter-spacing:.16em;text-transform:uppercase;color:var(--ef-bordeaux);border-top:1px solid var(--ef-bordeaux);padding-top:1rem;margin-top:auto;align-self:flex-start}
.ef-mere.ef-uden-streg{border-top:0;padding-top:0;margin-top:.3rem}
.ef-mere.ef-fuld{align-self:stretch}
.ef-mere .elementor-heading-title::after{content:"\2192";content:"\2192" / "";display:inline-block;margin-left:.45em;transition:transform .95s cubic-bezier(.33,.1,.25,1)}
.ef-mere:hover .elementor-heading-title::after,a:hover .ef-mere .elementor-heading-title::after,a:focus-visible .ef-mere .elementor-heading-title::after{transform:translateX(7px)}

/* ── buttons (button widget + class) ── */
.elementor-widget-button.ef-knap .elementor-button{font:var(--ef-t-label);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--ef-radius-knap);padding:1.1rem 1.9rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;white-space:normal;background:var(--ef-knap);color:var(--ef-ler);border:0;box-shadow:none;transition:background .7s ease,color .7s ease,box-shadow .7s ease}
.elementor-widget-button.ef-knap .elementor-button:hover,.elementor-widget-button.ef-knap .elementor-button:focus-visible{background:var(--ef-knap-hover);color:var(--ef-ler)}
.elementor-widget-button.ef-knap-forste .elementor-button{background:var(--ef-knap-forste)}
.elementor-widget-button.ef-knap-forste .elementor-button:hover,.elementor-widget-button.ef-knap-forste .elementor-button:focus-visible{background:var(--ef-knap-forste-hover)}
.elementor-widget-button.ef-knap-kontur .elementor-button{background:transparent;color:var(--ef-knap);box-shadow:inset 0 0 0 1px var(--ef-knap)}
.elementor-widget-button.ef-knap-kontur .elementor-button:hover,.elementor-widget-button.ef-knap-kontur .elementor-button:focus-visible{background:var(--ef-knap);color:var(--ef-ler)}
.e-con.ef-knaprad{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:1rem}
.e-con.ef-knaprad>.elementor-widget{width:auto}

/* ── image slots ── */
.ef-slot{position:relative;overflow:hidden;border-radius:var(--ef-radius-kort);background-color:var(--ef-ler-dyb);background-image:repeating-linear-gradient(135deg,rgba(36,28,23,.055) 0 1px,rgba(36,28,23,0) 1px 10px)}
.elementor-widget-image.ef-slot img,.elementor-widget-image.ef-slot a{display:block;width:100%;height:100%}
.elementor-widget-image.ef-slot img{object-fit:cover;object-position:50% 50%;max-width:none;border-radius:0}
.ef-r43{aspect-ratio:4/3}
.ef-r45{aspect-ratio:4/5}
.ef-r11{aspect-ratio:1/1}
.ef-varm img{filter:saturate(.78) sepia(.1)}
.ef-varm-mere img{filter:saturate(.8) sepia(.16)}
.ef-varm-let img{filter:saturate(.8) sepia(.08)}

/* ── cards ── */
.e-con.ef-boks{background:var(--ef-ler);border-radius:var(--ef-radius-kort);box-shadow:inset 0 0 0 1px rgba(36,28,23,.14);padding:clamp(1.8rem,3.4vw,2.8rem)!important;display:flex;flex-direction:column;gap:1.1rem;color:var(--ef-muld)}
.e-con.ef-boks .elementor-widget-button{align-self:flex-start;margin-top:.5rem}
.e-con.ef-kortgrid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.4rem,2.6vw,2rem)}
.e-con.ef-kortgrid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.e-con.ef-kortgrid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
/* .ef-kort = a container with HTML tag "a": the whole card is one link */
.e-con.ef-kort{position:relative;display:flex;flex-direction:column;gap:clamp(1.1rem,2vw,1.7rem);color:inherit;transition:transform 1.1s cubic-bezier(.33,.1,.25,1),opacity 1.3s ease}
.e-con.ef-kort:hover{color:inherit;transform:translateY(-4px)}
.ef-kort .ef-slot::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(196deg,rgba(36,28,23,.05),rgba(36,28,23,.26));transition:opacity 1.4s ease}
.ef-kort img{transition:filter 1.6s ease}
.ef-kort:hover img{filter:saturate(.92) sepia(.03)}
.ef-kort:hover .ef-slot::after{opacity:.12}
.ef-kort:hover .ef-mere .elementor-heading-title::after{transform:translateX(9px)}
.ef-kortgrid:has(.ef-kort:hover) .ef-kort:not(:hover){opacity:.45}
.e-con.ef-kort-tekst{display:flex;flex-direction:column;flex:1;gap:.85rem}

/* row under the four cards: text + "Stadig i tvivl?" link block */
.e-con.ef-vejfod{margin-top:clamp(2.6rem,4.4vw,4rem);border-top:1px solid rgba(36,28,23,.18);padding-top:clamp(1.5rem,2.6vw,2.2rem)!important;display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(1.4rem,3.4vw,4rem);align-items:start}
.e-con.ef-vejfod>.elementor-widget{--ef-max:62ch}
.e-con.ef-sidelink{display:flex;flex-direction:column;gap:.7rem;color:inherit;border-left:1px solid rgba(140,28,47,.35);padding-left:clamp(1.2rem,2.4vw,2rem)!important}
.e-con.ef-sidelink:hover{color:inherit}

/* ── timeline (Sådan arbejder vi) ── */
.e-con.ef-tidslinje{position:relative;padding-left:clamp(2.6rem,4vw,3.6rem)!important;display:flex;flex-direction:column;gap:clamp(2rem,3.6vw,3.4rem)}
.ef-tidslinje::before{content:"";position:absolute;left:.42rem;top:.7rem;bottom:.7rem;width:1px;background:rgba(36,28,23,.16)}
.e-con.ef-trin{position:relative;display:grid!important;grid-template-columns:6.5rem minmax(0,1fr);gap:clamp(1rem,2vw,2rem);align-items:baseline}
.ef-trin::before{content:"";position:absolute;left:calc(clamp(2.6rem,4vw,3.6rem) * -1 + .42rem - 4px);top:.62rem;width:9px;height:9px;border-radius:50%;background:var(--ef-ler-dyb);box-shadow:inset 0 0 0 1px rgba(36,28,23,.3)}
.ef-trin-nr{font:var(--ef-t-label);letter-spacing:.18em;text-transform:uppercase;color:var(--ef-bordeaux);opacity:.88}
.e-con.ef-trin-tekst{display:flex;flex-direction:column;gap:.6rem;max-width:46ch}

/* ── Mød Kia ── */
.e-con.ef-kia-split{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(2.2rem,5vw,5.5rem);align-items:start}
.ef-portraet{margin-top:clamp(1.2rem,3vw,2.4rem)}
.ef-portraet img{object-position:52% 30%!important}
.e-con.ef-kia-tekst{display:flex;flex-direction:column;gap:1.3rem;max-width:54ch}
.e-con.ef-citat{border-top:1px solid var(--ef-gloed);margin-top:.8rem;padding-top:1.5rem!important;display:flex;flex-direction:column;gap:1.2rem}
.ef-citat-tekst{font:var(--ef-t-display-mellem);font-size:clamp(1.35rem,2.4vw,2.1rem);color:var(--ef-bordeaux);--ef-max:34ch}
.ef-citat-af{font:var(--ef-t-label);letter-spacing:.2em;text-transform:uppercase;opacity:.72}

/* ── contact facts (Adresse / Mail / Telefon) ── */
.e-con.ef-info{margin-top:clamp(2rem,4vw,3.2rem);display:flex;flex-direction:column;gap:1.1rem;border-top:1px solid rgba(36,28,23,.2);padding-top:1.6rem!important}
.e-con.ef-info-raekke{display:flex;flex-direction:row;gap:1rem;align-items:baseline}
.ef-info-dt{font:var(--ef-t-label);letter-spacing:.14em;text-transform:uppercase;opacity:.82;width:5.5rem;flex:none}
.ef-info-dd{opacity:.92}
.ef-info-dd a{border-bottom:1px solid rgba(140,28,47,.35)}

/* ── dark wine sections (Kia 29.09): .ef-moerk = bordeaux-dyb, add .ef-natt for the deepest ── */
.e-con.ef-moerk{isolation:isolate;background-color:var(--ef-bordeaux-dyb);color:var(--ef-ler);padding-block:var(--ef-pad-moerk)!important;--ef-bordeaux:var(--ef-gloed-lys);--ef-gloed-tekst:var(--ef-gloed-lys);--ef-gloed:var(--ef-gloed-lys)}
.e-con.ef-moerk.ef-natt{background-color:var(--ef-bordeaux-natt)}
.ef-moerk .ef-boks{--ef-bordeaux:var(--ef-bordeaux-basis);--ef-gloed-tekst:var(--ef-gloed-tekst-basis);--ef-gloed:var(--ef-gloed-basis)}
.ef-moerk .ef-sticky,.ef-moerk .ef-info,.ef-moerk .ef-vejfod{border-color:rgba(243,236,225,.26)}
.ef-moerk .ef-tidslinje::before{background:rgba(243,236,225,.26)}
.ef-moerk a:not(.elementor-button):hover{color:var(--ef-ler)}
.ef-moerk .ef-boks a:not(.elementor-button):hover{color:var(--ef-bordeaux-lys)}
.ef-moerk .ef-info-dd a{border-bottom-color:rgba(243,236,225,.45)}
.ef-moerk ::selection{background:var(--ef-ler);color:var(--ef-bordeaux-dyb)}
/* filled buttons on the dark surface turn light (dark-on-dark would vanish); not inside light cards */
.ef-moerk .elementor-widget-button.ef-knap:not(.ef-knap-kontur):not(.ef-boks *) .elementor-button{background:var(--ef-ler);color:var(--ef-bordeaux-natt)}
.ef-moerk .elementor-widget-button.ef-knap:not(.ef-knap-kontur):not(.ef-boks *) .elementor-button:hover{background:var(--ef-lys)}
.ef-moerk .elementor-widget-button.ef-knap-kontur:not(.ef-boks *) .elementor-button{color:var(--ef-ler);box-shadow:inset 0 0 0 1px rgba(243,236,225,.6)}
.ef-moerk .elementor-widget-button.ef-knap-kontur:not(.ef-boks *) .elementor-button:hover{background:var(--ef-ler);color:var(--ef-bordeaux-natt)}

/* soft transitions (Kia 30.09 "lidt bratte"): a linear band at the top/bottom of each dark section
   fading from the neighbour surface into the dark colour, plus a warm LINEAR glow in one corner.
   Set the neighbours with classes ef-over-<farve> / ef-under-<farve> on the dark section. No 1px borders. */
.ef-moerk::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(to bottom,var(--ef-over,transparent),38%,transparent) top/100% var(--ef-kant-h) no-repeat,
  linear-gradient(to top,var(--ef-under,transparent),38%,transparent) bottom/100% var(--ef-kant-h) no-repeat,
  linear-gradient(var(--ef-gloed-vinkel,225deg),rgba(180,86,44,.2),rgba(180,86,44,0) 48%)}
.ef-gloed-nede-v{--ef-gloed-vinkel:45deg}
.ef-gloed-nede-h{--ef-gloed-vinkel:315deg}
.ef-over-lys{--ef-over:var(--ef-lys)}.ef-over-ler{--ef-over:var(--ef-ler)}.ef-over-ler-dyb{--ef-over:var(--ef-ler-dyb)}.ef-over-dyb{--ef-over:var(--ef-bordeaux-dyb)}.ef-over-natt{--ef-over:var(--ef-bordeaux-natt)}
.ef-under-lys{--ef-under:var(--ef-lys)}.ef-under-ler{--ef-under:var(--ef-ler)}.ef-under-ler-dyb{--ef-under:var(--ef-ler-dyb)}.ef-under-dyb{--ef-under:var(--ef-bordeaux-dyb)}.ef-under-natt{--ef-under:var(--ef-bordeaux-natt)}

/* ── Oplevelsen: image bridge + mosaic ── */
.e-con.ef-oplevelse-kop{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.5rem clamp(1.5rem,4vw,4rem);margin-bottom:clamp(2.6rem,5vw,4.6rem)}
/* .ef-bro: an image pulled up across the top edge of a dark section (first row of the section) */
.elementor-widget-image.ef-bro{position:relative;z-index:2;width:var(--ef-bro-bredde,clamp(9rem,22vw,20rem));aspect-ratio:4/5;margin:calc(-1 * (var(--ef-pad-moerk) + var(--ef-bro-op))) 0 0;justify-self:end;box-shadow:0 30px 60px -34px rgba(0,0,0,.55)}
.ef-bro img{object-position:72% 50%!important}
.e-con.ef-mosaik{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(150px,19vw,290px);gap:clamp(.7rem,1.6vw,1.4rem)}
.ef-mosaik>.elementor-widget-image{min-height:0;height:100%}
.ef-mosaik-a{grid-column:1/5;grid-row:1/3}
.ef-mosaik-b{grid-column:5/10;grid-row:1}
.ef-mosaik-c{grid-column:10/13;grid-row:1/3}
.ef-mosaik-d{grid-column:5/10;grid-row:2}
.ef-mosaik-c img{object-position:40% 60%!important}
.ef-mosaik-b img{object-position:50% 52%!important}
.ef-mosaik-d img{object-position:40% 50%!important}

/* ── testimonials (hidden on the Forside until Kia has consented quotes) ── */
.e-con.ef-klient{justify-content:space-between;gap:clamp(1.6rem,3vw,2.4rem);min-height:clamp(12rem,17vw,15rem);padding:clamp(1.6rem,2.6vw,2.4rem)!important}
.ef-klient-citat{font:var(--ef-t-display-mellem);font-size:clamp(1.15rem,1.6vw,1.45rem)}
.ef-klient-citat::before{content:"";display:block;width:2rem;height:1px;margin-bottom:1.2rem;background:var(--ef-bordeaux)}
.ef-klient-af{font:var(--ef-t-label);letter-spacing:.16em;text-transform:uppercase;opacity:.84}

/* ── Forside hero (hero B): full-bleed photo, light clay veil under the text ── */
.e-con.ef-hero{position:relative;min-height:100svh;justify-content:flex-end;overflow:hidden;background:var(--ef-lys);padding:0!important;display:flex;flex-direction:column}
.elementor-widget-image.ef-hero-foto{position:absolute!important;inset:0;z-index:0;width:100%;height:100%;border-radius:0;margin:0}
.ef-hero-foto img{object-position:68% 50%!important;filter:sepia(.28) saturate(.9) brightness(1.1) contrast(.88)}
.ef-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:
  linear-gradient(to bottom,rgba(250,246,239,.6) 0%,rgba(250,246,239,0) 18%),
  linear-gradient(to top,rgba(243,236,225,.94) 0%,rgba(243,236,225,.6) 22%,rgba(243,236,225,0) 46%),
  linear-gradient(90deg,rgba(250,246,239,.96) 0%,rgba(250,246,239,.86) 30%,rgba(250,246,239,.5) 52%,rgba(250,246,239,.08) 74%,rgba(250,246,239,0) 100%)}
.e-con.ef-hero-indhold{position:relative;z-index:2;max-width:1560px;width:100%;margin:0 auto;padding:calc(var(--ef-header-h) + clamp(3rem,8vw,6rem)) var(--ef-gutter) clamp(2.4rem,4.6vw,4.2rem)!important;display:flex;flex-direction:column}
.e-con.ef-hero-meta{display:flex;flex-direction:row;align-items:flex-end;margin-top:clamp(1.6rem,3.4vw,3rem);border-top:1px solid rgba(36,28,23,.2);padding-top:clamp(1.3rem,2.4vw,2rem)!important}

/* ── header (HFE template) ── */
.e-con.ef-header{position:fixed!important;top:0;left:0;right:0;z-index:60;background:rgba(250,246,239,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(36,28,23,.1);color:var(--ef-muld)}
.admin-bar .e-con.ef-header{top:32px}
@media(max-width:782px){.admin-bar .e-con.ef-header{top:46px}}
.e-con.ef-header-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1.5rem;max-width:1560px;width:100%;min-height:var(--ef-header-h);margin:0 auto;padding:.7rem var(--ef-gutter)!important;position:static}
.ef-header .elementor-widget,.ef-header .elementor-shortcode{position:static;width:auto;margin:0!important}
.ef-header .ef-nav-widget{flex:0 1 auto;margin-left:auto!important}
.ef-brand .elementor-heading-title,.ef-brand .elementor-heading-title a{display:flex;align-items:center;gap:.7rem;color:var(--ef-muld)!important;padding-block:.35rem;font:var(--ef-t-label)!important;letter-spacing:.28em!important;text-transform:uppercase!important;white-space:nowrap}
.ef-brand .elementor-heading-title a::before{content:"";flex:none;width:18px;height:34px;background:url("img/logo-embodied-fire-maerke.png") center/contain no-repeat}
.ef-nav-links{display:flex;align-items:center;gap:clamp(1.1rem,2.2vw,2.4rem);margin:0;padding:0;list-style:none}
.ef-nav-links li{list-style:none;margin:0}
.ef-header .ef-nav-links>li>a:not(.ef-knap-link),.ef-header .ef-nav-drop-knap{display:inline-block;font:var(--ef-t-label)!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--ef-muld)!important;padding:.45rem 0!important;background:none!important;border:0!important;border-radius:0!important;cursor:pointer;white-space:nowrap}
.ef-header .ef-nav-links a[aria-current="page"],.ef-header .ef-nav-drop-knap[data-aktiv],.ef-header .ef-nav-links>li>a:not(.ef-knap-link):hover,.ef-header .ef-nav-drop-knap:hover{color:var(--ef-bordeaux)!important}
.ef-nav-book{display:none!important}
.ef-header .ef-knap-link,.ef-header .ef-header-book .elementor-button{font:var(--ef-t-label)!important;letter-spacing:.14em!important;text-transform:uppercase!important;background:var(--ef-knap-forste)!important;color:var(--ef-ler)!important;padding:.82rem 1.35rem!important;border:0!important;border-radius:var(--ef-radius-knap)!important;min-height:0;flex:none;transition:background .7s ease;display:inline-block}
.ef-header .ef-knap-link:hover,.ef-header .ef-header-book .elementor-button:hover{background:var(--ef-knap-forste-hover)!important;color:var(--ef-ler)!important}
.ef-header .ef-menu-knap{display:none;font:var(--ef-t-label)!important;letter-spacing:.16em!important;text-transform:uppercase;background:none!important;color:var(--ef-muld)!important;border:1px solid rgba(36,28,23,.25)!important;border-radius:var(--ef-radius-knap)!important;padding:.7rem 1.1rem!important;cursor:pointer}
.ef-nav-drop{position:relative}
.ef-nav-drop-knap span{display:inline-block;margin-left:.3rem;transition:transform .4s ease}
.ef-nav-drop-knap[aria-expanded="true"] span{transform:rotate(45deg)}
.ef-drop{display:none;position:absolute;top:calc(100% + .9rem);left:-1.2rem;min-width:13rem;margin:0;padding:.6rem;list-style:none;background:var(--ef-lys);border-radius:var(--ef-radius-lille);box-shadow:0 14px 40px rgba(36,28,23,.14),0 0 0 1px rgba(36,28,23,.08)}
.ef-nav-drop-knap[aria-expanded="true"]+.ef-drop{display:block}
.ef-header .ef-drop a{display:block;padding:.75rem .9rem;border-radius:8px;color:var(--ef-muld)!important;font:var(--ef-t-label);letter-spacing:.14em;text-transform:uppercase}
.ef-header .ef-drop a:hover,.ef-header .ef-drop a[aria-current="page"]{background:var(--ef-ler);color:var(--ef-bordeaux)!important}

/* ── footer (HFE template) ── */
.e-con.ef-fod{background:var(--ef-muld);color:var(--ef-ler);padding:clamp(3.4rem,7vw,6rem) var(--ef-gutter) clamp(2rem,3vw,2.6rem)!important;display:flex;flex-direction:column}
.e-con.ef-fod-grid{display:grid!important;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,.7fr));gap:clamp(2rem,4vw,4rem);align-items:start;padding-bottom:clamp(2.4rem,4vw,3.6rem)!important}
.e-con.ef-fod-kol{display:flex;flex-direction:column;gap:.7rem}
.e-con.ef-fod-kol.ef-fod-brand{gap:1.4rem}
.ef-fod .elementor-widget-image.ef-fod-logo img{height:clamp(96px,9vw,132px);width:auto;display:block}
.ef-fod .ef-fod-logo a{display:inline-block}
.ef-fod-slogan{font:var(--ef-t-display-mellem)!important;font-size:clamp(1.3rem,2.2vw,1.9rem)!important;--ef-max:22ch;opacity:.9}
.ef-fod-label{font:var(--ef-t-label)!important;letter-spacing:.2em!important;text-transform:uppercase;opacity:.7}
.ef-fod-adr{line-height:1.7;opacity:.85}
.ef-fod a{color:var(--ef-ler)!important}
.ef-fod-kontakt a{opacity:.85}
.ef-fod-kontakt p{display:flex;flex-direction:column;gap:.7rem}
.ef-fod-links{margin-top:.6rem}
.ef-fod-links p{display:flex;flex-direction:column;gap:.9rem}
.ef-fod-links a{opacity:.85;font:var(--ef-t-label);letter-spacing:.16em;text-transform:uppercase}
.ef-fod-links a:hover,.ef-fod-kontakt a:hover{opacity:1}
.ef-fod-book{margin-top:.6rem}
.ef-fod-book .elementor-heading-title a{opacity:.85;font:var(--ef-t-label);letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid rgba(243,236,225,.4)}
.e-con.ef-fod-bund{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:1rem;border-top:1px solid rgba(243,236,225,.16);padding-top:1.5rem!important}
.ef-fod-bund .elementor-widget{width:auto}
.ef-fod-smaa{font:var(--ef-t-label)!important;letter-spacing:.14em!important;text-transform:uppercase;opacity:.68}

/* ── tablet ≤1024 ── */
@media(max-width:1024px){
  .e-con.ef-split{grid-template-columns:1fr!important;gap:2.2rem!important}
  .e-con.ef-sticky{border-right:0;padding-right:0!important}
  .e-con.ef-kia-split{grid-template-columns:minmax(0,282px) minmax(0,1fr)!important;gap:2.2rem!important}
  .e-con.ef-trin{grid-template-columns:1fr!important;gap:.7rem!important}
  .e-con.ef-kortgrid{gap:clamp(1.2rem,2.4vw,2rem)}
  .ef-nav-links{gap:.9rem}
  .ef-header .ef-nav-links>li>a:not(.ef-knap-link),.ef-header .ef-nav-drop-knap{font-size:10.5px!important;letter-spacing:.07em!important}
}
@media(min-width:768px) and (max-width:1024px){
  .e-con.ef-kortgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* ── mobile ≤767 ── */
@media(max-width:767px){
  .e-con.ef-kortgrid,.e-con.ef-vejfod,.e-con.ef-kia-split,.e-con.ef-fod-grid,.e-con.ef-oplevelse-kop{grid-template-columns:1fr!important}
  .ef-portraet{max-width:420px}
  .ef-portraet.ef-r45{aspect-ratio:4/4.4}
  .e-con.ef-hero-meta{flex-direction:column;align-items:flex-start;gap:.9rem}
  .e-con.ef-hero-meta .ef-knaprad{flex-direction:column;align-items:stretch;width:100%}
  .e-con.ef-hero-meta .ef-knaprad .elementor-button{width:100%}
  .ef-oplevelse-kop>.ef-bro{order:-1;justify-self:end}
  .e-con.ef-mosaik{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(150px,46vw,260px);grid-auto-flow:dense}
  .ef-mosaik-a,.ef-mosaik-c{grid-column:auto;grid-row:auto}
  .ef-mosaik-b,.ef-mosaik-d{grid-column:1/-1;grid-row:auto}
  .e-con.ef-klient{min-height:0}
  .ef-hero::after{background:linear-gradient(to top,rgba(250,246,239,.97) 0%,rgba(250,246,239,.92) 48%,rgba(250,246,239,.6) 72%,rgba(250,246,239,.3) 100%)}
  /* header: menu button instead of the link row */
  .ef-header .ef-header-book{display:none!important}
  .ef-header .ef-menu-knap{display:inline-flex}
  .ef-brand .elementor-heading-title a{letter-spacing:.2em!important}
  .ef-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ef-lys);border-bottom:1px solid rgba(36,28,23,.1);box-shadow:0 18px 30px rgba(36,28,23,.1);padding:.6rem 20px 1.6rem;max-height:calc(100svh - var(--ef-header-h));overflow-y:auto}
  .ef-header.is-open .ef-nav{display:block}
  .ef-nav-links{flex-direction:column;align-items:stretch;gap:0}
  .ef-nav-links>li{border-bottom:1px solid rgba(36,28,23,.1)}
  .ef-header .ef-nav-links>li>a:not(.ef-knap-link),.ef-header .ef-nav-drop-knap{display:block;width:100%;text-align:left;font-size:.8rem!important;letter-spacing:.14em!important;padding:1.05rem 0!important}
  .ef-drop{position:static;display:block;box-shadow:none;background:none;padding:0 0 .8rem;min-width:0}
  .ef-header .ef-drop a{padding:.7rem 1rem;font-size:.8rem;letter-spacing:.14em}
  .ef-nav-drop-knap span{display:none}
  .ef-nav-links>li.ef-nav-book{display:block!important;border-bottom:0;padding-top:1.2rem}
  .ef-nav-links>li.ef-nav-book>a{display:block!important;text-align:center;padding:1rem!important}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important}
  *,*::before,*::after{transition-duration:.01ms!important}
  .e-con.ef-kort:hover{transform:none}
}

/* Elementor 'Skjul' (Avanceret > Responsiv) must win over the ef-* display rules */
@media(min-width:1025px){.elementor .e-con.elementor-hidden-desktop,.elementor .elementor-widget.elementor-hidden-desktop{display:none!important}}
@media(min-width:768px) and (max-width:1024px){.elementor .e-con.elementor-hidden-tablet,.elementor .elementor-widget.elementor-hidden-tablet{display:none!important}}
@media(max-width:767px){.elementor .e-con.elementor-hidden-mobile,.elementor .elementor-widget.elementor-hidden-mobile{display:none!important}}

/* widget max-widths: Elementor sets .elementor.elementor .e-con>.elementor-widget{max-width:100%}; ef classes set --ef-max instead */
.elementor.elementor .e-con>.elementor-widget[class*="ef-"]{max-width:var(--ef-max,100%)}
/* Hello underlines .page-content links; the design never does */
body .page-content a{text-decoration:none}
.elementor-widget-image.ef-fod-logo{text-align:left}
