@layer vendor, site;
@layer site {
/* Community editorial sections: full-width headings and balanced reading columns.
   The shared subpage hero and other pages are intentionally outside this scope. */
.community-editorial-section.section {
  padding:72px 0;
}

.community-editorial-section .community-section-header {
  display:block;
  width:100%;
  max-width:none;
  margin:0 0 28px;
}
.community-editorial-section .community-section-header h2 {
  width:100%;
  max-width:none;
  margin:12px 0 0;
  color:var(--ink);
  font-size:clamp(1.8rem,3vw,2.65rem);
  line-height:1.12;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.community-editorial-section.dark .community-section-header h2 {
  color:#fff;
}

/* Native column balancing follows text length, language and viewport size.
   No fixed heights or clipping are used for the reading content. */
.community-editorial-section .community-section-columns {
  display:block;
  width:100%;
  max-width:none;
  column-count:2;
  column-gap:clamp(28px,4vw,56px);
  column-fill:balance;
  color:#536b83;
  font-size:1rem;
  line-height:1.72;
  overflow-wrap:break-word;
}
.community-editorial-section .community-section-columns p {
  margin:0 0 14px;
  color:inherit;
  font-size:inherit;
  line-height:inherit;
  orphans:1;
  widows:1;
}
.community-editorial-section .community-section-columns p:last-child {
  margin-bottom:0;
}
.community-editorial-section .community-section-columns strong {
  color:var(--ink);
}
.community-editorial-section.dark .community-section-columns {
  color:rgba(230,241,251,.8);
}
.community-editorial-section .community-section-columns .community-heart-quote {
  break-inside:avoid;
  margin:14px 0;
}

.community-editorial-section .community-section-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:100%;
  margin-top:24px;
}
.community-editorial-section .community-section-footer > p {
  max-width:820px;
  margin:0;
}
.community-editorial-section .community-section-footer .community-heart-actions,
.community-editorial-section .community-section-footer .community-cta-actions {
  margin:0;
}
.community-editorial-section .community-section-illustration {
  position:relative;
  flex:0 0 auto;
  max-width:100%;
  isolation:isolate;
}
.community-editorial-section .community-section-illustration img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.community-editorial-section .community-meet-feature,
.community-editorial-section .community-schedule-grid,
.community-editorial-section .community-gallery,
.community-editorial-section .community-faq-grid {
  margin-top:36px;
}
.community-editorial-section .community-seo-faq {
  border:0;
}
.community-editorial-section .community-faq-grid {
  align-items:stretch;
}

@media(max-width:760px) {
  .community-editorial-section.section {
    padding:50px 0;
  }
  .community-editorial-section .community-section-header {
    margin-bottom:22px;
  }
  .community-editorial-section .community-section-header h2 {
    font-size:clamp(1.8rem,7.5vw,2.35rem);
  }
  .community-editorial-section .community-section-columns {
    column-count:1;
  }
  .community-editorial-section .community-section-footer {
    flex-direction:column;
    align-items:stretch;
    gap:20px;
  }
  .community-editorial-section .community-section-footer .community-heart-actions,
  .community-editorial-section .community-section-footer .community-cta-actions {
    width:100%;
  }
  .community-editorial-section .community-section-footer .btn {
    width:100%;
  }
    }

/* Intro only: continuous copy on the left, heart artwork in the right column. */
.community-intro-section .community-intro-layout {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:clamp(28px,4vw,56px);
}
.community-intro-section .community-intro-layout > .community-section-columns {
  column-count:1;
  align-self:stretch;
}
.community-intro-section .community-intro-layout > .community-section-heart-art {
  width:min(220px,100%);
  justify-self:center;
  align-self:center;
}
@media(max-width:760px) {
  .community-intro-section .community-intro-layout {
    grid-template-columns:1fr;
  }
  .community-intro-section .community-intro-layout > .community-section-heart-art {
    width:min(180px,55vw);
  }
}

/* v942 (Wunsch NordFly): Galerie „Gemeinschaft, die nicht am Bildschirm endet“ passt auf einen Bildschirm.
   Drei Bildreihen, Höhe folgt der Fensterhöhe: höchstens 220 px wie bisher, mindestens 120 px.
   406 px = Navigation (78) + Kopf, Text und Abstände des Abschnitts (300) + zwei Rasterlücken (28). */
@media(min-width:1001px){
  .community-gallery-section .community-gallery{grid-auto-rows:clamp(120px,calc((100svh - 406px) / 3),220px)}
}
}
