.elementor-kit-42{--e-global-color-primary:#111111;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#6B6B6B;--e-global-color-accent:#E5231F;--e-global-color-flaeche:#F4F4F4;--e-global-color-liniehell:#E3E3E3;--e-global-color-liniedunkel:rgba(255,255,255,0.13);--e-global-color-textinvers:#A0A0A0;--e-global-color-rotdunkel:#C21A16;--e-global-color-gold:#C9A227;--e-global-color-juniorblau:#1B5FA8;--e-global-typography-primary-font-family:"Big Shoulders Display";--e-global-typography-primary-font-size:90px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-font-style:italic;--e-global-typography-primary-line-height:0.88em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Big Shoulders Display";--e-global-typography-secondary-font-size:34px;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-line-height:0.95em;--e-global-typography-secondary-letter-spacing:-0.3px;--e-global-typography-text-font-family:"Barlow";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-line-height:1.7em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Big Shoulders Display";--e-global-typography-accent-font-size:13px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-font-style:italic;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:2px;--e-global-typography-hxl-font-family:"Big Shoulders Display";--e-global-typography-hxl-font-size:140px;--e-global-typography-hxl-font-weight:900;--e-global-typography-hxl-text-transform:uppercase;--e-global-typography-hxl-font-style:italic;--e-global-typography-hxl-line-height:0.86em;--e-global-typography-hxl-letter-spacing:-1px;--e-global-typography-hklein-font-family:"Big Shoulders Display";--e-global-typography-hklein-font-size:22px;--e-global-typography-hklein-font-weight:800;--e-global-typography-hklein-text-transform:uppercase;--e-global-typography-hklein-font-style:italic;--e-global-typography-hklein-line-height:1.05em;--e-global-typography-hklein-letter-spacing:-0.2px;--e-global-typography-textlead-font-family:"Barlow";--e-global-typography-textlead-font-size:20px;--e-global-typography-textlead-font-weight:300;--e-global-typography-textlead-text-transform:none;--e-global-typography-textlead-font-style:normal;--e-global-typography-textlead-line-height:1.6em;--e-global-typography-textlead-letter-spacing:0px;--e-global-typography-textklein-font-family:"Barlow";--e-global-typography-textklein-font-size:15px;--e-global-typography-textklein-font-weight:300;--e-global-typography-textklein-text-transform:none;--e-global-typography-textklein-font-style:normal;--e-global-typography-textklein-line-height:1.65em;--e-global-typography-textklein-letter-spacing:0px;--e-global-typography-button-font-family:"Big Shoulders Display";--e-global-typography-button-font-size:18px;--e-global-typography-button-font-weight:800;--e-global-typography-button-text-transform:uppercase;--e-global-typography-button-font-style:italic;--e-global-typography-button-line-height:1em;--e-global-typography-button-letter-spacing:0.9px;--e-global-typography-zahl-font-family:"Big Shoulders Display";--e-global-typography-zahl-font-size:68px;--e-global-typography-zahl-font-weight:900;--e-global-typography-zahl-text-transform:uppercase;--e-global-typography-zahl-font-style:italic;--e-global-typography-zahl-line-height:0.9em;--e-global-typography-zahl-letter-spacing:-0.5px;--e-global-typography-datum-font-family:"Big Shoulders Display";--e-global-typography-datum-font-size:40px;--e-global-typography-datum-font-weight:900;--e-global-typography-datum-text-transform:uppercase;--e-global-typography-datum-font-style:italic;--e-global-typography-datum-line-height:0.95em;--e-global-typography-datum-letter-spacing:-0.3px;--e-global-typography-navi-font-family:"Big Shoulders Display";--e-global-typography-navi-font-size:17px;--e-global-typography-navi-font-weight:700;--e-global-typography-navi-text-transform:uppercase;--e-global-typography-navi-font-style:italic;--e-global-typography-navi-line-height:1em;--e-global-typography-navi-letter-spacing:1px;--e-global-typography-terminname-font-family:"Barlow";--e-global-typography-terminname-font-size:21px;--e-global-typography-terminname-font-weight:600;--e-global-typography-terminname-text-transform:none;--e-global-typography-terminname-font-style:normal;--e-global-typography-terminname-line-height:1.25em;--e-global-typography-terminname-letter-spacing:0px;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-exit-animation:e-page-transition-fade-in;--e-page-transition-animation-duration:500ms;}.elementor-kit-42 e-page-transition{background-color:var( --e-global-color-primary );}.elementor-kit-42 p{margin-block-end:20px;}.elementor-kit-42 a{color:var( --e-global-color-primary );}.elementor-kit-42 a:hover{color:#E5231F;}.elementor-kit-42 h1{color:#111111;font-family:"Big Shoulders Display", Sans-serif;font-size:40px;font-weight:900;text-transform:uppercase;font-style:italic;line-height:1.02em;}.elementor-kit-42 h2{color:#111111;font-family:"Big Shoulders Display", Sans-serif;font-size:34px;font-weight:800;text-transform:uppercase;font-style:italic;line-height:1.08em;}.elementor-kit-42 h3{color:#111111;font-family:"Big Shoulders Display", Sans-serif;font-size:28px;font-weight:800;text-transform:uppercase;font-style:italic;line-height:0.95em;}.elementor-kit-42 h4{color:#111111;font-family:"Big Shoulders Display", Sans-serif;font-size:28px;font-weight:800;text-transform:uppercase;font-style:italic;line-height:1.05em;}.elementor-kit-42 h5{color:#111111;font-family:"Big Shoulders Display", Sans-serif;font-size:28px;font-weight:800;text-transform:uppercase;font-style:italic;line-height:1.1em;}.elementor-kit-42 h6{color:#111111;font-family:"Big Shoulders Display", Sans-serif;font-size:28px;font-weight:800;text-transform:uppercase;font-style:italic;line-height:1.15em;}.elementor-kit-42 button,.elementor-kit-42 input[type="button"],.elementor-kit-42 input[type="submit"],.elementor-kit-42 .elementor-button{font-family:"Big Shoulders Display", Sans-serif;font-size:18px;font-weight:800;text-transform:uppercase;font-style:italic;border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1200px){.elementor-kit-42{--e-global-typography-primary-font-size:60px;--e-global-typography-secondary-font-size:30px;--e-global-typography-text-font-size:17px;--e-global-typography-accent-font-size:12px;--e-global-typography-hxl-font-size:90px;--e-global-typography-hklein-font-size:21px;--e-global-typography-textlead-font-size:18px;--e-global-typography-textklein-font-size:15px;--e-global-typography-button-font-size:17px;--e-global-typography-zahl-font-size:50px;--e-global-typography-datum-font-size:32px;--e-global-typography-navi-font-size:17px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-42 h1{font-size:48px;}.elementor-kit-42 h2{font-size:36px;}.elementor-kit-42 h3{font-size:30px;}.elementor-kit-42 h4{font-size:21px;}.elementor-kit-42 h5{font-size:18px;}.elementor-kit-42 h6{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-42{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:24px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:12px;--e-global-typography-hxl-font-size:52px;--e-global-typography-hklein-font-size:20px;--e-global-typography-textlead-font-size:17px;--e-global-typography-textklein-font-size:14px;--e-global-typography-button-font-size:16px;--e-global-typography-zahl-font-size:38px;--e-global-typography-datum-font-size:26px;--e-global-typography-navi-font-size:26px;--e-global-typography-terminname-font-size:19px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-42 h1{font-size:38px;}.elementor-kit-42 h2{font-size:30px;}.elementor-kit-42 h3{font-size:24px;}.elementor-kit-42 h4{font-size:20px;}.elementor-kit-42 h5{font-size:17px;}.elementor-kit-42 h6{font-size:15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* === IMAC Germany: Grundlagen === */
/* Astra legt auf jeden Container Standardabstaende. Hier auf 0 gesetzt,
   damit ausschliesslich die in Elementor gesetzten Abstaende wirken. */
:root {
  --container-default-padding-block-start: 0px;
  --container-default-padding-block-end: 0px;
  --container-default-padding-inline-start: 0px;
  --container-default-padding-inline-end: 0px;
}
.ast-page-builder-template .ast-container,
.ast-page-builder-template .site-content > .ast-container { max-width: 100%; padding-left: 0; padding-right: 0; }
.ast-plain-container.ast-no-sidebar #primary, .ast-page-builder-template #primary { margin: 0; padding: 0; }
.ast-page-builder-template .site-content > .ast-container { padding: 0; }
.elementor-widget-container { margin: 0; }
.ast-separate-container .ast-article-single, .ast-narrow-container .site-content > .ast-container { padding: 0; }
.ast-page-builder-template #content { padding: 0; }

/* Buttons */
.imac-btn .elementor-button { transform: skewX(-10deg); transition: transform .25s ease, background-color .25s ease; }
.imac-btn .elementor-button-content-wrapper { transform: skewX(10deg); }
.imac-btn .elementor-button:hover { transform: skewX(-10deg) translateY(-3px); }

/* === Bausteine === */
.imac-rot { color: var(--e-global-color-accent); }
.imac-glas { -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
/* kleine Ueberschrift: die feine rote Linie sitzt links daneben */
.imac-kicker::before { display: none; }
.imac-kicker .elementor-heading-title {
  display: flex; align-items: center; gap: 14px;
}
.imac-kicker .elementor-heading-title::before {
  content: ''; display: block; width: 42px; height: 2px; flex: 0 0 42px;
  background: var(--e-global-color-accent);
}
.imac-hero-text { text-shadow: 0 2px 26px rgba(0,0,0,.55); }

/* Navigation bleibt einzeilig */
.imac-nav .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; }
.imac-nav .elementor-nav-menu--main .elementor-nav-menu > li > a { white-space: nowrap; }

/* Hero: Abdunklung von links sowie oben und unten, damit der Text sicher lesbar bleibt */
#top::before {
  background-image:
    linear-gradient(90deg, rgba(17,17,17,.95) 0%, rgba(17,17,17,.82) 34%, rgba(17,17,17,.34) 72%, rgba(17,17,17,.55) 100%),
    linear-gradient(180deg, rgba(17,17,17,.55) 0%, rgba(17,17,17,.05) 30%, rgba(17,17,17,.72) 100%) !important;
  opacity: 1 !important;
}
@media (max-width: 767px) {
  #top::before {
    background-image: linear-gradient(180deg, rgba(17,17,17,.55) 0%, rgba(17,17,17,.15) 26%, rgba(17,17,17,.92) 100%) !important;
  }
}

/* Zahlenleiste: Linien an den Umbruch anpassen */
@media (max-width: 767px) {
  #imac-zahlen > .e-con:nth-child(3) { border-left-width: 0 !important; }
  #imac-zahlen > .e-con:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,0.13); }
}

/* Terminliste */
.imac-terminliste .elementor-loop-container { display: block; }
/* Die Terminliste laeuft als Block, deshalb wirkt der Rasterabstand nicht.
   Der Abstand kommt hier ueber den Aussenrand der Zeilen. */
.imac-terminliste .e-loop-item { margin-bottom: 12px; }
.imac-terminliste .e-loop-item:last-child { margin-bottom: 0; }

/* Terminliste */
.imac-nowrap .elementor-heading-title { hyphens: none; overflow-wrap: normal; word-break: keep-all; }
.imac-terminliste .elementor-loop-container { display: block; }
/* Die Terminliste laeuft als Block, deshalb wirkt der Rasterabstand nicht.
   Der Abstand kommt hier ueber den Aussenrand der Zeilen. */
.imac-terminliste .e-loop-item { margin-bottom: 12px; }
.imac-terminliste .e-loop-item:last-child { margin-bottom: 0; }

/* ---------- Menue-Schalter: drei Striche, die sich zum Kreuz drehen ---------- */
/* imac-burger */
.imac-nav .elementor-menu-toggle {
  position: relative; width: 34px; height: 24px; padding: 0;
  background-color: transparent !important; border: 0;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat; background-position: left center; background-size: 34px 2px;
  transition: background-size .3s cubic-bezier(.2,.8,.2,1);
}
.imac-nav .elementor-menu-toggle i, .imac-nav .elementor-menu-toggle svg { display: none !important; }
.imac-nav .elementor-menu-toggle::before,
.imac-nav .elementor-menu-toggle::after {
  content: ''; position: absolute; left: 0; height: 2px; background: currentColor;
  transition: transform .35s cubic-bezier(.2,.8,.2,1), top .35s cubic-bezier(.2,.8,.2,1),
              bottom .35s cubic-bezier(.2,.8,.2,1), width .35s cubic-bezier(.2,.8,.2,1);
}
.imac-nav .elementor-menu-toggle::before { top: 3px; width: 34px; }
.imac-nav .elementor-menu-toggle::after  { bottom: 3px; width: 22px; }
.imac-nav .elementor-menu-toggle:hover::after { width: 34px; }
/* geoeffnet: mittlerer Strich verschwindet, aussere drehen sich zum Kreuz */
.imac-nav .elementor-menu-toggle.elementor-active { background-size: 0 2px; }
.imac-nav .elementor-menu-toggle.elementor-active::before { top: 11px; width: 30px; transform: rotate(45deg); }
.imac-nav .elementor-menu-toggle.elementor-active::after  { bottom: 11px; width: 30px; transform: rotate(-45deg); }

/* ---------- Merch-Karussell ---------- */
.imac-merch-karussell .elementor-image-carousel-caption { margin-top: 14px; }
.imac-merch-karussell .swiper-slide-image { background: #F4F4F4; }
.imac-merch-karussell .elementor-swiper-button { color: #111111; }
.imac-merch-karussell .swiper-slide-image { width: 100%; height: auto; display: block; }
.imac-merch-karussell .elementor-swiper-button-prev { left: -6px; }
.imac-merch-karussell .elementor-swiper-button-next { right: -6px; }

/* Datumsspalte fest breit, damit nichts umbricht */
.imac-terminliste .e-loop-item > .e-con > .e-con:first-child {
  flex: 0 0 400px !important; width: 400px !important; max-width: 400px;
}
@media (max-width: 1024px) {
  .imac-terminliste .e-loop-item > .e-con > .e-con:first-child { flex-basis: 300px !important; width: 300px !important; max-width: 300px; }
}
@media (max-width: 767px) {
  .imac-terminliste .e-loop-item > .e-con > .e-con:first-child { flex-basis: 100% !important; width: 100% !important; max-width: 100%; }
}

/* ---------- Karussell: Punkte als schmale Striche ---------- */
.imac-merch-karussell .swiper-pagination { position: static; margin-top: 26px; }
.imac-merch-karussell .swiper-pagination-bullet {
  width: 26px !important; height: 3px !important; background: #C9C9C9 !important;
  opacity: 1 !important; border-radius: 0 !important; margin: 0 5px !important;
  transition: width .3s ease, background-color .3s ease;
}
.imac-merch-karussell .swiper-pagination-bullet-active { background: #E5231F !important; width: 46px !important; }

/* Karussell auf dem Handy: nach links und rechts ueber den Rand hinaus,
   dadurch bleibt links und rechts je ein Produkt angeschnitten. */
@media (max-width: 767px) {
  #merch { overflow: hidden; }
  #merch .e-con-inner { overflow: visible; }
  .imac-merch-karussell { width: 76% !important; max-width: 76% !important; margin-inline: auto; }
  .imac-merch-karussell .elementor-image-carousel-wrapper { overflow: visible; }
  .imac-merch-karussell .elementor-swiper-button { display: none !important; }
}

/* ---------- Header ---------- */
/* kein Schatten unter dem Header */
#imac-header, #imac-header-start, .elementor-location-header { box-shadow: none !important; }
/* beim Scrollen: Header niedriger, Logo kleiner */
#imac-header .logo img, #imac-header-start .logo img,
#imac-header .elementor-widget-theme-site-logo img, #imac-header-start .elementor-widget-theme-site-logo img {
  transition: height .35s ease, width .35s ease;
}
#imac-header .e-con-inner, #imac-header-start .e-con-inner { transition: min-height .35s ease; }
#imac-header.elementor-sticky--effects .e-con-inner,
#imac-header-start.elementor-sticky--effects .e-con-inner { min-height: 72px !important; }
#imac-header.elementor-sticky--effects .elementor-widget-theme-site-logo img,
#imac-header-start.elementor-sticky--effects .elementor-widget-theme-site-logo img {
  width: 146px !important;
}

/* Startseite: Header liegt ueber dem Video und wird beim Scrollen schwarz */
body.home .elementor-location-header { position: absolute; left: 0; right: 0; top: 0; z-index: 99; }
#imac-header-start { background-color: transparent !important; border-bottom-color: transparent !important;
  transition: background-color .35s ease, border-color .35s ease; }
#imac-header-start.elementor-sticky--effects { background-color: #111111 !important;
  border-bottom-color: rgba(255,255,255,0.13) !important; }

/* Elementor traegt beim Fixieren eine feste Hoehe ein. Damit der Header
   beim Scrollen schrumpfen kann, wird sie hier ueberschrieben. */
#imac-header.elementor-sticky--effects,
#imac-header-start.elementor-sticky--effects { height: 73px !important; transition: height .35s ease; }

/* Footer: Impressum und Datenschutz sichtbar */
.imac-footer-links a { color: #A0A0A0; }
.imac-footer-links a:hover { color: #E5231F; }

/* Ablauf: die rote Linie zeichnet sich beim Ueberfahren von links nach rechts */
#ablauf .e-con-inner > .e-con:last-child > .e-con { position: relative; border-top-width: 0 !important; }
#ablauf .e-con-inner > .e-con:last-child > .e-con::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px;
  background: var(--e-global-color-accent); transform-origin: left center;
}
#ablauf .e-con-inner > .e-con:last-child > .e-con:hover::before { animation: imacStrich .55s cubic-bezier(.2,.8,.2,1); }
@keyframes imacStrich { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* Was ist IMAC: das Bild fuellt die Spalte auf voller Hoehe (imac Bildspalte) */
#imac { align-items: stretch; }
#imac > .e-con:first-child { display: flex; }
#imac > .e-con:first-child > .e-con { flex: 1 1 auto; min-height: 320px; }
@media (max-width: 1024px) { #imac > .e-con:first-child > .e-con { min-height: 420px; } }

/* Ortssymbol folgt der Textfarbe, Grundton auf hellen Zeilen */
.imac-terminort .elementor-icon-list-icon svg { color: #6B6B6B; fill: none !important; }

/* Header mobil: das Logo schrumpft von 120 auf 100 */
@media (max-width: 767px) {
  #imac-header.elementor-sticky--effects .elementor-widget-theme-site-logo img,
  #imac-header-start.elementor-sticky--effects .elementor-widget-theme-site-logo img { width: 110px !important; }
}

/* Beitragsbild fuellt die Spalte, auch wenn die Datei kleiner ist */
.imac-bild-16zu10 img { width: 100% !important; height: auto; }

/* Streifen unter dem Hero: rotes Band, boxed, ragt ins Hero hinein */
#imac-next-band {
  position: relative;
  overflow: hidden;
  max-width: 1300px;
  margin-left: auto !important;
  margin-right: auto !important;
}
#imac-next-band .imac-next-info .elementor-icon-list-icon svg {
  fill: none !important; color: var(--e-global-color-secondary);
}
#imac-next-band .imac-next-info .elementor-icon-list-item { align-items: center; }
#imac-next-band .imac-countdown .elementor-countdown-wrapper { gap: 14px; }
#imac-next-band .imac-countdown .elementor-countdown-item {
  padding: 12px 10px 9px 10px; min-width: 92px;
}
@media (max-width: 767px) {
  #imac-next-band .imac-countdown .elementor-countdown-item { padding-right: 12px; }
}

/* Kennzeichnung des naechsten Termins: schlichte Zeile mit vorangestelltem Strich */
.imac-naechster-label { display: none; }
.imac-next-label .elementor-heading-title,
.imac-naechster-label .elementor-heading-title {
  display: flex; align-items: center; gap: 10px;
}
.imac-next-label .elementor-heading-title::before,
.imac-naechster-label .elementor-heading-title::before {
  content: ''; display: block; height: 2px; width: 26px; flex: 0 0 26px;
  background: var(--e-global-color-secondary);
}

/* Leichtes Pulsieren, nur in der Terminliste */
@keyframes imacTerminPuls {
  0%, 100% { opacity: 0; }
  50%      { opacity: 0.22; }
}

/* Die rote Terminzeile atmet: sie waechst leicht und geht wieder zurueck */
@keyframes imacTerminPuls {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.018); }
}

/* Die rote Terminzeile atmet: sie waechst leicht und geht wieder zurueck */
@keyframes imacTerminPuls {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.018); }
}

/* Faktenpunkte: die Symbole bleiben Linienzeichnungen */
.imac-faktenbox .elementor-icon svg { fill: none !important; }

/* Seiten ohne Elementor (Impressum, Datenschutz): Inhalt in fester Breite */
body:not(.ast-page-builder-template) .site-content > .ast-container {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding: 80px 24px 100px 24px;
}
body:not(.ast-page-builder-template) .ast-separate-container .ast-article-single { padding: 0; }
@media (max-width: 767px) {
  body:not(.ast-page-builder-template) .site-content > .ast-container { padding: 56px 24px 70px 24px !important; }
}

/* DMFV im Header */
#imac-dmfv-header .imac-dmfv-logo img { display: block; }
#imac-header-start .elementor-widget-theme-site-logo,
#imac-header .elementor-widget-theme-site-logo,
#imac-dmfv-header { flex-shrink: 0; }
@media (max-width: 1024px) { .imac-poweredby { display: none; } }

/* Manoeverzeichnungen bleiben Linienzeichnungen */
.imac-manoever img { display: block; }

/* Klassenkacheln sind anklickbar */
[id^='kachel-'] { cursor: pointer; text-decoration: none; display: flex;
  transition: background-color .25s ease, transform .25s ease; }
[id^='kachel-']:hover { background-color: rgba(255,255,255,0.05); transform: translateY(-4px); }
.imac-mehr .elementor-heading-title { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.imac-mehr .elementor-heading-title::after {
  content: ''; display: block; width: 18px; height: 9px; flex: 0 0 18px;
  background-color: currentColor;
  -webkit-mask: no-repeat center / contain; mask: no-repeat center / contain;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'><path d='M1 6h20M16 1l5 5-5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'><path d='M1 6h20M16 1l5 5-5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  transition: transform .25s ease;
}
[id^='kachel-']:hover .imac-mehr .elementor-heading-title::after { transform: translateX(5px); }

/* LIVE-Knopf im Header: blinkt wie eine Aufnahmeanzeige */
.imac-live .elementor-button-content-wrapper { align-items: center; }
.imac-live .elementor-button-text { display: inline-flex; align-items: center; }
.imac-live .elementor-button-text::before {
  content: ''; display: block; width: 9px; height: 9px; flex: 0 0 9px;
  border-radius: 50%; background: #FFFFFF; margin-right: 9px;
  animation: imacRec 1.1s ease-in-out infinite;
}
@keyframes imacRec { 0%, 100% { opacity: 1; } 50% { opacity: 0.15; } }
@media (prefers-reduced-motion: reduce) { .imac-live .elementor-button-text::before { animation: none; } }

/* Teilnehmerliste eines Wettbewerbs */
.imac-pilotenliste .elementor-loop-container { display: block; }

.imac-flagge img { display: block; border-radius: 2px; }
.imac-pilotname .elementor-heading-title { line-height: 1.2; }
.imac-pilotnation .elementor-heading-title { letter-spacing: 1.4px; }
.imac-junior .elementor-heading-title,
.imac-freestyle .elementor-heading-title {
  border: 1px solid currentColor;
  padding: 3px 8px 2px 8px; display: inline-block; line-height: 1;
}
.imac-pilotstatus { margin-left: auto; }
.imac-pilotstatus .elementor-heading-title { white-space: nowrap; }
/* leere Angaben nehmen keinen Platz weg */
.imac-junior .elementor-heading-title:empty,
.imac-freestyle .elementor-heading-title:empty,
.imac-pilotnation .elementor-heading-title:empty,
.imac-chip .elementor-heading-title:empty { display: none; }
.imac-junior:has(.elementor-heading-title:empty),
.imac-freestyle:has(.elementor-heading-title:empty) { display: none; }

/* Eventseite */
#imac-eventinfo .elementor-heading-title { line-height: 1.3; }
.imac-eventstatus .elementor-heading-title {
  border: 1px solid var(--e-global-color-accent);
  padding: 5px 11px 4px 11px; display: inline-block; line-height: 1;
}

/* Anmeldeformular */
.imac-anmeldeformular .elementor-field-group > label {
  font-family: 'Big Shoulders Display', sans-serif; font-style: italic; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.4px; font-size: 13px;
  color: var(--e-global-color-text); margin-bottom: 7px;
}
.imac-anmeldeformular input:not([type=submit]),
.imac-anmeldeformular select,
.imac-anmeldeformular textarea {
  border: 1px solid var(--e-global-color-liniehell) !important;
  border-radius: 0 !important; padding: 13px 14px !important;
  background: #FFFFFF !important; color: var(--e-global-color-primary) !important;
}
.imac-anmeldeformular input:focus, .imac-anmeldeformular select:focus, .imac-anmeldeformular textarea:focus {
  border-color: var(--e-global-color-accent) !important; outline: none;
}
.imac-anmeldeformular .elementor-button[type=submit] {
  border-radius: 0 !important; transform: skewX(-10deg);
  padding: 16px 38px !important;
}
.imac-anmeldeformular .elementor-button[type=submit] > span { transform: skewX(10deg); display: inline-flex; }

/* Hinweis, wenn noch niemand gemeldet ist */
.imac-pilotenliste .e-loop-nothing-found-message::after {
  content: 'Derzeit noch keine Anmeldungen bestätigt.';
  display: block; padding: 0; text-align: left; line-height: 1.5;
  font-family: 'Barlow', sans-serif; font-size: 17px;
  color: var(--e-global-color-text);
}
.imac-pilotenliste .e-loop-nothing-found-message {
  text-align: left; padding: 0 !important; margin: 0 !important; min-height: 0 !important;
}

/* Honigtopf gegen Spam: fuer Menschen unsichtbar, fuer Maschinen ein Koeder */
.imac-honigtopf,
.elementor-field-group-webseite {
  position: absolute !important; left: -9999px !important;
  width: 1px !important; height: 1px !important; overflow: hidden !important;
  padding: 0 !important; margin: 0 !important;
}

/* Statusangabe im Band unter dem Hero */
.imac-bandstatus .elementor-heading-title { display: inline-block; line-height: 1; }
.imac-bandstatus .elementor-heading-title:empty { display: none; }

/* Countdown auf dem Handy: vier gleich breite Kaesten, die in den Balken passen */
@media (max-width: 767px) {
  #imac-next-band .imac-countdown .elementor-countdown-wrapper { gap: 6px; }
  #imac-next-band .imac-countdown .elementor-countdown-item {
    min-width: 0; flex: 1 1 0; padding: 8px 2px 6px 2px;
  }
  #imac-next-band .imac-countdown .elementor-countdown-label {
    font-size: 9px; letter-spacing: 0.6px;
  }
}

/* Terminlisten in den Jahresbloecken und auf den Wettbewerbsseiten */
.imac-ergebnisliste .elementor-loop-container { display: block; }
/* Startplaetze: besetzt rot, offen gruen */
.imac-plaetze .elementor-heading-title,
.imac-seqplaetze .elementor-heading-title { color: inherit; }
.imac-belegt { color: var(--e-global-color-accent); }
.imac-offen  { color: #1E7B34; }
.imac-trenner { color: var(--e-global-color-text); }
/* Jahresfilter: Schrift immer dunkel, auch im hellen Abschnitt */
.imac-jahrfilter select { color: #111111 !important; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Big Shoulders Display';
	font-style: normal;
	font-weight: 100 900;
	font-display: auto;
	src: url('https://flyimac.de/wp-content/uploads/2026/08/big-shoulders-display-variable.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://flyimac.de/wp-content/uploads/2026/08/barlow-300.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://flyimac.de/wp-content/uploads/2026/08/barlow-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Barlow';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://flyimac.de/wp-content/uploads/2026/08/barlow-600.woff2') format('woff2');
}
/* End Custom Fonts CSS */