/* =====================================================================
   Bu Event — Redesign overlay: "Forest Green & Ivory"
   (itsadapte.com-inspired). Additive override layer, loaded AFTER
   /css/custom.260326190041.css. Recolors via the theme's hardcoded
   utility classes (which use !important), restyles shared Sitejet
   presets, and adds motion + an injected itsadapte-style nav
   (social icons left / centered logo / "Kontakt oss" CTA right).
   The original "Champagne & Aged Copper" variable NAMES are kept as
   aliases pointing at the new green/ivory values, so every existing
   rule recolors without being rewritten.
   ===================================================================== */

:root {
  /* New palette */
  --bk-ivory: #F7F4EC;
  --bk-ivory-2: #FBF9F3;
  --bk-green: #1F4332;        /* forest-green accent */
  --bk-green-deep: #14271E;   /* dark green surfaces / footer / buttons */
  --bk-green-soft: #3E6B52;   /* hover / lighter green */
  --bk-sage: #E7EBE3;         /* pale green-tinted section band */

  /* Legacy aliases (kept so existing rules recolor automatically) */
  --bk-champagne: var(--bk-ivory);
  --bk-champagne-2: var(--bk-ivory-2);
  --bk-sand: var(--bk-sage);
  --bk-bronze: var(--bk-green-deep);
  --bk-bronze-2: #0F1F17;
  --bk-copper: var(--bk-green);
  --bk-copper-soft: var(--bk-green-soft);
  --bk-text: #1C2B22;
  --bk-text-soft: #46564C;
}

/* ---------- Base ---------- */
body {
  background-color: var(--bk-champagne) !important;
  color: var(--bk-text) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: .005em !important;
}

/* ---------- Color utility remap (overrides hardcoded theme hex) ---------- */
.bg-background { background: var(--bk-champagne) !important; }
.color-background { color: var(--bk-champagne) !important; }
.fill-background { fill: var(--bk-champagne) !important; }
.border-color-background { border-color: var(--bk-champagne) !important; }

.bg-primary { background: var(--bk-copper) !important; }
.color-primary { color: var(--bk-copper) !important; }
.fill-primary { fill: var(--bk-copper) !important; }
.border-color-primary { border-color: var(--bk-copper) !important; }

.bg-secondary { background: var(--bk-sand) !important; }
.color-secondary { color: var(--bk-text-soft) !important; }
.fill-secondary { fill: var(--bk-text-soft) !important; }
.border-color-secondary { border-color: var(--bk-sand) !important; }

.bg-default { background: var(--bk-bronze) !important; }
.color-default { color: var(--bk-text) !important; }
.fill-default { fill: var(--bk-bronze) !important; }
.border-color-default { border-color: var(--bk-bronze) !important; }

/* ---------- Typography ---------- */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-family: 'Cormorant Garamond', 'Playfair Display', serif !important;
  color: var(--bk-bronze) !important;
  font-weight: 600 !important;
  letter-spacing: .015em !important;
  line-height: 1.12 !important;
}
h1, .h1 { font-size: clamp(2.6rem, 5vw, 4.4rem) !important; }
h2, .h2 { font-size: clamp(2rem, 3.6vw, 3.1rem) !important; }
h3, .h3 { font-size: clamp(1.35rem, 2.2vw, 1.9rem) !important; font-weight: 500 !important; }
h4, .h4 { font-weight: 500 !important; }

/* Logo (an <h1>) — sits over the hero, so light/ivory and prominent */
.ed-logo h1, .ed-logo h1 a {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--bk-ivory) !important;
  font-size: clamp(2rem, 2.7vw, 2.9rem) !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}

/* =====================================================================
   Header / navigation — itsadapte-style.
   Transparent bar positioned OVER the hero with light text. It is NOT
   sticky: it scrolls away with the page (like itsadapte). Desktop is a
   centered grid: [social icons] · LOGO · [Kontakt oss] / menu centered
   below. Social icons + CTA are injected by initNav() in /js/redesign.js.
   ===================================================================== */
.menu-wrapper.preset-menu-v2-home-logo-nav-h1-image-text-menu {
  position: absolute !important;
  top: 0; left: 0; right: 0; width: 100% !important;
  z-index: 100 !important;
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
.menu-wrapper > .inner {
  padding: clamp(1.5rem, 2.6vw, 2.4rem) clamp(1.5rem, 4.5vw, 4rem) !important;
}

/* Menu links — always light over the hero image */
.ed-menu .menu-level-0 > li > a {
  color: var(--bk-ivory) !important;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  font-size: .82rem !important;
  position: relative;
  background: transparent !important;
  transition: color .3s ease;
}
/* Kill the theme's active-state box/background; use a simple underline */
.ed-menu .menu-level-0 > li,
.ed-menu .menu-level-0 > li.active,
.ed-menu .menu-level-0 > li > a,
.ed-menu .menu-level-0 > li > a.active,
.ed-menu .menu-level-0 > li.active > a {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.ed-menu .menu-level-0 > li > a::before { display: none !important; }
/* Underline indicator — override the theme's full-size active box::after
   and reshape it into a thin baseline underline (needs !important to win). */
.ed-menu .menu-level-0 > li > a::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important; right: 0 !important; margin: 0 auto !important;
  top: auto !important; bottom: -6px !important;
  width: 0 !important; height: 2px !important;
  background: var(--bk-ivory) !important;
  transition: width .35s ease !important;
}
.ed-menu .menu-level-0 > li > a:hover { color: #C9D6CC !important; }
.ed-menu .menu-level-0 > li > a:hover::after,
.ed-menu .menu-level-0 > li > a.active::after,
.ed-menu .menu-level-0 > li.active > a::after { width: 100% !important; }

/* Injected social-icon cluster (left) */
.bk-social { display: flex; align-items: center; gap: 1.4rem; color: var(--bk-ivory); }
.bk-social a { display: inline-flex; line-height: 0; color: inherit; }
.bk-social svg {
  width: 26px; height: 26px; fill: currentColor;
  transition: fill .3s ease, transform .3s ease, opacity .3s ease;
}
.bk-social a:hover svg { transform: translateY(-2px); opacity: .8; }

/* Injected "Kontakt oss" CTA (right) */
.bk-nav-cta { display: inline-flex; }
.bk-nav-cta .button {
  padding: .85rem 1.9rem !important;
  font-size: .72rem !important;
}

/* ---- Desktop: centered itsadapte grid ---- */
@media (min-width: 976px) {
  .menu-wrapper > .inner {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "social logo cta" "menu menu menu";
    align-items: center;
    column-gap: 1.5rem;
    row-gap: 1.2rem;
    max-width: 1560px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .menu-wrapper > .inner > .ed-logo { grid-area: logo; justify-self: center; align-self: center; margin: 0 !important; }
  .menu-wrapper > .inner > .bk-social { grid-area: social; justify-self: start; align-self: center; }
  .menu-wrapper > .inner > .bk-nav-cta { grid-area: cta; justify-self: end; align-self: center; }
  .menu-wrapper > .inner > nav.ed-menu { grid-area: menu; justify-self: center; width: auto !important; }
  .menu-wrapper > .inner > .mobile-cont { display: none !important; }
  .menu-wrapper .ed-menu .menu-level-0 { justify-content: center !important; gap: 2.6rem; }
}

/* ---- Mobile: keep theme's hamburger; hide injected extras, tint trigger ---- */
@media (max-width: 975px) {
  .menu-wrapper > .inner > .bk-social,
  .menu-wrapper > .inner > .bk-nav-cta { display: none !important; }
  .menu-trigger-inner,
  .menu-trigger-inner::before,
  .menu-trigger-inner::after { background: var(--bk-ivory) !important; }
}

/* ---------- Buttons ---------- */
.button, .ed-button a {
  background: var(--bk-bronze) !important;
  color: var(--bk-champagne) !important;
  border: 1px solid var(--bk-bronze) !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 400 !important;
  font-size: .74rem !important;
  padding: .95rem 2.4rem !important;
  transition: all .35s ease !important;
}
.button:hover, .ed-button a:hover {
  background: var(--bk-copper) !important;
  color: var(--bk-champagne) !important;
  border-color: var(--bk-copper) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(20, 39, 30, .22);
}

/* ---------- Section rhythm + dividers ---------- */
.wv-spacer {
  padding-top: clamp(.6rem, 1.4vw, 1.4rem) !important;
  padding-bottom: clamp(.6rem, 1.4vw, 1.4rem) !important;
}
/* The REAL source of the big gaps: the theme puts ~80px of vertical padding
   inside every section's .inner. Trim it everywhere (footer/CTA override below). */
.wv-spacer > .inner {
  padding-top: clamp(.55rem, 1.3vw, 1.2rem) !important;
  padding-bottom: clamp(.55rem, 1.3vw, 1.2rem) !important;
}
/* The theme sprinkles fixed-height <div class="space"> blocks between elements;
   cap them hard so nothing drifts apart vertically. */
.ed-spacer .space { height: clamp(.35rem, 1vw, .8rem) !important; }
/* Kill the big default margins the theme puts under headlines / text blocks. */
.ed-headline { margin-bottom: 0 !important; }
.ed-headline h1, .ed-headline h2, .ed-headline h3 { margin: 0 !important; }
.ed-text { margin: 0 !important; }
.ed-text p { margin: 0 0 .9rem !important; }
.ed-text p:last-child { margin-bottom: 0 !important; }
/* Clean, mostly-ivory sections (Adapté-style); no heavy tinted bands. */
.preset-text-with-image-v4-about-image-text,
.preset-text-v2-about-text { background: transparent !important; }

/* copper hairline divider under centered section titles */
.ed-headline h2.center { display: block; width: 100%; }
.ed-headline h2.center::after {
  content: ""; display: block; width: 72px; height: 1px;
  margin: 1.1rem auto 0;
  background: linear-gradient(90deg, transparent, var(--bk-copper), transparent);
}

/* ---------- Hero: full-bleed image with the heading OVERLAID (itsadapte-style) ----------
   The photo fills the whole section; the nav + page heading sit ON the image in
   light text, vertically centered. Intro/body copy lives in its own tight band
   BELOW the hero (see .bk-intro-below / .bk-split). Applies to every page's hero. */
.preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text {
  position: relative !important;
  min-height: 78vh !important;          /* hero image height — edit this value */
  display: flex !important;
  align-items: center !important;        /* keeps the heading vertically centered */
  justify-content: center !important;
}
.preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text > .background {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}
.preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text .background-image-holder {
  position: absolute !important; inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
}
/* Use the local front-page photo for the homepage hero (overrides the
   lazyload-set Pexels inline background-image, which has no !important). */
.preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text
  .background-image-holder[data-background*="7710207"] {
  background-image: url("/images/Frontpage.jpg") !important;
}
/* Subpage heroes → local photos (same Pexels-override mechanism).
   IDs: 7648022 = /om-oss, 7648025 = /kontakt, 7648319 = /eventer hero. */
.background-image-holder[data-background*="7648022"] { background-image: url("/images/Crew(1).jpg") !important; }
.background-image-holder[data-background*="7648025"] { background-image: url("/images/Bordekk(1).jpg") !important; }
.background-image-holder[data-background*="7648319"] { background-image: url("/images/Firmafest(1).jpg") !important; }
/* Homepage "Våre verdier og kultur" split image → local team photo
   (the section reused Pexels 7710207; this overrides it within the about preset). */
.preset-text-with-image-v4-about-image-text .background-image-holder {
  background-image: url("/images/Crew(2).jpg") !important;
}

/* ---------- Homepage "Våre Tjenester": image-led cards (built by initServices) ---------- */
.preset-boxes-v3-services2 .boxes-box .boxes-icon { display: none !important; }
.bk-service-img {
  width: 100%;
  aspect-ratio: 4 / 5;
  background-size: cover;
  background-position: center;
  border-radius: 2px;
  margin-bottom: 1.5rem;
  transition: transform .55s ease;
}
.preset-boxes-v3-services2 .boxes-box .inner,
.preset-boxes-v3-services2 .boxes-box-inner .inner { overflow: hidden; }
.preset-boxes-v3-services2 .boxes-box:hover .bk-service-img { transform: scale(1.05); }
/* Reserve space at the top equal to the (absolute) nav, so the vertically
   centered heading never rides up into the menu links. Bottom stays small. */
.preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text.wv-spacer {
  padding-top: clamp(7.5rem, 15vh, 12rem) !important;
  padding-bottom: clamp(1rem, 3vh, 2.5rem) !important;
}
/* Readability scrim over the photo so the overlaid heading stays legible. */
.preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text > .background::after {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to bottom, rgba(20, 39, 30, .50), rgba(20, 39, 30, .30) 45%, rgba(20, 39, 30, .58));
}
/* The content layer sits OVER the image, centered. */
.preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text > .inner {
  position: relative !important; z-index: 2; width: 100%;
  display: flex; align-items: center; justify-content: center;
  background: transparent !important;
}
.text-on-background-content {
  background: transparent !important;
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 64rem !important;
}
.text-on-background-content.wv-spacer {
  padding-top: clamp(1rem, 3vw, 2rem) !important;
  padding-bottom: clamp(1rem, 3vw, 2rem) !important;
}
.text-on-background-content > .inner { background: transparent !important; }
.text-on-background-content h1, .text-on-background-content h2 {
  font-size: clamp(2.4rem, 4.8vw, 4.2rem) !important;
  color: var(--bk-ivory) !important;
  text-shadow: 0 2px 26px rgba(20, 39, 30, .55) !important;
}
.text-on-background-content h2::after,
.text-on-background-content h1::after {
  content: ""; display: block; width: 90px; height: 1px;
  margin: 1.3rem auto 0;
  background: linear-gradient(90deg, transparent, rgba(247, 244, 236, .85), transparent);
}
.text-on-background-content p {
  color: var(--bk-ivory) !important;
  text-shadow: 0 1px 16px rgba(20, 39, 30, .55) !important;
}
/* The heading span uses .color-background (ivory) — perfect over the dark photo. */
.text-on-background-content h1 .color-background,
.text-on-background-content h2 .color-background { color: var(--bk-ivory) !important; }
.text-on-background-content p .color-background { color: var(--bk-ivory) !important; }

/* ---------- Cards (services / values / event categories) ---------- */
.boxes-box {
  transition: transform .45s ease, box-shadow .45s ease, background .45s ease !important;
  border-radius: 2px;
}
.boxes-box:hover {
  transform: translateY(-10px);
  background: rgba(247, 244, 236, .6);
  box-shadow: 0 20px 44px rgba(20, 39, 30, .13);
}
/* elegant circular thin-line icon ring (service-card contexts only) */
.preset-boxes-v3-services2 .boxes-icon,
.preset-boxes-v3-border .boxes-icon,
.preset-boxes-v3-icons-outside .boxes-icon {
  display: flex !important; align-items: center; justify-content: center;
  width: 5rem; height: 5rem; margin: 0 auto;
  border: 1px solid rgba(31, 67, 50, .45); border-radius: 50%;
  transition: transform .45s ease, border-color .45s ease;
}
.boxes-box:hover .boxes-icon { transform: scale(1.07); border-color: var(--bk-copper); }
.boxes-icon svg { fill: var(--bk-copper) !important; }
.preset-boxes-v3-services2 .boxes-icon svg,
.preset-boxes-v3-border .boxes-icon svg,
.preset-boxes-v3-icons-outside .boxes-icon svg {
  width: 2.3rem !important; height: 2.3rem !important;
}

/* image boxes (eventer services grid) */
.image-boxes-box {
  transition: transform .45s ease, box-shadow .45s ease;
  border-radius: 2px; overflow: hidden;
}
.image-boxes-box:hover { transform: translateY(-8px); box-shadow: 0 20px 44px rgba(20, 39, 30, .16); }

/* ---------- CTA / contact band (deep green) ----------
   SAME solid colour as the footer so there is no visible seam where they meet —
   they read as one continuous dark block, with the form sitting close to it. */
.preset-text-v2-cta-1 { background: var(--bk-green-deep) !important; }
.preset-text-v2-cta-1.wv-spacer { padding-bottom: clamp(.5rem, 1.2vw, 1rem) !important; }
/* the theme puts 80px of padding inside the band's inner — trim it so the form
   sits close to the footer (which is the same colour, so they merge cleanly). */
.preset-text-v2-cta-1 > .inner { padding-bottom: clamp(.4rem, 1vw, .9rem) !important; }
.preset-text-v2-cta-1 .button, .preset-text-v2-cta-1 .ed-button a {
  background: var(--bk-bronze) !important; border-color: var(--bk-bronze) !important;
  color: var(--bk-champagne) !important;
}
.preset-text-v2-cta-1 .button:hover, .preset-text-v2-cta-1 .ed-button a:hover {
  background: var(--bk-champagne) !important; color: var(--bk-bronze) !important;
  border-color: var(--bk-champagne) !important;
}

/* Homepage contact form sitting on the green band (itsadapte-style) */
.bk-home-form, .bk-home-form p, .bk-home-form label, .bk-home-form a { color: var(--bk-ivory) !important; }
.bk-home-form a { text-decoration: underline; }
.bk-home-form .ed-form-input,
.bk-home-form .ed-form-email,
.bk-home-form .ed-form-textarea,
.bk-home-form .ed-form-checkbox { margin-bottom: 1rem; }
.bk-home-form input[type="text"],
.bk-home-form input[type="email"],
.bk-home-form textarea {
  width: 100% !important;
  padding: .95rem 1.05rem !important;
}
.bk-home-form .checkbox_list { list-style: none; padding: 0; margin: 0; }
.bk-home-form .ed-form-checkbox p { display: inline; margin: 0; font-size: .9rem; }
.bk-home-form .ed-form-button { text-align: center; margin-top: 1.2rem; }
/* White submit button to stand out on the green band */
.preset-text-v2-cta-1 .bk-home-form .ed-form-button button[type="submit"] {
  background: var(--bk-ivory) !important;
  color: var(--bk-green-deep) !important;
  border-color: var(--bk-ivory) !important;
}
.preset-text-v2-cta-1 .bk-home-form .ed-form-button button[type="submit"]:hover {
  background: transparent !important;
  color: var(--bk-ivory) !important;
  border-color: var(--bk-ivory) !important;
}

/* ---------- Footer (deep bronze) ---------- */
.preset-footer-saga-v3-default { background: var(--bk-bronze) !important; }
.preset-footer-saga-v3-default,
.preset-footer-saga-v3-default p,
.preset-footer-saga-v3-default span,
.preset-footer-saga-v3-default li,
.preset-footer-saga-v3-default a { color: #E9ECE4 !important; }
.preset-footer-saga-v3-default h1,
.preset-footer-saga-v3-default h2,
.preset-footer-saga-v3-default h3,
.preset-footer-saga-v3-default h4 { color: var(--bk-copper-soft) !important; }
.preset-footer-saga-v3-default a { transition: color .3s ease; }
.preset-footer-saga-v3-default a:hover { color: var(--bk-copper) !important; }
.preset-footer-saga-v3-default .ed-icon svg { fill: #E9ECE4 !important; transition: fill .3s ease; }
.preset-footer-saga-v3-default .ed-icon a:hover svg { fill: var(--bk-copper) !important; }

/* Center the remaining footer columns (Bu Event / Kontakt / Navigasjon)
   after the "Sosiale Medier" column is removed by initFooter(). */
.preset-footer-saga-v3-default > .inner {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  align-items: flex-start;
  text-align: center;
  gap: clamp(2rem, 6vw, 6rem);
  padding-top: clamp(.9rem, 1.8vw, 1.5rem) !important;
  padding-bottom: clamp(.9rem, 1.8vw, 1.5rem) !important;
}
.preset-footer-saga-v3-default .footer-saga-box { text-align: center !important; }
.preset-footer-saga-v3-default .footer-saga-box > .inner { align-items: center !important; }
/* Navigasjon: BOTH the menu links (Home/Om Oss/Eventer) and the Legal Notice /
   Privacy Policy text list must render IDENTICALLY — same font, size, weight,
   spacing — and sit evenly spaced as a single column. */
.preset-footer-saga-v3-default .ed-menu .menu-level-0,
.preset-footer-saga-v3-default .ed-text ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: .7rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.preset-footer-saga-v3-default .ed-text ul { margin-top: .7rem !important; }
.preset-footer-saga-v3-default .ed-menu .menu-level-0 > li,
.preset-footer-saga-v3-default .ed-text ul li { margin: 0 !important; }
.preset-footer-saga-v3-default .ed-menu .menu-level-0 > li > a,
.preset-footer-saga-v3-default .ed-text ul li a {
  font-family: 'Open Sans', sans-serif !important;
  font-size: .78rem !important;
  font-weight: 400 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
/* Trim the footer's tall padding so it sits right under the form / contact band. */
.preset-footer-saga-v3-default {
  padding-top: clamp(1.3rem, 2.4vw, 2rem) !important;
  padding-bottom: clamp(1.4rem, 2.6vw, 2.2rem) !important;
}

/* ---------- Contact info icons: recolor only (keep left-aligned layout) ---------- */
.preset-boxes-v3-contact-5 .boxes-icon svg { fill: var(--bk-copper) !important; }

/* ---------- Contact form fields ---------- */
.ed-form-container input[type="text"],
.ed-form-container input[type="email"],
.ed-form-container textarea,
.ed-form-input input, .ed-form-email input, .ed-form-textarea textarea {
  background: #FBF9F3 !important;
  border: 1px solid rgba(31, 67, 50, .30) !important;
  border-radius: 0 !important;
  color: var(--bk-text) !important;
  transition: border-color .3s ease, box-shadow .3s ease;
}
.ed-form-container input:focus, .ed-form-container textarea:focus,
.ed-form-input input:focus, .ed-form-email input:focus, .ed-form-textarea textarea:focus {
  border-color: var(--bk-copper) !important;
  box-shadow: 0 0 0 3px rgba(31, 67, 50, .12) !important;
  outline: none !important;
}

/* ---------- Pricing table ---------- */
.pricing-table-box table { width: 100%; border-collapse: collapse; }
.pricing-table-box td, .pricing-table-box th {
  padding: 1.05rem .6rem !important;
  border-bottom: 1px solid rgba(31, 67, 50, .18) !important;
}
.pricing-table-box tr { transition: background .3s ease; }
.pricing-table-box tbody tr:hover { background: var(--bk-sand); }

/* ---------- Gallery (eventer) ---------- */
.preset-gallery-v3-default figure { overflow: hidden; }
.preset-gallery-v3-default figure img,
.preset-gallery-v3-default img { transition: transform .55s ease; }
.preset-gallery-v3-default figure:hover img { transform: scale(1.06); }

/* ---------- Split section: clean image one side / text the other (Adapté) ---------- */
@media (min-width: 769px) {
  .preset-text-with-image-v4-about-image-text > .inner {
    display: flex !important;
    align-items: stretch !important;
    gap: clamp(2rem, 4vw, 4.5rem) !important;
  }
  .preset-text-with-image-v4-about-image-text .text-with-image-image {
    flex: 1 1 50% !important; width: auto !important;
  }
  .preset-text-with-image-v4-about-image-text .text-with-image-box {
    flex: 1 1 50% !important;
    display: flex; flex-direction: column; justify-content: center;
    margin: 0 !important; background: transparent !important;
    box-shadow: none !important; padding: 0 !important;
  }
}
.preset-text-with-image-v4-about-image-text .text-with-image-image {
  position: relative;
  min-height: clamp(300px, 38vw, 480px);
}
.preset-text-with-image-v4-about-image-text .text-with-image-image .background { position: absolute; inset: 0; }
.preset-text-with-image-v4-about-image-text .text-with-image-image .background-image-holder {
  background-size: cover !important; background-position: center !important;
}

/* ---------- Hover life: gallery/about image zoom ---------- */
.text-with-image-image .background-image-holder { transition: transform .6s ease; }

/* ---------- Reveal on scroll (paired with /js/redesign.js) ---------- */
html.reveal-ready .ed-headline,
html.reveal-ready .ed-text,
html.reveal-ready .ed-button,
html.reveal-ready .boxes-box,
html.reveal-ready .image-boxes-box,
html.reveal-ready .text-with-image-box,
html.reveal-ready .text-with-image-image,
html.reveal-ready .pricing-table-box,
html.reveal-ready .columns-box,
html.reveal-ready .preset-gallery-v3-default figure {
  opacity: 0; transform: translateY(26px);
  transition: opacity .9s ease, transform .9s ease;
  will-change: opacity, transform;
}
html.reveal-ready .in-view { opacity: 1 !important; transform: none !important; }

/* ---------- Mobile ---------- */
@media (max-width: 975px) {
  .preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text { min-height: 78vh !important; }
  .preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text.wv-spacer { padding-top: clamp(5rem, 12vh, 7rem) !important; }
  .text-on-background-content h1, .text-on-background-content h2 { font-size: clamp(2.2rem, 8vw, 3.2rem) !important; }
}
@media (max-width: 575px) {
  .preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text { min-height: 78vh !important; }
  .preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text.wv-spacer { padding-top: clamp(4.5rem, 11vh, 6rem) !important; }
  .button, .ed-button a { padding: .85rem 1.8rem !important; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html.reveal-ready .ed-headline,
  html.reveal-ready .ed-text,
  html.reveal-ready .ed-button,
  html.reveal-ready .boxes-box,
  html.reveal-ready .image-boxes-box,
  html.reveal-ready .text-with-image-box,
  html.reveal-ready .text-with-image-image,
  html.reveal-ready .pricing-table-box,
  html.reveal-ready .columns-box,
  html.reveal-ready .preset-gallery-v3-default figure {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
  .preset-fullscreen-text-on-background-v2-home-logo-nav-h1-image-text .background-image-holder { transform: none !important; }
  .button:hover, .ed-button a:hover, .boxes-box:hover { transform: none !important; }
}

/* =====================================================================
   Polish pass 1
   ===================================================================== */

/* Form submit is a raw <button> (not .button) — match the button styling */
.ed-form-button button,
.ed-form-container button,
.ed-form-container button[type="submit"] {
  background: var(--bk-bronze) !important;
  color: var(--bk-champagne) !important;
  border: 1px solid var(--bk-bronze) !important;
  border-radius: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 400 !important;
  font-size: .74rem !important;
  padding: .95rem 2.4rem !important;
  transition: all .35s ease !important;
  cursor: pointer;
}
.ed-form-button button:hover,
.ed-form-container button:hover {
  background: var(--bk-copper) !important;
  color: var(--bk-champagne) !important;
  border-color: var(--bk-copper) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(20, 39, 30, .22);
}

/* Warm the service / value / category card panels (kill the cool default tint) */
.preset-boxes-v3-services2 .boxes-box,
.preset-boxes-v3-border .boxes-box,
.preset-boxes-v3-icons-outside .boxes-box {
  background: rgba(247, 244, 236, .6) !important;
  border: 1px solid rgba(31, 67, 50, .12);
}
.preset-boxes-v3-services2 .boxes-box .inner,
.preset-boxes-v3-services2 .boxes-box-inner,
.preset-boxes-v3-border .boxes-box .inner,
.preset-boxes-v3-border .boxes-box-inner,
.preset-boxes-v3-icons-outside .boxes-box .inner,
.preset-boxes-v3-icons-outside .boxes-box-inner { background: transparent !important; }
.preset-boxes-v3-services2 .boxes-box:hover,
.preset-boxes-v3-border .boxes-box:hover,
.preset-boxes-v3-icons-outside .boxes-box:hover {
  background: #FBF9F3 !important;
  border-color: rgba(31, 67, 50, .30);
}

/* Testimonials: warm sand band, elegant italic quote */
.preset-slider-content-v3-wide-dots { background: var(--bk-sand) !important; }
.preset-slider-content-v3-wide-dots .ed-slider-item,
.preset-slider-content-v3-wide-dots .ed-slider-item .inner { background: transparent !important; }
.preset-slider-content-v3-wide-dots .ed-text p {
  font-family: 'Cormorant Garamond', 'Playfair Display', serif !important;
  font-style: italic;
  font-size: clamp(1.2rem, 2vw, 1.6rem) !important;
  color: var(--bk-text) !important;
  line-height: 1.5;
}

@media (prefers-reduced-motion: reduce) {
  .ed-form-button button:hover { transform: none !important; }
}

/* =====================================================================
   Section reveal — scroll-triggered fade-up for every top-level page
   section (paired with initSectionReveal in /js/redesign.js).
   Stagger delay is applied inline by the JS so sections cascade.
   ===================================================================== */
html.reveal-ready .bk-section {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity .9s ease, transform .9s ease;
  will-change: opacity, transform;
}
html.reveal-ready .bk-section.bk-section-in {
  opacity: 1 !important;
  transform: none !important;
}
/* The contact/CTA band and the footer are the same dark colour and meet directly.
   Don't let them scroll-reveal as separate blocks (the two same-colour segments
   fading in one after the other looked odd) — keep them always visible so the
   dark bottom reads as one continuous area. */
html.reveal-ready .preset-text-v2-cta-1.bk-section,
html.reveal-ready .preset-footer-saga-v3-default.bk-section {
  opacity: 1 !important;
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html.reveal-ready .bk-section {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =====================================================================
   Animated hero (ported from shadcn "animated-hero" → static stack).
   Rotating-word headline, pill badge, dual CTA. Sits on the existing
   fullscreen background-image hero (dark overlay), so text is light.
   Rotation timing/behavior is preserved in /js/redesign.js.
   ===================================================================== */
.bk-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(.7rem, 1.5vw, 1.1rem);
  text-align: center;
}

/* Title: static line + rotating-word line */
.bk-hero-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .05em;
  margin: 0 !important;
  line-height: 1.04 !important;
}
.text-on-background-content .bk-hero-title::after { content: none !important; }
.bk-hero-static {
  color: var(--bk-ivory) !important;
  text-shadow: 0 2px 26px rgba(20, 39, 30, .55) !important;
}

.bk-hero-rotator {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  text-align: center;
  line-height: 1.04;          /* match the static lines so the rhythm is even */
  padding-bottom: .3em;       /* descender room (the "g") added BELOW, not as top leading */
}
.bk-word {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  font-weight: 700 !important;
  color: #A9CDB4 !important;
  text-shadow: 0 2px 26px rgba(20, 39, 30, .55) !important;
  opacity: 0;
  transform: translateY(150%);
  transition: transform .55s cubic-bezier(.16, 1, .3, 1), opacity .55s ease;
  will-change: transform, opacity;
}
.bk-word.is-active { opacity: 1; transform: translateY(0); }
.bk-word.is-prev   { opacity: 0; transform: translateY(-150%); }
.bk-word.is-next   { opacity: 0; transform: translateY(150%); }

/* Subtext */
.bk-hero-sub {
  color: var(--bk-text) !important;
  max-width: 46rem;
  margin: 0 auto !important;
  font-size: clamp(1rem, 1.4vw, 1.15rem) !important;
}

/* CTA row */
.bk-hero-cta {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  justify-content: center;
  margin-top: .35rem;
}
.bk-hero-cta .button:not(.bk-btn-ghost) {
  background: var(--bk-copper) !important;
  border-color: var(--bk-copper) !important;
  color: var(--bk-champagne) !important;
}
.bk-hero-cta .button:not(.bk-btn-ghost):hover {
  background: var(--bk-copper-soft) !important;
  border-color: var(--bk-copper-soft) !important;
  color: var(--bk-bronze) !important;
}
.bk-hero-cta .bk-btn-ghost {
  background: transparent !important;
  color: var(--bk-green-deep) !important;
  border-color: var(--bk-green) !important;
}
.bk-hero-cta .bk-btn-ghost:hover {
  background: var(--bk-green-deep) !important;
  color: var(--bk-ivory) !important;
  border-color: var(--bk-green-deep) !important;
}

/* Reduced motion: word is frozen by JS (no rotation); kill slide transition */
@media (prefers-reduced-motion: reduce) {
  .bk-word { transition: none !important; }
}

/* =====================================================================
   Round 4 — new layout pieces
   ===================================================================== */

/* ---------- Homepage intro "split" (image one side, heading + text + CTA other) ----------
   "Bu Event som din eventplanlegger" — mirrors Adapté's intro/achievement
   segment. Alternates image side with the verdier split that follows it. */
.bk-split .bk-split-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(2rem, 4vw, 4.5rem);
}
.bk-split-text { display: flex; flex-direction: column; justify-content: center; }
.bk-split-text h2 { margin: 0 0 1rem !important; }
.bk-split-text p {
  margin: 0 0 1.8rem !important;
  color: var(--bk-text);
  max-width: 36rem;
  font-size: clamp(1rem, 1.3vw, 1.15rem);
}
/* push the CTA row down a little so the buttons aren't crowding the text
   (edit margin-top here / the paragraph's margin-bottom above) */
.bk-split-cta { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; }
.bk-split-cta .bk-btn-ghost {
  background: transparent !important;
  color: var(--bk-green-deep) !important;
  border-color: var(--bk-green) !important;
}
.bk-split-cta .bk-btn-ghost:hover {
  background: var(--bk-green-deep) !important;
  color: var(--bk-ivory) !important;
  border-color: var(--bk-green-deep) !important;
}
.bk-split-media {
  align-self: stretch;
  min-height: clamp(300px, 38vw, 480px);
  background-size: cover; background-position: center;
  border-radius: 2px;
}
.bk-split-img-right .bk-split-text { order: 1; }
.bk-split-img-right .bk-split-media { order: 2; }
.bk-split-img-left .bk-split-text { order: 2; }
.bk-split-img-left .bk-split-media { order: 1; }
@media (max-width: 768px) {
  .bk-split .bk-split-inner { grid-template-columns: 1fr; }
  .bk-split-media { min-height: 240px; order: -1 !important; margin-bottom: 1.3rem; }
}

/* ---------- Subpage intro band BELOW the hero (wide column, thin row — Adapté) ---------- */
.bk-intro-below { text-align: center; }
.bk-intro-below > .inner { max-width: 1180px; margin: 0 auto; }
.bk-intro-below .bk-intro-text { max-width: 60rem; margin-left: auto !important; margin-right: auto !important; }
.bk-intro-below .ed-text p {
  color: var(--bk-text) !important;
  font-size: clamp(1.05rem, 1.45vw, 1.3rem) !important;
  line-height: 1.7;
  margin: 0 auto !important;
}

/* ---------- Image row (fills out the Om Oss page) ---------- */
.bk-img-row > .inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: start;
  gap: clamp(.8rem, 1.6vw, 1.4rem);
  max-width: 1180px; margin: 0 auto;
}
/* show the FULL image (no crop) — natural aspect ratio, height grows to fit */
.bk-img-row .bk-img { border-radius: 2px; overflow: hidden; }
.bk-img-row .bk-img img {
  width: 100%; height: auto; display: block;
  transition: transform .55s ease;
}
.bk-img-row .bk-img:hover img { transform: scale(1.04); }
@media (max-width: 768px) { .bk-img-row > .inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .bk-img-row > .inner { grid-template-columns: 1fr; } }

/* Om Oss: keep the three images at the same visible height, with the two
   right-hand images cropped in opposite directions to match the left one. */
body.page-27847986 .bk-img-row .bk-img {
  height: clamp(240px, 28vw, 340px);
}
body.page-27847986 .bk-img-row .bk-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
body.page-27847986 .bk-img-row .bk-img:nth-child(2) img {
  object-position: center top;
}
body.page-27847986 .bk-img-row .bk-img:nth-child(3) img {
  object-position: center bottom;
}

/* ---------- Legal Notice & Privacy: simple, centered column, on-brand ----------
   (body.page-27847820 = legal-notice, body.page-27847826 = privacy) */
/* back-button band: blend into the ivory page (no tan), centered */
.preset-back-button-v2-default { background: transparent !important; }
.preset-back-button-v2-default .inner,
.preset-back-button-v2-default .ed-button { text-align: center !important; }
.preset-back-button-v2-default .button {
  background: transparent !important;
  color: var(--bk-green) !important;
  border-color: var(--bk-green) !important;
}
.preset-back-button-v2-default .button:hover {
  background: var(--bk-green-deep) !important;
  color: var(--bk-ivory) !important;
  border-color: var(--bk-green-deep) !important;
}
/* centered narrow column; headings centered, body left-aligned for readability */
body.page-27847820 .ed-headline,
body.page-27847820 .ed-text,
body.page-27847826 .ed-privacy {
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-27847820 .ed-headline h2,
body.page-27847826 .ed-privacy h2 { text-align: center !important; }
body.page-27847820 .ed-headline h2::after,
body.page-27847826 .ed-privacy h2::after {
  content: ""; display: block; width: 72px; height: 1px;
  margin: 1.1rem auto 1.6rem;
  background: linear-gradient(90deg, transparent, var(--bk-copper), transparent);
}
body.page-27847820 .ed-text,
body.page-27847826 .ed-privacy { text-align: left; }
body.page-27847820 .ed-text h3,
body.page-27847826 .ed-privacy h3 { margin-top: 1.9rem !important; }
body.page-27847820 .ed-text ul,
body.page-27847826 .ed-privacy ul { padding-left: 1.2rem; }
body.page-27847820 .ed-text ul li,
body.page-27847826 .ed-privacy ul li { margin: .25rem 0; }

/* ---------- Subpages (Om Oss / Eventer / Kontakt): center the content ----------
   (om-oss = 27847986, eventer = 27847989, kontakt = 27847995) */
body.page-27847986 .ed-headline h1, body.page-27847986 .ed-headline h2, body.page-27847986 .ed-headline h3,
body.page-27847989 .ed-headline h1, body.page-27847989 .ed-headline h2, body.page-27847989 .ed-headline h3,
body.page-27847995 .ed-headline h1, body.page-27847995 .ed-headline h2, body.page-27847995 .ed-headline h3 {
  text-align: center !important;
}
body.page-27847986 .ed-text, body.page-27847986 .ed-text p,
body.page-27847989 .ed-text, body.page-27847989 .ed-text p,
body.page-27847995 .ed-text, body.page-27847995 .ed-text p {
  text-align: center !important;
}
/* center the contact-info rows on the Kontakt page too */
body.page-27847995 .preset-boxes-v3-contact-5 .boxes-box,
body.page-27847995 .preset-boxes-v3-contact-5 .boxes-box .inner,
body.page-27847995 .preset-columns-two-v2-contact-5 .columns-box,
body.page-27847995 .preset-columns-two-v2-contact-5 .columns-box .inner { text-align: center !important; }
body.page-27847995 .preset-boxes-v3-contact-5 .boxes-icon { margin-left: auto !important; margin-right: auto !important; }
/* intro band under the hero — force centered regardless of theme defaults */
.bk-intro-below, .bk-intro-below .inner,
.bk-intro-below .ed-text, .bk-intro-below .ed-text p { text-align: center !important; }

/* =====================================================================
   Round 5 — Om Oss page refinements
   ===================================================================== */

/* Intro eyebrow heading above the centered intro paragraph (Adapté-style) */
.bk-intro-below .bk-intro-heading { margin-bottom: clamp(.9rem, 1.8vw, 1.5rem) !important; }
.bk-intro-below .bk-intro-heading h2 { margin: 0 !important; }
/* The theme makes .bk-intro-below > .inner a flex row, which left-weights the
   text block. Force block flow so heading + paragraph + icons stack centered. */
.bk-intro-below > .inner { display: block !important; }

/* Intro social icons — filled circles, centered (matches Adapté) */
.bk-intro-social {
  display: flex; justify-content: center; align-items: center;
  gap: .9rem; margin-top: clamp(1.4rem, 2.6vw, 2.2rem);
  flex-basis: 100%; width: 100%;   /* own full-width row so the icons center (theme .inner is a flex row) */
}
.bk-intro-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 50%;
  background: var(--bk-green-deep); color: var(--bk-ivory);
  transition: transform .3s ease, background .3s ease;
}
.bk-intro-social a:hover { background: var(--bk-green); transform: translateY(-3px); }
.bk-intro-social svg { width: 20px; height: 20px; fill: currentColor; }

/* "Vår Historie" split: keep heading + text LEFT-aligned (override the
   om-oss page-level center rule) so it mirrors the homepage split. */
body.page-27847986 .bk-split-text .ed-headline h2,
body.page-27847986 .bk-split-text .ed-text,
body.page-27847986 .bk-split-text .ed-text p { text-align: left !important; }
/* "Vår Historie" split: bigger body text + top-aligned, so the copy fills more
   of the Vibecke image height and the title sits a little higher. */
body.page-27847986 .bk-split-inner { align-items: start; }
body.page-27847986 .bk-split-text { justify-content: flex-start; }
body.page-27847986 .bk-split-text .ed-text p { font-size: clamp(1.1rem, 1.5vw, 1.35rem) !important; line-height: 1.72; }

/* "Våre Verdier": circular thin-line ring (the theme resets it) + richer hover.
   No continuous float — just the ring fill + slight scale on hover. */
.values-3boxes .boxes-icon { border: 1px solid rgba(31, 67, 50, .4) !important; border-radius: 50% !important; }
.values-3boxes .boxes-box:hover .boxes-icon { background: var(--bk-green-deep); border-color: var(--bk-green-deep) !important; }
.values-3boxes .boxes-box:hover .boxes-icon svg { fill: var(--bk-ivory) !important; }
