/*
Theme Name: Delikate Buffet
Theme URI: https://delikate.dk
Author: Delikate
Description: Minimalistisk, brugerdefineret WordPress-tema bygget specifikt til en buffet-bestillingsside. Forsiden viser buffetpakkerne, og bestillingssiden bruger shortcode'en [delikate_buffet] fra "Delikate Buffet Builder"-pluginet til at integrere med WooCommerce.
Version: 1.2.0
Requires at least: 5.9
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietary
Text Domain: delikate-theme
*/

/* ════════════════════════════════════════════════════════════════
   GLOBAL / RESET
   ════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }
#pakker, #menu { scroll-margin-top: 80px; } /* sticky header offset */

body {
  background: var(--cream);
  color: #2e2e2e;
  font-family: 'Open Sans', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
img { max-width: 100%; display: block; }

:root {
  --green:       #7cb144;
  --green-dark:  #587034;
  --green-light: #ebf3e3;
  --text:        #2e2e2e;
  --text-mid:    #666;
  --text-light:  #999;
  --border:      #e0e0e0;
  --bg:          #ffffff;
  --bg-soft:     #f7f7f7;
  --cream:       #faf6ed;   /* warm base, replaces stark white */
  --cream-deep:  #f3ecdd;   /* deeper warm tone for alt sections */
  --gold:        #c8963e;
  --radius-sm:   4px;
  --radius-md:   8px;
  --ease:        cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* ── SUBTLE SCROLL-REVEAL (progressive enhancement, JS toggles .is-visible) ── */
.reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s var(--ease), transform 0.6s var(--ease);
}
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* ════════════════════════════════════════════════════════════════
   SITE HEADER
   ════════════════════════════════════════════════════════════════ */
.site-header {
  background: rgba(250,246,237,0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  z-index: 100;
}
.site-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.site-branding {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--text);
}
.site-branding img { max-height: 48px; width: auto; }
.site-title {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text);
  text-decoration: none;
}
.site-nav ul {
  list-style: none;
  display: flex;
  gap: 28px;
  align-items: center;
}
.site-nav a {
  position: relative;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-mid);
  text-decoration: none;
  transition: color 0.2s;
}
.site-nav a:not(.nav-cta)::after {
  content: '';
  position: absolute;
  left: 0; bottom: -4px;
  width: 100%; height: 2px;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s var(--ease);
}
.site-nav a:not(.nav-cta):hover::after { transform: scaleX(1); }
.site-nav a:hover { color: var(--green); }
.site-nav .nav-cta {
  background: var(--green);
  color: #fff !important;
  padding: 9px 20px;
  border-radius: var(--radius-sm);
  transition: background 0.2s, transform 0.2s var(--ease);
}
.site-nav .nav-cta:hover { background: var(--green-dark); color: #fff !important; transform: translateY(-1px); }

.menu-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: var(--text);
}

@media (max-width: 820px) {
  .site-nav { display: none; }
  .menu-toggle { display: block; }
  /* Åben mobilmenu: panel under headeren */
  .site-nav.open {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(250,246,237,0.98);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--border);
    padding: 20px 24px 24px;
    box-shadow: 0 12px 24px rgba(46,46,46,0.08);
  }
  .site-nav.open ul {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .site-nav.open .nav-cta { align-self: stretch; text-align: center; }
}

/* ── TOM KURV (mad-tema) ── */
.wp-block-woocommerce-cart.db-is-empty > *:not(.db-empty-cart) { display: none !important; }
.db-empty-cart { text-align: center; padding: 48px 20px 72px; }
.db-empty-cart-icon {
  font-size: 72px;
  line-height: 1;
  margin-bottom: 20px;
  animation: db-bob 2.8s ease-in-out infinite;
}
@keyframes db-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.db-empty-cart h2 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px, 4vw, 30px);
  color: var(--text);
  margin-bottom: 10px;
}
.db-empty-cart p {
  font-size: 15px;
  font-weight: 300;
  color: var(--text-mid);
  max-width: 420px;
  margin: 0 auto 28px;
}

/* ════════════════════════════════════════════════════════════════
   SITE FOOTER
   ════════════════════════════════════════════════════════════════ */
.site-footer {
  background: var(--green-dark);
  color: rgba(255,255,255,0.9);
  padding: 56px 24px 28px;
}
.site-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 32px;
}
.footer-col h3 {
  font-family: 'Playfair Display', serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 14px;
}
.footer-col p, .footer-col a {
  font-size: 13px;
  font-weight: 300;
  color: rgba(255,255,255,0.75);
  line-height: 1.8;
  text-decoration: none;
}
.footer-col a:hover { color: #fff; }
.footer-bottom {
  max-width: 1200px;
  margin: 40px auto 0;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.15);
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  text-align: center;
}

/* ════════════════════════════════════════════════════════════════
   GENERIC PAGE (page.php / index.php wrapper — bruges også til
   WooCommerce-sider som Kurv, Kasse og Min Konto)
   ════════════════════════════════════════════════════════════════ */
.generic-page {
  max-width: 1080px;
  margin: 0 auto;
  padding: 56px 24px 80px;
}
.generic-page h1.page-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--green);
  display: inline-block;
}

/* ── HERO WITH IMAGE ── */
    .fp-page-hero {
      position: relative;
      min-height: 500px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      overflow: hidden;
      background: var(--green-dark);
    }
    .fp-hero-img {
      position: absolute;
      inset: 0;
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center 40%;
      opacity: 0.55;
      animation: fp-hero-breathe 24s ease-in-out infinite alternate;
    }
    @keyframes fp-hero-breathe {
      from { transform: scale(1); }
      to   { transform: scale(1.06); }
    }
    @media (prefers-reduced-motion: reduce) {
      .fp-hero-img { animation: none; }
    }
    .fp-hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, rgba(30,45,30,0.35) 0%, rgba(30,45,30,0.6) 100%);
    }
    .fp-hero-content {
      position: relative;
      z-index: 2;
      padding: 80px 40px;
      max-width: 700px;
    }
    .fp-hero-eyebrow {
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.75);
      margin-bottom: 16px;
    }
    .fp-hero-content h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(38px, 6vw, 68px);
      font-weight: 700;
      color: #fff;
      line-height: 1.1;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      margin-bottom: 18px;
    }
    .fp-hero-content p {
      font-size: 16px;
      font-weight: 300;
      color: rgba(255,255,255,0.85);
      line-height: 1.8;
      margin-bottom: 32px;
    }
    .fp-hero-btn {
      display: inline-block;
      background: var(--green);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      padding: 14px 32px;
      border-radius: var(--radius-sm);
      text-decoration: none;
      transition: background 0.2s, transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
    }
    .fp-hero-btn:hover {
      background: var(--green-dark);
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(0,0,0,0.18);
    }

    /* ── USP STRIP ── */
    .fp-usp-strip {
      background: var(--green);
      color: var(--text);
    }
    .fp-usp-strip-inner {
      max-width: 1080px;
      margin: 0 auto;
      padding: 28px 40px;
      display: flex;
      justify-content: center;
      gap: 48px;
      flex-wrap: wrap;
    }
    .fp-usp-item {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.04em;
      color: rgba(46,46,46,0.85);
    }
    .fp-usp-item-icon {
      font-size: 20px;
      flex-shrink: 0;
      display: inline-block;
      transition: transform 0.25s var(--ease);
    }
    .fp-usp-item:hover .fp-usp-item-icon { transform: scale(1.15) rotate(-4deg); }

    /* ── FOOD-BAGGRUND BAG PAKKERNE ──
       📸 UDSKIFT: Diskret madbillede set ovenfra (bord/dug med råvarer).
       Overlay holder det næsten hvidt, så kortene stadig er i fokus. */
    .fp-pakker-bg {
      background:
        linear-gradient(rgba(250,246,237,0.93), rgba(250,246,237,0.88)),
        url('https://images.unsplash.com/photo-1506354666786-959d6d497f1a?auto=format&fit=crop&w=1920&q=60')
        center / cover no-repeat;
    }
    @media (min-width: 901px) {
      .fp-pakker-bg { background-attachment: fixed, fixed; } /* let parallax-følelse */
    }

    /* ── SECTION HELPERS ── */
    .fp-section {
      max-width: 1080px;
      margin: 0 auto;
      padding: 72px 40px;
    }
    .fp-section-alt {
  background-color: var(--cream-deep);
  background-image: radial-gradient(rgba(124,177,68,0.14) 1px, transparent 1px);
  background-size: 22px 22px;
}

    .fp-section-eyebrow {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--green);
      margin-bottom: 10px;
    }
    .fp-section-heading {
      font-family: 'Playfair Display', serif;
      font-size: clamp(22px, 3.5vw, 34px);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--text);
      margin-bottom: 32px;
      position: relative;
      padding-bottom: 18px;
    }
    .fp-section-heading::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0;
      width: 44px; height: 3px;
      border-radius: 2px;
      background: linear-gradient(90deg, var(--green), var(--green-dark));
      transform-origin: left;
      transform: scaleX(0);
      transition: transform 0.6s var(--ease);
    }
    .fp-section-heading.is-visible::after,
    .reveal.is-visible .fp-section-heading::after { transform: scaleX(1); }
    .fp-section-heading.center { text-align: center; }
    .fp-section-heading.center::after {
      left: 50%;
      transform-origin: center;
      transform: translateX(-50%) scaleX(0);
    }
    .fp-section-heading.center.is-visible::after,
    .reveal.is-visible .fp-section-heading.center::after { transform: translateX(-50%) scaleX(1); }

    .fp-intro-text {
      font-size: 15px;
      font-weight: 300;
      color: var(--text-mid);
      line-height: 1.9;
      max-width: 680px;
    }
    .fp-intro-text.center { margin: 0 auto; text-align: center; }

    /* ── PRICING CARDS WITH IMAGES ── */
    .fp-pricing-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
      gap: 24px;
      margin-top: 48px;
    }
    .fp-pricing-card {
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      overflow: hidden;
      display: flex;
      flex-direction: column;
      transition: box-shadow 0.3s var(--ease), border-color 0.3s var(--ease), transform 0.3s var(--ease);
      background: var(--bg);
    }
    .fp-pricing-card:hover {
      box-shadow: 0 14px 34px rgba(0,0,0,0.1);
      border-color: var(--green);
      transform: translateY(-5px);
    }
    .fp-pricing-card.fp-featured { border-color: var(--green); }

    .fp-card-img-wrap {
      position: relative;
      height: 190px;
      overflow: hidden;
      background: var(--green-light);
    }
    .fp-card-img-wrap img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center;
      transition: transform 0.4s ease;
      display: block;
    }
    .fp-pricing-card:hover .fp-card-img-wrap img { transform: scale(1.04); }

    .fp-featured-tag {
      position: absolute;
      top: 12px; right: 12px;
      background: var(--green);
      color: #fff;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 4px 10px;
      border-radius: 20px;
    }

    .fp-card-body {
      padding: 28px 24px 24px;
      display: flex;
      flex-direction: column;
      flex: 1;
    }
    .fp-card-eyebrow {
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--green);
      margin-bottom: 6px;
    }
    .fp-card-title {
      font-family: 'Playfair Display', serif;
      font-size: 20px;
      font-weight: 700;
      color: var(--text);
      margin-bottom: 14px;
    }
    .fp-card-price {
      font-family: 'Playfair Display', serif;
      font-size: 40px;
      font-weight: 700;
      color: var(--green-dark);
      line-height: 1;
      margin-bottom: 2px;
    }
    .fp-card-price-unit {
      font-size: 11px;
      font-weight: 400;
      color: var(--text-light);
      letter-spacing: 0.06em;
      text-transform: uppercase;
      margin-bottom: 18px;
    }
    .fp-card-price-custom {
      font-family: 'Playfair Display', serif;
      font-size: 18px;
      font-style: italic;
      color: var(--green-dark);
      margin-bottom: 18px;
    }
    .fp-card-divider { height: 1px; background: var(--border); margin-bottom: 16px; }

    .fp-card-includes {
      list-style: none;
      margin-bottom: 24px;
      flex: 1;
    }
    .fp-card-includes li {
      font-size: 13px;
      color: var(--text-mid);
      padding: 5px 0;
      border-bottom: 1px solid rgba(0,0,0,0.04);
      display: flex;
      align-items: center;
      gap: 9px;
    }
    .fp-card-includes li::before {
      content: '';
      width: 5px; height: 5px;
      border-radius: 50%;
      background: var(--green);
      flex-shrink: 0;
    }
    .fp-card-includes li:last-child { border-bottom: none; }

    /* ── BUTTONS ── */
    .fp-btn-primary {
      display: inline-block;
      background: var(--green);
      color: #fff;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 13px 28px;
      border-radius: var(--radius-sm);
      text-decoration: none;
      transition: background 0.2s, transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
      text-align: center;
    }
    .fp-btn-primary:hover {
      background: var(--green-dark);
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(88,112,52,0.25);
    }
    .fp-btn-outline {
      display: inline-block;
      background: transparent;
      color: var(--green);
      border: 1.5px solid var(--green);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 12px 28px;
      border-radius: var(--radius-sm);
      text-decoration: none;
      transition: background 0.2s, color 0.2s, transform 0.2s var(--ease);
      text-align: center;
    }
    .fp-btn-outline:hover { background: var(--green); color: #fff; transform: translateY(-2px); }

    /* ── ALLERGEN ── */
    .fp-allergen-bar {
      background: #fffbf3;
      border: 1px solid #e8d9b5;
      border-radius: var(--radius-md);
      padding: 14px 20px;
      display: flex;
      align-items: center;
      gap: 12px;
      font-size: 13px;
      color: var(--text-mid);
      margin-top: 40px;
    }
    .fp-allergen-bar a { color: var(--gold); font-weight: 600; text-decoration: none; }
    .fp-allergen-bar a:hover { text-decoration: underline; }

    /* ── EDITORIAL SPLIT SECTION ── */
    .fp-split-section {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      min-height: 480px;
    }
    .fp-split-img {
      position: relative;
      overflow: hidden;
      background: var(--green-light);
    }
    .fp-split-img img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }
    .fp-split-text {
      background: var(--green);
      color: var(--text);
      padding: 64px 56px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .fp-split-text .fp-section-eyebrow { color: rgba(46,46,46,0.65); }
    .fp-split-text .fp-section-heading { color: var(--text); }
    .fp-split-text .fp-section-heading::after { background: rgba(46,46,46,0.3); }
    .fp-split-text p {
      font-size: 15px;
      font-weight: 300;
      color: rgba(46,46,46,0.8);
      line-height: 1.9;
      margin-bottom: 16px;
    }
    .fp-split-text p:last-of-type { margin-bottom: 32px; }
    .fp-split-text .fp-hero-btn { background: var(--green-dark); }
    .fp-split-text .fp-hero-btn:hover { background: var(--text); }

    /* ── PHOTO GALLERY STRIP ── */
    .fp-gallery-strip {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0;
      height: 280px;
    }
    .fp-gallery-item {
      position: relative;
      overflow: hidden;
    }
    .fp-gallery-item img {
      width: 100%; height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
      transition: transform 0.4s ease, filter 0.4s ease;
      filter: brightness(0.9);
    }
    .fp-gallery-item:hover img {
      transform: scale(1.06);
      filter: brightness(1);
    }
    .fp-gallery-label {
      position: absolute;
      bottom: 14px; left: 14px;
      background: rgba(255,255,255,0.92);
      color: var(--text);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 5px 10px;
      border-radius: 1px;
    }

    /* ── CHOICES SECTION ── */
    .fp-choices-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 0;
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      overflow: hidden;
      margin-top: 32px;
      background: #fff;
      box-shadow: 0 10px 30px rgba(46,46,46,0.06);
    }
    .fp-choice-col {
      padding: 28px 28px 32px;
      border-right: 1px solid var(--border);
    }
    .fp-choice-col:last-child { border-right: none; }
    .fp-choice-col-title {
      font-family: 'Playfair Display', serif;
      font-size: 15px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: var(--text);
      margin-bottom: 14px;
      padding-bottom: 10px;
      border-bottom: 2px solid var(--green);
    }
    .fp-choice-list { list-style: none; }
    .fp-choice-list li {
      font-size: 13px;
      color: var(--text-mid);
      padding: 6px 0;
      border-bottom: 1px solid rgba(0,0,0,0.05);
      display: flex;
      align-items: center;
      gap: 8px;
    }
    .fp-choice-list li::before {
      content: '';
      width: 4px; height: 4px;
      border-radius: 50%;
      background: var(--green);
      flex-shrink: 0;
    }
    .fp-choice-list li:last-child { border-bottom: none; }

    /* ── INFO BAR ── */
    .fp-info-bar { background: var(--green); }
    .fp-info-bar-inner {
      max-width: 1080px;
      margin: 0 auto;
      padding: 44px 40px;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 32px;
    }
    .fp-info-item-title {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: rgba(46,46,46,0.6);
      margin-bottom: 8px;
    }
    .fp-info-item-body {
      font-size: 14px;
      font-weight: 300;
      color: rgba(46,46,46,0.85);
      line-height: 1.7;
    }
    .fp-info-item-body a { color: var(--green-dark); text-decoration: none; border-bottom: 1px solid rgba(46,46,46,0.3); }
    .fp-info-item-body a:hover { border-bottom-color: var(--green-dark); }

    /* ── CTA ── */
    /* 📸 UDSKIFT: Stemningsbillede — hænder der anretter fade, eller buffetbord i levende lys. */
    .fp-cta-section {
      text-align: center;
      padding: 96px 40px;
      background:
        linear-gradient(rgba(30,34,24,0.62), rgba(30,34,24,0.62)),
        url('https://images.unsplash.com/photo-1555244162-803834f70033?auto=format&fit=crop&w=1920&q=70')
        center / cover no-repeat;
    }
    @media (min-width: 901px) {
      .fp-cta-section { background-attachment: fixed, fixed; }
    }
    .fp-cta-section h2 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(24px, 4vw, 36px);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      color: #fff;
      margin-bottom: 12px;
      text-shadow: 0 2px 12px rgba(0,0,0,0.35);
    }
    .fp-cta-section p {
      font-size: 15px;
      font-weight: 300;
      color: rgba(255,255,255,0.9);
      margin-bottom: 32px;
    }
    .fp-cta-section .fp-btn-outline {
      border-color: rgba(255,255,255,0.85);
      color: #fff;
    }
    .fp-cta-section .fp-btn-outline:hover {
      background: #fff;
      color: var(--text);
    }
    .fp-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

    /* ── OM OS ── */
    .about-hero { min-height: 420px; }
    /* Lys variant af split-sektionen (creme i stedet for grøn) */
    .about-split-light .fp-split-text { background: var(--cream-deep); }
    .about-split-light .fp-split-text .fp-section-eyebrow { color: var(--green-dark); }
    .about-split-light .fp-split-text .fp-section-heading::after { background: var(--green); }
    .about-cards {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 24px;
    }
    .about-card {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: var(--radius-md);
      padding: 40px 36px;
      box-shadow: 0 10px 30px rgba(46,46,46,0.06);
    }
    .about-card p:last-child {
      font-size: 15px;
      font-weight: 300;
      color: var(--text-mid);
      line-height: 1.9;
    }
    @media (max-width: 900px) {
      /* Spejlvendt split: billedet skal ligge øverst på mobil */
      .fp-split-section.reverse .fp-split-img { order: -1; }
    }

    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .fp-split-section { grid-template-columns: 1fr; }
      .fp-split-img { height: 340px; }
      .fp-split-text { padding: 48px 36px; }
      .fp-gallery-strip { grid-template-columns: repeat(2, 1fr); height: 360px; }
    }
    @media (max-width: 640px) {
      .fp-section { padding: 52px 20px; }
      .fp-page-hero { min-height: 380px; }
      .fp-hero-content { padding: 60px 20px; }
      .fp-usp-strip-inner { padding: 20px; gap: 20px; }
      .fp-usp-item { font-size: 12px; }
      .fp-info-bar-inner { padding: 36px 20px; }
      .fp-choice-col { border-right: none; border-bottom: 1px solid var(--border); }
      .fp-choice-col:last-child { border-bottom: none; }
      .fp-gallery-strip { grid-template-columns: 1fr 1fr; height: 280px; }
      .fp-split-text { padding: 36px 24px; }
      .fp-cta-section { padding: 52px 20px; }
    }
    @media (prefers-reduced-motion: reduce) {
      * { transition: none !important; }
    }
  
/* ════════════════════════════════════════════════════════════════
   STANDALONE-DESIGN — HEADER (responsivt) + billeder
   Designet er inline-styled; her tilføjes kun det som inline-styles
   ikke kan: mobil-burger, responsiv navigation og billed-reset.
   ════════════════════════════════════════════════════════════════ */
.dk-menu-toggle {
  display: none;
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  color: #2e2e2e;
}
.dk-nav img { display: inline-block; }

@media (max-width: 820px) {
  .dk-nav {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch !important;
    gap: 16px !important;
    background: rgba(250,246,237,0.98);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid #e8e2d4;
    padding: 22px 32px 26px;
    box-shadow: 0 12px 24px rgba(46,46,46,0.08);
  }
  .dk-nav.dk-open { display: flex !important; }
  .dk-menu-toggle { display: block; }
}

/* ════════════════════════════════════════════════════════════════
   ACCESSIBILITY — synlige tastatur-fokusringe (v1.1.3)
   ════════════════════════════════════════════════════════════════ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 2px;
  border-radius: 4px;
}
a:focus:not(:focus-visible) { outline: none; }

/* ── HERO: gennemtving fuldbredde-overlay + centrering ──
   Overstyrer alle inline-styles. Fikser tilfælde hvor
   .fp-hero-content mangler inset:0 og derfor krymper til
   indholdsbredde i venstre side. */
.fp-hero { position: relative !important; }
.fp-hero-content {
  position: absolute !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.fp-hero-content > * { margin-left: auto !important; margin-right: auto !important; }


/* ── LOGO I HEADEREN ──
   Logoet er en stablet lockup (ikon over ordmærke), så det kræver
   højde for at ordet kan læses. Højden styrer, bredden følger med. */
.dk-logo,
.custom-logo {
  display: block;
  height: 54px;
  width: auto;
  max-width: 210px;
  object-fit: contain;
}
.custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
@media (max-width: 640px) {
  .dk-logo,
  .custom-logo { height: 40px; max-width: 150px; }
}
