
:root{--red:#c7473d;--red2:#a93630;--ink:#393738;--muted:#706d6d;--soft:#f7f5f3;--line:#e9e4e1;--warm:#f1e8e3;--shadow:0 18px 50px rgba(47,39,36,.10);--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);line-height:1.65}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.top{height:5px;background:var(--red)}
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}.nav{height:88px;display:flex;align-items:center;gap:26px}.brand{margin-right:auto}.brand img{width:255px}.links{display:flex;gap:22px;font-size:15px;font-weight:750}.links a:hover{color:var(--red)}.pill,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 19px;font-weight:800}.pill,.primary{background:var(--red);color:white}.ghost{border:1px solid var(--line);background:white}.menu{display:none;border:0;background:none;font-size:26px}
.hero{padding:68px 0;background:linear-gradient(135deg,#fff 0%,#fff 55%,#f6eeea 100%)}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:55px;align-items:center}.hero img{width:100%;aspect-ratio:1.35/1;object-fit:cover;border-radius:32px;box-shadow:var(--shadow)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;color:var(--red)}h1{font-size:clamp(46px,6vw,76px);line-height:.98;letter-spacing:-.045em;margin:15px 0 23px}h1 span{color:var(--red)}.lead{font-size:19px;color:var(--muted)}.actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
section{padding:86px 0}.soft{background:var(--soft)}.head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px}.head h2,h2{font-size:clamp(34px,4vw,50px);line-height:1.06;letter-spacing:-.035em;margin:7px 0}.head p{max-width:520px;color:var(--muted);margin:0}.feature{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.feature img{border-radius:26px;width:100%;aspect-ratio:1.35/1;object-fit:cover}.feature p{color:var(--muted)}.more{display:inline-flex;align-items:center;gap:10px;margin-top:14px;color:var(--red);font-weight:900;font-size:16px}.more:after{content:"→";transition:.2s}.more:hover:after{transform:translateX(5px)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:21px;overflow:hidden}.card img{width:100%;aspect-ratio:16/9;object-fit:cover}.cardbody{padding:24px}.card h3{margin:0 0 8px;font-size:21px}.card p{margin:0;color:var(--muted)}
.events{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.event{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;grid-template-columns:65px 1fr;gap:15px}.date{background:var(--warm);border-radius:14px;text-align:center;padding:10px}.date b{display:block;color:var(--red);font-size:26px;line-height:1}.date span{font-size:11px;font-weight:900}.event h3{margin:0 0 5px;font-size:18px}.event p{margin:0;color:var(--muted);font-size:14px}.centerlink{text-align:center;margin-top:28px}
.pagehero{padding:58px 0 45px;background:linear-gradient(135deg,#fff,#f6efeb)}.crumb{font-size:13px;color:var(--muted);margin-bottom:14px}.crumb a{color:var(--red)}.pagehero h1{font-size:clamp(42px,5vw,64px);margin:0 0 14px}.pagehero p{font-size:18px;color:var(--muted);max-width:760px}.content{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:55px}.prose{font-size:17px}.prose h2{margin-top:46px}.prose h3{font-size:24px;margin-top:30px}.prose p,.prose li{color:#565253}.prose img{border-radius:22px;margin:28px 0}.side{position:sticky;top:115px;background:var(--soft);padding:23px;border-radius:18px}.side strong{display:block;margin-bottom:9px}.side a{display:block;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.side a:last-child{border:0}.people{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.person{background:var(--soft);padding:15px;border-radius:12px}.timeline{border-left:3px solid var(--red);padding-left:24px}.timeline p{margin:0 0 22px}.band{background:var(--ink);color:white;border-radius:28px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:25px}.band h2{margin:0 0 8px}.band p{color:#d3d0d0;margin:0}
footer{padding:52px 0 23px;background:#f1eeec}.foot{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}.foot img{width:245px}.foot p,.foot a{font-size:14px;color:var(--muted)}.foot a{display:block;margin:5px 0}.legal{margin-top:35px;padding-top:18px;border-top:1px solid #ddd5d1;font-size:12px;color:var(--muted)}
@media(max-width:900px){.links,.pill{display:none}.menu{display:block}.links.open{display:flex;position:absolute;top:88px;left:0;right:0;background:white;flex-direction:column;padding:20px}.hero-grid,.feature,.content{grid-template-columns:1fr}.hero-grid>div:last-child{order:-1}.grid3,.events{grid-template-columns:1fr 1fr}.side{position:static}.foot{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.wrap{width:calc(100% - 28px)}.nav{height:76px}.brand img{width:205px}.links.open{top:76px}.hero{padding:38px 0}h1{font-size:47px}section{padding:64px 0}.head{display:block}.head p{margin-top:12px}.grid3,.events,.people,.foot{grid-template-columns:1fr}.band{display:block;padding:30px}.band .btn{margin-top:20px}}

/* V2: lockerere Detailseiten */
.detail-hero-image{margin-top:30px;width:100%;height:360px;object-fit:cover;border-radius:26px;box-shadow:var(--shadow)}
.split-story{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;margin:38px 0}
.split-story.reverse>div:first-child{order:2}.split-story img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px}
.factrow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.fact{background:var(--soft);padding:20px;border-radius:16px}.fact b{display:block;color:var(--red);font-size:24px}.fact span{font-size:13px;color:var(--muted)}
.callout{background:var(--warm);border-radius:18px;padding:24px 28px;margin:30px 0}.callout h3{margin-top:0}
.prose .section-photo{width:100%;max-height:420px;object-fit:cover;border-radius:22px;margin:26px 0}
.schedule-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
.schedule{width:100%;border-collapse:collapse;min-width:720px}.schedule th{text-align:left;background:var(--ink);color:#fff;padding:15px 17px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}.schedule td{padding:17px;border-bottom:1px solid var(--line);vertical-align:top}.schedule tr:last-child td{border-bottom:0}.schedule tbody tr:hover{background:var(--soft)}.schedule .day{font-weight:900;color:var(--red);white-space:nowrap}.schedule .eventname{font-weight:800}.schedule small{display:block;color:var(--muted);margin-top:2px}
.year-chip{display:inline-block;background:var(--warm);color:var(--red);font-weight:900;padding:7px 12px;border-radius:999px;margin:0 0 18px}
@media(max-width:800px){.split-story{grid-template-columns:1fr}.split-story.reverse>div:first-child{order:0}.factrow{grid-template-columns:1fr}.detail-hero-image{height:250px}}

.gallery3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.gallery3 img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;margin:0}
.history-table{width:100%;border-collapse:collapse;margin:22px 0}.history-table th,.history-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left}.history-table th{font-size:12px;text-transform:uppercase;color:var(--muted)}
.news-list{display:grid;gap:16px}.news-item{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}.news-item .newsdate{font-weight:900;color:var(--red)}.news-item h3{margin:0 0 5px}.news-item p{margin:0;color:var(--muted)}
@media(max-width:620px){.gallery3{grid-template-columns:1fr 1fr}.news-item{grid-template-columns:1fr;gap:6px}}

.people.portraits{grid-template-columns:repeat(3,1fr);gap:18px}
.people.portraits .person{padding:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px}
.people.portraits .person img{width:100%;aspect-ratio:1/1;object-fit:cover;margin:0;border-radius:0}
.people.portraits .person .person-copy{padding:15px 16px 17px}
.people.portraits .person b{font-size:16px}.people.portraits .person span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.contact-people{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:26px 0}
.contact-person{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;background:var(--soft);border-radius:18px;padding:16px}
.contact-person img{width:120px;height:120px;object-fit:cover;border-radius:14px;margin:0}
.contact-person h3{margin:0 0 4px;font-size:20px}.contact-person p{margin:0;color:var(--muted);font-size:14px}
@media(max-width:800px){.people.portraits{grid-template-columns:repeat(2,1fr)}.contact-people{grid-template-columns:1fr}}
@media(max-width:480px){.people.portraits{grid-template-columns:1fr}.contact-person{grid-template-columns:90px 1fr}.contact-person img{width:90px;height:90px}}

/* V5 – Unterseiten-Navigation + runde Portraits wie auf der bisherigen Homepage */
.links a.active{color:var(--red);position:relative}
.links a.active:after{content:"";position:absolute;left:15%;right:15%;bottom:-10px;height:2px;background:var(--red);border-radius:2px}
.people.portraits{grid-template-columns:repeat(3,1fr);gap:30px 24px}
.people.portraits .person{border:0;background:transparent;text-align:center;overflow:visible}
.people.portraits .person img{width:150px;height:150px;aspect-ratio:1/1;object-fit:cover;border-radius:50%;margin:0 auto 14px;box-shadow:0 8px 25px rgba(47,39,36,.10)}
.people.portraits .person .person-copy{padding:0}
.people.portraits .person b{font-size:16px}
.people.portraits .person span{font-size:13px;color:var(--muted)}
.contact-person img{border-radius:50%}
@media(max-width:800px){.people.portraits{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.people.portraits{grid-template-columns:1fr}.people.portraits .person img{width:140px;height:140px}}

/* 0.3 – Joomla content/news refinements */
.news-meta{font-size:12px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:7px}
.news-card .news-intro{color:var(--muted);font-size:15px}
.news-card .news-intro p{margin:0}
.news-card .more{font-size:14px}
.news-list .news-item img{width:150px;height:110px;object-fit:cover;border-radius:13px;margin:0}
.pagination-wrap{margin-top:32px}.pagination{display:flex;gap:8px;list-style:none;padding:0}.pagination a,.pagination span{display:block;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:9px}
.com-content-article__body img{border-radius:18px}
@media(max-width:620px){.news-list .news-item img{width:100%;height:auto;aspect-ratio:16/9}}

/* 0.4: Joomla module positions are wrapped directly by the template to guarantee the prototype grid width. */

/* 0.4.2 – JEvents Latest Events on homepage */
#termine .jevlatest{display:grid;gap:12px}
#termine .mv-event{
 display:grid;grid-template-columns:76px 1fr;gap:18px;align-items:center;
 padding:16px 18px;background:#fff;border:1px solid var(--line);
 border-radius:16px;text-decoration:none;color:inherit
}
#termine .mv-event:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(35,31,32,.07)}
#termine .mv-event-date{
 width:68px;min-height:68px;border-radius:14px;background:var(--red);color:#fff;
 display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1
}
#termine .mv-event-day{font-size:25px;font-weight:900}
#termine .mv-event-month{font-size:11px;font-weight:850;letter-spacing:.09em;margin-top:5px;text-transform:uppercase}
#termine .mv-event-title{font-size:18px;font-weight:850;line-height:1.2}
#termine .mv-event-meta{font-size:14px;color:var(--muted);margin-top:5px}
#termine .mv-event-time:empty{display:none}
#termine .mv-events-heading{margin-bottom:28px}
#termine .mv-events-heading p{max-width:560px;color:var(--muted)}
#termine .mv-events-more{text-align:center;margin-top:24px}
@media(max-width:620px){
 #termine .mv-event{grid-template-columns:62px 1fr;padding:13px;gap:14px}
 #termine .mv-event-date{width:58px;min-height:58px}
 #termine .mv-event-day{font-size:21px}
}

/* 0.4.3 – final home Termine composition */
#termine .moduletable,#termine .mod-custom,#termine .jevlatest{margin:0;padding:0}
#termine .mv-event{margin-bottom:12px}
#termine .mv-event:last-child{margin-bottom:0}
#termine .mv-events-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}
#termine .mv-events-heading h2{margin-bottom:0}
#termine .mv-events-heading p{margin:0}
@media(max-width:760px){#termine .mv-events-heading{display:block}#termine .mv-events-heading p{margin-top:12px}}

/* 0.4.4 – Termine: 3 columns desktop, 2 tablet, 1 mobile */
#termine .jevlatest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#termine .mv-event{margin:0;height:100%;min-height:128px;grid-template-columns:68px minmax(0,1fr);align-content:center}
#termine .mv-event-copy{min-width:0}
#termine .mv-event-title{overflow-wrap:anywhere}
@media(max-width:900px){#termine .jevlatest{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#termine .jevlatest{grid-template-columns:1fr}#termine .mv-event{min-height:auto}}

/* 0.4.5 – guaranteed grid wrapper around JEvents output */
#termine .mv-events-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
#termine .mv-events-grid > *{min-width:0}
#termine .mv-events-grid .mv-event{margin:0;height:100%}
@media(max-width:900px){
  #termine .mv-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  #termine .mv-events-grid{grid-template-columns:1fr}
}

/* 0.4.6 – JEvents renders Latest Events as a TABLE.
   Turn the table body into the responsive card grid. */
#termine table.mod_events_latest_table{
  display:block;
  width:100% !important;
  border:0;
}
#termine table.mod_events_latest_table > tbody{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  width:100%;
}
#termine table.mod_events_latest_table > tbody > tr{
  display:block;
  min-width:0;
}
#termine table.mod_events_latest_table > tbody > tr > td{
  display:block;
  width:auto !important;
  height:100%;
  padding:0 !important;
  border:0 !important;
}
#termine table.mod_events_latest_table .mv-event{
  box-sizing:border-box;
  width:100%;
  height:100%;
  margin:0;
}
#termine .mv-events-grid{
  display:block;
}
@media(max-width:900px){
  #termine table.mod_events_latest_table > tbody{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  #termine table.mod_events_latest_table > tbody{
    grid-template-columns:1fr;
  }
}

/* 0.4.7 – Joomla Articles module on home-aktuelles */
#aktuelles{background:#fff}
#aktuelles .mv-news-heading{display:flex;justify-content:space-between;gap:40px;align-items:end}
#aktuelles .mv-news-heading h2{margin-bottom:0}
#aktuelles .mv-news-heading p{margin:0}
#aktuelles ul.mod-articles-items{
  list-style:none;
  margin:34px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
#aktuelles ul.mod-articles-items > li{
  margin:0;
  padding:0;
  min-width:0;
  display:flex;
}
#aktuelles .mod-articles-item{
  width:100%;
  display:flex;
  border:1px solid #e8e0dc;
  border-radius:20px;
  background:#fff;
  overflow:hidden;
}
#aktuelles .mod-articles-item-content{
  box-sizing:border-box;
  width:100%;
  padding:28px;
  display:flex;
  flex-direction:column;
}
#aktuelles .mod-articles-item-content > br:first-child{display:none}
#aktuelles .mod-articles-title{
  margin:0 0 16px;
  font-size:1.22rem;
  line-height:1.25;
}
#aktuelles .mod-articles-title a{color:var(--ink);text-decoration:none}
#aktuelles .mod-articles-title a:hover{color:var(--red)}
#aktuelles .mod-articles-item-content > h3,
#aktuelles .mod-articles-item-content > p:not(.readmore){
  margin:0 0 22px;
  font-size:1rem;
  line-height:1.65;
  font-weight:400;
  color:var(--muted);
}
#aktuelles p.readmore{margin:auto 0 0}
#aktuelles p.readmore .btn{
  padding:0;
  border:0;
  background:transparent;
  color:var(--red);
  font-weight:800;
  text-decoration:none;
  box-shadow:none;
}
#aktuelles p.readmore .btn:hover{text-decoration:underline}
#aktuelles .mv-news-more{text-align:center;margin-top:34px}
@media(max-width:900px){
  #aktuelles ul.mod-articles-items{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  #aktuelles .mv-news-heading{display:block}
  #aktuelles .mv-news-heading p{margin-top:12px}
}
@media(max-width:620px){
  #aktuelles ul.mod-articles-items{grid-template-columns:1fr}
  #aktuelles .mod-articles-item-content{padding:22px}
}

/* 0.4.8 – article intro images: preserve ratio, crop consistently */
#aktuelles .mod-articles-image{
  margin:0 0 22px;
  width:100%;
  height:230px;
  overflow:hidden;
  border-radius:14px;
  background:#f3efed;
}
#aktuelles .mod-articles-image img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none;
  object-fit:cover;
  object-position:center;
}
#aktuelles .mod-articles-item-content{
  overflow:hidden;
}
@media(max-width:620px){
  #aktuelles .mod-articles-image{height:210px}
}

/* 0.4.9 – more breathing room between top accent line and logo */
.site-header .wrap,
header .wrap{
  padding-top:10px;
  padding-bottom:10px;
}
.site-header .brand img,
header .brand img{
  display:block;
}
@media(max-width:760px){
  .site-header .wrap,
  header .wrap{
    padding-top:8px;
    padding-bottom:8px;
  }
}

/* 0.5.0 – Termine detail page */
.detail-hero{padding:72px 0 34px;background:#fff}
.detail-hero h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.02;margin:8px 0 18px;letter-spacing:-.035em}
.detail-hero p{max-width:720px;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.65}
.termine-list{padding:18px 0 80px;background:#fff}
.termine-page #jevents_header{display:none}
.termine-page #jevents_body,.termine-page #jevents,.termine-page #eventlist{margin:0;padding:0;width:100%}
.termine-page #adminForm>br,.termine-page #jevents_body>br{display:none}
.termine-page table.eventlist{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(35,31,32,.035)}
.termine-page table.eventlist thead th{padding:16px 18px;text-align:left;background:#f5f2f0;color:var(--ink);font-size:.78rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;border:0;border-bottom:1px solid var(--line)}
.termine-page table.eventlist tbody td{padding:18px;border:0;border-bottom:1px solid var(--line);vertical-align:middle;line-height:1.45}
.termine-page table.eventlist tbody tr:last-child td{border-bottom:0}
.termine-page table.eventlist tbody tr{transition:background .18s ease}
.termine-page table.eventlist tbody tr:hover{background:#fbf8f7}
.termine-page table.eventlist tbody td:first-child{font-weight:850;color:var(--ink);font-size:1.02rem}
.termine-page table.eventlist th:nth-child(1){width:23%}
.termine-page table.eventlist th:nth-child(2){width:28%}
.termine-page table.eventlist th:nth-child(3),.termine-page table.eventlist th:nth-child(4){width:9%;white-space:nowrap}
.termine-page table.eventlist th:nth-child(5){width:31%}
.termine-page table.eventlist td:nth-child(3),.termine-page table.eventlist td:nth-child(4){white-space:nowrap}
@media(max-width:760px){
 .detail-hero{padding:48px 0 24px}
 .termine-list{padding-top:8px;padding-bottom:56px}
 .termine-page table.eventlist,.termine-page table.eventlist tbody{display:block;border:0;background:transparent;box-shadow:none;overflow:visible}
 .termine-page table.eventlist thead{display:none}
 .termine-page table.eventlist tbody{display:grid;gap:14px}
 .termine-page table.eventlist tbody tr{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
 .termine-page table.eventlist tbody td{display:block;padding:0;border:0;white-space:normal!important;min-width:0}
 .termine-page table.eventlist tbody td:empty{display:none}
 .termine-page table.eventlist tbody td:first-child{grid-column:1/-1;font-size:1.12rem;margin-bottom:2px}
 .termine-page table.eventlist tbody td:nth-child(2){grid-column:1/-1;color:var(--muted)}
 .termine-page table.eventlist tbody td:nth-child(3)::before{content:'Beginn';display:block;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:3px}
 .termine-page table.eventlist tbody td:nth-child(4)::before{content:'Ende';display:block;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:3px}
 .termine-page table.eventlist tbody td:nth-child(5){grid-column:1/-1;color:var(--muted)}
 .termine-page table.eventlist tbody td:nth-child(5):not(:empty)::before{content:'Ort';display:block;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:3px}
}

/* 0.5.1 – Termine detail page: closer to original design */
.termine-page .detail-hero{padding-bottom:14px}
.termine-page .termine-list{padding-top:0}
.termine-page .termine-list h1,
.termine-page .termine-list h2:first-child{display:none}
.termine-page table.eventlist{border-radius:18px;box-shadow:none;border:1px solid var(--line);overflow:hidden}
.termine-page table.eventlist thead th{background:var(--ink);color:#fff;padding:17px 18px;border-bottom:0;font-size:.78rem;letter-spacing:.055em}
.termine-page table.eventlist tbody td{padding:19px 18px;background:#fff}
.termine-page table.eventlist tbody tr:nth-child(even):not(.mv-year-row) td{background:#fcfaf9}
.termine-page table.eventlist tbody td.mv-date{font-weight:900;color:var(--red);white-space:nowrap}
.termine-page table.eventlist tbody td.mv-title{font-weight:850;color:var(--ink);font-size:1.02rem}
.termine-page table.eventlist tbody td.mv-time{white-space:nowrap}
.termine-page table.eventlist .mv-year-row td{padding:22px 0 12px!important;border:0!important;background:#fff!important}
.termine-page .mv-year-pill{display:inline-block;padding:10px 14px;border-radius:999px;background:var(--warm);color:var(--red);font-weight:900;line-height:1;letter-spacing:.02em}
.termine-page table.eventlist .mv-year-row:first-child td{padding-top:0!important}
@media(min-width:761px){
 .termine-page table.eventlist thead tr,
 .termine-page table.eventlist tbody tr:not(.mv-year-row){display:grid;grid-template-columns:1.25fr 1.55fr 1fr 2.25fr}
 .termine-page table.eventlist thead th,.termine-page table.eventlist tbody td{width:auto!important}
}
@media(max-width:760px){
 .termine-page .detail-hero{padding-bottom:12px}
 .termine-page .termine-list{padding-top:0}
 .termine-page table.eventlist .mv-year-row{display:block;padding:0;border:0;background:transparent}
 .termine-page table.eventlist .mv-year-row td{display:block!important;padding:12px 0 0!important}
 .termine-page table.eventlist tbody td.mv-title{grid-column:1/-1;grid-row:2;font-size:1.12rem}
 .termine-page table.eventlist tbody td.mv-date{grid-column:1/-1;grid-row:1;color:var(--red)}
 .termine-page table.eventlist tbody td.mv-time{grid-column:1/-1;grid-row:3}
 .termine-page table.eventlist tbody td.mv-place{grid-column:1/-1;grid-row:4;color:var(--muted)}
 .termine-page table.eventlist tbody td.mv-time:not(:empty)::before{content:'Uhrzeit';display:block;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:3px}
 .termine-page table.eventlist tbody td.mv-place:not(:empty)::before{content:'Ort';display:block;font-size:.68rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-bottom:3px}
}

/* 0.5.2 – Termine visual polish */
.termine-page,
.termine-page .detail-hero,
.termine-page .termine-list{background:var(--soft)}
.termine-page .detail-hero{padding-top:54px;padding-bottom:0}
.termine-page .termine-list{padding-top:32px;padding-bottom:80px}
.termine-page table.eventlist{background:#fff;border-color:#e3dedb;box-shadow:0 8px 24px rgba(47,39,36,.035)}
.termine-page table.eventlist thead th{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:13px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
  padding:18px 18px;
}
.termine-page table.eventlist tbody td{background:#fff!important;border-bottom:1px solid #e3dedb;padding:20px 18px}
.termine-page table.eventlist tbody tr:last-child td{border-bottom:0}
.termine-page table.eventlist tbody tr:not(.mv-year-row):hover td{background:#fbf9f8!important}
.termine-page table.eventlist .mv-year-row td{background:var(--soft)!important;padding:0 0 18px!important;border:0!important}
.termine-page .mv-year-pill{padding:9px 13px;background:var(--warm)}
@media(max-width:760px){
 .termine-page .detail-hero{padding-top:40px;padding-bottom:0}
 .termine-page .termine-list{padding-top:24px;padding-bottom:56px}
 .termine-page table.eventlist tbody tr:not(.mv-year-row){border-color:#e3dedb;box-shadow:0 5px 18px rgba(47,39,36,.025)}
}

/* 0.5.3 – defensive fixes after JEvents normalization */
@media(min-width:761px){
 .termine-page table.eventlist tbody tr.mv-year-row{display:block}
 .termine-page table.eventlist tbody tr.mv-year-row td{width:100%!important;box-sizing:border-box}
}

/* 0.5.4 – Aktuelles: vollständige Beiträge, keine zusätzliche Vorschaugrafik */
.news-page .news-list{display:grid;gap:22px}
.news-page .news-item.news-item-full{
  display:block;
  padding:30px 32px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
}
.news-page .news-item-full .news-meta{
  margin:0 0 8px;
  color:var(--red);
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
}
.news-page .news-item-full .news-title{
  margin:0 0 18px;
  font-size:clamp(24px,2.4vw,32px);
  line-height:1.15;
}
.news-page .news-item-full .news-fulltext{color:var(--ink)}
.news-page .news-item-full .news-fulltext p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.7;
}
.news-page .news-item-full .news-fulltext img{
  max-width:100%;
  height:auto;
  border-radius:12px;
}
.news-page .news-item-full .news-fulltext figure{max-width:100%;margin:20px 0}
.news-page .news-item-full .news-fulltext > :last-child{margin-bottom:0}

/* Joomla pager: no dependency on missing icon font */
.news-page .pagination-wrap{margin-top:34px}
.news-page .pagination{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.news-page .pagination li{margin:0;padding:0}
.news-page .pagination a,
.news-page .pagination span{
  min-width:44px;
  min-height:44px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  font-weight:700;
}
.news-page .pagination a:hover{
  border-color:var(--red);
  color:var(--red);
}
.news-page .pagination .active > a,
.news-page .pagination .active > span,
.news-page .pagination li.active a,
.news-page .pagination li.active span{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
.news-page .pagination .disabled > a,
.news-page .pagination .disabled > span,
.news-page .pagination li.disabled a,
.news-page .pagination li.disabled span{
  opacity:.42;
  pointer-events:none;
}
/* Replace Joomla's icon-only pagination controls with readable symbols/text */
.news-page .pagination [class*="icon-angle"],
.news-page .pagination [class*="icon-step"],
.news-page .pagination [class*="icon-chevron"],
.news-page .pagination .icon-first,
.news-page .pagination .icon-previous,
.news-page .pagination .icon-next,
.news-page .pagination .icon-last{display:none!important}
.news-page .pagination li:first-child a::before,
.news-page .pagination li:first-child span::before{content:"« Anfang"}
.news-page .pagination li:nth-child(2) a::before,
.news-page .pagination li:nth-child(2) span::before{content:"← Zurück"}
.news-page .pagination li:nth-last-child(2) a::before,
.news-page .pagination li:nth-last-child(2) span::before{content:"Weiter →"}
.news-page .pagination li:last-child a::before,
.news-page .pagination li:last-child span::before{content:"Ende »"}
.news-page .pagination li:first-child a,
.news-page .pagination li:first-child span,
.news-page .pagination li:nth-child(2) a,
.news-page .pagination li:nth-child(2) span,
.news-page .pagination li:nth-last-child(2) a,
.news-page .pagination li:nth-last-child(2) span,
.news-page .pagination li:last-child a,
.news-page .pagination li:last-child span{min-width:auto;padding-left:14px;padding-right:14px}
@media(max-width:620px){
  .news-page .news-item.news-item-full{padding:22px 20px}
  .news-page .pagination{gap:6px}
  .news-page .pagination a,.news-page .pagination span{min-width:40px;min-height:40px;padding:7px 10px}
}

/* 0.5.5 – larger images inside full articles on the Aktuelles page */
.news-page .news-item-full .news-fulltext img{
  max-width:100%;
  height:auto;
}

/* Standalone, non-linked article images may use substantially more space.
   Important for posters/flyers that contain the article's main information. */
.news-page .news-item-full .news-fulltext img:not(a img){
  display:block;
  width:auto !important;
  max-width:min(100%, 900px) !important;
  height:auto !important;
  margin:24px auto;
}

/* Images used as Lightbox links remain a little more restrained. */
.news-page .news-item-full .news-fulltext a img{
  width:auto !important;
  max-width:min(100%, 680px) !important;
  height:auto !important;
  margin:18px auto;
}

/* Joomla editor alignment classes should not force informational images small. */
.news-page .news-item-full .news-fulltext .img-fulltext-none,
.news-page .news-item-full .news-fulltext .img-intro-none{
  width:auto;
  max-width:100%;
}
@media(max-width:620px){
  .news-page .news-item-full .news-fulltext img:not(a img),
  .news-page .news-item-full .news-fulltext a img{
    max-width:100% !important;
  }
}

/* 0.5.6 – clearer article separation, clean lightbox images, linked titles */
.news-page .news-list{gap:28px}
.news-page .news-item.news-item-full{
  border-color:#ddd4cf;
  box-shadow:0 3px 14px rgba(50,45,43,.045);
}
.news-page .news-item.news-item-full + .news-item.news-item-full{
  position:relative;
}
.news-page .news-title a{
  color:var(--ink);
  text-decoration:none;
}
.news-page .news-title a:hover,
.news-page .news-title a:focus-visible{
  color:var(--red);
}

/* Remove shadows/effects from linked article images and their lightbox anchors. */
.news-page .news-fulltext a:has(img),
.news-page .news-fulltext a:has(img):hover,
.news-page .news-fulltext a:has(img):focus{
  box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
  background:transparent !important;
}
.news-page .news-fulltext a img,
.news-page .news-fulltext a:hover img,
.news-page .news-fulltext a:focus img{
  box-shadow:none !important;
  filter:none !important;
}

/* 0.5.7 – remove gallery/lightbox thumbnail shadows completely */
.news-page .news-fulltext a,
.news-page .news-fulltext a:hover,
.news-page .news-fulltext a:focus,
.news-page .news-fulltext a:active,
.news-page .news-fulltext figure,
.news-page .news-fulltext figure:hover,
.news-page .news-fulltext img,
.news-page .news-fulltext img:hover,
.news-page .news-fulltext .sigFreeThumb,
.news-page .news-fulltext .sigFreeThumb:hover,
.news-page .news-fulltext .sigFreeLink,
.news-page .news-fulltext .sigFreeLink:hover,
.news-page .news-fulltext [class*="sig"] a,
.news-page .news-fulltext [class*="sig"] img,
.news-page .news-fulltext [class*="gallery"] a,
.news-page .news-fulltext [class*="gallery"] img{
  box-shadow:none !important;
  -webkit-box-shadow:none !important;
  filter:none !important;
  text-shadow:none !important;
}

/* Some gallery extensions draw the effect with pseudo-elements. */
.news-page .news-fulltext a::before,
.news-page .news-fulltext a::after,
.news-page .news-fulltext figure::before,
.news-page .news-fulltext figure::after,
.news-page .news-fulltext .sigFreeThumb::before,
.news-page .news-fulltext .sigFreeThumb::after,
.news-page .news-fulltext [class*="gallery"] a::before,
.news-page .news-fulltext [class*="gallery"] a::after{
  box-shadow:none !important;
  filter:none !important;
}

/* 0.5.8 – preserve image proportions in Joomla single article view */
.com-content-article__body img,
.item-page img,
.view-article main img,
.view-article .com-content-article img{
  max-width:100% !important;
  height:auto !important;
  object-fit:contain;
}

/* Editor/HTML width attributes may remain, but fixed CSS heights must not distort them. */
.com-content-article__body a img,
.item-page a img,
.view-article main a img,
.view-article .com-content-article a img{
  height:auto !important;
  max-width:100% !important;
}

/* Keep informational standalone images reasonably large where space permits. */
.com-content-article__body > img,
.com-content-article__body > p > img:only-child,
.item-page .com-content-article__body > p > img:only-child{
  width:auto !important;
  max-width:min(100%,900px) !important;
  height:auto !important;
}

/* 0.5.9 – single article markup is section > .wrap.content > article.prose */
section .wrap.content article.prose img,
section .wrap.content article.prose img.img-responsive{
  display:block;
  max-width:100% !important;
  width:auto !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
}

/* Standalone article images such as posters may use their natural size,
   limited only by the article column. */
section .wrap.content article.prose p > img:only-child,
section .wrap.content article.prose p > a:only-child > img{
  max-width:100% !important;
  width:auto !important;
  height:auto !important;
  margin:22px auto;
}

/* 0.6.0 – Simple Image Gallery Extended (SIGE): remove plugin thumbnail shadows */
article.prose ul.sige,
article.prose ul.sige li,
article.prose ul.sige li[class*="sige_cont"],
article.prose ul.sige .sige_thumb,
article.prose ul.sige .sige_thumb a,
article.prose ul.sige .sige_thumb img {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}

/* SIGE applies the visual frame to its own wrapper; neutralize only the
   shadow/effect while retaining the existing subtle border and rounding. */
article.prose ul.sige .sige_thumb,
article.prose ul.sige .sige_thumb a {
  background-image: none !important;
}

/* Also suppress effects generated by the gallery stylesheet via pseudo-elements. */
article.prose ul.sige .sige_thumb::before,
article.prose ul.sige .sige_thumb::after,
article.prose ul.sige .sige_thumb a::before,
article.prose ul.sige .sige_thumb a::after {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  filter: none !important;
  background-image: none !important;
}

/* 0.6.1 – Kontakt-Unterseite */
.contact-hero{padding-bottom:34px}
.contact-page{padding-top:34px;background:var(--soft)}
.contact-content{max-width:none}
.contact-content > h2:first-child{margin-top:0}
.contact-content h2{font-size:clamp(28px,3vw,40px);margin:38px 0 18px}
.contact-content h3{margin-top:0}

/* Existing Joomla article markup can use these simple wrappers/classes. */
.contact-content .contact-intro{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:28px;
  margin-bottom:34px;
}
.contact-content .contact-box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:28px;
}
.contact-content .contact-box p:last-child{margin-bottom:0}
.contact-content .contact-box a{
  color:var(--red);
  font-weight:800;
  text-decoration:none;
}
.contact-content .contact-box a:hover{text-decoration:underline}

.contact-content .contact-people{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin:20px 0 34px;
}
.contact-content .contact-person{
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:20px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:20px;
}
.contact-content .contact-person img{
  width:112px !important;
  height:112px !important;
  max-width:112px !important;
  object-fit:cover !important;
  border-radius:50% !important;
  margin:0 !important;
  box-shadow:none !important;
}
.contact-content .contact-person h3{
  font-size:21px;
  margin:0 0 4px;
}
.contact-content .contact-person .role{
  display:block;
  margin:0 0 10px;
  color:var(--red);
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.contact-content .contact-person p{
  margin:4px 0;
  color:var(--muted);
  font-size:15px;
}
.contact-content .contact-person a{
  color:var(--ink);
  text-decoration:none;
}
.contact-content .contact-person a:hover{color:var(--red)}

.contact-content .contact-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:20px;
}
.contact-content .contact-details > div{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:24px;
}
.contact-content .contact-details h3{font-size:19px;margin:0 0 10px}

@media(max-width:800px){
  .contact-content .contact-intro,
  .contact-content .contact-people,
  .contact-content .contact-details{grid-template-columns:1fr}
}
@media(max-width:480px){
  .contact-page{padding-top:24px}
  .contact-content .contact-person{grid-template-columns:82px minmax(0,1fr);padding:16px}
  .contact-content .contact-person img{
    width:82px !important;height:82px !important;max-width:82px !important;
  }
}

/* 0.6.2 – three contact persons on desktop */
.contact-content .contact-people{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.contact-content .contact-person{
  grid-template-columns:92px minmax(0,1fr);
  gap:16px;
  padding:20px;
}
.contact-content .contact-person img{
  width:92px !important;
  height:92px !important;
  max-width:92px !important;
}
.contact-content .contact-person h3{
  font-size:19px;
  line-height:1.2;
}
.contact-content .contact-person p{
  overflow-wrap:anywhere;
}
@media(max-width:1050px){
  .contact-content .contact-people{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-content .contact-person{
    grid-template-columns:100px minmax(0,1fr);
  }
  .contact-content .contact-person img{
    width:100px !important;height:100px !important;max-width:100px !important;
  }
}
@media(max-width:700px){
  .contact-content .contact-people{grid-template-columns:1fr}
}

/* 0.6.3 – prominent "Mitglied werden" CTA on contact page */
.contact-content .contact-join{
  margin-top:42px;
  padding:38px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  border-radius:22px;
  background:var(--ink);
  color:#fff;
  overflow:hidden;
}
.contact-content .contact-join .eyebrow{
  color:#f0b7b7;
}
.contact-content .contact-join h2{
  margin:5px 0 12px;
  color:#fff;
  font-size:clamp(30px,3.5vw,44px);
}
.contact-content .contact-join p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:1.65;
}
.contact-content .contact-join-action{
  flex:0 0 auto;
}
.contact-content .contact-join .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 22px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:none;
}
.contact-content .contact-join .button::after{
  content:" →";
  margin-left:7px;
}
.contact-content .contact-join .button:hover,
.contact-content .contact-join .button:focus-visible{
  filter:brightness(.93);
  color:#fff;
  text-decoration:none;
}
@media(max-width:760px){
  .contact-content .contact-join{
    display:block;
    padding:30px 26px;
  }
  .contact-content .contact-join-action{
    margin-top:24px;
  }
}

/* 0.6.4 – keep logo clear of the red top accent line */
.site-header .wrap,
header.site-header .wrap,
body > header .wrap{
  padding-top:18px !important;
}
.site-header .brand,
header.site-header .brand,
body > header .brand{
  align-self:center;
}
.site-header .brand img,
header.site-header .brand img,
body > header .brand img{
  display:block;
  margin-top:0 !important;
  transform:none !important;
  max-height:78px;
  width:auto;
}
@media(max-width:760px){
  .site-header .wrap,
  header.site-header .wrap,
  body > header .wrap{
    padding-top:14px !important;
  }
  .site-header .brand img,
  header.site-header .brand img,
  body > header .brand img{
    max-height:72px;
  }
}

/* 0.6.5 – restore a stronger logo presence while keeping clearance to top line */
.site-header .brand img,
header.site-header .brand img,
body > header .brand img{
  max-height:94px;
  width:auto;
}
.site-header .wrap,
header.site-header .wrap,
body > header .wrap{
  padding-top:16px !important;
  padding-bottom:10px !important;
}
@media(max-width:760px){
  .site-header .brand img,
  header.site-header .brand img,
  body > header .brand img{
    max-height:82px;
  }
  .site-header .wrap,
  header.site-header .wrap,
  body > header .wrap{
    padding-top:13px !important;
    padding-bottom:8px !important;
  }
}

/* 0.6.6 – Vereinsseite */
.verein-page{
  background:#f7f5f3;
}
.verein-page .verein-section{
  padding:64px 0;
}
.verein-page .verein-section + .verein-section{
  border-top:1px solid rgba(58,55,55,.08);
}
.verein-page .verein-intro-grid,
.verein-page .verein-home-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:54px;
  align-items:center;
}
.verein-page .verein-intro-grid img,
.verein-page .verein-home-grid img{
  display:block;
  width:100%;
  height:auto !important;
  max-width:100%;
  border-radius:22px;
  object-fit:cover;
}
.verein-page .verein-kicker{
  display:block;
  margin-bottom:10px;
  color:var(--red);
  font-weight:900;
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.verein-page .verein-section h2{
  margin:0 0 22px;
  font-size:clamp(34px,4vw,52px);
  line-height:1.05;
}
.verein-page .verein-section p{
  line-height:1.7;
}

/* Vorstand */
.verein-page .board-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:30px 24px;
  margin-top:34px;
}
.verein-page .board-person{
  text-align:center;
}
.verein-page .board-person img{
  display:block;
  width:150px !important;
  height:150px !important;
  max-width:150px !important;
  margin:0 auto 16px;
  border-radius:50%;
  object-fit:cover;
  box-shadow:none !important;
}
.verein-page .board-person h3{
  margin:0 0 5px;
  font-size:19px;
  line-height:1.25;
}
.verein-page .board-person .role{
  display:block;
  color:#706968;
  font-size:14px;
  line-height:1.4;
}

/* Geschichte */
.verein-page .history-panel{
  padding:40px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(58,55,55,.10);
}
.verein-page .history-years{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:30px 0;
}
.verein-page .history-year{
  padding:20px;
  border-radius:16px;
  background:#f4efec;
}
.verein-page .history-year strong{
  display:block;
  margin-bottom:6px;
  color:var(--red);
  font-size:23px;
}
.verein-page .verein-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--red);
  font-weight:900;
  text-decoration:none;
}
.verein-page .verein-link:hover{
  text-decoration:underline;
}

@media(max-width:1050px){
  .verein-page .board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .verein-page .history-years{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .verein-page .verein-section{padding:44px 0}
  .verein-page .verein-intro-grid,
  .verein-page .verein-home-grid{grid-template-columns:1fr;gap:28px}
  .verein-page .board-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
  .verein-page .board-person img{
    width:118px !important;height:118px !important;max-width:118px !important;
  }
  .verein-page .history-panel{padding:26px 20px}
  .verein-page .history-years{grid-template-columns:1fr}
}

/* 0.6.7 – Vereinsseite: volle Inhaltsbreite statt Joomla .content-Seitenraster */
.verein-content-shell{
  background:var(--soft);
}
.verein-content-shell > .wrap{
  width:min(var(--max),calc(100% - 40px));
}
.verein-content-shell .verein-page{
  background:transparent;
  width:100%;
}
.verein-content-shell .verein-section{
  padding:58px 0;
}
.verein-content-shell .verein-section:first-child{
  padding-top:58px;
}
.verein-content-shell .verein-intro-grid{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:64px;
}
.verein-content-shell .verein-home-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:64px;
}
.verein-content-shell .verein-section h2{
  font-size:clamp(36px,3.35vw,50px);
  max-width:620px;
}
.verein-content-shell .verein-intro-grid img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}
.verein-content-shell .verein-home-grid img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.verein-hero{
  padding-bottom:40px;
}
@media(max-width:900px){
  .verein-content-shell .verein-intro-grid,
  .verein-content-shell .verein-home-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .verein-content-shell .verein-intro-grid img{
    aspect-ratio:16/9;
  }
}
@media(max-width:620px){
  .verein-content-shell > .wrap{width:calc(100% - 28px)}
  .verein-content-shell .verein-section{padding:44px 0}
  .verein-content-shell .verein-section:first-child{padding-top:44px}
}


/* 0.6.8 – Vereinskennzahlen und lokale Seitennavigation */
.verein-overview{
  display:grid;
  grid-template-columns:minmax(0,1fr) 285px;
  gap:54px;
  align-items:start;
  padding:48px 0 18px;
}
.verein-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.verein-fact{
  min-height:136px;
  padding:26px 22px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(58,55,55,.06);
}
.verein-fact strong{
  display:block;
  margin-bottom:12px;
  color:var(--red);
  font-size:25px;
  line-height:1;
}
.verein-fact span{
  color:#706968;
  font-size:14px;
  line-height:1.45;
}
.verein-toc{
  padding:26px 24px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(58,55,55,.06);
}
.verein-toc>strong{display:block;margin-bottom:14px;font-size:16px}
.verein-toc a{
  display:block;
  padding:10px 0;
  border-bottom:1px solid rgba(58,55,55,.10);
  color:inherit;
  text-decoration:none;
  font-size:14px;
}
.verein-toc a:last-child{border-bottom:0}
.verein-toc a:hover{color:var(--red)}
.verein-section[id]{scroll-margin-top:110px}
@media(max-width:900px){
  .verein-overview{grid-template-columns:1fr;gap:22px;padding-top:36px}
  .verein-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .verein-toc>strong{grid-column:1/-1}
}
@media(max-width:620px){
  .verein-facts{grid-template-columns:1fr}
  .verein-fact{min-height:0}
  .verein-toc{grid-template-columns:1fr}
}

/* 0.6.9 – Vereinsseite: finaler Aufbau mit Kennzahlen + Seitennavigation */
.verein-content-shell{
  background:#fff;
  padding:0 0 76px;
}
.verein-content-shell > .wrap{
  width:min(var(--max),calc(100% - 80px)) !important;
  max-width:var(--max) !important;
}
.verein-content-shell .verein-overview{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 285px;
  gap:54px;
  align-items:start;
  padding:54px 0 38px;
}
.verein-content-shell .verein-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.verein-content-shell .verein-fact,
.verein-content-shell .verein-toc{
  background:var(--soft);
  border:0;
}
.verein-content-shell .verein-fact{
  min-height:136px;
  padding:27px 22px;
  border-radius:18px;
}
.verein-content-shell .verein-fact strong{
  font-size:26px;
  font-weight:900;
}
.verein-content-shell .verein-toc{
  padding:26px 24px;
  border-radius:20px;
}
.verein-content-shell .verein-page{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
}
.verein-content-shell .verein-page .verein-section{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:62px 0;
  background:transparent;
}
.verein-content-shell .verein-page .verein-section:first-child{
  padding-top:38px;
}
.verein-content-shell .verein-page .verein-intro-grid,
.verein-content-shell .verein-page .verein-home-grid{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  gap:64px;
  align-items:center;
}
.verein-content-shell .verein-page .verein-intro-grid{
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr) !important;
}
.verein-content-shell .verein-page .verein-home-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
}
.verein-content-shell .verein-page .verein-intro-grid > *,
.verein-content-shell .verein-page .verein-home-grid > *{
  min-width:0;
}
.verein-content-shell .verein-page .verein-intro-grid img{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:22px;
}
.verein-content-shell .verein-page .verein-home-grid img{
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:22px;
}
.verein-content-shell .verein-page .verein-section h2{
  max-width:720px;
  font-size:clamp(38px,3.2vw,52px);
  line-height:1.04;
}
.verein-content-shell .verein-page .verein-section p{
  max-width:720px;
}
.verein-content-shell .verein-page .board-grid,
.verein-content-shell .verein-page .history-panel{
  width:100%;
  max-width:none;
}
@media(max-width:900px){
  .verein-content-shell > .wrap{width:calc(100% - 48px) !important}
  .verein-content-shell .verein-overview{grid-template-columns:1fr;gap:24px;padding-top:40px}
  .verein-content-shell .verein-page .verein-intro-grid,
  .verein-content-shell .verein-page .verein-home-grid{grid-template-columns:1fr !important;gap:30px}
}
@media(max-width:620px){
  .verein-content-shell > .wrap{width:calc(100% - 28px) !important}
  .verein-content-shell .verein-facts{grid-template-columns:1fr}
  .verein-content-shell .verein-page .verein-section{padding:44px 0}
  .verein-content-shell .verein-page .verein-section:first-child{padding-top:24px}
}


/* 0.6.10 – Verein: echte Vollbreite + Kennzahlen/Subnavigation im Beitrag */
.verein-content-shell{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  background:#fff;
}
.verein-content-shell > .wrap{
  width:min(1280px,calc(100% - 80px)) !important;
  max-width:1280px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.verein-content-shell .verein-overview-section{
  width:100% !important;
  padding:20px 0 62px !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
}
.verein-content-shell .verein-facts-nav-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 285px !important;
  gap:54px !important;
  align-items:start !important;
  width:100% !important;
}
.verein-content-shell .verein-facts{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  min-width:0 !important;
}
.verein-content-shell .verein-fact{
  min-width:0 !important;
  min-height:136px !important;
  padding:27px 22px !important;
  border-radius:18px !important;
  background:var(--soft) !important;
  border:0 !important;
}
.verein-content-shell .verein-fact strong{
  display:block !important;
  margin:0 0 12px !important;
  color:var(--red) !important;
  font-size:26px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.verein-content-shell .verein-fact span{
  color:#706968 !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.verein-content-shell .verein-toc{
  display:block !important;
  width:285px !important;
  max-width:100% !important;
  padding:26px 24px !important;
  border-radius:20px !important;
  background:var(--soft) !important;
  border:0 !important;
}
.verein-content-shell .verein-toc > strong{
  display:block !important;
  margin:0 0 12px !important;
  font-size:16px !important;
}
.verein-content-shell .verein-toc a{
  display:block !important;
  padding:10px 0 !important;
  border-bottom:1px solid rgba(58,55,55,.10) !important;
  color:inherit !important;
  text-decoration:none !important;
  font-size:14px !important;
}
.verein-content-shell .verein-toc a:last-child{border-bottom:0 !important}
.verein-content-shell .verein-toc a:hover{color:var(--red) !important}
@media(max-width:900px){
  .verein-content-shell > .wrap{width:calc(100% - 48px) !important}
  .verein-content-shell .verein-facts-nav-grid{grid-template-columns:1fr !important;gap:24px !important}
  .verein-content-shell .verein-toc{width:100% !important}
}
@media(max-width:620px){
  .verein-content-shell > .wrap{width:calc(100% - 28px) !important}
  .verein-content-shell .verein-facts{grid-template-columns:1fr !important}
  .verein-content-shell .verein-fact{min-height:0 !important}
}


/* 0.6.11 – Verein: oberer Bereich wie im ursprünglichen Entwurf */
.verein-hero-original{padding:48px 0 42px !important;}
.verein-hero-original .wrap{width:min(1280px,calc(100% - 80px));}
.verein-hero-original h1{margin-bottom:10px;}
.verein-hero-original p{margin:0 0 30px;max-width:780px;}
.verein-hero-original .verein-hero-image{display:block;width:100% !important;max-width:none !important;height:auto !important;aspect-ratio:3.28/1;object-fit:cover;object-position:center 48%;margin:0 !important;border-radius:22px;box-shadow:none !important;}
.verein-content-shell .verein-overview{display:grid !important;grid-template-columns:minmax(0,1fr) 285px !important;gap:54px !important;align-items:start !important;padding:54px 0 20px !important;}
.verein-content-shell .verein-overview .verein-facts{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:14px !important;}
.verein-content-shell .verein-overview .verein-toc{display:block !important;width:285px !important;max-width:100% !important;align-self:start !important;}
.verein-content-shell .verein-about{padding-top:30px !important;}
.verein-content-shell .verein-about h2{margin-top:8px;}
@media(max-width:900px){.verein-hero-original .wrap{width:calc(100% - 48px)}.verein-hero-original .verein-hero-image{aspect-ratio:16/7}.verein-content-shell .verein-overview{grid-template-columns:1fr !important;gap:24px !important;padding-top:40px !important}.verein-content-shell .verein-overview .verein-toc{width:100% !important}}
@media(max-width:620px){.verein-hero-original .wrap{width:calc(100% - 28px)}.verein-hero-original .verein-hero-image{aspect-ratio:16/9;border-radius:16px}.verein-content-shell .verein-overview .verein-facts{grid-template-columns:1fr !important}}


/* 0.6.13 – Verein: Kennzahlen und Beitrag links, Seitennavigation unabhängig rechts */
.verein-content-shell .verein-main-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 285px !important;
  gap:54px !important;
  align-items:start !important;
  padding:54px 0 64px !important;
}
.verein-content-shell .verein-main-column{min-width:0 !important;}
.verein-content-shell .verein-main-column > .verein-facts{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:0 0 34px !important;
}
.verein-content-shell .verein-main-grid > .verein-toc{
  width:285px !important;
  position:sticky;
  top:110px;
  align-self:start !important;
}
.verein-content-shell .verein-article-content{min-width:0 !important;}
.verein-content-shell .verein-article-content .verein-page{margin:0 !important;}
.verein-content-shell .verein-article-content .verein-section:first-child{padding-top:0 !important;}
@media(max-width:900px){
  .verein-content-shell .verein-main-grid{grid-template-columns:1fr !important;gap:24px !important;padding-top:40px !important;}
  .verein-content-shell .verein-main-grid > .verein-toc{width:100% !important;position:static !important;order:-1;}
}
@media(max-width:620px){
  .verein-content-shell .verein-main-column > .verein-facts{grid-template-columns:1fr !important;margin-bottom:28px !important;}
}


/* 0.6.14 – Verein: Hero-Foto, zusammengeführter Einstieg, Musikerheim-Galerie, Mitglied-CTA */
.verein-hero-original .verein-hero-image{
  object-position:center 72% !important;
}
.verein-page .verein-anchor{
  display:block;
  position:relative;
  top:-110px;
  visibility:hidden;
}
.verein-page .verein-intro-merged{
  align-items:center;
}
.verein-page .verein-home-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.verein-page .verein-home-gallery img{
  display:block;
  width:100% !important;
  max-width:none !important;
  height:180px !important;
  object-fit:cover;
  margin:0 !important;
  border-radius:16px;
  box-shadow:none !important;
}
.verein-page .verein-join{
  margin-top:24px;
  padding:38px 40px !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  border-radius:22px;
  background:var(--ink);
  color:#fff;
}
.verein-page .verein-join .verein-kicker{color:#f0b7b7;}
.verein-page .verein-join h2{
  margin:5px 0 12px;
  color:#fff;
  font-size:clamp(30px,3.5vw,44px);
}
.verein-page .verein-join p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.82);
  line-height:1.65;
}
.verein-page .verein-join-action{flex:0 0 auto;}
.verein-page .verein-join .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:13px 22px;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
}
.verein-page .verein-join .button::after{content:" →";margin-left:7px;}
.verein-page .verein-join .button:hover,.verein-page .verein-join .button:focus-visible{filter:brightness(.93);color:#fff;text-decoration:none;}
@media(max-width:760px){
  .verein-hero-original .verein-hero-image{object-position:center 68% !important;}
  .verein-page .verein-home-gallery{grid-template-columns:1fr 1fr;}
  .verein-page .verein-home-gallery img{height:150px !important;}
  .verein-page .verein-join{display:block;padding:30px 26px !important;}
  .verein-page .verein-join-action{margin-top:24px;}
}
@media(max-width:520px){.verein-page .verein-home-gallery{grid-template-columns:1fr;}}

/* 0.6.15 – Verein: vollständiger Hero-Ausschnitt, Register-Vorbereitung, Musikerheim-Historie, Mitgliedstext */
.verein-hero-original .verein-hero-image{
  aspect-ratio:3/1 !important;
  object-position:center 88% !important;
}
.verein-page .verein-intro-copy{max-width:900px;}
.verein-page .verein-register-note{
  margin-top:34px;
  padding:26px 28px;
  border:1px dashed var(--line);
  border-radius:18px;
  background:rgba(246,243,241,.55);
}
.verein-page .verein-register-note h3{margin:5px 0 8px;font-size:clamp(24px,2.4vw,32px);}
.verein-page .verein-register-note p{margin:0;max-width:760px;}
.verein-page .verein-home-gallery-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.verein-page .verein-home-gallery figure{margin:0;}
.verein-page .verein-home-gallery figure img{height:230px !important;}
.verein-page .verein-home-gallery figcaption{padding:8px 4px 0;font-size:.88rem;color:var(--muted);}
.verein-page .verein-membership{
  margin-top:26px;
  padding:42px 44px !important;
  border-radius:22px;
  background:#f4f1ef;
}
.verein-page .verein-membership h2{margin:5px 0 18px;}
.verein-page .verein-membership-lead{font-size:1.08rem;font-weight:700;max-width:900px;}
.verein-page .verein-membership-questions{margin:18px 0 20px;padding-left:24px;}
.verein-page .verein-membership-questions li{margin:5px 0;font-style:italic;}
.verein-page .verein-membership-call{margin-top:20px;}
.verein-page .verein-membership-button{display:inline-flex;margin-top:10px;text-decoration:none;}
@media(max-width:760px){
  .verein-hero-original .verein-hero-image{aspect-ratio:16/7 !important;object-position:center 84% !important;}
  .verein-page .verein-home-gallery-four{grid-template-columns:1fr;}
  .verein-page .verein-home-gallery figure img{height:auto !important;aspect-ratio:4/3;object-fit:cover;}
  .verein-page .verein-membership{padding:30px 26px !important;}
}

/* 0.6.16 – Verein: Kennzahlen betonen, TOC korrigieren, Musikerheim-Galerie kompakter */
.verein-content-shell .verein-main-column > .verein-facts{gap:16px !important;}
.verein-content-shell .verein-main-column > .verein-facts .verein-fact{
  padding:28px 24px !important;
  min-height:142px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.verein-content-shell .verein-main-column > .verein-facts .verein-fact strong{
  font-size:clamp(30px,2.5vw,40px) !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
  color:var(--red) !important;
  margin-bottom:13px !important;
}
.verein-content-shell .verein-main-column > .verein-facts .verein-fact span{
  font-size:1rem !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  color:var(--text) !important;
}
.verein-page .verein-home-gallery-four{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  align-items:start;
}
.verein-page .verein-home-gallery-four figure img{
  width:100% !important;
  height:145px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  border-radius:14px !important;
}
.verein-page .verein-home-gallery-four figcaption{font-size:.82rem !important;line-height:1.3;}
@media(max-width:980px){
  .verein-page .verein-home-gallery-four{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .verein-page .verein-home-gallery-four figure img{height:170px !important;}
}
@media(max-width:560px){
  .verein-page .verein-home-gallery-four{grid-template-columns:1fr !important;}
  .verein-page .verein-home-gallery-four figure img{height:auto !important;aspect-ratio:4/3 !important;}
}

/* 0.6.17 – Jugend & Ausbildung, strukturell analog zur Vereinsseite */
.jugend-content-shell{background:#fff;padding:0 0 76px}
.jugend-content-shell>.wrap{width:min(var(--max),calc(100% - 80px));max-width:var(--max)}
.jugend-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:54px;align-items:start;padding:54px 0 0}
.jugend-main-column{min-width:0}
.jugend-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}
.jugend-fact{min-height:136px;padding:27px 22px;border-radius:18px;background:var(--soft);display:flex;flex-direction:column;justify-content:center}
.jugend-fact strong{display:block;margin-bottom:10px;color:var(--red);font-size:clamp(26px,2.5vw,36px);font-weight:900;line-height:1}
.jugend-fact span{color:#554f4e;font-size:14px;font-weight:700;line-height:1.4}
.jugend-toc{position:sticky;top:110px;padding:26px 24px;border-radius:20px;background:var(--soft)}
.jugend-toc>strong{display:block;margin-bottom:14px;font-size:16px}
.jugend-toc a{display:block;padding:10px 0;border-bottom:1px solid rgba(58,55,55,.10);color:inherit;text-decoration:none;font-size:14px}
.jugend-toc a:last-child{border-bottom:0}.jugend-toc a:hover{color:var(--red)}
.jugend-page{width:100%;max-width:none;margin:0;padding:0}
.jugend-page .jugend-section{padding:48px 0;border-bottom:1px solid rgba(58,55,55,.10);scroll-margin-top:110px}
.jugend-page .jugend-section:first-child{padding-top:34px}
.jugend-page .jugend-section:last-child{border-bottom:0}
.jugend-page .jugend-kicker{display:block;margin-bottom:8px;color:var(--red);font-size:.82rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.jugend-page h2{margin:0 0 18px;font-size:clamp(32px,3vw,46px);line-height:1.05}
.jugend-page h3{margin:30px 0 10px;font-size:clamp(22px,2vw,28px)}
.jugend-page p{max-width:850px}
.jugend-page .ausbildung-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}
.jugend-page .ausbildung-card{padding:26px;border-radius:18px;background:var(--soft)}
.jugend-page .ausbildung-card h3{margin:0 0 10px;font-size:24px}
.jugend-page .ausbildung-card p:last-child{margin-bottom:0}
.jugend-page .jugendkapelle-image{width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:22px;margin-top:24px}
.jugend-page .jugend-contact-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:30px;align-items:center;padding:30px;border-radius:22px;background:var(--soft);margin-top:24px}
.jugend-page .jugend-contact-card img{width:170px;height:170px;object-fit:cover;border-radius:50%;box-shadow:none!important}
.jugend-page .jugend-contact-card h3{margin:4px 0 5px}
.jugend-page .jugend-contact-card .role{color:var(--red);font-weight:800}
.jugend-page .jugend-contact-card p{margin:5px 0}
.jugend-page .jugend-contact-card a{font-weight:700}
.jugend-page .downloads-note{margin-top:22px;padding:20px 24px;border-radius:16px;background:#fff;border:1px solid rgba(58,55,55,.10)}
@media(max-width:900px){.jugend-main-grid{grid-template-columns:1fr;gap:24px}.jugend-toc{position:static}.jugend-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.jugend-page .ausbildung-grid{grid-template-columns:1fr}}
@media(max-width:620px){.jugend-content-shell>.wrap{width:calc(100% - 28px)}.jugend-facts{grid-template-columns:1fr}.jugend-fact{min-height:0}.jugend-page .jugend-contact-card{grid-template-columns:1fr}.jugend-page .jugend-contact-card img{width:140px;height:140px}.jugend-page .jugend-section{padding:38px 0}}


/* Jugend 0.6.20: Konzeptbox + angeheftete Alterssticker */
.jugend-concept{
  width:100%;
  box-sizing:border-box;
  margin:0 0 38px;
  padding:30px 32px;
  border:1px solid rgba(58,55,55,.045);
  border-radius:20px;
  background:var(--soft);
}
.jugend-concept h2{
  margin:0 0 18px;
  color:var(--ink);
  font-size:clamp(24px,2.1vw,32px);
  font-weight:900;
  line-height:1.15;
}
.jugend-concept p{
  margin:0;
  color:#554f4e;
  font-size:17px;
  line-height:1.65;
}
.jugend-page .ausbildung-card{
  position:relative;
  overflow:visible;
  padding:32px 26px 26px;
}
.jugend-page .age-sticker{
  position:absolute;
  z-index:2;
  top:-17px;
  right:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:9px 15px;
  border:3px solid #fff;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  box-shadow:0 4px 10px rgba(58,55,55,.12);
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:.035em;
  text-transform:uppercase;
  transform:rotate(2deg);
}
@media(max-width:620px){
  .jugend-concept{padding:24px 22px;margin-bottom:32px}
  .jugend-concept p{font-size:16px}
  .jugend-page .age-sticker{right:14px}
}

/* 0.6.21 – Veranstaltungen */
.events-hero{padding-bottom:42px}
.events-hero p{max-width:760px}
.events-overview{padding:28px 0 70px;background:#fff}
.events-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.events-card{position:relative;display:flex;min-height:250px;flex-direction:column;padding:30px 28px 26px;border:1px solid var(--line);border-radius:20px;background:var(--soft);color:var(--ink);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.events-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(35,31,32,.07);border-color:#d9d0cc}
.events-card-badge{align-self:flex-start;margin-bottom:30px;padding:7px 12px;border-radius:999px;background:var(--red);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.events-card h2{margin:0 0 12px;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.08}
.events-card p{margin:0 0 24px;color:var(--muted);line-height:1.6}
.events-card-more{margin-top:auto;color:var(--red);font-weight:850}
.events-card-more span{display:inline-block;margin-left:8px;transition:transform .18s ease}
.events-card:hover .events-card-more span{transform:translateY(3px)}
.events-details{padding:0 0 82px;background:#fff}
.event-detail{scroll-margin-top:110px;padding:64px 0;border-top:1px solid var(--line)}
.event-detail:first-child{border-top:0}
.event-detail:nth-child(odd){position:relative}
.event-detail-head{max-width:900px;margin-bottom:26px}
.event-detail-head h2{margin:6px 0 0;font-size:clamp(2.15rem,4vw,3.55rem);line-height:1.03;letter-spacing:-.03em}
.event-detail-head h2 a{color:var(--ink);text-decoration:none}
.event-detail-head h2 a:hover{color:var(--red)}
.event-detail-body{max-width:1050px;font-size:1.03rem;line-height:1.75}
.event-detail-body > :first-child{margin-top:0}
.event-detail-body h3,.event-detail-body h4{margin-top:34px;color:var(--ink)}
.event-detail-body h3{padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:var(--soft);font-size:1.15rem}
.event-detail-body a{color:var(--red);font-weight:750}
.event-detail-body img{max-height:520px;width:auto;max-width:100%;object-fit:contain}
@media(min-width:1000px){
 .event-detail-body{column-count:1}
 .event-detail:nth-child(even){margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px;border-radius:22px;background:#fbf9f8;border-top-color:transparent}
}
@media(max-width:900px){.events-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){
 .events-overview{padding-top:12px;padding-bottom:48px}
 .events-card-grid{grid-template-columns:1fr}
 .events-card{min-height:0;padding:24px}
 .events-card-badge{margin-bottom:20px}
 .event-detail{padding:46px 0}
}

/* 0.6.22 – Beispielbilder für Veranstaltungsübersicht */
.events-card{padding:0 0 26px;overflow:hidden;background:var(--soft)}
.events-card-image{width:100%;height:150px;overflow:hidden;background:#ddd}
.events-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.events-card:hover .events-card-image img{transform:scale(1.025)}
.events-card-badge{position:absolute;top:18px;left:18px;margin:0;border:2px solid #fff;box-shadow:0 3px 9px rgba(35,31,32,.12)}
.events-card h2,.events-card p,.events-card-more{margin-left:26px;margin-right:26px}
.events-card h2{margin-top:20px}
.events-card p{margin-bottom:24px}
@media(max-width:620px){.events-card-image{height:175px}}


/* 0.6.23 – Footer wie im Entwurf */
.site-footer{padding:58px 0 24px;background:#f1eeec;border-top:1px solid #e5ddda}
.site-footer .foot{display:grid;grid-template-columns:1.25fr .65fr 1fr;gap:72px;align-items:start}
.site-footer .foot-brand img{width:245px;max-width:100%;margin-bottom:20px}
.site-footer .foot p,.site-footer .foot a{font-size:14px;color:var(--muted)}
.site-footer .foot-brand p{margin:0 0 10px;line-height:1.75}
.site-footer .foot-mail{display:inline-block !important;color:var(--ink) !important;font-weight:800;margin-top:4px !important}
.site-footer .foot-col strong{display:block;color:var(--ink);font-size:15px;margin:4px 0 15px}
.site-footer .foot-col>a:not(.btn){display:block;margin:8px 0}
.site-footer .foot-col>a:not(.btn):hover,.site-footer .foot-mail:hover{color:var(--red) !important}
.site-footer .foot-action p{margin:0 0 17px;max-width:360px;line-height:1.65}
.site-footer .foot-action .btn{display:inline-flex;color:#fff;font-size:14px;margin:0 0 10px}
.site-footer .foot-action .foot-contact{font-weight:800;color:var(--red);margin-top:4px}
.site-footer .legal{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:44px;padding-top:20px;border-top:1px solid #dcd3cf;font-size:12px;color:var(--muted)}
.site-footer .legal div{display:flex;gap:20px}
.site-footer .legal a{color:var(--muted)}
.site-footer .legal a:hover{color:var(--red)}
@media(max-width:900px){.site-footer .foot{grid-template-columns:1fr 1fr;gap:38px}.site-footer .foot-action{grid-column:1/-1}}
@media(max-width:620px){.site-footer{padding-top:44px}.site-footer .foot{grid-template-columns:1fr;gap:32px}.site-footer .foot-action{grid-column:auto}.site-footer .legal{align-items:flex-start;flex-direction:column;gap:10px;margin-top:34px}.site-footer .foot-brand img{width:220px}}

/* 0.6.24 – Footer-Navigation über Joomla-Modulposition footernavi */
.site-footer .foot-nav ul{list-style:none;margin:0;padding:0}
.site-footer .foot-nav li{margin:0;padding:0}
.site-footer .foot-nav li+li{margin-top:8px}
.site-footer .foot-nav a{display:block;margin:0;color:var(--muted);font-size:14px;text-decoration:none}
.site-footer .foot-nav a:hover,.site-footer .foot-nav .active>a{color:var(--red)}
.site-footer .foot-nav .mod-menu{margin:0;padding:0}


/* 0.6.25 – Footer-Navigation und Lyra-Shop CTA */
.site-footer .foot-nav{padding-top:4px}
.site-footer .foot-nav .mod-menu{display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:0 !important;width:100%}
.site-footer .foot-nav .mod-menu>li{display:block !important;width:100%;margin:0 !important;border-bottom:1px solid #ddd5d1}
.site-footer .foot-nav .mod-menu>li:last-child{border-bottom:0}
.site-footer .foot-nav .mod-menu>li>a{display:block !important;width:100%;padding:9px 0 !important;margin:0 !important;line-height:1.35}
.site-footer .foot-nav .mod-menu>li>a:hover{padding-left:4px !important}
.shop-pill{gap:9px;background:#9f3028 !important;color:#fff !important;box-shadow:0 6px 18px rgba(99,27,22,.16);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.shop-pill:hover{background:#84261f !important;color:#fff !important;transform:translateY(-1px);box-shadow:0 8px 22px rgba(99,27,22,.22)}
.shop-pill-icon{display:inline-flex;width:19px;height:19px;align-items:center;justify-content:center}
.shop-pill-icon svg{display:block;width:100%;height:100%;fill:currentColor}
@media(max-width:900px){.shop-pill{display:none}}

/* 0.6.27 – gut erkennbare Textlinks im Inhaltsbereich */
.detail-main .prose a:not(.btn):not(.pill),
.detail-main .com-content-article__body a:not(.btn):not(.pill),
.detail-main .item-page a:not(.btn):not(.pill){color:#9f3028;text-decoration-color:rgba(159,48,40,.35);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease}
.detail-main .prose a:not(.btn):not(.pill):hover,
.detail-main .com-content-article__body a:not(.btn):not(.pill):hover,
.detail-main .item-page a:not(.btn):not(.pill):hover{color:#84261f;text-decoration-color:currentColor}
/* Bilderlinks und speziell gestaltete Überschriften bleiben neutral. */
.detail-main .prose a:has(> img),
.detail-main .com-content-article__body a:has(> img),
.detail-main .item-page a:has(> img),
.detail-main .event-detail-head h2 a{color:inherit;text-decoration:none}

/* 0.6.29 – Jugend-Sticker und Kartenlinks in dunklem Interaktionsrot */
.jugend-page .age-sticker{background:#9f3028}
.jugend-page .ausbildung-card a:not(.btn):not(.pill){color:#9f3028;font-weight:700;text-decoration-color:rgba(159,48,40,.35);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .18s ease,text-decoration-color .18s ease}
.jugend-page .ausbildung-card a:not(.btn):not(.pill):hover{color:#84261f;text-decoration-color:currentColor}

/* 0.6.30 – Chronologie als alternierender Zeitstrahl */
.lyra-timeline {
  --timeline-accent: #a8322a;
  --timeline-line: #ded7d2;
  position: relative;
  max-width: 1180px;
  margin: 1.5rem auto 4rem;
  padding: .5rem 0;
}
.lyra-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: var(--timeline-line);
  transform: translateX(-50%);
}
.lyra-timeline__item {
  position: relative;
  width: 50%;
  padding: 0 3.25rem 2.25rem;
  box-sizing: border-box;
}
.lyra-timeline__item--left { margin-right: 50%; text-align: right; }
.lyra-timeline__item--right { margin-left: 50%; text-align: left; }
.lyra-timeline__marker {
  position: absolute;
  top: .55rem;
  width: 16px;
  height: 16px;
  border: 4px solid #fff;
  border-radius: 50%;
  background: var(--timeline-accent);
  box-shadow: 0 0 0 2px var(--timeline-accent);
  z-index: 2;
}
.lyra-timeline__item--left .lyra-timeline__marker { right: -8px; }
.lyra-timeline__item--right .lyra-timeline__marker { left: -8px; }
.lyra-timeline__card {
  display: inline-block;
  width: 100%;
  max-width: 500px;
  text-align: left;
  background: #f7f4f2;
  border-radius: 20px;
  padding: 1.35rem 1.5rem 1.45rem;
  box-shadow: 0 8px 28px rgba(43, 36, 32, .055);
}
.lyra-timeline__year {
  color: var(--timeline-accent);
  font-size: clamp(1.55rem, 2.2vw, 2.15rem);
  line-height: 1;
  font-weight: 800;
  margin-bottom: .85rem;
  letter-spacing: -.02em;
}
.lyra-timeline__body h3 {
  margin: 0 0 .7rem;
  font-size: 1.25rem;
}
.lyra-timeline__body p { margin: 0 0 .85rem; }
.lyra-timeline__body p:last-child { margin-bottom: 0; }
.lyra-timeline__body .timeline-image {
  display: inline-block;
  width: auto;
  max-width: 100%;
  max-height: 310px;
  margin: .45rem .5rem .25rem 0;
  border-radius: 14px;
  object-fit: contain;
}
.lyra-timeline__item--milestone .lyra-timeline__card {
  border: 1px solid rgba(168, 50, 42, .22);
}
.lyra-timeline__item--milestone .lyra-timeline__marker {
  width: 20px;
  height: 20px;
  top: .4rem;
}
.lyra-timeline__item--left.lyra-timeline__item--milestone .lyra-timeline__marker { right: -10px; }
.lyra-timeline__item--right.lyra-timeline__item--milestone .lyra-timeline__marker { left: -10px; }

@media (max-width: 820px) {
  .lyra-timeline { margin-top: 1rem; padding-left: 1.4rem; }
  .lyra-timeline::before { left: 8px; transform: none; }
  .lyra-timeline__item,
  .lyra-timeline__item--left,
  .lyra-timeline__item--right {
    width: 100%;
    margin: 0;
    padding: 0 0 1.5rem 1.75rem;
    text-align: left;
  }
  .lyra-timeline__item--left .lyra-timeline__marker,
  .lyra-timeline__item--right .lyra-timeline__marker,
  .lyra-timeline__item--left.lyra-timeline__item--milestone .lyra-timeline__marker,
  .lyra-timeline__item--right.lyra-timeline__item--milestone .lyra-timeline__marker {
    left: -1.85rem;
    right: auto;
  }
  .lyra-timeline__card { max-width: none; padding: 1.1rem 1.15rem 1.2rem; border-radius: 16px; }
}

/* 0.6.31 – Chronologie auf großen Bildschirmen breiter ausnutzen */
@media (min-width: 821px) {
  .lyra-timeline {
    width: min(1440px, calc(100vw - 96px));
    max-width: none;
    margin-left: 50%;
    margin-right: 0;
    transform: translateX(-50%);
  }
  .lyra-timeline__item {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .lyra-timeline__card {
    max-width: 620px;
  }
}


/* 0.6.32 – Chronologie: neu nach alt + historische Vereinsleitung */
.lyra-history-leadership{max-width:1440px;margin:clamp(3.5rem,7vw,6rem) auto 1rem;padding:clamp(2rem,4vw,3.5rem);background:#f5f1ef;border-radius:28px;}
.lyra-history-leadership__intro{max-width:820px;margin-bottom:2rem;}
.lyra-history-leadership__intro .eyebrow{display:block;margin-bottom:.55rem;color:#a9342a;font-weight:800;letter-spacing:.11em;font-size:.78rem;}
.lyra-history-leadership__intro h2{margin:0 0 .65rem;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.05;}
.lyra-history-leadership__intro p{margin:0;color:#5f5652;}
.lyra-history-leadership__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,2.5vw,2rem);}
.lyra-history-list{background:#fff;border-radius:20px;padding:clamp(1.25rem,2.5vw,2rem);box-shadow:0 10px 30px rgba(44,34,30,.04);}
.lyra-history-list h3{margin:0 0 1rem;font-size:1.45rem;}
.lyra-history-list__row{display:grid;grid-template-columns:minmax(90px,135px) 1fr;gap:1rem;align-items:baseline;padding:.8rem 0;border-top:1px solid #e8e0dc;}
.lyra-history-list__row span{color:#a9342a;font-weight:800;}
.lyra-history-list__row strong{font-weight:650;}
@media (max-width:800px){.lyra-history-leadership__grid{grid-template-columns:1fr}.lyra-history-leadership{border-radius:20px;padding:1.25rem}.lyra-history-list__row{grid-template-columns:105px 1fr;gap:.65rem}}

/* 0.6.33 – compact timeline image groups */
.lyra-timeline__body:has(> .timeline-image + .timeline-image){display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-start;}
.lyra-timeline__body:has(> .timeline-image + .timeline-image) > p,.lyra-timeline__body:has(> .timeline-image + .timeline-image) > h3{flex:0 0 100%;}
.lyra-timeline__body:has(> .timeline-image + .timeline-image) > .timeline-image{margin:.35rem 0 0;max-width:calc(50% - .375rem);max-height:260px;object-fit:contain;}
@media (max-width:560px){.lyra-timeline__body:has(> .timeline-image + .timeline-image) > .timeline-image{max-width:100%;}}


/* Registergalerie Verein – 0.6.34 */
.verein-page .verein-registers{margin-top:clamp(34px,5vw,64px);}
.verein-page .verein-registers-head{margin-bottom:22px;}
.verein-page .verein-registers-head h3{margin:5px 0 8px;font-size:clamp(28px,3vw,40px);}
.verein-page .verein-registers-head p{margin:0;max-width:780px;}
.verein-page .verein-register-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.verein-page .verein-register-card{position:relative;margin:0;overflow:hidden;border-radius:22px;background:#f5f2f0;box-shadow:0 10px 28px rgba(47,42,40,.07);aspect-ratio:4/3;}
.verein-page .verein-register-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .3s ease;}
.verein-page .verein-register-card:hover img{transform:scale(1.025);}
.verein-page .verein-register-card figcaption{position:absolute;left:14px;bottom:14px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.94);color:#332f2e;font-weight:800;font-size:15px;line-height:1.2;box-shadow:0 4px 14px rgba(0,0,0,.10);}
@media (max-width:900px){.verein-page .verein-register-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:580px){.verein-page .verein-register-grid{grid-template-columns:1fr;gap:14px}.verein-page .verein-register-card{aspect-ratio:4/3;}}

/* 0.6.36 – Kontakt CTA: weiße Button-Schrift gegen globale Linkfarbe absichern */
.contact-content .contact-join a.button,
.contact-content .contact-join a.button:link,
.contact-content .contact-join a.button:visited,
.contact-content .contact-join a.button:hover,
.contact-content .contact-join a.button:focus-visible{
  color:#fff !important;
}


/* 0.6.37 – Social-Media-Links im Footer */
.site-footer .foot-social{display:flex;align-items:center;gap:10px;margin-top:16px}
.site-footer .foot-social a{display:inline-flex !important;align-items:center;justify-content:center;width:40px;height:40px;margin:0 !important;border:1px solid #d8cfcb;border-radius:50%;background:#fff;color:#a9342a !important;transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease}
.site-footer .foot-social a:hover{background:#a9342a;color:#fff !important;border-color:#a9342a;transform:translateY(-2px)}
.site-footer .foot-social svg{width:19px;height:19px;fill:currentColor}

/* 0.6.38 – Beitrittserklärung / Visforms */
.detail-main .visforms-form-form{max-width:1180px;margin:0 auto;padding:clamp(32px,5vw,72px) 24px 80px;}
.detail-main .visforms-form-form>h1{margin:0 0 18px;font-size:clamp(2.7rem,6vw,5rem);line-height:.98;letter-spacing:-.04em;color:#373333;}
.detail-main .visforms-form-form .category-desc{font-size:1.05rem;line-height:1.75;color:#443e3b;}
.detail-main .visforms-form-form .category-desc>p:first-child{font-size:1.25rem;font-weight:700;max-width:850px;margin-bottom:24px;}
.detail-main .visforms-form-form .category-desc ul{margin:24px 0;padding:22px 28px 22px 48px;background:#f5f1ef;border-radius:20px;}
.detail-main .visforms-form-form .category-desc hr{border:0;border-top:1px solid #e2d9d5;margin:42px 0 26px;}
.detail-main .visforms-form-form form{margin-top:28px;padding:clamp(24px,4vw,44px);background:#f7f4f2;border:1px solid #e6ded9;border-radius:26px;box-shadow:0 12px 34px rgba(52,43,39,.05);}
.detail-main .visforms-form-form fieldset{border:0;margin:0;padding:0;min-width:0;}
.detail-main .visforms-form-form .vis_mandatory{margin:0 0 22px;color:#9f3028;font-weight:800;font-size:.9rem;}
.detail-main .visforms-form-form fieldset>div[class^="field"]{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:18px;align-items:center;margin:0 0 17px;}
.detail-main .visforms-form-form label{font-weight:750;color:#332f2e;line-height:1.3;}
.detail-main .visforms-form-form .required>label:after{content:" *";color:#9f3028;}
.detail-main .visforms-form-form input[type="text"],.detail-main .visforms-form-form input[type="email"],.detail-main .visforms-form-form input[type="number"],.detail-main .visforms-form-form input[type="tel"],.detail-main .visforms-form-form select,.detail-main .visforms-form-form textarea{width:100%;min-height:48px;padding:10px 14px;border:1px solid #d8ceca;border-radius:11px;background:#fff;color:#332f2e;font:inherit;box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease;}
.detail-main .visforms-form-form input:focus,.detail-main .visforms-form-form select:focus,.detail-main .visforms-form-form textarea:focus{outline:0;border-color:#9f3028;box-shadow:0 0 0 3px rgba(159,48,40,.12);}
.detail-main .visforms-form-form .field-calendar .input-append{display:flex;gap:8px;align-items:stretch;}
.detail-main .visforms-form-form .field-calendar input{flex:1;}
.detail-main .visforms-form-form .field-calendar button{width:48px;border:0;border-radius:11px;background:#9f3028;color:#fff;}
.detail-main .visforms-form-form hr.visCSStop10{grid-column:1/-1;width:100%;border:0;border-top:1px solid #ded5d1;margin:16px 0 8px;}
.detail-main .visforms-form-form .field17,.detail-main .visforms-form-form .field18{grid-template-columns:26px 1fr !important;align-items:start !important;padding:18px 20px;margin-top:10px !important;background:#fff;border:1px solid #e4dcd8;border-radius:16px;}
.detail-main .visforms-form-form .field17>label,.detail-main .visforms-form-form .field18>label{display:none;}
.detail-main .visforms-form-form input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:2px 0 0;border:2px solid #b8aaa4;border-radius:6px;background:#fff;cursor:pointer;}
.detail-main .visforms-form-form input[type="checkbox"]:checked{border-color:#9f3028;background:#9f3028;box-shadow:inset 0 0 0 4px #fff;}
.detail-main .visforms-form-form .visCustomText p{margin:0;line-height:1.55;}
.detail-main .visforms-form-form .visCustomText a{color:#9f3028;font-weight:750;}
.detail-main .visforms-form-form .visBtnCon{margin-top:30px;padding-top:26px;border-top:1px solid #ded5d1;}
.detail-main .visforms-form-form .visBtnCon input.btn{appearance:none;border:0;border-radius:999px;padding:14px 24px;background:#9f3028;color:#fff;font:800 1rem/1.2 inherit;cursor:pointer;box-shadow:0 8px 20px rgba(159,48,40,.18);}
.detail-main .visforms-form-form .visBtnCon input.btn:hover:not(:disabled){background:#84261f;transform:translateY(-1px);}
.detail-main .visforms-form-form .visBtnCon input.btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none;}
.detail-main .visforms-form-form .visBtnCon .visCustomText{margin-top:20px;color:#625956;font-size:.95rem;}
.detail-main .visforms-form-form .visCSSclear,.detail-main .visforms-form-form .fc-tbxfield4,.detail-main .visforms-form-form [class^="fc-tbxfield"]{display:none;}
@media(max-width:720px){.detail-main .visforms-form-form{padding-left:18px;padding-right:18px}.detail-main .visforms-form-form form{padding:20px;border-radius:20px}.detail-main .visforms-form-form fieldset>div[class^="field"]{grid-template-columns:1fr;gap:7px}.detail-main .visforms-form-form .field17,.detail-main .visforms-form-form .field18{grid-template-columns:26px 1fr !important}.detail-main .visforms-form-form .category-desc ul{padding-left:38px}}

/* 0.6.39 – Verein: Mitglied-Anker lokal, Beitrittslink dunkelrot */
.verein-page .verein-membership-link{
  display:inline-flex;
  align-items:center;
  margin-top:10px;
  color:#a93228 !important;
  font-weight:800;
  text-decoration:none;
}
.verein-page .verein-membership-link:hover,
.verein-page .verein-membership-link:focus{
  color:#7f251e !important;
  text-decoration:underline;
}

/* 0.6.40 – Beitrittslink im Mitglied-Abschnitt sicher in Link-Rot */
.verein-membership a,
.verein-membership a:link,
.verein-membership a:visited,
a[href="/beitrittserklaerung.html"].verein-link,
a[href="/beitrittserklaerung.html"].verein-membership-link{
  color:#a93228 !important;
  font-weight:800;
}
.verein-membership a:hover,
.verein-membership a:focus,
a[href="/beitrittserklaerung.html"].verein-link:hover,
a[href="/beitrittserklaerung.html"].verein-membership-link:hover{
  color:#7f251e !important;
  text-decoration:underline;
}

/* 0.6.44 – Startseite: Vereinsblock ohne doppeltes Gruppenfoto */
.feature-club{align-items:stretch}
.club-themes{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;min-height:390px}
.club-theme{position:relative;overflow:hidden;border-radius:26px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:var(--soft);border:1px solid rgba(62,57,57,.06)}
.club-theme:first-child{grid-row:1 / 3;background:linear-gradient(155deg,#3e3939 0%,#2f2b2b 100%);color:#fff}
.club-theme:nth-child(2){background:linear-gradient(145deg,#f4ece9 0%,#eee3df 100%)}
.club-theme:nth-child(3){background:linear-gradient(145deg,#f7f4f2 0%,#eeeae7 100%)}
.club-theme:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-55px;top:-55px;background:rgba(174,51,42,.10)}
.club-theme:first-child:before{background:rgba(255,255,255,.07);width:240px;height:240px;right:-80px;top:-70px}
.club-theme-icon{position:absolute;left:28px;top:24px;font-size:42px;line-height:1;color:#a9342b;font-weight:700}
.club-theme:first-child .club-theme-icon{color:#fff}
.club-theme strong{position:relative;font-size:clamp(23px,2.2vw,32px);line-height:1.05;letter-spacing:-.025em}
.club-theme>span:last-child{position:relative;margin-top:7px;font-size:15px;opacity:.76}
@media(max-width:900px){.club-themes{min-height:0;grid-template-columns:1fr 1fr;grid-template-rows:auto}.club-theme,.club-theme:first-child{grid-row:auto;min-height:190px}.club-theme:first-child{grid-column:1 / -1;min-height:230px}}
@media(max-width:560px){.club-themes{grid-template-columns:1fr}.club-theme:first-child{grid-column:auto}.club-theme,.club-theme:first-child{min-height:175px}}

/* 0.6.47 – Startseite: höheres, schmaleres Zufallsbild im Vereinsblock */
@media(min-width:901px){
  .feature-club{grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:58px;align-items:center}
  .feature-club-image{width:100%;max-width:470px;justify-self:start}
  .feature-club .feature-club-image img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:26px}
}
@media(max-width:900px){
  .feature-club .feature-club-image img{aspect-ratio:4/3;object-fit:cover}
}

/* 0.6.49 – Sponsorenraster Startseite */
.home-sponsors{overflow:hidden}
.home-sponsors .sponsor-intro{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:28px}
.home-sponsors .sponsor-intro h2{margin:5px 0 8px}
.home-sponsors .sponsor-intro p{margin:0;max-width:850px}
.home-sponsors .sponsor-cta{flex:0 0 auto;padding-bottom:3px}
.home-sponsors .sponsor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;width:100%}
.home-sponsors .sponsor-logo{display:flex;align-items:center;justify-content:center;min-width:0;height:150px;padding:20px;background:#fff;border:1px solid #e7dfdb;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(48,42,39,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.home-sponsors .sponsor-logo:hover{transform:translateY(-2px);border-color:#d8cbc6;box-shadow:0 10px 26px rgba(48,42,39,.08)}
.home-sponsors .sponsor-logo img{display:block !important;width:auto !important;height:auto !important;max-width:100% !important;max-height:105px !important;object-fit:contain !important;margin:0 auto !important}
@media(max-width:1150px){.home-sponsors .sponsor-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:850px){.home-sponsors .sponsor-intro{display:block}.home-sponsors .sponsor-cta{margin-top:14px}.home-sponsors .sponsor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-sponsors .sponsor-logo{height:135px}}
@media(max-width:620px){.home-sponsors .sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-sponsors .sponsor-logo{height:115px;padding:14px;border-radius:14px}.home-sponsors .sponsor-logo img{max-height:82px !important}}


/* 0.6.51 – Termine: Kalender abonnieren */
.calendar-subscribe{padding:0 0 88px;background:#fff}
.calendar-subscribe .wrap{border-top:1px solid var(--line);padding-top:58px}
.calendar-subscribe-head{max-width:850px;margin-bottom:30px}
.calendar-subscribe-head h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.06;letter-spacing:-.035em;margin:7px 0 14px}
.calendar-subscribe-head p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.7}
.calendar-subscribe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.calendar-subscribe-card{display:grid;grid-template-columns:54px 1fr;gap:18px 20px;align-items:start;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--soft);min-width:0}
.calendar-subscribe-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:16px;background:#fff;color:#a93228;box-shadow:0 5px 18px rgba(48,42,39,.05)}
.calendar-subscribe-icon svg{width:27px;height:27px;fill:currentColor}
.calendar-subscribe-card h3{margin:2px 0 8px;font-size:1.3rem;line-height:1.2}
.calendar-subscribe-card p{margin:0;color:var(--muted);line-height:1.65}
.calendar-subscribe-link{grid-column:2;justify-self:start;color:#a93228!important;font-weight:850;text-decoration:none!important}
.calendar-subscribe-link:hover,.calendar-subscribe-link:focus{color:#7f251e!important;text-decoration:underline!important}
.calendar-subscribe-note{margin:18px 0 0;color:var(--muted);font-size:.9rem}
@media(max-width:760px){.calendar-subscribe{padding-bottom:60px}.calendar-subscribe .wrap{padding-top:42px}.calendar-subscribe-grid{grid-template-columns:1fr}.calendar-subscribe-card{padding:22px;grid-template-columns:46px 1fr;gap:15px}.calendar-subscribe-icon{width:46px;height:46px;border-radius:14px}.calendar-subscribe-icon svg{width:23px;height:23px}.calendar-subscribe-link{grid-column:1/-1}}

/* 0.6.52 – Kalenderkarten und Instrumentalausbildung */
.calendar-subscribe-icon svg{display:block!important;width:27px!important;height:27px!important;max-width:27px!important;max-height:27px!important;min-width:27px!important;min-height:27px!important}
@media(max-width:760px){.calendar-subscribe-icon svg{width:23px!important;height:23px!important;max-width:23px!important;max-height:23px!important;min-width:23px!important;min-height:23px!important}}
.jugend-page .instrument-training-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:42px;align-items:center}
.jugend-page .instrument-training-copy p{max-width:680px}
.jugend-page .instrument-training-image{margin:0;align-self:center}
.jugend-page .instrument-training-image img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;background:#fff;border-radius:22px}
@media(max-width:760px){.jugend-page .instrument-training-layout{grid-template-columns:1fr;gap:24px}.jugend-page .instrument-training-image img{max-height:none}}


/* 0.6.57 – echte Veranstaltungsbilder und kompakte Bildergalerien */
.events-card-image{height:190px}
.events-card-image img{object-position:center}
.event-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}
.event-photo{margin:0;overflow:hidden;border-radius:18px;background:var(--soft);box-shadow:0 10px 28px rgba(35,31,32,.06)}
.event-photo img{display:block;width:100%;height:280px;object-fit:cover}
.event-photo-grid--3 .event-photo:first-child{grid-column:1/-1}
.event-photo-grid--3 .event-photo:first-child img{height:360px}
.event-photo-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:620px){.events-card-image{height:190px}.event-photo-grid{grid-template-columns:1fr;gap:12px}.event-photo-grid--3 .event-photo:first-child{grid-column:auto}.event-photo img,.event-photo-grid--3 .event-photo:first-child img{height:auto;max-height:360px;object-fit:cover}}

/* 0.6.58: compact event galleries inside article content */
.event-detail .event-photo-grid{max-width:1080px;margin:30px auto 0;gap:14px}
.event-detail .event-photo img{height:220px}
.event-detail .event-photo-grid--3 .event-photo:first-child{grid-column:auto}
.event-detail .event-photo-grid--3 .event-photo:first-child img{height:220px}
@media(max-width:900px){.event-detail .event-photo-grid{max-width:820px}.event-detail .event-photo img,.event-detail .event-photo-grid--3 .event-photo:first-child img{height:200px}}
@media(max-width:620px){.event-detail .event-photo-grid{grid-template-columns:1fr}.event-detail .event-photo img,.event-detail .event-photo-grid--3 .event-photo:first-child img{height:auto;max-height:320px}}

/* 0.6.59: Veranstaltungsgalerien an der linken Textkante ausrichten */
.event-detail .event-photo-grid{
  margin-left:0;
  margin-right:auto;
}

/* 0.6.67 – Backhausfest: vollständige Gesichter im vierten Galeriebild */
.event-photo:has(> img[src*="backhausfest-04.jpg"]){position:relative;isolation:isolate;background:#eee8e2}
.event-photo:has(> img[src*="backhausfest-04.jpg"])::before{content:"";position:absolute;inset:-12px;background:url('../media/events/backhausfest/backhausfest-04.jpg') center/cover no-repeat;filter:blur(14px);opacity:.48;z-index:-1}
.event-photo > img[src*="backhausfest-04.jpg"]{object-fit:contain !important;object-position:center !important;position:relative;z-index:1}

/* 0.6.70 – Posaunen: oberer Bildbereich sichtbar, unten stärker beschnitten */
.verein-page .verein-register-card img[src*="/register/posunen.png"]{object-fit:cover !important;object-position:center top !important;}


/* 0.6.77 – compact mobile event cards; desktop schedule remains unchanged */
@media (max-width:760px){
 .termine-page table.eventlist{border:0;box-shadow:none;background:transparent;overflow:visible}
 .termine-page table.eventlist tbody{display:grid;gap:12px}
 .termine-page table.eventlist tbody tr:not(.mv-year-row){
   display:grid;grid-template-columns:88px minmax(0,1fr);grid-template-rows:auto auto auto;
   column-gap:14px;row-gap:5px;align-items:start;
   padding:16px;border:1px solid #e3dedb;border-radius:16px;background:#fff;
   box-shadow:0 4px 15px rgba(47,39,36,.025)
 }
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td{
   display:block!important;min-width:0;width:auto!important;margin:0!important;
   padding:0!important;border:0!important;background:transparent!important;
   white-space:normal!important;line-height:1.4
 }
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td.mv-date{
   grid-column:1;grid-row:1 / span 3;align-self:start;
   padding:12px 5px!important;border-radius:12px!important;
   background:#f5f2f0!important;text-align:center;font-size:.84rem!important;
   font-weight:900;color:var(--red);overflow-wrap:anywhere
 }
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td.mv-title{
   grid-column:2;grid-row:1;font-size:1.03rem!important;font-weight:850;
   color:var(--ink);padding-top:3px!important
 }
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td.mv-time{
   grid-column:2;grid-row:2;font-size:.88rem;color:var(--muted)
 }
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td.mv-place{
   grid-column:2;grid-row:3;font-size:.88rem;color:var(--muted);overflow-wrap:anywhere
 }
 .termine-page table.eventlist tbody td.mv-time::before,
 .termine-page table.eventlist tbody td.mv-place::before{content:none!important;display:none!important}
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td.mv-time:not(.mv-empty)::before{
   content:'◷'!important;display:inline!important;margin-right:7px;color:var(--red);font-weight:700
 }
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td.mv-place:not(.mv-empty)::before{
   content:'⌖'!important;display:inline!important;margin-right:7px;color:var(--red);font-weight:700
 }
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td.mv-empty{display:none!important}
 .termine-page table.eventlist .mv-year-row{display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
 .termine-page table.eventlist .mv-year-row td{display:block!important;padding:8px 0 2px!important;background:transparent!important;border:0!important}
}
@media(max-width:380px){
 .termine-page table.eventlist tbody tr:not(.mv-year-row){grid-template-columns:78px minmax(0,1fr);gap:4px 10px;padding:12px}
 .termine-page table.eventlist tbody tr:not(.mv-year-row) td.mv-date{font-size:.78rem!important}
}

/* Jugendschutzkonzept – Jugendseite (0.6.78) */
.lyra-schutz{margin:48px 0 24px;scroll-margin-top:110px}
.lyra-schutz-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(190px,.7fr);gap:24px;padding:28px;border:1px solid #e8e3e0;border-radius:22px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.035)}
.lyra-schutz-kicker{font-size:.78rem;letter-spacing:.09em;font-weight:800;color:#b51e2a;margin-bottom:12px}
.lyra-schutz-kicker span{font-size:1.25rem;margin-right:8px}
.lyra-schutz h2{font-size:clamp(1.55rem,2.5vw,2.35rem);line-height:1.14;margin:0 0 22px;color:#26303a}
.lyra-schutz-copy p{line-height:1.65;color:#3e4954;margin:0 0 14px}
.lyra-schutz .lyra-schutz-button{display:inline-flex;align-items:center;justify-content:center;gap:15px;max-width:100%;padding:13px 20px;margin:12px 0 8px;background:#bc1e2a;color:#fff!important;text-decoration:none!important;font-weight:750;border-radius:40px;text-align:center}
.lyra-schutz .lyra-schutz-button:hover,.lyra-schutz .lyra-schutz-button:focus{background:#971722;color:#fff!important}
.lyra-schutz .lyra-schutz-meta{font-size:.82rem;color:#66717b;margin:0}
.lyra-schutz-photo{margin:0;min-width:0;overflow:hidden;border-radius:18px;background:#f7f4f1}
.lyra-schutz-photo img{display:block;width:100%;height:100%;min-height:290px;object-fit:cover}
.lyra-schutz-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:14px;padding:22px 18px;background:#faf8f7;border:1px solid #ede7e3;border-radius:18px}
.lyra-schutz-values>div{padding:0 18px;border-right:1px solid #e3dcda}
.lyra-schutz-values>div:last-child{border-right:0}
.lyra-schutz-values strong{display:block;color:#b51e2a;font-size:1.04rem;margin-bottom:8px}
.lyra-schutz-values p{margin:0;color:#4b5661;line-height:1.5;font-size:.94rem}
@media(max-width:760px){.lyra-schutz-inner{grid-template-columns:1fr;padding:20px}.lyra-schutz-photo img{height:210px;min-height:0}.lyra-schutz-values{grid-template-columns:1fr;padding:12px 18px}.lyra-schutz-values>div{border-right:0;border-bottom:1px solid #e3dcda;padding:14px 2px}.lyra-schutz-values>div:last-child{border-bottom:0}}
@media(max-width:420px){.lyra-schutz-inner{padding:16px}.lyra-schutz .lyra-schutz-button{width:100%;font-size:.9rem}}

/* 0.6.80: Symbole der drei Jugendschutz-Grundsaetze */
.lyra-schutz-values>.lyra-schutz-value{display:flex;align-items:flex-start;gap:16px}
.lyra-schutz-value-copy{min-width:0;flex:1}
.lyra-schutz-icon{display:block;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background-color:#f9e9e9;background-position:center;background-repeat:no-repeat;background-size:34px 34px}



@media(max-width:420px){.lyra-schutz-values>.lyra-schutz-value{gap:12px}.lyra-schutz-icon{flex-basis:48px;width:48px;height:48px;background-size:29px 29px}}

/* Jugendschutz icons are actual PNG images for Joomla editor compatibility */
.lyra-schutz-values img.lyra-schutz-icon{display:block;object-fit:contain;background:none;border-radius:50%;}

/* 0.6.83: Icon rendering from template, independent of Joomla article editor */
.lyra-schutz-values > .lyra-schutz-value::before {
 content:"";display:block;flex:0 0 58px;width:58px;height:58px;
 border-radius:50%;background-color:#f9e9e9;
 background-repeat:no-repeat;background-position:center;background-size:42px 42px;
}
.lyra-schutz-values > .lyra-schutz-value:nth-child(1)::before {background-image:url("../images/jugend/schutz-people.png");}
.lyra-schutz-values > .lyra-schutz-value:nth-child(2)::before {background-image:url("../images/jugend/schutz-shield.png");}
.lyra-schutz-values > .lyra-schutz-value:nth-child(3)::before {background-image:url("../images/jugend/schutz-handshake.png");}
.lyra-schutz-values > .lyra-schutz-value > img.lyra-schutz-icon {display:none!important;}
@media(max-width:760px){.lyra-schutz-values > .lyra-schutz-value::before {flex-basis:48px;width:48px;height:48px;background-size:34px 34px;}}

/* 0.6.84: kompakte, responsive Jugend-Downloads */
.jugend-page .jugend-downloads{margin-top:26px}
.jugend-page .jugend-downloads>h3{margin:0 0 16px;font-size:clamp(1.2rem,2vw,1.55rem)}
.jugend-page .jugend-downloads-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.jugend-page .jugend-download-card{min-width:0;display:flex;flex-direction:column;align-items:flex-start;padding:22px 17px 20px;border:1px solid #e9e3e2;border-radius:18px;background:#fff;box-shadow:0 4px 16px rgba(40,30,30,.035)}
.jugend-page .jugend-download-card::before{content:"";display:block;flex:none;width:64px;height:64px;margin:0 0 16px;border-radius:50%;background-color:#fceeed;background-repeat:no-repeat;background-position:center;background-size:40px 40px}
.jugend-page .jugend-download-form::before{background-image:url('/templates/mvlyra/images/jugend/download-form.svg')}
.jugend-page .jugend-download-rules::before{background-image:url('/templates/mvlyra/images/jugend/download-rules.svg')}
.jugend-page .jugend-download-card h4{font-size:clamp(.94rem,1.25vw,1.13rem);line-height:1.35;margin:0 0 10px;font-weight:750;overflow-wrap:anywhere;color:#263239}
.jugend-page .jugend-download-card p{font-size:.93rem;line-height:1.5;margin:0 0 18px;color:#4b5962}
.jugend-page .jugend-download-card a{margin-top:auto;color:#b91f28;font-size:.94rem;font-weight:700;text-decoration:none}
.jugend-page .jugend-download-card a:hover{text-decoration:underline}
.jugend-page .jugend-download-card a:focus-visible{outline:2px solid #b91f28;outline-offset:4px;border-radius:3px}
@media(max-width:1050px){.jugend-page .jugend-downloads-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.jugend-page .jugend-downloads-grid{grid-template-columns:1fr}.jugend-page .jugend-download-card{padding:20px}.jugend-page .jugend-download-card::before{width:58px;height:58px;background-size:36px 36px}}

/* Blockfloeten-Ausbildung: Joomla-Beitrag, Version 0.6.86 */
.lyra-flute{--fl-red:#c7473d;--fl-ink:#393738;--fl-muted:#66636a;color:var(--fl-ink);max-width:1120px;margin:0 auto}
.lyra-flute *{box-sizing:border-box}.lyra-flute-intro{padding:clamp(26px,5vw,58px);border:1px solid #eee3df;border-radius:26px;background:linear-gradient(120deg,#fff 25%,#fbf3f0 100%);margin-bottom:24px}
.lyra-flute-kicker{font-size:.79rem!important;letter-spacing:.12em;font-weight:800!important;color:var(--fl-red)!important;text-transform:uppercase;margin:0 0 12px!important}
.lyra-flute h2{font-size:clamp(1.65rem,3vw,2.45rem)!important;line-height:1.18!important;letter-spacing:-.035em;margin:0 0 18px!important;color:var(--fl-ink)!important}
.lyra-flute h3{font-size:1.2rem!important;margin:0 0 12px!important;color:var(--fl-ink)!important}
.lyra-flute p{line-height:1.75;margin:0 0 14px}.lyra-flute-intro>p:not(.lyra-flute-kicker){max-width:750px;font-size:1.08rem}
.lyra-flute-button{display:inline-flex;gap:10px;align-items:center;justify-content:center;background:var(--fl-red);color:#fff!important;border-radius:999px;padding:13px 23px;text-decoration:none!important;font-weight:750;margin-top:12px;transition:background .2s}
.lyra-flute-button:hover{background:#a93630}.lyra-flute-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 46px}
.lyra-flute-fact{display:flex;flex-direction:column;gap:7px;border:1px solid #eae4e1;border-radius:20px;padding:23px;background:#fff;box-shadow:0 10px 30px rgba(50,30,20,.035)}
.lyra-flute-fact-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f9e9e6;color:#bf3831;font-size:1.65rem;line-height:1}
.lyra-flute-fact strong{font-size:1.06rem}.lyra-flute-fact>span:last-child{font-size:.93rem;color:var(--fl-muted);line-height:1.5}
.lyra-flute-section{padding:36px 0;border-bottom:1px solid #eee8e4}.lyra-flute-section>p:not(.lyra-flute-kicker){max-width:890px}
.lyra-flute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:23px}.lyra-flute-panel{background:#f9f7f5;border:1px solid #eee8e4;border-radius:20px;padding:26px}
.lyra-flute-highlight{padding:30px;border:1px solid #f0dfda;background:#fff8f6;border-radius:20px;margin-top:28px}
.lyra-flute-contact{margin:42px 0 10px;padding:clamp(25px,5vw,48px);background:#a93630;color:#fff;border-radius:24px}
.lyra-flute-contact h2,.lyra-flute-contact p,.lyra-flute-contact a:not(.lyra-flute-button){color:#fff!important}.lyra-flute-contact .lyra-flute-kicker{color:#ffe0d9!important}.lyra-flute-contact-module{margin:20px 0}
.lyra-flute-button-light{background:#fff;color:#a93630!important}.lyra-flute-button-light:hover{background:#f7e8e4}
@media(max-width:760px){.lyra-flute-facts{grid-template-columns:1fr;gap:10px;margin-bottom:22px}.lyra-flute-fact{padding:17px;display:grid;grid-template-columns:48px 1fr;column-gap:14px;align-items:center}.lyra-flute-fact-icon{grid-row:span 2}.lyra-flute-grid{grid-template-columns:1fr}.lyra-flute-section{padding:27px 0}.lyra-flute-intro{border-radius:20px}.lyra-flute-highlight{padding:22px}}

/* 0.6.89 – Startseite: Hochkantbilder im Vereinsblock mobil ohne Beschnitt */
@media (max-width:900px) {
  .feature-club .feature-club-image { height:auto; overflow:visible; }
  .feature-club .feature-club-image img { display:block; width:100%; height:auto !important; max-height:none !important; aspect-ratio:auto !important; object-fit:contain !important; }
}
