/* ==========================================================================
   FRISTET.DK · FOOTER · NAVY / GULD · 2026-08-20
   Renskrevet fælles footer til desktop, tablet og mobil.
   ========================================================================== */

.site-footer.site-footer--balanced,
.site-footer.site-footer--balanced * {
  box-sizing: border-box;
}

.site-footer.site-footer--balanced {
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 42px 22px 18px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-top: 1px solid rgba(231,201,121,.22) !important;
  background:
    radial-gradient(circle at 50% -22%, rgba(38,65,94,.30), transparent 31rem),
    radial-gradient(circle at 8% 105%, rgba(184,154,98,.07), transparent 25rem),
    linear-gradient(180deg,#12232E 0%,#0B151D 42%,#071018 100%) !important;
  color: #E1E7EB !important;
  font-family: "Montserrat", Arial, sans-serif !important;
}

.site-footer.site-footer--balanced::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  width: min(1180px, calc(100% - 44px)) !important;
  height: 1px !important;
  transform: translateX(-50%) !important;
  background: linear-gradient(90deg, transparent, rgba(231,201,121,.55), transparent) !important;
  pointer-events: none !important;
}

.site-footer--balanced .site-footer__inner {
  width: min(1180px,100%) !important;
  margin: 0 auto !important;
}

/* Intro */
.site-footer--balanced .site-footer__intro {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: 790px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.site-footer--balanced .site-footer__logo {
  display: inline-grid !important;
  grid-template-columns: max-content max-content !important;
  grid-template-rows: auto auto !important;
  margin: 0 0 14px !important;
  color: #FFFFFF !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(27px,2.4vw,34px) !important;
  font-weight: 850 !important;
  line-height: .95 !important;
  letter-spacing: .035em !important;
  text-decoration: none !important;
}

.site-footer--balanced .site-footer__logo-main {
  color: #FFFFFF !important;
}

.site-footer--balanced .site-footer__logo-domain {
  color: #E7C979 !important;
}

.site-footer--balanced .site-footer__logo small {
  grid-column: 1 / -1 !important;
  margin-top: 7px !important;
  color: #B89A62 !important;
  font-size: 7px !important;
  font-weight: 850 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.site-footer--balanced .site-footer__description {
  max-width: 760px !important;
  margin: 0 !important;
  color: #B6C0C8 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

/* Fire løfter */
.site-footer--balanced .site-footer__promises {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 26px 0 24px !important;
  padding: 0 !important;
  list-style: none !important;
}

.site-footer--balanced .site-footer__promises li {
  display: grid !important;
  grid-template-columns: 28px minmax(0,1fr) !important;
  align-items: center !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid rgba(231,201,121,.14) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg,#142733,#10212B) !important;
  color: #E1E7EB !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.site-footer--balanced .site-footer__promise-mark {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  border: 1px solid rgba(231,201,121,.34) !important;
  border-radius: 50% !important;
  color: #E7C979 !important;
  font-size: 8px !important;
  font-weight: 900 !important;
}

/* Navigation */
.site-footer--balanced .site-footer__nav-grid {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 0 !important;
}

.site-footer--balanced .site-footer__nav-column {
  min-width: 0 !important;
  padding: 18px 20px 16px !important;
  border: 1px solid rgba(231,201,121,.14) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg,#10212B,#0B151D) !important;
}

.site-footer--balanced .site-footer__nav-heading {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}

.site-footer--balanced .site-footer__nav-number {
  color: #B89A62 !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

.site-footer--balanced .site-footer__nav-title {
  margin: 0 !important;
  color: #E7C979 !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.site-footer--balanced .site-footer__links {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 8px !important;
}

.site-footer--balanced .site-footer__links a,
.site-footer--balanced .site-footer__links a:link,
.site-footer--balanced .site-footer__links a:visited {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 42px !important;
  padding: 0 12px !important;
  border: 1px solid rgba(231,201,121,.12) !important;
  border-radius: 10px !important;
  background: #12232E !important;
  color: #E1E7EB !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: .18s ease !important;
}

.site-footer--balanced .site-footer__links a b {
  color: #E7C979 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: transform .18s ease !important;
}

.site-footer--balanced .site-footer__links a:hover,
.site-footer--balanced .site-footer__links a:focus-visible {
  border-color: rgba(231,201,121,.38) !important;
  background: #172A36 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}

.site-footer--balanced .site-footer__links a:hover b,
.site-footer--balanced .site-footer__links a:focus-visible b {
  transform: translateX(3px) !important;
}

/* Bund */
.site-footer--balanced .site-footer__bottom {
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 22px 0 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid rgba(231,201,121,.12) !important;
  color: #8E9AA3 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}

.site-footer--balanced .site-footer__bottom p {
  margin: 0 !important;
}

.site-footer--balanced .site-footer__signature {
  color: #B89A62 !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
}

.site-footer--balanced .site-footer__adult {
  text-align: right !important;
}

.site-footer--balanced .site-footer__adult span {
  color: #E7C979 !important;
  font-weight: 900 !important;
}

/* Tablet */
@media (max-width:900px) {
  .site-footer.site-footer--balanced {
    padding: 36px 18px 18px !important;
  }

  .site-footer--balanced .site-footer__promises {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  .site-footer--balanced .site-footer__nav-grid {
    max-width: 720px !important;
    margin-inline: auto !important;
  }

  .site-footer--balanced .site-footer__links {
    grid-template-columns: 1fr !important;
  }
}

/* Mobil */
@media (max-width:600px) {
  .site-footer.site-footer--balanced {
    padding: 30px 14px 16px !important;
  }

  .site-footer--balanced .site-footer__logo {
    font-size: 28px !important;
    margin-bottom: 12px !important;
  }

  .site-footer--balanced .site-footer__description {
    max-width: 460px !important;
    color: #C3CCD2 !important;
    font-size: 14px !important;
    line-height: 1.62 !important;
  }

  .site-footer--balanced .site-footer__promises {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
    margin: 22px 0 !important;
  }

  .site-footer--balanced .site-footer__promises li {
    grid-template-columns: 25px minmax(0,1fr) !important;
    min-height: 58px !important;
    padding: 9px 10px !important;
    font-size: 11px !important;
  }

  .site-footer--balanced .site-footer__nav-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .site-footer--balanced .site-footer__nav-column {
    padding: 16px !important;
  }

  .site-footer--balanced .site-footer__nav-heading {
    justify-content: center !important;
  }

  .site-footer--balanced .site-footer__links {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  .site-footer--balanced .site-footer__links a,
  .site-footer--balanced .site-footer__links a:link,
  .site-footer--balanced .site-footer__links a:visited {
    min-height: 46px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
  }

  .site-footer--balanced .site-footer__bottom {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 7px !important;
    margin-top: 18px !important;
    padding-top: 14px !important;
    text-align: center !important;
    font-size: 11px !important;
  }

  .site-footer--balanced .site-footer__adult {
    text-align: center !important;
  }

  .site-footer--balanced .site-footer__signature {
    order: -1 !important;
  }
}

@media (max-width:390px) {
  .site-footer--balanced .site-footer__promises,
  .site-footer--balanced .site-footer__links {
    grid-template-columns: 1fr !important;
  }
}
