/* ══════════════════════════════════════════════════════════════════════════════════════════════
   Unik Begravelse — the design. Sizes and spacing are MEASURED from the Nuxt build (computed styles at 1440 and 390;
   Tailwind classes read only to know what to measure). The stack is already neutralised in base.css; Tailwind
   Typography is prose.css (as compiled).

   Rules this file keeps:
   · every colour is an ACSS variable — the palette lives in ACSS (ops/acss-palette.php), never here;
     this file never redefines an ACSS variable (it may ALIAS them below)
   · no !important · class prefix ub- · colour is CSS, never script
   Breakpoints are Tailwind's: sm 640 · md 768 · lg 1024 · xl 1280 · 2xl 1536.
   ══════════════════════════════════════════════════════════════════════════════════════════════ */

/* ── fonts (self-hosted from the Nuxt build's /_fonts/: the whole-range .woff faces it declares LAST, which is what the
   browser actually renders with — measured: document.fonts shows those loaded) ── */
@font-face{font-family:"Inter";src:url('fonts/inter-400.woff') format("woff");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url('fonts/inter-500.woff') format("woff");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url('fonts/inter-600.woff') format("woff");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url('fonts/inter-700.woff') format("woff");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url('fonts/cormorant-400.woff') format("woff");font-weight:400;font-style:normal;font-display:swap}

/* ── theme names → ACSS (read-only aliases; change colours in ACSS) ── */
:root{
  --ub-sans:"Inter",sans-serif;
  --ub-head:"Cormorant",serif;
  --ub-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;
  --ub-teal:var(--primary);            /* #5f8a89 teal-600 */
  --ub-teal7:var(--primary-dark);      /* #3d6564 teal-700 */
  --ub-green:var(--secondary);         /* #538a88 */
  --ub-green-m:var(--action);         /* #6fa3a1 greenMedium */
  --ub-gold:var(--tertiary);           /* #e8c88f gold-300 */
  --ub-orange:var(--accent);           /* #ffca6e */
  --ub-light:var(--base);              /* #f3f7f7 lightGreen */
  --ub-cream:var(--base-ultra-light);  /* #f9f7f4 cream-50 */
  --ub-card-bd:var(--base-light);      /* #e7e7e7 */
  --ub-g100:var(--base-semi-light);    /* #f3f4f6 */
  --ub-g400:var(--base-dark);          /* #9ca3af */
  --ub-ink:var(--base-ultra-dark);     /* #1a1a1a (this site's gray-900) */
  --ub-g700:var(--neutral-semi-dark);  /* #4a4a4a (this site's gray-700) */
  --ub-g600:var(--neutral-medium);     /* #4b5563 */
  --ub-g300:var(--neutral-light);      /* #d1d5db */
  --ub-g200:var(--neutral-ultra-light);/* #e5e7eb */
  --ub-prose:var(--neutral);           /* #374151 */
  --ub-n900:var(--neutral-dark);       /* #171717 neutral-900 */
  --ub-n700:var(--base-semi-dark);     /* #404040 neutral-700 */
  --ub-n600:var(--base-medium);        /* #525252 neutral-600 */
  --ub-blue:var(--action-ultra-dark); /* #1a73ba — rich-text list bullets */
  --ub-white:var(--white);
  --ub-black:var(--black);
  --ub-shadow-lg:0 10px 15px -3px color-mix(in srgb,var(--black) 10%,transparent),0 4px 6px -4px color-mix(in srgb,var(--black) 10%,transparent);
  --ub-shadow-sm:0 1px 2px 0 color-mix(in srgb,var(--black) 5%,transparent);
  --ub-shadow-md:0 4px 6px -1px color-mix(in srgb,var(--black) 10%,transparent),0 2px 4px -2px color-mix(in srgb,var(--black) 10%,transparent);
  --ub-tshadow:0 1px 2px color-mix(in srgb,var(--black) 55%,transparent),0 2px 14px color-mix(in srgb,var(--black) 65%,transparent),0 0 40px color-mix(in srgb,var(--black) 50%,transparent);
  --ub-i:url('img/ic/');
}

/* ── page frame (Tailwind preflight + main.scss: body/p Inter 16px, headings Cormorant 400) ── */
body{background:var(--ub-white);color:var(--ub-black)}
.ub-box{font-family:var(--ub-sans);font-size:16px;line-height:1.5;color:var(--ub-black);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
.ub-box :where(p){font-family:var(--ub-sans);font-size:16px}
/* native: a <div> of inline content is a paragraph now (`p.nbk-div`), bare text too (`p.nbk-bare`) — neither was a <p> on the
   source (nor the run of inline text a `p.nbk-flow` holds), so the <p> rules above and prose's blockquote quote marks must not reach them (the quote band's text) */
.ub-box p:is(.nbk-div,.nbk-bare,.nbk-flow){font-family:inherit;font-size:inherit}
.ub-box blockquote p:is(.nbk-div,.nbk-bare)::before,.ub-box blockquote p:is(.nbk-div,.nbk-bare)::after{content:none}
.ub-box :where(a){text-decoration:inherit}
.ub-box :where(h1,h2,h3,h4,h5,h6){font-family:var(--ub-head);font-weight:400;font-size:inherit;line-height:inherit}
.ub-box :where(b,strong){font-weight:bolder}
.ub-wrap{width:100%;margin-inline:auto;padding-inline:16px}
.ub-center{text-align:center}
.ub-white{color:var(--ub-white)}
.ub-g900{color:var(--ub-ink)}
.ub-g700{color:var(--ub-g700)}
.ub-mb8{margin-bottom:32px}
.ub-mt8{margin-top:32px}
.ub-topgap{height:64px}

/* ── UiHeadline (font-headline + the level's sizes) ── */
.ub-h{font-family:var(--ub-head);font-weight:400}
.ub-h--h1{font-size:36px;line-height:40px}
.ub-h--h2{font-size:30px;line-height:36px;margin-bottom:16px}
.ub-h--h3{font-size:24px;line-height:32px}
.ub-h--h4{font-size:20px;line-height:28px}
.ub-h--h5{font-size:18px;line-height:28px}
.ub-h--h6{font-size:16px;line-height:24px}

/* ── UiButton (orange pill; outline variant; the arrow) ── */
.ub-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;background:var(--ub-orange);color:var(--ub-ink);font-family:var(--ub-sans);font-size:14px;line-height:20px;font-weight:500;transition:all .2s}
.ub-btn:hover{background:var(--ub-green);color:var(--ub-white)}
.ub-btn-ol{background:transparent;border:2px solid var(--ub-orange)}
.ub-btn-ol:hover{background:var(--ub-orange);color:var(--ub-ink)}
.ub-ic{display:inline-block;flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ub-ic--arrow{--m:url('img/ic/arrow.svg');width:16px;height:16px}
.ub-ic--phone{--m:url('img/ic/phone.svg')}
.ub-ic--mail{--m:url('img/ic/mail.svg')}
.ub-ic--24{--m:url('img/ic/24.svg')}
.ub-btns{display:flex;flex-wrap:wrap}
.ub-btns-g4{gap:16px}
.ub-btns-g5{gap:20px}
.ub-btns-c{justify-content:center}

/* ── bands: BackgroundWrapper + useBlockSpacing (computed at import) ── */
.ub-band{position:relative;overflow:hidden}
.ub-pt{padding-top:48px}
.ub-pb{padding-bottom:48px}
.ub-pb16{padding-bottom:64px}
.ub-pbr{padding-bottom:32px}
.ub-bg-light{background-color:var(--ub-light)}
.ub-bg-green{background-color:var(--ub-green)}
.ub-bg-teal{background-color:var(--ub-teal)}
.ub-bg-teal700{background-color:var(--ub-teal7)}
.ub-bg-cream{background-color:var(--ub-cream)}
.ub-bg-white{background-color:var(--ub-white)}
.ub-bg-gold{background-color:var(--ub-gold)}
.ub-bg-orange{background-color:var(--ub-orange)}
.ub-bg-g900{background-color:var(--ub-ink)}
.ub-bg-g700{background-color:var(--ub-g700)}
.ub-bg-flw{background-image:url('img/bg-flowers-white.jpg');background-size:cover;background-position:center}
.ub-bg-flb{background-color:var(--ub-light);background-image:url('img/bg-flowers-blue.png');background-size:cover;background-position:center}

/* ── rich text: HtmlRendererWrapper (section.prose.max-w-none.html-content > div) ── */
.ub-html{max-width:none}
.ub-html ul,.ub-html ol{list-style:none;padding-left:0}
.ub-html ul li,.ub-html ol li{position:relative;margin-bottom:.5rem;padding-left:1.5rem}
.ub-html ul li::before,.ub-html ol li::before{content:"";position:absolute;left:0;top:.5em;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--ub-blue)}
.ub-html>:first-child{margin-top:0}
.ub-html>div>p:first-child{margin-top:0}
.ub-html :is(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}
.ub-html>:last-child{margin-bottom:0}
.ub-html :where(img){max-width:100%;height:auto}
.ub-html :where(iframe,video,embed,object){display:block;max-width:100%}
.ub-html--dark,.ub-html--dark :where(div,li,p,span){color:var(--ub-white)}
.ub-html--dark ul li::before,.ub-html--dark ol li::before{background-color:var(--ub-white)}
.ub-html--dark a{color:var(--ub-white);text-decoration:underline}
.ub-html--dark a:hover{opacity:.8}
/* the source's leftover Elementor <section>/<div> scaffolding stays block (ACSS lays out section>div as a flex column) */
.ub-prose :where(section,section>div){display:block;gap:0;padding:0}
.ub-prose :where(td,th){overflow-wrap:normal}
/* the client's text as core blocks (ops/core.php): a video that WAS `<p><iframe>` keeps the prose's <p> margins
   (prose 1.25em, prose-lg 1.333em) — not prose.css's 2em figure margins. An image needs nothing: the old `<p><img>`
   had prose's 2em img margins, the same as prose's figure margins now (measured: identical). */
.ub-prose :where(.wp-block-embed){margin-block:1.25em}
.ub-prose-lg :where(.wp-block-embed){margin-block:1.3333333em}
.ub-html>div>:where(.wp-block-embed):first-child{margin-top:0}
/* a Vimeo/YouTube player in the text was the old editor's fixed 640×360 iframe (display:block, max-width:100%, so on a
   phone it narrowed and kept 360px): the same box here instead of WordPress' full-width 16:9 wrapper — its iframe
   fills the wrapper (WordPress' .wp-has-aspect-ratio rule positions it absolutely) */
.ub-html .wp-block-embed.is-type-video .wp-block-embed__wrapper{width:640px;max-width:100%;height:360px}
.ub-html .wp-block-embed.is-type-video .wp-block-embed__wrapper::before{display:none}

/* ── PageTop.vue ── */
.ub-top{position:relative;width:100%}
.ub-top--img{aspect-ratio:1512/587}
.ub-top--plain{background:var(--ub-light);padding-block:32px}
.ub-top__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ub-top__in{position:relative;display:flex;align-items:center;justify-content:center}
.ub-top--img .ub-top__in{height:100%}
.ub-top--big.ub-top--img .ub-top__in{flex-direction:column;justify-content:flex-end;gap:24px;padding:0 16px 48px}
.ub-top--big.ub-top--plain .ub-top__in{flex-direction:column;gap:32px;padding-inline:16px}
.ub-top__h{text-align:center}
.ub-top--small .ub-top__h{padding-inline:16px}
.ub-top--img .ub-top__h{color:var(--ub-white);text-shadow:var(--ub-tshadow)}

/* ── Slider.vue (fade; site.js runs it) ── */
.ub-slider{position:relative;width:100%;aspect-ratio:3/2;overflow:hidden}
.ub-slide{position:absolute;inset:0;opacity:0;transition:opacity .3s ease;pointer-events:none}
.ub-slide.is-active{opacity:1;pointer-events:auto;z-index:1}
.ub-slide__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ub-slide__in{position:relative;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding-inline:16px}
.ub-slide__h{color:var(--ub-white);text-align:center;text-shadow:var(--ub-tshadow);font-size:24px;line-height:32px;margin:0}
.ub-slider--many .ub-slide__h,.ub-slider--many .ub-slide__btn{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}
.ub-slider--many .ub-slide__btn{transition-delay:.15s}
.ub-slider--many .ub-slide.is-active .ub-slide__h,.ub-slider--many .ub-slide.is-active .ub-slide__btn{opacity:1;transform:translateY(0)}
.ub-slide__btn{display:none;padding:8px 20px;font-size:14px}
.ub-slider__nav{position:absolute;top:50%;z-index:10;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-top:-20px;border-radius:9999px;background:color-mix(in srgb,var(--ub-white) 30%,transparent);color:var(--ub-white);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;transition:background-color .15s}
.ub-slider__nav:hover{background:color-mix(in srgb,var(--ub-white) 50%,transparent)}
.ub-slider__nav::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url('img/ic/chev-left.svg') center/contain no-repeat;mask:url('img/ic/chev-left.svg') center/contain no-repeat}
.ub-slider__prev{left:16px}
.ub-slider__next{right:16px}
.ub-slider__next::before{-webkit-mask-image:url('img/ic/arrow.svg');mask-image:url('img/ic/arrow.svg')}
.ub-slider__dots{position:absolute;left:0;right:0;bottom:16px;z-index:10;display:none;text-align:center;line-height:0}
.ub-slider__dot{display:inline-block;width:10px;height:10px;margin:0 4px;border-radius:50%;background:color-mix(in srgb,var(--ub-white) 40%,transparent);cursor:pointer}
.ub-slider__dot.is-active{background:var(--ub-green)}

/* ── Text.vue ── */
.ub-tb__in{max-width:56rem;margin-inline:auto;padding-inline:24px;text-align:center}
.ub-tb,.ub-tb :where(h1,h2,h3,h4,h5,h6,p,div,a,strong,b,em,i,u,li,span,blockquote){color:var(--ub-prose)}
.ub-tb--dark,.ub-tb--dark :where(h1,h2,h3,h4,h5,h6,p,div,a,strong,b,em,i,u,li,span,blockquote){color:var(--ub-white)}
.ub-tb__btns{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;margin-top:32px}

/* ── TextWithImage.vue / TextWithVideo.vue ── */
.ub-ti__h{margin-bottom:32px;text-align:center}
.ub-ti__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.ub-ti__img{width:100%;height:auto;object-fit:cover}
.ub-ti__cbtns{margin-top:8px}
.ub-tv__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ub-video{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--ub-n900)}
.ub-video--r{border-radius:8px}
.ub-video__frame{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ── HeadlineBesideText.vue ── */
.ub-hbt__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.ub-hbt__col{display:flex;align-items:flex-start;min-width:0}
.ub-hbt__txt{font-size:16px;line-height:1.625}

/* ── Quote.vue ── */
.ub-quote__in{max-width:56rem;margin-inline:auto;text-align:center}
.ub-quote__pic{display:flex;justify-content:center;margin-bottom:32px}
.ub-quote__circle{width:96px;height:96px;overflow:hidden;border-radius:9999px}
.ub-quote__img{width:100%;height:100%;object-fit:cover}
.ub-quote__bq{margin:0 0 32px}
.ub-quote__mark{display:block;width:48px;height:48px;margin:0 auto 24px;background:var(--ub-gold);-webkit-mask:url('img/ic/quote.svg') center/contain no-repeat;mask:url('img/ic/quote.svg') center/contain no-repeat}
.ub-quote__mark--dark{background:color-mix(in srgb,var(--ub-white) 50%,transparent)}
.ub-quote__txt{margin-bottom:32px;font-family:var(--ub-serif);font-size:24px;line-height:39px}
.ub-quote__by{color:var(--ub-g700);font-size:18px;line-height:28px;font-weight:500}
.ub-quote__by--dark{color:color-mix(in srgb,var(--ub-white) 80%,transparent)}
.ub-quote__cite{font-style:normal}

/* ── ImageBoxes.vue ── */
.ub-ib__head{margin-bottom:48px}
.ub-ib__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ub-ib__box{display:flex;flex-direction:column;border:1px solid var(--ub-card-bd);background:var(--ub-white)}
.ub-ib__media{aspect-ratio:4/3}
.ub-ib__img{width:100%;height:100%;object-fit:cover}
.ub-ib__body{display:flex;flex-grow:1;flex-direction:column;padding:16px 20px 20px}
.ub-ib__h{margin-bottom:12px}
.ub-ib__desc{flex-grow:1;margin-bottom:20px;color:var(--ub-g700)}
.ub-ib__desc .ub-prose{color:inherit}
.ub-ib__more{margin-top:auto}
.ub-ib__box:hover .ub-ib__btn{background:var(--ub-green);color:var(--ub-white)}

/* ── TestimonialsSlider.vue (site.js pages it like Swiper: 1 / 2 from md / 3 from lg) ── */
.ub-rv__wrap{display:flex;flex-direction:column;align-items:center}
.ub-rv__title{margin-bottom:16px;text-align:center}
.ub-rv__intro{max-width:48rem;margin-bottom:48px;text-align:center}
.ub-rv__box{position:relative;width:100%;padding-inline:56px}
.ub-rv__nav{position:absolute;top:calc(50% - 1.375rem);z-index:10;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:9999px;background:var(--ub-green);color:var(--ub-white);transform:translateY(-50%);cursor:pointer;transition:background-color .15s}
.ub-rv__nav:hover{background:color-mix(in srgb,var(--ub-green) 80%,transparent)}
.ub-rv__nav::before{content:"";width:24px;height:24px;background:currentColor;-webkit-mask:url('img/ic/chev-left.svg') center/contain no-repeat;mask:url('img/ic/chev-left.svg') center/contain no-repeat}
.ub-rv__prev{left:0}
.ub-rv__next{right:0}
.ub-rv__next::before{-webkit-mask-image:url('img/ic/arrow.svg');mask-image:url('img/ic/arrow.svg')}
.ub-rv__viewport{overflow:hidden}
.ub-rv__track{--n:1;--g:24px;display:flex;gap:var(--g);transition:transform .3s ease}
.ub-rv__slide{flex:0 0 calc((100% - (var(--n) - 1) * var(--g)) / var(--n));min-width:0}
.ub-card{border:1px solid var(--ub-card-bd);background:var(--ub-white)}
.ub-rv__card{position:relative;height:100%;padding:24px}
.ub-rv__q{position:absolute;top:20px;right:20px;width:60px;height:60px;background:var(--ub-g200);-webkit-mask:url('img/ic/quote-big.svg') center/contain no-repeat;mask:url('img/ic/quote-big.svg') center/contain no-repeat}
.ub-rv__cin{position:relative;z-index:10}
.ub-rv__h{margin-bottom:8px;color:var(--ub-ink)}
.ub-rv__stars{display:block;width:84px;height:22px;margin-bottom:12px}
.ub-rv__txt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;color:var(--ub-g700);font-size:16px;line-height:1.625}
.ub-rv__dots{position:relative;margin-top:32px;text-align:center;line-height:24px;font-size:16px}
.ub-rv__dot{display:inline-block;box-sizing:content-box;width:12px;height:12px;border-radius:9999px;margin:-16px -2px;padding:16px 6px;border-radius:50%;background:var(--ub-g300);background-clip:content-box;vertical-align:middle;cursor:pointer} /* 24×44px hit area, the 12px dot and its spacing unchanged */
.ub-rv__dot.is-active{background:var(--ub-teal)}

/* ── TestimonialsGrid.vue ── */
.ub-rg__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ub-rg__card{position:relative;display:flex;flex-direction:column;padding:32px;border:1px solid color-mix(in srgb,var(--ub-gold) 50%,transparent);border-top:4px solid var(--ub-gold);background:var(--ub-cream);box-shadow:0 1px 2px color-mix(in srgb,var(--ub-ink) 4%,transparent);transition:box-shadow .3s}
.ub-rg__card:hover{box-shadow:0 8px 24px -12px color-mix(in srgb,var(--ub-ink) 18%,transparent)}
.ub-rg__mark{display:block;margin-left:-4px;font-family:var(--ub-head);font-size:72px;line-height:.6;color:var(--ub-gold)}
.ub-rg__bq{flex-grow:1;margin:24px 0 32px;color:var(--ub-g700);font-size:18px;line-height:2}
.ub-rg__bq p{margin-bottom:1rem}
.ub-rg__bq p:last-child{margin-bottom:0}
.ub-rg__by{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:24px;border-top:1px solid color-mix(in srgb,var(--ub-gold) 40%,transparent)}
.ub-rg__line{flex:none;width:40px;height:1px;background:var(--ub-teal)}
.ub-rg__cite{color:var(--ub-teal);font-size:18px;line-height:28px;font-weight:600;font-style:normal}

/* ── LogoCallout.vue / LogoList.vue ── */
.ub-lc__h{margin-bottom:32px;text-align:center}
.ub-lc__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:32px}
.ub-lc__item{display:flex;align-items:center;justify-content:center;height:48px}
.ub-lc__img{width:auto;height:100%;object-fit:contain}
.ub-ll__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ub-ll__item{position:relative;display:flex;gap:16px}
.ub-ll__cover{position:absolute;inset:0;z-index:1}
.ub-ll__desc a{position:relative;z-index:2}
.ub-ll__item--a{transition:opacity .2s}
.ub-ll__item--a:hover{opacity:.8}
.ub-ll__logo{display:flex;flex:none;align-items:center;justify-content:center;width:50px;height:50px}
.ub-ll__img{max-width:50px;max-height:50px;object-fit:contain}
.ub-ll__txt{min-width:0}
.ub-ll__name{color:var(--ub-ink);font-size:14px;line-height:20px;font-weight:500}
.ub-ll__desc{margin-top:2px;color:var(--ub-g600);font-size:12px;line-height:16px}
.ub-ll__desc p{line-height:16px}

/* ── ProductsGrid.vue / JewelryGrid.vue ── */
.ub-phead{position:relative;overflow:hidden}
.ub-box .ub-phead__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:none;object-position:center}
.ub-phead::before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--tertiary-ultra-light) 70%,transparent)}
.ub-phead__in{position:relative;padding-block:48px;text-align:center}
.ub-pg__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.ub-pg__none{padding-block:48px;text-align:center;color:var(--ub-g700)}
.ub-pc{display:flex;flex-direction:column}
.ub-pc__frame{margin-bottom:16px;overflow:hidden;border:4px solid var(--ub-g200)}
.ub-pc__img{display:block;width:100%;object-fit:cover}
.ub-pc__img--cover{object-fit:cover}
.ub-a43{aspect-ratio:4/3}
.ub-a34{aspect-ratio:3/4}
.ub-a32{aspect-ratio:3/2}
.ub-pc__ph{width:100%;background:var(--ub-g300)}
.ub-pc__body{display:flex;flex-grow:1;flex-direction:column}
.ub-pc__h{margin-bottom:8px;color:var(--ub-ink);font-size:16px;line-height:22px}
.ub-pc__desc{flex-grow:1;margin-bottom:16px;color:var(--ub-g700);font-size:14px;line-height:1.625}
.ub-pc__price{margin-top:auto;color:var(--ub-ink);font-size:16px;line-height:24px;font-weight:600}
.ub-jw__h{margin-bottom:16px}
/* the per-product image slider (Swiper in the source; site.js) */
.ub-gal{position:relative;overflow:hidden}
.ub-gal__track{display:flex;transition:transform .3s ease}
.ub-gal__slide{flex:0 0 100%;min-width:0}
.ub-gal__nav{position:absolute;top:50%;z-index:10;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-top:-22px;border-radius:50%;background:color-mix(in srgb,var(--ub-black) 50%,transparent);color:var(--ub-white);cursor:pointer}
.ub-gal__nav::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url('img/ic/chev-left.svg') center/contain no-repeat;mask:url('img/ic/chev-left.svg') center/contain no-repeat}
.ub-gal__prev{left:10px}
.ub-gal__next{right:10px}
.ub-gal__next::before{-webkit-mask-image:url('img/ic/arrow.svg');mask-image:url('img/ic/arrow.svg')}
.ub-gal__nav.is-off{opacity:.35;cursor:auto}
.ub-gal__dots{position:absolute;left:0;right:0;bottom:8px;z-index:10;text-align:center;line-height:0}
.ub-gal__dot{display:inline-block;width:8px;height:8px;margin:0 4px;border-radius:50%;background:var(--ub-white);opacity:.7;cursor:pointer}
.ub-gal__dot.is-active{opacity:1}
/* the single highlighted product */
.ub-sp{margin-inline:auto}
.ub-sp__row{display:flex;flex-direction:column;gap:24px}
.ub-sp__main,.ub-sp__frame{border:1px solid var(--ub-green)}
.ub-sp__rest{display:flex;flex-direction:column;gap:24px}
.ub-sp__img{display:block;width:100%;height:auto}
.ub-sp__text{max-width:56rem;margin-top:32px}
.ub-sp__h{margin-bottom:16px;color:var(--ub-ink)}
.ub-sp__desc{color:var(--ub-g700);font-size:16px;line-height:1.625}
.ub-sp__price{margin-top:16px;color:var(--ub-ink);font-size:18px;line-height:28px;font-weight:600}

/* ── RowsWithNews.vue ── */
.ub-news__head{margin-bottom:48px;text-align:center}
.ub-news__list{display:flex;flex-direction:column;gap:24px}
.ub-news__row{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;background:var(--ub-white);box-shadow:var(--ub-shadow-sm);transition:box-shadow .3s}
.ub-news__row:hover{box-shadow:var(--ub-shadow-md)}
.ub-news__txt{display:flex;flex-direction:column;justify-content:space-between;padding:24px}
.ub-news__h{margin-bottom:12px;color:var(--ub-ink)}
.ub-news__ex{color:var(--ub-g600);font-size:16px;line-height:1.625}
.ub-news__more{margin-top:24px}
.ub-news__row:hover .ub-news__btn{background:var(--ub-green);color:var(--ub-white)}
.ub-news__media{order:-1;aspect-ratio:600/358;overflow:hidden}
.ub-news__img{width:100%;height:100%;object-fit:cover}
.ub-news__noimg{display:flex;height:100%;align-items:center;justify-content:center;background:var(--ub-g100);color:var(--ub-g400)}

/* ── PageTypeNyheder.vue (a news item) ── */
.ub-ni{max-width:960px;margin-inline:auto;padding:32px 16px}
.ub-ni__h{margin-bottom:32px}
.ub-ni__video{margin-bottom:32px}

/* ── ArticlesGrid.vue ── */
.ub-art__head{margin-bottom:48px;text-align:center}
.ub-art__title{margin-bottom:16px}
.ub-art__intro{max-width:48rem;margin-inline:auto;color:var(--ub-g700);font-size:16px;line-height:24px}
.ub-art__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ub-art__card{display:flex;flex-direction:column;padding:24px;border:1px solid color-mix(in srgb,var(--ub-gold) 50%,transparent);background:var(--ub-cream);box-shadow:0 1px 2px color-mix(in srgb,var(--ub-ink) 4%,transparent);transition:box-shadow .3s}
.ub-art__card:hover{box-shadow:0 8px 24px -12px color-mix(in srgb,var(--ub-ink) 18%,transparent)}
.ub-art__top{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid color-mix(in srgb,var(--ub-gold) 40%,transparent)}
.ub-art__lrow{display:flex;height:40px;align-items:center}
.ub-art__logo{width:auto;max-width:200px;max-height:100%;object-fit:contain;object-position:left}
.ub-art__paper{font-family:var(--ub-head);font-size:20px;line-height:28px;color:var(--ub-ink)}
.ub-art__h{margin-bottom:16px;color:var(--ub-ink);line-height:1.25}
.ub-art__date{margin-bottom:32px;color:var(--ub-g700);font-size:14px;line-height:20px}
.ub-art__link{display:inline-flex;align-self:flex-start;align-items:center;gap:12px;margin-top:auto;color:var(--ub-teal);font-size:16px;line-height:24px;font-weight:600;transition:color .3s}
.ub-art__link:hover{color:var(--ub-teal7)}
.ub-art__go{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:9999px;background:var(--ub-gold);transition:background-color .3s}
.ub-art__go::before{content:"";width:16px;height:16px;background:var(--ub-ink);-webkit-mask:url('img/ic/arrow.svg') center/contain no-repeat;mask:url('img/ic/arrow.svg') center/contain no-repeat}
.ub-art__link:hover .ub-art__go{background:var(--ub-teal)}
.ub-art__link:hover .ub-art__go::before{background:var(--ub-white)}

/* ── FactsSection.vue ── */
.ub-facts__head{margin-bottom:48px;text-align:center}
.ub-facts__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ub-facts__col{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.ub-facts__card{position:relative;overflow:hidden;padding-top:32px;border-radius:8px;background:var(--ub-green-m)}
.ub-facts__h{margin-bottom:24px;padding-inline:32px;color:var(--ub-white)}
.ub-facts__h--c{margin-bottom:32px;text-align:center}
.ub-facts__mapwrap{display:flex;align-items:flex-end;justify-content:center}
.ub-facts__map{width:100%;max-width:28rem;height:auto}
.ub-facts__ico{position:absolute;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:flex-end}
.ub-facts__img{width:160px;height:auto}

/* ── ContactFormWithDetails.vue ── */
.ub-contact__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.ub-contact__info{display:flex;flex-direction:column;column-gap:48px}
.ub-contact__picwrap{margin-bottom:32px}
.ub-contact__frame{display:inline-block;border:4px solid var(--tertiary-light)}
.ub-contact__pic{width:275px;max-width:100%;height:auto}
.ub-contact__co{margin-bottom:32px;color:var(--ub-teal)}
.ub-contact__person{margin-bottom:32px}
.ub-contact__name{margin-bottom:8px;color:var(--ub-ink)}
.ub-contact__title{color:var(--ub-g700);font-size:16px;line-height:24px}
.ub-contact__lines{display:flex;flex-direction:column;gap:24px}
.ub-contact__line{display:flex;align-items:center;gap:16px}
.ub-contact__ic{display:flex;flex:none;width:32px;height:32px;margin-top:4px;align-items:center;justify-content:center;border-radius:9999px;background:var(--ub-teal)}
.ub-contact__ic::before{content:"";width:16px;height:16px;background:var(--ub-white);-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat}
.ub-ic--pin{--m:url('img/ic/pin.svg')}
.ub-ic--tel{--m:url('img/ic/tel.svg')}
.ub-ic--env{--m:url('img/ic/env.svg')}
.ub-contact__txt{color:var(--ub-ink);font-size:16px;line-height:24px}
.ub-contact__a{transition:color .15s}
.ub-contact__a:hover{color:var(--ub-teal)}
.ub-contact__card{padding:16px}
.ub-contact__fh{margin-bottom:24px;color:var(--ub-teal)}

/* ── forms (Gravity Forms dressed as the source's inputs) ── */
.ub-box .gform_wrapper{max-width:none;margin:0}
.ub-box .gform_wrapper form.ub-gf .gform_fields{display:flex;flex-direction:column;row-gap:16px}
.ub-box .gform_wrapper form.ub-gf .gfield{margin:0;padding:0}
.ub-box .gform_wrapper form.ub-gf .gfield_label{display:block;margin:0 0 8px;color:var(--ub-ink);font-family:var(--ub-sans);font-size:14px;line-height:20px;font-weight:500}
.ub-box .gform_wrapper form.ub-gf .gfield_required{color:var(--action-dark)}
.ub-box .gform_wrapper form.ub-gf--contact :is(input[type=text],input[type=email],input[type=tel],textarea){display:block;width:100%;min-height:0;margin:0;padding:12px 16px;border:2px solid var(--ub-card-bd);border-radius:8px;background:var(--ub-white);color:var(--ub-ink);font-family:var(--ub-sans);font-size:16px;line-height:24px;transition:border-color .15s;appearance:none}
.ub-box .gform_wrapper form.ub-gf--contact textarea{height:124px;resize:none}
.ub-box .ub-gf_wrapper .gform_heading{display:none}
.ub-box .gform_wrapper form.ub-gf .gfield_required{margin-left:.25em}
.ub-box .gform_wrapper form.ub-gf :is(input,textarea)::placeholder{color:var(--ub-g400);opacity:1}
.ub-box .gform_wrapper form.ub-gf--contact :is(input,textarea):focus{border-color:var(--ub-teal);outline:0;box-shadow:none}
.ub-box .gform_wrapper form.ub-gf .gform_footer{margin:0;padding:0}
.ub-box .gform_wrapper form.ub-gf--contact .gform_footer{margin-top:16px;text-align:center}
.ub-box .gform_wrapper form.ub-gf--contact .gform_footer :is(input[type=submit],button.gform_button){display:inline-block;width:auto;max-width:100%;margin:0;padding:8px 40px 8px 16px;background-position:right 16px center;border:0;border-radius:9999px;background:var(--ub-orange) url('img/ic/arrow.svg') no-repeat;background-size:16px 16px;color:var(--ub-ink);font-family:var(--ub-sans);font-size:14px;line-height:20px;font-weight:500;cursor:pointer;transition:all .2s;min-height:0;box-shadow:none;text-transform:none;letter-spacing:normal;outline-offset:2px}
.ub-box .gform_wrapper form.ub-gf--contact .gform_footer :is(input[type=submit],button.gform_button):hover{background-color:var(--ub-green);color:var(--ub-white)}
/* the survey */
.ub-survey__in{max-width:56rem;margin-inline:auto}
.ub-box .gform_wrapper form.ub-gf--survey .gform_fields{row-gap:32px}
.ub-box .gform_wrapper form.ub-gf--survey .gfield_label{font-size:16px;line-height:24px}
.ub-box .gform_wrapper form.ub-gf--survey :is(input[type=text],textarea){display:block;width:100%;margin:0;padding:12px 16px;border:1px solid var(--ub-g300);border-radius:6px;background:var(--ub-white);font-family:var(--ub-sans);font-size:16px;line-height:24px}
.ub-box .gform_wrapper form.ub-gf--survey .gfield_radio{display:flex;flex-wrap:wrap;gap:16px}
.ub-box .gform_wrapper form.ub-gf--survey .gfield_checkbox{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.ub-box .gform_wrapper form.ub-gf--survey :is(.gchoice){display:flex;align-items:center;gap:8px}
.ub-box .gform_wrapper form.ub-gf--survey .gchoice label{margin:0;font-size:16px;line-height:24px;font-weight:400}
.ub-box .gform_wrapper.gravity-theme form.ub-gf--survey .gform_footer{display:flex;justify-content:center;margin-top:32px;padding-top:16px}
.ub-box .gform_wrapper form.ub-gf--survey .gform_footer :is(input[type=submit],button.gform_button){display:flex;align-items:center;gap:8px;margin:0;padding:12px 60px 12px 32px;border:0;border-radius:9999px;background:var(--accent-dark) url('img/ic/arrow-long.svg') no-repeat right 28px center;background-size:20px 20px;color:var(--ub-black);font-family:var(--ub-sans);font-size:16px;line-height:24px;font-weight:500;cursor:pointer}

/* ── header (Header.vue) ── */
.ub-hd__top{border-bottom:1px solid var(--ub-g200);background:var(--ub-white);padding-block:8px}
.ub-hd__toprow{position:relative;display:flex;width:100%;min-height:22px;margin-inline:auto;align-items:center;justify-content:flex-end;padding-inline:16px;font-size:14px;line-height:20px}
.ub-tp{display:flex;align-items:center;gap:12px;transition:opacity .15s}
.ub-tp:hover{opacity:.8}
.ub-tp__txt{color:var(--ub-green)}
.ub-tp__b{font-weight:600}
.ub-tp__pill{display:block;flex:none;width:113px;height:30px;background:url('img/tp-pill.svg') center/contain no-repeat}
.ub-hd__tp{position:absolute;left:50%;display:none;transform:translateX(-50%)}
.ub-hd__open{display:flex;align-items:center;gap:8px;color:var(--ub-green)}
.ub-hd__open .ub-ic{width:20px;height:20px}
.ub-hd__bar{position:relative;z-index:40;width:100%;background:var(--ub-teal);transition:all .3s}
.ub-hd__in{display:flex;align-items:center;justify-content:space-between;width:100%;margin-inline:auto;padding:16px;transition:padding .3s}
.ub-hd__logo{flex:none}
.ub-hd__logo img{width:auto;height:48px;transition:height .3s}
.ub-hd__call{gap:6px;margin-right:56px;padding:6px 12px;font-size:14px;line-height:20px}
.ub-hd__call .ub-ic{width:16px;height:16px}
/* ── the menu: core Navigation (the site's wp_navigation). Below lg only its burger shows, where Header.vue's bars button
   sat (MenuOp's: 16px from the bar's right edge, centred in the bar, which is 80px / 64px pinned); from lg the list sits in
   the bar (core's responsive wrappers become display:contents) with MenuOp's dropdown look: a bordered white card 8px
   under the item, a column per five items, the third level flying out to the right. Core's own submenu toggle buttons are
   hidden on desktop (hover and keyboard focus open the cards, as before); the chevrons are the theme's. ── */
.ub-hd__nav.wp-block-navigation{position:absolute;top:16px;right:16px;z-index:45;display:block;gap:0;color:var(--ub-white)}
.ub-scrolled .ub-hd__nav.wp-block-navigation{top:8px}
.ub-hd__nav .wp-block-navigation__responsive-container-open{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:8px;margin:0;border:0;border-radius:0;background:none;color:var(--ub-white);cursor:pointer}
.ub-hd__nav .wp-block-navigation__responsive-container-open svg{display:none}
.ub-hd__nav .wp-block-navigation__responsive-container-open::before{content:"";width:32px;height:32px;background:currentColor;-webkit-mask:url('img/ic/burger.svg') center/contain no-repeat;mask:url('img/ic/burger.svg') center/contain no-repeat}
/* pinned, the bar has a backdrop blur — which would make it the containing block of the full-screen overlay */
.ub-hd__bar:has(.is-menu-open){-webkit-backdrop-filter:none;backdrop-filter:none}
/* scrolled: the teal bar pins to the top (site.js sets html.ub-scrolled + the spacer height) */
.ub-scrolled .ub-hd{padding-bottom:var(--ub-bar-h,0px)}
.ub-scrolled .ub-hd__bar{position:fixed;top:0;left:0;right:0;background:color-mix(in srgb,var(--ub-teal) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--ub-shadow-lg)}
.ub-scrolled .ub-hd__in{padding-block:8px}
.admin-bar.ub-scrolled .ub-hd__bar{top:32px}


/* ── the drawer (MobileMenu.vue: full-screen teal overlay) ── */
/* MobileMenu.vue = core Navigation's overlay (parts/navigation-overlay.html): full-screen teal, logo + close in the head,
   the full-width call button, the list with a chevron button per submenu (core's toggle: aria-expanded) and the children
   nested below it. No fade (an opacity animation on the container breaks nothing here, but the source had none). */
.ub-hd__nav .wp-block-navigation__responsive-container.is-menu-open{position:fixed;inset:0;z-index:1000;padding:0;background:none;color:var(--ub-white);animation:none}
.ub-hd__nav .is-menu-open :is(.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-dialog,.wp-block-navigation__responsive-container-content,.wp-block-navigation__overlay-container){height:100%;margin:0;padding:0;max-width:none}
.ub-ov{height:100dvh;overflow-y:auto;background:var(--ub-teal);color:var(--ub-white);font-family:var(--ub-sans)}
.ub-ov .ub-ov__head{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid color-mix(in srgb,var(--ub-teal7) 30%,transparent)}
.ub-ov .ub-ov__logo{display:block;line-height:0}
.ub-ov .ub-ov__logo img{display:block;width:auto;height:40px}
.ub-ov .ub-ov__x{position:relative;width:48px;height:48px;padding:8px;margin:0;border:0;border-radius:0;background:none;color:var(--ub-white);cursor:pointer}
.ub-ov .ub-ov__x svg{display:none}
.ub-ov .ub-ov__x::before{content:"";position:absolute;inset:8px;background:currentColor;-webkit-mask:url('img/ic/close.svg') center/contain no-repeat;mask:url('img/ic/close.svg') center/contain no-repeat}
.ub-ov .ub-ov__call{display:block;margin:0;padding:24px 16px 0}
.ub-ov .ub-ov__btn{display:flex;width:100%;justify-content:center;gap:8px;padding:8px 16px;font-size:14px;line-height:20px}
.ub-ov .ub-ov__nav.wp-block-navigation{display:block;gap:0;padding:24px 16px}
.ub-ov .ub-ov__nav ul,.ub-ov .ub-ov__nav ul.wp-block-navigation.wp-block-navigation{display:block;margin:0;padding:0;list-style:none;gap:0} /* core repeats the nav's classes on its <ul> */
.ub-ov .ub-ov__nav .wp-block-navigation-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0;border:0}
.ub-ov .ub-ov__nav .wp-block-navigation__container>.wp-block-navigation-item+.wp-block-navigation-item{margin-top:8px}
.ub-ov .ub-ov__nav a.wp-block-navigation-item__content{display:block;flex:1 1 0;padding:12px 0;color:var(--ub-white);font-size:18px;line-height:28px;font-weight:500;text-decoration:none}
.ub-ov .ub-ov__nav .wp-block-navigation-submenu__toggle{position:relative;flex:0 0 44px;width:44px;height:44px;padding:12px;margin:0;border:0;background:none;color:var(--ub-white);cursor:pointer}
.ub-ov .ub-ov__nav .wp-block-navigation-submenu__toggle svg{display:none}
.ub-ov .ub-ov__nav .wp-block-navigation-submenu__toggle::before{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;background:currentColor;-webkit-mask:url('img/ic/chev-down.svg') center/contain no-repeat;mask:url('img/ic/chev-down.svg') center/contain no-repeat;transform:translate(-50%,-50%);transition:transform .2s}
.ub-ov .ub-ov__nav .wp-block-navigation-submenu__toggle[aria-expanded=true]::before{transform:translate(-50%,-50%) rotate(180deg)}
.ub-ov .ub-ov__nav .wp-block-navigation__submenu-container{position:static;display:none;flex:0 0 100%;width:auto;height:auto;min-width:0;margin:8px 0 0 16px;padding:0;border:0;background:none;opacity:1;visibility:visible;overflow:visible;box-shadow:none}
.ub-ov .ub-ov__nav .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{display:block}
.ub-ov .ub-ov__nav .wp-block-navigation__submenu-container .wp-block-navigation-item+.wp-block-navigation-item{margin-top:4px}
.ub-ov .ub-ov__nav .wp-block-navigation__submenu-container a.wp-block-navigation-item__content{padding:8px 0;color:color-mix(in srgb,var(--ub-white) 90%,transparent);font-size:16px;line-height:24px;font-weight:400}
.ub-ov .ub-ov__nav .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle{flex-basis:32px;width:32px;height:32px;padding:8px;color:color-mix(in srgb,var(--ub-white) 90%,transparent)}
.ub-ov .ub-ov__nav .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle::before{width:16px;height:16px}
.ub-ov .ub-ov__nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{margin-top:4px}
.ub-ov .ub-ov__nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container a.wp-block-navigation-item__content{color:color-mix(in srgb,var(--ub-white) 80%,transparent);font-size:14px;line-height:20px}

/* ── FooterCta.vue ── */
.ub-fcta{position:relative;overflow:hidden;padding-block:64px;background:var(--ub-green)}
.ub-fcta__grid{position:relative;z-index:10;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:48px}
.ub-fcta__h{margin-bottom:24px;color:var(--ub-white)}
.ub-fcta__row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.ub-fcta__p{margin-bottom:24px;color:color-mix(in srgb,var(--ub-white) 90%,transparent)}
.ub-fcta__a{text-decoration:underline}
.ub-fcta__a:hover{text-decoration:none}
.ub-fcta__cvr{color:var(--ub-white)}
.ub-fcta__pic{display:flex;flex:none}
.ub-fcta__img{width:128px;height:auto;border:4px solid color-mix(in srgb,var(--ub-white) 30%,transparent)}
.ub-fcta__btns{display:flex;flex-direction:column;gap:16px;margin-top:32px}
.ub-fcta__map{position:relative;display:flex;align-items:center;justify-content:center}
.ub-fcta__mapimg{width:100%;max-width:28rem;height:auto;opacity:.9}
.ub-fcta__tp{display:flex;align-items:center;justify-content:center;gap:12px;padding-block:16px;background:var(--ub-white)}

/* ── Footer.vue ── */
.ub-ft{padding-block:64px;border-top:1px solid var(--ub-card-bd);background:var(--ub-cream)}
.ub-ft__cols{display:block}
.ub-ft__col{border-bottom:1px solid var(--ub-card-bd)}
.ub-ft__hrow{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;padding-block:16px;cursor:pointer}
.ub-ft__hrow::after{content:"";flex:none;width:24px;height:24px;background:currentColor;-webkit-mask:url('img/ic/chev-down.svg') center/contain no-repeat;mask:url('img/ic/chev-down.svg') center/contain no-repeat;transition:transform .2s}
.ub-ft__col.is-open .ub-ft__hrow::after{transform:rotate(180deg)}
.ub-ft__ul{display:none;flex-direction:column;gap:12px;padding-bottom:16px}
.ub-ft__col.is-open .ub-ft__ul{display:flex}
.ub-ft__ul a{color:var(--ub-n700);transition:color .15s}
.ub-ft__ul a:hover,.ub-ft__legal a:hover,.ub-ft__so:hover{color:var(--ub-teal)}
.ub-ft__mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;margin-top:48px;padding-top:48px;border-top:1px solid var(--ub-card-bd)}
.ub-ft__auth{color:var(--ub-n700);text-align:center}
.ub-ft__brand{color:var(--ub-n900);font-size:18px;line-height:28px;font-weight:700}
.ub-ft__badges{display:flex;flex-direction:column;align-items:center;gap:16px}
.ub-ft__badge{width:auto;height:56px}
.ub-ft__logo img{width:auto;height:80px}
.ub-ft__bottom{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:16px;margin-top:48px;padding-top:32px;border-top:1px solid var(--ub-card-bd);color:var(--ub-n600);font-size:14px;line-height:20px}
.ub-ft__legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}
.ub-ft__legal a{transition:color .15s}
.ub-ft__sep{display:none}
.ub-ft__social{display:flex;align-items:center;gap:16px}
.ub-ft__so{display:block;width:24px;height:24px;color:var(--ub-n600);background:currentColor;-webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;transition:color .15s}
.ub-ic--fb{--m:url('img/ic/fb.svg')}
.ub-ic--x{--m:url('img/ic/x.svg')}
.ub-ic--yt{--m:url('img/ic/yt.svg')}
.ub-ic--ig{--m:url('img/ic/ig.svg')}
.ub-ic--li{--m:url('img/ic/li.svg')}

/* ═════════ sm (640) ═════════ */
@media (min-width:640px){
  .ub-ll__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ub-contact__info{flex-direction:row}
  .ub-fcta__row{display:inline-flex}
  .ub-fcta__img{width:144px}
  .ub-fcta__btns{flex-direction:row}
  .ub-box .gform_wrapper form.ub-gf--survey .gfield_checkbox{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ═════════ md (768) ═════════ */
@media (min-width:768px){
  .ub-btn{font-size:16px;line-height:24px}
  .ub-box .gform_wrapper form.ub-gf--contact .gform_footer :is(input[type=submit],button.gform_button){font-size:16px;line-height:24px}
  .ub-tb__in{padding-inline:32px}
  .ub-slider{aspect-ratio:auto;height:587px}
  .ub-slide__in{justify-content:flex-end;gap:24px;padding-bottom:80px}
  .ub-slider--one .ub-slide__in{padding-bottom:48px}
  .ub-slide__h{font-size:36px;line-height:40px}
  .ub-slide__btn{display:flex;font-size:16px;line-height:24px}
  .ub-slider__dots{display:block}
  .ub-top--img{aspect-ratio:auto;height:572px}
  .ub-quote__txt{font-size:30px;line-height:36px}
  .ub-quote__by{font-size:20px;line-height:28px}
  .ub-ib__head{margin-bottom:64px}
  .ub-ib__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .ub-rv__box{padding-inline:64px}
  .ub-rv__intro{margin-bottom:64px}
  .ub-rv__track{--n:2;--g:24px}
  .ub-rg__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .ub-rg__card{padding:40px}
  .ub-lc__row{gap:48px}
  .ub-lc__item{height:64px}
  .ub-ll__grid{gap:32px}
  .ub-phead__in{padding-block:64px}
  .ub-pg__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
  .ub-pc__h{font-size:18px;line-height:28px}
  .ub-pc__price{font-size:18px;line-height:28px}
  .ub-jw__h{margin-bottom:64px}
  .ub-news__head{margin-bottom:64px}
  .ub-news__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ub-news__txt{padding:40px}
  .ub-news__media{order:9999}
  .ub-art__head{margin-bottom:64px}
  .ub-art__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ub-art__card{padding:32px}
  .ub-ft__mid{flex-direction:row;justify-content:space-between;gap:48px}
  .ub-ft__auth{padding-right:48px;border-right:1px solid var(--ub-card-bd);text-align:left}
  .ub-ft__logo{margin-left:auto}
  .ub-ft__bottom{flex-direction:row}
  .ub-ft__legal{justify-content:flex-start}
  .ub-ft__sep{display:inline}
}

/* ═════════ lg (1024) — the desktop header ═════════ */
@media (min-width:1024px){
  .ub-wrap{padding-inline:32px}
  .ub-pt{padding-top:64px}
  .ub-pb{padding-bottom:64px}
  .ub-pbr{padding-bottom:48px}
  .ub-h--h1{font-size:72px;line-height:1}
  .ub-h--h2{font-size:48px;line-height:1}
  .ub-h--h3{font-size:36px;line-height:40px}
  .ub-h--h4{font-size:30px;line-height:36px}
  .ub-h--h5{font-size:24px;line-height:32px}
  .ub-h--h6{font-size:18px;line-height:28px}
  .ub-btn{padding:12px 28px;font-size:18px;line-height:28px}
  .ub-box .gform_wrapper form.ub-gf--contact .gform_footer :is(input[type=submit],button.gform_button){padding:12px 52px 12px 28px;font-size:18px;line-height:28px;background-position:right 28px center}
  .ub-slide__h{font-size:72px;line-height:1}
  .ub-ti__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
  .ub-ti--right .ub-ti__media{order:2}
  .ub-ti--right .ub-ti__body{order:1}
  .ub-ti__cbtns{margin-top:32px}
  .ub-tv__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
  .ub-tv--left .ub-tv__body{order:2}
  .ub-tv--left .ub-tv__media{order:1}
  .ub-hbt__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
  .ub-rv__track{--n:3;--g:32px}
  .ub-pg__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ub-ll__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ub-sp__row{flex-direction:row;align-items:flex-start;gap:32px}
  .ub-sp__main,.ub-sp__rest{flex-basis:2px}
  .ub-art__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .ub-facts__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .ub-facts__col{gap:32px}
  .ub-facts__card--map{padding-top:48px}
  .ub-facts__h--c{margin-bottom:48px;padding-inline:48px}
  .ub-contact__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:64px}
  .ub-contact__info{grid-column:span 2/span 2}
  .ub-contact__card{padding:32px}
  .ub-box .gform_wrapper form.ub-gf--contact .gform_fields{row-gap:24px}
  .ub-box .gform_wrapper form.ub-gf--contact .gform_footer{margin-top:24px}
  .ub-fcta{padding-block:96px}
  .ub-fcta__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ub-fcta__row{gap:48px}
  .ub-fcta__p,.ub-fcta__cvr{font-size:20px;line-height:28px}
  .ub-fcta__map{justify-content:flex-end}
  .ub-fcta__mapimg{max-width:32rem}
  .ub-ft__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}
  .ub-ft__col{border:0}
  .ub-ft__hrow{display:block;margin-bottom:24px;padding:0;cursor:auto}
  .ub-ft__hrow::after{display:none}
  .ub-ft__ul{display:flex;padding:0}
  /* header */
  .ub-hd__toprow{padding-inline:32px}
  .ub-hd__tp{display:flex}
  .ub-hd__in{padding:16px 32px}
  .ub-hd__logo img{height:64px}
  .ub-scrolled .ub-hd__logo img{height:48px}
  .ub-hd__nav.wp-block-navigation{position:static;display:flex;align-items:center}
  .ub-hd__nav .wp-block-navigation__responsive-container-open{display:none}
  .ub-hd__nav .wp-block-navigation__responsive-container:not(.is-menu-open),.ub-hd__nav .wp-block-navigation__responsive-container:not(.is-menu-open) :is(.wp-block-navigation__responsive-close,.wp-block-navigation__responsive-dialog,.wp-block-navigation__responsive-container-content){display:contents}
  .ub-hd__nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__overlay-container{display:none}
  .ub-hd__nav .wp-block-navigation__container{display:flex;align-items:center;gap:24px;margin:0;padding:0;list-style:none}
  .ub-hd__nav .wp-block-navigation__container>.wp-block-navigation-item{position:relative;display:block;margin:0}
  .ub-hd__nav .wp-block-navigation__container>.wp-block-navigation-item>a.wp-block-navigation-item__content{display:flex;align-items:center;gap:4px;padding:0;color:var(--ub-white);font-size:16px;line-height:24px;font-weight:400;text-decoration:none;transition:color .15s}
  .ub-hd__nav .wp-block-navigation__container>.wp-block-navigation-item>a.wp-block-navigation-item__content:hover{color:var(--ub-gold)}
  .ub-hd__nav .wp-block-navigation__container>.has-child>a.wp-block-navigation-item__content::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url('img/ic/chev-down.svg') center/contain no-repeat;mask:url('img/ic/chev-down.svg') center/contain no-repeat;transition:transform .15s}
  .ub-hd__nav .wp-block-navigation__container>.has-child:hover>a.wp-block-navigation-item__content::after{transform:rotate(180deg)}
  .ub-hd__nav .wp-block-navigation-submenu__toggle{display:none}
  .ub-hd__nav .wp-block-navigation__container>.has-child::after{content:"";position:absolute;left:0;right:0;top:100%;height:8px}
  .ub-hd__nav .wp-block-navigation .has-child .wp-block-navigation__submenu-container,.ub-hd__nav.wp-block-navigation .has-child .wp-block-navigation__submenu-container{position:absolute;top:calc(100% + 8px);left:0;z-index:50;display:block;width:auto;height:auto;min-width:180px;margin:0;padding:8px 0;overflow:visible;border:1px solid var(--ub-card-bd);border-radius:0;background:var(--ub-white);color:var(--ub-ink);box-shadow:var(--ub-shadow-lg);list-style:none;opacity:0;visibility:hidden;transform:none;transition:all .2s}
  .ub-hd__nav.wp-block-navigation .has-child:is(:hover,:focus-within)>.wp-block-navigation__submenu-container{opacity:1;visibility:visible}
  /* by keyboard the card opens at once: with the .2s visibility fade its links were still hidden when Tab moved on, so Tab skipped them */
  .ub-hd__nav.wp-block-navigation .has-child:focus-within>.wp-block-navigation__submenu-container{transition:none}
  .ub-hd__nav .wp-block-navigation__container>.has-child>.wp-block-navigation__submenu-container:has(>li:nth-child(6)){display:grid;grid-auto-flow:column;grid-template-rows:repeat(5,auto);grid-auto-columns:minmax(180px,max-content)}
  .ub-hd__nav .wp-block-navigation__submenu-container .wp-block-navigation-item{position:relative;display:block;margin:0}
  .ub-hd__nav .wp-block-navigation__submenu-container a.wp-block-navigation-item__content{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;padding:8px 16px;color:var(--ub-ink);font-size:14px;line-height:20px;font-weight:400;white-space:nowrap;text-decoration:none;transition:color .15s,background-color .15s}
  .ub-hd__nav .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover{background:color-mix(in srgb,var(--ub-teal) 8%,var(--ub-white));color:var(--ub-teal)}
  .ub-hd__nav .wp-block-navigation__submenu-container .has-child>a.wp-block-navigation-item__content::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url('img/ic/arrow.svg') center/contain no-repeat;mask:url('img/ic/arrow.svg') center/contain no-repeat}
  .ub-hd__nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container{top:-8px;left:100%;margin-left:4px;min-width:0;box-shadow:none}
  .ub-hd__nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container::before{content:"";position:absolute;left:-5px;top:0;bottom:0;width:5px}
  .ub-hd__call{gap:8px;margin-right:0;padding:12px 28px;font-size:18px;line-height:28px}
  .ub-hd__call .ub-ic{width:20px;height:20px}
}

/* ═════════ xl (1280) / 2xl (1536) ═════════ */
@media (min-width:1280px){
  .ub-ib__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ub-hbt__grid{gap:64px}
  .ub-ft__cols{gap:80px}
}
@media (min-width:1536px){
  .ub-wrap{padding-inline:48px}
  .ub-hd__toprow{padding-inline:48px}
  .ub-hd__in{padding-inline:48px}
}
.ub-html img.ub-emoji{display:inline;width:1em;height:1em;margin:0 .05em;vertical-align:-.1em}
/* GF basic.css gives phone inputs line-height:2 + min-height:32px through a 6-fold :not() chain, and textarea.medium a
   160px height — matched by specificity here, not !important (the source's inputs are 52px, its textarea rows=4 = 124px) */
.ub-box .gform_wrapper.gravity-theme form.ub-gf.ub-gf--contact input:not([type=radio]):not([type=checkbox]):not([type=submit]){min-height:0;line-height:24px}
.ub-box .gform_wrapper.gravity-theme form.ub-gf.ub-gf--contact .gfield textarea.medium{height:124px}
.ub-box .gform_wrapper.gravity-theme form.ub-gf.ub-gf--survey input:not([type=radio]):not([type=checkbox]):not([type=submit]){min-height:0;line-height:24px}
/* PageTypePage.vue's fallbacks: container mx-auto px-4 py-8 (+ text-center text-gray-500 when there is nothing) */
.ub-fallback{width:100%;margin-inline:auto;padding:32px 16px}
.ub-fallback--empty{text-align:center;color:var(--neutral-semi-light)}
@media (min-width:640px){.ub-fallback{max-width:640px}}
@media (min-width:768px){.ub-fallback{max-width:768px}}
@media (min-width:1024px){.ub-fallback{max-width:1024px}}
@media (min-width:1280px){.ub-fallback{max-width:1280px}}
@media (min-width:1536px){.ub-fallback{max-width:1536px}}
/* SatisfactionSurvey.vue: questions 16px medium with 12px to their choices; the two small labels; 16px controls; textareas rows 4 / 5 */
.ub-box .gform_wrapper form.ub-gf--survey .gfield--type-radio .gfield_label,.ub-box .gform_wrapper form.ub-gf--survey .gfield--type-checkbox .gfield_label{margin-bottom:12px}
.ub-box .gform_wrapper form.ub-gf--survey .gfield:has([data-nb-field="site:begravelse"]) .gfield_label,.ub-box .gform_wrapper form.ub-gf--survey .gfield:has([data-nb-field="site:uddyb"]) .gfield_label{font-size:14px;line-height:20px}
.ub-box .gform_wrapper form.ub-gf--survey :is(input[type=radio],input[type=checkbox]){width:16px;height:16px;margin:0}
.ub-box .gform_wrapper.gravity-theme form.ub-gf--survey textarea[data-nb-field="site:uddyb"]{height:128px}
.ub-box .gform_wrapper.gravity-theme form.ub-gf--survey textarea[data-nb-field="site:q7"]{height:152px}
.ub-box .gform_wrapper form.ub-gf--survey .gchoice:last-child:has([value="Andet"]){grid-column:1/-1}

/* a section style the client picked (styles/sections/, core prints it at zero specificity) beats the band's own colour class */
.wp-block-group.is-style-sektion-hvid{background-color:var(--wp--preset--color--white)}
.wp-block-group.is-style-sektion-lys{background-color:var(--wp--preset--color--base)}
.wp-block-group.is-style-sektion-creme{background-color:var(--wp--preset--color--base-ultra-light)}
