/* Vorstandsseite: Farb- und Typografiesystem des Vereinsauftritts, kompakt und responsiv. */
main.wrap.content:has(.gv-board-page) { padding-top: clamp(2rem, 4vw, 3rem); padding-bottom: 4rem; }
main.wrap.content:has(.gv-board-page) > article { width: 100%; max-width: none; }
main.wrap.content:has(.gv-board-page) > article > .eyebrow { margin: 0 0 .75rem; }
main.wrap.content:has(.gv-board-page) > article > h1 {
  max-width: none;
  margin: 0 0 1.75rem;
  font-size: clamp(2.5rem, 4.5vw, 3.75rem);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.gv-board-page {
  box-sizing: border-box;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 0 1rem;
  color: #233a2d;
  font: 1rem/1.65 system-ui, sans-serif;
}
.gv-board-intro { max-width: 72ch; margin: 0 0 2rem; color: #4d5c52; font-size: 1rem; }
.gv-board-page h2 {
  margin: 2.25rem 0 1rem;
  color: #233a2d;
  font: 400 clamp(1.5rem, 2vw, 1.8rem)/1.25 Georgia, serif;
  letter-spacing: -.02em;
}
.gv-board-page h2:first-of-type { margin-top: 0; }
.gv-board-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gv-board-card {
  display: grid;
  grid-template-columns: minmax(88px, .618fr) minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 1rem;
  align-items: center;
  min-width: 0;
  padding: .75rem;
  background: #fffdf7;
  border: 1px solid #d8dccb;
  border-radius: 8px;
  box-shadow: 0 3px 12px rgb(36 72 48 / 6%);
}
.gv-board-card img,
.gv-board-placeholder {
  display: block;
  grid-row: 1 / span 2;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 22%;
  border-radius: 5px;
  background: #edf2d7;
}
.gv-board-placeholder {
  display: grid;
  place-items: center;
  color: #214f3d;
  background: #edf2d7;
}
.gv-board-placeholder span {
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border: 1px solid #cbd5c2;
  border-radius: 50%;
  background: #fffdf7;
  font: 400 1.25rem/1 Georgia, serif;
  letter-spacing: .04em;
}
.gv-board-card h3 {
  align-self: end;
  margin: 0 0 .25rem;
  color: #214f3d;
  font: 650 1.125rem/1.35 system-ui, sans-serif;
  letter-spacing: 0;
}
.gv-board-card p { align-self: start; margin: 0; color: #46574c; font: .95rem/1.45 system-ui, sans-serif; }
@media (max-width: 980px) {
  .gv-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  main.wrap.content:has(.gv-board-page) { padding-top: 1.75rem; padding-bottom: 3rem; }
  main.wrap.content:has(.gv-board-page) > article > h1 { margin-bottom: 1.5rem; font-size: 2.5rem; }
  .gv-board-intro { margin-bottom: 1.5rem; }
  .gv-board-page h2 { margin: 2rem 0 .9rem; }
  .gv-board-grid { grid-template-columns: 1fr; gap: .75rem; }
  .gv-board-card { grid-template-columns: 92px minmax(0, 1fr); column-gap: .9rem; padding: .65rem; }
}


/* Websiteweite Typografieskala: gleiche Größenlogik in öffentlichen Seiten und Mitgliederbereich. */
:root {
  --gv-type-body: 1.0625rem;
  --gv-type-h1: clamp(2.5rem, 4vw, 4rem);
  --gv-type-h2: clamp(1.8rem, 2.6vw, 2.5rem);
  --gv-type-h3: clamp(1.4rem, 1.9vw, 1.8rem);
  --gv-type-h4: 1.25rem;
  --gv-type-small: .875rem;
  --gv-leading-body: 1.7;
}
body { font-size: var(--gv-type-body); line-height: var(--gv-leading-body); }
header nav a { font-size: .9375rem; }
footer { font-size: var(--gv-type-small); line-height: 1.6; }
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) {
  width: 100%; max-width: 960px; margin-inline: auto;
}
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) > h1 {
  max-width: 20ch; margin: .1em 0 .55em; font-size: var(--gv-type-h1);
  line-height: 1.08; letter-spacing: -.035em;
}
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) :is(h2,h3,h4) {
  color: #233a2d; letter-spacing: -.02em;
}
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) > h2,
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) h2 {
  max-width: 30ch; margin: 1.6em 0 .65em;
  font: 400 var(--gv-type-h2)/1.2 Georgia, serif;
}
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) h3 {
  margin: 1.5em 0 .55em; font: 400 var(--gv-type-h3)/1.3 Georgia, serif;
}
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) h4 {
  margin: 1.25em 0 .45em; font: 600 var(--gv-type-h4)/1.35 system-ui, sans-serif;
}
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) :is(p:not(.eyebrow),li) {
  max-width: 74ch; font-size: var(--gv-type-body); line-height: 1.75;
}
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) > p:not(.eyebrow) { margin: 0 0 1.15em; }
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) :is(summary,label,th,td) { font-size: 1rem; line-height: 1.6; }
#gv-app { font-size: var(--gv-type-body); line-height: var(--gv-leading-body); }
#gv-app h2 { font-size: var(--gv-type-h2); line-height: 1.2; }
#gv-app h3 { font-size: var(--gv-type-h3); line-height: 1.3; }
#gv-app h4 { font-size: var(--gv-type-h4); line-height: 1.35; }
#gv-app small { font-size: var(--gv-type-small); line-height: 1.45; }
.gv-board-page { font-size: var(--gv-type-body); line-height: var(--gv-leading-body); }
.gv-board-intro { font-size: var(--gv-type-body); }
.gv-board-page h2 { font-size: var(--gv-type-h2); line-height: 1.2; }
.gv-board-card h3 { font-size: 1.125rem; }
.gv-board-card p { font-size: .9375rem; }
.gv-event small { font-size: .8125rem; }
.gv-calendar-event { font-size: 12px !important; }
.gv-calendar-list-item .gv-calendar-event { font-size: 15px !important; }
.gv-bubble button, .gv-tabs button, .gv-global-search button { font-size: .875rem; }
.gv-registered { font-size: .875rem; }
.source, .history-pages figcaption { font-size: .8125rem; }
.history-jump a { font-size: .875rem; }
@media (max-width: 650px) {
  :root { --gv-type-body: 1rem; --gv-type-h1: clamp(2.25rem, 9vw, 3.1rem); --gv-type-h2: clamp(1.65rem, 6vw, 2rem); --gv-type-h3: clamp(1.35rem, 5vw, 1.55rem); --gv-type-h4: 1.125rem; --gv-type-small: .8125rem; }
  header nav a { font-size: .875rem; }
  footer { font-size: .8125rem; }
  main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) > h1 { max-width: 17ch; }
  .gv-calendar-event { font-size: 11px !important; }
  .gv-tabs button, .gv-bubble button, .gv-global-search button { font-size: .875rem; }
}

/* Kolonie-Seite: redaktionelles, responsives Layout mit großzügigem Zeilenmaß. */
.gv-colony-page { --colony-ink:#233a2d; --colony-leaf:#557440; --colony-paper:#f7f4e8; color:var(--colony-ink); }
.gv-colony-page :is(h2,h3,p) { max-width:none!important; }
.gv-colony-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding:clamp(1.5rem,4vw,3.5rem) 0 2rem; }
.gv-colony-hero > :not(.gv-colony-hero-image) { grid-column:1; }
.gv-colony-hero-image { grid-column:2; grid-row:1 / span 3; margin:0; }
.gv-colony-hero-image img,.gv-colony-today img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:14px; box-shadow:0 18px 50px rgb(35 58 45 / 14%); }
.gv-colony-kicker { margin:0 0 .75rem!important; color:var(--colony-leaf); font-size:.78rem!important; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.gv-colony-page .gv-colony-hero h2 { margin:0!important; font:400 clamp(2.3rem,5vw,4.5rem)/1.05 Georgia,serif!important; letter-spacing:-.04em; }
.gv-colony-lead { margin:.5rem 0 0!important; max-width:42ch!important; color:#536158; font-size:clamp(1.1rem,1.6vw,1.35rem)!important; line-height:1.65!important; }
.gv-colony-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1rem 0 clamp(3rem,7vw,6rem); border-block:1px solid #d9ddcc; }
.gv-colony-stats article { display:grid; gap:.35rem; padding:1.4rem clamp(.8rem,2vw,2rem); border-right:1px solid #d9ddcc; }
.gv-colony-stats article:last-child { border:0; }
.gv-colony-stats strong { color:var(--colony-leaf); font:400 clamp(1.8rem,3vw,2.6rem)/1.1 Georgia,serif; }
.gv-colony-stats span { color:#536158; font-size:.95rem; }
.gv-colony-history { max-width:850px; margin:0 auto clamp(3rem,7vw,6rem); }
.gv-colony-page .gv-colony-history h2,.gv-colony-page .gv-colony-today h2 { margin:.1rem 0 2rem!important; font:400 clamp(1.9rem,3vw,2.8rem)/1.15 Georgia,serif!important; letter-spacing:-.03em; }
.gv-colony-timeline { border-left:1px solid #b8c4a7; }
.gv-colony-timeline article { display:grid; grid-template-columns:100px minmax(0,1fr); gap:1rem; padding:0 0 2rem 1.5rem; position:relative; }
.gv-colony-timeline article:before { content:""; position:absolute; width:10px; height:10px; left:-5.5px; top:.45rem; border-radius:50%; background:#66864d; box-shadow:0 0 0 5px var(--colony-paper); }
.gv-colony-timeline article>span { color:var(--colony-leaf); font-weight:700; }
.gv-colony-timeline h3 { margin:0 0 .4rem!important; font:600 1.12rem/1.4 system-ui,sans-serif!important; }
.gv-colony-timeline p { margin:0!important; color:#536158; }
.gv-colony-today { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem); align-items:center; padding:clamp(1.5rem,4vw,3rem); background:#eef2e4; border-radius:16px; }
.gv-colony-today figure { margin:0; }
.gv-colony-today h2 { margin-bottom:1rem!important; }
.gv-colony-today p:not(.gv-colony-kicker) { margin:0 0 1rem!important; }
@media(max-width:720px){.gv-colony-hero,.gv-colony-today{grid-template-columns:1fr}.gv-colony-hero-image{grid-column:1;grid-row:auto;order:2}.gv-colony-stats{grid-template-columns:1fr}.gv-colony-stats article{border-right:0;border-bottom:1px solid #d9ddcc}.gv-colony-stats article:last-child{border:0}.gv-colony-timeline article{grid-template-columns:64px minmax(0,1fr);gap:.5rem;padding-left:1rem}}
/* Calendar categories: assemblies stand apart from social events and office hours. */
.gv-calendar-event.gv-type-meeting,.gv-event.gv-type-meeting{background:#e8d8b5!important;color:#493b23!important;border-left-color:#a57936!important}
.gv-calendar-event.gv-type-celebration,.gv-event.gv-type-celebration{background:#f5dce4!important;color:#692b44!important;border-left-color:#b45177!important}
.gv-calendar-event.gv-type-office,.gv-event.gv-type-office{background:#e5e9e2!important;color:#46554a!important;border-left-color:#849182!important}

/* Repair inherited theme styles that previously made the Kolonie hero stick over the page. */
.gv-colony-page { width:100%; max-width:1120px; margin-inline:auto; }
.gv-colony-hero { position:static!important; inset:auto!important; z-index:auto!important; display:grid!important; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); min-height:0!important; height:auto!important; align-items:center; overflow:visible; }
.gv-colony-hero > * { min-width:0; }
.gv-colony-page .gv-colony-hero h2 { max-width:18ch!important; font-size:clamp(2rem,3.5vw,3.25rem)!important; line-height:1.1!important; }
.gv-colony-page .gv-colony-lead,.gv-colony-page .gv-colony-history p,.gv-colony-page .gv-colony-today p { font-size:var(--gv-type-body)!important; line-height:1.7!important; }
.gv-colony-hero-image img { max-height:390px; }
.gv-colony-stats strong { font-size:clamp(1.6rem,2.4vw,2.2rem); }
.gv-colony-history { width:100%; max-width:880px; }
.gv-colony-timeline { display:block!important; width:100%; }
.gv-colony-timeline article { display:grid!important; grid-template-columns:88px minmax(0,1fr)!important; width:100%!important; max-width:none!important; min-width:0; float:none!important; clear:both; }
.gv-colony-timeline article>div { display:block; width:100%; min-width:0; }
.gv-colony-page .gv-colony-timeline p { max-width:72ch!important; }
.gv-colony-today { width:100%; }
.gv-colony-today > * { min-width:0; }
.gv-colony-page .gv-colony-today h2,.gv-colony-page .gv-colony-history h2 { font-size:clamp(1.8rem,2.7vw,2.45rem)!important; line-height:1.18!important; }
.gv-application-page { width:100%; max-width:900px; margin:0 auto; color:#233a2d; }
.gv-application-page h2 { margin:.1rem 0 1rem!important; max-width:none!important; font:400 clamp(2rem,3.4vw,3.1rem)/1.12 Georgia,serif!important; letter-spacing:-.03em; }
.gv-application-lead { max-width:62ch!important; margin:0 0 1.5rem!important; color:#536158; font-size:clamp(1.1rem,1.6vw,1.25rem)!important; line-height:1.7!important; }
.gv-application-callout { margin:1.5rem 0 2rem; padding:1.1rem 1.35rem; background:#eef2e4; border-left:4px solid #66864d; border-radius:0 8px 8px 0; line-height:1.65; }
.gv-application-steps, .gv-application-steps > li { list-style:none!important; }
.gv-application-steps > li::marker { content:""!important; }
.gv-application-steps { display:grid; gap:0; margin:0; padding:0; list-style:none; border-top:1px solid #d8dccb; }
.gv-application-steps li { display:grid; grid-template-columns:3.5rem minmax(0,1fr); gap:1rem; padding:1.4rem 0; border-bottom:1px solid #d8dccb; }
.gv-application-steps li>span { color:#66864d; font:400 1.4rem/1.4 Georgia,serif; }
.gv-application-steps h3 { margin:0 0 .35rem!important; font:600 1.125rem/1.4 system-ui,sans-serif!important; }
.gv-application-steps p { max-width:70ch!important; margin:0 0 .5rem!important; font-size:var(--gv-type-body)!important; line-height:1.7!important; }
.gv-application-link { display:inline-block; margin-top:.25rem; font-weight:650; text-underline-offset:.15em; }
.gv-application-footnote { margin:1.5rem 0 0!important; color:#536158; font-size:.9rem!important; line-height:1.65!important; }
/* Legacy fixed-width attributes and floated images must stay inside the shared reading grid. */
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) [style*="width"] { width:auto!important; max-width:100%!important; }
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) table[width] { width:100%!important; }
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) img[align] { float:none!important; display:block; max-width:min(100%,38rem); height:auto; margin:1.25rem 0; }
main.wrap.content > article:not(:has(#gv-app)):not(:has(.gv-board-page)) :is(p,li) { overflow-wrap:break-word; }
@media(max-width:720px){
 .gv-colony-page,.gv-application-page { width:100%; }
 .gv-colony-hero,.gv-colony-today { grid-template-columns:minmax(0,1fr)!important; gap:1.5rem; }
 .gv-colony-hero-image { grid-column:1!important; grid-row:auto!important; order:4; }
 .gv-colony-hero-image img { max-height:none; }
 .gv-colony-stats { grid-template-columns:1fr; }
 .gv-colony-stats article { border-right:0; border-bottom:1px solid #d9ddcc; }
 .gv-colony-stats article:last-child { border:0; }
 .gv-colony-timeline article { grid-template-columns:3.5rem minmax(0,1fr)!important; gap:.65rem; padding-left:1rem; }
 .gv-application-steps li { grid-template-columns:2.5rem minmax(0,1fr); gap:.6rem; }
}

/* Hydranten: kompakter Informationsblock innerhalb der Koloniegeschichte. */
.gv-hydrants { display: grid; grid-template-columns: minmax(15rem, .72fr) minmax(0, 1.28fr); gap: clamp(1.25rem, 3vw, 2.5rem); align-items: center; margin: clamp(2rem, 5vw, 4rem) 0 1rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #d9ddcc; border-left: 5px solid #70883b; border-radius: 10px; background: #f1f4e8; }
.gv-hydrants-copy h2 { margin: 0 0 .75rem !important; font: 400 clamp(1.5rem, 2.5vw, 2rem)/1.2 Georgia, serif !important; }
.gv-hydrants-copy > p:last-child { margin: 0; color: #46574c; font-size: 1rem; line-height: 1.65; }
.gv-hydrants-map { display: block; min-width: 0; }
.gv-hydrants-map img { display: block; width: 100%; height: auto; max-height: 34rem; object-fit: contain; background: #fff; border: 1px solid #e1e2d8; border-radius: 6px; }
@media (max-width: 700px) { .gv-hydrants { grid-template-columns: 1fr; gap: 1rem; } }

/* Release 5.4.34: repair readable widths, duplicate page heading and visual priority. */
main.wrap.content > article:has(.gv-application-page) > h1 {
  max-width: none !important;
  width: 100%;
  margin-bottom: 1rem;
  font-size: clamp(2.2rem, 3.4vw, 3.4rem);
  line-height: 1.12;
  text-wrap: balance;
}
.gv-application-page { max-width: 900px; }
.gv-application-page > h2 { display: none !important; }
.gv-application-callout {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  align-items: start;
  gap: .25rem .7rem;
  margin: 1.5rem 0 2rem;
  padding: 1.15rem 1.35rem;
  color: #70251f;
  background: #fff0ed;
  border: 1px solid #e4b5ad;
  border-left: 6px solid #ad3429;
  border-radius: 0 8px 8px 0;
  font-weight: 650;
}
.gv-application-callout strong { color: #92271e; font-weight: 800; }
.gv-application-callout span { font-weight: 750; }
.gv-colony-page { box-sizing: border-box; width: 100% !important; max-width: 1120px !important; margin-inline: auto !important; }
.gv-colony-hero { box-sizing: border-box; width: 100% !important; min-width: 0 !important; grid-template-columns: minmax(0,1fr) minmax(0,.94fr) !important; gap: clamp(1.5rem,4vw,3.5rem) !important; }
.gv-colony-page .gv-colony-hero h2 { width: 100% !important; max-width: 16ch !important; font-size: clamp(2.1rem,3.4vw,3.15rem) !important; line-height: 1.12 !important; text-wrap: balance; }
.gv-colony-history { display: block !important; box-sizing: border-box !important; width: 100% !important; max-width: 900px !important; min-width: 0 !important; margin-inline: auto !important; }
.gv-colony-timeline { display: block !important; box-sizing: border-box !important; width: 100% !important; min-width: 0 !important; }
.gv-colony-timeline article { display: flex !important; align-items: flex-start !important; gap: 1.25rem !important; box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; min-width: 0 !important; float: none !important; clear: both; }
.gv-colony-timeline article > span { display: block; flex: 0 0 5rem; width: 5rem; }
.gv-colony-timeline article > div { display: block !important; flex: 1 1 0% !important; box-sizing: border-box !important; width: auto !important; max-width: none !important; min-width: 0 !important; }
.gv-colony-page .gv-colony-timeline h3 { font-size: 1.125rem !important; line-height: 1.4 !important; }
.gv-colony-page .gv-colony-timeline p { width: 100% !important; max-width: 72ch !important; font-size: var(--gv-type-body) !important; line-height: 1.7 !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: none !important; }
.gv-hydrants-copy > p:last-child br { display: block; }
.gv-site-quick-nav { position: fixed; z-index: 998; inset: var(--gv-quick-nav-top, 0px) 0 auto; display: flex; justify-content: center; padding: .6rem 1rem; background: rgb(246 243 231 / 97%); border-block: 1px solid #d9ddcc; box-shadow: 0 8px 20px rgb(35 58 45 / 9%); transform: translateY(-130%); opacity: 0; visibility: hidden; transition: transform .22s ease, opacity .22s ease, visibility .22s ease; }
.gv-site-quick-nav.is-visible { transform: translateY(0); opacity: 1; visibility: visible; }
.gv-site-quick-nav__links { display: flex; align-items: center; justify-content: center; gap: .35rem; width: min(100%, 1180px); overflow-x: auto; scrollbar-width: thin; }
.gv-site-quick-nav a { flex: 0 0 auto; padding: .5rem .7rem; color: #234b39; border-radius: 5px; font: 600 .9rem/1.2 system-ui,sans-serif; text-decoration: none; white-space: nowrap; }
.gv-site-quick-nav a:hover,.gv-site-quick-nav a:focus-visible,.gv-site-quick-nav a[aria-current="page"] { background: #e6eddd; outline-color: #426e59; }
@media (max-width: 720px) {
  .gv-application-callout { grid-template-columns: 1fr; gap: .3rem; }
  .gv-colony-page .gv-colony-hero { grid-template-columns: minmax(0,1fr) !important; }
  .gv-colony-page .gv-colony-hero h2 { max-width: 18ch !important; }
  .gv-colony-timeline article { gap: .7rem !important; }
  .gv-colony-timeline article > span { flex-basis: 3.5rem; width: 3.5rem; }
  .gv-site-quick-nav { justify-content: flex-start; padding: .4rem .5rem; }
  .gv-site-quick-nav__links { justify-content: flex-start; gap: .15rem; }
  .gv-site-quick-nav a { padding: .55rem .6rem; font-size: .84rem; }
}
@media (prefers-reduced-motion: reduce) { .gv-site-quick-nav { transition: none; } }

.gv-site-quick-nav__label { flex:0 0 auto; padding:.5rem .65rem; color:#687467; font:700 .72rem/1.2 system-ui,sans-serif; letter-spacing:.09em; text-transform:uppercase; }
@media(max-width:720px){.gv-site-quick-nav__label{display:none}}


/* 5.4.36: consistent public-page grid, typography, navigation and print details. */
.gv-site-quick-nav { position: sticky; inset: auto; top: var(--gv-quick-nav-top, 0px); transform: none; opacity: 1; visibility: visible; padding: .45rem 1rem; background: rgb(255 250 238 / 98%); border: 0; border-bottom: 1px solid #dedacb; box-shadow: 0 4px 14px rgb(35 58 45 / 7%); }
.gv-site-quick-nav.is-visible { transform: none; opacity: 1; visibility: visible; }
.gv-site-quick-nav__links { flex-wrap: nowrap; }
.gv-site-quick-nav a { font-size: .92rem; }
.gv-site-quick-nav a[href*="#gartenwissen"] { color:#52733e; }
.gv-colony-page { width:min(100%,1120px)!important; max-width:1120px!important; margin-inline:auto!important; padding-inline:clamp(1rem,3vw,2rem); box-sizing:border-box!important; }
.gv-colony-history { display:block!important; width:100%!important; max-width:900px!important; margin-inline:auto!important; }
.gv-colony-timeline { display:block!important; width:100%!important; min-width:0!important; }
.gv-colony-timeline article { display:grid!important; grid-template-columns:minmax(4.5rem,6rem) minmax(0,1fr)!important; align-items:start!important; gap:1rem!important; width:100%!important; max-width:none!important; min-width:0!important; box-sizing:border-box!important; }
.gv-colony-timeline article>span { width:auto!important; min-width:0!important; }
.gv-colony-timeline article>div { min-width:0!important; width:auto!important; }
.gv-colony-timeline p { max-width:70ch!important; width:auto!important; overflow-wrap:break-word!important; word-break:normal!important; hyphens:auto!important; }
.gv-board-page { width:100%!important; max-width:1120px!important; margin-inline:auto!important; }
.gv-board-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.8rem,1.5vw,1.25rem); }
.gv-board-leadership { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; }
.gv-board-card { grid-template-columns:minmax(6rem,8.5rem) minmax(0,1fr)!important; grid-template-rows:auto auto!important; align-content:center; min-height:11rem; padding:1rem; gap:.15rem 1rem; }
.gv-board-card img,.gv-board-card .gv-board-placeholder { grid-column:1!important; grid-row:1 / span 2!important; width:100%!important; height:10rem!important; aspect-ratio:4/5; object-fit:contain!important; object-position:center!important; background:#f2efe3!important; }
.gv-board-card h3 { grid-column:2!important; grid-row:1!important; align-self:end!important; margin:0 0 .25rem!important; font-size:1.1rem!important; line-height:1.35!important; }
.gv-board-card p { grid-column:2!important; grid-row:2!important; align-self:start!important; margin:0!important; font-size:.98rem!important; line-height:1.5!important; }
.gv-board-treasurer { width:calc((100% - 1.25rem)/2); max-width:400px; margin:1rem 0 2.4rem; }
.gv-board-treasurer { margin-top:1rem; }
.gv-application-callout { color:#70251f!important; background:#fff0ed!important; border:1px solid #e4b5ad!important; border-left:6px solid #ad3429!important; }
.gv-application-callout strong { color:#92271e!important; }
.gv-cost-page { width:100%; max-width:920px; margin-inline:auto; }
.gv-cost-note { padding:1rem 1.25rem; border-left:5px solid #ad3429; background:#fff0ed; color:#56322d; border-radius:0 8px 8px 0; }
.gv-cost-page h2 { margin:2rem 0 .8rem!important; font:400 var(--gv-type-h2)/1.2 Georgia,serif!important; }
.gv-cost-table-wrap { width:100%; overflow-x:auto; }
.gv-cost-table { width:100%!important; border-collapse:collapse; table-layout:fixed; }
.gv-cost-table th,.gv-cost-table td { padding:.8rem .9rem!important; border-bottom:1px solid #dedacb; font-size:1rem!important; line-height:1.45!important; }
.gv-cost-table th { width:75%; text-align:left!important; font-weight:500; }
.gv-cost-table td { width:25%; text-align:right!important; white-space:nowrap; font-variant-numeric:tabular-nums; }
.gv-cost-table .gv-cost-total th,.gv-cost-table .gv-cost-total td { border-top:1px solid #6b6c5a; font-weight:750; }
.gv-cost-estimate { display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:.4rem 1rem; margin:1rem 0 2rem!important; padding:1.1rem 1.25rem; background:#eef2e4; border-radius:8px; }
.gv-cost-estimate span { font-weight:700; }
.gv-cost-estimate strong { text-align:right; font-size:1.25rem; }
.gv-cost-estimate small { grid-column:1/-1; color:#59675d; }
.gv-handouts { margin:clamp(2.5rem,6vw,5rem) 0 1rem; padding:clamp(1.2rem,3vw,2rem); border:1px solid #d9ddcc; border-radius:14px; background:#f3f5e9; }
.gv-handouts h2 { margin:.2rem 0 .6rem!important; font:400 var(--gv-type-h2)/1.2 Georgia,serif!important; }
.gv-handout-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin:1.2rem 0 0!important; padding:0!important; list-style:none!important; }
.gv-handout-list li { display:grid; grid-template-columns:3.2rem minmax(0,1fr); gap:.7rem; align-items:center; margin:0!important; padding:.75rem .85rem; background:#fffdf7; border:1px solid #e1e2d8; border-radius:8px; }
.gv-handout-list li>span { color:#66864d; font:400 1.1rem/1.2 Georgia,serif; }
.gv-handout-list a { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem; color:#234b39; font-weight:650; text-decoration:none; }
.gv-handout-list a:hover { text-decoration:underline; text-underline-offset:.15em; }
.gv-handout-list small { color:#687467; font-size:.78rem; font-weight:500; white-space:nowrap; }
@media(max-width:720px){.gv-site-quick-nav{padding:.35rem .4rem}.gv-site-quick-nav__links{justify-content:flex-start;overflow-x:auto}.gv-site-quick-nav a{font-size:.82rem;padding:.5rem .55rem}.gv-colony-timeline article{grid-template-columns:3.75rem minmax(0,1fr)!important;gap:.65rem!important}.gv-board-grid,.gv-board-leadership{grid-template-columns:1fr!important}.gv-board-treasurer{width:100%;max-width:none}.gv-board-card{grid-template-columns:6rem minmax(0,1fr)!important;min-height:8rem;padding:.7rem}.gv-board-card img,.gv-board-card .gv-board-placeholder{height:7rem!important}.gv-handout-list{grid-template-columns:1fr}.gv-cost-estimate{grid-template-columns:1fr}.gv-cost-estimate strong{text-align:left}.gv-cost-table th,.gv-cost-table td{padding:.65rem .5rem!important;font-size:.94rem!important}}
@media print{.gv-site-quick-nav{display:none!important}}

/* 5.5.29: die Kurznavigation bleibt kompakt und verzichtet auf das redundante Label. */
.gv-site-quick-nav { padding:.28rem .75rem; box-shadow:0 2px 8px rgb(35 58 45 / 5%); }
.gv-site-quick-nav a { padding:.36rem .55rem; font-size:.84rem; }
@media(max-width:720px){.gv-site-quick-nav{padding:.22rem .35rem}.gv-site-quick-nav a{padding:.4rem .5rem;font-size:.78rem}}

/* Kolonie-Zeitstrahl: volle Lesebreite statt kollabierender schmaler Spalten. */
.gv-colony-page .gv-colony-history .gv-colony-timeline { display:block!important; width:100%!important; max-width:none!important; min-width:0!important; border:0!important; }
.gv-colony-page .gv-colony-history .gv-colony-timeline > article { display:block!important; position:relative!important; box-sizing:border-box!important; width:100%!important; max-width:none!important; min-width:0!important; margin:0 0 1rem!important; padding:1.1rem 1.35rem!important; float:none!important; clear:both!important; border:1px solid #d9ddcc!important; border-left:5px solid #70883b!important; border-radius:0 8px 8px 0!important; background:#f3f5e9!important; }
.gv-colony-page .gv-colony-history .gv-colony-timeline > article::before { display:none!important; content:none!important; }
.gv-colony-page .gv-colony-history .gv-colony-timeline > article > span { display:block!important; width:auto!important; max-width:none!important; min-width:0!important; margin:0 0 .35rem!important; color:#607944!important; font:700 .9rem/1.4 system-ui,sans-serif!important; }
.gv-colony-page .gv-colony-history .gv-colony-timeline > article > div { display:block!important; width:100%!important; max-width:none!important; min-width:0!important; margin:0!important; }
.gv-colony-page .gv-colony-history .gv-colony-timeline h3 { width:100%!important; max-width:none!important; margin:0 0 .35rem!important; font:600 1.15rem/1.4 system-ui,sans-serif!important; }
.gv-colony-page .gv-colony-history .gv-colony-timeline p { display:block!important; width:100%!important; max-width:72ch!important; min-width:0!important; margin:0!important; overflow-wrap:break-word!important; word-break:normal!important; hyphens:auto!important; }


/* Gartenwissen als gut lesbare Artikel statt PDF-Linkliste. */
.gv-handouts-page,.gv-handout-page { width:min(100%,960px)!important; max-width:960px!important; margin:clamp(1.5rem,4vw,3.5rem) auto!important; padding-inline:clamp(1rem,2.5vw,1.5rem); box-sizing:border-box!important; color:#283b32; font-size:1rem; line-height:1.72; }
.gv-handouts-page h2,.gv-handout-page h2 { margin:.2rem 0 1rem!important; font:400 clamp(1.8rem,3.2vw,2.5rem)/1.18 Georgia,serif!important; color:#203c2f; }
.gv-handouts-page h3,.gv-handout-page h3 { margin:1.6rem 0 .5rem!important; font-size:1.16rem!important; line-height:1.35!important; }
.gv-handouts-page p,.gv-handout-page p,.gv-handouts-page li,.gv-handout-page li { font-size:1rem!important; line-height:1.72!important; overflow-wrap:anywhere; hyphens:auto; }
.gv-handout-index { margin:2rem 0; padding:1.25rem clamp(1rem,3vw,2rem); border:1px solid #d9ddcc; border-radius:12px; background:#f3f5e9; }
.gv-handout-index h3 { margin:0 0 .7rem!important; }
.gv-handout-index ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem 1.5rem; margin:0!important; padding-left:1.6rem!important; }
.gv-handout-index li { margin:0!important; padding:.25rem 0; }
.gv-handout-index a,.gv-handouts-link,.gv-handout-pdf { color:#234b39; text-underline-offset:.18em; }
.gv-handout-caveat { padding:1rem 1.2rem; border-left:5px solid #7b8c4d; border-radius:0 8px 8px 0; background:#eef2e4; }
.gv-handout-page { margin-block:clamp(2rem,5vw,4rem)!important; }
.gv-handout-page+.gv-handout-page { border-top:1px solid #dedacb; padding-top:2rem; }
.gv-handout-source { margin-top:2rem!important; padding-top:1rem; border-top:1px solid #dedacb; font-size:.92rem!important; }
.gv-handout-map { max-width:700px; margin:1.5rem 0; }
.gv-handout-map img { display:block; width:100%; height:auto; border-radius:10px; }
.gv-handouts-link { display:inline-block; margin-top:.65rem; font-weight:700; }
@media(max-width:720px){.gv-handout-index ol{grid-template-columns:1fr}.gv-handouts-page,.gv-handout-page{padding-inline:.4rem}.gv-handout-page h2{font-size:1.8rem!important}}
@media print{.gv-handout-index,.gv-handout-page,.gv-handouts-page{width:100%!important;max-width:none!important;padding:0!important}.gv-handout-source a::after{content:" (" attr(href) ")";font-size:.8em;overflow-wrap:anywhere}}

/* Einheitliches Leselayout für die Gartenwissen-Übersicht und alle Merkblätter. */
main.wrap.content:has(.gv-handouts-page) > article,
main.wrap.content:has(.gv-handout-page) > article {
  width: min(100%, 1160px) !important;
  max-width: 1160px !important;
  margin-inline: auto !important;
}
main.wrap.content:has(.gv-handouts-page) > article > h1,
main.wrap.content:has(.gv-handout-page) > article > h1 {
  max-width: none !important;
  margin: .1em 0 .65em !important;
  font-size: clamp(2.35rem, 4vw, 3.5rem) !important;
  line-height: 1.1 !important;
}
.gv-handouts-page,
.gv-handout-page {
  width: 100% !important;
  max-width: none !important;
  margin: clamp(1.5rem, 3vw, 2.5rem) auto !important;
  padding: 0 clamp(1rem, 2.5vw, 1.75rem) 1.5rem !important;
  box-sizing: border-box !important;
  font-size: 1.0625rem !important;
  line-height: 1.72 !important;
}
.gv-handouts-page h2,
.gv-handout-page h2 {
  max-width: none !important;
  font-size: clamp(1.9rem, 2.8vw, 2.5rem) !important;
  line-height: 1.2 !important;
}
.gv-handout-content :is(p, li),
.gv-handout-intro,
.gv-handout-caveat {
  max-width: 76ch !important;
  font-size: 1.0625rem !important;
  line-height: 1.72 !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
.gv-handout-index ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .55rem 1rem !important;
  padding: 0 !important;
  list-style: none !important;
}
.gv-handout-index li { margin: 0 !important; padding: 0 !important; }
.gv-handout-index li a {
  display: grid !important;
  grid-template-columns: 3.3rem minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: .65rem !important;
  min-height: 3.5rem !important;
  padding: .65rem .8rem !important;
  border: 1px solid #e0e3d7 !important;
  border-radius: 8px !important;
  background: #fffdf7 !important;
  text-decoration: none !important;
}
.gv-handout-index li a:hover { border-color: #748b52 !important; background: #f8f8ee !important; }
.gv-handout-number { color: #66804a; font-weight: 700; font-variant-numeric: tabular-nums; }
.gv-handout-arrow { color: #557440; }
.gv-handout-switch {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .75rem;
  margin: 1.25rem 0 1.75rem;
  padding: .75rem;
  border: 1px solid #d9ddcc;
  border-radius: 10px;
  background: #f2f5e9;
}
.gv-handout-switch a { color: #234b39; text-decoration: none; }
.gv-handout-switch a:hover { text-decoration: underline; text-underline-offset: .16em; }
.gv-handout-switch .gv-handout-prev { text-align: left; }
.gv-handout-switch .gv-handout-next { text-align: right; }
.gv-handout-switch .gv-handout-overview { padding: .55rem .8rem; border-radius: 6px; background: #e6edd9; font-weight: 650; white-space: nowrap; }
.gv-handout-switch small { display: block; color: #617064; font-size: .78rem; line-height: 1.35; }
.gv-handout-switch strong { display: block; font-size: .95rem; line-height: 1.4; }
.gv-handout-rule-note { margin-top: 1.4rem !important; padding: 1rem 1.15rem; border-left: 4px solid #b35a3d; border-radius: 0 8px 8px 0; background: #f8eadb; color: #45443a; }
.gv-board-treasurer .gv-board-card img { object-fit:contain!important; object-position:center!important; }
@media(max-width:720px) {
 .gv-handout-index ul { grid-template-columns: 1fr !important; }
 .gv-handout-switch { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
 .gv-handout-switch .gv-handout-overview { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
 .gv-handout-switch .gv-handout-next { grid-column: 2; }
 .gv-handout-switch .gv-handout-prev { grid-column: 1; }
 .gv-handout-switch strong { font-size: .86rem; }
}

/* Präzise und kompakte Anfahrtsbeschreibung mit den Originalfotos des Vereins. */
.gv-approach{max-width:1120px;margin:1rem 0 2rem;color:#26382e}
.gv-approach-route{margin:0 0 .8rem;padding:1rem 1.2rem;border-left:5px solid #214f3d;border-radius:5px;background:#edf2df;font-size:1.12rem}
.gv-approach-warning{margin:0 0 1.25rem;padding:.9rem 1.1rem;border:1px solid #e0c789;border-radius:6px;background:#fff5d9;color:#4c4330}
.gv-approach-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:0;margin:0;list-style:none;counter-reset:approach}
.gv-approach-steps li{min-width:0;margin:0}
.gv-approach-steps figure{height:100%;margin:0;overflow:hidden;border:1px solid #d8dccb;border-radius:9px;background:#fffdf7;box-shadow:0 3px 12px rgb(36 72 48 / 6%)}
.gv-approach-steps figure>a{display:block;background:#e9eee3}
.gv-approach-steps img{display:block;width:100%;height:clamp(230px,28vw,340px);object-fit:contain}
.gv-approach-steps figcaption{display:flex;gap:.75rem;align-items:flex-start;padding:.8rem .9rem;line-height:1.45}
.gv-approach-number{display:grid;flex:0 0 1.8rem;width:1.8rem;height:1.8rem;place-items:center;border-radius:50%;background:#214f3d;color:#fff;font-weight:700}
.gv-approach-steps figcaption strong{color:#214f3d}
.gv-approach-transit{margin:1rem 0 0;color:#526056}
@media(max-width:850px){.gv-approach-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.gv-approach-steps img{height:clamp(240px,55vw,380px)}}
@media(max-width:560px){.gv-approach-steps{grid-template-columns:1fr}.gv-approach-steps img{height:auto;max-height:72vh;aspect-ratio:9/16}.gv-approach-route{font-size:1rem}}


.gv-application-directions { margin:.35rem 0 1.35rem!important; max-width:62rem!important; }
.gv-application-directions a { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:.18rem 1rem; padding:1rem 3.5rem 1rem 1.15rem; color:#214f3d!important; text-decoration:none!important; background:linear-gradient(110deg,#edf2e5,#f8f6eb 78%); border:1px solid #d8dfca; border-left:5px solid #66864d; border-radius:0 12px 12px 0; box-shadow:0 4px 14px rgba(29,61,43,.07); transition:transform .18s ease,box-shadow .18s ease,background .18s ease; }
.gv-application-directions a:hover,.gv-application-directions a:focus-visible { transform:translateY(-1px); background:#e7efdc; box-shadow:0 8px 20px rgba(29,61,43,.12); outline:2px solid #66864d; outline-offset:2px; }
.gv-application-directions__eyebrow { grid-column:1; color:#68765e; font-size:.72rem; font-weight:750; letter-spacing:.12em; text-transform:uppercase; }
.gv-application-directions strong { grid-column:1; font:600 1.18rem/1.35 system-ui,sans-serif; }
.gv-application-directions__caption { grid-column:1; color:#536158; font-size:.95rem; }
.gv-application-directions__arrow { position:absolute; right:1.2rem; top:50%; transform:translateY(-50%); font:400 1.7rem/1 Georgia,serif; }
@media(max-width:640px){.gv-application-directions a{padding:1rem 3rem 1rem 1rem}.gv-application-directions strong{font-size:1.08rem}}

/* Umgebung und Ausflugsziele */
.gv-neighborhood-page { --neighborhood-ink:#233a2d; --neighborhood-leaf:#557440; width:min(100%,1120px); margin-inline:auto; color:var(--neighborhood-ink); }
.gv-neighborhood-page > h2 { margin:.2rem 0 1rem!important; font:400 clamp(2rem,3.2vw,3rem)/1.12 Georgia,serif!important; letter-spacing:-.03em; }
.gv-neighborhood-page > p:not(.gv-colony-kicker):not(.gv-neighborhood-note) { max-width:78ch; line-height:1.7; }
.gv-neighborhood-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:2rem 0 1.5rem; }
.gv-neighborhood-grid section { min-width:0; padding:1.25rem clamp(1rem,2vw,1.5rem); border:1px solid #dedacb; border-top:4px solid var(--neighborhood-leaf); border-radius:12px; background:#fffdf7; }
.gv-neighborhood-grid h3 { margin:0 0 .75rem!important; color:var(--neighborhood-ink); font-size:1.2rem!important; }
.gv-neighborhood-grid ul { margin:0!important; padding:0!important; list-style:none; }
.gv-neighborhood-grid li { padding:.8rem 0; border-top:1px solid #e9e5d9; }
.gv-neighborhood-grid li:first-child { border-top:0; }
.gv-neighborhood-grid li > a { font-weight:700; text-underline-offset:.18em; }
.gv-neighborhood-grid li p { margin:.35rem 0 0!important; font-size:.97rem; line-height:1.6; }
.gv-neighborhood-note { margin:1rem 0 0; padding:1rem 1.1rem; border-left:4px solid #c6ad59; border-radius:0 8px 8px 0; background:#f4f0df; line-height:1.55; }
@media(max-width:700px) { .gv-neighborhood-grid { grid-template-columns:minmax(0,1fr); gap:.75rem; margin-top:1.25rem; } .gv-neighborhood-grid section { padding:1rem; } }


/* Eigener Kontaktbereich für Forst und Meldungen */
.gv-neighborhood-authorities { margin:1.5rem 0; padding:clamp(1rem,2.5vw,1.6rem); border:1px solid #d7ddca; border-left:5px solid #74864d; border-radius:0 14px 14px 0; background:linear-gradient(135deg,#f0f3e8 0%,#faf8ef 78%); box-shadow:0 8px 24px rgba(35,58,45,.06); }
.gv-neighborhood-authorities > h3 { margin:.15rem 0 1rem!important; font:500 1.2rem/1.3 Georgia,serif!important; color:#233a2d; }
.gv-authority-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; }
.gv-authority-grid:has(>article:only-child) { grid-template-columns:1fr; }
.gv-authority-grid article { min-width:0; padding:1.05rem 1.15rem; border:1px solid #e2e2d4; border-radius:10px; background:#fffdf8; }
.gv-authority-grid h4 { margin:0 0 .6rem!important; font:700 1.05rem/1.35 system-ui,sans-serif!important; color:#214f3d; }
.gv-authority-grid p { margin:.5rem 0!important; line-height:1.58; }
.gv-authority-grid .gv-forest-contact { padding:.65rem .8rem; border-left:3px solid #b6c48c; border-radius:0 6px 6px 0; background:#f4f6ed; }
.gv-waste-report-link { display:inline-flex; align-items:center; margin:.25rem 0 .5rem; padding:.55rem .8rem; border:1px solid #214f3d; border-radius:7px; background:#214f3d; color:#fff!important; font-weight:700; text-decoration:none!important; }
.gv-waste-report-link:hover,.gv-waste-report-link:focus-visible { background:#173d2e; outline:2px solid #8ca06e; outline-offset:2px; }
@media(max-width:700px) { .gv-authority-grid { grid-template-columns:1fr; } .gv-neighborhood-authorities { margin:1rem 0; } }
