/* 4 Elements Challenger – Basis-Styles, Schriften (lokal gehostet) und Mobil-Layout */
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/bricolage-grotesque-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/bricolage-grotesque-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:env(safe-area-inset-top,0px)}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
section[id],footer[id],div[id]{scroll-margin-top:12px}
.dc-if{display:contents}
.dc-if[hidden],[hidden]{display:none!important}
.ec-skip{position:absolute;left:-9999px;top:0}
.ec-skip:focus{left:12px;top:12px;z-index:100;background:#E2653F;color:#16181C;padding:10px 16px;border-radius:999px}
header{padding-top:env(safe-area-inset-top,0px)}
footer{padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))!important}

/* Filter-Buttons (Termine) */
.ec-filter{min-height:44px;padding:10px 20px;border-radius:999px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;border:1.5px solid var(--c);background:transparent;color:var(--c)}
.ec-filter[aria-pressed="true"]{background:var(--c);color:#FFFFFF}

/* Burger (nur mobil sichtbar) */
.ec-burger{display:none;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1.5px solid #3A3D45;border-radius:999px;background:transparent;color:#F3F0E8;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.ec-burger span{display:block;width:18px;height:2px;background:#F3F0E8;position:relative}
.ec-burger span::before,.ec-burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#F3F0E8}
.ec-burger span::before{top:-6px}.ec-burger span::after{top:6px}
.ec-nav-open .ec-burger span{background:transparent}
.ec-nav-open .ec-burger span::before{top:0;transform:rotate(45deg)}
.ec-nav-open .ec-burger span::after{top:0;transform:rotate(-45deg)}

/* pretix-Widget im Design der Seite */
#ec-shop .pretix-widget-wrapper, #ec-shop .pretix-widget{font-family:'IBM Plex Sans','Helvetica Neue',sans-serif!important;color:#16181C}
#ec-shop .pretix-widget{border:none!important;padding:0!important}
#ec-shop .pretix-widget button, #ec-shop .pretix-widget .pretix-widget-action button{background:#B23A1A!important;border-color:#B23A1A!important;color:#FFFFFF!important;border-radius:999px!important;font-weight:600!important;min-height:44px;padding:10px 22px!important}
#ec-shop .pretix-widget a{color:#1D5A85}
#ec-shop .pretix-widget input{font-size:16px}

/* ---------- Tablet / kleine Laptops: Navigation einklappen ---------- */
@media (max-width:1180px){
  header > div{flex-wrap:wrap;position:relative}
  .ec-burger{display:inline-flex}
  header nav{display:none!important;order:3;width:100%;flex-direction:column;align-items:stretch!important;gap:0!important;padding:8px 0 4px}
  .ec-nav-open header nav{display:flex!important}
  header nav > a{padding:14px 4px;border-top:1px solid #2A2D34;font-size:17px!important}
  header nav > a[href="#anmeldung"]{margin-top:12px;text-align:center;border-top:none;padding:14px 20px!important}
  header nav .lang-menu{order:-1;align-self:flex-start;margin-bottom:8px}
  header nav .lang-menu > div{position:static!important;margin-top:8px}
}

/* ---------- Mobil ---------- */
@media (max-width:900px){
  [style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
  [style*="grid-column"]{grid-column:1 / -1!important}
  [style*="padding: 0 40px"]{padding-left:20px!important;padding-right:20px!important}
  [style*="padding: 20px 40px"]{padding:14px 20px!important}
  [style*="padding: 14px 40px"]{padding:14px 20px!important;flex-wrap:wrap}
  [style*="padding: 112px 0"],[style*="padding: 104px 0"]{padding-top:64px!important;padding-bottom:64px!important}
  [style*="padding: 72px 0 96px"]{padding:40px 0 56px!important}
  [style*="padding: 64px 0 48px"]{padding-top:48px!important}
  [style*="padding: 44px"]{padding:24px 20px!important}
  [style*="padding: 36px"],[style*="padding: 32px 36px"],[style*="padding: 30px 36px"]{padding:24px 20px!important}
  [style*="padding: 28px 32px"],[style*="padding: 30px;"]{padding:22px 20px!important}
  [style*="gap: 40px"]{gap:24px!important}
  [style*="gap: 32px"]{gap:20px!important}
  [style*="margin: 56px auto 0"]{margin-top:32px!important}
  [style*="justify-content: space-between"]{flex-wrap:wrap}
  [style*="font-size: 76px"]{font-size:clamp(40px,11.5vw,56px)!important;line-height:1!important}
  [style*="font-size: 64px"],[style*="font-size: 60px"],[style*="font-size: 56px"],[style*="font-size: 52px"],[style*="font-size: 48px"]{font-size:clamp(30px,8.5vw,40px)!important;line-height:1.05!important}
  [style*="font-size: 44px"],[style*="font-size: 40px"],[style*="font-size: 36px"],[style*="font-size: 34px"]{font-size:28px!important;line-height:1.1!important}
  [style*="font-size: 30px"],[style*="font-size: 28px"]{font-size:22px!important}
  [style*="font-size: 26px"],[style*="font-size: 24px"]{font-size:21px!important}
  [style*="font-size: 20px"]{font-size:18px!important}
  [style*="max-width: 640px"],[style*="max-width: 620px"],[style*="max-width: 760px"],[style*="max-width: 860px"]{max-width:100%!important}
  .ec-event [style*="align-items: flex-end"]{align-items:flex-start!important}
  .ec-event a[data-book]{align-self:stretch;text-align:center;padding:14px 22px!important}
  #top a[href="#anmeldung"],#top a[href="#termine"]{flex:1 1 100%;text-align:center}
  button[data-on="joinMember"],button[data-on="joinPartner"],button[data-on="openPartner"]{align-self:stretch!important;width:100%}
  input,select,textarea{font-size:16px!important;max-width:100%}
  header a[href="#top"] span[style*="font-size: 20px"]{font-size:18px!important}
}
@media (max-width:420px){
  [style*="padding: 0 40px"]{padding-left:16px!important;padding-right:16px!important}
  .ec-filter{padding:8px 14px;font-size:14px}
}

/* Kennzahlen im Hero: mobil als 2×2-Kacheln */
@media (max-width:900px){
  [style*="margin: 72px auto 0"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:0!important;margin:40px 20px 0!important;border-radius:16px;overflow:hidden}
  [style*="margin: 72px auto 0"] > div{padding:18px 16px!important}
  [style*="margin: 72px auto 0"] span[style*="font-size: 40px"]{font-size:32px!important}
}
/* Desktop-Navigation: nicht umbrechen */
header nav a, header nav summary{white-space:nowrap}
header a[href="#top"]{flex-shrink:0;white-space:nowrap}
@media (min-width:1181px){ header nav{gap:14px!important;font-size:14px!important} header nav > a[href="#anmeldung"]{padding:10px 16px!important} }
@media (max-width:900px){ h1,h2,h3,h4,p,li,label,span,a{overflow-wrap:break-word;hyphens:manual;-webkit-hyphens:auto} }
@media (max-width:900px){
  h1,h2,h3{hyphens:auto;-webkit-hyphens:auto}
  [style*="display: flex"] > div,[style*="display: flex"] > span{min-width:0}
}
@media (max-width:420px){
  [style*="display: flex"][style*="gap: 24px"][style*="align-items: flex-start"],
  div:has(> img[src*="image-1.jpg"]){flex-wrap:wrap}
}
