/* =========================================================
   VOSS GOLFKLUBB – STYLES.CSS
   INNHALDSOVERSIKT

   01. VARIABLES
   02. RESET / BASE
   03. HEADER / NAVIGATION
   04. HERO
   05. HERO CAROUSEL
   06. MAIN TABS
   07. HOME / DASHBOARD
   08. GOLFBIL BOOKING
   09. STARTTIDSBOOKING / GOLFBOX
   10. TOURNAMENTS / NEWS
   11. NYHEITER / NYHEITSARKIV
   12. SPONSORS
   13. SUBPAGES / SUBTABS
   14. BANE – OVERSIKT
   15. BANE – RESPONSIVE
   16. PRISAR – OVERSIKT
   17. GREENFEE
   18. BANA AKKURAT NO
   19. FASILITETAR VED BANA
   20. BANE – BANEGUIDE
   21. SCOREKORT OG SLOPE
   22. GOLFBIL DIALOG / FORM
   23. KLUBBEN – SPONSORAR
   24. FOOTER / SEARCH / ADMIN
   25. RESPONSIVE
   26. CMS / ADMIN – BRUKARVENLEG REDIGERING
   27. CMS / ADMIN – INNLOGGING

   © 2026 Kjetil. Alle rettar reserverte.
========================================================= */

/* =========================================================
   01. VARIABLES
========================================================= */

:root {
  --ink: #1b3c2e;
  --green: #1b3c2e;
  --green-2: #293f33;
  --gold: #9a7b3f;
  --paper: #f7f4ed;
  --line: #d8d2c6;
  --muted: #69736f;
  --white: #fff;
  --serif: "Libre Caslon Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --status-open: #5b9d56;
  --status-closed: #b94a48;
}

/* ---------------------------------------------------------
   GLOBAL STATUS
--------------------------------------------------------- */

.status-dot {
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
  border-radius: 50%;
}

.status-dot.is-open {
  background: var(--status-open);
}

.status-dot.is-closed {
  background: var(--status-closed);
}

/* =========================================================
   02. RESET / BASE
========================================================= */

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
}

.skip {
  position: absolute;
  left: -9999px;
}

.skip:focus {
  left: 1rem;
  top: 1rem;
  z-index: 20;
  background: #fff;
  padding: .8rem;
}


/* =========================================================
   03. HEADER / NAVIGATION
========================================================= */

.topbar {
  height: 96px;
  display: flex;
  align-items: center;
  padding: 0 clamp(22px, 5vw, 82px);
  gap: 36px;
  background: rgba(250, 248, 243, .96);
  position: relative;
  z-index: 10;
}

.wordmark {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--ink);
  text-decoration: none;
  font-family: var(--serif);
  font-size: 1.25rem;
  white-space: nowrap;
}

.wordmark-logo {
  display: block;
  width: 178px;
  height: 58px;
  object-fit: contain;
  object-position: left center;
}

.wordmark-symbol {
  display: none;
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.mark {
  border: 1px solid var(--gold);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--gold);
  font-size: 1.4rem;
}

.desktop-nav {
  display: flex;
  align-self: stretch;
  align-items: center;
  gap: clamp(18px, 2vw, 34px);
  margin: auto;
}

.desktop-nav a {
  color: #152522;
  text-decoration: none;
  font-family: var(--serif);
  font-size: 1.02rem;
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
}

.desktop-nav a:after {
  content: "";
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transition: .2s;
}

.desktop-nav a:hover:after,
.desktop-nav a.active:after {
  transform: scaleX(1);
}

.language-switcher {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--serif);
  font-size: .82rem;
  letter-spacing: .09em;
}

.language-option {
  border: 0;
  background: transparent;
  padding: 7px 2px 6px;
  color: var(--muted);
  font: inherit;
  letter-spacing: inherit;
  cursor: default;
  position: relative;
}

.language-option.active {
  color: var(--green);
  font-weight: 600;
}

.language-option.active::after {
  content: "";
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: 2px;
  height: 1px;
  background: var(--gold);
}

.language-divider {
  color: rgba(21, 37, 34, .28);
}

.top-actions {
  display: flex;
  align-items: center;
  gap: 15px;
}

.search,
.menu-button {
  border: 0;
  background: transparent;
  color: var(--ink);
}

.search svg {
  width: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.join,
.primary {
  background: var(--green);
  color: #fff;
  text-decoration: none;
  padding: 15px 27px;
  border-radius: 4px;
  font-family: var(--serif);
  white-space: nowrap;
}

.menu-button,
.mobile-nav {
  display: none;
}


/* =========================================================
   04. HERO
========================================================= */

.hero {
  height: min(610px, 65vw);
  min-height: 510px;
  position: relative;
  overflow: hidden;
}

.hero-slide > img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(249, 247, 241, .98) 0%,
      rgba(249, 247, 241, .91) 26%,
      rgba(249, 247, 241, .32) 54%,
      rgba(10, 31, 27, .08) 100%
    );
}

.hero-content {
  position: relative;
  z-index: 2;
  padding: clamp(32px, 5vh, 58px) clamp(28px, 6.4vw, 106px);
  max-width: 700px;
}

.eyebrow {
  font-size: .78rem;
  letter-spacing: .34em;
  color: #557069;
  font-weight: 600;
}

.eyebrow span {
  display: inline-block;
  width: 70px;
  border-top: 1px solid #b7ab91;
  vertical-align: middle;
  margin-left: 18px;
}

.hero h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(3.6rem, min(6.5vw, 8vh), 7rem);
  line-height: .95;
  margin: 18px 0 16px;
  letter-spacing: -.035em;
}

.lead {
  font-size: clamp(1.08rem, 1.5vw, 1.35rem);
  line-height: 1.55;
  max-width: 520px;
  color: #394643;
}

.hero-buttons {
  display: flex;
  gap: 18px;
  margin-top: 20px;
}

.primary {
  padding: 16px 28px;
}

.primary span,
.continue span {
  margin-left: 28px;
}

.secondary {
  border: 1px solid var(--gold);
  color: var(--ink);
  text-decoration: none;
  padding: 15px 29px;
  border-radius: 4px;
  font-family: var(--serif);
}

.hero-note {
  position: absolute;
  z-index: 2;
  right: 8%;
  top: 60px;
  letter-spacing: .32em;
  font-size: .72rem;
  line-height: 1.7;
}

.status {
  position: absolute;
  z-index: 3;
  right: 5vw;
  bottom: 28px;

  background: rgba(250, 248, 243, .94);
  backdrop-filter: blur(9px);

  border: 1px solid var(--line);
  border-radius: 10px;

  box-shadow: 0 8px 24px rgba(23, 59, 40, .10);

  overflow: hidden;
}


/* ---------------------------------------------------------
   STATUSOVERSIKT – BANE + SIMULATOR
--------------------------------------------------------- */

.status-overview {
  display: grid;
}

.status-item {
  display: grid;
  grid-template-columns: 9px 1fr;
  align-items: center;
  column-gap: 11px;

  padding: 14px 18px;
}

.status-item + .status-item {
  border-top: 1px solid var(--line);
}

.status-item > div {
  display: grid;
  gap: 2px;
}

.status-item strong {
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.25;
}

.status-item small {
  color: var(--muted);
  font-size: .68rem;
  line-height: 1.25;
}

/* ---------------------------------------------------------
   05. HERO CAROUSEL
--------------------------------------------------------- */

.hero-slides {
  position: absolute;
  inset: 0;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity .45s ease,
    visibility .45s ease;
}

.hero-slide.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.hero-slide > img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-slide .hero-content {
  position: relative;
  z-index: 2;
}

.hero-slide .hero-wash {
  z-index: 1;
}


/* ---------------------------------------------------------
   HERO – PILER
--------------------------------------------------------- */

.hero-arrow {
  transform: translateY(-5px);
  position: absolute;
  top: auto;
  bottom: 24px;
  z-index: 8;

  display: grid;
  place-items: center;

  width: 48px;
  height: 48px;
  padding: 0;

  border: 0;
  background: transparent;

  color: var(--green);
  font-family: var(--serif);
  font-size: 2.5rem;
  line-height: 1;

  cursor: pointer;
  opacity: .8;

  transition:
    opacity .2s ease,
    transform .2s ease;
}

.hero-arrow-prev {
  left: calc(50% - 135px);
}

.hero-arrow-next {
  right: calc(50% - 135px);
}

.hero-arrow:hover {
  opacity: 1;
}

.hero-arrow-prev:hover {
  transform: translate(-3px, -5px);
}

.hero-arrow-next:hover {
  transform: translate(3px, -5px);
}

/* Slide-indikator */

.hero-dots {
  position: absolute;
  z-index: 8;

  left: 50%;
  bottom: 42.5px;

  display: flex;
  align-items: center;
  gap: 12px;

  transform: translateX(-50%);
}

.hero-dots button {
  width: 11px;
  height: 11px;
  padding: 0;

  border: 0;
  border-radius: 50%;

  background: rgba(11, 43, 37, .28);
  cursor: pointer;

  transition:
    width .2s ease,
    border-radius .2s ease,
    background .2s ease;
}

.hero-dots button.active {
  width: 34px;
  border-radius: 999px;
  background: var(--green);
}

/* =========================================================
   06. MAIN TABS
========================================================= */

.tabbar {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  padding: 0 clamp(20px, 4vw, 68px);
  background: #f9f7f1;
  border-bottom: 1px solid #e5e0d6;
  position: relative;
  z-index: 4;
}

.tabbar a {
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: var(--ink);
  text-decoration: none;
  font-family: var(--serif);
  font-size: 1.05rem;
  border-right: 1px solid var(--line);
  position: relative;
}

.tabbar a:first-child {
  border-left: 1px solid var(--line);
}

.tabbar a.selected {
  background: #fff;
  transform: translateY(-12px);
  box-shadow: 0 -7px 24px #233a2b12;
  border: 1px solid #e5e1d9;
  border-bottom: 0;
  border-radius: 18px 18px 0 0;
}

.tab-icon {
  font-family: Georgia;
  font-size: 1.7rem;
  color: var(--green);
}

.tab-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tabbar i {
  font-style: normal;
  margin-left: 2px;
}



/* =========================================================
   07. HOME / DASHBOARD
========================================================= */

.dashboard,
.news {
  max-width: 1420px;
  margin: 0 auto;
  padding: 70px clamp(22px, 5vw, 76px);
}

.dashboard {
  display: grid;
  grid-template-columns: minmax(370px, .82fr) minmax(520px, 1.2fr);
  gap: 60px;
}

/* Book golfbil – venstre kolonne */
.dashboard > .dashboard-left {
  grid-column: 1;
}

/* Book golfrunde / starttid – høgre kolonne */
.dashboard-right {
  display: flex;
  flex-direction: column;
  gap: 42px;
  min-width: 0;
  width: 100%;
}

.dashboard > .dashboard-right {
  grid-column: 2;
}


/* =========================================================
   08. GOLFBIL BOOKING
========================================================= */

.booking {
  background: linear-gradient(145deg, #f2efe8, #faf8f4);
  border: 1px solid #e8e3d9;
  padding: 34px;
  border-radius: 16px;
  box-shadow: 0 18px 42px #243c2b0b;
}

.eyebrow.small {
  letter-spacing: .27em;
  margin: 0 0 10px;
  font-size: .68rem;
}

.booking h2,
.tournaments h2,
.news h2,
footer h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 2.35rem;
  margin: 0 0 8px;
}

.booking > p:not(.eyebrow) {
  color: var(--muted);
  margin: 0 0 24px;
}

.booking > .eyebrow,
.booking > h2,
.booking > h2 + p {
  text-align: center;
}

.date-picker {
  height: 58px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.date-picker button {
  border: 0;
  background: none;
  font-size: 1.8rem;
  padding: 10px 17px;
  color: var(--ink);
}

.date-picker strong {
  font-family: var(--serif);
  font-size: 1.12rem;
}

.legend {
  display: flex;
  justify-content: center;
  gap: 24px;
  color: var(--muted);
  font-size: .79rem;
  margin: 15px 0;
}

.legend span {
  display: flex;
  align-items: center;
  gap: 7px;
}

.legend i {
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.available {
  background: #75a65b;
}

.few {
  background: #eabb60;
}

.full {
  background: #e88678;
}

.time-periods {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 0 0 12px;
  padding: 4px;
  background: #e9e6de;
  border-radius: 8px;
}

.time-periods button {
  border: 0;
  border-radius: 5px;
  padding: 10px 6px;
  background: transparent;
  color: var(--muted);
  font-family: var(--serif);
  font-size: .94rem;
}

.time-periods button.selected {
  background: #fff;
  color: var(--ink);
  box-shadow: 0 2px 8px #243c2b12;
}

.times {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.times button {
  min-height: 70px;
  border: 2px solid transparent;
  background: #dfe6d5;
  padding: 10px 4px;
  border-radius: 6px;
  font-family: var(--serif);
  font-size: 1rem;
  color: var(--ink);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  cursor: pointer;
}

.times button strong,
.times button small {
  display: block;
  white-space: nowrap;
}

.times button strong {
  font-weight: 400;
}

.times button small {
  margin-top: 5px;
  font-family: var(--sans);
  font-size: .72rem;
  color: var(--muted);
}

.times button.selected-slot {
  border-color: var(--green);
  background: #fff;
  box-shadow: 0 0 0 2px #1b3c2e18;
}

.times button:disabled {
  cursor: not-allowed;
}

.times .few-slot {
  background: #f5dda0;
}

.times .full-slot {
  background: #f1b9ad;
  color: #764941;
}

.times .past-slot {
  background: #e1e1de;
  color: #8b918d;
  opacity: .72;
  border-color: transparent;
}

.times .past-slot small {
  color: #969c98;
}

.continue {
  width: 100%;
  border: 0;
  background: var(--green);
  color: #fff;
  border-radius: 6px;
  padding: 17px;
  margin-top: 20px;
  font-family: var(--serif);
  font-size: 1rem;
  cursor: pointer;
}

.continue:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.golfbil-price-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: -2px 0 12px;
  color: var(--muted);
  font-size: .78rem;
}

.golfbil-price-line strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: .98rem;
  font-weight: 400;
  margin-left: 3px;
}

.price-separator {
  color: #b8aa91;
}


/* ---------------------------------------------------------
   09. STARTTIDSBOOKING / GOLFBOX
--------------------------------------------------------- */

.tee-booking {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-self: start;
  padding: 38px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: linear-gradient(145deg, #faf8f4, #f2efe8);
}

.tee-booking h2 {
  margin: 0 0 12px;
  font-family: var(--serif);
  font-size: 2.35rem;
  font-weight: 400;
}

.tee-booking > .eyebrow,
.tee-booking > h2,
.tee-booking > .tee-booking-text {
  text-align: center;
}

.tee-booking-text {
  max-width: 520px;
  margin: 0 auto 30px;
  color: var(--muted);
  line-height: 1.55;
  text-align: center;
}

.tee-booking-info {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px;
  margin-bottom: 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.tee-booking-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--green);
  font-family: var(--serif);
  font-size: 1.5rem;
}

.tee-booking-info div {
  display: grid;
  gap: 5px;
}

.tee-booking-info strong {
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 400;
}

.tee-booking-info small {
  color: var(--muted);
  line-height: 1.45;
}

.tee-booking-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 17px 20px;
  background: var(--green);
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
  font-family: var(--serif);
  font-size: 1rem;
}

.tee-booking-button span {
  margin-left: 30px;
}


/* =========================================================
   10. TOURNAMENTS / NEWS
========================================================= */

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 22px;
}

.section-head h2 {
  margin: 0;
}

.section-head > a {
  color: var(--ink);
  text-decoration: none;
  font-size: .9rem;
}

.section-head > a span {
  margin-left: 16px;
}

.event {
  display: grid;
  grid-template-columns: 74px 58px 1fr 20px;
  align-items: center;
  min-height: 128px;
  border-bottom: 1px solid var(--line);
  gap: 22px;
}

.event time {
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.event time b {
  font-family: var(--serif);
  font-size: 2.35rem;
  font-weight: 400;
  line-height: 1;
}

.event time span {
  letter-spacing: .3em;
  font-size: .67rem;
  margin-top: 7px;
}

.event-icon {
  font-size: 2rem;
  color: var(--green);
  text-align: center;
}

.event-icon.gold {
  color: var(--gold);
}

.event h3 {
  font-family: var(--serif);
  font-size: 1.32rem;
  margin: 0 0 5px;
  font-weight: 400;
}

.event p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
}

.event > a {
  text-decoration: none;
  color: var(--ink);
  font-size: 1.8rem;
}

.news {
  padding-top: 30px;
  padding-bottom: 90px;
}

.news-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin-top: 28px;
}

.news-grid article {
  border: 1px solid var(--line);
  padding: 30px;
  min-height: 250px;
  background: #faf8f3;
}

.news-grid article > span,
.news-grid time {
  display: inline-block;
  font-size: .68rem;
  letter-spacing: .18em;
  color: var(--muted);
  margin-right: 12px;
}

.news-grid h3 {
  font-family: var(--serif);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1.25;
  margin: 34px 0 12px;
}

.news-grid p {
  color: var(--muted);
  line-height: 1.55;
}

.news-grid a {
  color: var(--ink);
  text-decoration: none;
}

.quote {
  background: var(--green) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff;
}

.quote p {
  font-family: var(--serif);
  font-size: 1.7rem !important;
  font-style: italic;
  color: #fff !important;
}

.quote span {
  color: #d6c8a9 !important;
}


/* =========================================================
  11. NYHEITER / NYHEITSARKIV
========================================================= */

.news-page {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px clamp(28px, 6vw, 90px) 100px;
}


/* ---------------------------------------------------------
   NYASTE SAK
--------------------------------------------------------- */

.news-featured {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  min-height: 430px;
  border: 1px solid var(--line);
  background: #faf8f3;
}

.news-featured-image {
  min-height: 430px;
  overflow: hidden;
}

.news-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-featured-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(38px, 5vw, 68px);
}

.news-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: var(--muted);
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.news-meta span {
  color: var(--green);
  font-weight: 600;
}

.news-meta time::before {
  content: "·";
  margin-right: 12px;
  color: var(--gold);
}

.news-featured h2 {
  margin: 0 0 20px;
  font-family: var(--serif);
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1.04;
  font-weight: 400;
}

.news-featured-content > p:not(.news-meta) {
  margin: 0 0 30px;
  color: var(--muted);
  line-height: 1.65;
  max-width: 520px;
}

.news-read-more {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 180px;
  padding: 15px 18px;
  background: var(--green);
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--serif);
}


/* ---------------------------------------------------------
   ARKIV
--------------------------------------------------------- */

.news-archive-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin: 78px 0 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.news-archive-head h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: 2.6rem;
  font-weight: 400;
}

.news-archive-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.news-archive-card {
  display: grid;
  grid-template-columns: 190px 1fr;
  min-height: 220px;
  border: 1px solid var(--line);
  background: #faf8f3;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.news-archive-card:hover {
  transform: translateY(-2px);
  border-color: #c8bda8;
  box-shadow: 0 14px 28px #243c2b0b;
}

.news-archive-image {
  overflow: hidden;
}

.news-archive-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.news-archive-content {
  padding: 28px;
}

.news-archive-content .news-meta {
  margin-bottom: 16px;
  font-size: .65rem;
}

.news-archive-content h3 {
  margin: 0 0 12px;
  font-family: var(--serif);
  font-size: 1.55rem;
  line-height: 1.2;
  font-weight: 400;
}

.news-archive-content > p:not(.news-meta) {
  margin: 0 0 20px;
  color: var(--muted);
  line-height: 1.5;
  font-size: .88rem;
}

.news-archive-content a {
  color: var(--ink);
  text-decoration: none;
  font-family: var(--serif);
}

.news-archive-content a span {
  margin-left: 12px;
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 900px) {
  .news-featured {
    grid-template-columns: 1fr;
  }

  .news-featured-image {
    min-height: 320px;
  }

  .news-archive-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .news-page {
    padding: 48px 18px 70px;
  }

  .news-featured-image {
    min-height: 240px;
  }

  .news-featured-content {
    padding: 28px 22px;
  }

  .news-featured h2 {
    font-size: 2.4rem;
  }

  .news-archive-card {
    grid-template-columns: 1fr;
  }

  .news-archive-image {
    height: 210px;
  }

  .news-archive-head {
    margin-top: 55px;
  }
}

/* =========================================================
   12. SPONSORS
========================================================= */

.main-sponsors {
  padding: 62px clamp(28px, 6vw, 100px) 70px;
  text-align: center;
  background: #eeebe3;
  border-top: 1px solid var(--line);
}

.main-sponsors h2 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 2.35rem;
  margin: 0 0 32px;
}

.sponsor-logos {
  max-width: 1180px;
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.sponsor-item {
  min-height: 150px;
  padding: 26px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #f8f6f0;
  border: 1px solid #d7d1c5;
  border-radius: 10px;

  text-decoration: none;

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.sponsor-item:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
  box-shadow: 0 12px 28px #243c2b0d;
}

.sponsor-item img {
  display: block;
  width: 100%;
  max-width: 190px;
  max-height: 82px;
  object-fit: contain;
}


/* =========================================================
   13. SUBPAGES / SUBTABS
========================================================= */

.hero[hidden],
.tab-panel[hidden] {
  display: none;
}

.section-panel {
  max-width: 1280px;
  min-height: 420px;
  margin: 0 auto;
  padding: 76px clamp(28px, 6vw, 90px);
}

.section-panel h2 {
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
  margin: 0 0 12px;
}

.section-panel .coming-soon {
  color: var(--muted);
  font-family: var(--serif);
  font-size: 1.35rem;
  margin-top: 22px;
}

.topbar {
  position: sticky;
  top: 0;
}

.subhero {
  height: 260px;
  position: relative;
  background: url("assets/voss-golf-hero.png") center 48% / cover no-repeat;
  overflow: hidden;
}

.subhero[hidden] {
  display: none;
}

.subhero-wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(249, 247, 241, .96),
      rgba(249, 247, 241, .72) 42%,
      rgba(11, 43, 37, .12)
    );
}

.subhero-content {
  position: relative;
  z-index: 2;
  padding: 54px clamp(28px, 6.4vw, 106px);
}

.subhero h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: 3.8rem;
  line-height: 1;
  margin: 18px 0 12px;
}

.subhero-content > p:last-child {
  font-size: 1.08rem;
  color: #394643;
  margin: 0;
}

.subhero .status {
  bottom: 24px;
}

.panel-intro {
  color: var(--muted);
  margin: 0;
}

.subtabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 34px;
}

.subtabs button {
  min-height: 145px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #faf8f3;
  color: var(--ink);
  padding: 25px 28px;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 16px;
  text-align: left;
  cursor: pointer;
  font: inherit;
  transition:
    border-color .2s,
    transform .2s,
    box-shadow .2s;
}

.subtabs button:hover,
.subtabs button:focus-visible {
  border-color: var(--gold);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px #243c2b0d;
}

.subtab-icon {
  grid-row: 1 / 3;
  font-family: Georgia, serif;
  font-size: 1.75rem;
  color: var(--green);
  align-self: center;
}

.subtabs strong {
  font-family: var(--serif);
  font-size: 1.35rem;
  font-weight: 400;
  align-self: end;
}

.subtabs small {
  color: var(--muted);
  font-size: .88rem;
  margin-top: 7px;
}

.subtabs i {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  font-style: normal;
  font-size: 1.25rem;
}

.back-to-overview {
  border: 0;
  background: transparent;
  color: var(--green);
  font: 600 .85rem var(--sans);
  padding: 0;
  margin: 0 0 42px;
  cursor: pointer;
}

.subtab-panel[hidden],
.subtab-overview[hidden] {
  display: none;
}

/* =========================================================
  14. BANE – OVERSIKT
========================================================= */

.bane-overview {
  width: 100%;
}


/* ---------------------------------------------------------
   INTRO
--------------------------------------------------------- */

.bane-overview-header {
  margin: 0 auto 42px;
  text-align: center;
}

.bane-overview-header .eyebrow {
  margin-bottom: 12px;
}

.bane-overview-header h2 {
  margin: 0 0 10px;
  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
}

.bane-overview-header > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
}


/* ---------------------------------------------------------
   FELLES KORT
--------------------------------------------------------- */

.bane-card {
  width: 100%;
  padding: 0;

  display: grid;

  overflow: hidden;

  border: 1px solid var(--line);
  border-radius: 10px;

  background: #faf8f3;
  color: var(--ink);

  text-align: left;
  font: inherit;

  cursor: pointer;

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.bane-card:hover,
.bane-card:focus-visible {
  transform: translateY(-2px);
  border-color: var(--gold);
  box-shadow: 0 14px 32px #243c2b0d;
}

.bane-card-content {
  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 34px;
}

.bane-card-title {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
}

.bane-card-title h3 {
  margin: 0;

  font-family: var(--serif);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.15;
}

.bane-card-icon {
  display: grid;
  place-items: center;

  width: 38px;
  height: 38px;

  color: var(--green);

  font-family: Georgia, serif;
  font-size: 1.65rem;
}

.bane-card-arrow {
  color: var(--green);
  font-size: 1.25rem;

  transition: transform .2s ease;
}

.bane-card:hover .bane-card-arrow {
  transform: translateX(4px);
}

.bane-card-content > p {
  max-width: 440px;

  margin: 18px 0 0;

  color: var(--muted);

  line-height: 1.55;
  font-size: .92rem;
}


/* ---------------------------------------------------------
   BILDE
--------------------------------------------------------- */

.bane-card-image {
  position: relative;
  min-width: 0;
  overflow: hidden;
}

.bane-card-image::after {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(250, 248, 243, .96) 0%,
      rgba(250, 248, 243, .60) 18%,
      rgba(250, 248, 243, .08) 52%,
      rgba(250, 248, 243, 0) 100%
    );

  pointer-events: none;
}

.bane-card-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition: transform .35s ease;
}

.bane-card:hover .bane-card-image img {
  transform: scale(1.025);
}


/* ---------------------------------------------------------
   STORT BANEGUIDE-KORT
--------------------------------------------------------- */

.bane-card-guide {
  grid-template-columns: .9fr 1.4fr;

  min-height: 300px;

  margin-bottom: 22px;
}

.bane-card-guide .bane-card-content {
  padding: 42px;
}

.bane-card-guide .bane-card-image {
  min-height: 300px;
}

.bane-hole-count {
  position: absolute;
  z-index: 3;

  right: 20px;
  bottom: 20px;

  width: 70px;
  height: 76px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(255, 255, 255, .7);

  background: rgba(11, 43, 37, .9);
  color: #fff;

  font-family: var(--serif);

  box-shadow: 0 8px 20px #071d1830;
}

.bane-hole-count strong {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}

.bane-hole-count small {
  margin-top: 5px;

  font-family: var(--sans);
  font-size: .58rem;
  letter-spacing: .18em;
}


/* ---------------------------------------------------------
   FUNKSJONAR I KORT
--------------------------------------------------------- */

.bane-card-features {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 24px;

  margin-top: auto;
  padding-top: 32px;
}

.bane-card-features span {
  display: inline-flex;
  align-items: center;

  gap: 7px;

  color: var(--ink);

  font-family: var(--serif);
  font-size: .88rem;
}


/* ---------------------------------------------------------
   TO HALVBREIE KORT
--------------------------------------------------------- */

.bane-card-row {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 22px;

  margin-bottom: 22px;
}

.bane-card-small {
  grid-template-columns: 1.05fr .95fr;

  min-height: 245px;
}

.bane-card-small .bane-card-content {
  padding: 32px;
}

.bane-card-small .bane-card-image {
  min-height: 245px;
}


/* ---------------------------------------------------------
   LIVE BANESTATUS
--------------------------------------------------------- */

.bane-live-status {
  display: flex;
  align-items: center;

  gap: 10px;

  margin-top: 26px;
}

.bane-live-status > span {
  width: 11px;
  height: 11px;

  flex: 0 0 auto;

  border-radius: 50%;

  background: var(--status-open);
}

.bane-live-status > span.is-open {
  background: var(--status-open);
}

.bane-live-status > span.is-closed {
  background: var(--status-closed);
}


.bane-live-status > div {
  display: grid;
  gap: 2px;
}

.bane-live-status strong {
  font-size: .86rem;
}

.bane-live-status small {
  color: var(--muted);
  font-size: .74rem;
}


/* ---------------------------------------------------------
   FASILITETAR
--------------------------------------------------------- */

.bane-card-facilities {
  grid-template-columns: 1.2fr .8fr;

  min-height: 220px;
}

.bane-card-facilities .bane-card-content {
  padding: 36px 42px;
}

.bane-card-facilities .bane-card-image {
  min-height: 220px;
}


/* =========================================================
   15. BANE – RESPONSIVE
========================================================= */

@media (max-width: 900px) {

  .bane-card-guide,
  .bane-card-small,
  .bane-card-facilities {
    grid-template-columns: 1fr;
  }

  .bane-card-guide .bane-card-image,
  .bane-card-small .bane-card-image,
  .bane-card-facilities .bane-card-image {
    min-height: 240px;
  }

  .bane-card-row {
    grid-template-columns: 1fr;
  }

  .bane-card-image::after {
    background:
      linear-gradient(
        180deg,
        rgba(250, 248, 243, .35),
        rgba(250, 248, 243, 0)
      );
  }

}


@media (max-width: 650px) {

  .bane-overview-header {
    margin-bottom: 30px;
  }

  .bane-overview-header h2 {
    font-size: 2.35rem;
  }

  .bane-card-guide,
  .bane-card-small,
  .bane-card-facilities {
    min-height: 0;
  }

  .bane-card-content,
  .bane-card-guide .bane-card-content,
  .bane-card-small .bane-card-content,
  .bane-card-facilities .bane-card-content {
    padding: 26px 22px;
  }

  .bane-card-title h3 {
    font-size: 1.4rem;
  }

  .bane-card-features {
    gap: 15px;
    padding-top: 24px;
  }

  .bane-card-guide .bane-card-image,
  .bane-card-small .bane-card-image,
  .bane-card-facilities .bane-card-image {
    min-height: 200px;
  }

}

/* =========================================================
   16. PRISAR – OVERSIKT
========================================================= */

.prices-overview {
  width: 100%;
}


/* ---------------------------------------------------------
   INTRO
--------------------------------------------------------- */

.prices-intro {
  margin-bottom: 42px;
}

.prices-intro h2 {
  margin: 6px 0 10px;

  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
}

.prices-intro > p:last-child {
  margin: 0;

  color: var(--muted);
}


/* ---------------------------------------------------------
   HOVUDKORT
--------------------------------------------------------- */

.prices-main-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  gap: 22px;

  margin-bottom: 64px;
}

.price-main-card {
  display: flex;
  flex-direction: column;

  min-height: 340px;

  padding: 34px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
  color: var(--ink);

  text-align: left;

  cursor: pointer;

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    border-color .2s ease;
}

.price-main-card:hover {
  transform: translateY(-3px);

  box-shadow: 0 12px 28px rgba(18, 43, 33, .08);
}

.price-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;

  margin-bottom: 30px;
}

.price-card-label {
  color: var(--green);

  font-size: .68rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.price-card-arrow {
  font-size: 1.3rem;
}

.price-main-card h3 {
  margin: 0 0 12px;

  font-family: var(--serif);
  font-size: 2.4rem;
  font-weight: 400;
}

.price-main-card > p {
  max-width: 430px;

  margin: 0;

  color: var(--muted);
  line-height: 1.6;
}


/* ---------------------------------------------------------
   STOR PRIS
--------------------------------------------------------- */

.price-highlight {
  display: flex;
  flex-direction: column;

  gap: 5px;

  margin-top: auto;
  padding-top: 34px;
}

.price-highlight > span {
  color: var(--muted);

  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.price-highlight strong {
  display: flex;
  align-items: baseline;

  gap: 7px;

  font-family: var(--serif);
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1;
}

.price-highlight small {
  color: var(--muted);

  font-family: var(--sans);
  font-size: .82rem;
  font-weight: 400;
}

.price-card-bottom {
  margin-top: 28px;
  padding-top: 18px;

  border-top: 1px solid var(--line);

  font-family: var(--serif);
  font-size: .95rem;
}

.membership-highlight {
  display: flex;
  flex-direction: column;

  gap: 5px;

  margin-top: auto;
  padding-top: 34px;
}

.membership-highlight span {
  color: var(--muted);

  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.membership-highlight strong {
  font-family: var(--serif);
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1;
}

.membership-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;

  margin-top: auto;
  padding-top: 34px;
}

.membership-prices > div + div {
  padding-left: 24px;
  border-left: 1px solid var(--line);
}

.membership-prices span {
  display: block;
  margin-bottom: 6px;

  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.membership-prices strong {
  display: flex;
  align-items: baseline;
  gap: 6px;

  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
  line-height: 1;
}

.membership-prices small {
  color: var(--muted);
  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 400;
}

/* ---------------------------------------------------------
   ANDRE PRISAR
--------------------------------------------------------- */

.other-prices {
  margin-bottom: 72px;
}

.other-prices-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;

  gap: 30px;

  margin-bottom: 24px;
  padding-bottom: 20px;

  border-bottom: 1px solid var(--line);
}

.other-prices-heading h3 {
  margin: 2px 0 0;

  font-family: var(--serif);
  font-size: 2.3rem;
  font-weight: 400;
}

.other-prices-heading > p {
  max-width: 420px;

  margin: 0;

  color: var(--muted);
}

.other-price-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  gap: 14px;
}

.other-price-item {
  display: flex;
  justify-content: space-between;
  align-items: center;

  min-height: 92px;

  padding: 20px 22px;

  border: 1px solid var(--line);
  border-radius: 10px;

  background: #faf8f3;
}

.other-price-item > div {
  display: flex;
  align-items: center;

  gap: 14px;
}

.other-price-item > div > div {
  display: grid;
  gap: 3px;
}

.other-price-icon {
  display: grid;
  place-items: center;

  width: 36px;
  height: 36px;

  color: var(--green);

  font-size: 1.2rem;
}

.other-price-icon svg {
  width: 22px;
  height: 22px;

  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.other-price-item strong {
  font-size: .9rem;
}

.other-price-item small {
  color: var(--muted);

  font-size: .74rem;
}

.other-price-value {
  font-family: var(--serif);
  font-size: 1.25rem !important;
  font-weight: 400;
}

.other-price-options {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
}

.other-price-options > span {
  display: grid;
  gap: 2px;
  text-align: right;
  white-space: nowrap;
}

.other-price-options > span + span {
  padding-left: 14px;
  border-left: 1px solid var(--line);
}

.other-price-options small {
  color: var(--muted);
  font-size: .68rem;
}

.other-price-options strong {
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 400;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 850px) {

  .prices-main-grid {
    grid-template-columns: 1fr;
  }

  .other-price-grid {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 650px) {

  .prices-intro h2 {
    font-size: 2.3rem;
  }

  .price-main-card {
    min-height: 290px;
    padding: 28px 22px;
  }

  .price-main-card h3 {
    font-size: 2rem;
  }

  .price-highlight strong {
    font-size: 2.8rem;
  }

  .other-prices-heading {
    align-items: flex-start;
    flex-direction: column;
  }

}

/* =========================================================
  17. GREENFEE
========================================================= */

.greenfee-page {
  width: 100%;
}

.greenfee-head {
  margin-bottom: 34px;
}

.greenfee-head h2 {
  margin: 6px 0 10px;

  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
}

.greenfee-head > p:last-child {
  margin: 0;

  color: var(--muted);
}


/* ---------------------------------------------------------
   PRISKORT
--------------------------------------------------------- */

.greenfee-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 18px;

  margin-bottom: 34px;
}

.greenfee-card {
  min-height: 280px;

  padding: 30px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.greenfee-card-featured {
  border-color: rgba(23, 82, 62, .35);
}

.greenfee-card-head {
  display: flex;
  align-items: center;

  gap: 18px;

  margin-bottom: 34px;
}

.greenfee-number,
.greenfee-day-icon {
  display: grid;
  place-items: center;

  width: 58px;
  height: 58px;

  flex: 0 0 auto;

  border: 1px solid var(--line);
  border-radius: 50%;

  color: var(--green);

  font-family: var(--serif);
  font-size: 1.8rem;
}

.greenfee-card-head h3 {
  margin: 2px 0 0;

  font-family: var(--serif);
  font-size: 1.8rem;
  font-weight: 400;
}

.greenfee-price-row {
  display: grid;
  grid-template-columns: 1fr 1fr;

  margin-top: auto;

  border-top: 1px solid var(--line);
}

.greenfee-price-row > div {
  padding-top: 22px;
}

.greenfee-price-row > div + div {
  padding-left: 22px;
  border-left: 1px solid var(--line);
}

.greenfee-price-row span {
  display: block;

  margin-bottom: 8px;

  color: var(--muted);

  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.greenfee-price-row strong {
  display: flex;
  align-items: baseline;

  gap: 5px;

  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
}

.greenfee-price-row small {
  color: var(--muted);

  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 400;
}


/* ---------------------------------------------------------
   JUNIOR
--------------------------------------------------------- */

.greenfee-junior {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 30px;

  margin-bottom: 56px;
  padding: 28px 30px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.greenfee-junior h3 {
  margin: 3px 0 6px;

  font-family: var(--serif);
  font-size: 1.6rem;
  font-weight: 400;
}

.greenfee-junior p:last-child {
  margin: 0;

  color: var(--muted);
}

.greenfee-junior > strong {
  display: flex;
  flex-direction: column;
  align-items: flex-end;

  font-family: var(--serif);
  font-size: 2.6rem;
  font-weight: 400;
}

.greenfee-junior > strong small {
  margin-top: 3px;

  color: var(--muted);

  font-family: var(--sans);
  font-size: .7rem;
  font-weight: 400;
}


/* ---------------------------------------------------------
   BETALING AV GREENFEE
--------------------------------------------------------- */

.greenfee-payment {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 22px;
  align-items: start;

  margin-bottom: 72px;
  padding: 30px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.greenfee-payment-icon {
  display: grid;
  place-items: center;

  width: 52px;
  height: 52px;

  border: 1px solid var(--line);
  border-radius: 50%;

  color: var(--green);

  font-family: var(--serif);
  font-size: 1rem;
}

.greenfee-payment-content h3 {
  margin: 3px 0 10px;

  font-family: var(--serif);
  font-size: 1.6rem;
  font-weight: 400;
}

.greenfee-payment-content > p:last-child {
  max-width: 720px;
  margin: 0;

  color: var(--muted);
  line-height: 1.65;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 950px) {

  .greenfee-grid {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 650px) {

  .greenfee-head h2 {
    font-size: 2.3rem;
  }

  .greenfee-card {
    padding: 24px 20px;
  }

  .greenfee-price-row {
    grid-template-columns: 1fr;
  }

  .greenfee-price-row > div + div {
    margin-top: 18px;
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-top: 18px;
  }

  .greenfee-junior {
    align-items: flex-start;
    flex-direction: column;
  }

  .greenfee-junior > strong {
    align-items: flex-start;
  }

  .greenfee-info-grid {
    grid-template-columns: 1fr;
  }

}

/* =========================================================
   MEDLEMSKAP
========================================================= */

.membership-page {
  width: 100%;
}


/* ---------------------------------------------------------
   INTRO
--------------------------------------------------------- */

.membership-head {
  margin-bottom: 36px;
}

.membership-head h2 {
  margin: 6px 0 10px;

  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
}

.membership-head > p:last-child {
  max-width: 720px;
  margin: 0;

  color: var(--muted);
  line-height: 1.65;
}


/* ---------------------------------------------------------
   MEDLEMSSEKSJONAR
--------------------------------------------------------- */

.membership-section {
  padding: 30px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.membership-section-featured {
  margin-bottom: 22px;
}

.membership-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;

  gap: 24px;

  margin-bottom: 24px;
  padding-bottom: 18px;

  border-bottom: 1px solid var(--line);
}

.membership-section-head h3 {
  margin: 2px 0 0;

  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
}

.membership-section-head > p {
  max-width: 360px;
  margin: 0;

  color: var(--muted);
  font-size: .86rem;
  line-height: 1.5;
}


/* ---------------------------------------------------------
   PRISLISTER
--------------------------------------------------------- */

.membership-price-list {
  display: grid;
}

.membership-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 24px;

  min-height: 72px;
  padding: 14px 0;
}

.membership-price-row + .membership-price-row {
  border-top: 1px solid var(--line);
}

.membership-price-row > div {
  display: grid;
  gap: 3px;
}

.membership-price-row strong {
  font-size: .9rem;
}

.membership-price-row small {
  color: var(--muted);
  font-size: .74rem;
}

.membership-price-row > span {
  flex: 0 0 auto;

  font-family: var(--serif);
  font-size: 1.4rem;
  font-weight: 400;
}


/* ---------------------------------------------------------
   JUNIOR + C-MEDLEM
--------------------------------------------------------- */

.membership-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;

  gap: 22px;

  margin-bottom: 22px;
}


/* ---------------------------------------------------------
   STØTTEMEDLEM
--------------------------------------------------------- */

.support-membership {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 30px;

  margin-bottom: 18px;
  padding: 28px 32px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.support-membership h3 {
  margin: 3px 0 7px;

  font-family: var(--serif);
  font-size: 1.6rem;
  font-weight: 400;
}

.support-membership > div > p:last-child {
  margin: 0;

  color: var(--muted);
}

.support-membership-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;

  min-width: 150px;
  padding-left: 28px;

  border-left: 1px solid var(--line);
}

.support-membership-price > span {
  margin-bottom: 5px;

  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.support-membership-price strong {
  display: flex;
  align-items: baseline;

  gap: 5px;

  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
}

.support-membership-price small {
  color: var(--muted);

  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 400;
}


/* ---------------------------------------------------------
   BEDRIFT
--------------------------------------------------------- */

.business-membership {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 36px;

  margin-bottom: 56px;
  padding: 32px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: rgba(18, 43, 33, .035);
}

.business-membership > div {
  max-width: 720px;
}

.business-membership h3 {
  margin: 3px 0 8px;

  font-family: var(--serif);
  font-size: 1.8rem;
  font-weight: 400;
}

.business-membership > div > p:last-child {
  margin: 0;

  color: var(--muted);
  line-height: 1.6;
}

.business-membership-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  flex: 0 0 auto;

  padding: 12px 0;

  color: var(--green);

  font-family: var(--serif);
  font-size: 1rem;

  text-decoration: none;
}

.business-membership-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}


/* ---------------------------------------------------------
   MEDLEMSANDEL – EIGEN SEKSJON NEDERST
--------------------------------------------------------- */

.membership-share-full {
  display: block;

  margin-top: 0;
  margin-bottom: 72px;
  padding: 34px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.membership-share-header {
  max-width: 760px;

  margin-bottom: 30px;
  padding-bottom: 24px;

  border-bottom: 1px solid var(--line);
}

.membership-share-header h3 {
  margin: 3px 0 10px;

  font-family: var(--serif);
  font-size: 2.2rem;
  font-weight: 400;
}

.membership-share-header > p:last-child {
  margin: 0;

  color: var(--muted);
  line-height: 1.65;
}


/* ---------------------------------------------------------
   MEDLEMSANDEL – BLOKKER
--------------------------------------------------------- */

.membership-share-block + .membership-share-block {
  margin-top: 28px;
  padding-top: 28px;

  border-top: 1px solid var(--line);
}

.membership-share-block-head {
  margin-bottom: 16px;
}

.membership-share-block-head > span {
  color: var(--muted);

  font-size: .7rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}


/* ---------------------------------------------------------
   PRIS PÅ MEDLEMSANDEL
--------------------------------------------------------- */

.membership-share-prices {
  display: grid;
  grid-template-columns: 1fr 1fr;

  border: 1px solid var(--line);
  border-radius: 10px;

  overflow: hidden;
}

.membership-share-prices > div {
  display: flex;
  flex-direction: column;
  justify-content: center;

  gap: 7px;

  min-height: 115px;
  padding: 22px 26px;
}

.membership-share-prices > div + div {
  border-left: 1px solid var(--line);
}

.membership-share-prices span {
  color: var(--muted);

  font-size: .7rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.membership-share-prices strong {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

  .membership-grid {
    grid-template-columns: 1fr;
  }

  .business-membership {
    align-items: flex-start;
    flex-direction: column;
  }

  .membership-share-prices {
    grid-template-columns: 1fr;
  }

  .membership-share-prices > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

}


@media (max-width: 650px) {

  .membership-head h2 {
    font-size: 2.3rem;
  }

  .membership-section,
  .membership-share-full {
    padding: 24px 20px;
  }

  .membership-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .membership-price-row {
    align-items: flex-start;
  }

  .membership-price-row > span {
    font-size: 1.2rem;
  }

  .support-membership {
    align-items: flex-start;
    flex-direction: column;

    padding: 24px 20px;
  }

  .support-membership-price {
    align-items: flex-start;

    width: 100%;
    padding-top: 18px;
    padding-left: 0;

    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .business-membership {
    padding: 24px 20px;
  }

  .membership-share-header h3 {
    font-size: 1.9rem;
  }

}

/* =========================================================
  18. BANA AKKURAT NO
========================================================= */

.course-now-page {
  width: 100%;
}


/* STATUS + VÊR */

.course-now-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  margin-bottom: 64px;
}

.course-status-card,
.course-weather-card {
  padding: 34px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}


/* BANESTATUS */

.course-status-title {
  display: flex;
  align-items: center;
  gap: 14px;

  margin: 18px 0 20px;
}

.course-status-dot {
  width: 12px;
  height: 12px;

  flex: 0 0 auto;

  border-radius: 50%;

  background: #5b9d56;
}

.course-status-title h3 {
  margin: 0;

  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
}

.course-status-title small {
  display: block;
  margin-top: 3px;

  color: var(--muted);
}

.course-status-text {
  max-width: 620px;

  margin: 0;

  color: var(--muted);
  line-height: 1.65;
}

.course-status-details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 12px;

  margin-top: 30px;
}

.course-status-details > div {
  display: grid;
  gap: 4px;

  padding-top: 14px;

  border-top: 1px solid var(--line);
}

.course-status-details > div > span {
  color: #5b9d56;
  font-size: .7rem;
}

.course-status-details strong {
  font-size: .8rem;
}

.course-status-details small {
  color: var(--muted);
  font-size: .72rem;
}

/* ---------------------------------------------------------
   STATUSOVERSIKT – BANE + SIMULATOR
--------------------------------------------------------- */

.status-overview {
  display: grid;
  padding: 0;
  overflow: hidden;
}

.status-item {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px 16px;
}

.status-item + .status-item {
  border-top: 1px solid var(--line);
}

.status-item > div {
  display: grid;
  gap: 2px;
}

.status-item strong {
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.2;
}

.status-item small {
  color: var(--muted);
  font-size: .67rem;
  line-height: 1.2;
}

.status-item .status-dot {
  width: 8px;
  height: 8px;
}

/* VÊR */

.course-weather-main {
  display: flex;
  justify-content: space-between;
  align-items: center;

  margin: 20px 0 28px;
}

.course-weather-main > div {
  display: grid;
  gap: 4px;
}

.course-weather-main strong {
  font-family: var(--serif);
  font-size: 4rem;
  font-weight: 400;
  line-height: 1;
}

.course-weather-main span {
  color: var(--muted);
}

.course-weather-icon {
  font-size: 3rem;
  color: var(--green);
}

.course-weather-details {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  border-top: 1px solid var(--line);
}

.course-weather-details > div {
  padding: 18px 12px 0 0;
}

.course-weather-details small {
  display: block;

  margin-bottom: 4px;

  color: var(--muted);

  font-size: .66rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.course-weather-details strong {
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 400;
}

.course-weather-note {
  margin: 24px 0 0;

  color: var(--muted);
  font-size: .72rem;
}


/* LIVE */

.course-live-section {
  margin-bottom: 72px;
}

.course-live-head {
  display: flex;
  align-items: end;
  justify-content: space-between;

  gap: 30px;

  margin-bottom: 24px;
  padding-bottom: 20px;

  border-bottom: 1px solid var(--line);
}

.course-live-head h3 {
  margin: 0;

  font-family: var(--serif);
  font-size: 2.6rem;
  font-weight: 400;
}

.course-live-head > p {
  margin: 0;

  color: var(--muted);
}

.course-live-player {
  overflow: hidden;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #111;
}


/* RESPONSIVE */

@media (max-width: 900px) {

  .course-now-grid {
    grid-template-columns: 1fr;
  }

}


@media (max-width: 650px) {

  .course-status-card,
  .course-weather-card {
    padding: 26px 22px;
  }

  .course-status-details,
  .course-weather-details {
    grid-template-columns: 1fr;
  }

  .course-live-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .course-live-head h3 {
    font-size: 2.1rem;
  }

}

/* =========================================================
   19. FASILITETAR VED BANA
========================================================= */

.course-facilities-page {
  width: 100%;
}


/* ---------------------------------------------------------
   INTRO
--------------------------------------------------------- */

.facilities-intro {
  margin-bottom: 42px;
}

.facilities-intro h3 {
  margin: 6px 0 10px;

  font-family: var(--serif);
  font-size: 2.8rem;
  font-weight: 400;
}

.facilities-intro > p:last-child {
  margin: 0;

  color: var(--muted);
}


/* ---------------------------------------------------------
   HOVUDSEKSJONAR
--------------------------------------------------------- */

.facility-feature {
  display: grid;
  grid-template-columns: 1fr 1.15fr;

  min-height: 360px;

  margin-bottom: 28px;

  overflow: hidden;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.facility-feature-reverse {
  grid-template-columns: 1.15fr 1fr;
}

.facility-content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 42px;
}

.facility-heading {
  display: flex;
  align-items: flex-start;

  gap: 16px;

  margin-bottom: 18px;
}

.facility-icon {
  display: grid;
  place-items: center;

  width: 40px;
  height: 40px;

  flex: 0 0 auto;

  color: var(--green);

  font-family: var(--serif);
  font-size: 1.5rem;
}

.facility-heading h3 {
  margin: 2px 0 0;

  font-family: var(--serif);
  font-size: 2.2rem;
  font-weight: 400;
}

.facility-description {
  max-width: 510px;

  margin: 0 0 14px;

  color: var(--muted);
  line-height: 1.65;
}


/* ---------------------------------------------------------
   PUNKTLISTE
--------------------------------------------------------- */

.facility-list {
  display: grid;

  gap: 14px;

  margin: 24px 0 0;
  padding: 0;

  list-style: none;
}

.facility-list li {
  display: flex;
  align-items: flex-start;

  gap: 11px;
}

.facility-list li > span {
  display: grid;
  place-items: center;

  width: 19px;
  height: 19px;

  flex: 0 0 auto;

  margin-top: 2px;

  border-radius: 50%;

  background: var(--green);
  color: #fff;

  font-size: .68rem;
}

.facility-list li > div {
  display: grid;
  gap: 2px;
}

.facility-list strong {
  font-size: .84rem;
}

.facility-list small {
  color: var(--muted);
  font-size: .74rem;
}


/* ---------------------------------------------------------
   BILDE
--------------------------------------------------------- */

.facility-image {
  min-height: 360px;
  overflow: hidden;
}

.facility-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
}


/* ---------------------------------------------------------
   PRAKTISK INFORMASJON
--------------------------------------------------------- */

.facility-practical {
  margin-top: 58px;
  padding-top: 34px;

  border-top: 1px solid var(--line);
}

.facility-practical-head {
  display: flex;
  align-items: flex-start;

  gap: 16px;

  margin-bottom: 28px;
}

.facility-practical-icon {
  display: grid;
  place-items: center;

  width: 40px;
  height: 40px;

  border: 1px solid var(--ink);
  border-radius: 50%;

  font-family: var(--serif);
  font-size: 1.2rem;
}

.facility-practical-head h3 {
  margin: 2px 0 0;

  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
}

.facility-practical-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));

  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.facility-practical-grid article {
  display: grid;
  grid-template-columns: auto 1fr;

  gap: 15px;

  min-height: 145px;

  padding: 28px 22px;
}

.facility-practical-grid article + article {
  border-left: 1px solid var(--line);
}

.practical-icon {
  display: grid;
  place-items: center;

  width: 36px;
  height: 36px;

  font-family: var(--serif);
  font-size: 1rem;
}

.facility-practical-grid h4 {
  margin: 0 0 7px;

  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 400;
}

.facility-practical-grid p {
  margin: 0;

  color: var(--muted);
  line-height: 1.5;
  font-size: .82rem;
}

.facility-link {
  display: inline-flex;
  align-items: center;

  gap: 8px;

  margin-top: 10px;
  padding: 0;

  border: 0;

  background: transparent;
  color: var(--green);

  font-family: var(--serif);
  font-size: .88rem;

  cursor: pointer;
}

.facility-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}


/* ---------------------------------------------------------
   AVSLUTNING
--------------------------------------------------------- */

.facility-end-note {
  margin-top: 58px;
  padding: 44px 20px;

  text-align: center;

  border-top: 1px solid var(--line);
}

.facility-end-note p {
  margin: 0;

  font-family: var(--serif);
  font-size: 1.5rem;
  font-style: italic;
}

.facility-end-note span {
  display: block;
  margin-top: 4px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

  .facility-feature,
  .facility-feature-reverse {
    grid-template-columns: 1fr;
  }

  .facility-feature-reverse .facility-image {
    order: 2;
  }

  .facility-feature-reverse .facility-content {
    order: 1;
  }

  .facility-practical-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .facility-practical-grid article:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .facility-practical-grid article:nth-child(4) {
    border-top: 1px solid var(--line);
  }

}


@media (max-width: 650px) {

  .facilities-intro h3 {
    font-size: 2.2rem;
  }

  .facility-content {
    padding: 28px 22px;
  }

  .facility-heading h3 {
    font-size: 1.8rem;
  }

  .facility-image {
    min-height: 240px;
  }

  .facility-practical-grid {
    grid-template-columns: 1fr;
  }

  .facility-practical-grid article + article {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .facility-practical-grid article {
    min-height: 0;
  }

}

/* =========================================================
  20. BANE – BANEGUIDE
========================================================= */


/* ---------------------------------------------------------
   OVERSIKTSKART
--------------------------------------------------------- */

.course-guide {
  width: 100%;
}

.course-map {
  display: grid;
  grid-template-columns: .72fr 1.28fr;

  min-height: 430px;

  overflow: hidden;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.course-map-content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 48px;
}

.course-map-content h3 {
  margin: 0 0 16px;

  font-family: var(--serif);
  font-size: 2.5rem;
  font-weight: 400;
}

.course-map-content > p:not(.eyebrow) {
  max-width: 410px;

  margin: 0;

  color: var(--muted);
  line-height: 1.6;
}

.course-map-image {
  position: relative;

  min-height: 430px;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;

  background: #fff;
}

.course-map-image::before {
  content: "";

  position: absolute;
  inset: 0;

  z-index: 1;

  background:
    linear-gradient(
      90deg,
      #faf8f3 0%,
      rgba(250, 248, 243, .45) 10%,
      transparent 28%
    );

  pointer-events: none;
}

.course-map-image img {
  display: block;

  width: 100%;
  height: 100%;

  max-height: 500px;

  object-fit: contain;
}


/* ---------------------------------------------------------
   BANEFakta
--------------------------------------------------------- */

.course-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  gap: 12px;

  margin-top: 38px;
}

.course-facts span {
  display: flex;
  flex-direction: column;

  padding-top: 14px;

  border-top: 1px solid var(--line);
}

.course-facts strong {
  font-family: var(--serif);
  font-size: 1.65rem;
  font-weight: 400;
}

.course-facts small {
  margin-top: 3px;

  color: var(--muted);
  font-size: .7rem;
}


/* ---------------------------------------------------------
   HOLNAVIGASJON
--------------------------------------------------------- */

.hole-navigation {
  margin-top: 72px;
}

.hole-navigation-head {
  display: flex;
  align-items: end;
  justify-content: space-between;

  gap: 30px;

  padding-bottom: 22px;

  border-bottom: 1px solid var(--line);
}

.hole-navigation-head h3 {
  margin: 0;

  font-family: var(--serif);
  font-size: 2.6rem;
  font-weight: 400;
}

.hole-navigation-head > p {
  margin: 0;

  color: var(--muted);
  font-size: .9rem;
}


/* ---------------------------------------------------------
   HOL 1–9
--------------------------------------------------------- */

.hole-selector {
  display: grid;
  grid-template-columns: repeat(9, 1fr);

  gap: 8px;

  margin: 24px 0 28px;
}

.hole-selector button {
  height: 58px;

  border: 1px solid var(--line);
  border-radius: 6px;

  background: transparent;
  color: var(--ink);

  font-family: var(--serif);
  font-size: 1rem;

  cursor: pointer;

  transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease;
}

.hole-selector button:hover {
  border-color: var(--gold);
}

.hole-selector button.active {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}


/* ---------------------------------------------------------
   HOLVISNING
--------------------------------------------------------- */

.hole-viewer {
  display: grid;
  grid-template-columns: .82fr 1.18fr;

  min-height: 610px;

  overflow: hidden;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.hole-information {
  display: flex;
  flex-direction: column;

  padding: 48px;
}

.hole-heading {
  display: flex;
  align-items: center;

  gap: 22px;

  margin-bottom: 36px;
}

.hole-number {
  display: grid;
  place-items: center;

  width: 82px;
  height: 82px;

  flex: 0 0 auto;

  border: 1px solid var(--gold);

  color: var(--green);

  font-family: var(--serif);
  font-size: 2.5rem;
}

.hole-heading h3 {
  margin: 2px 0 0;

  font-family: var(--serif);
  font-size: 2.7rem;
  font-weight: 400;
}


/* ---------------------------------------------------------
   TEELENGDER
--------------------------------------------------------- */

.hole-distances {
  display: grid;

  border-top: 1px solid var(--line);
}

.hole-distances > div {
  display: grid;
  grid-template-columns: 15px 1fr auto;
  align-items: center;

  gap: 11px;

  min-height: 46px;

  border-bottom: 1px solid var(--line);
}

.hole-distances small {
  color: var(--muted);
}

.hole-distances strong {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
}


/* Tee-fargar */

.tee {
  display: block;

  width: 10px;
  height: 10px;

  border-radius: 50%;
  border: 1px solid #a8aaa5;
}

.tee-white {
  background: #fff;
}

.tee-yellow {
  background: #e9c84a;
}

.tee-blue {
  background: #6686ae;
}

.tee-red {
  background: #bc5a52;
}

.tee-junior {
  background: #85a76e;
}


/* ---------------------------------------------------------
   SPELETIPS
--------------------------------------------------------- */

.hole-description {
  margin-top: 38px;
}

.hole-description > p:last-child {
  margin: 12px 0 0;

  color: var(--muted);

  line-height: 1.65;
}


/* ---------------------------------------------------------
   FØRRE / NESTE
--------------------------------------------------------- */

.hole-controls {
  display: flex;
  justify-content: space-between;

  gap: 14px;

  margin-top: auto;
  padding-top: 40px;
}

.hole-controls button {
  border: 0;

  background: transparent;
  color: var(--green);

  padding: 0;

  font-family: var(--serif);
  font-size: 1rem;

  cursor: pointer;
}

.hole-controls button:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
}


/* ---------------------------------------------------------
   BANekart FOR AKTIVT HOL
--------------------------------------------------------- */

.hole-map {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 610px;

  padding: 36px;

  background: #fff;
}

.hole-map img {
  display: block;

  width: 100%;
  height: 100%;

  max-height: 650px;

  object-fit: contain;
}


/* =========================================================
   BANEGUIDE – RESPONSIVE
========================================================= */

@media (max-width: 900px) {

  .course-map,
  .hole-viewer {
    grid-template-columns: 1fr;
  }

  .course-map-image {
    min-height: 420px;
  }

  .hole-map {
    min-height: 500px;
  }

  .hole-selector {
    grid-template-columns: repeat(5, 1fr);
  }

}


@media (max-width: 650px) {

  .course-map-content,
  .hole-information {
    padding: 28px 22px;
  }

  .course-map-content h3,
  .hole-navigation-head h3 {
    font-size: 2.1rem;
  }

  .course-map-image {
    min-height: 340px;
  }

  .course-facts {
    gap: 8px;
  }

  .hole-navigation {
    margin-top: 50px;
  }

  .hole-navigation-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .hole-selector {
    grid-template-columns: repeat(3, 1fr);
  }

  .hole-heading h3 {
    font-size: 2.2rem;
  }

  .hole-number {
    width: 68px;
    height: 68px;

    font-size: 2rem;
  }

  .hole-map {
    min-height: 410px;
    padding: 20px;
  }

}

/* =========================================================
   21. SCOREKORT OG SLOPE
========================================================= */

.score-slope-page {
  width: 100%;
}

.score-slope-page > .scorecard-section {
  margin-top: 28px;
  padding-top: 28px;
  position: relative;
}

.score-slope-page > .scorecard-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 32%;
  border-top: 1px solid var(--line);
}

.scorecard-section,
.slope-section {
  margin-bottom: 72px;
}

.score-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;

  margin-bottom: 26px;
  padding-bottom: 20px;

  border-bottom: 1px solid var(--line);
}

.score-section-head h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: 2.6rem;
  font-weight: 400;
}

.score-section-head > p {
  max-width: 430px;
  margin: 0;
  color: var(--muted);
}


/* SCOREKORT */

.scorecard-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #faf8f3;
}

.scorecard-table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
}

.scorecard-table th,
.scorecard-table td {
  padding: 17px 18px;
  border-bottom: 1px solid var(--line);
  text-align: center;
}

.scorecard-table thead th {
  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.scorecard-table tbody th,
.scorecard-table tfoot th {
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 400;
}

.scorecard-table tbody td,
.scorecard-table tfoot td {
  font-family: var(--serif);
  font-size: 1rem;
}

.scorecard-table tfoot {
  background: rgba(17, 77, 59, .06);
}

.scorecard-table tfoot th,
.scorecard-table tfoot td {
  border-bottom: 0;
}


/* SLOPE */

.slope-tool {
  padding: 34px;

  border: 1px solid var(--line);
  border-radius: 10px;

  background: #faf8f3;
}

.slope-controls {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.slope-controls label {
  display: grid;
  gap: 8px;

  color: var(--muted);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.slope-controls select,
.slope-controls input {
  width: 100%;
  height: 50px;

  padding: 0 14px;

  border: 1px solid var(--line);
  border-radius: 6px;

  background: #fff;
  color: var(--ink);

  font: inherit;
}

.slope-result {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  margin-top: 30px;

  border-top: 1px solid var(--line);
}

.slope-result > div {
  padding: 28px 20px 8px;
}

.slope-result > div + div {
  border-left: 1px solid var(--line);
}

.slope-result small {
  display: block;
  margin-bottom: 6px;

  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.slope-result strong {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
}

.slope-course-handicap strong {
  color: var(--green);
  font-size: 3rem;
}


@media (max-width: 650px) {

  .score-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .score-section-head h3 {
    font-size: 2.15rem;
  }

  .slope-controls,
  .slope-result {
    grid-template-columns: 1fr;
  }

  .slope-result > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

}

/* =========================================================
   22. GOLFBIL DIALOG / FORM
========================================================= */

.golfbil-dialog {
  width: min(560px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--paper);
  color: var(--ink);
  padding: 36px;
  box-shadow: 0 24px 80px #1b3c2e40;
}

.golfbil-dialog::backdrop {
  background: #071d18a8;
  backdrop-filter: blur(3px);
}

.golfbil-dialog h2 {
  font-family: var(--serif);
  font-size: 2.2rem;
  font-weight: 400;
  margin: 0 0 10px;
}

.dialog-close {
  position: absolute;
  right: 18px;
  top: 14px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.booking-summary {
  margin: 0 0 24px;
  color: var(--muted);
}

.golfbil-form {
  display: grid;
  gap: 16px;
}

.golfbil-form label {
  display: grid;
  gap: 7px;
  font-size: .88rem;
  color: var(--ink);
}

.golfbil-form label > span {
  color: var(--muted);
  font-size: .78rem;
}

.golfbil-form input,
.golfbil-form select,
.golfbil-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  padding: 13px 12px;
  font: inherit;
}

.golfbil-form textarea {
  resize: vertical;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.form-error {
  min-height: 1.2em;
  margin: 0;
  color: #9a3f34;
  font-size: .88rem;
}

.form-trap {
  position: absolute !important;
  left: -9999px !important;
}

.booking-success {
  text-align: center;
  padding: 28px 0 8px;
}

.booking-success p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.6;
}

.golfbil-dialog .continue {
  margin-top: 0;
}

.golfbil-dialog[open] {
  animation: dialog-in .18s ease-out;
}

@keyframes dialog-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.medical-toggle {
  grid-template-columns: auto 1fr !important;
  align-items: start;
  gap: 11px !important;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  cursor: pointer;
}

.golfbil-form .medical-toggle > input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  padding: 0;
  accent-color: var(--green);
}

.medical-toggle > span {
  display: grid;
  gap: 4px;
  color: var(--ink) !important;
  font-size: .86rem !important;
}

.medical-toggle strong {
  font-weight: 600;
}

.medical-toggle small {
  color: var(--muted);
  font-size: .76rem;
}

/* =========================================================
   GOLFSIMULATOR
========================================================= */

.simulator-page {
  width: 100%;
}


/* ---------------------------------------------------------
   HERO / INTRO
--------------------------------------------------------- */

.simulator-hero {
  display: grid;
  grid-template-columns: 1.25fr .75fr;

  gap: 24px;

  margin-bottom: 56px;
}

.simulator-hero-content {
  padding: 38px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.simulator-hero-content h2 {
  margin: 6px 0 14px;

  font-family: var(--serif);
  font-size: 3rem;
  font-weight: 400;
}

.simulator-hero-content > p {
  max-width: 620px;

  margin: 0;

  color: var(--muted);
  line-height: 1.65;
}


/* STATUS */

.simulator-status {
  display: flex;
  align-items: center;

  gap: 12px;

  margin-top: 28px;
}


.simulator-status div {
  display: grid;
  gap: 2px;
}

.simulator-status strong {
  font-size: .86rem;
}

.simulator-status small {
  color: var(--muted);
  font-size: .72rem;
}


/* BESTILLING */

.simulator-book-button {
  display: inline-flex;
  align-items: center;

  gap: 12px;

  margin-top: 30px;
  padding: 13px 20px;

  border: 1px solid var(--ink);
  border-radius: 999px;

  color: var(--ink);
  background: transparent;

  font-family: var(--serif);
  font-size: .95rem;

  text-decoration: none;
}

.simulator-book-button:hover {
  background: var(--ink);
  color: #fff;
}


/* ---------------------------------------------------------
   FAKTAKORT
--------------------------------------------------------- */

.simulator-hero-facts {
  display: grid;

  border: 1px solid var(--line);
  border-radius: 12px;

  overflow: hidden;

  background: #faf8f3;
}

.simulator-hero-facts > div {
  display: flex;
  flex-direction: column;
  justify-content: center;

  gap: 6px;

  padding: 28px;
}

.simulator-hero-facts > div + div {
  border-top: 1px solid var(--line);
}

.simulator-hero-facts strong {
  font-family: var(--serif);
  font-size: 2.6rem;
  font-weight: 400;
}

.simulator-hero-facts span {
  color: var(--muted);
  font-size: .78rem;
}


/* ---------------------------------------------------------
   FELLES SEKSJONSHOVUD
--------------------------------------------------------- */

.simulator-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;

  gap: 30px;

  margin-bottom: 24px;
  padding-bottom: 18px;

  border-bottom: 1px solid var(--line);
}

.simulator-section-head h3 {
  margin: 2px 0 0;

  font-family: var(--serif);
  font-size: 2.3rem;
  font-weight: 400;
}

.simulator-section-head > p {
  margin: 0;

  color: var(--muted);
}


/* ---------------------------------------------------------
   PRISAR
--------------------------------------------------------- */

.simulator-prices {
  margin-bottom: 56px;
}

.simulator-price-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);

  gap: 14px;
}

.simulator-price-grid article {
  display: flex;
  flex-direction: column;

  min-height: 230px;

  padding: 26px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: #faf8f3;
}

.simulator-price-grid article > span {
  color: var(--green);

  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.simulator-price-grid article > strong {
  display: flex;
  align-items: baseline;

  gap: 6px;

  margin-top: 20px;

  font-family: var(--serif);
  font-size: 2.3rem;
  font-weight: 400;
}

.simulator-price-grid article > strong small {
  color: var(--muted);

  font-family: var(--sans);
  font-size: .72rem;
  font-weight: 400;
}

.simulator-price-grid article p {
  margin-top: auto;
  margin-bottom: 0;

  padding-top: 24px;

  color: var(--muted);
  line-height: 1.55;
  font-size: .8rem;
}


/* ---------------------------------------------------------
   PRAKTISK INFORMASJON
--------------------------------------------------------- */

.simulator-info {
  margin-bottom: 72px;
}

.simulator-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);

  gap: 14px;
}

.simulator-info-grid article {
  display: grid;
  grid-template-columns: 48px 1fr;

  gap: 16px;

  min-height: 145px;

  padding: 24px;

  border: 1px solid var(--line);
  border-radius: 10px;

  background: #faf8f3;
}

.simulator-info-icon {
  display: grid;
  place-items: center;

  width: 40px;
  height: 40px;

  border: 1px solid var(--line);
  border-radius: 50%;

  color: var(--green);

  font-family: var(--serif);
  font-size: .8rem;
}

.simulator-info-grid strong {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
}

.simulator-info-grid p {
  margin: 7px 0 0;

  color: var(--muted);
  line-height: 1.6;
  font-size: .82rem;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

  .simulator-price-grid {
    grid-template-columns: repeat(2, 1fr);
  }

}

@media (max-width: 850px) {

  .simulator-hero {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 650px) {

  .simulator-hero-content {
    padding: 28px 22px;
  }

  .simulator-hero-content h2 {
    font-size: 2.3rem;
  }

  .simulator-price-grid {
    grid-template-columns: 1fr;
  }

  .simulator-info-grid {
    grid-template-columns: 1fr;
  }

  .simulator-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

}

/* =========================================================
   KLUBBEN – HOVUDSIDE
========================================================= */

.klubben-layout {
  display: grid;
  gap: 18px;
}


/* FELLES */

.klubben-layout button {
  font: inherit;
  color: var(--ink);
}

.klubben-feature-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.klubben-feature-title h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1.2;
}

.klubben-feature-title span,
.klubben-arrow {
  font-size: 1.15rem;
  transition: transform .2s ease;
}


/* SPONSORAR – STORT KORT */

.klubben-feature {
  width: 100%;
  min-height: 330px;
  padding: 0;

  position: relative;

  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;

  background: #faf8f3;
  text-align: left;
  cursor: pointer;
}

.klubben-feature-copy {
  position: relative;
  z-index: 2;

  width: 39%;
  min-height: 330px;
  padding: 38px;

  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.klubben-kicker {
  margin-bottom: 18px;

  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .22em;
  color: var(--green);
}

.klubben-feature-copy p {
  max-width: 350px;
  margin: 18px 0 0;

  color: var(--muted);
  line-height: 1.65;
}

.klubben-feature-copy small {
  margin-top: auto;
  color: var(--green);
  font-size: .78rem;
}


/* BILETET TIL SPONSORAR */

.klubben-feature-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;

  width: 67%;

  background-position: center;
  background-size: cover;
}

/*
  BYT FILNAMNET HER NÅR ME HAR VALT SPONSORBILETE
*/
.klubben-sponsor-image {
  background-image:
  linear-gradient(
    90deg,
    #faf8f3 0%,
    rgba(250,248,243,.96) 8%,
    rgba(250,248,243,.70) 18%,
    rgba(250,248,243,.25) 30%,
    rgba(250,248,243,0) 42%
  ),
  url("assets/voss-golf-hero.png");
}

/* AKTIVITETAR + OM KLUBBEN */

.klubben-visual-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.klubben-visual-card {
  min-height: 235px;
  padding: 0;

  position: relative;

  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;

  background: #faf8f3;
  text-align: left;
  cursor: pointer;
}

.klubben-visual-copy {
  position: relative;
  z-index: 2;

  width: 56%;
  min-height: 235px;
  padding: 28px;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

.klubben-visual-copy p {
  margin: 17px 0 0;

  color: var(--muted);
  font-size: .9rem;
  line-height: 1.6;
}

.klubben-card-image {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;

  width: 58%;

  background-size: cover;
  background-position: center;
}

.klubben-card-image::after {
  content: "";
  position: absolute;
  inset: 0;

  background: linear-gradient(
    90deg,
    #faf8f3 0%,
    rgba(250,248,243,.96) 8%,
    rgba(250,248,243,.72) 20%,
    rgba(250,248,243,.25) 35%,
    rgba(250,248,243,0) 52%
  );

  pointer-events: none;
}

/* MIDLERTIDIGE BILETE */

.klubben-aktivitetar-image,
.klubben-om-image {
  background-image: url("assets/voss-golf-hero.png");
}

/* STYRET + NYHENDEARKIV */

.klubben-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.klubben-info-card {
  min-height: 115px;
  padding: 24px 28px;

  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 17px;

  border: 1px solid var(--line);
  border-radius: 10px;

  background: #faf8f3;
  text-align: left;
  cursor: pointer;

  transition:
    border-color .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

.klubben-info-icon {
  font-family: var(--serif);
  font-size: 1.3rem;
  color: var(--green);
}

.klubben-info-card > div {
  display: grid;
  gap: 5px;
}

.klubben-info-card strong {
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 400;
}

.klubben-info-card small {
  color: var(--muted);
  font-size: .82rem;
}


/* HOVER */

.klubben-feature,
.klubben-visual-card {
  transition:
    border-color .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

.klubben-feature:hover,
.klubben-visual-card:hover,
.klubben-info-card:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
  box-shadow: 0 10px 24px rgba(36,60,43,.07);
}

.klubben-feature:hover .klubben-feature-title span,
.klubben-visual-card:hover .klubben-feature-title span,
.klubben-info-card:hover .klubben-arrow {
  transform: translateX(4px);
}


/* MOBIL */

@media (max-width: 760px) {

  .klubben-feature {
    grid-template-columns: 1fr;
  }

  .klubben-feature-copy {
    padding: 28px;
    min-height: 240px;
  }

  .klubben-feature-image {
    min-height: 220px;
  }

  .klubben-visual-grid,
  .klubben-info-grid {
    grid-template-columns: 1fr;
  }

  .klubben-visual-card {
    min-height: 210px;
  }
}

/* =========================================================
   23. KLUBBEN – SPONSORAR
========================================================= */

.sponsors-page {
  gap: 72px;
}

.sponsors-page:not([hidden]) {
  display: grid;
}


.sponsors-intro {
  max-width: 680px;
  margin-top: 8px;
}

.sponsors-intro p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.75;
}


/* ---------------------------------------------------------
   SEKSJON
--------------------------------------------------------- */

.sponsor-section {
  display: grid;
  gap: 28px;
}

.sponsor-section-heading {
  display: flex;
  align-items: flex-end;
  gap: 18px;

  padding-bottom: 18px;
  border-bottom: 1px solid var(--line);
}

.sponsor-section-number {
  color: var(--gold);
  font-family: var(--serif);
  font-size: .82rem;
}

.sponsor-section-heading .eyebrow {
  margin-bottom: 6px;
}

.sponsor-section-heading h3 {
  margin: 0;

  font-family: var(--serif);
  font-size: 1.8rem;
  font-weight: 400;
}


/* ---------------------------------------------------------
   HOVUDSPONSORAR – 10 LIKE STORE
--------------------------------------------------------- */

.main-sponsor-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.main-sponsor-card {
  aspect-ratio: 1 / .78;

  display: grid;
  place-items: center;

  padding: 24px;

  border: 1px solid var(--line);
  border-radius: 10px;

  background: #faf8f3;

  transition:
    border-color .2s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

.main-sponsor-card img {
  width: 100%;
  height: 100%;

  max-width: 165px;
  max-height: 105px;

  object-fit: contain;
}

.main-sponsor-card:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
  box-shadow: 0 10px 24px rgba(36,60,43,.07);
}


/* ---------------------------------------------------------
   ANDRE SPONSORAR – TYDELEG MINDRE
--------------------------------------------------------- */

.sponsor-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
}

.sponsor-card {
  aspect-ratio: 1 / .78;

  display: grid;
  place-items: center;

  padding: 14px;

  border: 1px solid var(--line);
  border-radius: 8px;

  background: #faf8f3;

  transition:
    border-color .2s ease,
    transform .2s ease;
}

.sponsor-card img {
  width: 100%;
  height: 100%;

  max-width: 90px;
  max-height: 58px;

  object-fit: contain;
}

.sponsor-card:hover {
  transform: translateY(-2px);
  border-color: var(--gold);
}


/* ---------------------------------------------------------
   SAMARBEID MED OSS
--------------------------------------------------------- */

.sponsor-cta {
  min-height: 250px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;

  padding: 42px 46px;

  border-radius: 12px;

  background: var(--green);
  color: #fff;
}

.sponsor-cta-copy {
  max-width: 650px;
}

.sponsor-cta-kicker {
  margin: 0 0 16px;

  color: #d3c29a;

  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .25em;
}

.sponsor-cta h3 {
  margin: 0;

  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 400;
  line-height: 1.08;
}

.sponsor-cta-copy > p:last-child {
  max-width: 520px;

  margin: 18px 0 0;

  color: rgba(255,255,255,.72);
  line-height: 1.65;
}

.sponsor-cta-button {
  flex: 0 0 auto;

  display: flex;
  align-items: center;
  gap: 30px;

  padding: 16px 20px 16px 24px;

  border: 1px solid rgba(255,255,255,.45);
  border-radius: 5px;

  color: #fff;
  text-decoration: none;
  font-family: var(--serif);

  transition:
    background .2s ease,
    color .2s ease;
}

.sponsor-cta-button:hover {
  background: #fff;
  color: var(--green);
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1100px) {

  .main-sponsor-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .sponsor-grid {
    grid-template-columns: repeat(6, 1fr);
  }

}


@media (max-width: 800px) {

  .main-sponsor-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sponsor-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .sponsor-cta {
    align-items: flex-start;
    flex-direction: column;
  }

}


@media (max-width: 520px) {

  .sponsors-page {
    gap: 52px;
  }

  .main-sponsor-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .sponsor-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .main-sponsor-card {
    padding: 18px;
  }

  .sponsor-card {
    padding: 10px;
  }

  .sponsor-cta {
    padding: 32px 26px;
  }

}

/* =========================================================
   24. FOOTER / SEARCH / ADMIN
========================================================= */

footer {
  background: #0d2f27;
  color: #fff;
  padding: 50px clamp(28px, 6vw, 100px);
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto minmax(460px, auto);
  align-items: start;
  gap: 40px 56px;
}

footer h2 {
  font-size: 1.8rem;
}

footer p {
  color: #c6d1cd;
  margin: .4rem 0;
}

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-links {
  display: flex;
  gap: 34px;
  align-items: flex-start;
}

.footer-link-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-link-group > strong {
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #c6d1cd;
}

.footer-link-row {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 8px 16px;
  align-items: center;
}

.footer-links a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,.35);
  text-underline-offset: 4px;
}

.footer-link-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.footer-link-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.footer-link-icon svg .is-fill {
  fill: currentColor;
  stroke: none;
}

.footer-links a:hover {
  text-decoration-color: currentColor;
}

footer a {
  color: #fff;
  text-decoration: none;
}

.footer-meta {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 1px solid rgba(255,255,255,.14);
  padding-top: 20px;
  margin-top: 4px;
}

.footer-meta p {
  margin: 0;
}

.admin-link {
  border: 0;
  background: transparent;
  color: #aebdb8;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  font: inherit;
  padding: 0;
}

.cms-footer-group-editor + .cms-footer-group-editor { margin-top: 18px; }

.cms-footer-group-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: end;
}
.cms-footer-group-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  padding-bottom: 1px;
}
.cms-footer-add-group {
  margin-top: 22px;
}

.cms-footer-links-editor { display: grid; gap: 12px; margin: 14px 0; }
.cms-footer-link-item { padding: 14px; border: 1px solid rgba(27,60,46,.14); border-radius: 8px; background: rgba(247,244,237,.55); }
.cms-footer-link-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
.cms-small-button { border: 1px solid rgba(27,60,46,.22); background: #fff; color: #1B3C2E; border-radius: 6px; padding: 7px 10px; cursor: pointer; }
.cms-small-button:disabled { opacity: .35; cursor: default; }

.dialog-open {
  overflow: hidden;
}

.search-dialog,
.admin-dialog {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: start center;
  padding: 120px 20px 30px;
}

.search-dialog[hidden],
.admin-dialog[hidden] {
  display: none;
}

.dialog-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(7, 28, 23, .64);
  cursor: default;
}

.search-box,
.admin-box {
  position: relative;
  width: min(680px, 100%);
  background: var(--paper);
  border-radius: 12px;
  box-shadow: 0 24px 70px #061b1666;
  padding: 30px;
}

.admin-box {
  width: min(480px, 100%);
}

.admin-box > p {
  color: var(--muted);
  margin: 22px 0 4px;
}

.search-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}

.search-head h2 {
  font: 400 2rem var(--serif);
  margin: 0;
}

.search-head button {
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}

.search-field {
  height: 58px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 16px;
}

.search-field:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 3px #9a7b3f20;
}

.search-field svg {
  width: 21px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.search-field input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  font: 1rem var(--sans);
}

.search-help,
.no-results {
  color: var(--muted);
  font-size: .88rem;
}

.search-results {
  display: grid;
  gap: 8px;
  margin-top: 20px;
  max-height: 45vh;
  overflow: auto;
}

.search-result {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  padding: 15px 17px;
  display: grid;
  grid-template-columns: 1fr auto;
  text-align: left;
  cursor: pointer;
}

.search-result:hover,
.search-result:focus-visible {
  border-color: var(--gold);
}

.search-result strong {
  font: 400 1.15rem var(--serif);
}

.search-result small {
  grid-column: 1;
  color: var(--muted);
  margin-top: 4px;
}

.search-result span {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  font-size: 1.2rem;
}


/* =========================================================
   25. RESPONSIVE
========================================================= */

@media (max-width: 1050px) {

  .desktop-nav {
    display: none;
  }

  .language-switcher {
    display: none;
  }

  .topbar {
    height: 78px;
  }

  .top-actions {
    margin-left: auto;
  }

  .menu-button {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 4px;
    width: 48px;
  }

  .menu-button span {
    display: block;
    width: 25px;
    border-top: 1.5px solid;
  }

  .menu-button b {
    font-size: .55rem;
    letter-spacing: .12em;
    margin-top: 2px;
  }

  .mobile-nav {
    display: grid;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: #faf8f3;
    padding: 12px 24px 24px;
    box-shadow: 0 12px 20px #122b211f;
  }

  .mobile-nav[hidden] {
    display: none;
  }

  .mobile-nav a {
    color: var(--ink);
    text-decoration: none;
    font-family: var(--serif);
    font-size: 1.2rem;
    padding: 14px;
    border-bottom: 1px solid var(--line);
  }

  .tabbar {
    overflow: auto;
    display: flex;
    padding: 0 20px;
  }

  .tabbar a {
    min-width: 170px;
    padding: 0 20px;
  }

  .dashboard {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .news-grid {
    grid-template-columns: 1fr 1fr;
  }

  .sponsor-logos {
    grid-template-columns: repeat(2, 1fr);
  }

  .quote {
    grid-column: 1 / -1;
  }

  .hero-note {
    display: none;
  }
}


/* =========================================================
   MOBIL
========================================================= */

@media (max-width: 650px) {

  .wordmark span:last-child {
    display: none;
  }


  /* HERO-KARUSELL */

  .hero-arrow {
    width: 40px;
    height: 40px;
    font-size: 1.7rem;
  }

  .hero-arrow-prev {
    left: 10px;
  }

  .hero-arrow-next {
    right: 10px;
  }

  .hero-dots {
    bottom: 18px;
  }


  /* HERO */

  .hero {
  height: clamp(640px, 72vh, 760px);
  min-height: 640px;
  position: relative;
  overflow: hidden;
}

  .hero > img {
    object-position: 64% center;
  }

  .hero-wash {
    background:
      linear-gradient(
        180deg,
        rgba(249, 247, 241, .96) 0%,
        rgba(249, 247, 241, .79) 47%,
        rgba(249, 247, 241, .04) 78%
      );
  }

 .hero-content {
  position: relative;
  z-index: 2;
  padding: 68px clamp(28px, 6.4vw, 106px) 52px;
  max-width: 700px;
}

  .hero h1 {
    font-size: 3.5rem;
  }

  .lead {
    font-size: 1.03rem;
    max-width: 360px;
  }

  .hero-buttons {
    margin-top: 26px;
  }

  .hero-buttons a {
    padding: 14px 17px;
  }

  .status {
    left: 24px;
    right: auto;
    bottom: 20px;
  }


  /* HOVUDFANER */

  .tabbar {
    display: none;
  }


  /* DASHBOARD / NYHEITER */

  .dashboard,
  .news {
    padding: 48px 18px;
  }

  .booking {
    padding: 24px 18px;
  }

  .booking h2,
  .tournaments h2,
  .news h2 {
    font-size: 2rem;
  }

  .times {
    grid-template-columns: repeat(3, 1fr);
  }

  .legend {
    gap: 12px;
    flex-wrap: wrap;
  }


  /* TURNERINGAR */

  .event {
    grid-template-columns: 58px 38px 1fr 15px;
    gap: 11px;
  }

  .event time b {
    font-size: 1.9rem;
  }

  .event-icon {
    font-size: 1.5rem;
  }

  .event h3 {
    font-size: 1.14rem;
  }


  /* NYHEITER */

  .news-grid {
    grid-template-columns: 1fr;
  }

  .quote {
    grid-column: auto;
  }


  /* SPONSORAR */

  .sponsor-logos {
    grid-template-columns: 1fr;
  }

  .main-sponsors {
    padding: 48px 18px 54px;
  }

  .main-sponsors h2 {
    font-size: 2rem;
  }

  .sponsor-placeholder {
    min-height: 105px;
  }


  /* UNDERSIDER */

  .section-panel {
    padding: 48px 22px;
    min-height: 360px;
  }

  .section-panel h2 {
    font-size: 2.2rem;
  }

  .panel-links {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }


  /* SUBHERO */

  .subhero {
    height: 230px;
  }

  .subhero-content {
    padding: 42px 24px;
  }

  .subhero h1 {
    font-size: 2.8rem;
  }


  /* UNDERFANER */

  .subtabs {
    grid-template-columns: 1fr;
  }

  .subtabs button {
    min-height: 125px;
    padding: 21px;
  }

  .back-to-overview {
    margin-bottom: 32px;
  }


  /* GOLFBIL */

  .golfbil-dialog {
    padding: 30px 20px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }


  /* FOOTER */

  footer {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .footer-links {
    flex-direction: column;
    gap: 20px;
  }

  .footer-meta {
    grid-column: auto;
    align-items: center;
  }


  /* SØK / ADMIN */

  .search-dialog,
  .admin-dialog {
    padding: 90px 14px 20px;
  }

  .search-box,
  .admin-box {
    padding: 22px;
  }

  .search-head h2 {
    font-size: 1.65rem;
  }
}


/* =========================================================
   REDUSERT RØRSLE
========================================================= */

@media (prefers-reduced-motion: reduce) {

  html {
    scroll-behavior: auto;
  }

}

/* =========================================================
   CMS / ADMIN – LOCAL PROTOTYPE
========================================================= */
.admin-box {
  max-height: min(88vh, 900px);
  overflow: auto;
}
.cms-admin-intro {
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.6;
}
.cms-admin-toolbar {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0 16px;
  background: var(--paper, #faf8f3);
  border-bottom: 1px solid var(--line);
}
.cms-admin-toolbar input {
  flex: 1 1 230px;
  min-width: 180px;
}
.cms-admin-toolbar button,
.cms-admin-toolbar input,
.cms-admin-field input,
.cms-admin-field textarea {
  font: inherit;
}
.cms-admin-toolbar button {
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
}
.cms-admin-toolbar .cms-save {
  background: var(--green);
  color: #fff;
  border-color: var(--green);
}
.cms-admin-content {
  display: grid;
  gap: 10px;
  padding-top: 14px;
}
.cms-admin-group {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255,255,255,.35);
}
.cms-admin-group > summary {
  cursor: pointer;
  padding: 14px 16px;
  font-family: var(--serif);
  font-size: 1.12rem;
}
.cms-admin-fields {
  display: grid;
  gap: 12px;
  padding: 0 16px 16px;
}
.cms-admin-field {
  display: grid;
  gap: 6px;
}
.cms-admin-field > span {
  color: var(--muted);
  font-size: .78rem;
}
.cms-admin-field input,
.cms-admin-field textarea,
.cms-admin-toolbar input {
  width: 100%;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
}
.cms-admin-field textarea {
  resize: vertical;
  line-height: 1.45;
}
.cms-admin-structured textarea {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .78rem;
}
/* =========================================================
   26. CMS / ADMIN – BRUKARVENLEG REDIGERING
========================================================= */
.admin-dialog {
  padding: 26px;
  place-items: center;
}
.admin-box.cms-admin-shell {
  width: min(1240px, 96vw);
  height: min(900px, 92vh);
  min-width: 760px;
  min-height: 520px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 32px);
  padding: 0;
  overflow: hidden;
  resize: both;
  background: #f7f4ed;
}

/* Synleg hint om at adminvindauget kan endrast i storleik. */
.admin-box.cms-admin-shell::after {
  content: "";
  position: absolute;
  right: 7px;
  bottom: 7px;
  width: 14px;
  height: 14px;
  pointer-events: none;
  opacity: .5;
  background:
    linear-gradient(135deg,
      transparent 0 42%,
      var(--green) 43% 49%,
      transparent 50% 63%,
      var(--green) 64% 70%,
      transparent 71%);
}
.cms-admin-shell > .search-head {
  min-height: 74px;
  margin: 0;
  padding: 0 24px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.cms-admin-shell > .search-head h2 {
  font-size: 1.55rem;
}
.cms-admin-layout {
  display: grid;
  grid-template-columns: 220px minmax(0,1fr);
  height: calc(100% - 74px);
}
.cms-admin-nav {
  padding: 18px 12px;
  overflow-y: auto;
  background: #102f28;
  color: #fff;
}
.cms-admin-nav-title {
  padding: 14px 12px 7px;
  color: #91aaa3;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .18em;
}
.cms-admin-nav button {
  width: 100%;
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  gap: 7px;
  padding: 10px 12px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #dce6e2;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.cms-admin-nav button span {
  display: grid;
  place-items: center;
  min-width: 24px;
  color: #b9c9c4;
  font-family: var(--serif);
}
.cms-admin-nav button b { font-size: .88rem; font-weight: 500; }
.cms-admin-nav button:hover { background: rgba(255,255,255,.07); }
.cms-admin-nav button.is-active { background: #fff; color: var(--ink); }
.cms-admin-nav button.is-active span { color: var(--green); }
.cms-admin-main {
  min-width: 0;
  overflow-y: auto;
  padding: 30px 34px 46px;
}
.cms-admin-topline {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--line);
}
.cms-admin-kicker {
  margin: 0 0 5px;
  color: var(--green);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .2em;
}
.cms-admin-topline h3 {
  margin: 0;
  font: 400 2.35rem/1 var(--serif);
}
.cms-admin-topline > div:first-child > p:last-child {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .9rem;
}
.cms-admin-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
}
.cms-save-state { color: var(--muted); font-size: .74rem; }
.cms-save-state.is-dirty { color: #8c6425; font-weight: 600; }
.cms-save,
.cms-secondary-button,
.cms-danger-button {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 11px 15px;
  background: #fff;
  color: var(--ink);
  font: 600 .82rem var(--sans);
  cursor: pointer;
}
.cms-save { background: var(--green); border-color: var(--green); color: #fff; }
.cms-save:disabled { opacity: .42; cursor: default; }
.cms-admin-message {
  position: sticky;
  top: -10px;
  z-index: 5;
  margin: -8px 0 18px;
  padding: 11px 14px;
  border-radius: 7px;
  font-size: .85rem;
}
.cms-admin-message.is-success { background: #e4efe7; color: #24563a; border: 1px solid #bfd7c5; }
.cms-admin-message.is-error { background: #fae8e5; color: #8c342f; border: 1px solid #eac3bd; }
.cms-admin-view { min-height: 400px; }
.cms-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.cms-dashboard-card {
  min-height: 112px;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.cms-dashboard-card:hover { border-color: var(--gold); box-shadow: 0 8px 24px rgba(20,50,40,.06); }
.cms-dashboard-icon { font: 400 1.35rem var(--serif); color: var(--green); }
.cms-dashboard-card div { display: grid; gap: 5px; }
.cms-dashboard-card b { font: 400 1.25rem var(--serif); }
.cms-dashboard-card small { color: var(--muted); line-height: 1.35; }
.cms-dashboard-card i { font-style: normal; font-size: 1.2rem; }
.cms-help-box,
.cms-safe-note,
.cms-warning-box {
  margin-top: 20px;
  padding: 17px 19px;
  border-radius: 8px;
  border: 1px solid #d5ded9;
  background: #eef3f0;
}
.cms-help-box b,
.cms-warning-box b { font: 400 1.05rem var(--serif); }
.cms-help-box p,
.cms-warning-box p { margin: 6px 0 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.cms-warning-box { background: #faf1df; border-color: #e7d5ab; }
.cms-safe-note { margin: 0 0 16px; color: #486159; font-size: .82rem; }
.cms-two-col { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items:start; }
.cms-card {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.cms-card-head { padding: 19px 20px 15px; border-bottom: 1px solid #ece8df; }
.cms-card-head h4 { margin: 0; font: 400 1.3rem var(--serif); }
.cms-card-head p { margin: 6px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.cms-card-body { display: grid; gap: 15px; padding: 19px 20px 21px; }
.cms-field { display: grid; gap: 6px; }
.cms-field-label { font-size: .78rem; font-weight: 600; color: #354d46; }
.cms-field input,
.cms-field textarea,
.cms-page-search {
  width: 100%;
  border: 1px solid #d4d0c6;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  padding: 10px 11px;
  font: .9rem var(--sans);
  outline: none;
}
.cms-field textarea { resize: vertical; min-height: 80px; line-height: 1.5; }
.cms-field input:focus,
.cms-field textarea:focus,
.cms-page-search:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(154,123,63,.12); }
.cms-field input:invalid { border-color: #b94a48; }
.cms-field small { color: var(--muted); font-size: .71rem; line-height: 1.4; }
.cms-status-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cms-status-choice button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #faf9f5;
  color: var(--ink);
  cursor: pointer;
  font: 600 .82rem var(--sans);
}
.cms-status-choice button i { width: 9px; height: 9px; border-radius: 50%; background: #aab0ad; }
.cms-status-choice button.is-active { border-width: 2px; background: #fff; }
.cms-status-choice button.is-open { border-color: var(--status-open); }
.cms-status-choice button.is-open i { background: var(--status-open); }
.cms-status-choice button.is-closed { border-color: var(--status-closed); }
.cms-status-choice button.is-closed i { background: var(--status-closed); }
.cms-price-grid,
.cms-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.cms-section-tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.cms-section-tools p { margin: 0; color: var(--muted); }
.cms-section-tools > div { display: grid; gap: 3px; }
.cms-section-tools > div b { font: 400 1.05rem var(--serif); }
.cms-section-tools > div small { color: var(--muted); }
.cms-page-search { max-width: 310px; }
.cms-content-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 16px; }
.cms-content-fields .cms-field { padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
.cms-sponsor-list { display: grid; gap: 14px; }
.cms-sponsor-editor {
  display: grid;
  grid-template-columns: 150px minmax(0,1fr) 210px;
  gap: 18px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  position: relative;
}
.cms-sponsor-preview {
  min-height: 110px;
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #e5e0d6;
  border-radius: 8px;
  background: #faf9f5;
  text-align: center;
}
.cms-sponsor-preview img { width: 100%; height: 62px; object-fit: contain; }
.cms-sponsor-preview span { color: var(--muted); font-size: .7rem; overflow-wrap: anywhere; }
.cms-sponsor-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cms-sponsor-fields .cms-field:nth-child(3) { grid-column: 1 / -1; }
.cms-sponsor-options { display: grid; gap: 10px; }
.cms-toggle-row {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 40px;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 7px;
  cursor: pointer;
}
.cms-toggle-row > span { display: grid; gap: 3px; }
.cms-toggle-row b { font-size: .78rem; }
.cms-toggle-row small { color: var(--muted); font-size: .66rem; line-height: 1.3; }
.cms-toggle-row input { position: absolute; opacity: 0; pointer-events: none; }
.cms-toggle-row i { width: 38px; height: 22px; border-radius: 99px; background: #c9cecb; position: relative; }
.cms-toggle-row i::after { content:""; position:absolute; width:16px; height:16px; left:3px; top:3px; border-radius:50%; background:#fff; transition:.2s; }
.cms-toggle-row input:checked + i { background: var(--green); }
.cms-toggle-row input:checked + i::after { transform: translateX(16px); }
.cms-danger-link {
  position: absolute;
  right: 18px;
  bottom: 14px;
  border: 0;
  background: transparent;
  color: #9b4540;
  font: .72rem var(--sans);
  text-decoration: underline;
  cursor: pointer;
}
.cms-maintenance-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cms-danger-button { color: #8d3a35; border-color: #d7aaa6; background: #fff8f7; }

@media (max-width: 900px) {
  .admin-dialog { padding: 0; }
  .admin-box.cms-admin-shell { width: 100vw; height: 100vh; min-width: 0; min-height: 0; max-width: none; max-height: none; border-radius: 0; resize: none; }
  .admin-box.cms-admin-shell::after { display: none; }
  .cms-admin-layout { grid-template-columns: 74px minmax(0,1fr); }
  .cms-admin-nav { padding: 12px 8px; }
  .cms-admin-nav-title { display: none; }
  .cms-admin-nav button { grid-template-columns: 1fr; justify-items: center; padding: 10px 5px; margin-bottom: 3px; }
  .cms-admin-nav button b { font-size: .62rem; text-align: center; }
  .cms-admin-main { padding: 24px 20px 40px; }
  .cms-admin-topline { align-items: flex-start; flex-direction: column; gap: 16px; }
  .cms-admin-actions { width: 100%; justify-content: space-between; }
  .cms-dashboard-grid,.cms-two-col,.cms-content-fields { grid-template-columns: 1fr; }
  .cms-sponsor-editor { grid-template-columns: 120px 1fr; padding-bottom: 48px; }
  .cms-sponsor-options { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .cms-admin-shell > .search-head { min-height: 64px; padding: 0 16px; }
  .cms-admin-layout { height: calc(100% - 64px); grid-template-columns: 1fr; }
  .cms-admin-nav { display: flex; overflow-x: auto; overflow-y: hidden; min-height: 62px; padding: 7px; }
  .cms-admin-nav button { min-width: 72px; margin: 0; }
  .cms-admin-main { padding: 20px 14px 34px; }
  .cms-admin-topline h3 { font-size: 2rem; }
  .cms-save-state { display: none; }
  .cms-save { width: 100%; }
  .cms-admin-actions { width: 100%; }
  .cms-price-grid,.cms-form-grid,.cms-sponsor-fields { grid-template-columns: 1fr; }
  .cms-sponsor-fields .cms-field:nth-child(3) { grid-column: auto; }
  .cms-sponsor-editor { grid-template-columns: 1fr; }
  .cms-sponsor-preview { min-height: 90px; }
  .cms-sponsor-options { grid-column: auto; grid-template-columns: 1fr; }
  .cms-section-tools { align-items: stretch; flex-direction: column; }
  .cms-page-search { max-width: none; }
}

/* =========================================================
   ADMIN – RYDDA SIDEEDITOR
========================================================= */
.cms-page-safe-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 14px;
  align-items: start;
  padding: 14px 16px;
  margin-bottom: 20px;
  border: 1px solid #d9e4dc;
  border-radius: 8px;
  background: #f6faf7;
}
.cms-page-safe-note b { font-size: .8rem; color: var(--green); }
.cms-page-safe-note span { font-size: .8rem; line-height: 1.5; color: #52635e; }
.cms-page-sections { display: grid; gap: 14px; }
.cms-page-section {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.cms-page-section > summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  cursor: pointer;
  user-select: none;
  background: #fbfaf6;
}
.cms-page-section > summary::-webkit-details-marker { display: none; }
.cms-page-section > summary:hover { background: #f7f4ec; }
.cms-page-section > summary > div { display: grid; gap: 4px; }
.cms-page-section > summary b { font: 400 1.18rem var(--serif); color: var(--ink); }
.cms-page-section > summary small { color: var(--muted); font-size: .74rem; }
.cms-section-chevron { color: var(--green); font-size: 1rem; transition: transform .2s ease; }
.cms-page-section[open] .cms-section-chevron { transform: rotate(180deg); }
.cms-page-section-body { padding: 18px; border-top: 1px solid #ece8df; }
.cms-page-section .cms-content-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cms-page-section .cms-field { padding: 13px 14px; background: #fff; border-color: #e1ddd4; }
.cms-field-context { margin-top: 2px; color: #84908c !important; font-size: .68rem !important; }

@media (max-width: 900px) {
  .cms-page-section .cms-content-fields { grid-template-columns: 1fr; }
  .cms-page-safe-note { grid-template-columns: 1fr; }
}

/* =========================================================
   ADMIN – HEIM / NYHEITER / BANE STRUKTURERT
========================================================= */
.cms-safe-note {
  display:grid; grid-template-columns:auto 1fr; gap:10px 14px; align-items:start;
  padding:14px 16px; margin-bottom:20px; border:1px solid #d9e4dc; border-radius:9px; background:#f6faf7;
}
.cms-safe-note b{font-size:.8rem;color:var(--green)}
.cms-safe-note span{font-size:.8rem;line-height:1.5;color:#52635e}
.cms-image-picker{display:grid;gap:10px;padding:14px;border:1px solid #e1ddd4;border-radius:9px;background:#fff}
.cms-image-preview{height:170px;border-radius:8px;overflow:hidden;background:#f1eee7;border:1px solid #e1ddd4}
.cms-image-preview img{width:100%;height:100%;object-fit:cover;display:block}
.cms-image-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cms-image-actions small{color:var(--muted);font-size:.72rem;line-height:1.4;max-width:520px}
.cms-news-admin-list{display:grid;gap:14px}
.cms-news-editor{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}
.cms-news-summary{display:grid;grid-template-columns:110px 1fr auto;gap:16px;align-items:center;padding:14px}
.cms-news-summary img{width:110px;height:76px;object-fit:cover;border-radius:7px;background:#eee}
.cms-news-summary h4{font:400 1.15rem var(--serif);margin:4px 0;color:var(--ink)}
.cms-news-summary small{color:var(--muted);font-size:.72rem}
.cms-news-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.66rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:#ece9e2;color:#5d6864}
.cms-news-status.is-published{background:#e6f1e8;color:#2f6a3b}
.cms-news-status.is-scheduled{background:#edf0f7;color:#4c5f88}
.cms-news-status.is-draft{background:#f2eee4;color:#7b6740}
.cms-news-form{border-top:1px solid var(--line);padding:18px;display:grid;gap:16px;background:#fbfaf6}
.cms-news-form[hidden]{display:none}
.cms-news-publish,.cms-link-editor{display:grid;gap:10px;padding:14px;border:1px solid #e1ddd4;border-radius:9px;background:#fff}
.cms-segmented{display:flex;gap:8px;flex-wrap:wrap}
.cms-segmented button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 13px;cursor:pointer;color:var(--ink)}
.cms-segmented button.is-active{background:var(--green);color:#fff;border-color:var(--green)}
.cms-link-editor select,.cms-slope-row select{min-height:42px;border:1px solid #d7d1c5;border-radius:7px;background:#fff;padding:0 10px;color:var(--ink)}
.cms-course-section-grid{display:grid;gap:14px}
.cms-course-editor-card{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}
.cms-course-editor-preview{display:grid;grid-template-columns:180px 1fr auto;gap:18px;align-items:center;padding:14px}
.cms-course-editor-preview>img{width:180px;height:105px;object-fit:cover;border-radius:8px;background:#eee}
.cms-course-editor-preview h4{font:400 1.25rem var(--serif);margin:0 0 5px}
.cms-course-editor-preview p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}
.cms-course-editor-body{border-top:1px solid var(--line);padding:18px;background:#fbfaf6;display:grid;gap:16px}
.cms-course-editor-body[hidden]{display:none}
.cms-hole-list{display:grid;gap:10px}
.cms-hole-editor{border:1px solid #e1ddd4;border-radius:9px;background:#fff;overflow:hidden}
.cms-hole-editor summary{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none}
.cms-hole-editor summary::-webkit-details-marker{display:none}
.cms-hole-editor summary span{color:var(--muted);font-size:.78rem}
.cms-hole-fields{border-top:1px solid #ece8df;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cms-hole-fields .cms-image-picker,.cms-hole-fields .cms-field:last-child{grid-column:1/-1}
.cms-slope-admin{display:grid;gap:10px}
.cms-slope-admin h5{font:400 1.05rem var(--serif);margin:8px 0 0}
.cms-slope-row{display:grid;grid-template-columns:90px 1fr 1fr;gap:10px;align-items:end;padding:10px;border:1px solid #e1ddd4;border-radius:8px;background:#fff}
.cms-slope-row>b{align-self:center}
@media(max-width:800px){
 .cms-news-summary,.cms-course-editor-preview{grid-template-columns:1fr}
 .cms-news-summary img,.cms-course-editor-preview>img{width:100%;height:150px}
 .cms-hole-fields,.cms-slope-row{grid-template-columns:1fr}
 .cms-hole-fields .cms-image-picker,.cms-hole-fields .cms-field:last-child{grid-column:auto}
 .cms-safe-note{grid-template-columns:1fr}
}

/* Nyheiter: tydeleg to-stegs publisering */
.cms-news-publish-action{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding-top:4px;
}
.cms-news-action-button{
  border:0;
  border-radius:8px;
  background:var(--green);
  color:#fff;
  padding:12px 18px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.cms-news-action-button:hover{filter:brightness(.96)}
.cms-news-publish-action small{color:#68736f;line-height:1.4}

/* FASE 10 – tydeleg handling nederst i nyheitseditor */
.cms-news-publish-action-bottom {
  margin-top: 2px;
  padding: 16px;
  border: 1px solid #d8d2c7;
  border-radius: 9px;
  background: #fff;
}

.cms-danger-button {
  justify-self: start;
  min-height: 44px;
  padding: 11px 18px;
  border: 1px solid #b54842;
  border-radius: 7px;
  background: #b54842;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.cms-danger-button:hover {
  background: #9f3c37;
  border-color: #9f3c37;
}

.cms-danger-button:focus-visible {
  outline: 3px solid rgba(181,72,66,.22);
  outline-offset: 2px;
}

/* FASE 11 – publisering og sletting på same linje */
.cms-news-publish-action-bottom {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

.cms-news-publish-action-bottom [data-news-action-help] {
  margin-right: auto;
}

.cms-news-publish-action-bottom .cms-danger-button {
  margin-left: auto;
  flex: 0 0 auto;
}

@media (max-width: 700px) {
  .cms-news-publish-action-bottom {
    flex-wrap: wrap;
  }
  .cms-news-publish-action-bottom [data-news-action-help] {
    flex: 1 1 100%;
    order: 3;
  }
  .cms-news-publish-action-bottom .cms-danger-button {
    margin-left: auto;
  }
}

/* Fase 15 – visuell Sider-editor */
.cms-visual-page{display:grid;gap:18px}
.cms-visual-note{margin-bottom:2px}
.cms-visual-section{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.cms-visual-section-head{padding:20px 22px;background:#fbfaf6;border-bottom:1px solid #e8e3d9}
.cms-visual-section-head span{display:block;font-size:.62rem;letter-spacing:.18em;font-weight:700;color:#527166;margin-bottom:6px}
.cms-visual-section-head h3{margin:0;font:400 1.35rem var(--serif);color:var(--ink)}
.cms-visual-section-head p{margin:5px 0 0;color:var(--muted);font-size:.78rem}
.cms-visual-blocks{display:grid;gap:0}
.cms-visual-block{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 22px;border-bottom:1px solid #eee9df}
.cms-visual-block:last-child{border-bottom:0}
.cms-visual-copy{min-width:0}
.cms-visual-copy>small{display:block;margin-bottom:7px;color:#527166;font-weight:700;font-size:.72rem}
.cms-visual-value{font-size:.94rem;line-height:1.55;color:var(--ink);white-space:pre-line;max-width:760px}
.cms-visual-editor{grid-column:1/-1;padding:16px;margin-top:2px;border:1px solid #dfd9cd;border-radius:9px;background:#f8f6f0;display:grid;gap:12px}
.cms-visual-editor[hidden]{display:none}
.cms-visual-editor .cms-field{padding:0!important;border:0!important;background:transparent!important}
.cms-visual-edit{min-width:82px}
@media(max-width:760px){.cms-visual-block{grid-template-columns:1fr}.cms-visual-edit{justify-self:start}.cms-visual-section-head,.cms-visual-block{padding-left:16px;padding-right:16px}}


/* =========================================================
   FASE 17 – TRE HOVUDSTATUSAR
========================================================= */
.status-overview {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(650px, calc(100vw - 32px));
}
.status-overview .status-item {
  min-width: 0;
  padding: 13px 16px;
}
.status-overview .status-item + .status-item {
  border-top: 0;
  border-left: 1px solid var(--line);
}
.status-overview .status-item strong,
.status-overview .status-item small {
  white-space: normal;
}
.course-main-statuses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin: 18px 0 20px;
}
.course-main-statuses .course-status-title {
  margin: 0;
  min-width: 0;
}
.course-main-statuses .course-status-title + .course-status-title {
  padding-left: 28px;
  border-left: 1px solid var(--line);
}
.course-main-statuses .course-status-title h3 {
  font-size: clamp(1.35rem, 2vw, 2rem);
}
.course-status-details {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 720px) {
  .status-overview {
    grid-template-columns: 1fr;
    width: min(330px, calc(100vw - 24px));
  }
  .status-overview .status-item + .status-item {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .course-main-statuses {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .course-main-statuses .course-status-title + .course-status-title {
    padding-left: 0;
    padding-top: 14px;
    border-left: 0;
    border-top: 1px solid var(--line);
  }
}

/* Fase 19 – kompakt hovudstatus på Bana akkurat no */
.course-main-statuses {
  display: flex;
  align-items: center;
  gap: 0;
}
.course-main-statuses .course-status-title {
  flex: 1 1 0;
  display: flex;
  align-items: center;
}
.course-main-statuses .course-status-title h3 {
  font-size: clamp(1.15rem, 1.55vw, 1.45rem);
  white-space: nowrap;
}
.course-main-statuses .course-status-title h3 span {
  font: inherit;
}
@media (max-width: 720px) {
  .course-main-statuses {
    display: grid;
    grid-template-columns: 1fr;
  }
  .course-main-statuses .course-status-title h3 {
    white-space: normal;
  }
}


/* Fase 20 – snarveg frå Sider → Prisar til Innhald → Prisar */
.cms-visual-page{}
.cms-help-box:has(.cms-price-jump-button){
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.cms-price-help-copy{min-width:0;}
.cms-price-help-copy p{max-width:760px;}
.cms-price-jump-button{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:11px 16px;
  border:1px solid #c9d4ce;
  border-radius:7px;
  background:#fff;
  color:var(--green);
  font:600 .82rem var(--sans);
  cursor:pointer;
}
.cms-price-jump-button:hover{border-color:var(--green);background:#f8faf8;}
.cms-price-jump-button span{font-size:1rem;}
@media (max-width:700px){
  .cms-help-box:has(.cms-price-jump-button){align-items:stretch;flex-direction:column;}
  .cms-price-jump-button{justify-content:center;width:100%;}
}


/* Fase 21 – Golfsimulator admin */
.cms-simulator-practical-admin .cms-visual-section-head { align-items:center; }
.cms-simulator-info-list { display:grid; }
.cms-simulator-info-item { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:18px; align-items:center; padding:18px 20px; border-top:1px solid rgba(18,55,46,.12); }
.cms-simulator-info-number { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(18,55,46,.18); border-radius:50%; color:#315f52; font-size:12px; }
.cms-simulator-info-copy b { display:block; margin-bottom:4px; color:#173d34; }
.cms-simulator-info-copy p { margin:0; color:#6f7773; font-size:14px; }
.cms-simulator-info-actions { display:flex; gap:8px; }
.cms-simulator-info-editor { grid-column:2 / -1; display:grid; grid-template-columns:1fr 2fr; gap:14px; padding-top:6px; }
.cms-simulator-info-editor[hidden] { display:none; }
@media (max-width:760px) {
  .cms-simulator-info-item { grid-template-columns:42px 1fr; }
  .cms-simulator-info-actions,.cms-simulator-info-editor { grid-column:1 / -1; }
  .cms-simulator-info-editor { grid-template-columns:1fr; }
}


/* =========================================================
   FASE 23 – KLUBBEN: TO HOVUDKORT + ENKLE SNARVEGAR
========================================================= */
.klubben-layout-new { gap: 20px; }
.klubben-story-card {
  width: 100%; min-height: 300px; padding: 0; display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 58%);
  border: 1px solid var(--line); border-radius: 10px; overflow: hidden;
  background: #faf8f3; text-align: left; cursor: pointer;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.klubben-story-card-left { grid-template-columns: minmax(0, 58%) minmax(0, 42%); }
.klubben-story-copy { padding: 38px; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 2; }
.klubben-story-copy p { max-width: 430px; margin: 18px 0 0; color: var(--muted); line-height: 1.65; }
.klubben-story-image { min-height: 300px; position: relative; overflow: hidden; }
.klubben-story-image img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
/* Gjenbrukbar mjuk overgang mellom tekstflate og bilete.
   Legg .image-fade på bilete-wrapperen og vel retning med
   .image-fade-left / .image-fade-right. */
.image-fade {
  position: relative;
  overflow: hidden;
}
.image-fade::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.image-fade-left::after {
  background: linear-gradient(
    90deg,
    #faf8f3 0%,
    rgba(250,248,243,.98) 7%,
    rgba(250,248,243,.90) 16%,
    rgba(250,248,243,.72) 28%,
    rgba(250,248,243,.46) 42%,
    rgba(250,248,243,.22) 56%,
    rgba(250,248,243,.07) 68%,
    rgba(250,248,243,0) 78%
  );
}
.image-fade-right::after {
  background: linear-gradient(
    270deg,
    #faf8f3 0%,
    rgba(250,248,243,.98) 7%,
    rgba(250,248,243,.90) 16%,
    rgba(250,248,243,.72) 28%,
    rgba(250,248,243,.46) 42%,
    rgba(250,248,243,.22) 56%,
    rgba(250,248,243,.07) 68%,
    rgba(250,248,243,0) 78%
  );
}
.klubben-story-card:hover { transform: translateY(-2px); border-color: var(--gold); box-shadow: 0 10px 24px rgba(36,60,43,.07); }
.klubben-story-card:hover .klubben-feature-title span { transform: translateX(4px); }
.klubben-info-card-simple { grid-template-columns: 1fr auto; min-height: 105px; padding: 24px 28px; }
@media (max-width: 760px) {
  .klubben-story-card, .klubben-story-card-left { grid-template-columns: 1fr; }
  .klubben-story-card-left .klubben-story-image { order: 2; }
  .klubben-story-copy { padding: 28px; }
  .klubben-story-image { min-height: 220px; }
}

/* Fase 25: Bane-oversikta brukar same mjuke, gjenbrukbare gradient som Klubben. */
.bane-card-image.image-fade::after {
  /* Retninga og stoppen kjem frå .image-fade-left / .image-fade-right. */
}

/* Den gamle Bane-gradienten skal ikkje overstyre den gjenbrukbare varianten. */
.bane-card-image:not(.image-fade)::after {
  background: none;
}

@media (max-width: 760px) {
  .bane-card-image.image-fade-left::after,
  .bane-card-image.image-fade-right::after {
    background: linear-gradient(
      180deg,
      #faf8f3 0%,
      rgba(250,248,243,.90) 12%,
      rgba(250,248,243,.62) 26%,
      rgba(250,248,243,.30) 42%,
      rgba(250,248,243,.08) 56%,
      rgba(250,248,243,0) 68%
    );
  }
}

/* =========================================================
   FASE 26 – OM VOSS GOLFKLUBB
   Same subhero som resten av sida + redaksjonell historieside
========================================================= */
.klubben-about-page {
  display: grid;
  gap: 22px;
  margin-top: 8px;
}

.klubben-about-page[hidden] { display: none; }

.klubben-about-story {
  display: grid;
  min-height: 350px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

/* På denne sida er tekst/bilete sjølve artikkelen – ikkje klikkbare kort. */
.klubben-about-story-right {
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
}

.klubben-about-story-left {
  grid-template-columns: minmax(0, 55%) minmax(0, 45%);
  margin-top: 30px;
  padding-top: clamp(42px, 5vw, 64px);
  border-top: 1px solid var(--line);
}

.klubben-about-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(32px, 4vw, 54px);
}

.klubben-about-copy h3,
.klubben-milestones h3 {
  margin: 8px 0 18px;
  color: var(--green);
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 400;
  line-height: 1.08;
}

.klubben-about-copy > p:not(.eyebrow) {
  max-width: 570px;
  margin: 0 0 14px;
  color: var(--muted);
  line-height: 1.7;
}

.klubben-about-image {
  position: relative;
  min-height: 350px;
  overflow: hidden;
  border-radius: 9px;
}

/* Artikkelflatene ligg direkte på papirbakgrunnen, så fade må ende i same farge. */
.klubben-about-image.image-fade-left::after {
  background: linear-gradient(
    90deg,
    var(--paper) 0%,
    rgba(247,244,237,.98) 7%,
    rgba(247,244,237,.90) 16%,
    rgba(247,244,237,.72) 28%,
    rgba(247,244,237,.46) 42%,
    rgba(247,244,237,.22) 56%,
    rgba(247,244,237,.07) 68%,
    rgba(247,244,237,0) 78%
  );
}

.klubben-about-image.image-fade-right::after {
  background: linear-gradient(
    270deg,
    var(--paper) 0%,
    rgba(247,244,237,.98) 7%,
    rgba(247,244,237,.90) 16%,
    rgba(247,244,237,.72) 28%,
    rgba(247,244,237,.46) 42%,
    rgba(247,244,237,.22) 56%,
    rgba(247,244,237,.07) 68%,
    rgba(247,244,237,0) 78%
  );
}

.klubben-about-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.klubben-about-image-history img {
  filter: grayscale(1) contrast(.92) brightness(1.03);
}

.klubben-milestones {
  padding: clamp(34px, 4.5vw, 58px);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(135deg, #f5f4eb 0%, #faf8f3 48%, #f1f2e9 100%);
}

.klubben-milestones-head > p:last-child {
  max-width: 680px;
  margin: -6px 0 32px;
  color: var(--muted);
}

.klubben-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  padding-top: 4px;
}

.klubben-timeline::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 18px;
  right: 18px;
  height: 1px;
  background: rgba(23, 61, 52, .28);
}

.klubben-timeline-item {
  position: relative;
  z-index: 1;
}

.klubben-timeline-dot {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font: 600 .74rem var(--sans);
  letter-spacing: .08em;
  box-shadow: 0 0 0 7px #f6f5ec;
}

.klubben-timeline-item strong {
  display: block;
  margin-bottom: 8px;
  color: var(--green);
  font-family: var(--serif);
  font-size: 1.32rem;
  font-weight: 400;
}

.klubben-timeline-item p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.klubben-about-quote {
  margin: 8px 0 0;
  padding: 38px 20px 12px;
  border: 0;
  color: var(--green);
  text-align: center;
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
  font-style: italic;
}

@media (max-width: 900px) {
  .klubben-about-story-right,
  .klubben-about-story-left {
    grid-template-columns: 1fr;
  }

  .klubben-about-story-left {
    margin-top: 12px;
    padding-top: 38px;
  }
  .klubben-about-story-left .klubben-about-image { order: 2; }
  .klubben-about-image { min-height: 290px; }

  .klubben-about-image.image-fade-left::after,
  .klubben-about-image.image-fade-right::after {
    background: linear-gradient(
      180deg,
      var(--paper) 0%,
      rgba(247,244,237,.92) 12%,
      rgba(247,244,237,.60) 28%,
      rgba(247,244,237,.26) 44%,
      rgba(247,244,237,.06) 58%,
      rgba(247,244,237,0) 70%
    );
  }

  .klubben-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .klubben-timeline::before { display: none; }
}

@media (max-width: 600px) {
  .klubben-about-copy { padding: 28px; }
  .klubben-about-image { min-height: 230px; }
  .klubben-milestones { padding: 28px; }
  .klubben-timeline { grid-template-columns: 1fr; }
  .klubben-timeline-item { padding-left: 62px; min-height: 50px; }
  .klubben-timeline-dot { position: absolute; left: 0; top: 0; }
}

/* =========================================================
   FASE 28 – OM VOSS GOLFKLUBB SOM REDAKSJONELL HISTORIE
========================================================= */
.klubben-history-article {
  padding-top: clamp(12px, 2vw, 24px);
}

.klubben-history-intro {
  width: min(780px, 100%);
  margin: 0 auto clamp(46px, 6vw, 76px);
  text-align: left;
}

.klubben-history-intro h3 {
  margin: 9px 0 18px;
  color: var(--green);
  font-family: var(--serif);
  font-size: clamp(2.35rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 1.04;
}

.klubben-history-lead {
  margin: 0;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.5vw, 1.25rem);
  line-height: 1.75;
}

.klubben-history-body {
  width: min(780px, 100%);
  margin: 0 auto;
}

.klubben-history-chapter + .klubben-history-chapter {
  margin-top: clamp(42px, 5vw, 64px);
}

.klubben-history-chapter h4 {
  margin: 0 0 16px;
  color: var(--green);
  font-family: var(--serif);
  font-size: clamp(1.7rem, 2.5vw, 2.35rem);
  font-weight: 400;
  line-height: 1.15;
}

.klubben-history-chapter p {
  margin: 0 0 15px;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.82;
}

.klubben-history-break {
  display: grid;
  min-height: 360px;
  margin: clamp(60px, 8vw, 100px) 0;
  overflow: hidden;
  background: transparent;
}

.klubben-history-break-right { grid-template-columns: minmax(0, 42%) minmax(0, 58%); }
.klubben-history-break-left { grid-template-columns: minmax(0, 58%) minmax(0, 42%); }

.klubben-history-break-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 4vw, 54px);
}

.klubben-history-break-copy blockquote {
  margin: 10px 0 0;
  color: var(--green);
  font-family: var(--serif);
  font-size: clamp(1.55rem, 2.6vw, 2.45rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.28;
}

.klubben-history-break-image {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  border-radius: 9px;
}

.klubben-history-break-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.klubben-history-break-image.image-fade-left::after {
  background: linear-gradient(90deg,var(--paper) 0%,rgba(247,244,237,.98) 7%,rgba(247,244,237,.9) 16%,rgba(247,244,237,.72) 28%,rgba(247,244,237,.46) 42%,rgba(247,244,237,.22) 56%,rgba(247,244,237,.07) 68%,rgba(247,244,237,0) 78%);
}
.klubben-history-break-image.image-fade-right::after {
  background: linear-gradient(270deg,var(--paper) 0%,rgba(247,244,237,.98) 7%,rgba(247,244,237,.9) 16%,rgba(247,244,237,.72) 28%,rgba(247,244,237,.46) 42%,rgba(247,244,237,.22) 56%,rgba(247,244,237,.07) 68%,rgba(247,244,237,0) 78%);
}

.klubben-history-body-final {
  padding-bottom: clamp(54px, 7vw, 86px);
}

.klubben-milestones-history .klubben-timeline {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px;
}

.klubben-milestones-history .klubben-timeline-dot {
  width: 56px;
  height: 56px;
  font-size: .68rem;
  letter-spacing: .02em;
}

@media (max-width: 1000px) {
  .klubben-milestones-history .klubben-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .klubben-milestones-history .klubben-timeline::before { display: none; }
}

@media (max-width: 800px) {
  .klubben-history-break-right,
  .klubben-history-break-left { grid-template-columns: 1fr; }
  .klubben-history-break-left .klubben-history-break-image { order: 2; }
  .klubben-history-break-image { min-height: 280px; }
  .klubben-history-break-image.image-fade-left::after,
  .klubben-history-break-image.image-fade-right::after {
    background: linear-gradient(180deg,var(--paper) 0%,rgba(247,244,237,.92) 12%,rgba(247,244,237,.6) 28%,rgba(247,244,237,.26) 44%,rgba(247,244,237,.06) 58%,rgba(247,244,237,0) 70%);
  }
}

@media (max-width: 600px) {
  .klubben-history-intro,
  .klubben-history-body { width: 100%; }
  .klubben-history-break { margin: 48px 0; }
  .klubben-history-break-copy { padding: 26px 8px; }
  .klubben-milestones-history .klubben-timeline { grid-template-columns: 1fr; }
}

/* =========================================================
   KLUBBEN – FELLESSKAP OG DUGNAD
========================================================= */
.klubben-community-page {
  padding: 12px 0 18px;
}
.klubben-community-page[hidden] { display: none; }
.klubben-community-hero {
  display: grid;
  grid-template-columns: minmax(0, 46%) minmax(0, 54%);
  align-items: stretch;
  min-height: 380px;
  margin: 14px 0 70px;
}
.klubben-community-copy {
  padding: 44px 52px 44px 8px;
  align-self: center;
}
.klubben-community-copy h3,
.klubben-community-dugnad h3,
.klubben-community-help h3,
.klubben-community-cta h3 {
  margin: 8px 0 18px;
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 3.25rem);
  line-height: 1.05;
  color: var(--ink);
}
.klubben-community-copy > p:not(.eyebrow),
.klubben-community-dugnad-text p,
.klubben-community-cta p:not(.eyebrow) {
  color: var(--muted);
  line-height: 1.75;
  font-size: 1.02rem;
}
.klubben-community-image {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  border-radius: 0 12px 12px 0;
}
.klubben-community-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.klubben-community-dugnad {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
  gap: 70px;
  padding: 58px 8px;
  border-top: 1px solid rgba(36,60,43,.14);
  border-bottom: 1px solid rgba(36,60,43,.14);
}
.klubben-community-dugnad h3 { margin-bottom: 0; }
.klubben-community-dugnad-text p:first-child { margin-top: 0; }
.klubben-community-help { padding: 70px 8px 74px; }
.klubben-community-help-head { max-width: 680px; margin-bottom: 34px; }
.klubben-community-help-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.klubben-community-help-grid article {
  padding: 26px 24px 28px;
  border-top: 1px solid var(--gold);
  background: rgba(255,255,255,.28);
}
.klubben-community-help-grid span {
  display: block;
  margin-bottom: 34px;
  font-size: .74rem;
  letter-spacing: .16em;
  color: var(--gold);
}
.klubben-community-help-grid h4 {
  margin: 0 0 10px;
  font-family: var(--serif);
  font-size: 1.35rem;
  color: var(--ink);
}
.klubben-community-help-grid p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
  font-size: .94rem;
}
.klubben-community-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 38px;
  margin: 0 0 22px;
  padding: 42px 46px;
  border-radius: 12px;
  background: #f6f3eb;
}
.klubben-community-cta-copy {
  padding: 34px 38px;
  border: 1px solid rgba(16, 59, 48, .28);
  border-radius: 12px;
  background: rgba(255,255,255,.16);
}
.klubben-community-cta h3 {
  margin: 6px 0 10px;
  color: var(--ink);
}
.klubben-community-cta .eyebrow { color: var(--ink); }
.klubben-community-cta p:not(.eyebrow) {
  margin-bottom: 0;
  max-width: 660px;
  color: var(--muted);
}
.klubben-community-contact {
  flex: 0 0 auto;
  border: 1px solid var(--ink);
  border-radius: 999px;
  padding: 15px 24px;
  background: var(--ink);
  color: #fff;
  font: inherit;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.klubben-community-contact:hover {
  background: transparent;
  color: var(--ink);
  transform: translateY(-1px);
}
.klubben-community-contact span { margin-left: 16px; }

@media (max-width: 900px) {
  .klubben-community-hero { grid-template-columns: 1fr; }
  .klubben-community-copy { padding: 28px 8px 34px; }
  .klubben-community-image { min-height: 300px; border-radius: 10px; }
  .klubben-community-image.image-fade-left::after {
    background: linear-gradient(to bottom, var(--paper) 0%, rgba(247,244,235,.72) 14%, rgba(247,244,235,.2) 35%, transparent 58%);
  }
  .klubben-community-dugnad { grid-template-columns: 1fr; gap: 18px; }
  .klubben-community-help-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .klubben-community-cta { grid-template-columns: 1fr; align-items: stretch; gap: 22px; }
  .klubben-community-contact { justify-self: start; }
}
@media (max-width: 600px) {
  .klubben-community-help-grid { grid-template-columns: 1fr; }
  .klubben-community-help-grid article { padding-left: 8px; padding-right: 8px; }
  .klubben-community-cta { padding: 24px; }
  .klubben-community-cta-copy { padding: 26px 24px; }
}

/* =========================================================
   KLUBBEN – STYRET OG ORGANISASJONEN
========================================================= */
.klubben-board-page { padding: 10px 0 76px; }
.klubben-board-page[hidden] { display: none; }
.klubben-board-intro { max-width: 760px; margin: 0 auto 46px; text-align: center; padding: 20px 24px 0; }
.klubben-board-intro h3, .klubben-organisation h3, .klubben-committees h3, .klubben-board-footer h3 { font-family: var(--serif); color: var(--ink); font-weight: 500; }
.klubben-board-intro h3 { font-size: clamp(2rem,4vw,3.25rem); margin: 8px 0 14px; }
.klubben-board-intro > p:last-child { color: var(--muted); line-height: 1.75; font-size: 1.04rem; }
.klubben-board-members { max-width: 1120px; margin: 0 auto; padding: 0 24px 76px; }
.klubben-board-lead { border: 1px solid rgba(38,69,55,.32); border-radius: 12px; padding: 28px 30px; display: flex; justify-content: space-between; align-items: center; gap: 24px; background: rgba(255,255,255,.28); margin-bottom: 14px; }
.klubben-board-members span { display: block; font-size: .7rem; letter-spacing: .14em; color: var(--muted); margin-bottom: 7px; }
.klubben-board-members h4 { margin: 0; font-family: var(--serif); color: var(--ink); font-size: 1.35rem; font-weight: 500; }
.klubben-board-lead h4 { font-size: 1.7rem; }
.klubben-board-contact { display: flex; flex-direction: column; gap: 4px; align-items: flex-end; }
.klubben-board-contact a { color: var(--ink); text-decoration: none; font-size: .88rem; }
.klubben-board-contact a:hover { text-decoration: underline; }
.klubben-board-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.klubben-board-grid article { min-height: 122px; border-top: 1px solid rgba(38,69,55,.32); padding: 24px 20px 20px; background: rgba(255,255,255,.18); }
.klubben-board-grid article .klubben-board-contact { align-items: flex-start; margin-top: 13px; }
.klubben-board-grid .klubben-board-vara { background: transparent; }
.klubben-organisation { border-top: 1px solid rgba(38,69,55,.16); border-bottom: 1px solid rgba(38,69,55,.16); padding: 72px max(24px,calc((100% - 1072px)/2)); display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: center; }
.klubben-organisation-copy h3 { font-size: clamp(1.8rem,3vw,2.6rem); margin: 8px 0 18px; }
.klubben-organisation-copy > p:last-child { color: var(--muted); line-height: 1.75; }
.klubben-org-chart { text-align: center; }
.klubben-org-node { border: 1px solid rgba(38,69,55,.3); border-radius: 10px; padding: 18px 20px; max-width: 310px; margin: 0 auto; background: rgba(255,255,255,.25); }
.klubben-org-node span { display:block; color: var(--muted); font-size:.68rem; letter-spacing:.14em; margin-bottom:4px; }
.klubben-org-node strong, .klubben-org-branches strong { display:block; color:var(--ink); font-family:var(--serif); font-size:1.15rem; font-weight:500; }
.klubben-org-node small, .klubben-org-branches small { color:var(--muted); display:block; margin-top:4px; }
.klubben-org-main { background: var(--ink); border-color: var(--ink); }
.klubben-org-main span, .klubben-org-main strong, .klubben-org-main small { color: #fff; }
.klubben-org-line { width:1px; height:28px; background:rgba(38,69,55,.35); margin:0 auto; }
.klubben-org-branches { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:28px; position:relative; }
.klubben-org-branches::before { content:""; position:absolute; top:-14px; left:16.66%; right:16.66%; height:1px; background:rgba(38,69,55,.28); }
.klubben-org-branches > div { border-top:1px solid rgba(38,69,55,.28); padding:17px 10px 8px; }
.klubben-committees { max-width:1072px; margin:0 auto; padding:72px 24px; }
.klubben-committees-head { max-width:690px; }
.klubben-committees h3 { font-size:clamp(1.8rem,3vw,2.5rem); margin:8px 0 12px; }
.klubben-committees-head > p:last-child { color:var(--muted); line-height:1.7; }
.klubben-committees-list { display:grid; grid-template-columns:repeat(4,1fr); margin-top:34px; border-top:1px solid rgba(38,69,55,.25); }
.klubben-committees-list span { padding:18px 8px; border-bottom:1px solid rgba(38,69,55,.18); color:var(--ink); }
.klubben-board-footer { max-width:1072px; margin:0 auto; border:1px solid rgba(38,69,55,.3); border-radius:12px; padding:30px 32px; display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; }
.klubben-board-footer h3 { margin:6px 0 8px; font-size:1.65rem; }
.klubben-board-footer p:last-child { color:var(--muted); margin-bottom:0; }
.klubben-board-docs { border:0; border-radius:999px; padding:14px 22px; background:var(--ink); color:#fff; cursor:pointer; white-space:nowrap; }
.klubben-board-docs span { margin-left:14px; }
@media (max-width:900px){.klubben-organisation{grid-template-columns:1fr;gap:38px}.klubben-committees-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:650px){.klubben-board-members{padding-left:16px;padding-right:16px}.klubben-board-lead{align-items:flex-start;flex-direction:column}.klubben-board-contact{align-items:flex-start}.klubben-board-grid{grid-template-columns:1fr}.klubben-org-branches{grid-template-columns:1fr}.klubben-org-branches::before{display:none}.klubben-committees-list{grid-template-columns:1fr}.klubben-board-footer{margin-left:16px;margin-right:16px;grid-template-columns:1fr}.klubben-board-docs{justify-self:start}}

/* Fase 33 – Styret og organisasjonen, oppdatert etter årsmøteprotokoll 12.03.2026 */
.klubben-board-year {
  margin: 0 0 12px;
  font-size: .68rem;
  letter-spacing: .14em;
  color: var(--muted);
}
.klubben-org-chart-full { min-width: 0; }
.klubben-org-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 28px;
  position: relative;
}
.klubben-org-plan-grid::before {
  content: "";
  position: absolute;
  top: -14px;
  left: 8%;
  right: 8%;
  height: 1px;
  background: rgba(38,69,55,.28);
}
.klubben-org-plan-grid > div {
  border-top: 1px solid rgba(38,69,55,.28);
  padding: 15px 8px 10px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 1rem;
  line-height: 1.25;
}
.klubben-elected-groups { padding-top: 68px; }
.klubben-elected-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
  margin-top: 34px;
}
.klubben-elected-grid article {
  border-top: 1px solid rgba(38,69,55,.28);
  padding: 24px 6px 6px;
}
.klubben-elected-grid article > span {
  display: block;
  margin-bottom: 20px;
  font-size: .7rem;
  letter-spacing: .14em;
  color: var(--muted);
}
.klubben-elected-grid h4 {
  margin: 0 0 2px;
  font-family: var(--serif);
  color: var(--ink);
  font-size: 1.18rem;
  font-weight: 500;
}
.klubben-elected-grid p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: .9rem;
}
@media (max-width: 900px) {
  .klubben-org-plan-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .klubben-org-plan-grid::before { left: 12%; right: 12%; }
}
@media (max-width: 650px) {
  .klubben-org-plan-grid { grid-template-columns: 1fr; }
  .klubben-org-plan-grid::before { display: none; }
  .klubben-elected-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   FASE 34 – VOSS GOLF: KLUBB + BANSELSKAP
========================================================= */
.klubben-organisation-voss { align-items: start; }
.voss-org-relation { display:flex; flex-direction:column; align-items:center; padding:6px 0; }
.voss-org-entity { width:min(100%,430px); border:1px solid rgba(38,69,55,.28); border-radius:12px; padding:25px 28px; text-align:center; background:rgba(255,255,255,.24); }
.voss-org-entity > span,.klubben-company-section span,.klubben-committee-structure span { display:block; font-size:.68rem; letter-spacing:.14em; color:var(--muted); margin-bottom:7px; }
.voss-org-entity strong { display:block; font-family:var(--serif); font-size:1.5rem; font-weight:500; color:var(--ink); }
.voss-org-entity small { display:block; color:var(--muted); margin-top:7px; line-height:1.45; }
.voss-org-company { background:rgba(38,69,55,.08); }
.voss-org-ownership { position:relative; min-height:104px; display:flex; flex-direction:column; justify-content:center; align-items:center; color:var(--ink); }
.voss-org-ownership::before { content:""; position:absolute; top:0; bottom:0; width:1px; background:rgba(38,69,55,.28); z-index:0; }
.voss-org-ownership span,.voss-org-ownership small,.voss-org-ownership i { position:relative; z-index:1; background:var(--paper); padding:0 10px; }
.voss-org-ownership span { font-family:var(--serif); font-size:1.45rem; line-height:1.1; }
.voss-org-ownership small { color:var(--muted); padding-top:3px; }
.voss-org-ownership i { font-style:normal; font-size:1.1rem; padding-top:6px; }
.klubben-committee-overview { padding-bottom:54px; }
.klubben-committee-structure { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 28px; margin-top:36px; border-top:1px solid rgba(38,69,55,.25); }
.klubben-committee-structure article { padding:23px 4px 22px; border-bottom:1px solid rgba(38,69,55,.18); }
.klubben-committee-structure h4,.klubben-company-section h4 { margin:0 0 7px; font-family:var(--serif); font-weight:500; color:var(--ink); font-size:1.15rem; }
.klubben-committee-structure p { margin:0; color:var(--muted); font-size:.9rem; line-height:1.55; }
.klubben-formal-groups { padding-top:16px; }
.klubben-company-section { margin:0 auto 72px; max-width:1120px; padding:62px 48px; border-radius:14px; background:rgba(38,69,55,.075); }
.klubben-company-head { max-width:720px; }
.klubben-company-head h3 { margin:8px 0 14px; font-family:var(--serif); font-weight:500; color:var(--ink); font-size:clamp(1.8rem,3vw,2.55rem); }
.klubben-company-head > p:last-child { color:var(--muted); line-height:1.7; }
.klubben-company-layout { display:grid; grid-template-columns:.7fr 1.3fr; gap:48px; margin-top:42px; padding-top:34px; border-top:1px solid rgba(38,69,55,.2); }
.klubben-company-role { padding-right:22px; }
.klubben-company-role p { color:var(--muted); line-height:1.65; }
.klubben-company-board > span { margin-bottom:14px; }
.klubben-company-board-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.klubben-company-board-grid article { min-height:90px; padding:18px 18px 15px; border:1px solid rgba(38,69,55,.18); border-radius:9px; background:rgba(255,255,255,.24); }
.klubben-company-board-grid small { display:block; font-size:.64rem; letter-spacing:.12em; color:var(--muted); margin-bottom:7px; }
.klubben-company-board-grid h4 { font-size:1.05rem; }
@media(max-width:900px){.klubben-committee-structure{grid-template-columns:repeat(2,minmax(0,1fr))}.klubben-company-layout{grid-template-columns:1fr}.klubben-company-section{margin-left:24px;margin-right:24px;padding:46px 32px}}
@media(max-width:650px){.klubben-committee-structure{grid-template-columns:1fr}.klubben-company-section{margin-left:16px;margin-right:16px;padding:36px 22px}.klubben-company-board-grid{grid-template-columns:1fr}.voss-org-entity{padding:22px 18px}}

/* =========================================================
   KLUBBEN – DOKUMENT OG ARKIV
========================================================= */
.klubben-documents-page{max-width:1180px;margin:0 auto;padding:18px 0 70px}.documents-intro{max-width:720px;margin-bottom:34px}.documents-intro h3,.documents-section-head h3{font-family:var(--serif);color:var(--ink);margin:6px 0 10px}.documents-intro h3{font-size:clamp(2rem,4vw,3.4rem)}.documents-intro>p:last-child{color:var(--muted);font-size:1.04rem;line-height:1.7}.documents-search-wrap{padding:24px;border:1px solid rgba(31,70,55,.16);border-radius:12px;background:rgba(255,255,255,.34);margin-bottom:48px}.documents-search-wrap>label{display:block;font-weight:700;color:var(--ink);margin-bottom:10px}.documents-search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid rgba(31,70,55,.24);border-radius:9px;padding:0 16px}.documents-search:focus-within{border-color:var(--green);box-shadow:0 0 0 3px rgba(31,70,55,.08)}.documents-search span{font-size:1.6rem;color:var(--green)}.documents-search input{width:100%;border:0;outline:0;background:transparent;padding:15px 0;font:inherit;color:var(--ink)}.documents-search-count{margin:10px 0 0;color:var(--muted);font-size:.9rem}.documents-section{margin-top:42px}.documents-section-head{margin-bottom:18px}.documents-section-head h3{font-size:clamp(1.55rem,3vw,2.15rem)}.document-list{border-top:1px solid rgba(31,70,55,.18)}.document-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:16px;padding:17px 4px;border-bottom:1px solid rgba(31,70,55,.14);color:inherit;text-decoration:none}.document-row[href]:hover{background:rgba(31,70,55,.035)}.document-icon{width:42px;height:42px;border:1px solid rgba(31,70,55,.22);border-radius:7px;display:grid;place-items:center;font-size:.68rem;font-weight:800;letter-spacing:.06em;color:var(--green)}.document-info{display:flex;flex-direction:column;gap:4px}.document-info strong{font-size:1rem;color:var(--ink)}.document-info small,.document-status{color:var(--muted);font-size:.82rem}.document-open{font-size:.88rem;font-weight:700;color:var(--green);white-space:nowrap}.document-open b{font-size:1rem;margin-left:4px}.document-placeholder{opacity:.62}.document-years{border-top:1px solid rgba(31,70,55,.18)}.document-year{border-bottom:1px solid rgba(31,70,55,.18)}.document-year summary{list-style:none;cursor:pointer;padding:19px 4px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--ink)}.document-year summary::-webkit-details-marker{display:none}.document-year summary span{font-family:var(--serif);font-size:1.45rem;font-weight:700}.document-year summary small{color:var(--muted);font-size:.82rem}.document-year summary:after{content:'+';font-size:1.35rem;color:var(--green);margin-left:12px}.document-year[open] summary:after{content:'−'}.document-year .document-list{margin:0 18px 14px;border-top:0}.document-empty{margin:0 18px 20px;color:var(--muted);font-size:.9rem}.documents-results{margin-top:40px}.document-no-results{padding:24px 0;color:var(--muted)}.voss-org-arrow-only span,.voss-org-arrow-only small{display:none!important}.voss-org-arrow-only i{font-size:2rem!important}
@media(max-width:650px){.klubben-documents-page{padding-bottom:45px}.documents-search-wrap{padding:18px}.document-row{grid-template-columns:44px minmax(0,1fr);gap:12px}.document-open,.document-status{grid-column:2;justify-self:start}.document-icon{width:38px;height:38px}.document-year summary small{display:none}}

/* =========================================================
   FASE 36 – BESØK OSS
========================================================= */
.visit-page{max-width:1180px;margin:0 auto;padding:18px 0 78px}.visit-page h2,.visit-page h3,.visit-page h4{font-family:var(--serif);color:var(--ink);font-weight:500}.visit-section-head{max-width:700px;margin-bottom:32px}.visit-section-head h3{font-size:clamp(1.8rem,3vw,2.55rem);margin:7px 0 10px}.visit-section-head>p:last-child{color:var(--muted);line-height:1.7}.visit-welcome{display:grid;grid-template-columns:.92fr 1.08fr;min-height:390px;margin-bottom:78px;overflow:hidden;border-radius:14px;background:rgba(38,69,55,.07)}.visit-welcome-copy{padding:62px 20px 54px 54px;align-self:center;z-index:2}.visit-welcome-copy h2{font-size:clamp(2.25rem,4vw,3.65rem);line-height:1.04;margin:8px 0 18px}.visit-welcome-copy>p:last-child{max-width:540px;color:var(--muted);line-height:1.75}.visit-welcome-image{min-height:390px}.visit-welcome-image img{width:100%;height:100%;object-fit:cover;display:block}.visit-find,.visit-before,.visit-facilities{margin-bottom:78px}.visit-find-grid{display:grid;grid-template-columns:1.55fr .65fr;gap:24px;align-items:stretch}.visit-map{min-height:390px;border-radius:12px;overflow:hidden;border:1px solid rgba(38,69,55,.16)}.visit-map iframe{width:100%;height:100%;min-height:390px;border:0;display:block}.visit-address-card{padding:36px 32px;border-radius:12px;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:center}.visit-address-card>span,.visit-motorhome-note>span{font-size:.68rem;letter-spacing:.14em;opacity:.7}.visit-address-card h4{color:#fff;font-size:1.65rem;margin:10px 0 12px}.visit-address-card p{line-height:1.65;opacity:.82;margin:0 0 30px}.visit-primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;width:fit-content;min-width:210px;padding:13px 17px;border:1px solid currentColor;border-radius:999px;text-decoration:none;color:inherit;font-weight:700;font-size:.88rem}.visit-address-card .visit-primary-link{color:#fff}.visit-primary-link:hover{opacity:.75}.visit-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(38,69,55,.24)}.visit-steps article{padding:28px 30px 22px 4px;border-bottom:1px solid rgba(38,69,55,.18)}.visit-steps article+article{padding-left:30px;border-left:1px solid rgba(38,69,55,.14)}.visit-steps span,.visit-facility-list span{display:block;font-size:.68rem;letter-spacing:.14em;color:var(--muted);margin-bottom:18px}.visit-steps h4{font-size:1.28rem;margin:0 0 8px}.visit-steps p,.visit-facility-list p{margin:0;color:var(--muted);line-height:1.6;font-size:.92rem}.visit-actions{display:flex;gap:12px;margin-top:28px}.visit-action-button{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:13px 20px;font:inherit;font-size:.88rem;font-weight:700;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:22px}.visit-action-secondary{background:transparent;color:var(--ink);border:1px solid rgba(38,69,55,.38)}.visit-action-button:hover{opacity:.78}.visit-facility-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;border-top:1px solid rgba(38,69,55,.24)}.visit-facility-list article{padding:25px 4px 25px;border-bottom:1px solid rgba(38,69,55,.16)}.visit-facility-list h4{font-size:1.16rem;margin:0 0 7px}.visit-motorhome{display:grid;grid-template-columns:1.3fr .7fr;gap:54px;margin:0 0 78px;padding:58px 54px;border-radius:14px;background:rgba(38,69,55,.075)}.visit-motorhome-copy h3{font-size:clamp(1.8rem,3vw,2.55rem);margin:8px 0 13px}.visit-motorhome-copy>p{color:var(--muted);line-height:1.7;max-width:650px}.visit-motorhome-facts{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.visit-motorhome-facts span{padding:8px 11px;border:1px solid rgba(38,69,55,.2);border-radius:999px;color:var(--ink);font-size:.8rem}.visit-motorhome-copy .visit-primary-link{color:var(--ink)}.visit-motorhome-note{align-self:center;padding:28px;border-left:1px solid rgba(38,69,55,.25)}.visit-motorhome-note p{color:var(--muted);line-height:1.65;margin:10px 0 0}.visit-motorhome-price{display:flex;align-items:baseline;gap:12px;margin:12px 0 18px}.visit-motorhome-price strong{font-family:var(--serif);font-size:2.15rem;font-weight:500;color:var(--ink)}.visit-motorhome-price small{font-size:.86rem;color:var(--muted)}.visit-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;padding-top:54px;border-top:1px solid rgba(38,69,55,.24)}.visit-contact h3{font-size:clamp(1.8rem,3vw,2.45rem);margin:7px 0 10px}.visit-contact>div:first-child>p:last-child{color:var(--muted)}.visit-contact-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.visit-contact-details>a,.visit-contact-details>div{padding:6px 0;text-decoration:none;color:var(--ink)}.visit-contact-details small{display:block;font-size:.65rem;letter-spacing:.13em;color:var(--muted);margin-bottom:9px}.visit-contact-details strong{font-family:var(--serif);font-size:1.05rem;font-weight:500;line-height:1.45}.visit-contact-details a:hover strong{text-decoration:underline}
@media(max-width:900px){.visit-welcome{grid-template-columns:1fr}.visit-welcome-copy{padding:45px 34px 30px}.visit-welcome-image{min-height:280px}.visit-welcome-image.image-fade::after{background:linear-gradient(to bottom,var(--paper) 0%,rgba(250,247,239,.72) 16%,transparent 48%)}.visit-find-grid,.visit-motorhome,.visit-contact{grid-template-columns:1fr}.visit-find-grid{gap:14px}.visit-address-card{min-height:260px}.visit-facility-list{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-contact-details{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-motorhome{gap:30px;padding:44px 34px}.visit-motorhome-note{border-left:0;border-top:1px solid rgba(38,69,55,.2);padding:25px 0 0}}
@media(max-width:650px){.visit-page{padding-bottom:50px}.visit-welcome,.visit-find,.visit-before,.visit-facilities,.visit-motorhome{margin-bottom:56px}.visit-welcome-copy{padding:36px 22px 24px}.visit-welcome-image{min-height:220px}.visit-map,.visit-map iframe{min-height:310px}.visit-address-card{padding:30px 24px}.visit-steps{grid-template-columns:1fr}.visit-steps article,.visit-steps article+article{padding:22px 4px;border-left:0}.visit-actions{flex-direction:column;align-items:stretch}.visit-action-button{justify-content:space-between}.visit-facility-list{grid-template-columns:1fr}.visit-motorhome{padding:34px 22px}.visit-contact{gap:30px}.visit-contact-details{grid-template-columns:1fr;gap:14px}}

/* Fase 39 – Klubben i admin */
.cms-klubben-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:5px;background:#f3f0e8;border:1px solid var(--line);border-radius:12px;margin:0 0 18px}
.cms-klubben-tabs button{appearance:none;border:0;background:transparent;color:var(--muted);padding:10px 13px;border-radius:8px;font:700 .72rem var(--sans);cursor:pointer}
.cms-klubben-tabs button:hover{background:rgba(255,255,255,.7);color:var(--ink)}
.cms-klubben-tabs button.is-active{background:#fff;color:var(--green);box-shadow:0 1px 5px rgba(23,49,40,.08)}
.cms-klubben-stage{display:grid;gap:18px}
.cms-klubben-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px 22px;border-bottom:1px solid #eee9df}
.cms-klubben-edit-block .cms-visual-value{max-width:760px}
.cms-document-admin-demo{padding:20px 22px;display:grid;gap:16px}
.cms-document-admin-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fbfaf6}
.cms-document-admin-row>div:first-child{display:grid;gap:3px}.cms-document-admin-row small{font-size:.65rem;letter-spacing:.12em;color:#6c8278}.cms-document-admin-row b{font:400 1rem var(--serif);color:var(--ink)}.cms-document-admin-row span,.cms-document-admin-note{font-size:.76rem;color:var(--muted)}
@media(max-width:760px){.cms-klubben-image-grid{grid-template-columns:1fr;padding:16px}.cms-klubben-tabs{display:grid;grid-template-columns:1fr 1fr}.cms-document-admin-row{align-items:flex-start;flex-direction:column}}

/* ===== FASE 40 – VISUELL SIDEKOPI I ADMIN ===== */
.cms-live-frame{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 8px 28px rgba(24,47,39,.06)}
.cms-live-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:11px 16px;background:#f3f0e8;border-bottom:1px solid var(--line);font-size:.72rem;color:var(--muted)}
.cms-live-toolbar b{color:var(--ink)}.cms-live-legend{color:var(--green);font-weight:700}
.cms-live-viewport{background:var(--paper);overflow:auto;max-height:72vh}
.cms-admin-page-copy{display:block!important;position:relative!important;inset:auto!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;min-height:400px}
.cms-admin-page-copy [data-subtab-overview],.cms-admin-page-copy [data-subtab-panel]{position:relative}
.cms-live-editable{position:relative;outline:1px dashed rgba(44,105,79,.55)!important;outline-offset:4px;cursor:pointer!important;transition:outline-color .15s,box-shadow .15s,background-color .15s}
.cms-live-editable:hover{outline:2px solid #2f6b52!important;outline-offset:5px;box-shadow:0 0 0 5px rgba(47,107,82,.08)}
.cms-live-editable.cms-live-selected{outline:2px solid #2f6b52!important;outline-offset:5px;box-shadow:0 0 0 6px rgba(47,107,82,.12)}
img.cms-live-editable{min-height:32px}
.cms-live-editor{position:sticky;bottom:14px;z-index:50;margin:14px auto 0;max-width:720px;border:1px solid #b9cbbf;border-radius:14px;background:#fff;box-shadow:0 16px 50px rgba(20,43,35,.18);overflow:hidden}
.cms-live-editor-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#f6f7f3;border-bottom:1px solid var(--line)}
.cms-live-editor-head small{font-size:.58rem;letter-spacing:.16em;color:#527166;font-weight:800}.cms-live-editor-head h3{margin:2px 0 0;font:400 1.15rem var(--serif)}
.cms-live-close{border:0;background:transparent;font-size:1.7rem;line-height:1;color:var(--muted);cursor:pointer}.cms-live-editor-body{padding:16px;display:grid;gap:12px}
.cms-klubben-live-stage{display:grid;gap:14px}.cms-klubben-live-stage>.cms-safe-note{margin-top:0}
@media(max-width:760px){.cms-live-toolbar{align-items:flex-start;flex-direction:column;gap:3px}.cms-live-viewport{max-height:none}.cms-live-editor{bottom:6px}.cms-live-editable{outline-offset:2px}}

/* Fase 41 – direkte redigering + fullskjerm */
.admin-box.cms-admin-shell.is-fullscreen{
  width:100vw;
  height:100vh;
  max-width:none;
  max-height:none;
  min-width:0;
  min-height:0;
  border-radius:0;
  resize:none;
}
.admin-box.cms-admin-shell.is-fullscreen::after{display:none}
.cms-size-toggle{white-space:nowrap}
.cms-live-editable[contenteditable="true"]{cursor:text!important}
.cms-live-editable[contenteditable="true"]:focus{
  outline:2px solid #2f6b52!important;
  outline-offset:5px;
  box-shadow:0 0 0 6px rgba(47,107,82,.12);
  background:rgba(255,255,255,.7);
}
.cms-live-editable[contenteditable="true"]:empty::before{content:'Klikk for å skrive';color:var(--muted)}
.admin-box.cms-admin-shell.is-fullscreen .cms-live-viewport{max-height:calc(100vh - 310px)}
@media(max-width:760px){.cms-size-toggle{display:none}}


/* Fase 42 – selektiv side-redigering + ekte fullskjerm */
.admin-dialog.is-fullscreen{
  padding:0!important;
  place-items:stretch!important;
}
.admin-dialog.is-fullscreen .admin-box.cms-admin-shell{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  border-radius:0!important;
  resize:none!important;
}
.admin-dialog.is-fullscreen .cms-admin-layout{height:calc(100vh - 74px)}
.admin-dialog.is-fullscreen .cms-live-viewport{max-height:calc(100vh - 300px)}

/* Fase 43 – vindaugskontrollar i tittellinja */
.cms-admin-shell > .search-head{position:relative}
.cms-window-controls{display:flex;align-self:stretch;margin-left:auto;margin-right:-24px}
.cms-admin-shell > .search-head .cms-window-button{
  width:52px;height:100%;min-height:73px;display:grid;place-items:center;
  margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);
  font:400 1.7rem/1 sans-serif;cursor:pointer;
}
.cms-admin-shell > .search-head .cms-window-button:hover{background:rgba(15,55,43,.07)}
.cms-admin-shell > .search-head .cms-window-close:hover{background:#c42b1c;color:#fff}
.cms-window-maximize span{display:block;width:12px;height:12px;border:1.5px solid currentColor}
.cms-window-maximize.is-restore span{position:relative;transform:translate(-2px,2px)}
.cms-window-maximize.is-restore span::before{content:"";position:absolute;width:9px;height:9px;border:1.5px solid currentColor;left:3px;bottom:3px;background:#fff}
.cms-window-maximize.is-restore:hover span::before{background:#eef1ed}
.admin-dialog.is-fullscreen .cms-window-controls{margin-right:0}
.admin-dialog.is-fullscreen .cms-admin-shell > .search-head{padding-right:0}
@media(max-width:760px){.cms-window-maximize{display:none!important}.cms-window-controls{margin-right:-16px}}

/* Fase 45 – selektiv visuell Bane-admin */
.cms-bane-tabs{position:sticky;top:0;z-index:6;background:var(--paper,#f7f4ec)}
.cms-inline-add{margin:.7rem 0 1rem;padding:.65rem .9rem;border:1px dashed #7f9b8f;background:#f6faf7;color:#174f3b;border-radius:8px;cursor:pointer;font-weight:600}
.cms-inline-remove{border:0;background:transparent;color:#8a3d35;font-size:1.25rem;line-height:1;cursor:pointer;margin-left:auto}
.cms-admin-page-copy .facility-list li{position:relative}
.cms-admin-page-copy .facility-list .cms-inline-remove{position:absolute;right:.25rem;top:.25rem}
.cms-practical-edit-card{position:relative;align-items:flex-start!important}
.cms-practical-edit-card .cms-inline-remove{position:absolute;right:.45rem;top:.45rem}
.cms-practical-edit-fields{display:grid;gap:.55rem;width:100%}
.cms-practical-edit-fields .cms-field{margin:0}
.cms-practical-edit-fields textarea{min-height:72px}
.cms-practical-edit-fields label>span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.25rem}
.cms-practical-edit-fields select{width:100%;padding:.55rem;border:1px solid #d4cec0;border-radius:6px;background:white}
.cms-link-toggle{display:flex!important;align-items:center;gap:.5rem;font-size:.82rem;text-transform:none!important;letter-spacing:0!important}
.cms-link-toggle span{display:inline!important}
.cms-link-fields{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.cms-practical-add{grid-column:1/-1;justify-self:start}
.cms-slope-inline-editor{margin-top:1rem}
.cms-slope-inline-body{padding:1rem;border:1px solid #ddd6c8;border-radius:10px;background:#fff}
.cms-admin-hole-index{display:flex;align-items:center;gap:.6rem;margin:0 0 1rem;padding:.55rem .7rem;border:1px dashed #789b8d;border-radius:7px;background:#f6faf7;font-size:.75rem;font-weight:700}
.cms-admin-hole-index input{width:75px;padding:.35rem .45rem;border:1px solid #cfc8ba;border-radius:5px}
@media(max-width:760px){.cms-link-fields{grid-template-columns:1fr}}
\n\n/* Fase 46 – fem praktiske fasilitetar per rad + rekkefølgje i admin */\n.cms-practical-order{position:absolute;right:2.15rem;top:.42rem;display:flex;gap:.18rem}\n.cms-practical-order button{width:26px;height:26px;border:1px solid #d4cec0;border-radius:5px;background:#fff;color:var(--ink);cursor:pointer;line-height:1}\n.cms-practical-order button:hover:not(:disabled){background:#eef4f0;border-color:#789b8d}\n.cms-practical-order button:disabled{opacity:.3;cursor:default}\n@media(max-width:1100px){.facility-practical-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}\n@media(max-width:760px){.facility-practical-grid{grid-template-columns:1fr}}\n
/* Fase 47 – tydeleg bileteredigering i visuell admin */
.cms-admin-page-copy .cms-editable-image-wrap{position:relative!important}
.cms-admin-page-copy .cms-edit-image-button{position:absolute;right:12px;top:12px;z-index:25;border:1px solid rgba(255,255,255,.8);border-radius:8px;background:rgba(24,47,39,.94);color:#fff;padding:8px 12px;font:600 12px/1.1 var(--sans);letter-spacing:.01em;cursor:pointer;box-shadow:0 3px 12px rgba(0,0,0,.18)}
.cms-admin-page-copy .cms-edit-image-button:hover{background:#244f3e}
.cms-admin-page-copy img.cms-live-editable{cursor:default!important}

/* Fase 48 – dynamisk baneguide i admin */
.cms-hole-admin-controls{display:flex;gap:10px;align-items:center;margin:12px 0 20px;flex-wrap:wrap}
.cms-hole-admin-controls .cms-inline-add,.cms-hole-admin-controls .cms-secondary-button{width:auto;margin:0}
.hole-selector{overflow-x:auto;scrollbar-width:thin}

/* Fase 49 – eigen bileteknapp per fasilitetsbilete + heilskaplege rekkefølgjekontrollar */
.cms-admin-page-copy .facility-image.cms-facility-image-editable{
  position:relative!important;
  isolation:isolate;
}
.cms-admin-page-copy .facility-image.cms-facility-image-editable > .cms-facility-image-button{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  left:auto!important;
  bottom:auto!important;
  z-index:40!important;
}
.cms-practical-order{
  position:absolute;
  right:2.35rem;
  top:.5rem;
  display:flex;
  gap:.3rem;
  align-items:center;
}
.cms-practical-order button{
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid #d8d1c4;
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  font:500 22px/1 var(--serif);
  cursor:pointer;
  box-shadow:0 1px 2px rgba(20,40,32,.05);
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.cms-practical-order button:hover:not(:disabled){
  background:#f1f6f3;
  border-color:#8ca99e;
  transform:translateY(-1px);
}
.cms-practical-order button:disabled{
  opacity:.28;
  cursor:default;
  background:#f3f1eb;
}

/* Fase 52 – tydeleg lenkeredigering i visuell admin */
.cms-edit-link-button{margin-left:10px;padding:8px 12px;border:1px solid #9fb4aa;border-radius:8px;background:#fff;color:#173d32;font:600 12px/1.2 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 8px rgba(18,48,40,.08)}
.cms-edit-link-button:hover{background:#edf4f0}

/* Fase 54 – rekkefølgje for dynamiske simulatorpunkt */
.cms-order-button{
  width:34px;height:34px;padding:0;border:1px solid var(--line,#d8d1c3);border-radius:7px;
  background:#fff;color:var(--ink,#12352c);font:600 16px/1 system-ui,sans-serif;cursor:pointer;
}
.cms-order-button:hover:not(:disabled){background:#f3f5f1;border-color:#9caf9f}
.cms-order-button:disabled{opacity:.35;cursor:default}

/* Fase 56 – simulator praktisk informasjon direkte i visuell editor */
.cms-admin-page-copy .cms-simulator-live-card{position:relative}
.cms-admin-page-copy .cms-simulator-inline-title,
.cms-admin-page-copy .cms-simulator-inline-text{outline:1px dashed rgba(43,112,87,.55);outline-offset:4px;cursor:text}
.cms-admin-page-copy .cms-simulator-inline-title:focus,
.cms-admin-page-copy .cms-simulator-inline-text:focus{outline:2px solid #2f765e;background:rgba(255,255,255,.62)}
.cms-simulator-live-actions{position:absolute;right:12px;bottom:10px;display:flex;gap:5px;opacity:0;transition:opacity .15s ease}
.cms-simulator-live-card:hover .cms-simulator-live-actions,.cms-simulator-live-actions:focus-within{opacity:1}
.cms-simulator-live-actions button{width:30px;height:30px;border:1px solid rgba(18,55,46,.18);border-radius:7px;background:#fbfaf5;color:#173d34;cursor:pointer}
.cms-simulator-live-actions button:disabled{opacity:.3;cursor:default}
.cms-simulator-live-add{min-height:48px;border:1px dashed rgba(43,112,87,.55);border-radius:12px;background:rgba(255,255,255,.35);color:#245b49;font:inherit;cursor:pointer}
.cms-other-price-glyph{display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1;color:var(--green,#174d3b)}
.cms-other-prices-admin{margin-bottom:18px}.cms-other-price-admin-list{display:grid;gap:12px}

/* Fase 59 – konsekvente listekontrollar i visuell admin */
.cms-facility-order{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(18,55,46,.10)}
.cms-facility-move{display:flex;gap:7px}
.cms-facility-delete{margin-left:auto}
.cms-other-price-live-card{position:relative}
.cms-other-price-live-actions{position:absolute;right:12px;bottom:10px;display:flex;align-items:center;gap:7px;padding:5px;border:1px solid rgba(18,55,46,.10);border-radius:9px;background:rgba(250,249,244,.96);box-shadow:0 2px 10px rgba(18,48,40,.07);opacity:0;transform:translateY(3px);transition:opacity .15s ease,transform .15s ease}
.cms-other-price-live-card:hover .cms-other-price-live-actions,.cms-other-price-live-actions:focus-within{opacity:1;transform:none}
.cms-other-price-live-actions .cms-danger-button{min-height:34px;padding:0 11px}
.cms-other-price-live-add{display:block;width:100%;margin-top:14px}

/* Fase 60 – sentralt prisregister og redigerbare pristilbod */
.cms-own-price-list{display:grid;gap:12px}
.cms-own-price-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(120px,.7fr) minmax(160px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid #ddd8ca;border-radius:12px;background:#fff}
.cms-own-price-delete{margin-bottom:1px;min-height:42px}
.cms-add-own-price{margin-top:14px}
.cms-empty-note{margin:0;color:#68716d}
.cms-offer-popover{position:relative;z-index:20;grid-column:1/-1;width:100%;box-sizing:border-box;padding:18px;border:1px solid #bfc9bf;border-radius:12px;background:#fbfaf6;box-shadow:0 12px 32px rgba(20,50,42,.16);display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.35fr) minmax(150px,.7fr);gap:14px;align-items:end}
.cms-offer-price-links{grid-column:1/-1;display:grid;gap:10px}
.cms-offer-price-link{display:grid;grid-template-columns:minmax(160px,1fr) minmax(230px,1.4fr) auto;gap:12px;align-items:end;padding-top:12px;border-top:1px solid #e2ded2}
.cms-offer-popover>.cms-secondary-button{justify-self:start}
.cms-offer-close{grid-column:3;justify-self:end!important}
.cms-edit-offer-button{min-height:34px;padding:0 11px}
@media(max-width:900px){.cms-own-price-row,.cms-offer-popover,.cms-offer-price-link{grid-template-columns:1fr}.cms-offer-popover{width:100%}.cms-offer-price-links,.cms-offer-close{grid-column:1}}

/* Fase 61 – tydeleg inngang til det sentrale prisregisteret */
.cms-price-register-intro{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  margin:0 0 22px;padding:20px 22px;border:1px solid var(--line);
  border-radius:10px;background:#fff;
}
.cms-price-register-intro>div{display:grid;gap:5px;max-width:760px}
.cms-price-register-intro strong{font:400 1.35rem var(--serif);color:var(--ink)}
.cms-price-register-intro span{font-size:.84rem;line-height:1.55;color:#52635e}
.cms-price-register-intro small{font-size:.76rem;line-height:1.5;color:var(--muted)}
.cms-create-price-top{white-space:nowrap;flex:0 0 auto}
@media(max-width:760px){.cms-price-register-intro{align-items:stretch;flex-direction:column;gap:14px}.cms-create-price-top{width:100%}}

/* Fase 62 – ryddig, flyttbart prisregister */
.cms-price-masonry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.cms-price-column{display:flex;flex-direction:column;gap:18px;min-width:0}
.cms-price-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.cms-price-card-head>div:first-child{min-width:0;flex:1}
.cms-price-card-actions{display:flex;gap:7px;align-items:center;flex:0 0 auto}
.cms-mini-action,.cms-move-button{border:1px solid #cfc9ba;background:#fff;color:#173b32;border-radius:8px;min-height:34px;padding:7px 11px;font:600 .76rem var(--sans);cursor:pointer}
.cms-move-button{width:34px;padding:0;font-size:1rem}.cms-mini-action.is-primary{background:#173b32;color:#fff;border-color:#173b32}
.cms-inline-title-input,.cms-inline-intro-input,.cms-price-label-input{width:100%;border:1px solid #cfc9ba;border-radius:8px;background:#fff;color:var(--ink);padding:9px 10px;font:inherit;box-sizing:border-box}
.cms-inline-title-input{font:400 1.15rem var(--serif);margin-bottom:7px}.cms-inline-intro-input{resize:vertical;font-size:.8rem;line-height:1.45}
.cms-price-display-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #eee9df}.cms-price-display-row:last-child{border-bottom:0}
.cms-price-display-row span{font-size:.82rem;font-weight:600;color:#45564f}.cms-price-display-row strong{font:400 1.05rem var(--serif);white-space:nowrap}
.cms-price-registry-card .cms-price-grid{display:block}
.cms-price-registry-card .cms-price-display-row:has(input){grid-template-columns:minmax(130px,1fr) minmax(90px,.55fr) auto}
.cms-price-registry-card .cms-price-display-row input[type=number]{width:100%;min-width:0;border:1px solid #cfc9ba;border-radius:8px;padding:9px 10px;box-sizing:border-box}
.cms-line-delete{border:0;background:transparent;color:#a74335;font-weight:700;cursor:pointer;padding:8px}
.cms-add-row-button{width:100%;margin-top:12px;border:1px dashed #6d9588;border-radius:9px;background:transparent;color:#17483b;padding:10px;font-weight:700;cursor:pointer}
.cms-price-danger-zone{display:flex;justify-content:flex-end;border-top:1px solid #eee9df;margin-top:16px;padding-top:14px}
@media(max-width:900px){.cms-price-masonry{grid-template-columns:1fr}.cms-price-column{display:contents}.cms-price-card-head{flex-direction:column}.cms-price-card-actions{width:100%;flex-wrap:wrap}.cms-price-registry-card .cms-price-display-row:has(input){grid-template-columns:1fr}.cms-line-delete{justify-self:start}}


/* Fase 64 – kompakt status og enklare statusadmin */
.status-overview {
  width: min(575px, calc(100vw - 32px));
  border-radius: 9px;
}
.status-overview .status-item {
  padding: 9px 13px;
  gap: 9px;
}
.status-overview .status-item strong {
  font-size: .74rem;
  line-height: 1.15;
}
.status-overview .status-dot {
  width: 7px;
  height: 7px;
}
.cms-status-select-field select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #d7d0c3;
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}
@media (max-width: 720px) {
  .status-overview { width: min(310px, calc(100vw - 24px)); }
}

/* Fase 66: driftsoversikt + kollapsbare sideeditorar */
.cms-admin-nav .cms-admin-section-toggle {
  margin-top: 10px;
  color: #91aaa3;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.cms-admin-nav .cms-admin-section-toggle b {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.cms-admin-nav .cms-admin-section-toggle .cms-admin-chevron {
  transition: transform .18s ease;
}
.cms-admin-nav .cms-admin-section-toggle.is-open .cms-admin-chevron {
  transform: rotate(90deg);
}
.cms-admin-page-links[hidden] { display: none !important; }
.cms-admin-page-links { display: grid; }
.cms-admin-page-links > button { padding-left: 18px; }
.cms-dashboard-grid { align-items: stretch; }

/* Fase 68 – Klubben / Om Voss Golfklubb modul-editor */
.cms-about-module-controls,.cms-about-milestone-controls{display:flex;gap:.45rem;align-items:center;margin:.65rem 0 1rem;padding:.45rem;border-top:1px dashed #a9b9ae}
.cms-about-module-controls button,.cms-about-milestone-controls button{border:1px solid #aeb8b0;background:#fff;color:#173e32;border-radius:7px;padding:.4rem .65rem;font:inherit;cursor:pointer}
.cms-about-module-controls [data-remove],.cms-about-milestone-controls [data-del]{margin-left:1rem;color:#9b3f34;border-color:#d5aaa4}
.cms-about-add-section{margin:2rem 0;padding:1rem;border:1px dashed #7f9b8f;border-radius:10px;display:flex;align-items:center;gap:.7rem;justify-content:center;background:#f6faf7}
.cms-about-add-section span{font-weight:600;color:#315848}.cms-about-add-section button{border:1px solid #78988a;background:#fff;border-radius:8px;padding:.6rem .8rem;color:#174f3b;font-weight:600;cursor:pointer}
.cms-about-inline{display:block}.cms-about-add-milestone{margin:1rem auto 2rem;display:block}
/* Fase 71: redigerbar historikktekst er mørk på lyse flater.
   Milepæl-år står kvitt på den mørke sirkelen, men blir mørkt berre medan feltet har fokus. */
.cms-klubben-live-stage .cms-live-editable[contenteditable="true"]{
  color:#173e32!important;
  -webkit-text-fill-color:#173e32!important;
  caret-color:#173e32!important;
}
.cms-klubben-live-stage .klubben-timeline-dot.cms-live-editable[contenteditable="true"]{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.cms-klubben-live-stage .klubben-timeline-dot.cms-live-editable[contenteditable="true"]:focus{
  color:#173e32!important;
  -webkit-text-fill-color:#173e32!important;
  caret-color:#173e32!important;
}

/* Fase 72 – dynamisk Fellesskap og dugnad */
[data-community-modules]:not(:empty){padding-top:10px}
.community-dynamic-text,.community-dynamic-image{margin-top:28px}
.community-image-left .klubben-community-copy{order:2}
.community-image-left .klubben-community-image{order:1}
.cms-community-module-controls,.cms-community-card-controls{display:flex;gap:10px;align-items:center;margin-top:12px}
.cms-community-module-controls button,.cms-community-card-controls button{min-width:40px;height:38px;border:1px solid #b8c2bb;border-radius:8px;background:#fff;color:#173b31;cursor:pointer}
.cms-community-module-controls [data-remove],.cms-community-card-controls [data-del]{margin-left:auto;border-color:#d7a79b;color:#a84738}
.cms-community-add{display:flex;gap:10px;align-items:center;justify-content:center;margin:30px 0;padding:18px;border:1px dashed #78978c;border-radius:10px;background:#f7faf7}
.cms-community-add button,.cms-community-add-card{border:1px solid #78978c;border-radius:8px;background:#fff;color:#173b31;padding:10px 14px;font-weight:700;cursor:pointer}
.cms-community-add-card{display:block;margin:20px auto 0}
.cms-community-live-card{position:relative}
.cms-community-live-card .cms-community-card-controls{grid-column:1/-1}


/* Fase 73 – same kortspråk for begge styra */
.klubben-unified-board-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.klubben-unified-board-grid article{min-height:112px;padding:20px;border:1px solid rgba(38,69,55,.18);border-radius:9px;background:rgba(255,255,255,.24)}
.klubben-unified-board-grid article small{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.klubben-unified-board-grid article h4{margin:0;font-family:var(--serif);font-weight:500;color:var(--ink);font-size:1.12rem}
.klubben-unified-board-grid .klubben-board-contact{align-items:flex-start;margin-top:12px}
.klubben-committee-people{margin-top:14px;display:grid;gap:9px}.klubben-committee-people>div{padding-top:9px;border-top:1px solid rgba(38,69,55,.14);display:grid;gap:2px}.klubben-committee-people b{font-size:.88rem}.klubben-committee-people small,.klubben-committee-people a{font-size:.78rem;color:var(--muted);text-decoration:none}
.cms-org-controls{display:flex;gap:8px;align-items:center;margin-top:12px}.cms-org-controls button,.cms-org-add,.cms-org-person-add{border:1px solid rgba(38,69,55,.35);background:#fff;color:var(--ink);border-radius:7px;padding:8px 11px;cursor:pointer}.cms-org-controls [data-del]{margin-left:auto;color:#a43f32;border-color:rgba(164,63,50,.35)}
.cms-org-person-editor{margin-top:12px;padding:12px;border:1px dashed rgba(38,69,55,.28);border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.cms-org-person-editor label{display:grid;gap:4px;font-size:.75rem;color:var(--muted)}.cms-org-person-editor input,.cms-org-person-editor select{width:100%;padding:8px;border:1px solid rgba(38,69,55,.25);border-radius:6px;background:#fff}.cms-org-person-editor .cms-org-full{grid-column:1/-1}.cms-org-person-editor button{justify-self:start}
.cms-org-committee-admin{position:relative}.cms-org-committee-admin .cms-org-person-editor{background:rgba(255,255,255,.32)}
@media(max-width:650px){.klubben-unified-board-grid{grid-template-columns:1fr}.cms-org-person-editor{grid-template-columns:1fr}}


/* Fase 74: klubb- og AS-styre samla i same hovudseksjon */
.klubben-board-pair{max-width:1120px;margin:0 auto 76px;padding:0 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.klubben-board-panel{border:1px solid rgba(38,69,55,.18);border-radius:14px;padding:28px;background:rgba(255,255,255,.22)}
.klubben-board-panel-title{font-family:var(--serif);font-size:1.65rem;font-weight:500;color:var(--ink);margin:0 0 18px}
.klubben-board-pair .klubben-board-members{max-width:none;margin:0;padding:0}
.klubben-board-pair .klubben-unified-board-grid,.klubben-board-pair .klubben-company-board-grid{grid-template-columns:1fr;margin-top:14px}
.klubben-board-pair .klubben-company-board>span{display:block;font-size:.7rem;letter-spacing:.14em;color:var(--muted);margin-bottom:7px}
.klubben-company-layout{grid-template-columns:1fr!important}
@media(max-width:900px){.klubben-board-pair{grid-template-columns:1fr}}
@media(max-width:650px){.klubben-board-pair{padding:0 16px}.klubben-board-panel{padding:20px}}

/* Fase 75 – dokumentadministrasjon */
.cms-doc-manager-section{border:1px solid var(--cms-border,#d8d3c8);border-radius:14px;overflow:hidden;background:#fff;margin-bottom:18px}
.cms-doc-manager-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e6e0d5}.cms-doc-manager-head h4{margin:0}.cms-doc-manager-head span{font-size:12px;color:#68736e}
.cms-doc-manager-section .cms-document-admin-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border-bottom:1px solid #ece7de}.cms-doc-manager-section .cms-document-admin-row:last-child{border-bottom:0}
.cms-doc-file-copy{display:grid;gap:3px;min-width:0}.cms-doc-file-copy small{letter-spacing:.12em;color:#65746e}.cms-doc-file-copy b{font-size:15px}.cms-doc-file-copy span{font-size:12px;color:#78817d;overflow:hidden;text-overflow:ellipsis}
.cms-doc-actions{display:flex;gap:12px;flex:0 0 auto}.cms-doc-manager-section .cms-danger-button{margin-left:10px}
@media(max-width:700px){.cms-doc-manager-section .cms-document-admin-row{align-items:flex-start;flex-direction:column}.cms-doc-actions{width:100%}.cms-doc-actions button{flex:1}}

/* Fase 76: synleg filadministrasjon over Dokument-førehandsvisinga */
.cms-document-live-tools{display:grid;grid-template-columns:1fr auto;gap:14px 18px;align-items:center;margin:16px 0;padding:16px 18px;border:1px solid rgba(31,82,61,.22);border-radius:12px;background:#f5f8f4}
.cms-document-live-tools[hidden]{display:none!important}.cms-document-live-copy{display:flex;flex-direction:column;gap:3px}.cms-document-live-copy b{font-family:Georgia,serif;font-size:18px;font-weight:500;color:#173f31}.cms-document-live-copy span{font-size:13px;color:#68736d}.cms-document-live-manager{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px}.cms-document-live-manager .cms-doc-manager-section{margin:0;background:#fff;border:1px solid #ddd6c8;border-radius:10px;padding:14px}.cms-document-live-manager .cms-document-admin-row{margin-top:10px}@media(max-width:900px){.cms-document-live-manager{grid-template-columns:1fr}.cms-document-live-tools{grid-template-columns:1fr}.cms-document-live-tools>.cms-primary-button{justify-self:start}}
/* Fase 77 – dokumentmodal */
.cms-document-live-tools>.cms-primary-button{appearance:none;border:1px solid #244f40;background:#244f40;color:#fff;border-radius:8px;padding:10px 16px;font:600 13px/1.2 Arial,sans-serif;box-shadow:none;cursor:pointer}
.cms-document-live-tools>.cms-primary-button:hover{background:#173f31}
.cms-doc-modal-overlay{position:fixed;inset:0;z-index:100000;background:rgba(13,36,29,.48);display:grid;place-items:center;padding:24px}
.cms-doc-modal{width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#f8f6ef;border:1px solid #d6d0c3;border-radius:14px;box-shadow:0 22px 70px rgba(0,0,0,.22)}
.cms-doc-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:22px 24px 18px;border-bottom:1px solid #ddd7cb}.cms-doc-modal-head small{letter-spacing:.18em;color:#587065}.cms-doc-modal-head h3{margin:5px 0 0;font:400 27px/1.1 Georgia,serif;color:#173f31}.cms-doc-modal-close{border:0;background:transparent;font-size:28px;line-height:1;color:#173f31;cursor:pointer}
.cms-doc-modal-body{display:grid;gap:16px;padding:22px 24px}.cms-doc-modal-body label{display:grid;gap:7px;font:600 12px/1.3 Arial,sans-serif;color:#43544d}.cms-doc-modal-body input,.cms-doc-modal-body select{width:100%;box-sizing:border-box;border:1px solid #cec8bc;border-radius:7px;background:#fff;padding:11px 12px;font:400 14px Arial,sans-serif;color:#233b32}.cms-doc-modal-body input[type=file]{padding:9px}.cms-doc-year-wrap[hidden]{display:none!important}
.cms-doc-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px 22px;border-top:1px solid #ddd7cb}.cms-doc-modal-actions .cms-primary-button{border:1px solid #244f40;background:#244f40;color:#fff;border-radius:8px;padding:10px 16px;font-weight:600}.cms-doc-modal-actions .cms-secondary-button{border:1px solid #cfc9bd;background:#fff;color:#244f40;border-radius:8px;padding:10px 16px}

/* Fase 78 – Besøk oss admin */
.cms-klubben-live-stage .visit-page,.cms-live-viewport .visit-page{padding-left:24px;padding-right:24px}
.cms-image-edit-button{position:absolute;right:18px;top:18px;z-index:5;border:0;border-radius:8px;background:#173b31;color:#fff;padding:10px 14px;font-weight:700;cursor:pointer}
.cms-visit-controls{display:flex;gap:8px;margin-top:14px;align-items:center}.cms-visit-controls button{border:1px solid #b8c5bd;background:#fff;color:#173b31;border-radius:7px;padding:7px 10px;cursor:pointer}.cms-visit-controls button[data-d]{margin-left:8px;color:#a74437;border-color:#d9b2aa}.cms-visit-controls button:disabled{opacity:.35;cursor:default}

/* Fase 81: stabil editor for Andre prisar */
.cms-offer-editor-footer{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.cms-offer-editor-footer .cms-offer-close{margin-left:auto}
.cms-offer-editor-footer .cms-offer-save{white-space:nowrap}

/* ===== FASE 82 – PRISEDITOR-KNAPPAR + ADMIN FULLSKJERM ===== */
.cms-offer-editor-footer{display:flex;align-items:center;gap:12px;width:100%}
.cms-offer-editor-footer .cms-offer-close{margin-left:auto}
.cms-offer-editor-footer .cms-offer-save{
  appearance:none;
  border:1px solid var(--green);
  border-radius:6px;
  padding:11px 15px;
  background:var(--green);
  color:#fff;
  font:600 .82rem var(--sans);
  cursor:pointer;
  white-space:nowrap;
}
.cms-offer-editor-footer .cms-offer-save:hover{filter:brightness(.94)}


/* =========================================================
   FASE 84 – MOBIL FRAMSIDE, KUN MOBIL
   Desktop skal ikkje endrast av reglane under.
========================================================= */
@media (max-width: 650px) {
  /* Mobil rekkefølgje: starttid før golfbil før turneringar. */
  .dashboard {
    grid-template-areas:
      "starttid"
      "golfbil"
      "turneringar";
  }
  /* På desktop ligg starttid + turneringar i same høgre kolonne.
     På mobil fjernar me wrapper-boksen slik at dei tre korta igjen
     kan plasserast kvar for seg i mobil-gridet. */
  .dashboard > .dashboard-right {
    display: contents;
  }

  .tee-booking { grid-area: starttid; }
  .booking { grid-area: golfbil; }
  .tournaments { grid-area: turneringar; }

  /* Sticky mobilheader utan separator eller skugge under. */
  .topbar {
    z-index: 1000;
    background: #faf8f3;
    border-bottom: 0;
    box-shadow: none;
  }
  .mobile-nav { z-index: 1001; }

  /* Litt meir luft mellom statusfeltet og karusellprikkane. */
  .hero .status { bottom: 52px; }
  .hero-dots { bottom: 18px; }

  /* Mobilknapp for å folde ut fleire golfbiltider. */
  .golfbil-more-times:not([hidden]) {
    display: flex;
    width: 100%;
    min-height: 46px;
    margin: 12px 0 0;
    padding: 11px 16px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fff;
    color: var(--ink);
    font: 500 .82rem var(--sans);
    letter-spacing: .01em;
    cursor: pointer;
  }
  .golfbil-more-times:hover,
  .golfbil-more-times:focus-visible {
    border-color: var(--gold);
  }

  /* Meir kompakte sponsorkort på mobil. */
  .sponsor-item {
    min-height: 112px;
    padding: 18px 22px;
  }
  .sponsor-item img {
    max-height: 64px;
    max-width: 180px;
  }
  .sponsor-logos { gap: 14px; }
}

/* Fase 85: swipe/drag på hero. Vertikal sidescroll er framleis tillaten. */
.hero {
  touch-action: pan-y;
}
/* Fase 88 – kompakt statuslinje i Nyheiter-hero på mobil */
@media (max-width: 650px) {
  .subhero[data-active-tab="nyheiter"] .status-overview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 5px 14px;
    width: auto;
    max-width: calc(100% - 36px);
    right: 18px;
    bottom: 14px;
    padding: 8px 11px;
    border-radius: 9px;
    overflow: visible;
  }

  .subhero[data-active-tab="nyheiter"] .status-item {
    display: inline-flex;
    align-items: center;
    grid-template-columns: none;
    flex: 0 0 auto;
    gap: 6px;
    padding: 0;
    border: 0;
  }

  .subhero[data-active-tab="nyheiter"] .status-item + .status-item {
    border-top: 0;
  }

  .subhero[data-active-tab="nyheiter"] .status-item > div {
    display: block;
  }

  .subhero[data-active-tab="nyheiter"] .status-item strong {
    display: block;
    white-space: nowrap;
    font-size: .64rem;
    line-height: 1.2;
  }

  .subhero[data-active-tab="nyheiter"] .status-dot {
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
  }
}


/* Fase 89 – faktisk kompakt Nyheiter-status på mobil */
@media (max-width:650px){
  section.subhero[data-active-tab="nyheiter"] > .status.status-overview{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px 12px!important;
    width:auto!important;
    max-width:calc(100% - 36px)!important;
    left:18px!important;
    right:auto!important;
    bottom:14px!important;
    padding:8px 11px!important;
    border-radius:9px!important;
  }
  section.subhero[data-active-tab="nyheiter"] > .status.status-overview > .status-item{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:5px!important;
    padding:0!important;
    border:0!important;
    min-height:0!important;
  }
  section.subhero[data-active-tab="nyheiter"] > .status.status-overview > .status-item + .status-item{border-top:0!important}
  section.subhero[data-active-tab="nyheiter"] > .status.status-overview > .status-item > div{display:block!important}
  section.subhero[data-active-tab="nyheiter"] > .status.status-overview > .status-item strong{
    display:block!important;white-space:nowrap!important;font-size:.62rem!important;line-height:1.15!important
  }
  section.subhero[data-active-tab="nyheiter"] > .status.status-overview > .status-item .status-dot{
    width:6px!important;height:6px!important;flex:0 0 6px!important;margin:0!important
  }
}

/* =========================================================
   FASE 90 – NYHEITSARTIKKEL + MOBIL STATUS
========================================================= */
.news-detail{
  max-width:1280px;
  margin:0 auto;
  padding:48px clamp(28px,6vw,90px) 90px;
}
.news-detail-back{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 32px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  font:500 .86rem var(--sans);
  cursor:pointer;
}
.news-detail-back:hover{color:var(--green)}
.news-detail-image{
  width:100%;
  aspect-ratio:16/7;
  overflow:hidden;
  border-radius:4px;
}
.news-detail-image img{width:100%;height:100%;display:block;object-fit:cover}
.news-detail-content{max-width:780px;margin:36px auto 0}
.news-detail-content .news-meta{margin-bottom:20px}
.news-detail-content h1{
  margin:0 0 24px;
  font-family:var(--serif);
  font-size:clamp(2.5rem,5vw,4.6rem);
  line-height:1.04;
  font-weight:400;
}
.news-detail-body{
  padding-top:24px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.75;
  white-space:pre-line;
}
.news-detail-cta{display:inline-flex;margin-top:28px;color:var(--green);text-decoration:none;font-family:var(--serif);gap:14px}

@media (max-width:650px){
  /* Status ligg lågare i heroen, som i godkjend mockup. */
  section.subhero[data-active-tab="nyheiter"] > .status.status-overview{
    left:18px!important;
    right:18px!important;
    bottom:10px!important;
    width:auto!important;
    max-width:none!important;
    padding:7px 10px!important;
    justify-content:center!important;
    gap:5px 11px!important;
  }

  /* Mobil artikkelvisning. */
  .news-detail{
    padding:0 18px 64px;
  }
  .news-detail-back{
    width:calc(100% + 36px);
    margin:0 -18px 28px;
    padding:16px 18px;
    border-bottom:1px solid var(--line);
    background:#faf8f3;
    font-size:.82rem;
  }
  .news-detail-image{
    aspect-ratio:16/10;
    max-height:250px;
    border-radius:4px;
  }
  .news-detail-content{
    margin:28px 0 0;
  }
  .news-detail-content .news-meta{
    margin-bottom:18px;
    font-size:.64rem;
  }
  .news-detail-content h1{
    margin-bottom:20px;
    font-size:2.45rem;
  }
  .news-detail-body{
    padding-top:22px;
    font-size:.96rem;
    line-height:1.7;
  }
  .news-detail::after{
    content:"←  Tilbake til nyheitsarkivet";
    display:flex;
    align-items:center;
    min-height:52px;
    margin-top:34px;
    padding:0 16px;
    border:1px solid var(--line);
    border-radius:7px;
    background:#f6f3ed;
    color:var(--ink);
    font:500 .82rem var(--sans);
  }
}
.news-detail-back-bottom{
  display:flex;
  width:100%;
  min-height:56px;
  margin:34px 0 0;
  padding:0 18px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:#f6f3ed;
}
@media (min-width:651px){.news-detail-back-bottom{max-width:420px}}
@media (max-width:650px){.news-detail::after{display:none!important}}

/* Fase 91 – meir luft rundt kompakt status på Nyheiter (berre mobil) */
@media (max-width:650px){
  section.subhero[data-active-tab="nyheiter"]{
    height:250px;
  }
  section.subhero[data-active-tab="nyheiter"] > .status.status-overview{
    bottom:12px!important;
  }
}

/* =========================================================
   FASE 92 – SAME MOBILE STATUS COMPONENT ON ALL PAGES
   Desktop is intentionally untouched.
========================================================= */
@media (max-width:650px){
  .hero .status.status-overview,
  .subhero .status.status-overview{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px 11px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    max-width:none!important;
    padding:7px 10px!important;
    border-radius:9px!important;
    overflow:visible!important;
  }

  .hero .status.status-overview > .status-item,
  .subhero .status.status-overview > .status-item{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:5px!important;
    padding:0!important;
    border:0!important;
    min-height:0!important;
  }

  .hero .status.status-overview > .status-item + .status-item,
  .subhero .status.status-overview > .status-item + .status-item{
    border-top:0!important;
  }

  .hero .status.status-overview > .status-item > div,
  .subhero .status.status-overview > .status-item > div{
    display:block!important;
  }

  .hero .status.status-overview > .status-item strong,
  .subhero .status.status-overview > .status-item strong{
    display:block!important;
    white-space:nowrap!important;
    font-size:.62rem!important;
    line-height:1.15!important;
  }

  .hero .status.status-overview .status-dot,
  .subhero .status.status-overview .status-dot{
    width:6px!important;
    height:6px!important;
    flex:0 0 6px!important;
    margin:0!important;
  }

  /* Home keeps room for carousel dots. */
  .hero .status.status-overview{bottom:48px!important;}

  /* All subpages use the same lower-hero placement as News. */
  .subhero .status.status-overview{bottom:12px!important;}
}

/* =========================================================
   FASE 94 – PRISAR: BETRE HORISONTAL BALANSE PÅ MOBIL
   Berre mobil. Desktop er urørt.
========================================================= */
@media (max-width:650px){
  .other-price-item{
    padding-left:12px;
    padding-right:14px;
  }

  .other-price-item > div:first-child{
    gap:8px;
    flex:0 1 auto;
    min-width:0;
  }

  .other-price-icon{
    width:30px;
    min-width:30px;
  }

  /* Enkle prisar skal ikkje liggje heilt ute i høgre kant. */
  .other-price-item > .other-price-value{
    margin-right:16px;
  }

  /* Fleirpris-kort: bruk breidda jamt i staden for å skyve alt mot høgre. */
  .other-price-item > .other-price-options{
    flex:1 1 auto;
    min-width:0;
    margin-left:8px;
    gap:0;
    justify-content:space-between;
  }

  .other-price-options > span{
    flex:1 1 0;
    min-width:0;
    padding:0 7px;
    text-align:center;
  }

  .other-price-options > span + span{
    padding-left:7px;
  }

  .other-price-options small{
    white-space:nowrap;
  }
}

/* Fase 95 – mobil: kollapsbare styre i Styret og organisasjonen */
.klubben-board-mobile-toggle { display: none; }
@media (max-width:650px) {
  .klubben-board-panel-title { display: none; }
  .klubben-board-mobile-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 16px;
    border: 1px solid rgba(38,69,55,.24);
    border-radius: 10px;
    background: rgba(255,255,255,.28);
    color: var(--ink);
    font-family: var(--serif);
    font-size: 1.15rem;
    text-align: left;
    cursor: pointer;
  }
  .klubben-board-mobile-toggle::after {
    content: "⌄";
    flex: 0 0 auto;
    font-family: sans-serif;
    font-size: 1.25rem;
    line-height: 1;
    transition: transform .2s ease;
  }
  .klubben-board-panel.is-mobile-open > .klubben-board-mobile-toggle::after { transform: rotate(180deg); }
  .klubben-board-panel > .klubben-board-members,
  .klubben-board-panel > .klubben-company-board { display: none; }
  .klubben-board-panel.is-mobile-open > .klubben-board-members,
  .klubben-board-panel.is-mobile-open > .klubben-company-board { display: block; }
  .klubben-board-panel { margin-bottom: 12px; }
  .klubben-board-panel .klubben-board-members { padding-top: 18px; padding-bottom: 22px; }
  .klubben-board-panel .klubben-company-board { padding-top: 18px; padding-bottom: 22px; }
}

/* =========================================================
   FASE 96 – RETTA MOBIL-AKKORDION FOR STYRA
   Berre mobil. Desktop er urørt.
========================================================= */
@media (max-width:650px){
  .klubben-board-pair > .klubben-board-panel{
    padding:0!important;
    min-height:0!important;
    height:auto!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .klubben-board-mobile-toggle{
    position:relative!important;
    min-height:52px!important;
    height:auto!important;
    padding:14px 46px 14px 16px!important;
    color:#17382f!important;
    -webkit-text-fill-color:#17382f!important;
    opacity:1!important;
    visibility:visible!important;
    font-family:var(--sans)!important;
    font-size:.92rem!important;
    font-weight:650!important;
    line-height:1.25!important;
  }
  .klubben-board-panel-club > .klubben-board-mobile-toggle::before{
    content:"Voss Golfklubb";
  }
  .klubben-board-panel-company > .klubben-board-mobile-toggle::before{
    content:"Voss Golfbaner AS";
  }
  .klubben-board-mobile-toggle::after{
    content:"⌄"!important;
    position:absolute!important;
    right:16px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#17382f!important;
    -webkit-text-fill-color:#17382f!important;
  }
  .klubben-board-panel.is-mobile-open > .klubben-board-mobile-toggle::after{
    transform:translateY(-50%) rotate(180deg)!important;
  }
  .klubben-board-panel:not(.is-mobile-open) > .klubben-board-members,
  .klubben-board-panel:not(.is-mobile-open) > .klubben-company-board{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }
  .klubben-board-panel.is-mobile-open > .klubben-board-members,
  .klubben-board-panel.is-mobile-open > .klubben-company-board{
    display:block!important;
    height:auto!important;
  }
}

/* =========================================================
   FASE 97 – MOBIL ADMIN: ENKEL 2x3 HOVUDMENY
   Berre mobil. Desktop-admin er urørt.
========================================================= */
@media (max-width: 560px) {
  .cms-admin-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-height: 0;
    padding: 10px 12px 12px;
    overflow: visible;
    background: #102f28;
  }

  .cms-admin-nav > button[data-admin-view="overview"],
  .cms-admin-nav > button[data-admin-view="status"],
  .cms-admin-nav > button[data-admin-view="prices"],
  .cms-admin-nav > button[data-admin-view="sponsors"],
  .cms-admin-nav > button[data-admin-view="page:nyheiter"],
  .cms-admin-nav > button[data-admin-view="contact"] {
    min-width: 0;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 8px 10px;
    display: grid;
    grid-template-columns: 24px 1fr;
    justify-items: start;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    text-align: left;
  }

  .cms-admin-nav > button[data-admin-view="overview"] b,
  .cms-admin-nav > button[data-admin-view="status"] b,
  .cms-admin-nav > button[data-admin-view="prices"] b,
  .cms-admin-nav > button[data-admin-view="sponsors"] b,
  .cms-admin-nav > button[data-admin-view="page:nyheiter"] b,
  .cms-admin-nav > button[data-admin-view="contact"] b {
    font-size: .78rem;
    text-align: left;
  }

  .cms-admin-nav > button[data-admin-view="overview"] span,
  .cms-admin-nav > button[data-admin-view="status"] span,
  .cms-admin-nav > button[data-admin-view="prices"] span,
  .cms-admin-nav > button[data-admin-view="sponsors"] span,
  .cms-admin-nav > button[data-admin-view="page:nyheiter"] span,
  .cms-admin-nav > button[data-admin-view="contact"] span {
    min-width: 24px;
  }

  /* Sideeditor og avansert admin er framleis tilgjengeleg på desktop. */
  .cms-admin-nav > .cms-admin-section-toggle,
  .cms-admin-nav > .cms-admin-page-links,
  .cms-admin-nav > button[data-admin-view="advanced"],
  .cms-admin-nav > .cms-admin-nav-title {
    display: none !important;
  }
}
\n\n/* =========================================================\n   FASE 98 – MOBIL ADMIN: TYDELEG VEG TILBAKE TIL NETTSIDA\n   Berre mobil. Ein knapp øvst og ein nedst.\n========================================================= */\n.cms-mobile-exit { display: none; }\n\n@media (max-width: 560px) {\n  .cms-mobile-exit {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: fit-content;\n    min-height: 40px;\n    padding: 9px 14px;\n    border: 1px solid rgba(16,47,40,.22);\n    border-radius: 8px;\n    background: #fff;\n    color: #102f28;\n    font: inherit;\n    font-size: .78rem;\n    font-weight: 600;\n    cursor: pointer;\n  }\n  .cms-mobile-exit-top { margin: 12px 12px 0; }\n  .cms-mobile-exit-bottom { margin: 20px 12px 24px; }\n}\n
/* =========================================================
   FASE 100 – MOBIL ADMIN: TIL NETTSIDA I SAME DESIGN
   Berre mobil. Desktop er urørt.
========================================================= */
@media (max-width: 560px) {
  .cms-admin-main .cms-mobile-exit {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid rgba(23, 59, 50, .22);
    border-radius: 9px;
    background: #fff;
    color: #173b32;
    font-family: var(--sans);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
    box-shadow: 0 1px 4px rgba(23, 49, 40, .06);
    cursor: pointer;
  }
  .cms-admin-main .cms-mobile-exit:hover,
  .cms-admin-main .cms-mobile-exit:focus-visible {
    background: #f3f5f1;
    border-color: #9caf9f;
  }
  .cms-admin-main .cms-mobile-exit-top {
    margin: 14px 14px 2px;
  }
  .cms-admin-main .cms-mobile-exit-bottom {
    margin: 22px 14px 26px;
  }
}

/* =========================================================
   FASE 101 – TIL NETTSIDA: BERRE MOBIL + KORREKT ADMINSTIL
========================================================= */
.cms-admin-main .cms-mobile-exit {
  display: none !important;
}

@media (max-width: 560px) {
  .cms-admin-main .cms-mobile-exit {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    width: auto;
    padding: 9px 14px;
    border: 1px solid #d8d4c9;
    border-radius: 8px;
    background: #ffffff;
    color: #123d33;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.1;
    box-shadow: none;
    cursor: pointer;
  }

  .cms-admin-main .cms-mobile-exit:active {
    background: #f4f2ec;
  }

  .cms-admin-main .cms-mobile-exit-top {
    margin: 14px 14px 4px;
  }

  .cms-admin-main .cms-mobile-exit-bottom {
    margin: 22px 14px 26px;
  }
}
\n\n/* =========================================================\n   FASE 102 – MOBIL ADMIN: OVERSIKT SOM NAV-HUB\n   Berre mobil. Desktop-admin er urørt.\n========================================================= */\n.cms-mobile-overview-back { display: none; }\n\n@media (max-width: 560px) {\n  /* På mobil viser toppnavigasjonen berre Oversikt. */\n  .cms-admin-nav {\n    display: block;\n    min-height: 0;\n    padding: 8px 12px;\n    overflow: visible;\n    background: #102f28;\n  }\n\n  .cms-admin-nav > button[data-admin-view=\"overview\"] {\n    display: grid !important;\n    grid-template-columns: 24px 1fr;\n    align-items: center;\n    gap: 8px;\n    width: 100%;\n    min-height: 48px;\n    margin: 0;\n    padding: 8px 12px;\n    border-radius: 8px;\n    text-align: left;\n  }\n\n  .cms-admin-nav > button[data-admin-view=\"overview\"] b {\n    font-size: .78rem;\n    text-align: left;\n  }\n\n  .cms-admin-nav > button[data-admin-view=\"status\"],\n  .cms-admin-nav > button[data-admin-view=\"prices\"],\n  .cms-admin-nav > button[data-admin-view=\"sponsors\"],\n  .cms-admin-nav > button[data-admin-view=\"page:nyheiter\"],\n  .cms-admin-nav > button[data-admin-view=\"contact\"],\n  .cms-admin-nav > .cms-admin-section-toggle,\n  .cms-admin-nav > .cms-admin-page-links,\n  .cms-admin-nav > button[data-admin-view=\"advanced\"],\n  .cms-admin-nav > .cms-admin-nav-title {\n    display: none !important;\n  }\n\n  .cms-mobile-overview-back:not([hidden]) {\n    -webkit-appearance: none;\n    appearance: none;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 40px;\n    margin: 0 0 16px;\n    padding: 9px 14px;\n    border: 1px solid #d8d4c9;\n    border-radius: 8px;\n    background: #fff;\n    color: #123d33;\n    font-family: inherit;\n    font-size: 13px;\n    font-weight: 600;\n    line-height: 1.1;\n    cursor: pointer;\n  }\n\n  .cms-mobile-overview-back:active { background: #f4f2ec; }\n}\n

/* =========================================================
   FASE 103 – MOBIL ADMIN: OVERSIKT + TIL NETTSIDA I TOPPEN
   Berre mobil. Desktop-admin er urørt.
========================================================= */
@media (max-width: 560px) {
  .cms-admin-nav {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 0 !important;
    padding: 8px 12px !important;
    overflow: visible !important;
    background: #102f28 !important;
  }

  .cms-admin-nav > button[data-admin-view="overview"] {
    display: grid !important;
    grid-template-columns: 24px 1fr !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    text-align: left !important;
  }

  .cms-admin-nav > button[data-admin-view="overview"] b {
    font-size: .78rem !important;
    text-align: left !important;
  }

  .cms-admin-nav > button[data-admin-view="status"],
  .cms-admin-nav > button[data-admin-view="prices"],
  .cms-admin-nav > button[data-admin-view="sponsors"],
  .cms-admin-nav > button[data-admin-view="page:nyheiter"],
  .cms-admin-nav > button[data-admin-view="contact"],
  .cms-admin-nav > .cms-admin-section-toggle,
  .cms-admin-nav > .cms-admin-page-links,
  .cms-admin-nav > button[data-admin-view="advanced"],
  .cms-admin-nav > .cms-admin-nav-title {
    display: none !important;
  }

  .cms-admin-nav > .cms-mobile-exit-top {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 1px solid rgba(255,255,255,.34) !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #fff !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
  }

  .cms-admin-main > .cms-mobile-exit-bottom {
    display: inline-flex !important;
  }

  .cms-mobile-overview-back:not([hidden]) {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    margin: 0 0 16px !important;
    padding: 9px 14px !important;
    border: 1px solid #d8d4c9 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #123d33 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.1 !important;
    cursor: pointer !important;
  }
}


/* =========================================================
   FASE 104 – MOBIL ADMIN: SKJUL SEKUNDAERE TOPPFANER
   Berre mobil. Knappane finst framleis i DOM for intern navigasjon.
========================================================= */
@media (max-width: 700px) {
  .cms-admin-nav > .cms-mobile-secondary-nav {
    display: none !important;
  }
}


/* FASE 108 – NY VISUELL PROFIL / LOGO */
@media (max-width: 900px) {
  .wordmark-logo { display: none; }
  .wordmark-symbol { display: block; width: 46px; height: 46px; }
}


/* Footer-lenker i admin */
.cms-social-link-editor {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(27, 60, 46, .14);
}

.cms-social-link-editor h4 {
  margin: 0 0 12px;
}


/* =========================================================
   ADMIN – FOOTER-LENKER OG TILBAKE TIL NETTSIDA
   Felles knappdesign, sortering og fast exit nedst i sidebaren.
========================================================= */
.cms-footer-link-actions {
  align-items: center;
}

.cms-footer-add-link {
  margin-top: 2px;
}

/* På desktop ligg "Til nettsida" alltid nedst i admin-sidebaren. */
@media (min-width: 561px) {
  .cms-admin-nav {
    display: flex;
    flex-direction: column;
    min-height: 100%;
  }

  .cms-admin-nav > .cms-admin-site-exit {
    display: flex !important;
    margin-top: auto !important;
    width: 100%;
  }
}

@media (max-width: 650px) {
  .cms-footer-group-head { grid-template-columns: 1fr; align-items: stretch; }
  .cms-footer-group-actions { justify-content: flex-end; }
}

/* =========================================================
   27. CMS / ADMIN – INNLOGGING
========================================================= */
/* Sørg for at login/admin faktisk kan bytast med HTML hidden-attributtet. */
.cms-login-view[hidden],
.cms-admin-layout[hidden] {
  display: none !important;
}
.cms-login-view {
  height: calc(100% - 74px);
  display: grid;
  place-items: center;
  overflow-y: auto;
  padding: 42px 20px;
  background: var(--cream, #f7f4ed);
}
.cms-login-card {
  position: relative;
  width: min(430px, 100%);
  padding: 38px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(20,45,36,.08);
}
.cms-login-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--green);
  font: 400 1.65rem/1 var(--sans);
  cursor: pointer;
}
.cms-login-close:hover,
.cms-login-close:focus-visible {
  background: rgba(27,60,46,.08);
  outline: none;
}
.cms-login-kicker { margin: 0 0 8px; color: var(--green); font-size: .65rem; font-weight: 700; letter-spacing: .2em; }
.cms-login-card h3 { margin: 0; font: 400 2.35rem/1.05 var(--serif); color: var(--ink); }
.cms-login-intro { margin: 10px 0 28px; color: var(--muted); }
.cms-login-form { display: grid; gap: 18px; }
.cms-login-form label { display: grid; gap: 7px; color: var(--ink); font-size: .82rem; font-weight: 600; }
.cms-login-form input {
  width: 100%; min-height: 46px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 7px;
  background: #fff; color: var(--ink); font: inherit; outline: none;
}
.cms-login-form input:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(27,60,46,.10); }
.cms-password-field { position: relative; display: block; }
.cms-password-field input { padding-right: 64px; }
.cms-password-toggle {
  position: absolute; right: 7px; top: 50%; transform: translateY(-50%); border: 0; background: transparent;
  color: var(--green); font: 600 .76rem var(--sans); cursor: pointer; padding: 7px;
}
.cms-login-row { display: flex; justify-content: flex-end; margin-top: -8px; }
.cms-login-forgot { border: 0; padding: 0; background: transparent; color: var(--green); font: 600 .78rem var(--sans); cursor: pointer; }
.cms-login-submit {
  min-height: 46px; border: 1px solid var(--green); border-radius: 7px; background: var(--green); color: #fff;
  font: 600 .86rem var(--sans); cursor: pointer;
}
.cms-login-submit:hover { filter: brightness(.96); }
.cms-login-message { min-height: 1.2em; margin: -6px 0 0; color: var(--muted); font-size: .78rem; }
.cms-login-preview { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.cms-login-preview p { margin: 0 0 12px; color: var(--muted); font-size: .78rem; }
.cms-admin-user { display: flex; align-items: center; gap: 7px; padding-left: 14px; border-left: 1px solid var(--line); white-space: nowrap; }
.cms-admin-user-icon { display: inline-grid; place-items: center; width: 24px; height: 24px; border: 1px solid var(--line); border-radius: 50%; color: var(--green); font-size: .78rem; line-height: 1; }
.cms-admin-user-name { font-size: .8rem; font-weight: 700; color: var(--ink); }
.cms-admin-user-separator { color: var(--muted); font-size: .82rem; }
.cms-admin-user button { border: 0; background: transparent; padding: 4px 0; color: var(--green); font: 600 .78rem var(--sans); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.cms-admin-user button:hover,
.cms-admin-user button:focus-visible { color: var(--ink); outline: none; }
@media (max-width: 900px) {
  .cms-login-view { height: calc(100% - 64px); padding: 24px 14px; align-items: start; }
  .cms-login-card { margin-top: 20px; padding: 26px 22px; }
  .cms-login-card h3 { font-size: 2rem; }
  .cms-admin-user { width: 100%; justify-content: flex-end; border-left: 0; padding-left: 0; }
}


/* =========================================================
   ADMIN – INNLOGGA BRUKAR I BOTNLINJE
   Mobil: brukarinfo ligg diskret motsett «Til nettsida».
========================================================= */
.cms-mobile-bottom-bar { display: none; }
.cms-admin-user-bottom { display: none; }

@media (max-width: 560px) {
  .cms-admin-main > .cms-mobile-bottom-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin: 20px 0 24px;
  }

  .cms-admin-main > .cms-mobile-bottom-bar > .cms-mobile-exit-bottom {
    display: inline-flex !important;
    margin: 0 !important;
    flex: 0 0 auto;
  }

  .cms-admin-user-bottom {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 5px 8px;
    width: auto;
    padding: 0;
    border: 0;
    text-align: right;
    white-space: normal;
  }

  .cms-admin-user-bottom .cms-admin-user-label {
    color: var(--muted);
    font-size: .72rem;
    line-height: 1.3;
  }

  .cms-admin-user-bottom .cms-admin-user-label strong {
    color: var(--ink);
    font-weight: 700;
  }

  .cms-admin-user-bottom button {
    padding: 0;
    font-size: .72rem;
  }
}

@media (max-width: 390px) {
  .cms-admin-main > .cms-mobile-bottom-bar { align-items: flex-end; }
  .cms-admin-user-bottom { max-width: 145px; }
}

/* Innlogga brukar – desktop sidebar */
.cms-desktop-bottom {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.cms-desktop-user {
  padding: 0 20px 14px;
  display: flex;
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
  color: rgba(255, 255, 255, 0.65);
  font-size: .72rem;
  line-height: 1.35;
  white-space: nowrap;
}

.cms-desktop-user-label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.cms-desktop-user-label strong {
  color: #fff;
  font-weight: 700;
}

.cms-desktop-user button {
  padding: 0;
  min-height: 0;
  width: auto;
  min-width: max-content;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
  white-space: nowrap;
}

/* Mobil brukar den eksisterande botnlinja */
@media (max-width: 900px) {
  .cms-desktop-bottom {
    display: none;
  }
}

/* =========================================================
   MOBIL – KOMPAKT STICKY HEADER VED SCROLL
   Vanleg header på toppen. Etter litt scroll blir han lågare,
   men logo, søk og meny er alltid tilgjengelege.
========================================================= */
@media (max-width: 1050px) {
  .topbar {
    position: sticky;
    top: 0;
    transition: height .2s ease, box-shadow .2s ease, background-color .2s ease;
  }

  .topbar.is-compact {
    height: 58px;
    border-bottom: 0;
    box-shadow: none;
  }

  .topbar.is-compact .wordmark-symbol {
    /* Brandguide: Voss Golfklubb-symbolet skal aldri under 48 px digitalt. */
    width: 48px;
    height: 48px;
  }

  .topbar.is-compact .menu-button {
    gap: 3px;
  }

  .topbar.is-compact .menu-button b {
    display: none;
  }

  .topbar.is-compact .mobile-nav {
    top: 58px;
  }
}

/* =========================================================
   ADMIN LOGIN – FJERN EKSTRA STRIPE UNDER MOBILTOPPEN
   Login-visninga skal starte reint direkte under admin-toppen.
========================================================= */
@media (max-width: 900px) {
  .cms-admin-shell > .search-head {
    margin-bottom: 0;
    border-bottom: 0;
    box-shadow: none;
  }

  .cms-login-view {
    border-top: 0;
    box-shadow: none;
  }
}

/* =========================================================
   ADMIN MOBIL – FJERN SKJULT TITELLINJE UNDER NETTSIDEHEADER
   På mobil ligg nettsida sin sticky topbar over adminpanelet. Den gamle
   admin-tittellinja på 64 px låg framleis bak topbaren og stakk fram som
   ei lys stripe. Ho skal ikkje visast på mobil.
========================================================= */
@media (max-width: 560px) {
  .cms-admin-shell > .search-head {
    display: none !important;
  }

  .cms-login-view,
  .cms-admin-layout {
    height: 100%;
  }
}

/* =========================================================
   ADMIN LOGIN MOBIL – REIN LOGO- OG AVSTANDSSTRUKTUR
   Nettsideheaderen viser allereie Voss-symbolet. Login-kortet skal derfor
   ikkje gjenta logoen, og får eiga luft under topbaren.
========================================================= */
@media (max-width: 560px) {
  .cms-login-view {
    padding: 28px 14px 24px !important;
    align-items: start;
  }

  .cms-login-card {
    margin-top: 0 !important;
  }
}

/* =========================================================
   ADMIN LOGIN MOBIL – PLASS UNDER NETTSIDEHEADER
   Admin-dialogen fyller viewporten, medan den vanlege mobilheaderen ligg
   over han. Login-kortet må derfor starte etter 78 px header + 28 px luft.
========================================================= */
@media (max-width: 560px) {
  .cms-login-view {
    padding-top: 106px !important;
  }
}

/* =========================================================
   ADMIN MOBIL – HALD ADMIN UNDER NETTSIDEHEADEREN
   Admin-dialogen skal starte under den 78 px høge mobilheaderen.
   Då ligg Oversikt / Til nettsida normalt i adminflyten og scrollar
   vekk med admininnhaldet, i staden for å bli liggande bak sticky-headeren.
========================================================= */
@media (max-width: 560px) {
  .admin-dialog {
    top: 78px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: auto !important;
  }

  .admin-box.cms-admin-shell {
    height: 100% !important;
  }

  /* Login treng berre luft inni dialogen; headerhøgda er no teken av dialogen. */
  .cms-login-view {
    padding-top: 28px !important;
  }

  /* Når admin er open skal hovudheaderen halde normal mobilhøgd. */
  body.dialog-open .topbar,
  body.dialog-open .topbar.is-compact {
    height: 78px !important;
  }

  body.dialog-open .topbar.is-compact .menu-button b {
    display: block;
  }
}

/* =========================================================
   ADMIN MOBIL – NAVIGASJON SCROLLAR MED INNHALDET
   Nettsida sin topbar er sticky, men adminrada med Oversikt / Til nettsida
   skal vere ein del av adminflyten og forsvinne når ein scrollar ned.
========================================================= */
@media (max-width: 560px) {
  .cms-admin-layout:not([hidden]) {
    display: block !important;
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  .cms-admin-nav {
    position: static !important;
    top: auto !important;
  }

  .cms-admin-main {
    overflow: visible !important;
    min-height: auto !important;
  }

  /* Botnlinje: brukarinfo og Logg ut skal stå på same baseline. */
  .cms-admin-user-bottom {
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

.cms-admin-user-bottom .cms-admin-user-label,
.cms-admin-user-bottom button {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.cms-admin-user-label strong {
  margin-left: 4px;
}
}


/* =========================================================
   BANE OVERSIKT – STRUKTUR MED GREENKEEPERENS HJØRNE
========================================================= */
.bane-overview-section-heading { margin: 0 0 16px; }
.bane-overview-section-heading .eyebrow { margin: 0 0 6px; color: var(--gold); }
.bane-overview-section-heading h3 { margin: 0; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; }
.bane-current-heading { margin-top: 42px; }
.bane-card-textonly { grid-template-columns: 1fr; }
.bane-card-textonly .bane-card-content { min-height: 245px; }
.bane-card-row-info { margin-bottom: 0; }
.bane-card-row-current { margin-bottom: 0; }
.greenkeeper-status-summary { display:flex; flex-wrap:wrap; gap:12px 20px; margin-top:26px; padding-top:20px; border-top:1px solid var(--line); }
.gk-status { display:inline-flex; align-items:center; gap:7px; color:var(--muted); font-size:.78rem; white-space:nowrap; }
.gk-status i { width:9px; height:9px; border-radius:50%; flex:0 0 auto; }
.gk-status strong { color:var(--ink); font-size:.9rem; }
.gk-progress i { background:#d68a2f; }
.gk-notstarted i { background:var(--status-closed, #b84a42); }
.gk-done i { background:var(--status-open, #4f8a5b); }
.greenkeeper-card-link { margin-top:18px; color:var(--green); font-size:.82rem; font-weight:700; }
@media (max-width:650px){
  .bane-overview-section-heading h3{font-size:1.5rem}
  .bane-current-heading{margin-top:34px}
  .bane-card-textonly .bane-card-content{min-height:0}
  .greenkeeper-status-summary{gap:10px 16px}
}


/* =========================================================
   GREENKEEPERENS HJØRNE – PUBLIKUMSSIDE
========================================================= */
.greenkeeper-page{max-width:1120px;margin:0 auto;padding:6px 0 48px}
.greenkeeper-intro{max-width:720px;margin:12px 0 30px}
.greenkeeper-intro h3{margin:6px 0 10px;font-family:var(--font-display,Georgia,serif);font-size:clamp(1.55rem,2.4vw,2.25rem);font-weight:500;color:var(--ink)}
.greenkeeper-intro>p:last-child{margin:0;color:var(--muted);line-height:1.65}
.greenkeeper-stats{display:flex;align-items:center;flex-wrap:wrap;gap:34px;margin:6px 0 42px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.greenkeeper-stat{display:inline-grid;grid-template-columns:auto auto auto;align-items:center;gap:9px;padding:0;border:0;background:transparent}
.greenkeeper-stat i,.greenkeeper-measure-status i,.greenkeeper-finished-list .gk-done i{display:inline-block;width:10px;height:10px;border-radius:50%;flex:0 0 auto}
.gk-notstarted i{background:#b8463c!important}.gk-progress i{background:#d08a2d!important}.gk-done i{background:#4f8a5b!important}
.greenkeeper-stat strong{font-size:1.75rem;line-height:1;color:var(--ink)}
.greenkeeper-stat span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.greenkeeper-section{margin-top:34px}
.greenkeeper-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}
.greenkeeper-section-head h3{margin:4px 0 0;font-family:var(--font-display,Georgia,serif);font-size:1.65rem;font-weight:500}
.greenkeeper-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.greenkeeper-measure{display:flex;flex-direction:column;min-height:230px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper,#fff)}
.greenkeeper-measure-status{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.greenkeeper-measure h4{margin:0 0 10px;font-family:var(--font-display,Georgia,serif);font-size:1.25rem;font-weight:500;color:var(--ink)}
.greenkeeper-measure>p{margin:0 0 24px;color:var(--muted);font-size:.9rem;line-height:1.6}
.greenkeeper-measure-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}
.greenkeeper-measure-meta span{font-size:.74rem;color:var(--muted)}
.greenkeeper-measure-meta button{border:0;background:none;padding:0;color:var(--green);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}
.greenkeeper-completed{margin-top:50px;padding-top:34px;border-top:1px solid var(--line)}
.greenkeeper-finished-list{border-top:1px solid var(--line)}
.greenkeeper-finished-list>button{width:100%;display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:12px;padding:17px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:inherit;cursor:pointer}
.greenkeeper-finished-list>button>span:nth-child(2){display:flex;flex-direction:column;gap:4px}
.greenkeeper-finished-list strong{font-size:.9rem}.greenkeeper-finished-list small{font-size:.73rem;color:var(--muted)}
.greenkeeper-finished-list b{font-size:1.05rem;color:var(--green)}
.greenkeeper-more{display:block;margin:20px auto 0;padding:10px 18px;border:1px solid var(--green);border-radius:999px;background:transparent;color:var(--green);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}
@media(max-width:760px){.greenkeeper-page{padding-bottom:30px}.greenkeeper-stats{grid-template-columns:1fr;margin-bottom:34px;gap:9px}.greenkeeper-stat{padding:15px 17px}.greenkeeper-measures{grid-template-columns:1fr}.greenkeeper-measure{min-height:0;padding:20px}.greenkeeper-measure-meta{align-items:flex-end}.greenkeeper-completed{margin-top:38px;padding-top:28px}}

/* 05.08 Greenkeeper – status, søk og sidevekslar */
.greenkeeper-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
.greenkeeper-finished-tools{display:flex;justify-content:flex-end;margin:0 0 18px;}
.greenkeeper-search{width:min(100%,430px);display:flex;align-items:center;gap:10px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:var(--paper,#fff);transition:border-color .2s,box-shadow .2s;}
.greenkeeper-search:focus-within{border-color:var(--green);box-shadow:0 0 0 2px rgba(27,60,46,.08);}
.greenkeeper-search>span{font-size:1.25rem;color:var(--muted);line-height:1;}
.greenkeeper-search input{width:100%;min-height:46px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.86rem;}
.greenkeeper-search input::placeholder{color:var(--muted);}
.greenkeeper-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px;}
.greenkeeper-pagination button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--green);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;}
.greenkeeper-pagination button:hover:not(:disabled),.greenkeeper-pagination button.is-active{background:var(--green);border-color:var(--green);color:#fff;}
.greenkeeper-pagination button:disabled{opacity:.35;cursor:default;}
.greenkeeper-no-results{margin:24px 0;text-align:center;color:var(--muted);font-size:.86rem;}
@media(max-width:760px){.greenkeeper-stats{grid-template-columns:1fr 1fr;}.greenkeeper-finished-tools{justify-content:stretch}.greenkeeper-search{width:100%;}}
@media(max-width:460px){.greenkeeper-stats{grid-template-columns:1fr;}}

/* Greenkeeperens hjørne – pagination: hidden rows must stay hidden */
.greenkeeper-finished-list > button[hidden] {
  display: none !important;
}

/* Greenkeeper statusstripe – endeleg kompakt visning */
@media (max-width:760px){
  .greenkeeper-stats{display:flex;gap:22px;margin-bottom:34px;padding-bottom:18px}
  .greenkeeper-stat{display:inline-grid;padding:0;border:0;background:transparent}
}
@media (max-width:460px){
  .greenkeeper-stats{display:flex;gap:20px}
}


/* 05.09 Greenkeeper – detaljside for tiltak */
.greenkeeper-back{margin:4px 0 30px;padding:0;border:0;background:transparent;color:var(--green);font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}
.greenkeeper-detail{max-width:900px}
.greenkeeper-detail-hero{max-width:760px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.greenkeeper-detail-hero h3{margin:8px 0 12px;font-family:var(--font-display,Georgia,serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1.08;color:var(--ink)}
.greenkeeper-detail-hero>p{max-width:680px;margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.greenkeeper-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 48px;border-bottom:1px solid var(--line)}
.greenkeeper-detail-facts>div{padding:22px 24px 22px 0}
.greenkeeper-detail-facts span{display:block;margin-bottom:7px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.greenkeeper-detail-facts strong{font-size:.86rem;font-weight:700;color:var(--ink)}
.gk-detail-dot{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:50%;background:#d08a2d}
.greenkeeper-detail-section{max-width:760px;margin:0 0 52px}
.greenkeeper-detail-section h4{margin:6px 0 14px;font-family:var(--font-display,Georgia,serif);font-size:1.65rem;font-weight:400;color:var(--ink)}
.greenkeeper-detail-section>p:last-child{color:var(--muted);line-height:1.75}
.greenkeeper-updates{padding-top:8px}
.greenkeeper-update{position:relative;margin-left:7px;padding:0 0 34px 30px;border-left:1px solid var(--line)}
.greenkeeper-update:before{content:"";position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--green)}
.greenkeeper-update:last-child{padding-bottom:0}
.greenkeeper-update time{display:block;margin-bottom:6px;color:var(--muted);font-size:.72rem}
.greenkeeper-update h5{margin:0 0 8px;font-family:var(--font-display,Georgia,serif);font-size:1.15rem;font-weight:500;color:var(--ink)}
.greenkeeper-update p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
@media(max-width:650px){.greenkeeper-detail-facts{grid-template-columns:1fr;margin-bottom:36px}.greenkeeper-detail-facts>div{padding:14px 0;border-bottom:1px solid var(--line)}.greenkeeper-detail-facts>div:last-child{border-bottom:0}.greenkeeper-detail-hero{padding-bottom:24px}.greenkeeper-detail-section{margin-bottom:40px}}

/* Greenkeeper: heile aktive tiltakskort er klikkbare */
.greenkeeper-measure[data-greenkeeper-open]{cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.greenkeeper-measure[data-greenkeeper-open]:hover,.greenkeeper-measure[data-greenkeeper-open]:focus-visible{border-color:var(--gold);box-shadow:0 8px 24px rgba(27,60,46,.08);transform:translateY(-1px);outline:none}
.greenkeeper-finished-list>button:hover,.greenkeeper-finished-list>button:focus-visible{background:rgba(154,123,63,.05);outline:none}


/* Greenkeeperens hjørne – om arbeidet på bana */
.greenkeeper-about-work{margin-top:54px;padding-top:36px;border-top:1px solid var(--line);}
.greenkeeper-info-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.greenkeeper-info-card{position:relative;min-height:220px;padding:28px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.24);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.greenkeeper-info-card:hover{transform:translateY(-2px);border-color:rgba(27,60,46,.35);box-shadow:0 10px 28px rgba(27,60,46,.06);}
.greenkeeper-info-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:24px;border:1px solid rgba(27,60,46,.18);border-radius:50%;color:var(--green);font-size:1.05rem;}
.greenkeeper-info-card h4{margin:0 0 10px;font-family:var(--font-display,Georgia,serif);font-size:1.45rem;font-weight:500;color:var(--ink);}
.greenkeeper-info-card p{max-width:430px;margin:0 0 28px;color:var(--muted);font-size:.9rem;line-height:1.65;}
.greenkeeper-info-link{position:absolute;left:28px;bottom:25px;color:var(--green);font-size:.78rem;font-weight:800;}
@media(max-width:700px){.greenkeeper-about-work{margin-top:42px;padding-top:30px}.greenkeeper-info-cards{grid-template-columns:1fr}.greenkeeper-info-card{min-height:205px;padding:22px}.greenkeeper-info-link{left:22px;bottom:21px}}


/* Greenkeeper – informasjonssidene Vedlikehald / Kvalitet og utvikling */
.greenkeeper-info-card[data-greenkeeper-info-open]{cursor:pointer}
.greenkeeper-info-card[data-greenkeeper-info-open]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.greenkeeper-info-page{max-width:900px}
.greenkeeper-info-hero{max-width:760px;padding-bottom:32px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.greenkeeper-info-hero h3{margin:7px 0 13px;font-family:var(--font-display,Georgia,serif);font-size:clamp(2.1rem,4vw,3.25rem);font-weight:400;line-height:1.08;color:var(--ink)}
.greenkeeper-info-hero>p:last-child{max-width:690px;margin:0;color:var(--muted);font-size:1rem;line-height:1.7}
.greenkeeper-info-content{max-width:800px;margin-top:26px}
.greenkeeper-info-block{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:27px 0;border-bottom:1px solid var(--line)}
.greenkeeper-info-block>span{padding-top:4px;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.1em}
.greenkeeper-info-block h4{margin:0 0 9px;font-family:var(--font-display,Georgia,serif);font-size:1.4rem;font-weight:500;color:var(--ink)}
.greenkeeper-info-block p,.greenkeeper-info-note p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.72}
.greenkeeper-info-note{margin-top:30px;padding:22px 24px;border-left:3px solid var(--gold);background:rgba(154,123,63,.055)}
.greenkeeper-info-note strong{display:block;margin-bottom:7px;color:var(--ink);font-size:.86rem}
@media(max-width:650px){.greenkeeper-info-block{grid-template-columns:34px 1fr;gap:10px;padding:22px 0}.greenkeeper-info-hero{padding-bottom:25px}.greenkeeper-info-content{margin-top:14px}.greenkeeper-info-note{padding:18px}}

/* Greenkeeper – forslag til bana */
.greenkeeper-info-cards{grid-template-columns:repeat(3,minmax(0,1fr));}
.greenkeeper-suggestion-wrap{max-width:760px;margin-top:30px;}
.greenkeeper-suggestion-form{display:grid;gap:20px;}
.greenkeeper-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.greenkeeper-suggestion-form label{display:grid;gap:8px;color:var(--ink);font-size:.8rem;font-weight:800;}
.greenkeeper-suggestion-form label small{color:var(--muted);font-weight:500;}
.greenkeeper-suggestion-form input,.greenkeeper-suggestion-form textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.45);padding:13px 14px;color:var(--ink);font:inherit;font-weight:400;outline:none;}
.greenkeeper-suggestion-form textarea{resize:vertical;min-height:150px;line-height:1.55;}
.greenkeeper-suggestion-form input:focus,.greenkeeper-suggestion-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px rgba(27,60,46,.08);}
.greenkeeper-suggestion-form input[type=file]{padding:10px;background:transparent;}
.greenkeeper-suggestion-submit{justify-self:start;border:0;border-radius:6px;background:var(--green);color:#fff;padding:12px 20px;font-weight:800;cursor:pointer;}
.greenkeeper-suggestion-submit:hover{filter:brightness(.95);}
.greenkeeper-suggestion-message{margin:0;color:var(--green);font-size:.86rem;font-weight:700;}
.greenkeeper-suggestion-note{margin:0;padding-top:2px;color:var(--muted);font-size:.76rem;line-height:1.55;}
@media(max-width:900px){.greenkeeper-info-cards{grid-template-columns:1fr 1fr;}}
@media(max-width:700px){.greenkeeper-info-cards{grid-template-columns:1fr;}.greenkeeper-form-grid{grid-template-columns:1fr;}.greenkeeper-suggestion-wrap{margin-top:20px;}}

/* Greenkeeper – forslag: menneskesjekk og stadfestingspopup */
.greenkeeper-human-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important;justify-self:start;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.35);font-weight:600!important;cursor:pointer;}
.greenkeeper-human-check input{width:18px!important;height:18px;margin:0;padding:0;accent-color:var(--green);}
.greenkeeper-suggestion-modal[hidden]{display:none!important;}
.greenkeeper-suggestion-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;}
.greenkeeper-suggestion-modal-backdrop{position:absolute;inset:0;background:rgba(18,31,25,.48);backdrop-filter:blur(2px);}
.greenkeeper-suggestion-modal-card{position:relative;z-index:1;width:min(460px,100%);padding:34px;border-radius:12px;background:var(--cream);border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.18);text-align:center;}
.greenkeeper-suggestion-modal-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 18px;border-radius:50%;background:var(--green);color:#fff;font-size:1.35rem;font-weight:800;}
.greenkeeper-suggestion-modal-card h4{margin:0 34px 12px;font-family:var(--serif);font-size:1.65rem;font-weight:500;color:var(--ink);}
.greenkeeper-suggestion-modal-card p{margin:0 auto 24px;max-width:370px;color:var(--muted);line-height:1.6;}
.greenkeeper-suggestion-modal-x{position:absolute;top:12px;right:14px;border:0;background:transparent;color:var(--ink);font-size:1.5rem;cursor:pointer;}
.greenkeeper-suggestion-modal-ok{border:0;border-radius:6px;background:var(--green);color:#fff;padding:11px 24px;font-weight:800;cursor:pointer;}


/* =========================================================
   KONTAKT OSS – PUBLIKUMSSIDE
========================================================= */
.contact-page{max-width:1120px;margin:0 auto;padding:20px 0 72px}.contact-intro{max-width:680px;margin:8px 0 34px}.contact-intro h2{margin:6px 0 10px;font-family:var(--font-display,Georgia,serif);font-size:clamp(1.8rem,3vw,2.7rem);font-weight:500}.contact-intro>p:last-child{color:var(--muted);line-height:1.65}.contact-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contact-choice-card{display:flex;gap:18px;padding:26px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff);min-height:190px}.contact-choice-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:var(--cream,#f7f4ed);color:var(--green,#1B3C2E);font-size:1.1rem}.contact-choice-card h3{margin:5px 0 9px;font-family:var(--font-display,Georgia,serif);font-size:1.35rem;font-weight:500}.contact-choice-card p:not(.eyebrow){margin:0 0 14px;color:var(--muted);line-height:1.55}.contact-choice-card a,.contact-choice-card button{border:0;background:none;padding:0;color:var(--green,#1B3C2E);font:inherit;font-size:.86rem;font-weight:700;text-decoration:none;cursor:pointer}.contact-form-panel{display:grid;grid-template-columns:.75fr 1.25fr;gap:42px;margin-top:46px;padding:34px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff)}.contact-form-panel h3{margin:6px 0 10px;font-family:var(--font-display,Georgia,serif);font-size:1.55rem;font-weight:500}.contact-form-panel>div>p:last-child{color:var(--muted);line-height:1.6}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label{display:grid;gap:7px}.contact-form label>span{font-size:.78rem;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form-wide{grid-column:1/-1}.contact-backend-note{margin:0;color:var(--muted);font-size:.78rem}.contact-submit{justify-self:start;border:0;border-radius:6px;padding:12px 20px;background:var(--green,#1B3C2E);color:#fff;font-weight:700}.contact-submit:disabled{opacity:.55;cursor:not-allowed}.greenkeeper-contact-link{color:var(--green,#1B3C2E);font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.contact-page{padding:8px 0 52px}.contact-choice-grid,.contact-form-panel{grid-template-columns:1fr}.contact-form-panel{gap:24px;padding:24px}.contact-form{grid-template-columns:1fr}.contact-form-wide{grid-column:auto}.contact-choice-card{min-height:0;padding:22px}}

/* Kontakt i same hovudrad – 8 faner på desktop */
@media (min-width: 761px){
  .tabbar{padding-left:clamp(12px,3vw,48px);padding-right:clamp(12px,3vw,48px);}
  .tabbar a{gap:8px;font-size:clamp(.86rem,1vw,1.02rem);min-width:0;}
  .tabbar .tab-icon{font-size:1.45rem;}
  .tabbar .tab-icon svg{width:21px;height:21px;}
}

/* Kontakt oss – heile vala er klikkbare */
.contact-choice-card[data-contact-card]{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.contact-choice-card[data-contact-card]:hover{transform:translateY(-2px);border-color:rgba(27,60,46,.38);box-shadow:0 10px 24px rgba(27,60,46,.07)}
.contact-choice-card[data-contact-card]:focus-visible{outline:2px solid var(--green,#1B3C2E);outline-offset:3px}

/* Admin – Bane / Tiltak og Forslag */
.cms-gk-admin{display:grid;gap:18px}.cms-gk-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.cms-gk-toolbar p{margin:.25rem 0 0;color:#64736b}.cms-gk-tabs{display:flex;gap:8px;border-bottom:1px solid #d9d5ca;padding-bottom:10px}.cms-gk-tabs button{border:0;background:transparent;padding:9px 13px;border-radius:8px;cursor:pointer}.cms-gk-tabs button.is-active{background:#1b3c2e;color:#fff}.cms-gk-list{display:grid;gap:12px}.cms-gk-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #d9d5ca;border-radius:10px;padding:18px;background:#fff}.cms-gk-row h3{margin:.3rem 0}.cms-gk-row p{margin:.2rem 0;color:#5e6b64}.cms-gk-status{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#496358}.cms-empty-state{padding:34px;border:1px dashed #bfc7c0;border-radius:10px;text-align:center}.cms-empty-state p{color:#65726b}.cms-gk-editor{display:grid;gap:14px;max-width:820px;border:1px solid #d9d5ca;border-radius:12px;padding:22px;background:#fff}.cms-gk-editor label{display:grid;gap:6px;font-weight:600}.cms-gk-editor input,.cms-gk-editor textarea,.cms-gk-editor select{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #c9cfc9;border-radius:7px;background:#fff;font:inherit}.cms-gk-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.cms-suggestion-meta{display:grid;grid-template-columns:150px 1fr;gap:8px 18px}.cms-suggestion-meta p{margin:0 0 10px}.cms-text-button{border:0;background:transparent;padding:0;color:#1b3c2e;text-align:left;cursor:pointer;font-weight:700}@media(max-width:760px){.cms-gk-toolbar,.cms-gk-row{align-items:flex-start;flex-direction:column}.cms-suggestion-meta{grid-template-columns:1fr}.cms-gk-editor-actions{flex-direction:column}}


/* Greenkeeper admin / dynamiske punkt */
.cms-primary-button{appearance:none;border:1px solid #1B3C2E;background:#1B3C2E;color:#fff;border-radius:8px;padding:10px 16px;font:600 13px/1.2 Arial,sans-serif;box-shadow:none;cursor:pointer}.cms-primary-button:hover{background:#293F33}.cms-gk-point-actions{display:flex;gap:7px;margin-top:12px}.cms-gk-point-actions button{border:1px solid #cfc9bd;background:#fff;color:#1B3C2E;border-radius:7px;padding:6px 10px;cursor:pointer}.cms-gk-point-actions button:disabled{opacity:.35;cursor:default}.cms-gk-point-actions [data-delete]{color:#8a3029}.cms-gk-add-point{margin-top:16px}.greenkeeper-info-block>span.greenkeeper-check{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:50%;background:#1B3C2E;color:#fff;font-size:.9rem;font-weight:800;letter-spacing:0}.greenkeeper-info-block{grid-template-columns:46px 1fr}.cms-bane-tabs{flex-wrap:wrap}

/* Greenkeeper admin – forslag, badge og eigne stadfestingsdialogar */
.cms-admin-nav button[data-admin-view="suggestions"]{position:relative}
.cms-nav-count{display:inline;color:#d95b52;font:inherit;font-weight:700;font-style:normal}
.cms-nav-count[hidden]{display:none!important}
.cms-confirm-overlay{position:fixed;inset:0;z-index:100100;display:grid;place-items:center;padding:20px;background:rgba(15,31,25,.55);backdrop-filter:blur(2px)}
.cms-confirm-modal{position:relative;width:min(470px,100%);box-sizing:border-box;padding:32px;background:#F7F4ED;border:1px solid #d6d0c3;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.25);text-align:center;color:#1B3C2E}
.cms-confirm-icon{display:grid;place-items:center;width:46px;height:46px;margin:0 auto 16px;border-radius:50%;background:#9a3d36;color:#fff;font:800 22px/1 Arial,sans-serif}
.cms-confirm-modal h3{margin:0 30px 10px;font:400 27px/1.15 Georgia,serif;color:#1B3C2E}.cms-confirm-modal p{margin:0 auto 24px;max-width:390px;color:#5f6d66;line-height:1.55}.cms-confirm-x{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#1B3C2E;font-size:26px;cursor:pointer}.cms-confirm-actions{display:flex;justify-content:center;gap:10px}.cms-confirm-actions .cms-danger-button{background:#a53e36;border-color:#a53e36;color:#fff}.cms-confirm-actions .cms-danger-button:hover{background:#87322c}
/* Innsendingspopup: berre bakgrunnen skal dempast, ikkje sjølve kortet */
.greenkeeper-suggestion-modal-card{background:#F7F4ED!important;opacity:1!important;color:#1B3C2E!important}.greenkeeper-suggestion-modal-card h4{color:#1B3C2E!important}.greenkeeper-suggestion-modal-card p{color:#596861!important}.greenkeeper-suggestion-modal-backdrop{background:rgba(15,31,25,.55)!important}

/* Admin: forslagsteljar på same linje + synleg nytt tiltak */
.cms-admin-nav button[data-admin-view="suggestions"] b{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
.cms-admin-nav button[data-admin-view="suggestions"] .cms-nav-count{display:inline!important;position:static!important;margin:0!important;padding:0!important;line-height:inherit!important;font-size:.82em!important;color:#e26b63!important;background:transparent!important;border:0!important}
.cms-admin-nav button[data-admin-view="suggestions"] .cms-nav-count[hidden]{display:none!important}
.cms-gk-row-new{outline:2px solid #9A7B3F;outline-offset:2px}

/* Tiltak: destructive action is kept separate from normal editing controls */
.cms-gk-delete-zone{margin-top:24px;padding-top:18px;border-top:1px solid rgba(154,123,63,.28)}
.cms-danger-button{appearance:none;border:1px solid #a64038;background:#a64038;color:#fff;border-radius:7px;padding:10px 16px;font:inherit;font-weight:700;cursor:pointer}
.cms-danger-button:hover,.cms-danger-button:focus-visible{background:#8f342e;border-color:#8f342e}

/* Tiltak editor: all final actions share one row */
.cms-gk-editor-actions-final{display:flex;align-items:center;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid rgba(154,123,63,.28)}
.cms-gk-editor-actions-final .cms-gk-actions-spacer{flex:1 1 auto}
.cms-gk-editor-actions-final .cms-gk-delete-inline{margin:0}

/* Golfhjelparen */
/* Golfhjelpar: originalfiguren sine fem posar og eigne golfscener. */
.golf-help{position:fixed;right:18px;bottom:13px;width:94px;height:100px;z-index:1200;font-family:inherit;--gh-look-x:0px;--gh-look-y:0px;--gh-tilt:0deg}
.golf-helper{position:absolute;right:0;bottom:0;width:94px;height:100px;border:0;background:transparent;padding:0;cursor:pointer;z-index:2;filter:drop-shadow(0 6px 8px rgba(27,60,46,.18));transition:transform .45s ease}
.gh-character{display:block;width:100%;height:100%;object-fit:contain;user-select:none;transform:translate(var(--gh-look-x),var(--gh-look-y)) rotate(var(--gh-tilt));transition:transform .24s ease}
.golf-helper-tip{position:absolute;right:82px;bottom:60px;white-space:nowrap;background:#F7F4ED;color:#1B3C2E;border:1px solid #d8d4ca;border-radius:14px 14px 3px 14px;padding:8px 11px;font-size:12px;font-weight:650;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;pointer-events:none}
.golf-helper:hover .golf-helper-tip,.golf-help.gh-pose-look .golf-helper-tip{opacity:1;transform:none}.golf-help.gh-pose-wave .gh-character{animation:ghWave .95s ease-in-out}
.golf-help.gh-pose-look .gh-character{animation:ghLook 1s ease-in-out}
.golf-help.gh-pose-blink .gh-character{animation:ghBlink .85s ease-in-out}
.golf-help.gh-pose-hop .gh-character,.golf-help.is-open .gh-character{animation:ghHop .7s cubic-bezier(.15,.7,.3,1)}
@keyframes ghWave{50%{transform:translateY(-3px) rotate(-6deg)}}
@keyframes ghLook{50%{transform:translateX(5px) rotate(5deg)}}
@keyframes ghBlink{50%{transform:translateY(2px) rotate(-2deg)}}
@keyframes ghHop{0%,100%{transform:translateY(0)}40%{transform:translateY(-17px) scale(1.05)}75%{transform:translateY(2px) scale(.97)}}
.golf-help-panel[hidden],.golf-help-detail[hidden],.golf-help-choices[hidden]{display:none!important}
.golf-help-panel{position:absolute;right:0;bottom:112px;width:min(365px,calc(100vw - 30px));max-height:min(590px,calc(100dvh - 135px));overflow:auto;background:#F7F4ED;color:#293F33;border:1px solid #d9ddd2;border-radius:20px;box-shadow:0 15px 42px rgba(20,39,29,.2);animation:ghPanelIn .25s ease-out both}
.golf-help-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:22px 22px 18px;background:#1B3C2E;color:#fff;border-radius:19px 19px 0 0}
.golf-help-head span{display:block;font-size:10px;letter-spacing:.14em;color:#c2ccb7;font-weight:700;margin-bottom:7px}
.golf-help-head h2{font-family:inherit;font-size:20px;line-height:1.25;color:#fff;margin:0;font-weight:650}
.golf-help-close{width:32px;height:32px;flex:none;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;color:#fff;font-size:23px;line-height:1;cursor:pointer}
.golf-help-content{padding:18px 20px 22px}.golf-help-content>p,.golf-help-detail>p{margin:0 0 16px;color:#596a5d;font-size:14px;line-height:1.5}
.golf-help-choices,.golf-help-links{display:grid;gap:9px}
.golf-help-choices button,.golf-help-links button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid #dce2d8;background:#fff;color:#1B3C2E;border-radius:12px;padding:13px 14px;font:inherit;font-size:14px;font-weight:600;line-height:1.3;cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.golf-help-choices button:hover,.golf-help-links button:hover{background:#eef2e9;border-color:#9AA48F;transform:translateX(2px)}
.golf-help-choices button span{font-size:17px;line-height:1}.golf-help-choices button b{margin-left:auto;font-weight:500}
.golf-help-detail h3{font-family:inherit;margin:13px 0 8px;color:#1B3C2E;font-size:19px}.golf-help-back{border:0;background:none;padding:3px 0;color:#536d5b;font:inherit;font-size:13px;cursor:pointer}
.golf-help button:focus-visible{outline:3px solid #9A7B3F;outline-offset:3px}.golf-help.is-open .golf-helper-tip{visibility:hidden}
@keyframes ghPanelIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes ghFlight{0%,50%{transform:translate(0,0) scale(1);opacity:1}78%{transform:translate(140px,-100px) scale(.7);opacity:1}100%{transform:translate(210px,-160px) scale(.3);opacity:0}}
@keyframes ghSceneLabel{0%,15%,85%,100%{opacity:0}25%,70%{opacity:1}}
@media(max-width:700px){.golf-help{right:9px;bottom:8px;width:76px;height:82px}.golf-helper{width:76px;height:82px}.golf-helper-tip{right:68px;bottom:48px}.golf-help-panel{bottom:93px;max-height:min(560px,calc(100dvh - 115px))}.golf-help-head{padding:18px}.golf-help-content{padding:16px}}
@media(prefers-reduced-motion:reduce){.golf-help *, .golf-help *::before,.golf-help *::after{animation:none!important;transition:none!important}.gh-character{transform:none!important}}
@media(max-width:700px){
 .golf-help .gh-character{animation:none!important;transform:none!important;transition:none!important}.golf-help .golf-helper-tip{display:none}
}
/* Smooth crossfade between the new 3D poses. */
.golf-helper .gh-character-next{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .24s ease;transform:translate(var(--gh-look-x),var(--gh-look-y)) rotate(var(--gh-tilt))}
.golf-help.gh-pose-wave .gh-character-next{animation:ghWave .95s ease-in-out}
.golf-help.gh-pose-look .gh-character-next,.golf-help.gh-pose-lookRight .gh-character-next{animation:ghLook 1s ease-in-out}
.golf-help.gh-pose-blink .gh-character-next{animation:ghBlink .85s ease-in-out}
.golf-help.gh-pose-hop .gh-character-next,.golf-help.is-open .gh-character-next{animation:ghHop .7s cubic-bezier(.15,.7,.3,1)}@keyframes ghFlightV2{0%,50%{opacity:0;transform:translate(0,0) scale(1)}51%{opacity:1}78%{transform:translate(140px,-100px) scale(.7);opacity:1}100%{transform:translate(210px,-160px) scale(.3);opacity:0}}
@media(max-width:700px){.golf-help .gh-character-next{display:none!important}}
@media(prefers-reduced-motion:reduce){.golf-help .gh-character-next{display:none!important}}
/* Kontinuerleg, dempa idle-rørsle på PC. Variablane får nye verdiar kvart bilete. */
@media(min-width:701px){
 .golf-help .gh-character,.golf-help .gh-character-next{
  transform:translate(var(--gh-look-x,0px),calc(var(--gh-look-y,0px) + var(--gh-bob-y,0px))) rotate(var(--gh-sway,0deg)) scale(var(--gh-breath,1));
  transition:opacity .15s ease;
  will-change:transform;
 }
}
/* Hjelpebobla er alltid synleg, også på mobil. */
.golf-help .golf-helper-tip{display:block!important;opacity:1!important;visibility:visible!important;transform:none!important}
/* Idle-rigg: berre augo og dei lause hanskane får eigne, dempa rørsler. */
.gh-part{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;user-select:none;transition:opacity .15s ease;will-change:transform}
.golf-help.gh-rig-active .gh-part{opacity:1}
.gh-eye-left,.gh-eye-right{
 transform:translate(calc(var(--gh-look-x,0px) + var(--gh-eye-x,0px)),calc(var(--gh-look-y,0px) + var(--gh-bob-y,0px) + var(--gh-eye-y,0px))) rotate(var(--gh-sway,0deg)) scale(var(--gh-breath,1));
}
.gh-hand-left{
 transform-origin:21% 73%;
 transform:translate(calc(var(--gh-look-x,0px) + var(--gh-hand-left-x,0px)),calc(var(--gh-look-y,0px) + var(--gh-bob-y,0px) + var(--gh-hand-y,0px))) rotate(calc(var(--gh-sway,0deg) - var(--gh-hand-rot,0deg))) scale(var(--gh-breath,1));
}
.gh-hand-right{
 transform-origin:81% 70%;
 transform:translate(calc(var(--gh-look-x,0px) + var(--gh-hand-right-x,0px)),calc(var(--gh-look-y,0px) + var(--gh-bob-y,0px) - var(--gh-hand-y,0px))) rotate(calc(var(--gh-sway,0deg) + var(--gh-hand-rot,0deg))) scale(var(--gh-breath,1));
}
@media(max-width:700px){.gh-part{display:none!important}}
@media(prefers-reduced-motion:reduce){.gh-part{display:none!important}}
/* Den nye venderørsla glir mellom biletrutene med same tid som JS-overgangen. */
.golf-helper .gh-character-next,.golf-help .gh-part{transition:opacity .28s ease-in-out}
/* Samla figur i éin stabil idle-rigg: ingen doble ansikt ved musereaksjon. */
.gh-part{transition:none!important}
.gh-lids{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transform:translate(var(--gh-look-x,0px),calc(var(--gh-look-y,0px) + var(--gh-bob-y,0px))) rotate(var(--gh-sway,0deg)) scale(var(--gh-breath,1))}
.golf-help.gh-action-blink .gh-eye-left,.golf-help.gh-action-blink .gh-eye-right{animation:ghIrisBlink .55s ease-in-out both}
.golf-help.gh-action-blink .gh-lids{animation:ghLidsBlink .55s ease-in-out both}
.golf-help.gh-action-wave .gh-hand-right{animation:ghHandWave 1.1s ease-in-out both}
.golf-help.gh-action-hop .golf-helper,.golf-help.is-open .golf-helper{animation:ghHop .7s cubic-bezier(.15,.7,.3,1)}
.golf-help.is-open .gh-character,.golf-help.is-open .gh-character-next{animation:none!important}
@keyframes ghIrisBlink{0%,30%,70%,100%{opacity:1}48%,52%{opacity:0}}
@keyframes ghLidsBlink{0%,30%,70%,100%{opacity:0}48%,52%{opacity:1}}
@keyframes ghHandWave{0%,100%{transform:rotate(0)}30%,70%{transform:rotate(-14deg) translateY(-2px)}50%{transform:rotate(-4deg)}}
@media(max-width:700px){.gh-lids{display:none!important}.golf-help .golf-helper{animation:none!important}}
@media(prefers-reduced-motion:reduce){.gh-lids{display:none!important}.golf-help .golf-helper{animation:none!important}}
/* Rørsla ligg i blikk og lemer; kroppen roterer ikkje etter peikaren. */
@media (min-width:701px){
 .golf-help.gh-rig-active .gh-character{clip-path:inset(0 0 26% 0)}
 .gh-leg-left,.gh-leg-right{transform-origin:33% 75%}
 .gh-leg-left{
  clip-path:inset(73% 50% 0 12%);
  transform:translateY(var(--gh-leg-left-y,0px)) rotate(var(--gh-leg-left-rot,0deg));
 }
 .gh-leg-right{
  clip-path:inset(72% 11% 0 50%);
  transform-origin:68% 74%;
  transform:translateY(var(--gh-leg-right-y,0px)) rotate(var(--gh-leg-right-rot,0deg));
 }
}
/* Golfscenene brukar den same riggen som idle, utan spritebyte. */
@media (min-width:701px){
 .golf-help{transition:width .48s ease}
 .golf-help .golf-helper{transition:right .48s ease,width .48s ease,bottom .48s ease,transform .45s ease}}
@keyframes ghIntegratedPutt{0%,12%,85%,100%{transform:translate(0,0) rotate(0)}25%,41%{transform:translate(-2px,-5px) rotate(-9deg)}54%,68%{transform:translate(3px,3px) rotate(7deg)}}
@keyframes ghIntegratedLeftPutt{0%,12%,85%,100%{transform:translate(0,0) rotate(0)}25%,42%{transform:translate(2px,-3px) rotate(5deg)}56%,68%{transform:translate(-2px,2px) rotate(-4deg)}}
@keyframes ghIntegratedDrive{0%,12%,85%,100%{transform:translate(0,0) rotate(0)}25%,42%{transform:translate(-8px,-8px) rotate(-18deg)}53%,65%{transform:translate(8px,1px) rotate(18deg)}}
@keyframes ghIntegratedLeftDrive{0%,12%,85%,100%{transform:translate(0,0) rotate(0)}25%,42%{transform:translate(4px,-4px) rotate(9deg)}53%,65%{transform:translate(-5px,1px) rotate(-10deg)}}
@keyframes ghIntegratedFoot{0%,15%,85%,100%{transform:translateY(0) rotate(0)}28%,45%{transform:translateY(1px) rotate(-2deg)}55%,70%{transform:translateY(-1px) rotate(2deg)}}
@keyframes ghWatchBall{0%,30%,100%{transform:translate(0,0)}57%,78%{transform:translate(5px,3px)}}
/* Idle som ein spelkarakter: korte, tydelege handlingar med pausar mellom. */
@media (min-width:701px) and (prefers-reduced-motion:no-preference){}
@keyframes ghIdleLeftFoot{
  0%,12%,22%,52%,65%,100%{transform:translate(0,0) rotate(0)}
  15%{transform:translate(-5px,-13px) rotate(-8deg)}
  18%{transform:translate(-8px,-4px) rotate(-5deg)}
  55%{transform:translate(4px,-9px) rotate(6deg)}
  59%{transform:translate(5px,0) rotate(3deg)}
}
@keyframes ghIdleRightFoot{
  0%,31%,44%,73%,85%,100%{transform:translate(0,0) rotate(0)}
  35%{transform:translate(7px,-15px) rotate(9deg)}
  39%{transform:translate(7px,-3px) rotate(5deg)}
  77%{transform:translate(-4px,-8px) rotate(-5deg)}
  81%{transform:translate(-3px,0) rotate(-2deg)}
}
@keyframes ghIdleLeftArm{
  0%,9%,26%,57%,76%,100%{transform:translate(0,0) rotate(0)}
  15%{transform:translate(5px,-8px) rotate(10deg)}
  20%{transform:translate(2px,-5px) rotate(5deg)}
  64%{transform:translate(-3px,5px) rotate(-8deg)}
  70%{transform:translate(-1px,3px) rotate(-3deg)}
}
@keyframes ghIdleRightArm{
  0%,24%,42%,68%,89%,100%{transform:translate(0,0) rotate(0)}
  31%{transform:translate(-6px,-10px) rotate(-12deg)}
  36%{transform:translate(-3px,-6px) rotate(-5deg)}
  76%{transform:translate(4px,4px) rotate(7deg)}
  83%{transform:translate(2px,2px) rotate(3deg)}
}
/* Figuren ser inn mot innhaldet. Heile riggen blir spegla samla. */
.gh-figure-stage{position:absolute;inset:0;display:block;transform:scaleX(-1);pointer-events:none}
/* Ventetilstandane overstyrer den lette idle-rørsla berre medan dei spelar. */
@media (min-width:701px) and (prefers-reduced-motion:no-preference){
 .golf-help.gh-action-bored .gh-leg-right{animation:ghBoredFoot 2.6s ease-in-out both!important}
 .golf-help.gh-action-bored .gh-hand-right{animation:ghBoredHand 2.6s ease-in-out both!important}
 .golf-help.gh-action-stretch .gh-hand-left{animation:ghStretchLeft 3.4s ease-in-out both!important}
 .golf-help.gh-action-stretch .gh-hand-right{animation:ghStretchRight 3.4s ease-in-out both!important}
 .golf-help.gh-action-stretch .gh-leg-left,.golf-help.gh-action-stretch .gh-leg-right{animation:none!important}
 .golf-help.is-open .golf-helper{animation:none!important}
 .golf-help.is-open .gh-part{animation:none!important}
 .golf-help.is-open .gh-hand-left,.golf-help.is-open .gh-hand-right,
 .golf-help.is-open .gh-leg-left,.golf-help.is-open .gh-leg-right{transform:none!important}
 .golf-help.is-open .gh-eye-left,.golf-help.is-open .gh-eye-right{transform:translate(1px,-.6px)!important}
}
@keyframes ghBoredFoot{
  0%,8%,86%,100%{transform:translate(0,0) rotate(0)}
  17%,31%,45%,59%,73%{transform:translate(4px,-7px) rotate(10deg)}
  24%,38%,52%,66%,80%{transform:translate(2px,-1px) rotate(3deg)}
}
@keyframes ghBoredHand{
  0%,10%,83%,100%{transform:translate(0,0) rotate(0)}
  25%,70%{transform:translate(-5px,-8px) rotate(-15deg)}
}
@keyframes ghStretchLeft{
  0%,9%,89%,100%{transform:translate(0,0) rotate(0)}
  28%,68%{transform:translate(26px,-43px) rotate(-18deg)}
  78%{transform:translate(21px,-36px) rotate(-12deg)}
}
@keyframes ghStretchRight{
  0%,9%,89%,100%{transform:translate(0,0) rotate(0)}
  28%,68%{transform:translate(-26px,-41px) rotate(18deg)}
  78%{transform:translate(-21px,-35px) rotate(12deg)}
}
/* Ulike idle-val blir glatta med fjører i JS; ingen gjentekne takt-faste løkker. */
@media (min-width:701px) and (prefers-reduced-motion:no-preference){.golf-help.gh-rig-active .gh-hand-right{
  transform:translate(calc(var(--gh-look-x,0px) + var(--gh-hand-right-x,0px)),calc(var(--gh-look-y,0px) + var(--gh-bob-y,0px) + var(--gh-hand-right-y,0px))) rotate(calc(var(--gh-sway,0deg) + var(--gh-hand-rot,0deg)));
 }
}
/* Ekte tredimensjonal figur med eigne ledd på større skjermar. */
.gh-3d-canvas{display:block;width:100%;height:100%;pointer-events:none}
@media(min-width:701px){.golf-help.gh-3d-active .golf-helper{filter:drop-shadow(0 5px 5px rgba(27,60,46,.16))}
}
@media(max-width:700px), (prefers-reduced-motion:reduce){
 .gh-3d-canvas{display:none!important}
}.golf-help.gh-original-active .gh-character,
.golf-help.gh-original-active .golf-helper{animation:none!important;transition:none!important}
.golf-help.gh-original-active .gh-character{transform:none!important;clip-path:none!important}
.golf-help.gh-original-active .golf-helper-tip{display:block!important;opacity:1!important;visibility:visible!important}

/* Golfhjelpar – helpdesk/chat */
.golf-help-chat{padding:0!important;background:#f7f4ed}
.golf-chat-log{display:flex;flex-direction:column;gap:11px;padding:18px 18px 10px;min-height:190px;max-height:310px;overflow:auto;scrollbar-width:thin}
.golf-chat-message{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.golf-chat-message.is-user{align-items:flex-end}
.golf-chat-bubble{max-width:88%;padding:10px 12px;border-radius:14px 14px 14px 4px;background:#fff;border:1px solid #dce2d8;color:#293f33;font-size:13.5px;line-height:1.45;box-shadow:0 2px 7px rgba(27,60,46,.05)}
.golf-chat-message.is-user .golf-chat-bubble{background:#1b3c2e;color:#fff;border-color:#1b3c2e;border-radius:14px 14px 4px 14px}
.golf-chat-actions{display:flex;flex-wrap:wrap;gap:6px;max-width:94%}
.golf-chat-actions button,.golf-chat-suggestions button{border:1px solid #bfc9bb;background:#fff;color:#1b3c2e;border-radius:999px;padding:7px 10px;font:inherit;font-size:12px;font-weight:650;cursor:pointer;transition:.18s ease}
.golf-chat-actions button:hover,.golf-chat-suggestions button:hover{background:#e9eee6;border-color:#9aa48f;transform:translateY(-1px)}
.golf-chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;padding:2px 18px 12px}
.golf-chat-suggestions[hidden]{display:none!important}
.golf-chat-form{display:grid;grid-template-columns:1fr 42px;gap:8px;padding:12px 14px 10px;border-top:1px solid #dce2d8;background:#fff}
.golf-chat-form input{min-width:0;height:42px;border:1px solid #cfd7cc;border-radius:12px;padding:0 12px;background:#fff;color:#293f33;font:inherit;font-size:14px;outline:none}
.golf-chat-form input:focus{border-color:#9a7b3f;box-shadow:0 0 0 3px rgba(154,123,63,.12)}
.golf-chat-form button{width:42px;height:42px;border:0;border-radius:12px;background:#1b3c2e;color:#fff;font-size:20px;cursor:pointer}
.golf-chat-note{margin:0!important;padding:0 16px 13px!important;background:#fff;color:#7a857b!important;font-size:10.5px!important;text-align:center}
@media(max-width:700px){.golf-chat-log{max-height:min(310px,42dvh)}.golf-help-panel{width:min(365px,calc(100vw - 18px))}}

/* Golfhjelpar helpdesk: romsleg skrivefelt og lesbare svar */
.golf-help-chat{padding:0!important}
.golf-chat-bubble{white-space:pre-line;font-size:14px;line-height:1.55}
.golf-chat-form{display:grid;grid-template-columns:minmax(0,1fr) 68px;align-items:end;gap:10px;padding:14px 16px 12px}
.golf-chat-form textarea{display:block;width:100%;min-width:0;height:76px;min-height:76px;max-height:130px;resize:vertical;box-sizing:border-box;border:1px solid #cfd7cc;border-radius:13px;padding:12px 13px;background:#fff;color:#293f33;font:inherit;font-size:14px;line-height:1.4;outline:none}
.golf-chat-form textarea:focus{border-color:#9a7b3f;box-shadow:0 0 0 3px rgba(154,123,63,.12)}
.golf-chat-form button{width:68px;height:44px;border:0;border-radius:12px;background:#1b3c2e;color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
@media(max-width:700px){.golf-chat-form{grid-template-columns:minmax(0,1fr) 64px;padding:12px}.golf-chat-form textarea{height:72px;min-height:72px}.golf-chat-form button{width:64px}}

/* Golfhjelpar v4 – fullbreidd chat-komponist */
.golf-chat-form{
  position:relative;
  display:block;
  padding:16px 16px 14px;
  border-top:1px solid #dce2d8;
  background:#fff;
}
.golf-chat-form textarea{
  display:block;
  width:100%;
  min-width:0;
  height:132px;
  min-height:132px;
  max-height:190px;
  resize:vertical;
  box-sizing:border-box;
  border:1.5px solid #9aa48f;
  border-radius:16px;
  padding:15px 64px 54px 15px;
  background:#fff;
  color:#293f33;
  font:inherit;
  font-size:15px;
  line-height:1.45;
  outline:none;
}
.golf-chat-form textarea::placeholder{color:#758078;opacity:1}
.golf-chat-form textarea:focus{border-color:#1b3c2e;box-shadow:0 0 0 3px rgba(27,60,46,.10)}
.golf-chat-form button{
  position:absolute;
  right:28px;
  bottom:27px;
  width:44px;
  height:44px;
  border:0;
  border-radius:12px;
  background:#1b3c2e;
  color:#fff;
  font:inherit;
  font-size:0;
  font-weight:700;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 2px 6px rgba(27,60,46,.16);
}
.golf-chat-form button::before{content:'➜';font-size:22px;line-height:1;color:#fff}
.golf-chat-form button:hover{transform:translateY(-1px)}
@media(max-width:700px){
  .golf-chat-form{display:block;padding:14px 16px 12px}
  .golf-chat-form textarea{height:126px;min-height:126px;font-size:15px;padding:14px 62px 52px 14px}
  .golf-chat-form button{right:28px;bottom:25px;width:44px;height:44px}
}
\n\n/* Golfhjelpar v5 – rein chat-komponist */\n.golf-chat-form{padding:14px 16px 14px;background:#fff}\n.golf-chat-form textarea{height:126px;min-height:126px;border:1.5px solid #9aa48f;border-radius:17px;padding:16px 70px 50px 16px;font-size:15px;line-height:1.5;resize:none}\n.golf-chat-form button{right:28px;bottom:27px;width:46px;height:46px;border-radius:50%;background:#1b3c2e;box-shadow:0 3px 9px rgba(27,60,46,.22);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}\n.golf-chat-form button::before{content:'→';font-family:Arial,sans-serif;font-size:27px;font-weight:700;line-height:1;transform:translateY(-1px)}\n.golf-chat-form button:hover{background:#293f33;transform:translateY(-2px);box-shadow:0 5px 12px rgba(27,60,46,.25)}\n.golf-chat-form button:active{transform:translateY(0) scale(.96)}\n.golf-chat-form button:focus-visible{outline:3px solid rgba(154,123,63,.35);outline-offset:2px}\n.golf-chat-note{padding-top:1px!important}\n@media(max-width:700px){.golf-chat-form{padding:14px 16px 13px}.golf-chat-form textarea{height:122px;min-height:122px;padding:15px 68px 48px 15px}.golf-chat-form button{right:28px;bottom:26px;width:46px;height:46px}}\n
/* Golfhjelpar v6 – mindre sendknapp og optisk sentrert pil */
.golf-chat-form button {
  width: 38px;
  height: 38px;
  right: 25px;
  bottom: 25px;
}
.golf-chat-form button::before {
  font-size: 23px;
  line-height: 1;
  transform: translateY(1px);
}
@media (max-width:700px) {
  .golf-chat-form button {
    width: 38px;
    height: 38px;
    right: 25px;
    bottom: 24px;
  }
}

/* Golfhjelpar v7 – kompakt sendknapp */
.golf-chat-form button {
  width: 32px;
  height: 32px;
  right: 22px;
  bottom: 22px;
  border-radius: 9px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.golf-chat-form button::before {
  content: '';
  display: block;
  width: 26px;
  height: 26px;
  background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h12M13 7l5 5-5 5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h12M13 7l5 5-5 5' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform: none;
}
@media (max-width:700px) {
  .golf-chat-form button { width:32px; height:32px; right:22px; bottom:21px; }
}

/* Golfhjelpar v12 – kompakt mobilpanel, desktop urørt */
@media (max-width:700px) {
  .golf-help-panel {
    width:min(365px,calc(100vw - 30px));
    max-height:min(60dvh,520px);
    overflow:hidden;
    display:flex;
    flex-direction:column;
  }
  .golf-help-head {
    flex:0 0 auto;
    padding:15px 17px 14px;
  }
  .golf-help-head span { margin-bottom:4px; }
  .golf-help-head h2 { font-size:18px; }
  .golf-help-chat {
    min-height:0;
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
    overflow:hidden;
  }
  .golf-chat-log {
    min-height:0;
    max-height:none;
    flex:1 1 auto;
    overflow-y:auto;
    padding:14px 16px 8px;
  }
  .golf-chat-suggestions {
    flex:0 0 auto;
    padding:2px 16px 9px;
  }
  .golf-chat-form {
    flex:0 0 auto;
    padding:11px 14px 10px;
  }
  .golf-chat-form textarea {
    height:96px;
    min-height:96px;
    max-height:96px;
    padding:13px 56px 42px 13px;
  }
  .golf-chat-form button {
    right:20px;
    bottom:17px;
  }
  .golf-chat-note {
    flex:0 0 auto;
    padding:0 14px 9px!important;
  }
}


/* Golfhjelpar v13 – strammare startvisning på mobil */
@media (max-width:700px) {
  .golf-help-panel {
    max-height:min(56dvh,460px);
  }
  .golf-help-head {
    padding:13px 17px 12px;
  }
  .golf-help-head span {
    margin-bottom:2px;
  }
  .golf-help-head h2 {
    font-size:18px;
    line-height:1.15;
  }
  .golf-chat-log {
    padding:11px 16px 5px;
    gap:7px;
  }
  .golf-chat-bubble {
    padding:8px 11px;
    line-height:1.42;
  }
  .golf-chat-suggestions {
    gap:5px;
    padding:2px 16px 7px;
  }
  .golf-chat-suggestions button {
    padding:6px 9px;
  }
  .golf-chat-form {
    padding:8px 14px 8px;
  }
  .golf-chat-form textarea {
    height:78px;
    min-height:78px;
    max-height:78px;
    padding:12px 52px 34px 12px;
  }
  .golf-chat-form button {
    right:20px;
    bottom:14px;
  }
  .golf-chat-note {
    padding:0 14px 7px!important;
  }
}

/* Golfhjelpar – stopp over den nedste grøne footer-linja på alle skjermstorleikar. */
.golf-help {
  transform: translateY(calc(-1 * var(--gh-footer-lift, 0px)));
}


/* FASE 116 – MOBIL ADMIN: TILTAK + FORSLAG I HURTIGADMIN */
.cms-mobile-drift-card { display: none; }
@media (max-width: 560px) {
  .cms-dashboard-card.cms-mobile-drift-card { display: grid; }
}

/* Golfhjelpar v3 integrasjon – berre ny animasjonsmotor */
#golfHelper{overflow:visible!important;}
#golfHelper>div{pointer-events:none;}
.golf-help.is-open #golfHelper{animation:none!important;}

/* Fast tekstboble ved den nye Golfhjelparen. */
.golf-helper-label{
 position:absolute;right:86px;bottom:58px;z-index:3;white-space:nowrap;
 background:#F7F4ED;color:#1B3C2E;border:1px solid #d8d4ca;
 border-radius:14px 14px 3px 14px;padding:8px 11px;
 font-size:12px;font-weight:650;line-height:1.2;
 box-shadow:0 4px 12px rgba(27,60,46,.10);pointer-events:none;
}
.golf-help.is-open .golf-helper-label{display:none}
@media(max-width:700px){
 .golf-helper-label{right:68px;bottom:48px;font-size:11px;padding:7px 9px}
}
