/* Shared usability improvements, restricted to the three comparison candidates. */
.ui-optimized { --ui-accent:#146738; --ui-tint:#edf3e8; --ui-ink:#202820; }
.ui-optimized main { overflow-wrap:break-word; }
.ui-optimized :is(a,button,summary):focus-visible { outline:3px solid var(--ui-accent); outline-offset:4px; }
.ui-optimized .schedule-event { scroll-margin-top:24px; }
.ui-optimized .schedule-event:target { outline:2px solid var(--ui-accent); outline-offset:4px; }
.ui-optimized .schedule-event details { margin-top:12px; }
.ui-optimized main summary { cursor:pointer; min-height:44px; padding:10px 0; font-size:15px; line-height:1.5; }
.ui-optimized main details[open] > summary { margin-bottom:8px; }
.ui-optimized .schedule-event details p { font-size:16px; line-height:1.65; }
.ui-optimized :is(.schedule-event,.date-row) time span { font-size:12px!important; line-height:1.4!important; }
.ui-optimized .date-row p { font-size:14px!important; line-height:1.6!important; }
.ui-optimized .schedule-meta { font-size:15px!important; line-height:1.6!important; }
.ui-optimized .ui-event-context { font-size:14px; line-height:1.5; margin:8px 0; }
.ui-optimized .ui-event-context a { text-decoration:underline; text-underline-offset:3px; }
.ui-optimized .ui-primary { display:inline-flex; align-items:center; min-height:44px; padding:12px 18px; margin-top:18px; background:var(--ui-accent); color:white; font-size:15px; font-weight:700; text-decoration:none; }
.ui-optimized .ui-programme { display:block; padding-block:24px 54px; }
.ui-optimized .ui-programme > div:first-child { margin-bottom:22px; }
.ui-optimized .ui-programme .welcome-copy { max-width:780px; }
.ui-optimized .ui-programme .intro { font-size:20px; line-height:1.55; }
.ui-optimized .ui-back { margin-block:24px 0; }
.ui-optimized .ui-back a { display:inline-flex; align-items:center; min-height:44px; font-weight:700; }
.ui-optimized .ui-programme .program-list { padding-left:24px; }
.ui-optimized .ui-programme .program-list li { margin-bottom:14px; line-height:1.6; }
.ui-optimized .ui-programme .program-list li :is(p,span) { margin:2px 0 0; }
.ui-optimized .legacy .contact-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ui-optimized .legacy .ui-email { margin:0 0 24px; padding:26px; border-left:4px solid var(--ui-accent); }
.ui-optimized .legacy .contact-discord { margin:0 0 32px; padding:26px; background:var(--ui-tint); border-color:var(--ui-accent); }
.ui-optimized .legacy .contact-discord .ui-faq { margin-top:20px; }
.ui-optimized .legacy .ui-social-title { font-size:24px; margin:0 0 20px; }
.ui-optimized .legacy :is(.contact-icon,.timeline__content h3) { color:var(--ui-accent); }
.ui-optimized .legacy .contact-card { border-radius:0; }
.ui-optimized .legacy :is(.contact-card,.contact-discord) :is(h2,h3) { font-size:24px; line-height:1.3; margin-bottom:14px; }
.ui-optimized .legacy :is(.contact-card,.contact-discord) p { font-size:16px; line-height:1.65; }
.ui-optimized .legacy :is(.contact-card,.contact-discord) .button { background:var(--ui-accent); color:white; min-height:44px; height:auto; padding:12px 18px; line-height:1.4; border-radius:0; }
.ui-optimized .document-list { list-style:none; padding:0!important; display:flex; flex-wrap:wrap; gap:14px; margin-top:14px; }
.ui-optimized .document-list li { padding:0; }
.ui-optimized .ui-document { display:flex; flex-direction:column; gap:4px; padding:16px 20px; min-height:64px; border:1px solid var(--ui-accent); color:var(--ui-accent); font-weight:700; text-decoration:none; }
.ui-optimized .ui-document-hint { display:block; font-size:13px; font-weight:400; }
.ui-optimized .ui-document:hover { background:var(--ui-tint); }
.ui-optimized .ui-timeline .timeline__item { padding-block:12px; }
.ui-optimized .ui-timeline .timeline__content { padding:20px; }
.ui-optimized .ui-timeline .timeline__content p { line-height:1.65; }
.ui-optimized .ui-timeline .timeline__image { max-height:180px; width:auto; }
.ui-optimized .ui-timeline .timeline__item::after { border-color:var(--ui-accent); }
.ui-optimized :is(.d-footer,.site-footer) { font-size:14px; }
.ui-optimized :is(.d-footer,.site-footer) a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.ui-optimized .d-footer div { gap:2px 20px; }
.ui-optimized .ui-visit-link { padding-block:35px; }
.ui-optimized .ui-visit-link h2 { font-size:28px; margin-bottom:12px; }
@media(max-width:760px){
 .ui-optimized .legacy .contact-grid { grid-template-columns:1fr; }
 .ui-optimized .legacy :is(.contact-discord,.ui-email) { padding:20px; }
 .ui-optimized .ui-programme .intro { font-size:18px; }
 .ui-optimized .document-list { display:grid; grid-template-columns:1fr; }
 .ui-optimized :is(.schedule-event,.date-row) { min-width:0; }
 .ui-optimized .schedule-event { grid-template-columns:62px minmax(0,1fr); gap:12px; }
 .ui-optimized .schedule-event time b { font-size:32px; }

}
.ui-optimized :is(.date-row,.schedule-event) time b { white-space:nowrap; }
/* v3: promoted section headings keep the size of the other page sections. */
.ui-optimized main h2.ui-section-heading { font-size:24px!important; line-height:1.15!important; letter-spacing:var(--ui-h-ls,-0.02em)!important; text-transform:none; margin:40px 0 12px!important; }
.ui-optimized main h2.ui-section-heading:first-child { margin-top:0!important; }
.ui-optimized .ui-map-link { display:inline-flex; align-items:center; min-height:44px; }
/* v3: no supporting text below 12px. */
.ui-optimized :is(.eyebrow,.festival-note,.d-caption,.p-heading p,footer small) { font-size:max(12px,1em)!important; }
/* v3: the legacy theme sets h2 at 54px; section headings stay below the page title. */
.ui-optimized main.legacy h2:not(.ui-section-heading) { font-size:clamp(24px,2.4vw,28px)!important; line-height:1.15!important; letter-spacing:var(--ui-h-ls,-0.02em)!important; margin:0 0 .55em!important; }
/* More space above than below a section heading, except at the start of a section. */
.ui-optimized main.legacy h2:not(.ui-section-heading):not(:first-child):not(:is(.contact-card,.contact-discord) h2) { margin-top:1.9em!important; }
/* Headings inside contact cards belong to their card, not to the page rhythm. */
.ui-optimized main.legacy :is(.contact-card,.contact-discord) :is(h2,h3) { font-size:24px!important; margin:0 0 10px!important; }
.ui-optimized main.legacy .contact-icon { margin-bottom:8px!important; line-height:1!important; }
.ui-optimized main.legacy :is(.contact-card,.contact-discord) p + .button { margin-top:6px; }
.ui-optimized small { font-size:max(12px,.8em)!important; }
/* v4: quiet shop section at the end of the home page. */
.ui-optimized .ui-shop { display:grid; grid-template-columns:minmax(0,400px) minmax(0,1fr); gap:32px; align-items:center;
  width:min(100% - 40px, 1200px); margin:48px auto 56px; padding:20px 24px; border:1px solid #d7dccf; background:#fff; }
.ui-optimized .ui-shop img { display:block; width:100%; height:auto; }
.ui-optimized .ui-shop h2 { font-size:24px!important; line-height:1.15; margin:0 0 8px!important; letter-spacing:var(--ui-h-ls,-0.02em); text-transform:none; }
.ui-optimized .ui-shop p { margin:0 0 10px; font-size:16px; line-height:1.6; }
.ui-optimized .ui-shop-link { display:inline-flex; align-items:center; min-height:44px; font-weight:700; text-decoration:underline; text-underline-offset:3px; color:var(--ui-accent); }
@media(max-width:760px){
  .ui-optimized .ui-shop { grid-template-columns:1fr; gap:14px; margin:32px auto 40px; padding:16px; }
}
/* v5: comfortable line length for running text. */
.ui-optimized main :is(p,li):not(.eyebrow) { max-width:72ch; }
.ui-optimized main.legacy :is(h2 + p, h3 + p) { margin-top:0; }
/* v5 spacing */
.ui-optimized .document-list { margin-left:0!important; }
.ui-optimized .festival-subtitle { margin-top:10px; }
.ui-optimized .ui-back { margin-bottom:20px; }
.ui-optimized .event-location h2 + p { margin-top:8px; }
@media(max-width:760px){
 .ui-optimized .festival-top { flex-direction:column; align-items:flex-start; gap:6px; }
 .ui-optimized .festival-note { text-align:left; }
 .ui-optimized .festival-note br { display:none; }
}
/* v5: type scale for mid-sized text – 20 · 24 · 28 · 32 · 38 px. Display and Kalam titles stay as designed. */
.ui-optimized .page-heading p:not(.eyebrow) { font-size:20px!important; }
.ui-optimized .timeline__content h3 { font-size:20px!important; }
.ui-optimized .festival-date { font-size:24px!important; }
.ui-optimized .festival-subtitle { font-size:24px!important; }
.ui-optimized .date-row h3 { font-size:24px!important; }
.ui-optimized .schedule-event h2 { font-size:28px!important; }
.ui-optimized .event-location h2 { font-size:28px!important; }
.ui-optimized .regular-schedule h3 { font-size:24px!important; }
.ui-optimized .p-regular h3 { font-size:20px!important; }
.ui-optimized .p-agenda .date-row h3 { font-size:20px!important; }
.ui-optimized .visit-info h2 { font-size:32px!important; }
.ui-optimized .dates-section .section-heading h2 { font-size:38px!important; }
.ui-optimized .d-poster-regular h2 { font-size:28px!important; }
@media(max-width:760px){
 .ui-optimized .page-heading p:not(.eyebrow) { font-size:17px!important; }
 .ui-optimized :is(.festival-date,.festival-subtitle,.date-row h3,.regular-schedule h3,.p-regular h3,.p-agenda .date-row h3) { font-size:20px!important; }
 .ui-optimized :is(.schedule-event h2,.event-location h2,.p-section-label h2,.p-agenda h2,.d-poster-regular h2) { font-size:24px!important; }
 .ui-optimized .visit-info h2 { font-size:28px!important; }
 .ui-optimized .dates-section .section-heading h2 { font-size:28px!important; }
 .ui-optimized .festival-program h3 { font-size:28px!important; }
}
.ui-optimized .faq-columns h3 { font-size:20px!important; }
.ui-optimized .calendar-download h2 { font-size:28px!important; }
@media(max-width:760px){
 .ui-optimized .calendar-download h2 { font-size:24px!important; }
 .ui-optimized .d-board h2 { font-size:28px!important; }
 .ui-optimized .d-poster-meetings h2 { font-size:38px!important; }
}

/* 11: calm editorial layout, an early agenda and concise visitor information. */
body[data-ui-design="11"] { --ui-accent:#146738; --ui-tint:#eaf0e5; --ui-h-ls:-0.03em; }
body[data-ui-design="11"] .hero { padding-top:26px; padding-bottom:32px; }
body[data-ui-design="11"] .hero h1 { font-size:clamp(42px,5.5vw,76px); }
body[data-ui-design="11"] .ui-home-subtitle { font-size:clamp(18px,1.6vw,23px); line-height:1.5; max-width:40ch; margin:0; }
body[data-ui-design="11"] .dates-section { padding-block:32px; }
body[data-ui-design="11"] .date-list { margin-bottom:0; }
body[data-ui-design="11"] .date-row { padding-block:20px; }
body[data-ui-design="11"] .ui-about { display:grid; grid-template-columns:1fr 1.5fr; gap:60px; padding-block:48px 28px; }
body[data-ui-design="11"] .ui-about h2 { font-size:38px; }
body[data-ui-design="11"] .ui-about p { font-size:17px; line-height:1.7; margin:0; }
body[data-ui-design="11"] .welcome { padding-block:35px; }
body[data-ui-design="11"] .welcome .section-photo { height:300px; object-fit:cover; }
body[data-ui-design="11"] .join-section { padding-block:35px; }
body[data-ui-design="11"] .visit-info { margin-block:30px; padding-block:30px; }
body[data-ui-design="11"] .visit-info h2 { font-size:34px; margin-bottom:20px; }
body[data-ui-design="11"] .faq-columns { display:block; }
body[data-ui-design="11"] .ui-faq { border-top:1px solid #bccbb7; }
body[data-ui-design="11"] .ui-faq summary { font-weight:700; font-size:17px; }
body[data-ui-design="11"] .regular-schedule { margin-top:24px; padding-top:20px; border-top:1px solid #bccbb7; }
body[data-ui-design="11"] .regular-schedule h3 { font-size:22px; }
body[data-ui-design="11"] .regular-schedule ul { padding-left:20px; }
body[data-ui-design="11"] .regular-schedule :is(p,li) { font-size:16px; line-height:1.6; }
body[data-ui-design="11"] .festival { margin-block:36px; }
body[data-ui-design="11"] .ui-programme { display:block; }
body[data-ui-design="11"] .ui-document { border-radius:5px; }
@media(max-width:760px){
 body[data-ui-design="11"] .hero .button-primary { min-height:44px; }
 body[data-ui-design="11"] .dates-section .section-heading { align-items:start; gap:15px; }
 body[data-ui-design="11"] .dates-section .section-heading h2 { font-size:29px; }
 body[data-ui-design="11"] .dates-section .section-heading a { font-size:14px; min-height:44px; }
 body[data-ui-design="11"] .date-row { grid-template-columns:65px minmax(0,1fr) 16px; gap:10px; }
 body[data-ui-design="11"] .date-row h3 { font-size:21px; }
 body[data-ui-design="11"] .ui-about { grid-template-columns:1fr; gap:18px; padding-block:32px 16px; }
 body[data-ui-design="11"] .ui-about h2 { font-size:32px; }
 body[data-ui-design="11"] .ui-about p { font-size:16px; }
 body[data-ui-design="11"] .welcome { padding-block:24px; gap:24px; }
 body[data-ui-design="11"] .welcome .section-photo { height:220px; }
 body[data-ui-design="11"] .visit-info h2 { font-size:29px; }
}
/* v5: one action green (#146738) next to the logo green. */
body[data-ui-design="11"] .button-primary:not(:hover) { background:#146738!important; border-color:#146738!important; }
body[data-ui-design="11"] :is(.ui-document,.document-list a) { border-radius:0; }
/* v9: question pointer in "Dein erster Besuch", visible without unfolding, with channel icons. */
/* v10: folded like the other questions (details.ui-faq). */
body[data-ui-design="11"] .ui-questions > p { margin:10px 0 14px; font-size:16px; line-height:1.6; }
body[data-ui-design="11"] .ui-discord-access { margin:4px 0 14px; padding:14px 16px; background:#fff; border-left:3px solid #5865f2; }
body[data-ui-design="11"] .ui-discord-access h3 { margin:0 0 4px; font-size:16px; letter-spacing:0; }
body[data-ui-design="11"] .ui-discord-access p { margin:0; font-size:15px; line-height:1.6; }
body[data-ui-design="11"] .ui-questions > .text-link { display:inline-block; margin-bottom:14px; }
body[data-ui-design="11"] .ui-channels { list-style:none; margin:0 0 12px; padding:0; display:flex; flex-wrap:wrap; gap:12px; }
body[data-ui-design="11"] .ui-channels li { margin:0; padding:0; }
body[data-ui-design="11"] .ui-channel { display:flex; align-items:center; gap:14px; min-height:64px; padding:10px 20px 10px 10px; background:#fff; border:1px solid #bccbb7; border-radius:999px; color:inherit; text-decoration:none; transition:border-color .15s, box-shadow .15s; }
body[data-ui-design="11"] .ui-channel:hover { border-color:#146738; box-shadow:0 3px 12px rgba(20,103,56,.18); }
body[data-ui-design="11"] .ui-channel:focus-visible { outline:3px solid #146738; outline-offset:3px; }
body[data-ui-design="11"] .ui-channel-icon { flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:50%; background:#146738; color:#fff; }
body[data-ui-design="11"] .ui-channel-discord .ui-channel-icon { background:#5865f2; }
body[data-ui-design="11"] .ui-channel-icon svg { width:22px; height:22px; }
body[data-ui-design="11"] .ui-channel-copy { display:grid; line-height:1.3; }
body[data-ui-design="11"] .ui-channel-copy strong { font-size:17px; }
body[data-ui-design="11"] .ui-channel-copy span { font-size:14px; color:#4d554c; }
body[data-ui-design="11"] .ui-questions .text-link { color:#146738; font-weight:700; }
@media (max-width:760px) {
 body[data-ui-design="11"] .ui-channels { flex-direction:column; }
 body[data-ui-design="11"] .ui-channel { border-radius:14px; }
}
/* v23: visitor information as a secondary button in the normal document flow. */
body[data-ui-design="11"] .ui-visit-shortcut { margin-block:0 28px; font-size:16px; line-height:1.4; }
body[data-ui-design="11"] .ui-visit-shortcut a { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; max-width:100%; min-height:48px; padding:11px 18px; border:1px solid #146738; background:#eaf0e5; color:#146738; text-decoration:none; transition:background-color .15s, color .15s; }
body[data-ui-design="11"] .ui-visit-shortcut a:hover { background:#146738; color:#fff; text-decoration:none; }
body[data-ui-design="11"] .ui-visit-shortcut strong { font-size:17px; font-weight:700; }
/* v25: change warnings as labels in the dark green of the design; yellow only for the warning sign. */
body[data-ui-design="11"] [data-event-kind] :is(.event-room-warning, .event-time-warning) { padding:.25rem .6rem; border:0; border-radius:0; background:#146738; color:#fff !important; font-size:.85rem; }
body[data-ui-design="11"] [data-event-kind] :is(.event-room-warning, .event-time-warning) > span[aria-hidden] { color:#ffe300 !important; }
/* v9: contact page – ways to reach us side by side, social rows, legal block at the end. */
body[data-ui-design="11"] main.legacy .ui-contact { max-width:1100px; }
/* The id outranks the legacy heading rhythm (h2:not(...):not(...) with !important). */
body[data-ui-design="11"] #inhalt .ui-contact h2 { margin:0!important; letter-spacing:-0.02em; }
body[data-ui-design="11"] .ui-contact-lead { max-width:680px; font-size:18px!important; line-height:1.6; margin:0 0 28px!important; }
body[data-ui-design="11"] .ui-contact-ways { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
body[data-ui-design="11"] .ui-contact-card { display:flex; flex-direction:column; gap:12px; padding:26px 28px; background:#fff; border:1px solid #d8e0d4; border-top:4px solid #146738; }
body[data-ui-design="11"] .ui-contact-head { display:flex; align-items:center; gap:12px; }
body[data-ui-design="11"] #inhalt .ui-contact-head h2 { font-size:24px!important; line-height:1.2!important; }
body[data-ui-design="11"] .ui-contact-icon { flex:none; display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#eaf0e5; color:#146738; font-size:18px; line-height:1; }
body[data-ui-design="11"] .ui-contact-icon::before { margin:0!important; }
body[data-ui-design="11"] .ui-contact-card p { margin:0!important; font-size:16px; line-height:1.6; }
body[data-ui-design="11"] .ui-contact-button { align-self:flex-start; display:inline-flex; align-items:center; min-height:44px; padding:10px 18px; background:#146738; color:#fff!important; font-weight:700; text-decoration:none!important; border:0!important; }
body[data-ui-design="11"] .ui-contact-button::after { content:"→"; margin-left:10px; }
body[data-ui-design="11"] .ui-contact-button[href^="http"]::after { content:"↗"; }
body[data-ui-design="11"] .ui-contact-button:hover { background:#0f5229; }
body[data-ui-design="11"] .ui-contact-note { color:#4d554c; font-size:14px!important; overflow-wrap:anywhere; }
body[data-ui-design="11"] .ui-contact-card .ui-faq { margin-top:4px; padding-top:10px; }
body[data-ui-design="11"] .ui-contact-card .ui-faq p { margin-top:8px!important; font-size:15px; }
body[data-ui-design="11"] .ui-contact-social { margin-top:48px; }
body[data-ui-design="11"] #inhalt .ui-contact-social h2 { font-size:24px!important; margin-bottom:12px!important; }
body[data-ui-design="11"] .ui-contact-social ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
body[data-ui-design="11"] .ui-contact-social li { margin:0; padding:0; border-top:1px solid #bccbb7; }
body[data-ui-design="11"] .ui-contact-social li:is(:nth-last-child(1),:nth-last-child(2)) { border-bottom:1px solid #bccbb7; }
body[data-ui-design="11"] .ui-social-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:14px; align-items:center; min-height:64px; padding:14px 4px; color:inherit!important; text-decoration:none!important; border:0!important; }
body[data-ui-design="11"] .ui-social-copy { display:grid; gap:2px; }
body[data-ui-design="11"] .ui-social-copy strong { font-size:18px; }
body[data-ui-design="11"] .ui-social-copy span { font-size:15px; line-height:1.5; color:#4d554c; }
body[data-ui-design="11"] .ui-social-arrow { color:#146738; font-size:20px; }
body[data-ui-design="11"] .ui-social-row:hover strong { color:#146738; text-decoration:underline; }
body[data-ui-design="11"] .ui-contact-legal { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:56px; padding:24px 28px; background:#eaf0e5; }
body[data-ui-design="11"] #inhalt .ui-contact .ui-legal-heading { font-size:18px!important; margin:0 0 8px!important; scroll-margin-top:calc(var(--ui-sticky-h, 90px) + 16px); }
body[data-ui-design="11"] .ui-legal-block p { margin:0!important; font-size:15px; line-height:1.6; }
body[data-ui-design="11"] .ui-legal-block a { color:#146738; font-weight:700; text-decoration:underline; overflow-wrap:anywhere; }
@media (max-width:760px) {
 body[data-ui-design="11"] .ui-contact-lead { font-size:16px!important; margin-bottom:20px!important; }
 body[data-ui-design="11"] .ui-contact-ways, body[data-ui-design="11"] .ui-contact-social ul, body[data-ui-design="11"] .ui-contact-legal { grid-template-columns:1fr; }
 body[data-ui-design="11"] .ui-contact-ways { gap:16px; }
 body[data-ui-design="11"] .ui-contact-card { padding:20px; }
 body[data-ui-design="11"] .ui-contact-button { align-self:stretch; justify-content:center; }
 body[data-ui-design="11"] .ui-contact-social { margin-top:36px; }
 body[data-ui-design="11"] .ui-contact-social li:nth-last-child(2) { border-bottom:0; }
 body[data-ui-design="11"] .ui-contact-legal { gap:20px; margin-top:40px; padding:20px; }
}
/* v10: inline link in running text ("einem unserer Spieletreffs"). */
body[data-ui-design="11"] .ui-inline-link { color:#146738; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
/* v10: upper part of the club page – goal with photo, fees as figures, joining panel with documents. */
body[data-ui-design="11"] #inhalt .ui-club h2 { margin:0 0 12px!important; letter-spacing:-0.02em; }
body[data-ui-design="11"] .ui-club-intro { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:56px; align-items:start; }
body[data-ui-design="11"] #inhalt .ui-club-intro h2 { font-size:34px!important; }
body[data-ui-design="11"] .ui-club-intro p { margin:0!important; font-size:18px; line-height:1.7; max-width:62ch; }
body[data-ui-design="11"] .ui-club-photo { margin:0; transform:rotate(1.5deg); }
body[data-ui-design="11"] .ui-club-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; box-shadow:0 10px 30px rgba(20,40,25,.18); }
body[data-ui-design="11"] .ui-club-panels { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:24px; margin-top:56px; align-items:stretch; }
body[data-ui-design="11"] .ui-club-fees { padding:26px 28px; background:#fff; border:1px solid #d8e0d4; border-top:4px solid #146738; }
body[data-ui-design="11"] #inhalt .ui-club-fees h2, body[data-ui-design="11"] #inhalt .ui-club-join h2 { font-size:24px!important; }
body[data-ui-design="11"] .ui-fee-list { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
body[data-ui-design="11"] .ui-fee-list li { display:flex; align-items:baseline; gap:12px; margin:0; padding:0; }
body[data-ui-design="11"] .ui-fee-list strong { min-width:2.4em; font-size:34px; line-height:1.1; color:#146738; letter-spacing:-0.02em; }
body[data-ui-design="11"] .ui-fee-list span { font-size:16px; }
body[data-ui-design="11"] .ui-club-join { padding:26px 28px; background:#eaf0e5; border-top:4px solid #146738; }
body[data-ui-design="11"] .ui-club-join p { margin:0 0 18px!important; font-size:16px; line-height:1.6; }
body[data-ui-design="11"] .ui-club-join p a { color:#146738; font-weight:700; overflow-wrap:anywhere; }
body[data-ui-design="11"] .ui-club-docs { display:flex; flex-wrap:wrap; gap:12px; }
body[data-ui-design="11"] .ui-club-doc { display:grid; gap:2px; min-width:200px; min-height:44px; padding:12px 18px; background:#fff; border:1px solid #146738;
  color:#146738!important; text-decoration:none!important; }
body[data-ui-design="11"] .ui-club-doc strong { font-size:17px; }
body[data-ui-design="11"] .ui-club-doc span { font-size:13px; }
body[data-ui-design="11"] .ui-club-doc span::after { content:" →"; }
body[data-ui-design="11"] .ui-club-doc-primary { background:#146738; color:#fff!important; }
body[data-ui-design="11"] .ui-club-doc:hover { box-shadow:0 3px 12px rgba(20,103,56,.22); }
@media (max-width:760px) {
 body[data-ui-design="11"] .ui-club-intro, body[data-ui-design="11"] .ui-club-panels { grid-template-columns:1fr; gap:28px; }
 body[data-ui-design="11"] #inhalt .ui-club-intro h2 { font-size:28px!important; }
 body[data-ui-design="11"] .ui-club-intro p { font-size:16px; }
 body[data-ui-design="11"] .ui-club-photo { transform:none; }
 body[data-ui-design="11"] .ui-club-panels { margin-top:36px; gap:16px; }
 body[data-ui-design="11"] :is(.ui-club-fees,.ui-club-join) { padding:20px; }
 body[data-ui-design="11"] .ui-club-doc { flex:1 1 100%; }
}
/* v13: calendar section on the schedule page – subscribe first, download as an option. */
body[data-ui-design="11"] .ui-calendar { margin-block:40px 56px; padding:30px 32px; background:#fff; border:1px solid #d8e0d4; border-top:4px solid #146738; }
body[data-ui-design="11"] .ui-calendar-head { display:flex; gap:18px; align-items:flex-start; }
body[data-ui-design="11"] .ui-calendar-icon { flex:none; display:grid; place-items:center; width:56px; height:56px; border-radius:50%; background:#eaf0e5; color:#146738; }
body[data-ui-design="11"] .ui-calendar h2 { margin:4px 0 6px!important; font-size:28px!important; letter-spacing:-0.02em; }
body[data-ui-design="11"] .ui-calendar-head p { margin:0; font-size:17px; line-height:1.6; max-width:60ch; }
body[data-ui-design="11"] .ui-calendar-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 0 74px; }
body[data-ui-design="11"] .ui-calendar-button { display:grid; gap:2px; min-width:220px; min-height:44px; padding:12px 20px; background:#fff; border:1px solid #146738; color:#146738; text-decoration:none; }
body[data-ui-design="11"] .ui-calendar-button strong { font-size:17px; }
body[data-ui-design="11"] .ui-calendar-button span { font-size:13px; color:inherit; opacity:.85; }
body[data-ui-design="11"] .ui-calendar-primary { background:#146738; color:#fff; }
body[data-ui-design="11"] .ui-calendar-button:hover { box-shadow:0 3px 12px rgba(20,103,56,.22); }
body[data-ui-design="11"] .ui-calendar-link { margin:20px 0 0 74px; max-width:560px; }
body[data-ui-design="11"] .ui-calendar-label { margin:0 0 6px!important; font-size:14px; font-weight:700; }
body[data-ui-design="11"] .ui-calendar-copy { display:flex; align-items:stretch; }
body[data-ui-design="11"] .ui-calendar-address { flex:1; min-width:0; display:flex; align-items:center; min-height:44px; padding:8px 12px; border:1px solid #bccbb7; border-right:0; background:#f8f7f2; color:inherit; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:15px; line-height:1.4; overflow-wrap:anywhere; user-select:all; cursor:text; }
body[data-ui-design="11"] .ui-copy-button { flex:none; height:44px; margin:0; padding:0 16px; border:1px solid #146738; border-radius:0; background:#eaf0e5; color:#146738; font-family:inherit; font-size:15px; font-weight:700; line-height:1; cursor:pointer; white-space:nowrap; }
body[data-ui-design="11"] .ui-copy-button:hover { background:#dce8d6; }
body[data-ui-design="11"] .ui-calendar-help { margin:24px 0 0 74px; }
body[data-ui-design="11"] .ui-calendar-help dl { margin:12px 0 0; display:grid; grid-template-columns:max-content 1fr; gap:8px 20px; }
body[data-ui-design="11"] .ui-calendar-help dt { font-weight:700; font-size:15px; }
body[data-ui-design="11"] .ui-calendar-help dd { margin:0; font-size:15px; line-height:1.55; }
body[data-ui-design="11"] .ui-calendar-help p { margin:16px 0 4px; font-size:15px; line-height:1.55; }
body[data-ui-design="11"] .ui-calendar-help a { color:#146738; font-weight:700; }
@media (max-width:760px) {
 body[data-ui-design="11"] .ui-calendar { margin-block:28px 40px; padding:22px 20px; }
 body[data-ui-design="11"] .ui-calendar-head { flex-direction:column; gap:12px; }
 body[data-ui-design="11"] .ui-calendar-icon { width:48px; height:48px; }
 body[data-ui-design="11"] .ui-calendar h2 { font-size:24px!important; }
 body[data-ui-design="11"] .ui-calendar-head p { font-size:16px; }
 body[data-ui-design="11"] :is(.ui-calendar-actions,.ui-calendar-link,.ui-calendar-help) { margin-left:0; }
 body[data-ui-design="11"] .ui-calendar-button { flex:1 1 100%; min-width:0; }
 body[data-ui-design="11"] .ui-calendar-copy { flex-direction:column; gap:8px; }
 body[data-ui-design="11"] .ui-calendar-address { border-right:1px solid #bccbb7; font-size:14px; }
 body[data-ui-design="11"] .ui-copy-button { width:100%; }
 body[data-ui-design="11"] .ui-calendar-help dl { grid-template-columns:1fr; gap:2px; }
 body[data-ui-design="11"] .ui-calendar-help dd { margin-bottom:10px; }
}


/* One sticky main menu per design. Headers shrink once the page is scrolled
   (class set by ui.js; .ui-sticky-spacer keeps content in place); the preview picker is not sticky. */
html { scroll-padding-top:calc(var(--ui-sticky-h, 90px) + 16px); }
/* The legacy theme's overflow-x:hidden turns body into a scroll container and disables sticky; clip does not. */
html:has(> body.ui-optimized), body.ui-optimized { overflow-x:clip; overflow-y:visible; }
.ui-optimized .ui-sticky-header {
  position:sticky; top:0; z-index:500; background:var(--ui-header-bg);
  /* Extend the header background to the viewport edges of narrow max-width headers. */
  box-shadow:0 0 0 100vmax var(--ui-header-bg); clip-path:inset(0 -100vmax -12px);
}
/* Spread shadows paint edge to edge without widening the page. */
.ui-optimized.ui-scrolled .ui-sticky-header {
  box-shadow:0 0 0 100vmax var(--ui-header-bg), 0 1px 0 100vmax var(--ui-header-line), 0 3px 10px 100vmax #0000000f;
}
.ui-optimized.ui-scrolled .ui-sticky-header .d-header-small { display:none; }
.ui-optimized.ui-scrolled .ui-sticky-header #navigation { max-height:calc(100vh - 80px); overflow-y:auto; }

/* 08 – Plakat */
body[data-ui-design="08"] { --ui-header-bg:#fffef8; --ui-header-line:#d8ded3; }
body[data-ui-design="08"].ui-scrolled .d-header { padding-block:8px; }
body[data-ui-design="08"].ui-scrolled .d-header .d-brand img { width:auto; height:52px; }

/* 11 – Vereinsseite */
body[data-ui-design="11"] { --ui-header-bg:#f8f7f2; --ui-header-line:#d5d8cc; }
body[data-ui-design="11"].ui-scrolled .site-header { padding-block:8px; }
body[data-ui-design="11"].ui-scrolled .site-header .brand img { width:92px; }

/* 10 – Programm: the header menu is sticky; the page frame starts right below it. */
body[data-ui-design="10"] { --ui-header-bg:#f4eee9; --ui-header-line:#e0d6cf; }
body[data-ui-design="10"].ui-scrolled .d-header { padding-block:8px; }
body[data-ui-design="10"].ui-scrolled .d-header .d-brand img { width:auto; height:52px; }
/* Without the former yellow bar the first section needs its own distance from the magenta intro. */
body[data-ui-design="10"] .p-sheet > .p-heading { margin-bottom:44px; }
@media (max-width:760px) { body[data-ui-design="10"] .p-sheet > .p-heading { margin-bottom:30px; } }

/* v6: "Mitspielen" is the highlighted menu entry, modelled on Entwurf 11's original header button. */
.ui-optimized #navigation a.ui-nav-cta {
  display:inline-flex; align-items:center; gap:12px; padding:11px 18px!important; margin-left:6px;
  background:var(--ui-cta-bg); color:var(--ui-cta-fg)!important; font-weight:700; text-decoration:none!important;
  box-shadow:none; border:0;
}
.ui-optimized #navigation a.ui-nav-cta:hover { background:var(--ui-cta-hover); }
.ui-optimized #navigation a.ui-nav-cta[aria-current] { box-shadow:inset 0 -4px 0 var(--ui-cta-mark); }
.ui-optimized.ui-scrolled #navigation a.ui-nav-cta { padding-block:8px!important; }
body[data-ui-design="08"] { --ui-cta-bg:#18201b; --ui-cta-hover:#146738; --ui-cta-fg:#fff; --ui-cta-mark:#a7e6b4; }
body[data-ui-design="10"] { --ui-cta-bg:#a92377; --ui-cta-hover:#8a1c61; --ui-cta-fg:#fff; --ui-cta-mark:#ffe000; }
body[data-ui-design="11"] { --ui-cta-bg:#20241f; --ui-cta-hover:#146738; --ui-cta-fg:#fff; --ui-cta-mark:#7fc796; }
@media (max-width:760px) {
  /* In the opened phone menu the entry stays a clear button, full width. */
  .ui-optimized #navigation a.ui-nav-cta { justify-content:space-between; margin:8px 0 4px; }
}
@media (max-width:760px) {
  /* The desktop gap of 30px also applied to the opened phone menu (from the original drafts). */
  .ui-optimized .d-header #navigation { gap:0!important; }
  .ui-optimized .d-header #navigation a:not(.ui-nav-cta) { border-bottom:1px solid var(--ui-header-line); }
}

/* Small meeting overview following the upcoming event cards. */
.ui-regular-home { margin: 1rem 0 0; padding: .8rem 0 0; border-top: 1px solid #78977655; }
.ui-regular-title, .ui-regular-head { display: flex; align-items: center; gap: .4rem; }
.ui-regular-home .ui-regular-title { font-size: .95rem; margin: 0 0 .5rem; color: inherit; }
.ui-regular-icon { display: inline-flex; flex-shrink: 0; }
.ui-regular-icon svg { width: 17px; height: 17px; }
.ui-regular-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem 1.5rem; list-style: none; padding: 0; margin: 0; }
.ui-regular-item { display: block; line-height: 1.4; font-size: .95rem; }
.ui-regular-item strong { display: block; }
.ui-regular-place, .ui-regular-note { display: inline; font-size: .9rem; }
.ui-regular-place + .ui-regular-note::before { content: ' · '; }
.ui-regular-schedule { margin-top: .8rem; margin-bottom: 1rem; padding-top: .85rem; padding-bottom: .85rem; border-block: 1px solid #d1ded5; }
.ui-regular-head h2 { font-size: 1.1rem; margin: 0; }
.ui-regular-head { margin-bottom: .55rem; }
.ui-regular-hint { margin: .55rem 0 0; font-size: .85rem; }
html[data-theme="dark"] .ui-regular-home, html[data-theme="dark"] .ui-regular-schedule { border-color: #ffffff35; }
@media(max-width: 600px) { .ui-regular-list { grid-template-columns: 1fr; gap: .55rem; } }

/* Flyer-Layout „Taunus spielt 26“ – Startseiten-Hervorhebung einer Veranstaltung.
   Übernommen aus dem Taunus-spielt-Block von Entwurf 11 (Stand 11-v8: prototype.css,
   ui-optimization/common.css und 11.css), auf .feature-taunus-spielt-26 begrenzt und mit
   eigenen Farbwerten, damit das Layout auch in anderen Seiten verwendet werden kann.
   Grundschrift, Breite (.wrap) und Überschriften-Grundstil kommen von der Seite. */
.feature-taunus-spielt-26 { --feature-bg:#a52679; --feature-accent:#ffe300; --feature-ink:#fff; --feature-button-ink:#252019;
  background:var(--feature-bg); color:var(--feature-ink); margin-block:36px; padding:46px 55px 50px;
  clip-path:polygon(0 3%,100% 0,100% 97%,0 100%); }
.feature-taunus-spielt-26 .festival-top { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.feature-taunus-spielt-26 .eyebrow { color:var(--feature-accent); margin:0; font-size:max(12px,11px); letter-spacing:.13em; font-weight:700; line-height:1.6; text-transform:uppercase; }
.feature-taunus-spielt-26 .festival-note { font-size:12px; line-height:1.3; text-align:right; color:var(--feature-accent); }
.feature-taunus-spielt-26 h2 { font:700 clamp(54px,6vw,86px)/1.2 Kalam,cursive; letter-spacing:-.04em; margin:16px 0 30px; color:inherit; }
.feature-taunus-spielt-26 .festival-bottom { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.feature-taunus-spielt-26 .festival-date { font-size:24px; font-weight:bold; line-height:1.4; margin-bottom:12px; }
.feature-taunus-spielt-26 .festival-bottom p:not(.festival-date) { font-size:15px; }
.feature-taunus-spielt-26 .button-yellow { display:inline-flex; justify-content:space-between; align-items:center; gap:25px; max-width:100%;
  margin-top:7px; padding:15px 22px; background:var(--feature-accent); color:var(--feature-button-ink); font-size:15px; font-weight:bold;
  line-height:1.5; border:0; border-radius:0; box-shadow:none; white-space:normal; overflow-wrap:anywhere; text-decoration:none; }
.feature-taunus-spielt-26 .festival-program { border-top:3px solid var(--feature-accent); padding-top:23px; }
.feature-taunus-spielt-26 .festival-program h3 { font-size:32px; color:var(--feature-accent); margin-bottom:16px; }
.feature-taunus-spielt-26 .festival-partner { opacity:.85; margin-top:24px; }
@media (max-width:1050px) {
  .feature-taunus-spielt-26 { padding:45px 35px; }
}
@media (max-width:760px) {
  .feature-taunus-spielt-26 .festival-top { flex-direction:column; align-items:flex-start; gap:6px; }
  .feature-taunus-spielt-26 .festival-note { text-align:left; }
  .feature-taunus-spielt-26 .festival-note br { display:none; }
  .feature-taunus-spielt-26 .festival-date { font-size:20px; }
}
@media (max-width:720px) {
  .feature-taunus-spielt-26 { margin-block:50px; padding:40px 24px; clip-path:polygon(0 1%,100% 0,100% 99%,0 100%); }
  .feature-taunus-spielt-26 .festival-note { font-size:12px; }
  .feature-taunus-spielt-26 h2 { font-size:49px; line-height:1.2; margin-top:25px; }
  .feature-taunus-spielt-26 .festival-bottom { grid-template-columns:1fr; gap:30px; }
  .feature-taunus-spielt-26 .festival-program h3 { font-size:28px; }
  .feature-taunus-spielt-26 .festival-partner { margin-bottom:0; }
  .feature-taunus-spielt-26 .button-yellow { padding:13px 16px; font-size:14px; }
}
/* Dunkelmodus wie im Original: gelbe Schrift gedämpft, Linie und Knopf bleiben kräftig gelb. */
html[data-theme="dark"] .feature-taunus-spielt-26 :is(.eyebrow,.festival-note,.festival-program h3) { color:#eee48b; }
