/* Storkøbenhavns Jagtforening – WordPress-temaets stylesheet.
   Skrevet til telefonen først: grundreglerne gælder små skærme, og @media (min-width: …) lægger
   mere til på større skærme. Farver og typografi er samlet i variabler øverst. */

@font-face { font-family: "Inter"; src: url("../fonts/inter.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("../fonts/fraunces.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("../fonts/fraunces-italic.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }

:root {
  --forest: #1f3a2b;
  --forest-2: #2c4d3a;
  --forest-3: #142619;
  --moss: #5c7a4e;
  --brass: #b8862b;
  --brass-2: #9c6f1f;
  --brass-light: #e7c786;
  --cream: #f5f0e4;
  --paper: #fbf8f1;
  --white: #ffffff;
  --ink: #1c211e;
  --muted: #5d645e;
  --line: #e6dfcd;
  --sold: #9b2c2c;
  --ok: #3f9d5d;

  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-head: "Fraunces", Georgia, "Times New Roman", serif;

  --radius: 16px;
  --radius-sm: 10px;
  --shadow: 0 1px 2px rgba(28, 33, 30, .05), 0 6px 20px rgba(28, 33, 30, .07);
  --shadow-lift: 0 2px 4px rgba(28, 33, 30, .06), 0 14px 34px rgba(28, 33, 30, .12);
  --wrap: 1200px;
  --text: 70ch;
  --gutter: 16px;
  --top: 64px;
  /* Hele toppens højde: hovedlinjen, den grønne linje øverst (store skærme) og WordPress' værktøjslinje,
     når man er logget ind. Klistrede felter (fx "Bemærk" på Arrangementer) står lige under den. */
  --bar: 0px;
  --admin: 0px;
  --header: calc(var(--top) + var(--bar) + var(--admin) + 1px);
}
@media (min-width: 601px) { :root:has(> body.admin-bar) { --admin: 46px; } }
@media (min-width: 783px) { :root:has(> body.admin-bar) { --admin: 32px; } }
@media (min-width: 1180px) { :root { --bar: 32px; } }
@media (min-width: 640px) { :root { --gutter: 24px; } }
@media (min-width: 1024px) { :root { --gutter: 32px; --top: 76px; } }

/* ---------- grundlag */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header) + 16px); }
body {
  margin: 0; font-family: var(--font-body); font-size: 1.0625rem; line-height: 1.65; color: var(--ink);
  background: var(--white); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--forest); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--brass-2); }
:focus-visible { outline: 3px solid var(--brass); outline-offset: 2px; border-radius: 4px; }
.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }
.skip { position: absolute; left: -9999px; top: 0; background: var(--white); padding: 8px 16px; z-index: 100; }
.skip:focus { left: 8px; top: 8px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 600; line-height: 1.18; color: var(--forest); margin: 0 0 .5em; letter-spacing: -.01em; text-wrap: balance; }
h1 { font-size: clamp(2rem, 7vw, 3.2rem); }
h2 { font-size: clamp(1.45rem, 4.5vw, 2rem); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.05rem; font-family: var(--font-body); color: var(--ink); }
p { text-wrap: pretty; }

/* ---------- knapper (temaets egne og knapperne fra blokredigeringen) */
.btn, .wp-block-button .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; min-height: 48px;
  padding: .7em 1.4em; border-radius: 999px; border: 2px solid transparent;
  font: 600 1rem/1.2 var(--font-body); letter-spacing: .01em; text-decoration: none; text-align: center;
  background: var(--forest); color: var(--white); cursor: pointer;
  transition: background .15s, color .15s, border-color .15s, transform .15s, box-shadow .15s;
}
.btn:hover, .wp-block-button .wp-block-button__link:hover { background: var(--forest-2); color: var(--white); transform: translateY(-1px); }
.btn--brass, .wp-block-button.is-style-brass .wp-block-button__link { background: var(--brass); color: var(--white); box-shadow: 0 4px 14px rgba(184, 134, 43, .28); }
.btn--brass:hover, .wp-block-button.is-style-brass .wp-block-button__link:hover { background: var(--brass-2); color: var(--white); }
.btn--forest { background: var(--forest); color: var(--white); }
.btn--ghost, .wp-block-button.is-style-ghost .wp-block-button__link { background: transparent; color: var(--forest); border-color: currentColor; box-shadow: none; }
.btn--ghost:hover, .wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--forest); border-color: var(--forest); color: var(--white); }
.btn--light, .wp-block-button.is-style-light .wp-block-button__link { background: rgba(255,255,255,.1); color: var(--white); border-color: rgba(255,255,255,.65); box-shadow: none; }
.btn--light:hover, .wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--white); color: var(--forest); border-color: var(--white); }
.btn--sm { min-height: 40px; padding: .5em 1.05em; font-size: .9rem; }
.btn--block { display: flex; width: 100%; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.25em 0; }
.wp-block-buttons > .wp-block-button { margin: 0; }
/* På telefonen fylder knapperne hele bredden, så de er lette at ramme */
@media (max-width: 639px) {
  .prose .wp-block-buttons, .page-head .wp-block-buttons, .hero__actions, .naeste-skridt .wp-block-buttons { flex-direction: column; align-items: stretch; }
  .prose .wp-block-button__link, .page-head .wp-block-button__link, .hero__actions .wp-block-button__link, .naeste-skridt .wp-block-button__link { width: 100%; }
}

.badge { display: inline-block; padding: .3em .75em; border-radius: 999px; background: var(--cream); color: var(--forest); font-size: .78rem; font-weight: 600; letter-spacing: .03em; white-space: nowrap; }
.badge--sold { background: var(--sold); color: var(--white); }

/* ---------- toppen */
.top { position: sticky; top: var(--admin); z-index: 50; background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--line); transition: box-shadow .2s; }
@supports (backdrop-filter: blur(8px)) { .top { background: rgba(255, 255, 255, .86); backdrop-filter: saturate(1.4) blur(10px); } }
.top.is-scrolled { box-shadow: 0 6px 24px rgba(28, 33, 30, .08); }
.top__bar { display: none; }
.top__main { display: flex; align-items: center; gap: 10px; min-height: var(--top); }
.brand { display: flex; align-items: center; gap: 10px; color: var(--forest); text-decoration: none; margin-right: auto; min-width: 0; }
.brand:hover { color: var(--forest); }
.brand img { width: 40px; height: 40px; object-fit: contain; flex: none; }
.brand__name { font-family: var(--font-head); font-style: italic; font-weight: 600; font-size: 1.02rem; line-height: 1.1; }
.top__cta { flex: none; }
.top__soeg { display: none; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 999px; color: var(--forest); }
.top__soeg:hover, .top__soeg[aria-current="page"] { background: var(--cream); color: var(--forest); }
.top__soeg .ikon { width: 20px; height: 20px; }
/* Søgning: i menupanelet på telefonen, som knap i toppen på mellemstore skærme, og i den grønne bjælke på store */
@media (min-width: 640px) { .top__soeg { display: inline-flex; } }
.nav__soeg { position: relative; margin: 8px 0 6px; }
.nav__soeg .soeg__felt { width: 100%; min-height: 48px; padding-right: 52px; }
.nav__soeg-knap { position: absolute; right: 4px; top: 4px; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; background: var(--forest); color: var(--white); cursor: pointer; }
.menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: none; width: 44px; height: 44px; padding: 0; background: none; border: 1px solid var(--line); color: var(--forest); border-radius: 999px; font: 600 .9rem var(--font-body); cursor: pointer; }
.menu-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.menu-toggle__bars, .menu-toggle__bars::before, .menu-toggle__bars::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; transition: transform .2s; border-radius: 2px; }
.menu-toggle__bars::before, .menu-toggle__bars::after { content: ""; position: absolute; left: 0; }
.menu-toggle__bars::before { top: -6px; }
.menu-toggle__bars::after { top: 6px; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars { background: transparent; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

/* Menuen på telefonen: et panel under toppen med store felter */
.nav { display: none; position: fixed; inset: var(--top) 0 0 0; background: var(--white); overflow-y: auto; overscroll-behavior: contain; padding: 8px var(--gutter) 32px; border-top: 1px solid var(--line); }
.nav.is-open { display: block; }
.admin-bar .nav { inset-block-start: calc(var(--top) + 46px); }
/* Med backdrop-filter bliver headeren ramme for position: fixed, så menuen ville kun være headerens højde */
body.menu-open .top { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--white); }
.nav__list { list-style: none; margin: 0; padding: 0; }
.nav__link, .nav__btn {
  display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 56px; padding: 12px 4px;
  color: var(--ink); background: none; border: 0; border-bottom: 1px solid var(--line); border-radius: 0;
  font: 600 1.1rem/1.2 var(--font-body); text-decoration: none; text-align: left; cursor: pointer;
}
.nav__link:hover, .nav__btn:hover { color: var(--forest); }
.nav__item.is-active > .nav__link, .nav__item.is-active > .nav__btn, .nav__link[aria-current="page"] { color: var(--brass-2); }
.nav__btn svg { transition: transform .15s; opacity: .7; flex: none; }
.nav__btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav__sub { list-style: none; margin: 0; padding: 4px 0 10px; display: none; border-bottom: 1px solid var(--line); }
.nav__btn[aria-expanded="true"] { border-bottom-color: transparent; }
.nav__btn[aria-expanded="true"] + .nav__sub { display: block; }
.nav__sub a { display: flex; align-items: center; min-height: 44px; padding: 8px 14px; border-radius: var(--radius-sm); color: var(--ink); text-decoration: none; font-size: 1rem; }
.nav__sub a:hover, .nav__sub a[aria-current="page"] { background: var(--cream); color: var(--forest); }
.nav__item--cta { display: none; }
.nav__kontakt { margin-top: 24px; padding: 18px; background: var(--paper); border-radius: var(--radius); font-size: .95rem; }
.nav__kontakt p { margin: 0 0 .4em; }
.nav__kontakt a { font-weight: 600; text-decoration: none; }
.nav__kontakt-titel { font-weight: 700; color: var(--forest); }
.nav__nyhedsbrev { display: inline-flex; align-items: center; gap: 6px; margin-top: .4em; }
.nav__nyhedsbrev .ikon { width: 16px; height: 16px; }

@media (min-width: 640px) {
  .brand img { width: 46px; height: 46px; }
  .brand__name { font-size: 1.2rem; }
}
@media (min-width: 1180px) {
  .top__bar { display: block; background: var(--forest); color: rgba(255,255,255,.85); font-size: .82rem; }
  .top__bar-inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: var(--bar); padding-block: 0; }
  .top__bar a { color: inherit; text-decoration: none; }
  .top__bar a:hover { color: var(--white); text-decoration: underline; }
  .top__bar-links { display: flex; gap: 20px; }
  .top__cta, .menu-toggle, .nav__kontakt { display: none; }
  .nav { display: block; position: static; padding: 0; overflow: visible; border: 0; background: none; }
  .nav__list { display: flex; align-items: center; gap: 2px; }
  .nav__item { position: relative; }
  .nav__link, .nav__btn { min-height: 0; width: auto; padding: 10px 11px; border: 0; border-radius: 999px; font-size: .95rem; font-weight: 500; white-space: nowrap; }
  .nav__link:hover, .nav__btn:hover, .nav__btn[aria-expanded="true"] { background: var(--cream); color: var(--forest); }
  .nav__item.is-active > .nav__link, .nav__item.is-active > .nav__btn, .nav__link[aria-current="page"] { color: var(--forest); background: var(--cream); }
  .nav__sub { position: absolute; top: calc(100% + 8px); left: 0; min-width: 240px; padding: 8px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lift); }
  .nav__sub a { min-height: 40px; font-size: .95rem; }
  .nav__item--cta { display: block; margin-left: 10px; }
  .top__soeg, .nav__soeg { display: none; }
  .top__bar-ikon { display: inline-flex; align-items: center; gap: 5px; }
  .top__bar-ikon .ikon { width: 14px; height: 14px; }
}

/* ---------- sidens top (titel, indledning og de vigtigste knapper) */
.page-head { position: relative; overflow: hidden; background: var(--forest); color: var(--white); padding: 28px 0 32px; }
.page-head::after { content: ""; position: absolute; right: -180px; bottom: -260px; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(184,134,43,.28), transparent 68%); pointer-events: none; }
.page-head .wrap { position: relative; z-index: 1; }
.page-head h1 { color: var(--white); margin: 0; max-width: 24ch; }
.page-head .lead, .page-head p.is-style-indledning { font-size: 1.12rem; line-height: 1.55; color: rgba(255,255,255,.9); margin: .7em 0 0; max-width: 62ch; }
.page-head .wp-block-buttons { margin: 1.3em 0 0; }
.page-head .wp-block-button.is-style-ghost .wp-block-button__link, .page-head .wp-block-button:not(.is-style-brass) .wp-block-button__link { background: rgba(255,255,255,.08); color: var(--white); border-color: rgba(255,255,255,.6); box-shadow: none; }
.page-head .wp-block-button:not(.is-style-brass) .wp-block-button__link:hover { background: var(--white); color: var(--forest); }
.page-head .btn { margin-top: 1.2em; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; font-weight: 700; color: var(--brass-light); margin: 0 0 .7em; }
.eyebrow a { color: inherit; text-decoration: none; }
.eyebrow a:hover { color: var(--white); }
.byline { color: rgba(255,255,255,.82); margin: .7em 0 0; }
@media (min-width: 1024px) { .page-head { padding: 56px 0 60px; } }

/* ---------- sider med sektionsmenu (fx Skydebaner og Jagtskole) */
.page { padding-block: 28px 48px; }
.sektion { margin: 0 calc(var(--gutter) * -1) 24px; padding: 0 var(--gutter) 2px; overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
.sektion::-webkit-scrollbar { display: none; }
.sektion__titel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.sektion ul { list-style: none; margin: 0; padding: 0 40px 0 0; display: flex; gap: 8px; width: max-content; }
.sektion a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); text-decoration: none; font-size: .92rem; font-weight: 500; white-space: nowrap; }
.sektion a:hover { border-color: var(--forest); color: var(--forest); }
.sektion a[aria-current="page"] { background: var(--forest); border-color: var(--forest); color: var(--white); }
@media (min-width: 1024px) {
  .page { padding-block: 48px 72px; }
  .page--with-aside { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
  .sektion { position: sticky; top: calc(var(--header) + 32px); margin: 0; padding: 0; overflow: visible; -webkit-mask-image: none; mask-image: none; }
  .sektion__titel { position: static; width: auto; height: auto; clip: auto; display: block; font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: var(--muted); margin: 6px 0 10px 14px; }
  .sektion ul { display: grid; gap: 2px; width: auto; padding: 0; }
  .sektion a { display: flex; min-height: 40px; border: 0; border-radius: var(--radius-sm); background: none; white-space: normal; }
  .sektion a:hover { background: var(--cream); }
}
.back { margin: 0 0 48px; }

/* ---------- indholdet */
.prose { min-width: 0; overflow-wrap: anywhere; }
.prose > * { max-width: min(var(--text), 100%); }
.prose pre { white-space: pre-wrap; overflow-wrap: anywhere; font-family: inherit; }
.prose > .kolonner, .prose > .kort, .prose > .wp-block-table, .prose > .galleri, .prose > .wp-block-gallery, .prose > .wp-block-columns, .prose > table, .prose > .naeste-skridt, .prose > .form, .prose > .albums, .prose > .undersider { max-width: none; }
.prose--wide > * { max-width: none; }
.prose > :first-child { margin-top: 0; }
.prose h2 { font-size: clamp(1.4rem, 4vw, 1.75rem); margin: 1.6em 0 .5em; }
.prose h3 { font-size: 1.2rem; margin: 1.4em 0 .4em; }
.prose h4 { font-size: 1.05rem; margin: 1.2em 0 .3em; }
.prose p { margin: 0 0 1em; }
.prose p.is-style-indledning, .prose .fremhaevet { font-size: 1.14rem; color: var(--forest); font-weight: 500; }
.prose figcaption .fremhaevet { font-size: 1rem; font-weight: 500; color: var(--ink); margin: .4em 0 0; }
.prose ul, .prose ol { padding-left: 1.3em; margin: 0 0 1.1em; }
.prose li { margin: .3em 0; }
.prose li::marker { color: var(--brass); }
.prose img { border-radius: var(--radius-sm); display: block; margin: .5em 0 1em; }
.prose a img { display: block; }
.prose hr { border: 0; border-top: 1px solid var(--line); margin: 2.2em 0; }
.prose figure { margin: 0 0 1.2em; }
.prose figcaption { font-size: .92rem; color: var(--muted); margin-top: .4em; }
.prose figcaption h2, .prose figcaption h3 { font-size: 1.05rem; color: var(--ink); font-family: var(--font-body); font-weight: 500; line-height: 1.5; margin: .4em 0 0; }
.prose iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--radius-sm); }
.prose blockquote { margin: 1.2em 0; padding: .6em 1.2em; border-left: 4px solid var(--brass); background: var(--paper); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.prose .alignleft { float: left; margin: .3em 1.2em 1em 0; }
.prose .alignright { float: right; margin: .3em 0 1em 1.2em; }
.prose .aligncenter { margin-inline: auto; }
.prose .note { background: var(--cream); border-radius: var(--radius-sm); padding: 12px 16px; font-weight: 600; }

/* Tabeller: kan rulles sidelæns på telefonen i stedet for at blive klemt */
.prose table { width: 100%; border-collapse: collapse; margin: 1em 0 1.6em; font-size: .95rem; display: block; overflow-x: auto; }
.prose td, .prose th { border-bottom: 1px solid var(--line); padding: 10px 12px; vertical-align: top; text-align: left; }
.prose tr:nth-child(even) td { background: var(--paper); }
.prose .wp-block-table { margin: 1em 0 1.6em; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.prose .wp-block-table table { display: table; margin: 0; min-width: 100%; }
.prose .wp-block-table td, .prose .wp-block-table th { border: 0; border-bottom: 1px solid var(--line); white-space: normal; overflow-wrap: normal; word-break: normal; } /* ord deles ikke midt i ("13:0 0"); for bred tabel rulles i stedet */
.prose .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.prose .wp-block-table thead { border-bottom: 0; }
.prose .wp-block-table thead th { background: var(--forest); color: var(--white); font-weight: 600; border-bottom: 0; }
.prose .wp-block-table td:first-child { font-weight: 600; color: var(--forest); }
.prose .wp-block-table figcaption { padding: 8px 12px; margin: 0; }
/* Tabeller sat side om side i en gruppe (række): på telefonen under hinanden i fuld bredde,
   på større skærme lige brede side om side (så mange der er plads til). Grupper inde i
   gruppen foldes ud, så alle tabellerne deler rækken. SJF's indhold røres ikke. */
.prose .wp-block-group.is-layout-flex:has(.wp-block-table) { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; }
.prose .wp-block-group.is-layout-flex:has(.wp-block-table) > * { width: 100%; max-width: none; flex: none; }
.prose .wp-block-group.is-layout-flex:has(.wp-block-table) > .wp-block-group.is-layout-flex { display: contents; }
.prose .wp-block-group.is-layout-flex .wp-block-table.alignleft, .prose .wp-block-group.is-layout-flex .wp-block-table.alignright { float: none; margin: 0 0 1em; }
@media (max-width: 759px) { .prose .wp-block-table.alignleft, .prose .wp-block-table.alignright { float: none; margin: 1em 0 1.6em; width: 100%; } }
@media (min-width: 760px) {
  .prose .wp-block-group.is-layout-flex:has(.wp-block-table) { flex-direction: row; flex-wrap: wrap; align-items: flex-start; gap: 0 12px; }
  .prose .wp-block-group.is-layout-flex:has(.wp-block-table) > * { width: auto; flex: 1 1 12.5rem; min-width: 0; }
}

/* Infoboks: tid, sted, pris og kontakt samlet ét sted */
.wp-block-group.is-style-infoboks { background: var(--cream); border-left: 4px solid var(--brass); border-radius: var(--radius-sm); padding: 18px 20px; margin: 0 0 1.6em; }
.wp-block-group.is-style-infoboks > :first-child { margin-top: 0; }
.wp-block-group.is-style-infoboks > :last-child { margin-bottom: 0; }
.wp-block-group.is-style-infoboks h2, .wp-block-group.is-style-infoboks h3 { margin-top: 0; font-size: 1.15rem; }
.wp-block-group.is-style-infoboks ul { list-style: none; padding: 0; }
.wp-block-group.is-style-infoboks li { padding: 6px 0; border-bottom: 1px solid rgba(184,134,43,.22); margin: 0; }
.wp-block-group.is-style-infoboks li:last-child { border-bottom: 0; }
.wp-block-group.is-style-infoboks .wp-block-buttons { margin-bottom: 0; }
.wp-block-group.is-style-infoboks table, .wp-block-group.is-style-infoboks .wp-block-table { margin: .5em 0 1em; background: var(--white); }
@media (min-width: 640px) { .wp-block-group.is-style-infoboks { padding: 22px 26px; } }

/* Næste skridt: afslutningen på en side med en tydelig knap */
.naeste-skridt { margin: 2.5em 0 0; padding: 24px 20px; border-radius: var(--radius); background: var(--paper); border: 1px solid var(--line); }
.naeste-skridt > :first-child { margin-top: 0; }
.naeste-skridt > :last-child { margin-bottom: 0; }
.naeste-skridt h2, .naeste-skridt h3 { margin-top: 0; font-size: 1.35rem; }
@media (min-width: 640px) { .naeste-skridt { padding: 32px 36px; } }

/* Kort: fx kurser og udvalg side om side (én kolonne på telefonen) */
.kort { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 1.2em 0 2em; }
.kort__punkt { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); }
.kort__punkt > :first-child { margin-top: 0; }
.kort__punkt > :last-child { margin-bottom: 0; }
.kort__punkt h2, .kort__punkt h3 { font-size: 1.2rem; margin: .3em 0 .35em; }
.kort__punkt figure, .kort__punkt .wp-block-image { margin: -18px -18px 14px; }
.kort__punkt .wp-block-image img, .kort__punkt figure img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; margin: 0; border-radius: var(--radius) var(--radius) 0 0; }
.kort__punkt .wp-block-image a { display: block; }
.kort__punkt .wp-block-buttons { margin: auto 0 0; padding-top: 12px; }
.kort__punkt p { font-size: .97rem; }
@media (min-width: 640px) { .kort { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .page:not(.page--with-aside) .kort { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Kort med personer (bestyrelse, udvalg): hele ansigtet med, to ved siden af hinanden på telefonen */
.kort--personer { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kort--personer .kort__punkt { padding: 14px; }
.kort--personer .kort__punkt figure, .kort--personer .kort__punkt .wp-block-image { margin: -14px -14px 12px; overflow: hidden; border-radius: var(--radius) var(--radius) 0 0; }
.kort--personer .kort__punkt .wp-block-image img, .kort--personer .kort__punkt figure img { aspect-ratio: 4 / 5; object-position: 50% 22%; }
.kort--personer .kort__punkt h2, .kort--personer .kort__punkt h3 { font-size: 1.05rem; }
.kort--personer .kort__punkt p, .kort--personer .kort__punkt li { font-size: .9rem; overflow-wrap: anywhere; }
.kort--personer .kort__punkt ul { padding-left: 1.1em; }
@media (min-width: 640px) { .kort--personer { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } .kort--personer .kort__punkt { padding: 16px; } .kort--personer .kort__punkt figure, .kort--personer .kort__punkt .wp-block-image { margin: -16px -16px 12px; } }
@media (min-width: 1200px) { .page:not(.page--with-aside) .kort--personer { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Kort uden billeder, hvor hele kortet er et link (fx udvalgene) */
.kort--links .kort__punkt { position: relative; padding: 20px 20px 18px; border-top: 4px solid var(--brass); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.kort--links .kort__punkt h2, .kort--links .kort__punkt h3 { margin: 0 0 .35em; }
.kort--links .kort__punkt h3 a { color: var(--forest); text-decoration: none; }
.kort--links .kort__punkt h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.kort--links .kort__punkt h3 a::before { content: "→"; float: right; margin-left: 10px; color: var(--brass); font-family: var(--font-body); transition: transform .2s ease; }
.kort--links .kort__punkt p { margin: 0; color: var(--muted); }
.kort--links .kort__punkt:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); border-top-color: var(--forest); }
.kort--links .kort__punkt:hover h3 a::before { transform: translateX(4px); }
.kort--links .kort__punkt:focus-within { outline: 3px solid var(--brass); outline-offset: 2px; }
@media (min-width: 1200px) { .page--with-aside .kort--links { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Forsider af blade (Diana): hele forsiden uden beskæring, årstallet lige under */
.kort--blade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.kort--blade .kort__punkt { padding: 0; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.kort--blade .kort__punkt figure, .kort--blade .kort__punkt .wp-block-image { margin: 0; }
.kort--blade .kort__punkt .wp-block-image a { display: block; }
.kort--blade .kort__punkt .wp-block-image img, .kort--blade .kort__punkt figure img { aspect-ratio: 7 / 10; object-fit: cover; border-radius: 0; border-bottom: 1px solid var(--line); }
.kort--blade .kort__punkt figcaption { margin: 0; padding: 9px 10px 10px; text-align: center; font-size: .9rem; font-weight: 600; color: var(--forest); line-height: 1.35; }
.kort--blade .kort__punkt:has(a):hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.kort--blade .kort__punkt:has(a):focus-within { outline: 3px solid var(--brass); outline-offset: 2px; }
.kort--blade .kort__punkt:not(:has(a)) figcaption { color: var(--muted); font-weight: 500; }
@media (min-width: 640px) { .kort--blade { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 900px) { .kort--blade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .page:not(.page--with-aside) .kort--blade { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

/* Fold-ud (gamle ting, lange lister) */
.wp-block-details { border: 1px solid var(--line); border-radius: var(--radius-sm); margin: 1em 0 1.4em; padding: 0 16px; background: var(--white); }
.wp-block-details > summary { cursor: pointer; padding: 14px 0; font-weight: 600; color: var(--forest); list-style-position: outside; }
.wp-block-details[open] > summary { border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.wp-block-details > :last-child { margin-bottom: 14px; }

/* Kolonner fra den gamle sides layout (én kolonne på telefonen) */
.kolonner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin: 0 0 1.5em; align-items: start; }
.kolonner > div > :first-child { margin-top: 0; }
.kolonner--2 { --cols: 2; }
.kolonner--3 { --cols: 3; }
.kolonner--4 { --cols: 4; }
@media (min-width: 640px) { .kolonner { grid-template-columns: repeat(min(var(--cols, 2), 2), minmax(0, 1fr)); gap: 24px; } }
@media (min-width: 1100px) { .kolonner { grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); gap: 32px; } }
/* Billedrækker: kolonner med kun billeder i. Billederne har forskellige størrelser og
   formater, så de står i ens rammer med billedteksten under; hvid baggrund i et billede går i ét med rammen. */
.kolonner:not(:has(> div > :not(figure, .wp-block-group__inner-container), > div > .wp-block-group__inner-container > :not(figure))) { align-items: stretch; }
.kolonner:not(:has(> div > :not(figure, .wp-block-group__inner-container), > div > .wp-block-group__inner-container > :not(figure))) figure:last-child { margin-bottom: 0; }
.kolonner:not(:has(> div > :not(figure, .wp-block-group__inner-container), > div > .wp-block-group__inner-container > :not(figure))) figure:only-child { height: 100%; }
@media (min-width: 640px) { .kolonner:not(:has(> div > :not(figure, .wp-block-group__inner-container), > div > .wp-block-group__inner-container > :not(figure))) { grid-template-columns: repeat(var(--cols, 2), minmax(0, 1fr)); } }
.kolonner:not(:has(> div > :not(figure, .wp-block-group__inner-container), > div > .wp-block-group__inner-container > :not(figure))) figure { margin: 0 0 16px; padding: 12px 12px 10px; background: var(--cream); border-radius: var(--radius-sm); isolation: isolate; }
.kolonner:not(:has(> div > :not(figure, .wp-block-group__inner-container), > div > .wp-block-group__inner-container > :not(figure))) figure img { width: 100%; height: auto; max-height: 320px; object-fit: contain; margin: 0; border-radius: 6px; mix-blend-mode: multiply; }
@media (min-width: 640px) { .kolonner:not(:has(> div > :not(figure, .wp-block-group__inner-container), > div > .wp-block-group__inner-container > :not(figure))) figure img { max-height: none; aspect-ratio: 4 / 3; } }
.kolonner:not(:has(> div > :not(figure, .wp-block-group__inner-container), > div > .wp-block-group__inner-container > :not(figure))) figcaption { margin-top: 8px; text-align: center; color: var(--ink); font-weight: 500; }
.prose .wp-block-columns { gap: 24px; margin-bottom: 1em; }

/* Billedgallerier og lysboks */
.galleri { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 1em 0 2em; }
@media (min-width: 640px) { .galleri { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; } }
.galleri figure { margin: 0; position: relative; }
.galleri img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; margin: 0; cursor: zoom-in; transition: transform .2s, box-shadow .2s; }
.galleri img:hover { transform: scale(1.02); box-shadow: var(--shadow); }
.galleri figcaption { font-size: .85rem; }
.prose .wp-block-gallery { margin-bottom: 1.5em; }

/* Siderne under Galleri: kvadratiske billeder i et gitter. Har galleriet fem billeder eller flere,
   fylder det første fire felter. WordPress' egne regler for gallerier har et id i vælgeren, derfor :not(#sjf). */
.galleri-side .wp-block-gallery.has-nested-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; gap: 6px; margin: 0 0 1.5em; }
@media (min-width: 640px) { .galleri-side .wp-block-gallery.has-nested-images { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; } }
@media (min-width: 1000px) { .galleri-side .wp-block-gallery.has-nested-images { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* WordPress sætter bredden med op til to id'er i vælgeren (fx billede nr. 2 af 2), derfor tre gange :not(#sjf) */
.galleri-side .wp-block-gallery.has-nested-images figure.wp-block-image:not(#sjf):not(#sjf):not(#sjf) { width: 100%; }
.galleri-side .wp-block-gallery.has-nested-images figure.wp-block-image:not(#sjf):not(#sjf) { margin: 0; aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-sm); background: var(--cream); cursor: zoom-in; }
.galleri-side .wp-block-gallery.has-nested-images:has(> figure:nth-child(5)) > figure.wp-block-image:first-child:not(#sjf):not(#sjf) { grid-column: span 2; grid-row: span 2; }
/* Små gallerier (to til fire billeder): færre og lidt større billeder, men ikke større end de gamle filer kan bære */
.galleri-side .wp-block-gallery.has-nested-images:not(:has(> figure:nth-child(5))) { max-width: 960px; }
@media (min-width: 640px) { .galleri-side .wp-block-gallery.has-nested-images:not(:has(> figure:nth-child(3))) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 640px) and (max-width: 999px) { .galleri-side .wp-block-gallery.has-nested-images:has(> figure:nth-child(4)):not(:has(> figure:nth-child(5))) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.galleri-side .wp-block-gallery.has-nested-images figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.galleri-side .wp-block-gallery.has-nested-images figure.wp-block-image:hover img { transform: scale(1.06); }
.galleri-side .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { content: none; }
.galleri-side .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  position: absolute; inset: auto 0 0 0; max-height: none; margin: 0; padding: 2.4em .8em .6em; overflow: hidden;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
  background: linear-gradient(0deg, rgba(10, 20, 14, .82), rgba(10, 20, 14, .45) 55%, transparent); color: var(--white);
  font-size: .8rem; line-height: 1.35; text-align: left; text-shadow: none; pointer-events: none;
}
@media (min-width: 640px) { .galleri-side .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { font-size: .86rem; } }

.lightbox { border: 0; padding: 0; background: transparent; max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; }
.lightbox::backdrop { background: rgba(10, 16, 12, .94); }
.lightbox figure { margin: 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 64px 8px 88px; touch-action: pan-y pinch-zoom; }
.lightbox img { max-width: 100%; max-height: calc(100vh - 170px); object-fit: contain; border-radius: 6px; transition: opacity .25s ease, transform .25s ease; }
.lightbox img.is-skifter { opacity: 0; transform: scale(.97); }
.lightbox figcaption { color: var(--white); margin-top: 12px; text-align: center; max-width: 60ch; }
.lightbox__taeller { position: fixed; top: 22px; left: 16px; margin: 0; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.14); color: rgba(255,255,255,.9); font-size: .88rem; font-variant-numeric: tabular-nums; z-index: 2; }
.lightbox__taeller:empty { display: none; }
.lightbox__close, .lightbox__nav { position: fixed; background: rgba(255,255,255,.14); color: var(--white); border: 0; border-radius: 999px; width: 48px; height: 48px; font-size: 28px; line-height: 1; cursor: pointer; z-index: 2; transition: background .15s; }
.lightbox__close:hover, .lightbox__nav:hover { background: rgba(255,255,255,.28); }
.lightbox__close { top: 16px; right: 16px; }
/* På telefonen står pilene nederst, så de ikke dækker billedet (man kan også stryge) */
.lightbox__nav { bottom: 20px; }
.lightbox__nav--prev { left: calc(50% - 60px); }
.lightbox__nav--next { right: calc(50% - 60px); }
@media (min-width: 640px) {
  .lightbox figure { padding: 64px 80px; }
  .lightbox img { max-height: calc(100vh - 150px); }
  .lightbox__nav { bottom: auto; top: 50%; transform: translateY(-50%); }
  .lightbox__nav--prev { left: 16px; }
  .lightbox__nav--next { right: 16px; }
}

/* Øverst på et galleri: kategori (link til oversigten), dato og antal billeder */
.galleri-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 1em 0 0; color: rgba(255,255,255,.88); }
.galleri-meta__kategori { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 14px; border-radius: 999px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.4); color: var(--white); font-size: .85rem; font-weight: 600; text-decoration: none; transition: background .15s, color .15s; }
.galleri-meta__kategori:hover { background: var(--white); color: var(--forest); }
.flere-gallerier { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--line); }
.flere-gallerier .section-title { font-size: clamp(1.4rem, 4vw, 1.8rem); }

/* [sjf_gallerier]: knapper til kategorierne og et kort for hvert galleri */
.prose > .albums-boks { max-width: none; }
.albums-boks { margin: 0 0 1.5em; }
/* På telefonen kan knapperne rulles sidelæns (som sektionsmenuen) */
.chips { display: flex; gap: 8px; margin: 0 calc(var(--gutter) * -1) 20px; padding: 2px var(--gutter); overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
.chips::-webkit-scrollbar { display: none; }
.chip { flex: none; }
@media (min-width: 640px) { .chips { flex-wrap: wrap; margin: 0 0 24px; padding: 0; overflow: visible; -webkit-mask-image: none; mask-image: none; } }
.chips[hidden] { display: none; }
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 6px 10px 6px 16px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); color: var(--ink); font: 500 .95rem/1 var(--font-body); cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .15s; }
.chip:hover { border-color: var(--forest); color: var(--forest); }
.chip:active { transform: scale(.97); }
.chip[aria-pressed="true"] { background: var(--forest); border-color: var(--forest); color: var(--white); }
.chip__antal { min-width: 24px; padding: 3px 7px; border-radius: 999px; background: var(--cream); color: var(--forest); font-size: .78rem; font-weight: 700; text-align: center; }
.chip[aria-pressed="true"] .chip__antal { background: rgba(255,255,255,.18); color: var(--white); }
.albums { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
@media (min-width: 640px) { .albums { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
@media (min-width: 1000px) { .albums { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; } }
.prose .albums { padding: 0; margin: 0; }
.prose .albums li { margin: 0; }
.album[hidden] { display: none; }
.album.is-ny { animation: sjf-op .45s cubic-bezier(.2, .7, .2, 1) both; }
/* På telefonen: et lille billede til venstre og teksten til højre */
.album a { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: center; gap: 14px; height: 100%; padding: 8px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); color: var(--ink); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.album a:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); border-color: #d8ceb6; color: var(--ink); }
.album__billeder { display: grid; gap: 3px; aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-sm); background: var(--cream); }
.prose .album__billeder img, .album__billeder img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; margin: 0; border-radius: 0; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.album__billeder img:not(:first-child) { display: none; }
.album a:hover .album__billeder img { transform: scale(1.06); }
.album__tom { display: block; width: 100%; height: 100%; }
.album__tekst { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.album__kategori { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--brass-2); }
.album__title { font-family: var(--font-head); font-size: 1.08rem; font-weight: 600; line-height: 1.25; color: var(--forest); }
.album__meta { font-size: .85rem; color: var(--muted); }
/* Større skærme: kort med op til tre billeder øverst */
@media (min-width: 640px) {
  .album a { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 0; overflow: hidden; }
  .album__billeder { aspect-ratio: 4 / 3; border-radius: 0; }
  .album__billeder img:not(:first-child) { display: block; }
  .album__billeder--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .album__billeder--3 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); }
  .album__billeder--3 img:first-child { grid-row: span 2; }
  .album__tekst { flex: 1; padding: 16px 18px 18px; gap: 4px; }
  .album__title { font-size: 1.18rem; }
}

.prose .undersider { list-style: none; padding: 0; display: grid; gap: 10px; }
@media (min-width: 640px) { .prose .undersider { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.prose .undersider li { margin: 0; }
.undersider a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 12px 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); text-decoration: none; font-weight: 600; color: var(--forest); background: var(--white); }
.undersider a::after { content: "→"; color: var(--brass); }
.undersider a:hover { border-color: var(--forest); }

/* ---------- forsiden */
.forside-indhold figure.wp-block-image { margin: 0; }
.hero { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: min(78svh, 640px); color: var(--white); overflow: hidden; background: var(--forest); }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,30,20,.05) 0%, rgba(15,30,20,.3) 40%, rgba(15,30,20,.9) 100%); }
.hero > .hero__content { position: relative; z-index: 1; order: 2; width: 100%; padding: 0 0 112px; }
.hero__content > .wrap { position: relative; }
.hero__title { color: var(--white); font-size: clamp(2.2rem, 9vw, 4.4rem); max-width: 14ch; margin-bottom: .2em; text-shadow: 0 2px 24px rgba(0,0,0,.3); }
.hero__sub { font-family: var(--font-head); font-style: italic; font-size: clamp(1.15rem, 4vw, 1.7rem); margin: 0 0 1.1em; color: #f1e3c2; }
.hero__actions.wp-block-buttons { margin: 0; gap: 10px; }
.hero .wp-block-gallery.hero__slides { position: absolute; inset: 0; margin: 0; display: block; gap: 0; }
.hero .wp-block-gallery.has-nested-images.hero__slides figure.wp-block-image:not(#sjf) { position: absolute; inset: 0; margin: 0; width: 100%; max-width: none; opacity: 0; transition: opacity 1.2s ease; }
.hero .wp-block-gallery.hero__slides:not([data-slideshow]) > figure:first-child,
.hero .wp-block-gallery.has-nested-images.hero__slides figure.wp-block-image.is-active:not(#sjf) { opacity: 1; }
.hero .wp-block-gallery.has-nested-images.hero__slides figure.wp-block-image img { width: 100%; height: 100%; object-fit: cover; flex: none; vertical-align: baseline; }
.hero .wp-block-gallery.has-nested-images.hero__slides figure.wp-block-image figcaption {
  position: absolute; left: auto; bottom: auto; right: var(--gutter); top: 16px; width: auto; max-width: 70%; max-height: none; overflow: visible;
  background: rgba(0,0,0,.45); padding: 5px 12px; border-radius: 999px; font-size: .8rem; color: var(--white);
  backdrop-filter: blur(4px); text-align: left; text-shadow: none; margin: 0;
}
.hero .wp-block-gallery.has-nested-images.hero__slides figure.wp-block-image figcaption:empty { display: none; }
.hero__controls { position: absolute; z-index: 2; bottom: 54px; left: 0; right: 0; display: flex; justify-content: flex-end; gap: 8px; }
.hero__btn { width: 40px; height: 40px; border-radius: 999px; background: rgba(255,255,255,.15); color: var(--white); border: 1px solid rgba(255,255,255,.35); cursor: pointer; font-size: 18px; line-height: 1; }
.hero__btn[data-slide="pause"] { font-size: 11px; letter-spacing: -2px; }
.hero__btn:hover { background: rgba(255,255,255,.3); }
@media (min-width: 640px) { .hero > .hero__content { padding-bottom: 120px; } .hero__actions.wp-block-buttons { gap: 12px; } }

/* Genveje lige under billedet: det, de fleste kommer efter */
.genveje-band { position: relative; z-index: 2; margin-top: -40px; padding-bottom: 8px; }
/* Står skydebanerne (grøn) lige under genvejene, fortsætter den grønne bund fra billedets underkant, så der ikke er en hvid stribe */
.genveje-band:has(+ .band--forest) { background: linear-gradient(to bottom, transparent 40px, var(--forest) 40px); padding-bottom: 0; }
.genveje { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.genvej { margin: 0; }
.genvej a { display: flex; flex-direction: column; gap: 2px; height: 100%; min-height: 96px; padding: 16px; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow-lift); text-decoration: none; color: var(--ink); border: 1px solid var(--line); transition: transform .15s, border-color .15s; }
.genvej a:hover { transform: translateY(-2px); border-color: var(--brass); color: var(--ink); }
.genvej strong { font-family: var(--font-head); font-size: 1.02rem; color: var(--forest); font-weight: 600; line-height: 1.2; }
.genvej strong::after { content: "\00a0→"; color: var(--brass); font-family: var(--font-body); }
.genvej span { font-size: .86rem; color: var(--muted); line-height: 1.35; }
@media (min-width: 900px) { .genveje { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .genvej a { padding: 20px 22px; } .genvej strong { font-size: 1.25rem; } .genvej span { font-size: .92rem; } }

.band { padding-block: 44px; }
@media (min-width: 1024px) { .band { padding-block: 80px; } }
.band--paper { background: var(--paper); }
.band--forest { background: var(--forest); color: var(--white); }
.band--forest .section-title, .band--forest h2, .band--forest h3 { color: var(--white); }
.band--brass { background: linear-gradient(135deg, #2c4d3a 0%, #1f3a2b 60%); color: var(--white); }
.band__head { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 16px; flex-wrap: wrap; margin-bottom: 20px; }
.band__head .section-title { margin: 0; }
.band__head .more { margin: 0; }
.band__head .more a, .more { font-weight: 600; text-decoration: none; white-space: nowrap; }
.section-title { font-size: clamp(1.6rem, 5vw, 2.3rem); margin-bottom: .6em; }
.section-title--center { text-align: center; }
.month { font-family: var(--font-body); text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; color: var(--muted); margin: 28px 0 10px; }

.range.wp-block-group, .range { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.range__img img { border-radius: var(--radius); box-shadow: 0 20px 50px rgba(0,0,0,.3); width: 100%; }
.range__lines.wp-block-list, .range__lines { list-style: none; padding: 0; margin: 0 0 1.4em; font-size: 1.04rem; }
.range__lines li { padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.range__lines li:first-child { font-weight: 600; }
.range__actions.wp-block-buttons { margin-block: 1em 0; }
p.status, .status { display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,.1); padding: 8px 16px; border-radius: 999px; font-weight: 600; margin: 0 0 1.2em; }
p.status::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #6ad08a; box-shadow: 0 0 0 4px rgba(106,208,138,.25); }
p.status--delvis::before { background: #f0c24b; box-shadow: 0 0 0 4px rgba(240,194,75,.25); }
p.status--lukket::before { background: #e5675f; box-shadow: 0 0 0 4px rgba(229,103,95,.25); }
/* Statussen inde i en linje, fx "Status: …" på siden Skydebaner ([sjf_skydebane_status visning=tekst]). */
.status-tekst::before { content: ""; display: inline-block; width: .6em; height: .6em; border-radius: 50%; margin: 0 .35em .08em 0; vertical-align: middle; background: #2f9e57; }
.status-tekst--delvis::before { background: #d9a31c; }
.status-tekst--lukket::before { background: #c8423a; }
@media (min-width: 860px) { .range.wp-block-group, .range { grid-template-columns: 1fr 1fr; gap: 64px; } }

.offers.wp-block-group, .offers { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 640px) { .offers.wp-block-group, .offers { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
@media (min-width: 1100px) { .offers.wp-block-group, .offers { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }
.offer.wp-block-group, .offer { display: flex; flex-direction: column; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; border: 1px solid var(--line); }
.offer__img.wp-block-image a { display: block; }
.offer__img { display: block; background: var(--cream); }
.offer__img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.offer__body.wp-block-group, .offer__body { display: flex; flex-direction: column; flex: 1; padding: 18px 20px 20px; }
.offer__title { font-size: 1.22rem; margin-bottom: .3em; }
.offer__sub { font-weight: 600; color: var(--brass-2); margin: 0 0 .6em; }
.offer__text { font-size: .95rem; color: var(--muted); }
.offer__text p { margin: 0 0 .6em; }
.offer__actions.wp-block-buttons { margin: auto 0 0; padding-top: 14px; gap: 8px; flex-direction: column; align-items: stretch; }
.offer__actions .wp-block-button, .offer__actions .wp-block-button__link { width: 100%; }
.offer__actions .wp-block-button__link { min-height: 44px; padding: .55em 1.1em; font-size: .92rem; }
/* Kun ét kort (fx "Alle planlagte jagter er udsolgt"): billede og tekst ved siden af hinanden */
@media (min-width: 640px) {
  .offers > .offer:only-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); width: 100%; max-width: 880px; margin-inline: auto; }
  .offers > .offer:only-child .offer__img { margin: 0; height: 100%; }
  .offers > .offer:only-child .offer__img img { height: 100%; min-height: 220px; aspect-ratio: auto; }
  .offers > .offer:only-child .offer__body { justify-content: center; padding: 24px 28px; }
}

.medlem-band { text-align: left; }
.medlem-band .section-title { color: var(--white); max-width: 20ch; }
.medlem-band p { color: rgba(255,255,255,.88); max-width: 60ch; font-size: 1.08rem; }
.medlem-band .wp-block-buttons { margin-bottom: 0; }
.medlem-band .wp-block-button:not(.is-style-brass) .wp-block-button__link { background: transparent; color: var(--white); border-color: rgba(255,255,255,.65); box-shadow: none; }
.medlem-band .wp-block-button:not(.is-style-brass) .wp-block-button__link:hover { background: var(--white); color: var(--forest); }
@media (max-width: 639px) { .medlem-band .wp-block-buttons { flex-direction: column; align-items: stretch; } .medlem-band .wp-block-button__link { width: 100%; } }

.contact-cards.wp-block-group, .contact-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
@media (min-width: 760px) { .contact-cards.wp-block-group, .contact-cards { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; } }
.contact-card { background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); padding: 20px; border: 1px solid var(--line); }
.contact-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-sm); margin-bottom: 14px; }
.contact-card p { margin: 0 0 .6em; }
.contact-card h3 { margin-bottom: .4em; }

.split.wp-block-group, .split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
@media (min-width: 900px) { .split.wp-block-group, .split { grid-template-columns: 3fr 2fr; gap: 64px; } }
.sponsors.wp-block-group, .sponsors { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.sponsors figure.wp-block-image { margin: 0; }
.sponsors a { display: flex; align-items: center; justify-content: center; background: var(--white); border-radius: var(--radius-sm); box-shadow: var(--shadow); padding: 16px; height: 100px; }
.sponsors img { max-height: 68px; width: auto; object-fit: contain; }

/* ---------- lister */
.list { list-style: none; padding: 0; margin: 0 0 1em; }
.prose .list li { margin: 0; }
.list a { display: flex; flex-direction: column; gap: 2px; padding: 12px 4px; border-bottom: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.list a:hover .list__title { color: var(--brass-2); }
.list__date { color: var(--muted); font-size: .88rem; }
.list__title { font-weight: 600; color: var(--forest); }
@media (min-width: 640px) { .list a { flex-direction: row; align-items: baseline; gap: 16px; } .list__date { flex: 0 0 150px; } }
.nyhedsbrev-tilmeld { margin: 8px 0 0; }

.cards { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 640px) { .cards { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; } }
.card a { display: flex; flex-direction: column; gap: 6px; height: 100%; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--line); padding: 20px; text-decoration: none; color: var(--ink); transition: transform .15s; }
.card a:hover { transform: translateY(-2px); }
.card__date { font-size: .85rem; color: var(--muted); }
.card__title { font-family: var(--font-head); font-weight: 600; font-size: 1.2rem; color: var(--forest); line-height: 1.25; }
.card__text { font-size: .92rem; color: var(--muted); }

.arkiv-aar { border-top: 1px solid var(--line); }
.arkiv-aar > summary { cursor: pointer; padding: 14px 0; font-weight: 600; color: var(--forest); }

/* ---------- arrangementer */
.events, .prose .events { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.events--home { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .events--home { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .events--home { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.event__link { display: flex; gap: 14px; align-items: flex-start; height: 100%; background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--line); padding: 14px; text-decoration: none; color: var(--ink); transition: transform .15s, box-shadow .15s; }
.event__link:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); color: var(--ink); }
.event__date { flex: 0 0 58px; height: 62px; border-radius: 12px; background: var(--forest); color: var(--white); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.event__day { font-family: var(--font-head); font-size: 1.6rem; font-weight: 600; }
.event__month { text-transform: uppercase; font-size: .7rem; letter-spacing: .12em; margin-top: 4px; color: var(--brass-light); }
.event__body { flex: 1; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.event__title { font-weight: 700; color: var(--forest); font-size: 1.04rem; line-height: 1.3; }
.event__meta { font-size: .85rem; color: var(--muted); }
.event__excerpt { font-size: .9rem; color: var(--ink); opacity: .85; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.event .badge { align-self: flex-start; }
.events--home .event .badge, .events--home .event__excerpt { display: none; }
.events--past .event__date { background: #8d948e; }
.past { margin-top: 40px; border-top: 1px solid var(--line); }
.past summary { cursor: pointer; font-weight: 600; color: var(--forest); padding: 14px 0; }
.event.is-past:not(.events--past .event) { display: none; }

.page--events { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.page--events .aside--notes { order: -1; }
@media (min-width: 1024px) { .page--events { grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; } .page--events .aside--notes { order: 0; position: sticky; top: calc(var(--header) + 24px); } }
.aside--notes { display: grid; gap: 12px; }
.aside--notes .note { background: var(--paper); border-left: 4px solid var(--brass); border-radius: var(--radius-sm); padding: 14px 16px; font-size: .92rem; }
.aside--notes .note p { margin: 0; }
.aside--notes strong { color: var(--forest); }
@media (max-width: 1023px) { .aside--notes .note { display: none; } .aside--notes details.note-fold { display: block; } }
.note-fold { display: none; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 0 16px; font-size: .92rem; }
.note-fold summary { padding: 12px 0; font-weight: 600; color: var(--forest); cursor: pointer; }
.note-fold p { margin: 0 0 .8em; }

.feature { display: grid; grid-template-columns: minmax(0, 1fr); background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--line); overflow: hidden; text-decoration: none; color: var(--ink); margin-bottom: 40px; }
.feature:hover { color: var(--ink); }
.feature:hover .feature__more { color: var(--brass-2); }
.feature__img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.feature__body { padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.feature__date { color: var(--brass-2); font-weight: 600; }
.feature__title { font-family: var(--font-head); font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 600; color: var(--forest); line-height: 1.2; }
.feature__excerpt { color: var(--muted); }
.feature__more { font-weight: 600; color: var(--forest); margin-top: auto; }
@media (min-width: 700px) { .feature { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); } .feature__img { height: 100%; aspect-ratio: auto; min-height: 240px; } .feature__body { padding: 28px 32px; } }
@media (min-width: 700px) { .feature--tekst { grid-template-columns: minmax(0, 1fr); } }

.page-head--event .event-meta { display: flex; flex-direction: column; gap: 6px; margin: 1em 0 0; color: rgba(255,255,255,.92); }
@media (min-width: 640px) { .page-head--event .event-meta { flex-direction: row; flex-wrap: wrap; gap: 10px 24px; } }
.event-meta__item { display: inline-flex; align-items: center; gap: 8px; }
.ikon { flex: none; }
.page--event { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.event-side { display: grid; gap: 16px; order: -1; }
.event-side__img { width: 100%; border-radius: var(--radius); box-shadow: var(--shadow); display: block; max-height: 320px; object-fit: cover; }
.event-side__box { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; display: grid; gap: 12px; }
.event-side__date { display: flex; align-items: baseline; gap: 10px; margin: 0; color: var(--forest); }
.event-side__day { font-family: var(--font-head); font-size: 2.6rem; font-weight: 600; line-height: 1; }
.event-side__month { text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; color: var(--muted); }
.event-side .badge--sold { font-size: 1rem; padding: .7em 1em; text-align: center; }
.event-past-note { background: var(--cream); border-radius: var(--radius-sm); padding: 10px 14px; font-weight: 600; }
/* Tilmeldingsknappen følger med nederst på telefonen */
.event-cta { position: sticky; bottom: 0; z-index: 40; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.95); border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(28,33,30,.08); }
.event-cta { transition: transform .25s ease, opacity .25s ease; }
.event-cta.is-hidden { transform: translateY(110%); opacity: 0; pointer-events: none; }
@media (min-width: 1024px) {
  .page--event { grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
  .event-side { order: 0; position: sticky; top: calc(var(--header) + 24px); }
  .event-cta { display: none; }
}

/* Stedet i boksen til højre (fx Mosehuset med tegningen af huset) */
.sted-kort { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; box-shadow: var(--shadow); }
.sted-kort--billede { padding-top: 0; overflow: hidden; }
.sted-kort__billede { display: block; width: calc(100% + 36px); max-width: none; margin: 0 -18px 14px; aspect-ratio: 16 / 9; object-fit: cover; }
.sted-kort__label { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--brass-2); }
.sted-kort__label .ikon { width: 15px; height: 15px; }
.sted-kort__tekst { margin: 0; line-height: 1.5; }
.sted-kort strong, .fakta strong { display: block; font-family: var(--font-head); font-size: 1.15rem; font-weight: 600; color: var(--forest); }
.sted__adresse { display: block; color: var(--muted); }
.sted__vej { display: inline-block; margin-top: 6px; font-size: .92rem; font-weight: 600; text-decoration: none; }
.sted__vej::after { content: "\00a0→"; position: relative; left: 0; color: var(--brass); transition: left .2s ease; }
.sted__vej:hover::after { left: 4px; }
.kontakt strong { display: block; }
.kontakt__link { display: block; width: fit-content; margin-top: 4px; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.kontakt__link:hover { text-decoration: underline; }

/* Arrangementer med kun en linje eller to: ét kort med dato (og tegningen af Mosehuset), tekst, fakta og knapper */
.billet { display: grid; grid-template-columns: minmax(0, 1fr); max-width: 940px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lift); overflow: hidden; }
.billet__side { position: relative; display: flex; align-items: center; justify-content: center; min-height: 150px; padding: 20px; overflow: hidden; color: var(--white); background: radial-gradient(circle at 85% 115%, rgba(184, 134, 43, .45), transparent 60%), var(--forest); }
.billet__billede { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.billet__dato { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; margin: 0; line-height: 1; text-align: center; }
.billet__dag { font-family: var(--font-head); font-size: 4rem; font-weight: 600; }
.billet__maaned { margin-top: 8px; font-size: .82rem; letter-spacing: .16em; text-transform: uppercase; color: var(--brass-light); }
/* Med tegningen: datoen som et lille hvidt kort i hjørnet */
.billet--billede .billet__side { align-items: flex-end; justify-content: flex-start; min-height: 210px; }
.billet--billede .billet__dato { padding: 10px 14px 9px; border-radius: 12px; background: var(--white); color: var(--forest); box-shadow: 0 6px 20px rgba(0, 0, 0, .18); }
.billet--billede .billet__dag { font-size: 2.1rem; }
.billet--billede .billet__maaned { margin-top: 4px; font-size: .68rem; color: var(--muted); }
.billet__indhold { display: grid; gap: 18px; align-content: center; padding: 22px 20px 24px; }
.billet__indhold > .event-past-note { margin: 0; }
.billet__tekst > :first-child { margin-top: 0; }
.billet__tekst > :last-child { margin-bottom: 0; }
.billet__tekst h2, .billet__tekst h3, .billet__tekst h4 { margin: 0 0 .25em; font-size: 1.35rem; }
.billet__tekst p { margin: 0 0 .35em; font-size: 1.15rem; font-weight: 500; line-height: 1.5; color: var(--forest); }
.fakta { display: grid; margin: 0; border-top: 1px solid var(--line); }
.fakta__punkt { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.fakta dt { display: flex; align-items: flex-start; gap: 8px; padding-top: 2px; font-size: .92rem; font-weight: 600; color: var(--forest); }
.fakta dt .ikon { flex: none; color: var(--brass); }
.fakta dd { margin: 0; }
.fakta strong { font-size: 1.05rem; }
.billet__knapper { display: grid; gap: 10px; }
.billet__knapper .badge--sold { margin: 0; padding: .8em 1em; font-size: 1rem; text-align: center; }
@media (min-width: 640px) {
  .billet__knapper { grid-auto-flow: column; justify-content: start; }
  .billet__knapper .btn--block { width: auto; }
}
@media (min-width: 760px) {
  .billet { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .billet__side { min-height: 280px; padding: 24px; }
  .billet--billede .billet__side { min-height: 320px; }
  .billet__indhold { padding: 34px 38px; }
}

.flere-arrangementer { margin: 16px 0 56px; padding-top: 32px; border-top: 1px solid var(--line); }
.flere-arrangementer .section-title { font-size: clamp(1.4rem, 4vw, 1.8rem); }
.flere-nyheder { margin: 16px 0 56px; padding-top: 32px; border-top: 1px solid var(--line); }
.flere-nyheder .section-title { font-size: clamp(1.4rem, 4vw, 1.8rem); }
.flere-nyheder .kort { margin-bottom: 0; }
.page--event-kort + .wrap .flere-arrangementer { border-top: 0; padding-top: 8px; }

/* ---------- formularer */
.form { margin-top: 2em; padding: 22px 18px; border-radius: var(--radius); background: var(--paper); border: 1px solid var(--line); display: grid; gap: 16px; }
@media (min-width: 640px) { .form { padding: 32px; max-width: 640px; } }
.form h2 { margin: 0; }
.form label { display: grid; gap: 6px; font-weight: 600; font-size: .95rem; }
.form small { font-weight: 400; color: var(--muted); }
.form .kraevet { color: #a4372b; font-weight: 700; }
.form__note { margin: -4px 0 0; font-size: .9rem; color: var(--muted); }
.form input:user-invalid { border-color: #a4372b; }
.form input, .form select, .form textarea { font: inherit; font-size: 1rem; min-height: 48px; padding: 12px 14px; border: 1px solid #cfc6b0; border-radius: var(--radius-sm); background: var(--white); width: 100%; }
.form input:focus, .form select:focus, .form textarea:focus { outline: 2px solid var(--brass); border-color: var(--brass); }
.form .hp { position: absolute; left: -9999px; }
/* Koden og "Skrevet af" nederst på et arrangement: lille og stille */
.event-kode { margin: 1.4em 0 0; font-size: .8rem; color: var(--muted); letter-spacing: .01em; }
.billet .event-kode { margin-top: 1em; }
/* Felter side om side (postnummer og by); på en smal skærm under hinanden */
.form__raekke { display: grid; gap: 16px; }
@media (min-width: 480px) { .form__raekke { grid-template-columns: minmax(7.5em, 1fr) 3fr; } }
.form__actions { display: flex; gap: 12px; flex-wrap: wrap; }
@media (max-width: 639px) { .form__actions .btn { width: 100%; } }

/* ---------- den lille tilmelding til nyhedsbrevet: bevidst stillere end "Bliv medlem" (hvid, grøn knap) */
.nyhedsbrev-boks { display: grid; gap: 16px; margin: 40px 0 56px; padding: 22px 18px; background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--forest); border-radius: var(--radius); }
.nyhedsbrev-boks h2 { margin: 0 0 .25em; font-size: clamp(1.25rem, 3.5vw, 1.5rem); }
.nyhedsbrev-boks__tekst p { margin: 0; color: var(--muted); max-width: 52ch; }
.nyhedsbrev-boks__form { display: grid; gap: 10px; }
.nyhedsbrev-boks__form label { display: grid; gap: 4px; font-weight: 600; font-size: .88rem; }
.nyhedsbrev-boks__form input { font: inherit; font-size: 1rem; min-height: 48px; padding: 10px 14px; border: 1px solid #cfc6b0; border-radius: var(--radius-sm); background: var(--white); width: 100%; }
.nyhedsbrev-boks__form input:focus { outline: 2px solid var(--forest); border-color: var(--forest); }
.nyhedsbrev-boks__form .hp { position: absolute; left: -9999px; }
.nyhedsbrev-boks__form .note { grid-column: 1 / -1; margin: 0; background: var(--cream); border-radius: var(--radius-sm); padding: 10px 14px; font-weight: 600; }
@media (min-width: 640px) { .nyhedsbrev-boks { padding: 28px 32px; } .nyhedsbrev-boks__form { grid-template-columns: 1fr 1fr auto; align-items: end; } }
@media (min-width: 1024px) { .nyhedsbrev-boks { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); align-items: center; gap: 32px; } }
.nyhedsbrev-band { padding-block: 8px; }
.nyhedsbrev-band .nyhedsbrev-boks { margin: 40px 0 0; }

/* ---------- "Bliv medlem" nederst på siderne */
.cta-band { background: var(--paper); border-top: 1px solid var(--line); padding-block: 40px; }
.cta-band__inner { display: grid; gap: 16px; }
.cta-band h2 { margin: 0; }
.cta-band p { margin: 0; color: var(--muted); max-width: 60ch; }
.cta-band__actions { display: flex; flex-direction: column; gap: 10px; }
@media (min-width: 640px) { .cta-band__actions { flex-direction: row; flex-wrap: wrap; } }
@media (min-width: 1024px) { .cta-band { padding-block: 56px; } .cta-band__inner { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 32px; } }

/* ---------- bunden */
.foot { background: var(--forest-3); color: rgba(255,255,255,.82); padding-top: 44px; font-size: .95rem; }
.foot a { color: var(--white); text-decoration: none; }
.foot a:hover { text-decoration: underline; color: var(--brass-light); }
.foot__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 24px; padding-bottom: 36px; }
.foot__grid > :first-child { grid-column: 1 / -1; }
.foot__logo { width: 52px; height: 52px; object-fit: contain; }
.foot__name { font-family: var(--font-head); font-style: italic; font-size: 1.25rem; color: var(--white); margin: .5em 0; }
.foot__h { color: var(--brass-light); font-family: var(--font-body); font-size: .76rem; text-transform: uppercase; letter-spacing: .14em; margin-bottom: 12px; }
.foot__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.foot__links a { display: inline-flex; min-height: 36px; align-items: center; }
.foot__bottom { border-top: 1px solid rgba(255,255,255,.1); padding-block: 18px 28px; font-size: .85rem; color: rgba(255,255,255,.6); }
@media (min-width: 900px) { .foot { padding-top: 64px; } .foot__grid { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; } .foot__grid > :first-child { grid-column: auto; } }

/* ---------- bevægelse
   Forsiden: billedet zoomer langsomt ud, og titel, knapper og genveje glider ind. På alle sider glider
   sidens top ind, og længere nede glider overskrifter og kort ind, når man ruller ned til dem (sjf.js
   sætter .reveal på det, der endnu ikke kan ses). Alt er slået fra, hvis man har bedt om mindre bevægelse. */
@keyframes sjf-op { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes sjf-op-lidt { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes sjf-frem { from { opacity: 0; } to { opacity: 1; } }
/* Billedet får sit eget lag (will-change), så det glider jævnt i stedet for at hoppe en pixel ad gangen,
   og det slutter på scale3d(1, 1, 1) i stedet for "none", så det ikke tegnes om til sidst. */
@keyframes sjf-zoom { from { transform: scale3d(1.1, 1.1, 1); } to { transform: scale3d(1, 1, 1); } }
@keyframes sjf-puls { 0% { box-shadow: 0 0 0 0 rgba(106, 208, 138, .55); } 70%, 100% { box-shadow: 0 0 0 12px rgba(106, 208, 138, 0); } }
:root { --glid: cubic-bezier(.2, .7, .2, 1); }

.hero .wp-block-gallery.has-nested-images.hero__slides figure.wp-block-image img { animation: sjf-zoom 14s cubic-bezier(.3, .2, .3, 1) both; will-change: transform; backface-visibility: hidden; transform-origin: 50% 50%; }
.hero__title { animation: sjf-op .9s var(--glid) .15s both; }
.hero__sub { animation: sjf-op .9s var(--glid) .3s both; }
.hero__actions { animation: sjf-op .9s var(--glid) .45s both; }
.genvej { animation: sjf-op .7s var(--glid) .6s both; }
.genvej:nth-child(2) { animation-delay: .68s; }
.genvej:nth-child(3) { animation-delay: .76s; }
.genvej:nth-child(4) { animation-delay: .84s; }
.page-head .eyebrow, .page-head h1, .page-head h1 ~ * { animation: sjf-op .7s var(--glid) both; }
.page-head h1 { animation-delay: .06s; }
.page-head h1 ~ * { animation-delay: .14s; }
.page-head::after { animation: sjf-frem 1.4s ease-out both; }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--glid), transform .8s var(--glid); transition-delay: var(--forsinkelse, 0s); }
.reveal.is-visible { opacity: 1; transform: none; }

/* Små bevægelser, når man peger eller trykker */
.btn:active, .wp-block-button .wp-block-button__link:active { transform: translateY(0) scale(.98); }
/* Pilen bliver på linje med ordet foran (et inline-block kunne komme på en linje for sig selv) */
.genvej strong::after { position: relative; left: 0; transition: left .2s ease; }
.genvej a:hover strong::after { left: 4px; }
.undersider a::after { transition: transform .2s ease; }
.undersider a:hover::after { transform: translateX(4px); }
.offer { transition: transform .25s ease, box-shadow .25s ease; }
.offer:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.offer__img { overflow: hidden; }
.offer__img img { transition: transform .7s var(--glid); }
.offer:hover .offer__img img { transform: scale(1.05); }
.event__date { transition: background .2s ease; }
.event__link:hover .event__date { background: var(--brass-2); }
.card a { transition: transform .2s ease, box-shadow .2s ease; }
.card a:hover { box-shadow: var(--shadow-lift); }
.sponsors a { transition: transform .2s ease, box-shadow .2s ease; }
.sponsors a:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.range__img img { transition: transform .7s var(--glid); }
.range__img:hover img { transform: scale(1.02); }
p.status::before { animation: sjf-puls 2.4s ease-out infinite; }
p.status--delvis::before, p.status--lukket::before { animation: none; }
.nav__btn[aria-expanded="true"] + .nav__sub { animation: sjf-op-lidt .2s ease-out; }
.lightbox[open], .lightbox[open]::backdrop { animation: sjf-frem .25s ease-out; }
@media (max-width: 1179px) {
  .nav.is-open { animation: sjf-frem .2s ease-out; }
  .nav.is-open .nav__list > li, .nav.is-open .nav__kontakt { animation: sjf-op-lidt .35s var(--glid) both; }
  .nav.is-open .nav__list > li:nth-child(2) { animation-delay: .03s; }
  .nav.is-open .nav__list > li:nth-child(3) { animation-delay: .06s; }
  .nav.is-open .nav__list > li:nth-child(4) { animation-delay: .09s; }
  .nav.is-open .nav__list > li:nth-child(5) { animation-delay: .12s; }
  .nav.is-open .nav__list > li:nth-child(6) { animation-delay: .15s; }
  .nav.is-open .nav__list > li:nth-child(n+7) { animation-delay: .18s; }
  .nav.is-open .nav__kontakt { animation-delay: .22s; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1; transform: none; }
}

@media print {
  .top, .foot, .sektion, .cta-band, .event-cta, .event-side .btn, .hero__controls { display: none !important; }
  .page-head { background: none; color: var(--ink); padding: 0; }
  .page-head h1, .page-head p { color: var(--ink); }
  .reveal { opacity: 1 !important; transform: none !important; }
  * { animation: none !important; }
}

/* ---------- søgning */
.soeg__form { display: flex; gap: 10px; max-width: 720px; }
.soeg__felt { flex: 1; min-width: 0; font: inherit; font-size: 1.05rem; min-height: 52px; padding: 12px 16px; border: 1px solid #cfc6b0; border-radius: 999px; background: var(--white); }
.soeg__felt:focus { outline: 2px solid var(--brass); border-color: var(--brass); }
.soeg__form .btn { flex: none; min-height: 52px; }
.soeg__antal { margin: 1.6em 0 1em; color: var(--muted); }
.soeg__liste { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; max-width: 820px; }
.soeg__punkt a { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); color: var(--ink); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.soeg__punkt a:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.soeg__type { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--brass-2); }
.soeg__titel { font-family: var(--font-head); font-size: 1.2rem; font-weight: 600; color: var(--forest); line-height: 1.25; }
.soeg__tekst { color: var(--muted); font-size: .95rem; }
@media (prefers-reduced-motion: reduce) { .soeg__punkt a, .soeg__punkt a:hover { transition: none; transform: none; } }

/* "Send bekræftelsesmailen igen" på siden Tjek din mail */
.gensend { margin-top: 1.5em; }
.gensend p { margin: 0 0 .5em; }
