.elementor-kit-5{--e-global-color-primary:#0B1020;--e-global-color-secondary:#D9B26F;--e-global-color-text:#EDE6D8;--e-global-color-accent:#C4826A;--e-global-color-anpaper:#F3EBDD;--e-global-color-angold2:#F0DCAE;--e-global-color-anbg2:#111A30;--e-global-color-anbg3:#1A2542;--e-global-color-anmuted:#A9A7B6;--e-global-color-anink:#1B1A24;--e-global-color-aninkm:#5C5A68;--e-global-typography-primary-font-family:"Marcellus";--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Hanken Grotesk";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Hanken Grotesk";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Hanken Grotesk";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:500;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing: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:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Lokale Schriften (SIL OFL): Marcellus, Hanken Grotesk. Keine Verbindung zu Google. */
@font-face { font-family: 'Marcellus'; font-style: normal; font-weight: 400; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/marcellus-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: 'Marcellus'; font-style: normal; font-weight: 400; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/marcellus-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: 'Hanken Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/hanken-grotesk-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: 'Hanken Grotesk'; font-style: normal; font-weight: 400; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/hanken-grotesk-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: 'Hanken Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/hanken-grotesk-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: 'Hanken Grotesk'; font-style: normal; font-weight: 500; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/hanken-grotesk-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: 'Hanken Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/hanken-grotesk-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: 'Hanken Grotesk'; font-style: normal; font-weight: 600; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/hanken-grotesk-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; }
@font-face { font-family: 'Hanken Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/hanken-grotesk-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: 'Hanken Grotesk'; font-style: normal; font-weight: 700; font-display: swap; src: url('https://www.advent-naters.ch/wp-content/uploads/an-fonts/hanken-grotesk-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; }
/* Natischer Adventsmärt – generiert aus site/assets/css/style.css + theme-src/elementor-compat.css (wordpress/build_wp.py). Nicht direkt bearbeiten. */
/* ==========================================================================
   Natischer Adventsmärt – Konzept 2026 «Abendgang» (Farben: Nachtblau, Kerzengold, Kupfer, Pergament)
   Ruhige Gastgeber-Typografie: eine Antiqua (Marcellus) in einem Schnitt,
   dazu Hanken Grotesk für Text und Bedienung. Gerahmte Fotos statt
   bildschirmfüllender Flächen, feine Linien statt Karten.
   Alle Klassen mit Präfix an-, Werte als Variablen (→ Elementor Global Styles).
   ========================================================================== */

:root {
  --an-bg: #0b1020;          /* Nachtblau */
  --an-bg-2: #111a30;        /* abgesetzte Sektion */
  --an-bg-3: #1a2542;        /* Flächen, Platzhalter */
  --an-text: #ede6d8;        /* Kerzenweiss */
  --an-muted: #a9a7b6;
  --an-brass: #d9b26f;       /* Kerzengold */
  --an-brass-2: #f0dcae;     /* Gold hell */
  --an-copper: #c4826a;      /* Kupfer */
  --an-paper: #f3ebdd;       /* Pergament */
  --an-ink: #1b1a24;
  --an-ink-muted: #5c5a68;
  --an-line: rgba(237, 230, 216, .14);
  --an-line-strong: rgba(237, 230, 216, .28);
  --an-line-ink: rgba(27, 26, 36, .14);

  --an-font-display: "Marcellus", "Times New Roman", serif;
  --an-font-text: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;

  --an-max: 1240px;
  --an-gutter: clamp(16px, 4vw, 48px);
  --an-section: clamp(72px, 9vw, 128px);
  --an-radius: 3px;
  --an-ease: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- Basis ---------- */
*,
*::before,
*::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0; background: var(--an-bg); color: var(--an-text);
  font-family: var(--an-font-text); font-size: 17px; line-height: 1.7; font-weight: 400;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; }
address { font-style: normal; }
em,
i { font-style: normal; }  /* bewusst keine Kursiv-Akzente */
strong { font-weight: 600; }
::selection { background: var(--an-brass); color: var(--an-bg); }
:focus-visible { outline: 2px solid var(--an-brass-2); outline-offset: 3px; border-radius: 2px; }
iconify-icon { display: inline-block; width: 1em; height: 1em; vertical-align: -.125em; }

:root body .an-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
:root body .an-skip { position: fixed; left: 16px; top: -60px; z-index: 200; padding: 10px 16px; background: var(--an-paper); color: var(--an-ink); text-decoration: none; transition: top .2s; }
:root body .an-skip:focus { top: 16px; }
:root body .an-container { width: 100%; max-width: calc(var(--an-max) + 2 * var(--an-gutter)); margin-inline: auto; padding-inline: var(--an-gutter); }
:root body .an-container--narrow { max-width: calc(760px + 2 * var(--an-gutter)); }

:root body /* ---------- Typografie ---------- */
.an-h1,
:root body .an-h2,
:root body .an-h3,
:root body .an-statement,
:root body .an-wordmark,
:root body .an-footer__title {
  font-family: var(--an-font-display); font-weight: 400; letter-spacing: .005em; text-wrap: balance; margin: 0;
}
:root body .an-h1 { font-size: clamp(38px, 4.6vw, 64px); line-height: 1.08; }
:root body .an-h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.15; }
:root body .an-h3 { font-size: clamp(21px, 1.7vw, 25px); line-height: 1.25; }
:root body .an-label {
  display: block; margin: 0 0 18px; color: var(--an-brass);
  font-size: 15px; font-weight: 500; letter-spacing: .01em; line-height: 1.4;
}
:root body .an-copy { margin: 0; color: var(--an-muted); max-width: 58ch; text-wrap: pretty; }
:root body .an-copy strong { color: var(--an-text); }
:root body .an-copy + .an-copy { margin-top: 1em; }
:root body .an-stack { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
:root body .an-center { text-align: center; margin-inline: auto; }
:root body .an-center .an-copy { margin-inline: auto; }

:root body .an-statement { font-size: clamp(23px, 2.15vw, 30px); line-height: 1.45; color: var(--an-text); max-width: 34ch; margin-inline: auto; text-align: center; }

/* Wort-Reveal (nur Bewegung,
:root body kein Stilwechsel) */
.an-word { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
:root body .an-word > span { display: inline-block; will-change: transform; }

:root body /* ---------- Buttons & Links ---------- */
.an-btn {
  --b: var(--an-brass);
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 24px; border: 1px solid var(--b); border-radius: var(--an-radius);
  background: var(--b); color: var(--an-bg); text-decoration: none; cursor: pointer;
  font-size: 15px; font-weight: 600; letter-spacing: .01em; line-height: 1;
  transition: background-color .35s var(--an-ease), color .35s var(--an-ease), border-color .35s var(--an-ease);
}
:root body .an-btn iconify-icon { font-size: 18px; transition: transform .4s var(--an-ease); }
:root body .an-btn:hover { background: var(--an-brass-2); border-color: var(--an-brass-2); }
:root body .an-btn:hover iconify-icon { transform: translateX(3px); }
:root body .an-btn--line { background: transparent; color: var(--an-text); border-color: var(--an-line-strong); }
:root body .an-btn--line:hover { background: transparent; border-color: var(--an-brass); color: var(--an-brass-2); }
:root body .an-btn.is-loading { pointer-events: none; opacity: .7; }
:root body .an-actions { display: flex; flex-wrap: wrap; gap: 12px; }

:root body .an-link {
  display: inline-flex; align-items: center; gap: 8px; color: var(--an-text); text-decoration: none;
  font-weight: 500; padding-bottom: 3px; background: linear-gradient(var(--an-brass), var(--an-brass)) 0 100% / 100% 1px no-repeat;
  transition: background-size .45s var(--an-ease), color .3s;
}
:root body .an-link:hover { color: var(--an-brass-2); background-size: 35% 1px; }
:root body .an-link iconify-icon { color: var(--an-brass); }

:root body /* ---------- Header ---------- */
.an-header {
  position: fixed; inset: 0 0 auto; z-index: 50;
  transition: background-color .4s, border-color .4s, transform .5s var(--an-ease);
  border-bottom: 1px solid transparent;
}
:root body .an-header.is-scrolled { background: rgba(11, 16, 32, .94); border-color: var(--an-line); }
:root body .an-header.is-hidden { transform: translateY(-100%); }
:root body .an-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; min-height: 84px; }
:root body .an-wordmark { justify-self: center; text-decoration: none; text-align: center; line-height: 1.05; font-size: 22px; }
:root body .an-wordmark small { display: block; margin-top: 4px; font-family: var(--an-font-text); font-size: 11.5px; letter-spacing: .14em; color: var(--an-muted); }
:root body .an-nav { display: flex; align-items: center; }
:root body .an-nav__list { display: flex; gap: 4px; list-style: none; margin: 0 0 0 -14px; padding: 0; }
:root body .an-nav__item { position: relative; }
:root body .an-nav__link {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px;
  background: none; border: 0; cursor: pointer; text-decoration: none; font-size: 15px; font-weight: 500; color: var(--an-text);
  transition: color .3s;
}
:root body .an-nav__link iconify-icon { font-size: 14px; transition: transform .3s; }
:root body .an-nav__link:hover,
:root body .an-nav__link[aria-current="page"],
:root body .an-nav__item.is-current > .an-nav__link { color: var(--an-brass-2); }
:root body .an-nav__item.is-open .an-nav__link iconify-icon { transform: rotate(180deg); }
:root body .an-sub {
  position: absolute; top: 100%; left: 0; min-width: 250px; list-style: none; margin: 0; padding: 10px 0;
  background: var(--an-bg-2); border: 1px solid var(--an-line);
  opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .25s, transform .3s var(--an-ease), visibility 0s .3s;
}
:root body .an-nav__item.is-open .an-sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
:root body .an-sub a { display: block; padding: 10px 20px; text-decoration: none; font-size: 15px; color: var(--an-muted); transition: color .2s, background-color .2s; }
:root body .an-sub a:hover,
:root body .an-sub a[aria-current="page"] { color: var(--an-text); background: rgba(237,230,216,.04); }
:root body .an-header__end { justify-self: end; display: flex; align-items: center; gap: 8px; }
:root body .an-header__cta { min-height: 44px; padding: 0 18px; font-size: 14px; }
:root body .an-burger { display: none; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; position: relative; margin-left: -10px; }
:root body .an-burger span { position: absolute; left: 10px; right: 10px; height: 1.5px; background: currentColor; transition: transform .4s var(--an-ease), top .4s var(--an-ease); }
:root body .an-burger span:first-child { top: 17px; }
:root body .an-burger span:last-child { top: 26px; }
:root body .an-burger[aria-expanded="true"] span:first-child { top: 21px; transform: rotate(45deg); }
:root body .an-burger[aria-expanded="true"] span:last-child { top: 21px; transform: rotate(-45deg); }

:root body .an-mobile {
  position: fixed; inset: 0; z-index: 40; background: var(--an-bg); padding: 120px var(--an-gutter) 40px;
  display: flex; flex-direction: column; justify-content: space-between; overflow-y: auto;
  opacity: 0; visibility: hidden; transition: opacity .4s, visibility 0s .4s;
}
:root body .an-mobile.is-open { opacity: 1; visibility: visible; transition-delay: 0s; }
:root body .an-mobile__main { list-style: none; margin: 0; padding: 0; text-align: center; }
:root body .an-mobile__main a { display: block; padding: 12px 0; font-family: var(--an-font-display); font-size: 30px; line-height: 1.2; text-decoration: none; }
:root body .an-mobile__main a[aria-current="page"] { color: var(--an-brass-2); }
:root body .an-mobile__foot { text-align: center; color: var(--an-muted); font-size: 15px; border-top: 1px solid var(--an-line); padding-top: 24px; }
:root body .an-mobile__foot p { margin: 0; }

@media (max-width: 1080px) {
  :root body .an-nav__list { display: none; }
  :root body .an-burger { display: block; }
}
@media (max-width: 560px) {
  :root body .an-header__inner { min-height: 72px; gap: 8px; }
  :root body .an-wordmark { font-size: 19px; }
  :root body .an-wordmark small { display: none; }
  :root body .an-header__cta { padding: 0 12px; font-size: 13px; }
  :root body .an-header__cta iconify-icon { display: none; }
}

:root body /* ---------- Sektionen ---------- */
.an-section { padding-block: var(--an-section); position: relative; }
:root body .an-section--tight { padding-block: clamp(48px, 6vw, 88px); }
:root body .an-section--alt { background: var(--an-bg-2); }
:root body .an-section--paper { background: var(--an-paper); color: var(--an-ink); }
:root body .an-section--paper .an-copy { color: var(--an-ink-muted); }
:root body .an-section--paper .an-copy strong { color: var(--an-ink); }
:root body .an-section--paper .an-label { color: #8a6430; }
:root body .an-section--paper .an-link { color: var(--an-ink); }
:root body .an-section--paper .an-link iconify-icon { color: #8a6430; }
:root body .an-rule { border: 0; border-top: 1px solid var(--an-line); margin: 0; }

:root body .an-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; align-items: end; margin-bottom: clamp(36px, 4.5vw, 56px); }
:root body .an-head--center { display: block; text-align: center; max-width: 720px; margin-inline: auto; }
:root body .an-head--center .an-copy { margin: 18px auto 0; }
@media (max-width: 800px) { :root body .an-head { grid-template-columns: minmax(0, 1fr); } }

:root body /* Geteiltes Layout Text / Bild */
.an-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(36px, 6vw, 96px); align-items: center; }
:root body .an-split--rev > :first-child { order: 2; }
:root body .an-split--top { align-items: start; }
@media (max-width: 900px) {
  :root body .an-split { grid-template-columns: minmax(0, 1fr); }
  :root body .an-split--rev > :first-child { order: 0; }
}

:root body /* ---------- Gerahmte Bilder ---------- */
.an-frame { position: relative; overflow: hidden; border-radius: var(--an-radius); background: var(--an-bg-3); aspect-ratio: 4 / 3; }
:root body .an-frame img { width: 100%; height: 100%; object-fit: cover; }
:root body .an-frame--portrait { aspect-ratio: 4 / 5; max-height: 640px; }
:root body .an-frame--wide { aspect-ratio: 16 / 9; }
:root body .an-figcap { display: flex; justify-content: space-between; gap: 16px; margin-top: 12px; font-size: 13px; color: var(--an-muted); }
:root body .an-section--paper .an-figcap { color: var(--an-ink-muted); }

:root body /* ---------- Hero (Startseite) ---------- */
.an-hero { padding-top: clamp(132px, 15vw, 176px); padding-bottom: 0; text-align: center; }
:root body .an-hero__label { margin-bottom: 22px; }
:root body .an-hero__title { max-width: 14ch; margin-inline: auto; }
:root body .an-hero__intro { margin: 24px auto 0; max-width: 50ch; color: var(--an-muted); }
:root body .an-hero__actions { justify-content: center; margin-top: 32px; }
:root body .an-hero__stage { position: relative; margin-top: clamp(48px, 6vw, 72px); }
:root body .an-hero__frame { aspect-ratio: 21 / 9; max-height: 64vh; width: 100%; }
:root body .an-hero__frame img { object-position: 50% 58%; }
:root body .an-hero__snow { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
@media (max-width: 700px) { :root body .an-hero__frame { aspect-ratio: 4 / 3; } }

:root body /* Infozeile unter dem Hero-Bild */
.an-facts-row { margin: 17px 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 1px solid var(--an-line); text-align: left; }
:root body .an-facts-row > div { padding: 22px 24px 24px 0; }
:root body .an-facts-row > div + div { padding-left: 24px; border-left: 1px solid var(--an-line); }
:root body .an-facts-row dt { font-size: 14px; color: var(--an-muted); margin-bottom: 6px; }
:root body .an-facts-row dd { margin: 0; font-family: var(--an-font-display); font-size: 22px; line-height: 1.3; }
@media (max-width: 760px) {
  :root body .an-facts-row { grid-template-columns: minmax(0, 1fr); }
  :root body .an-facts-row > div { padding: 16px 0; }
  :root body .an-facts-row > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--an-line); }
}

:root body /* ---------- Statement ---------- */
.an-intro { text-align: center; }
:root body .an-intro .an-link { margin-top: 32px; }

/* ---------- Linierte Listen (Zeiten,
Bereiche,
:root body Anreise) ---------- */
.an-rows { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--an-line); }
:root body .an-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 24px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--an-line); }
:root body .an-row__title { font-family: var(--an-font-display); font-size: clamp(20px, 1.6vw, 23px); line-height: 1.3; }
:root body .an-row__value { font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--an-text); font-weight: 500; }
:root body .an-row__note { grid-column: 1 / -1; font-size: 15px; color: var(--an-muted); }
:root body .an-row.is-today .an-row__title::after { content: "Heute"; margin-left: 12px; vertical-align: middle; font-family: var(--an-font-text); font-size: 12px; font-weight: 600; color: var(--an-bg); background: var(--an-brass); padding: 3px 8px; border-radius: 2px; }
:root body .an-row--links { display: flex; flex-wrap: wrap; gap: 12px 28px; border-bottom: 0; padding-top: 24px; }
:root body a.an-row { text-decoration: none; transition: padding .45s var(--an-ease), color .3s; }
:root body a.an-row:hover { padding-left: 10px; color: var(--an-brass-2); }
:root body a.an-row .an-row__value { color: var(--an-muted); display: inline-flex; align-items: center; gap: 10px; }
:root body a.an-row .an-row__value iconify-icon { color: var(--an-brass); transition: transform .4s var(--an-ease); }
:root body a.an-row:hover .an-row__value iconify-icon { transform: translateX(4px); }
:root body .an-row__dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c); margin-right: 14px; vertical-align: middle; }
@media (max-width: 480px) { :root body .an-row { grid-template-columns: minmax(0, 1fr); } :root body .an-row__value { white-space: normal; } }

:root body /* Fakten mit Icon */
.an-facts { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--an-line); width: 100%; }
:root body .an-facts li { display: grid; grid-template-columns: 28px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--an-line); }
:root body .an-facts iconify-icon { font-size: 22px; color: var(--an-brass); margin-top: 3px; }
:root body .an-facts strong { display: block; font-weight: 600; }
:root body .an-facts span { color: var(--an-muted); font-size: 16px; }

:root body /* ---------- Programm ---------- */
.an-program { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--an-line); border-bottom: 1px solid var(--an-line); }
:root body .an-program__day { padding: 28px 24px 32px 0; }
:root body .an-program__day + .an-program__day { padding-left: 24px; border-left: 1px solid var(--an-line); }
:root body .an-program__day h3 { margin: 0; font-size: clamp(19px, 1.5vw, 21px); }
:root body .an-program__day.is-today h3::after { content: "Heute"; margin-left: 10px; vertical-align: middle; font-family: var(--an-font-text); font-size: 12px; font-weight: 600; color: var(--an-bg); background: var(--an-brass); padding: 3px 8px; border-radius: 2px; }
:root body .an-program__hours { margin: 6px 0 20px; font-size: 15px; color: var(--an-brass); font-variant-numeric: tabular-nums; }
:root body .an-program__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
:root body .an-program__list li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 10px; font-size: 15px; line-height: 1.55; color: var(--an-muted); }
:root body .an-program__time { font-variant-numeric: tabular-nums; color: var(--an-text); }
:root body .an-program__list li.is-highlight span:last-child { font-family: var(--an-font-display); font-size: 19px; line-height: 1.3; color: var(--an-text); }
:root body .an-family { margin-top: clamp(48px, 6vw, 72px); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 24px 64px; align-items: start; }
:root body .an-family .an-row__note { max-width: 70ch; }
@media (max-width: 1080px) {
  :root body .an-program { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root body .an-program__day:nth-child(3) { padding-left: 0; border-left: 0; }
  :root body .an-program__day:nth-child(n+3) { border-top: 1px solid var(--an-line); }
}
@media (max-width: 800px) { :root body .an-family { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  :root body .an-program { grid-template-columns: minmax(0, 1fr); }
  :root body .an-program__day,
:root body .an-program__day + .an-program__day { padding: 24px 0 26px; border-left: 0; }
  :root body .an-program__day + .an-program__day { border-top: 1px solid var(--an-line); }
}

:root body /* ---------- Bildband mit Text (CTA) ---------- */
.an-band { position: relative; overflow: hidden; border-radius: var(--an-radius); min-height: clamp(420px, 46vw, 560px); display: flex; align-items: flex-end; }
:root body .an-band__img { position: absolute; inset: 0; }
:root body .an-band__img img { width: 100%; height: 100%; object-fit: cover; }
:root body .an-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,12,24,.9) 0%, rgba(8,12,24,.72) 42%, rgba(8,12,24,.12) 80%); }
:root body .an-band__body { position: relative; z-index: 1; padding: clamp(28px, 5vw, 64px); max-width: 560px; }
:root body .an-band__body .an-copy { color: #d3cdc2; margin-top: 18px; }
:root body .an-band__body .an-actions { margin-top: 28px; }
:root body .an-deadline { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-size: 15px; color: var(--an-brass-2); }
:root body .an-deadline iconify-icon { color: var(--an-copper); }
@media (max-width: 700px) {
  :root body .an-band::after { background: linear-gradient(0deg, rgba(8,12,24,.94) 0%, rgba(8,12,24,.8) 55%, rgba(8,12,24,.2) 100%); }
}

:root body /* ---------- Sponsoren ---------- */
.an-sponsor-group + .an-sponsor-group { margin-top: clamp(40px, 5vw, 64px); }
:root body .an-sponsor-group h3 { font-family: var(--an-font-text); font-size: 15px; font-weight: 600; margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--an-line-ink); display: flex; justify-content: space-between; }
:root body .an-sponsor-group h3 span { color: var(--an-ink-muted); font-weight: 400; }
:root body .an-logos { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
:root body .an-logos li,
:root body .an-logos > .elementor-widget { min-height: 0; overflow: hidden; background: #fff; border-radius: var(--an-radius); display: grid; place-items: center; aspect-ratio: 3 / 2; padding: 14px; }
:root body .an-logos img { max-height: 100%; width: auto; max-width: 100%; object-fit: contain; mix-blend-mode: multiply; }
:root body .an-logos--main { grid-template-columns: repeat(4, minmax(0, 1fr)); }
:root body .an-logos--main li,
:root body .an-logos--main > .elementor-widget { padding: 22px; }
:root body .an-logos--stage { grid-template-columns: repeat(4, minmax(0, 1fr)); }
:root body .an-logos--partner { grid-template-columns: repeat(6, minmax(0, 1fr)); }
:root body /* Logos aus dem Flyer: Kachel samt Weissraum ist bereits im Bild */
.an-logos--flyer li,
:root body .an-logos--flyer > .elementor-widget,
:root body .an-logos--main.an-logos--flyer li,
:root body .an-logos--main.an-logos--flyer > .elementor-widget { padding: 0; }
:root body .an-logos--flyer img { width: 100%; height: 100%; max-height: none; object-fit: cover; mix-blend-mode: normal; }
:root body .an-names { list-style: none; margin: 0; padding: 0; columns: 4 200px; column-gap: 32px; }
:root body .an-names li { padding: 8px 0; border-bottom: 1px solid var(--an-line-ink); break-inside: avoid; color: var(--an-ink); }
@media (max-width: 900px) { :root body .an-logos--partner { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px) {
  :root body .an-logos--main,
:root body .an-logos--stage { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root body .an-logos--partner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

:root body /* ---------- Unterseiten-Kopf ---------- */
.an-pagehead { padding-top: clamp(132px, 14vw, 168px); padding-bottom: clamp(40px, 5vw, 64px); text-align: center; }
:root body .an-pagehead .an-copy { margin: 22px auto 0; }
:root body .an-pagehead__frame { margin-top: clamp(40px, 5vw, 64px); aspect-ratio: 21 / 8; max-height: 52vh; }
@media (max-width: 700px) { :root body .an-pagehead__frame { aspect-ratio: 3 / 2; } }
:root body .an-breadcrumb { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 22px; padding: 0; font-size: 14px; color: var(--an-muted); }
:root body .an-breadcrumb li + li::before { content: "/"; margin-right: 8px; color: var(--an-line-strong); }
:root body .an-breadcrumb a { text-decoration: none; }
:root body .an-breadcrumb a:hover { color: var(--an-text); }
:root body .an-concept-flag { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--an-brass-2); }

:root body /* ---------- Galerie ---------- */
.an-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); }
:root body .an-gallery__item { margin: 0; }
:root body .an-gallery__item--7 { grid-column: span 7; }
:root body .an-gallery__item--5 { grid-column: span 5; }
:root body .an-gallery__item--6 { grid-column: span 6; }
:root body .an-gallery__btn { display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; position: relative; text-align: left; }
:root body .an-gallery__btn .an-frame { display: block; aspect-ratio: 3 / 2; }
:root body .an-gallery__btn img { transition: transform 1.2s var(--an-ease); }
:root body .an-gallery__btn:hover img { transform: scale(1.035); }
:root body .an-gallery__item figcaption { margin-top: 10px; font-size: 14px; color: var(--an-muted); }
@media (max-width: 760px) { :root body .an-gallery__item--7,
:root body .an-gallery__item--5,
:root body .an-gallery__item--6 { grid-column: 1 / -1; } }

:root body .an-lightbox { width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(7,10,21,.97); color: var(--an-text); }
:root body .an-lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
:root body .an-lightbox::backdrop { background: rgba(0,0,0,.6); }
:root body .an-lightbox__top,
:root body .an-lightbox__bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px var(--an-gutter); }
:root body .an-lightbox__count { font-size: 14px; color: var(--an-muted); font-variant-numeric: tabular-nums; }
:root body .an-lightbox__stage { display: grid; place-items: center; padding: 0 var(--an-gutter); min-height: 0; }
:root body .an-lightbox__stage img { max-width: 100%; max-height: 100%; object-fit: contain; }
:root body .an-lightbox__caption { margin: 0; font-size: 14px; color: var(--an-muted); text-align: center; }
:root body .an-iconbtn { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--an-line-strong); border-radius: 50%; background: transparent; cursor: pointer; font-size: 20px; transition: border-color .3s, color .3s; }
:root body .an-iconbtn:hover { border-color: var(--an-brass); color: var(--an-brass-2); }

:root body /* ---------- OK ---------- */
.an-team { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--an-line); }
:root body .an-member { padding: 28px 28px 32px 0; border-bottom: 1px solid var(--an-line); }
:root body .an-member:not(:nth-child(3n+1)) { padding-left: 28px; border-left: 1px solid var(--an-line); }
:root body .an-member__photo { aspect-ratio: 4 / 5; margin-bottom: 22px; }
:root body .an-member__photo img { object-position: 50% 18%; filter: saturate(.92); }
:root body .an-member__photo--none { display: grid; place-items: center; border: 1px solid var(--an-line); background: var(--an-bg-2); }
:root body .an-member__photo--none span { font-size: 14px; color: var(--an-muted); }
:root body .an-member__role { margin: 0 0 8px; font-size: 14px; color: var(--an-brass); }
:root body .an-member__name { margin: 0 0 8px; }
:root body .an-member__org { margin: 0 0 14px; font-size: 15px; color: var(--an-muted); line-height: 1.55; }
:root body .an-member__contact { list-style: none; margin: 0; padding: 0; font-size: 15px; }
:root body .an-member__contact a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; padding: 3px 0; word-break: break-all; }
:root body .an-member__contact a:hover { color: var(--an-brass-2); }
:root body .an-member__contact iconify-icon { color: var(--an-brass); flex: none; }
@media (max-width: 960px) {
  :root body .an-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  :root body .an-member:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
  :root body .an-member:nth-child(2n) { padding-left: 24px; border-left: 1px solid var(--an-line); }
}
@media (max-width: 600px) {
  :root body .an-team { grid-template-columns: minmax(0, 1fr); }
  :root body .an-member:nth-child(2n) { padding-left: 0; border-left: 0; }
  :root body .an-member { padding: 22px 0; display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 18px; align-items: start; }
  :root body .an-member > :not(.an-member__photo) { grid-column: 2; }
  :root body .an-member__photo { grid-column: 1; grid-row: 1 / span 5; margin: 0; }
  :root body .an-member__photo--none span { font-size: 12px; text-align: center; }
}

:root body /* ---------- Anmeldung ---------- */
.an-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--an-line-ink); }
:root body .an-step { padding: 28px 28px 8px 0; }
:root body .an-step + .an-step { padding-left: 28px; border-left: 1px solid var(--an-line-ink); }
:root body .an-step__num { display: block; font-family: var(--an-font-display); font-size: 15px; color: #8a6430; margin-bottom: 14px; }
:root body .an-step h3 { margin: 0 0 10px; color: var(--an-ink); }
@media (max-width: 800px) {
  :root body .an-steps { grid-template-columns: minmax(0, 1fr); }
  :root body .an-step,
:root body .an-step + .an-step { padding: 22px 0; border-left: 0; border-bottom: 1px solid var(--an-line-ink); }
}
:root body .an-downloads { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--an-line); width: 100%; }
:root body .an-download a { display: grid; grid-template-columns: 28px 1fr auto; gap: 16px; align-items: center; padding: 20px 0; border-bottom: 1px solid var(--an-line); text-decoration: none; transition: padding .45s var(--an-ease); }
:root body .an-download a:hover { padding-left: 10px; }
:root body .an-download a > iconify-icon:first-child { font-size: 22px; color: var(--an-brass); }
:root body .an-download__title { display: block; font-family: var(--an-font-display); font-size: 21px; line-height: 1.3; }
:root body .an-download__meta { display: block; font-size: 14px; color: var(--an-muted); }
:root body .an-download__go { font-size: 20px; color: var(--an-muted); }
:root body .an-note { display: grid; grid-template-columns: 24px 1fr; gap: 14px; padding: 20px 22px; border: 1px solid rgba(196,130,106,.5); border-radius: var(--an-radius); width: 100%; }
:root body .an-note iconify-icon { color: var(--an-copper); font-size: 22px; margin-top: 2px; }
:root body .an-note p { margin: 0; color: var(--an-muted); font-size: 16px; }
:root body .an-note strong { color: var(--an-text); }
:root body .an-sticky { position: sticky; top: 120px; }
@media (max-width: 900px) { :root body .an-sticky { position: static; } }

:root body /* ---------- Kontakt & Formular ---------- */
.an-contact { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
@media (max-width: 900px) { :root body .an-contact { grid-template-columns: minmax(0, 1fr); } }
:root body .an-contact__aside { display: flex; flex-direction: column; gap: 28px; }
:root body .an-contact__aside .an-label { margin-bottom: 8px; }
:root body .an-address { color: var(--an-muted); line-height: 1.7; margin: 0; }
:root body .an-address strong { color: var(--an-text); }
:root body .an-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; }
:root body .an-field { display: flex; flex-direction: column; gap: 8px; }
:root body .an-field--full { grid-column: 1 / -1; }
:root body .an-field label { font-size: 15px; font-weight: 500; }
:root body .an-field label span[aria-hidden] { color: var(--an-brass); }
:root body .an-input {
  width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid var(--an-line-strong); border-radius: var(--an-radius);
  background: var(--an-bg-2); color: var(--an-text); font: inherit; font-size: 16px; transition: border-color .3s;
}
:root body textarea.an-input { resize: vertical; min-height: 150px; }
:root body .an-input:hover { border-color: rgba(237,230,216,.42); }
:root body .an-input:focus { outline: none; border-color: var(--an-brass); }
:root body .an-field__error { display: none; font-size: 14px; color: #f0a48c; }
:root body .an-field.is-invalid .an-input { border-color: #e0876d; }
:root body .an-field.is-invalid .an-field__error { display: block; }
:root body .an-check { display: grid !important; grid-template-columns: 22px 1fr; gap: 12px; font-weight: 400 !important; color: var(--an-muted); }
:root body .an-check input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--an-brass); }
:root body .an-check .an-link { display: inline; }
:root body .an-hp { position: absolute; left: -9999px; }
:root body .an-form__foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
:root body .an-form__status { margin: 0; font-size: 15px; color: var(--an-muted); }
:root body .an-form__status.is-error { color: #f0a48c; }
:root body .an-form__status.is-success { color: #bcd3a8; }
@media (max-width: 600px) { :root body .an-form { grid-template-columns: minmax(0, 1fr); } }

:root body /* ---------- Fliesstext-Seiten ---------- */
.an-prose { max-width: 720px; margin-inline: auto; color: var(--an-muted); }
:root body .an-prose h2 { font-family: var(--an-font-display); font-weight: 400; font-size: 24px; color: var(--an-text); margin: 2em 0 .5em; }
:root body .an-prose h2:first-child { margin-top: 0; }
:root body .an-prose h3 { font-family: var(--an-font-text); font-weight: 600; font-size: 17px; color: var(--an-text); margin: 1.6em 0 .4em; }
:root body .an-prose a { color: var(--an-text); overflow-wrap: anywhere; }

:root body /* ---------- Marktplan ---------- */
.an-plan { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, 1fr); gap: clamp(28px, 3.5vw, 56px); align-items: start; }
:root body .an-plan__mapcol { position: sticky; top: 104px; min-width: 0; }
:root body .an-plan__map { position: relative; border-radius: var(--an-radius); overflow: hidden; background: #f3f1ec; border: 1px solid var(--an-line); }
:root body .an-plan__viewport {
  position: relative; overflow: hidden; margin-inline: auto;
  width: min(100%, calc((100svh - 150px) * 0.9072)); aspect-ratio: 1760 / 1940;
  touch-action: pan-y; user-select: none; -webkit-user-select: none;
}
:root body .is-zoomed .an-plan__viewport { cursor: grab; touch-action: none; }
:root body .is-dragging .an-plan__viewport { cursor: grabbing; }
:root body .an-plan__canvas { position: absolute; inset: 0; transform-origin: 0 0; will-change: transform; }
:root body .an-plan__canvas.is-animating { transition: transform .8s var(--an-ease); }
:root body .an-plan__canvas img { width: 100%; height: 100%; display: block; pointer-events: none; transition: filter .5s; }
:root body .is-filtering .an-plan__canvas img { filter: grayscale(.9) contrast(.9) brightness(1.04); }
:root body .an-plan__pins { position: absolute; inset: 0; }
:root body .an-pin {
  position: absolute; width: 30px; height: 30px; padding: 0; border: 0; background: transparent; cursor: pointer;
  transform: translate(-50%, -50%) scale(calc(1 / var(--z, 1))); display: grid; place-items: center; border-radius: 50%;
}
:root body .an-pin span {
  display: grid; place-items: center; min-width: 26px; height: 26px; padding: 0 5px; border-radius: 999px;
  background: var(--an-bg); color: var(--an-text); border: 2px solid var(--c);
  font-size: 11px; font-weight: 700; line-height: 1; box-shadow: 0 6px 16px -6px rgba(0,0,0,.6);
  opacity: 0; transform: scale(.4); transition: opacity .3s, transform .4s var(--an-ease), background-color .3s, color .3s;
}
:root body .an-pin:hover span,
:root body .an-pin.is-hover span,
:root body .is-filtering .an-pin.is-match span { opacity: 1; transform: scale(1); }
:root body .is-filtering:not(.is-near) .an-pin.is-match span { transform: scale(.8); }
:root body .an-pin.is-active { z-index: 2; }
:root body .an-pin.is-active span { opacity: 1; transform: scale(1.25); background: var(--c); color: var(--an-bg); border-color: var(--an-bg); }
:root body .an-pin.is-active::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; border: 2px solid var(--c); animation: an-pulse 2s var(--an-ease) infinite; pointer-events: none; }
@keyframes an-pulse { 0% { opacity: .9; transform: scale(.9); } 100% { opacity: 0; transform: scale(2.4); } }
:root body .an-plan__zoom { position: absolute; top: 12px; right: 12px; display: flex; flex-direction: column; gap: 6px; z-index: 3; }
:root body .an-zoombtn { width: 44px; height: 44px; border-radius: var(--an-radius); border: 1px solid var(--an-line-strong); background: rgba(11,16,32,.9); color: var(--an-text); display: grid; place-items: center; font-size: 20px; cursor: pointer; transition: background-color .3s, color .3s; }
:root body .an-zoombtn:hover { background: var(--an-brass); color: var(--an-bg); }
:root body .an-plan__hint { position: absolute; top: 12px; left: 12px; margin: 0; z-index: 3; pointer-events: none; padding: 6px 10px; border-radius: 2px; font-size: 13px; color: var(--an-ink-muted); background: rgba(255,255,255,.88); transition: opacity .4s; }
:root body .is-zoomed .an-plan__hint { opacity: 0; }
@media (hover: none) { :root body .an-plan__hint { display: none; } }
:root body .an-plan__tooltip { position: absolute; z-index: 4; transform: translate(-50%, calc(-100% - 12px)); pointer-events: none; padding: 7px 11px; border-radius: 2px; font-size: 13px; white-space: nowrap; max-width: 80%; overflow: hidden; text-overflow: ellipsis; background: var(--an-bg); color: var(--an-text); }
:root body .an-plan__detail { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 3; }
:root body .an-plan__card { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; padding: 20px 60px 20px 20px; border-radius: var(--an-radius); color: var(--an-text); background: rgba(11,16,32,.95); border: 1px solid var(--an-line); box-shadow: 0 24px 50px -24px rgba(0,0,0,.7); }
:root body .an-plan__card-nr { display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0 8px; border-radius: 2px; background: var(--c); color: var(--an-bg); font-weight: 700; font-size: 18px; }
:root body .an-plan__card-cat { margin: 0 0 4px; font-size: 14px; color: var(--c); }
:root body .an-plan__card-name { margin: 0 0 4px; font-family: var(--an-font-display); font-weight: 400; font-size: clamp(20px, 1.6vw, 23px); line-height: 1.25; }
:root body .an-plan__card-text { margin: 0; color: var(--an-muted); font-size: 15px; }
:root body .an-plan__card-more { margin: 8px 0 0; font-size: 14px; color: var(--an-muted); }
:root body .an-plan__card-close { position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; font-size: 20px; }
:root body .an-plan__listcol { display: flex; flex-direction: column; min-width: 0; }
:root body .an-plan__tools { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
:root body .an-plan__search { display: flex; align-items: center; gap: 12px; padding: 0 16px; min-height: 52px; width: 100%; border: 1px solid var(--an-line-strong); border-radius: var(--an-radius); background: var(--an-bg-2); transition: border-color .3s; }
:root body .an-plan__search:focus-within { border-color: var(--an-brass); }
:root body .an-plan__search iconify-icon { font-size: 20px; color: var(--an-muted); }
:root body .an-plan__search input { flex: 1; min-width: 0; background: none; border: 0; color: var(--an-text); font: inherit; font-size: 16px; outline: none; min-height: 50px; }
:root body .an-plan__search input::placeholder { color: rgba(169,167,182,.75); }
:root body .an-plan__chips { display: flex; flex-wrap: wrap; gap: 8px; }
:root body .an-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--an-line-strong); border-radius: var(--an-radius); background: transparent; cursor: pointer; font-size: 14px; transition: background-color .3s, border-color .3s, color .3s; }
:root body .an-chip:hover { border-color: rgba(237,230,216,.5); }
:root body .an-chip__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c, var(--an-text)); }
:root body .an-chip__n { color: var(--an-muted); font-variant-numeric: tabular-nums; }
:root body .an-chip[aria-pressed="true"] { background: var(--an-text); color: var(--an-bg); border-color: var(--an-text); }
:root body .an-chip[aria-pressed="true"] .an-chip__n { color: var(--an-ink-muted); }
:root body .an-chip--toggle iconify-icon { font-size: 18px; color: var(--an-brass); }
:root body .an-chip--toggle[aria-pressed="true"] { background: var(--an-brass); border-color: var(--an-brass); }
:root body .an-chip--toggle[aria-pressed="true"] iconify-icon { color: var(--an-bg); }
:root body .an-plan__count { margin: 22px 0 8px; font-size: 14px; color: var(--an-muted); }
:root body .an-plan__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--an-line); max-height: calc(100svh - 400px); min-height: 360px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--an-bg-3) transparent; }
:root body .an-stand { width: 100%; display: grid; grid-template-columns: 40px 1fr auto; gap: 14px; align-items: center; text-align: left; padding: 14px 12px 14px 4px; background: none; border: 0; border-bottom: 1px solid var(--an-line); cursor: pointer; transition: background-color .3s, padding .4s var(--an-ease); }
:root body .an-stand:hover { background: rgba(237,230,216,.04); padding-left: 12px; }
:root body .an-stand__nr { font-weight: 600; font-size: 14px; color: var(--c); font-variant-numeric: tabular-nums; }
:root body .an-stand__body { display: flex; flex-direction: column; min-width: 0; }
:root body .an-stand__name { font-weight: 600; font-size: 16px; line-height: 1.4; }
:root body .an-stand__meta { font-size: 14px; color: var(--an-muted); line-height: 1.45; }
:root body .an-stand__area { font-size: 13px; color: var(--an-muted); white-space: nowrap; }
:root body .an-stand.is-active { background: rgba(217,178,111,.08); padding-left: 12px; box-shadow: inset 2px 0 0 var(--c); }
:root body .an-stand.is-active .an-stand__area { color: var(--c); }
:root body .an-plan__none { color: var(--an-muted); padding: 24px 0; margin: 0; }
:root body /* Aussteller als Elementor-Container (.an-stand-item): gleiche Zeile wie die erzeugte Liste */
.an-stand-item.an-stand { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; column-gap: 14px; row-gap: 0; align-items: center; }
:root body .an-stand-item > .an-stand__nr { grid-column: 1; grid-row: 1 / span 2; }
:root body .an-stand-item > .an-stand__name,
:root body .an-stand-item > .an-stand__meta { grid-column: 2; }
:root body .an-stand-item > .an-stand__area { grid-column: 3; grid-row: 1 / span 2; }
:root body .an-stand-item[hidden],
:root body .an-stand-item.is-filtered-out { display: none !important; }
:root body .an-stand-item:focus-visible { outline-offset: -2px; }
@media (max-width: 1000px) {
  :root body .an-plan { grid-template-columns: minmax(0, 1fr); }
  :root body .an-plan__mapcol { position: static; }
  :root body .an-plan__viewport { width: 100%; scroll-margin-top: 90px; }
  :root body .an-plan__list { max-height: none; min-height: 0; overflow: visible; }
}
@media (max-width: 640px) {
  :root body .an-plan__detail { position: static; padding: 8px; }
  :root body .an-plan__card { grid-template-columns: 1fr; gap: 10px; padding: 16px 54px 16px 16px; }
  :root body .an-plan__card-nr { min-width: 40px; height: 40px; font-size: 16px; justify-self: start; }
  :root body .an-stand { grid-template-columns: 36px 1fr; }
  :root body .an-stand__area { display: none; }
  :root body .an-stand-item.an-stand { grid-template-columns: 36px minmax(0, 1fr); }
}

:root body /* ---------- Footer ---------- */
.an-footer { background: #070a15; padding: clamp(64px, 8vw, 104px) 0 28px; color: var(--an-muted); font-size: 16px; }
:root body .an-footer__top { text-align: center; padding-bottom: clamp(40px, 5vw, 64px); border-bottom: 1px solid var(--an-line); }
:root body .an-footer__title { font-size: clamp(28px, 3vw, 40px); color: var(--an-text); }
:root body .an-footer__top p { margin: 0; }
:root body .an-footer__grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 40px; padding: clamp(40px, 5vw, 56px) 0; }
:root body .an-footer__h { font-family: var(--an-font-text); font-size: 15px; font-weight: 600; color: var(--an-text); margin: 0 0 14px; }
:root body .an-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
:root body .an-footer a { text-decoration: none; transition: color .25s; }
:root body .an-footer a:hover { color: var(--an-text); }
:root body .an-footer__host img { width: 190px; height: auto; margin-bottom: 18px; }
:root body .an-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-top: 24px; border-top: 1px solid var(--an-line); font-size: 14px; }
@media (max-width: 900px) { :root body .an-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { :root body .an-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } }

:root body /* ---------- Seitenübergang & Motion-Startzustände ---------- */
.an-curtain { position: fixed; inset: 0; z-index: 100; background: var(--an-bg); pointer-events: none; opacity: 0; }
html.an-loading .an-curtain { opacity: 1; }
html.an-motion [data-reveal],
html.an-motion [data-hero-seq],
html.an-motion [data-stagger] > *,
html.an-motion .an-anim-reveal,
html.an-motion .an-anim-seq,
html.an-motion .an-anim-stagger > * { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  *,
*::before,
*::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; }
  :root body .an-pin.is-active::after { animation: none; opacity: .4; transform: scale(1.5); }
  html.an-motion [data-reveal],
html.an-motion [data-hero-seq],
html.an-motion [data-stagger] > *,
html.an-motion .an-anim-reveal,
html.an-motion .an-anim-seq,
html.an-motion .an-anim-stagger > * { opacity: 1; }
}

:root {
  --an-ico-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M4 12H20M14 18L20 12L14 6'/%3E%3C/svg%3E");
  --an-ico-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'%3E%3Cpath d='M3 15C3 17.8284 3 19.2426 3.87868 20.1213C4.75736 21 6.17157 21 9 21H15C17.8284 21 19.2426 21 20.1213 20.1213C21 19.2426 21 17.8284 21 15'/%3E%3Cpath d='M12 3V16M8 11.625L12 16L16 11.625'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M2 12C2 8.22876 2 6.34315 3.17157 5.17157C4.34315 4 6.22876 4 10 4H14C17.7712 4 19.6569 4 20.8284 5.17157C22 6.34315 22 8.22876 22 12V14C22 17.7712 22 19.6569 20.8284 20.8284C19.6569 22 17.7712 22 14 22H10C6.22876 22 4.34315 22 3.17157 20.8284C2 19.6569 2 17.7712 2 14V12Z'/%3E%3Cpath d='M7 4V2.5'/%3E%3Cpath d='M17 4V2.5'/%3E%3Cpath d='M2.5 9H21.5'/%3E%3Cpath stroke-linejoin='round' d='M17 13H17.0001'/%3E%3Cpath stroke-linejoin='round' d='M12 13H12.0001'/%3E%3Cpath stroke-linejoin='round' d='M7 13H7.0001'/%3E%3Cpath stroke-linejoin='round' d='M17 17.0234H17.0001'/%3E%3Cpath stroke-linejoin='round' d='M12 17.0234H12.0001'/%3E%3Cpath stroke-linejoin='round' d='M7 17.0234H7.0001'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-map: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M4 10.1433C4 5.64588 7.58172 2 12 2C16.4183 2 20 5.64588 20 10.1433C20 14.6055 17.4467 19.8124 13.4629 21.6744C12.5343 22.1085 11.4657 22.1085 10.5371 21.6744C6.55332 19.8124 4 14.6055 4 10.1433Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-bus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M4 10C4 6.22876 4 4.34315 5.17157 3.17157C6.34315 2 8.22876 2 12 2C15.7712 2 17.6569 2 18.8284 3.17157C20 4.34315 20 6.22876 20 10V12C20 15.7712 20 17.6569 18.8284 18.8284C17.6569 20 15.7712 20 12 20C8.22876 20 6.34315 20 5.17157 18.8284C4 17.6569 4 15.7712 4 12V10Z'/%3E%3Cpath stroke-linejoin='round' d='M4 13H20'/%3E%3Cpath stroke-linejoin='round' d='M15.5 16H17'/%3E%3Cpath stroke-linejoin='round' d='M7 16H8.5'/%3E%3Cpath stroke-linejoin='round' d='M6 19.5V21C6 21.5523 6.44772 22 7 22H8.5C9.05228 22 9.5 21.5523 9.5 21V20'/%3E%3Cpath stroke-linejoin='round' d='M18 19.5V21C18 21.5523 17.5523 22 17 22H15.5C14.9477 22 14.5 21.5523 14.5 21V20'/%3E%3Cpath stroke-linejoin='round' d='M20 9H21C21.5523 9 22 9.44772 22 10V11C22 11.3148 21.8518 11.6111 21.6 11.8L20 13'/%3E%3Cpath stroke-linejoin='round' d='M4 9H3C2.44772 9 2 9.44772 2 10V11C2 11.3148 2.14819 11.6111 2.4 11.8L4 13'/%3E%3Cpath d='M19.5 5H4.5'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M19 9L12 15L5 9'/%3E%3C/svg%3E");
  --an-ico-menu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M20 7L4 7'/%3E%3Cpath d='M20 12L4 12'/%3E%3Cpath d='M20 17L4 17'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M14.5 9.50002L12 12M12 12L9.5 14.5M12 12L9.49998 9.5M12 12L14.5 14.5'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 17V11'/%3E%3Cpath stroke-linejoin='round' d='M12 8H12.0001'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M2 12C2 8.22876 2 6.34315 3.17157 5.17157C4.34315 4 6.22876 4 10 4H14C17.7712 4 19.6569 4 20.8284 5.17157C22 6.34315 22 8.22876 22 12C22 15.7712 22 17.6569 20.8284 18.8284C19.6569 20 17.7712 20 14 20H10C6.22876 20 4.34315 20 3.17157 18.8284C2 17.6569 2 15.7712 2 12Z'/%3E%3Cpath d='M6 8L8.1589 9.79908C9.99553 11.3296 10.9139 12.0949 12 12.0949C13.0861 12.0949 14.0045 11.3296 15.8411 9.79908L18 8'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5' d='M18.6763 19.9631C19.1917 19.9122 19.6399 19.6343 20.0011 19.254L21.4217 17.7584C22.3806 16.7489 22.1102 15.0182 20.8833 14.312L18.9728 13.2123C18.1672 12.7486 17.1858 12.8848 16.5562 13.5477L16.1007 14.0272C16.1007 14.0272 15.0181 15.167 12.0631 12.0559C9.10812 8.94484 10.1907 7.80507 10.1907 7.80507L10.4775 7.50311C11.1841 6.75924 11.2507 5.56497 10.6342 4.6931L9.37326 2.90961C8.61028 1.8305 7.13596 1.68795 6.26145 2.60864L4.69185 4.26114C4.25823 4.71766 3.96765 5.30945 4.00289 5.96594C4.09304 7.64546 4.81072 11.259 8.81536 15.4752C13.0621 19.9462 17.0468 20.1239 18.6763 19.9631Z'/%3E%3C/svg%3E");
  --an-ico-mobile: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M4 10C4 6.22876 4 4.34315 5.17157 3.17157C6.34315 2 8.22876 2 12 2C15.7712 2 17.6569 2 18.8284 3.17157C20 4.34315 20 6.22876 20 10V14C20 17.7712 20 19.6569 18.8284 20.8284C17.6569 22 15.7712 22 12 22C8.22876 22 6.34315 22 5.17157 20.8284C4 19.6569 4 17.7712 4 14V10Z'/%3E%3Cpath d='M15 19H9'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-doc-add: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M18.18 8.03933L18.6435 7.57589C19.4113 6.80804 20.6563 6.80804 21.4241 7.57589C22.192 8.34374 22.192 9.58868 21.4241 10.3565L20.9607 10.82M18.18 8.03933C18.18 8.03933 18.238 9.02414 19.1069 9.89309C19.9759 10.762 20.9607 10.82 20.9607 10.82M20.9607 10.82L16.7001 15.0806C16.4115 15.3692 16.2672 15.5135 16.1081 15.6376C15.9204 15.7839 15.7173 15.9094 15.5025 16.0118C15.3203 16.0986 15.1268 16.1632 14.7396 16.2922L13.5 16.7054L13.099 16.8391L12.6979 16.9728C12.5074 17.0363 12.2973 16.9867 12.1553 16.8447C12.0133 16.7027 11.9637 16.4926 12.0272 16.3021L12.1609 15.901L12.2946 15.5L12.7078 14.2604C12.8368 13.8732 12.9014 13.6797 12.9882 13.4975C13.0906 13.2827 13.2161 13.0796 13.3624 12.8919C13.4865 12.7328 13.6308 12.5885 13.9194 12.2999L18.18 8.03933M13.099 16.8391L12.1609 15.901'/%3E%3Cpath d='M8 13H10.5'/%3E%3Cpath d='M8 9H14.5'/%3E%3Cpath d='M8 17H9.5'/%3E%3Cpath d='M19.8284 3.17157C18.6569 2 16.7712 2 13 2H11C7.22876 2 5.34315 2 4.17157 3.17157C3 4.34315 3 6.22876 3 10V14C3 17.7712 3 19.6569 4.17157 20.8284C5.34315 22 7.22876 22 11 22H13C16.7712 22 18.6569 22 19.8284 20.8284C20.7715 19.8853 20.9554 18.4796 20.9913 16'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-doc-text: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M3 10C3 6.22876 3 4.34315 4.17157 3.17157C5.34315 2 7.22876 2 11 2H13C16.7712 2 18.6569 2 19.8284 3.17157C21 4.34315 21 6.22876 21 10V14C21 17.7712 21 19.6569 19.8284 20.8284C18.6569 22 16.7712 22 13 22H11C7.22876 22 5.34315 22 4.17157 20.8284C3 19.6569 3 17.7712 3 14V10Z'/%3E%3Cpath d='M8 12H16'/%3E%3Cpath d='M8 8H16'/%3E%3Cpath d='M8 16H13'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-fire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M20 13.1111C20 20.2222 13.9556 22 10.9333 22C8.28889 22 3 20.2222 3 13.1111C3 10.3295 4.46147 8.46138 5.85996 7.39454C6.63841 6.80069 7.6304 7.39197 7.73017 8.36598L7.816 9.20382C7.92052 10.2241 8.84932 11.0606 9.70932 10.5017C11.3938 9.40705 12 6.7752 12 5.33334V5.00971C12 3.58 13.4438 2.65985 14.6023 3.49767C17.1653 5.35127 20 8.58427 20 13.1111Z'/%3E%3Cpath d='M8 18.4445C8 21.2889 10.4889 22 11.7333 22C12.8222 22 15 21.2889 15 18.4445C15 17.3435 14.4107 16.6002 13.8404 16.1713C13.4424 15.872 12.8828 16.1408 12.7459 16.6196C12.5675 17.2437 11.9228 17.636 11.5944 17.0759C11.2941 16.5638 11.2941 15.7957 11.2941 15.3334C11.2941 14.6968 10.6539 14.2847 10.1389 14.6589C9.10649 15.4091 8 16.6815 8 18.4445Z'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-clipboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M16 4C18.175 4.01211 19.3529 4.10856 20.1213 4.87694C21 5.75562 21 7.16983 21 9.99826V15.9983C21 18.8267 21 20.2409 20.1213 21.1196C19.2426 21.9983 17.8284 21.9983 15 21.9983H9C6.17157 21.9983 4.75736 21.9983 3.87868 21.1196C3 20.2409 3 18.8267 3 15.9983V9.99826C3 7.16983 3 5.75562 3.87868 4.87694C4.64706 4.10856 5.82497 4.01211 8 4'/%3E%3Cpath stroke-linejoin='round' d='M9 13.4L10.7143 15L15 11'/%3E%3Cpath d='M8 3.5C8 2.67157 8.67157 2 9.5 2H14.5C15.3284 2 16 2.67157 16 3.5V4.5C16 5.32843 15.3284 6 14.5 6H9.5C8.67157 6 8 5.32843 8 4.5V3.5Z'/%3E%3C/g%3E%3C/svg%3E");
  --an-ico-warning: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-width='1.5'%3E%3Cpath d='M5.31171 10.7615C8.23007 5.58716 9.68925 3 12 3C14.3107 3 15.7699 5.58716 18.6883 10.7615L19.0519 11.4063C21.4771 15.7061 22.6897 17.856 21.5937 19.428C20.4978 21 17.7864 21 12.3637 21H11.6363C6.21356 21 3.50217 21 2.40626 19.428C1.31034 17.856 2.52291 15.7061 4.94805 11.4063L5.31171 10.7615Z'/%3E%3Cpath d='M12 8V13'/%3E%3Cpath stroke-linejoin='round' d='M12 16H12.0001'/%3E%3C/g%3E%3C/svg%3E");
}

/* ==========================================================================
   Elementor-Anpassung
   Container und Widgets bekommen ihre Gestaltung über die an-Klassen
   (Elementor → Erweitert → CSS-Klassen). Hier werden Elementors eigene
   Vorgaben neutralisiert, damit die Klassen greifen. Werte, die im Editor
   pro Element gesetzt werden, haben weiterhin Vorrang.
   ========================================================================== */

/* Hello Elementor: Grundfarben und Links */
:root body { background: var(--an-bg); color: var(--an-text); }
:root body a { color: inherit; }
:root body a:hover, :root body a:active { color: inherit; }
:root body main#inhalt { display: block; }

/* Container: keine Standard-Abstände, Breite steuern die an-Klassen */
:root body .e-con {
  --padding-top: 0; --padding-right: 0; --padding-bottom: 0; --padding-left: 0;
  --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --container-max-width: 100%; --content-width: 100%;
}
/* Elementor schreibt pro Container --display, --gap usw. in sein Element-CSS.
   Abstände setzen wir hier schwach (:where), damit die an-Klassen gewinnen. */
:root body :where(.e-con) { gap: 0; }
:root body :where(.e-con.an-container, .e-con.an-section, .e-con.an-hero, .e-con.an-pagehead) { display: block; }
:root body :where(.e-con > .elementor-widget, .e-con > .e-con) { margin: 0; }

/* Elementor begrenzt Widgets mit .elementor.elementor .e-con > .elementor-widget { max-width: 100% }.
   Lesebreiten aus dem Konzept deshalb hier mit höherer Gewichtung. */
:root body .elementor .e-con > .elementor-widget.an-copy { max-width: 58ch; }
:root body .elementor .e-con > .elementor-widget.an-hero__title { max-width: 14ch; }
:root body .elementor .e-con > .elementor-widget.an-hero__intro { max-width: 50ch; }
:root body .elementor .e-con > .elementor-widget.an-statement { max-width: 34ch; }
:root body .elementor .e-con > .elementor-widget.an-band__img { max-width: none; }
:root body .elementor-widget:not(:last-child) { margin-block-end: 0; }
:root body .elementor-element { --widgets-spacing: 0px; --kit-widget-spacing: 0px; }
:root body .e-con.an-container { padding-inline: var(--an-gutter); margin-inline: auto; width: 100%; }
:root body .e-con.an-stack { display: flex; flex-direction: column; gap: 22px; align-items: flex-start; }
:root body .e-con.an-stack > .elementor-widget { width: auto; max-width: 100%; }
:root body .e-con.an-stack > .an-frame,
:root body .e-con.an-stack > .an-full { width: 100%; }

/* Überschriften: Schrift und Farbe kommen von der an-Klasse am Widget */
:root body .elementor-widget-heading .elementor-heading-title {
  font: inherit; color: inherit; letter-spacing: inherit; line-height: inherit; text-transform: inherit; margin: 0;
}

/* Text-Editor: Absätze ohne Standard-Ränder */
/* Kit-Standardschrift neutralisieren, ohne die an-Klassen zu übersteuern */
:root body :where(.elementor-widget-text-editor) { font-family: inherit; font-weight: inherit; color: inherit; }
:root body .elementor-widget-text-editor p { margin: 0; }
:root body .elementor-widget-text-editor p + p { margin-top: 1em; }
:root body .elementor-widget-text-editor.an-copy p { max-width: inherit; }
:root body .elementor-widget-text-editor.an-label p { margin: 0; }

/* Bilder: füllen ihren Rahmen */
:root body .elementor-widget-image.an-frame img,
:root body .an-band__img img { width: 100%; height: 100%; object-fit: cover; max-width: none; border-radius: 0; }
:root body .elementor-widget-image.an-frame { display: block; }
:root body .an-band__img { position: absolute; inset: 0; margin: 0; }
:root body .e-con.an-band__body { position: relative; z-index: 1; }

/* Buttons und Links im Text-Editor */
:root body .an-actions p { display: flex; flex-wrap: wrap; gap: 12px; }
:root body .an-hero__actions p { justify-content: center; }
:root body .an-btn,
:root body .an-btn:hover { color: var(--an-bg); text-decoration: none; }
:root body .an-btn--line,
:root body .an-btn--line:hover { color: var(--an-text); }
:root body .an-btn--arrow::after,
:root body .an-link--arrow::after {
  content: ""; width: 18px; height: 18px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .4s var(--an-ease);
}
:root body .an-btn--arrow:hover::after, :root body .an-link--arrow:hover::after { transform: translateX(3px); }
:root body .an-link--arrow::after { background: var(--an-brass); }
:root body .an-link { text-decoration: none; }

/* Sponsoren: Gönnerliste aus dem Text-Editor */
:root body .an-names ul { list-style: none; margin: 0; padding: 0; }
:root body .an-section--paper .elementor-widget-heading .elementor-heading-title { color: inherit; }
:root body .an-sponsor-group .elementor-heading-title { display: flex; justify-content: space-between; }
:root body .an-sponsor-group h3 { margin: 0 0 18px; }

/* Zentrierte Köpfe */
:root body .an-head--center.e-con { display: block; }
:root body .an-intro.e-con { display: block; }
:root body .an-intro .an-statement { margin-inline: auto; }
:root body .an-center p { margin-inline: auto; }

/* Bildunterschrift aus dem Text-Editor */
:root body .an-figcap p { display: flex; justify-content: space-between; gap: 16px; width: 100%; }
:root body .e-con.an-figure { display: block; }

/* Abstände, die im statischen Konzept inline gesetzt sind */
:root body .an-intro .an-copy { margin-top: 28px; }
:root body .an-section.an-pt0 { padding-top: 0; }
:root body .an-frame--wide { margin-top: 12px; }
:root body .an-days4, :root body .an-rows, :root body .an-facts { width: 100%; }
:root body .elementor-widget-html.an-full, :root body .elementor-widget-shortcode.an-full { width: 100%; }

/* Bildausschnitt (Klasse am Bild-Widget) */
:root body .an-pos-25 img { object-position: 25% 50%; }
:root body .an-pos-30 img { object-position: 30% 50%; }
:root body .an-pos-45 img { object-position: 45% 50%; }
:root body .an-pos-60 img { object-position: 60% 50%; }
:root body .an-pos-72 img { object-position: 72% 50%; }

/* Sponsoren-Gruppentitel (Überschrift-Widget H3) */
/* Rand und Linie trägt das innere h3 (Regel .an-sponsor-group h3 aus dem Konzept), der Wrapper nur Schrift und Abstand */
:root body .an-sponsor-h { font-family: var(--an-font-text); font-size: 15px; font-weight: 600; line-height: 1.7; color: var(--an-ink); }
:root body .an-sponsor-h span { color: var(--an-ink-muted); font-weight: 400; }

/* Elementor setzt margin-block-end von Widgets in Containern auf 0 (.e-con .elementor-widget.elementor-widget) */
:root body .elementor .e-con:not(.an-stack) > .elementor-widget.an-label { margin-block-end: 18px; }
:root body .elementor .e-con:not(.an-stack) > .elementor-widget.an-label.an-hero__label { margin-block-end: 22px; }
:root body .elementor .e-con.an-stack > .elementor-widget.an-label { margin: 0; }
:root body .elementor .e-con > .elementor-widget.an-sponsor-h { margin-block-end: 18px; }

/* Flex-Richtung explizit, Elementor gibt pro Container column vor */
:root body .e-con.an-band { flex-direction: row; }

/* ==========================================================================
   Basis-Theme (z. B. moovis-child-theme) setzt Schrift, Zeilenhöhe und
   Abstände von Überschriften mit !important. Hier zurück auf das Konzept.
   ========================================================================== */
:root body { font-family: var(--an-font-text) !important; font-size: 17px; line-height: 1.7; }
:root body :is(h1, h2, h3, h4, h5, h6) {
  font-family: inherit !important; line-height: inherit !important; color: inherit;
  margin-top: 0 !important; margin-bottom: 0 !important;
}
:root body :is(h1, h2, h3, h4, h5, h6):is(.an-h1, .an-h2, .an-h3, .an-plan__card-name) { font-family: var(--an-font-display) !important; }
:root body h1.an-h1 { line-height: 1.08 !important; }
:root body h2.an-h2 { line-height: 1.15 !important; }
:root body h3.an-h3 { line-height: 1.25 !important; }
:root body .an-days4 h3 { margin-bottom: 6px !important; }
:root body .an-member__name { margin-bottom: 8px !important; }
:root body .an-step h3 { margin-bottom: 10px !important; }
:root body .an-plan__card-name { margin-bottom: 4px !important; line-height: 1.25 !important; }
:root body .an-prose h2 { margin: 2em 0 .5em !important; line-height: 1.7 !important; font-family: var(--an-font-display) !important; }
:root body .an-prose h2:first-child { margin-top: 0 !important; }
:root body .an-prose h3 { margin: 1.6em 0 .4em !important; font-family: var(--an-font-text) !important; line-height: 1.7 !important; }
:root body .an-footer__h { margin-bottom: 14px !important; font-family: var(--an-font-text) !important; line-height: 1.7 !important; }
:root body :focus-visible { outline: 2px solid var(--an-brass-2) !important; outline-offset: 3px; }

/* ==========================================================================
   Native Elementor-Widgets statt HTML-Widgets
   Icons: Solar (Iconify) als CSS-Maske, Variablen --an-ico-* erzeugt build_wp.py
   ========================================================================== */
:root body .an-ico::before, :root body .an-fact::before {
  content: ""; display: inline-block; flex: none; width: 1.2em; height: 1.2em; background: currentColor;
  -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}

/* Buttons (Button-Widget) */
:root body .an-btnw .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 24px; border: 1px solid var(--an-brass); border-radius: var(--an-radius);
  background: var(--an-brass); color: var(--an-bg); text-decoration: none;
  font-family: var(--an-font-text); font-size: 15px; font-weight: 600; letter-spacing: .01em; line-height: 1;
  transition: background-color .35s var(--an-ease), color .35s var(--an-ease), border-color .35s var(--an-ease);
}
:root body .an-btnw .elementor-button:hover, :root body .an-btnw .elementor-button:focus-visible { background: var(--an-brass-2); border-color: var(--an-brass-2); color: var(--an-bg); }
:root body .an-btnw--line .elementor-button { background: transparent; color: var(--an-text); border-color: var(--an-line-strong); }
:root body .an-btnw--line .elementor-button:hover, :root body .an-btnw--line .elementor-button:focus-visible { background: transparent; border-color: var(--an-brass); color: var(--an-brass-2); }
:root body .an-btnw--arrow .elementor-button-text { display: inline-flex; align-items: center; gap: 10px; }
:root body .an-btnw--arrow .elementor-button-text::after {
  content: ""; width: 18px; height: 18px; background: currentColor; transition: transform .4s var(--an-ease);
  -webkit-mask: var(--an-ico-arrow) center / contain no-repeat; mask: var(--an-ico-arrow) center / contain no-repeat;
}
:root body .an-btnw--arrow .elementor-button:hover .elementor-button-text::after { transform: translateX(3px); }
:root body .an-header__cta .elementor-button { min-height: 44px; padding: 0 18px; font-size: 14px; }
/* Die Konzept-Klasse an-header__cta formt im statischen HTML den Link selbst; am Widget-Wrapper neutralisieren */
:root body .elementor-widget.an-header__cta, :root body .elementor-widget.an-header__cta:hover { padding: 0; min-height: 0; background: none; border: 0; }
:root body .e-con.an-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; }
:root body .e-con.an-actions > .elementor-widget { width: auto; }

/* Links mit Icon im Text-Editor */
:root body .an-link--download::before { content: ""; width: 18px; height: 18px; background: var(--an-brass); -webkit-mask: var(--an-ico-download) center / contain no-repeat; mask: var(--an-ico-download) center / contain no-repeat; }
:root body .an-link--arrow::after { -webkit-mask-image: var(--an-ico-arrow); mask-image: var(--an-ico-arrow); }
:root body .an-btn--arrow::after { -webkit-mask-image: var(--an-ico-arrow); mask-image: var(--an-ico-arrow); }

/* Infozeile unter dem Hero-Bild */
:root body .an-facts-row__label { font-size: 14px; color: var(--an-muted); }
:root body .elementor .e-con > .elementor-widget.an-facts-row__label { margin-block-end: 6px; }
:root body .an-facts-row__value { font-family: var(--an-font-display); font-size: 22px; line-height: 1.3; color: var(--an-text); font-variant-numeric: tabular-nums; }
:root body .an-facts-row > .e-con { display: block; }

/* Linierte Zeilen aus Containern */
:root body .e-con.an-rows { display: block; }
:root body .e-con.an-row { display: grid; flex-direction: initial; }
:root body .an-row__title { font-family: var(--an-font-display); font-size: clamp(20px, 1.6vw, 23px); line-height: 1.3; }
:root body .an-row__value { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 500; }
:root body .an-row.is-today .elementor-widget.an-row__title::after { content: none; }
:root body .an-row.is-today .an-row__title .elementor-heading-title::after { content: "Heute"; margin-left: 12px; vertical-align: middle; font-family: var(--an-font-text); font-size: 12px; font-weight: 600; color: var(--an-bg); background: var(--an-brass); padding: 3px 8px; border-radius: 2px; }
:root body .e-con.an-row--links { display: flex; flex-direction: row; }
:root body a.e-con.an-row { color: var(--an-text); }
:root body a.e-con.an-row:hover { color: var(--an-brass-2); }
:root body a.an-row .an-row__value { color: var(--an-muted); }
:root body .an-row__value--arrow .elementor-heading-title { display: inline-flex; align-items: center; gap: 10px; }
:root body .an-row__value--arrow .elementor-heading-title::after { content: ""; width: 18px; height: 18px; background: var(--an-brass); transition: transform .4s var(--an-ease); -webkit-mask: var(--an-ico-arrow) center / contain no-repeat; mask: var(--an-ico-arrow) center / contain no-repeat; }
:root body a.an-row:hover .an-row__value--arrow .elementor-heading-title::after { transform: translateX(4px); }
:root body .an-area .an-row__title .elementor-heading-title::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--c); margin-right: 14px; vertical-align: middle; }
:root body .an-area--markthaus { --c: #d9b26f; }
:root body .an-area--keller { --c: #e0937a; }
:root body .an-area--stand { --c: #a9a3e3; }
:root body .an-area--zelt { --c: #86b7c9; }
:root body .an-area--junkerhof { --c: #e3a9c6; }

/* Programm */
:root body .an-days4 > .e-con { display: block; }

/* Fakten mit Icon (Anreise) */
:root body .e-con.an-facts { display: block; border-top: 1px solid var(--an-line); }
:root body .e-con.an-fact { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--an-line); }
:root body .an-fact::before { grid-row: 1 / span 2; width: 22px; height: 22px; margin-top: 3px; background: var(--an-brass); }
:root body .an-fact > .elementor-widget { grid-column: 2; }
:root body .an-fact--map { --ico: var(--an-ico-map); }
:root body .an-fact--bus { --ico: var(--an-ico-bus); }
:root body .an-fact__title { font-weight: 600; }
:root body .an-fact__text { color: var(--an-muted); font-size: 16px; line-height: 28.9px; }

/* Frist mit Kalender-Icon */
:root body .an-deadline.elementor-widget p { display: inline-flex; align-items: center; gap: 8px; }
:root body .an-deadline.elementor-widget p::before { content: ""; width: 18px; height: 18px; background: var(--an-copper); -webkit-mask: var(--an-ico-calendar) center / contain no-repeat; mask: var(--an-ico-calendar) center / contain no-repeat; }
:root body .elementor .e-con > .elementor-widget.an-deadline { display: block; }

/* ---------- Header aus Containern ---------- */
:root body .e-con.an-header { position: fixed; inset: 0 0 auto; z-index: 50; display: block; }
:root body .e-con.an-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; column-gap: 8px; align-items: center; min-height: 84px; }
:root body .e-con.an-wordmark { display: block; color: var(--an-text); }
:root body .an-wordmark__name { font-family: var(--an-font-display); font-size: 22px; line-height: 1.05; }
:root body .an-wordmark__meta { margin-top: 4px; font-family: var(--an-font-text); font-size: 11.5px; line-height: 1.05; letter-spacing: .14em; color: var(--an-muted); }
:root body .e-con.an-header__end { justify-self: end; display: flex; flex-direction: row; justify-content: flex-end; }
:root body .e-con.an-wordmark { text-align: center; }
:root body .e-con.an-header__end > .elementor-widget { width: auto; display: flex; justify-content: flex-end; }
:root body .e-con.an-header__end { min-width: max-content; }
:root body .an-wordmark__name { white-space: nowrap; }
@media (max-width: 560px) {
  :root body .e-con.an-header__inner { min-height: 72px; }
  :root body .an-wordmark__name { font-size: 19px; }
  :root body .an-wordmark__meta { display: none; }
  :root body .an-header__cta .elementor-button { padding: 0 12px; font-size: 13px; }
  :root body .an-header__cta .elementor-button-text::after { display: none; }
}

/* Navigation (Elementor Pro Nav-Menü) */
:root body .an-navw { justify-self: start; }
:root body .an-navw .elementor-nav-menu--main .elementor-nav-menu { margin-left: -14px; }
:root body .an-navw .elementor-nav-menu--main .elementor-item {
  font-family: var(--an-font-text); font-size: 15px; font-weight: 500; color: var(--an-text);
  padding: 0 14px; min-height: 44px; display: inline-flex; align-items: center; transition: color .3s;
}
:root body .an-navw .elementor-nav-menu--main .elementor-item:hover,
:root body .an-navw .elementor-nav-menu--main .elementor-item:focus,
:root body .an-navw .elementor-nav-menu--main .elementor-item.elementor-item-active,
:root body .an-navw .elementor-nav-menu--main .current-menu-ancestor > .elementor-item { color: var(--an-brass-2); }
:root body .an-navw .elementor-nav-menu--main .sub-arrow svg { fill: currentColor; width: .7em; }
:root body .an-navw .elementor-nav-menu--main .sub-menu {
  background: var(--an-bg-2); border: 1px solid var(--an-line); min-width: 250px !important; padding: 10px 0; box-shadow: none;
}
:root body .an-navw .elementor-nav-menu--main .elementor-sub-item {
  font-family: var(--an-font-text); font-size: 15px; color: var(--an-muted); padding: 10px 20px; background: transparent; border: 0;
}
:root body .an-navw .elementor-nav-menu--main .elementor-sub-item:hover,
:root body .an-navw .elementor-nav-menu--main .elementor-sub-item.elementor-item-active { color: var(--an-text); background: rgba(237,230,216,.04); }
:root body .an-navw .elementor-menu-toggle { margin: 0 0 0 -10px; width: 44px; height: 44px; background: transparent; color: var(--an-text); border: 0; padding: 0; justify-content: center; }
:root body .an-navw .elementor-menu-toggle svg { fill: currentColor; width: 24px; height: 24px; }
/* Mobiles Menü: Vollbild-Overlay wie im Konzept (.an-mobile), Untermenü flach aufgeklappt */
:root body .an-navw nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
  position: fixed !important; inset: 0 !important; width: auto !important; left: 0 !important; top: 0 !important;
  z-index: -1; margin: 0 !important; max-height: none; overflow-y: auto;
  background: var(--an-bg); border: 0; padding: 120px var(--an-gutter) 40px;
  display: flex; flex-direction: column; justify-content: space-between;
}
:root body .an-navw nav.elementor-nav-menu--dropdown[aria-hidden="true"] { display: none; }
:root body .an-navw nav.elementor-nav-menu--dropdown .elementor-nav-menu { display: block; }
:root body .an-navw nav.elementor-nav-menu--dropdown .menu-item-has-children > .elementor-item { display: none; }
:root body .an-navw nav.elementor-nav-menu--dropdown .sub-menu { display: block !important; position: static !important; width: auto !important; margin: 0 !important; border: 0; background: transparent; min-width: 0 !important; padding: 0; box-shadow: none; }
:root body .an-navw nav.elementor-nav-menu--dropdown .elementor-item,
:root body .an-navw nav.elementor-nav-menu--dropdown .elementor-sub-item {
  display: block; padding: 12px 0; border: 0; border-inline-start: 0; text-align: center; justify-content: center;
  font-family: var(--an-font-display); font-size: 30px; line-height: 1.2; color: var(--an-text); background: transparent;
}
:root body .an-navw nav.elementor-nav-menu--dropdown a:hover,
:root body .an-navw nav.elementor-nav-menu--dropdown a.elementor-item-active { color: var(--an-brass-2); background: transparent; }
:root body .an-navw nav.elementor-nav-menu--dropdown::after {
  content: "26.–29. November 2026\A Kirchplatz & Gassen im Dorfkern Naters"; white-space: pre-line;
  display: block; text-align: center; color: var(--an-muted); font-size: 15px; line-height: 1.7;
  border-top: 1px solid var(--an-line); padding-top: 24px; margin-top: 40px;
}
:root body .an-navw .elementor-nav-menu--main .elementor-sub-item { line-height: 1.7; }

/* ---------- Footer aus Containern ---------- */
:root body .e-con.an-footer { display: block; }
:root body .e-con.an-footer__top { display: block; }
:root body .an-footer__top .elementor-widget-text-editor p { margin: 0; }
:root body .e-con.an-footer__grid { display: grid; }
:root body .an-footer__grid > .e-con { display: block; }
:root body .elementor-widget-image.an-footer__host { text-align: left; }
:root body .an-footer__host img { width: 190px; height: auto; margin-bottom: 18px; }
:root body .e-con.an-footer__bottom { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
:root body .an-footer .elementor-widget-text-editor ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }

/* Navigation: Abstände, Zeilenhöhe und Pfeil wie im Konzept */
:root body .an-navw .elementor-nav-menu--main .elementor-nav-menu { gap: 4px; }
:root body .an-navw .elementor-nav-menu--main .elementor-item { line-height: 1.7; gap: 6px; }
:root body .an-navw .elementor-nav-menu--main .sub-arrow { padding: 0; margin: 0; display: inline-flex; }
:root body .an-navw .elementor-nav-menu--main .sub-arrow svg { display: none; }
:root body .an-navw .elementor-nav-menu--main .sub-arrow::after {
  content: ""; width: 14px; height: 14px; background: currentColor; transition: transform .3s;
  -webkit-mask: var(--an-ico-chevron) center / contain no-repeat; mask: var(--an-ico-chevron) center / contain no-repeat;
}
:root body .an-navw .elementor-nav-menu--main .highlighted .sub-arrow::after,
:root body .an-navw .elementor-nav-menu--main .menu-item-has-children:hover .sub-arrow::after { transform: rotate(180deg); }

/* ==========================================================================
   Unterseiten
   ========================================================================== */

/* Seitenkopf */
:root body .e-con.an-pagehead { display: block; }
:root body .an-pagehead.an-pagehead--tight { padding-bottom: clamp(32px, 4vw, 48px); }
:root body .elementor-widget.an-breadcrumb { display: block; margin: 0; }
:root body .an-breadcrumb ol { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
:root body .elementor .e-con > .elementor-widget.an-breadcrumb { margin-block-end: 22px; }
/* Im Konzept ist das Flag ein inline-flex-<p> in einer 17-px-Zeile: gleiche Zeilenbox nachbilden */
:root body .elementor-widget.an-concept-flag { display: block; font-size: 17px; line-height: 1.7; }
/* inline-flex-<p> mit 14 px oben (Konzept: style) und 1em unten (Browser-Standard) */
:root body .an-concept-flag p { font-size: 14px; line-height: 1.7; margin: 14px 0 1em; }
:root body .an-plan__pdf { margin-top: 28px; align-self: flex-start; }
:root body .an-concept-flag p { display: inline-flex; align-items: center; gap: 8px; }
:root body .an-concept-flag p::before { content: ""; width: 1.15em; height: 1.15em; background: currentColor; -webkit-mask: var(--an-ico-info) center / contain no-repeat; mask: var(--an-ico-info) center / contain no-repeat; }
:root body .elementor .e-con > .elementor-widget.an-pagehead__frame { max-width: none; }
:root body .an-head--flush { margin-bottom: 0; }
:root body .e-con.an-actions--center { justify-content: center; margin-top: 28px; }

/* Galerie mit Elementor-Lightbox */
:root body .e-con.an-gallery { display: grid; }
:root body .e-con.an-gallery__item { display: block; }
:root body .an-gallery__img.an-frame { aspect-ratio: 3 / 2; }
:root body .an-gallery__img a { display: block; width: 100%; height: 100%; cursor: zoom-in; }
:root body .an-gallery__img img { transition: transform 1.2s var(--an-ease); }
:root body .an-gallery__img a:hover img { transform: scale(1.035); }
:root body .an-gallery__cap { margin-top: 10px; font-size: 14px; color: var(--an-muted); }
:root body .an-gallery__note { margin-top: 32px; }
:root body .elementor .e-con > .elementor-widget.an-gallery__note { margin-block-end: 1em; }

/* OK */
:root body .e-con.an-team { display: grid; }
:root body .e-con.an-member { display: block; }
:root body .elementor .e-con > .elementor-widget.an-member__photo { margin-block-end: 22px; max-width: none; }
:root body .e-con.an-member__photo--none { display: grid; margin-bottom: 22px; }
:root body .an-member__photo--none p { font-size: 14px; color: var(--an-muted); }
:root body .elementor .e-con > .elementor-widget.an-member__role { margin-block-end: 8px; }
:root body .elementor .e-con > .elementor-widget.an-member__org { margin-block-end: 14px; }
:root body .an-member__contact ul { list-style: none; margin: 0; padding: 0; }
:root body .an-member__contact a::before { content: ""; width: 1em; height: 1em; flex: none; background: var(--an-brass); -webkit-mask: var(--ico, var(--an-ico-mail)) center / contain no-repeat; mask: var(--ico, var(--an-ico-mail)) center / contain no-repeat; }
:root body .an-member__contact a[href^="tel:"] { --ico: var(--an-ico-phone); }
:root body .an-member__contact a[href^="tel:+417"] { --ico: var(--an-ico-mobile); }
@media (max-width: 600px) {
  :root body .e-con.an-member { display: grid; }
  :root body .elementor .e-con > .elementor-widget.an-member__photo, :root body .e-con.an-member__photo--none { margin: 0; }
}

/* Anmeldung */
:root body .e-con.an-steps { display: grid; }
:root body .e-con.an-step { display: block; }
:root body .elementor .e-con > .elementor-widget.an-step__num { margin-block-end: 14px; }
:root body .e-con.an-stack--32 { gap: 32px; }
:root body .e-con.an-downloads { display: block; }
:root body a.e-con.an-download {
  display: grid; grid-template-columns: 28px 1fr auto; gap: 16px; align-items: center; padding: 20px 0;
  border-bottom: 1px solid var(--an-line); color: var(--an-text); text-decoration: none; transition: padding .45s var(--an-ease);
}
:root body a.e-con.an-download:hover { padding-left: 10px; }
:root body .an-download::before { content: ""; width: 22px; height: 22px; background: var(--an-brass); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
:root body .an-download::after { content: ""; width: 20px; height: 20px; background: var(--an-muted); -webkit-mask: var(--an-ico-download) center / contain no-repeat; mask: var(--an-ico-download) center / contain no-repeat; }
:root body .an-download--add { --ico: var(--an-ico-doc-add); }
:root body .an-download--text { --ico: var(--an-ico-doc-text); }
:root body .an-download--fire { --ico: var(--an-ico-fire); }
:root body .an-download--check { --ico: var(--an-ico-clipboard); }
:root body .e-con.an-download__text { display: block; }
:root body .an-download__title { font-family: var(--an-font-display); font-size: 21px; line-height: 1.3; }
:root body .an-download__meta { font-size: 14px; color: var(--an-muted); }
:root body .e-con.an-note { display: grid; grid-template-columns: 24px 1fr; gap: 14px; }
:root body .an-note::before { content: ""; width: 22px; height: 22px; margin-top: 2px; background: var(--an-copper); -webkit-mask: var(--an-ico-warning) center / contain no-repeat; mask: var(--an-ico-warning) center / contain no-repeat; }

/* Kontakt */
:root body .e-con.an-contact { display: grid; }
:root body .e-con.an-contact__aside { display: flex; flex-direction: column; gap: 28px; }
:root body .an-contact__aside > .e-con { display: block; }
:root body .elementor .an-contact__aside .e-con > .elementor-widget.an-label { margin-block-end: 8px; }
:root body .an-contact__aside .an-label { margin: 0; }
:root body .an-address { color: var(--an-muted); line-height: 1.7; }
:root body .e-con.an-stack--form { gap: 22px; align-items: stretch; }

/* Elementor-Pro-Formular im Stil des Konzepts */
:root body .an-formw .elementor-form-fields-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; margin: 0 !important; }
:root body .an-formw .elementor-field-group { width: auto !important; max-width: none; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 8px; }
:root body .an-formw .elementor-field-group > * { flex: 0 0 auto; max-width: 100%; }
:root body .an-formw .elementor-col-100, :root body .an-formw .elementor-field-type-submit, :root body .an-formw .elementor-field-type-acceptance { grid-column: 1 / -1; }
:root body .an-formw .elementor-field-label { font-family: var(--an-font-text); font-size: 15px; font-weight: 500; color: var(--an-text); padding: 0; margin: 0; }
:root body .an-formw .elementor-mark-required .elementor-field-label::after { color: var(--an-brass); padding-inline-start: .2em; }
:root body .an-formw .elementor-field-textual {
  width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid var(--an-line-strong); border-radius: var(--an-radius);
  background: var(--an-bg-2); color: var(--an-text); font-family: var(--an-font-text); font-size: 16px; line-height: 1.7; box-shadow: none; transition: border-color .3s;
}
:root body .an-formw textarea.elementor-field-textual { min-height: 150px; resize: vertical; }
:root body .an-formw .elementor-field-textual:hover { border-color: rgba(237,230,216,.42); }
:root body .an-formw .elementor-field-textual:focus { outline: none; border-color: var(--an-brass); }
:root body .an-formw .elementor-field-subgroup .elementor-field-option { display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; }
:root body .an-formw .elementor-field-option input { width: 20px; height: 20px; margin: 3px 0 0; accent-color: var(--an-brass); }
:root body .an-formw .elementor-field-option label { font-size: 15px; font-weight: 400; color: var(--an-muted); line-height: 1.7; }
:root body .an-formw .elementor-field-option label a { color: var(--an-text); font-weight: 500; padding-bottom: 3px; text-decoration: none; background: linear-gradient(var(--an-brass), var(--an-brass)) 0 100% / 100% 1px no-repeat; }
:root body .an-formw .elementor-field-group.e-form__buttons { flex-direction: row; justify-content: flex-end; align-items: center; }
:root body .an-formw .elementor-form .elementor-button[type="submit"] {
  width: auto; flex: none;
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 24px; border: 1px solid var(--an-brass); border-radius: var(--an-radius);
  background: var(--an-brass); color: var(--an-bg); font-family: var(--an-font-text); font-size: 15px; font-weight: 600; letter-spacing: .01em; line-height: 1;
  transition: background-color .35s var(--an-ease), border-color .35s var(--an-ease);
}
:root body .an-formw .elementor-form .elementor-button[type="submit"]:hover { background: var(--an-brass-2); border-color: var(--an-brass-2); color: var(--an-bg); }
:root body .an-formw .elementor-button-text::after { content: ""; display: inline-block; vertical-align: -3px; margin-left: 10px; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--an-ico-arrow) center / contain no-repeat; mask: var(--an-ico-arrow) center / contain no-repeat; }
:root body .an-formw .elementor-message { font-size: 15px; margin-top: 16px; }
:root body .an-formw .elementor-message-success { color: #bcd3a8; }
:root body .an-formw .elementor-message-danger, :root body .an-formw .elementor-error .elementor-message { color: #f0a48c; }
:root body .an-formw .elementor-error .elementor-field-textual { border-color: #e0876d; }
@media (max-width: 600px) { :root body .an-formw .elementor-form-fields-wrapper { grid-template-columns: minmax(0, 1fr); } }

/* Fliesstext-Seiten */
/* Im Konzept sitzt .an-prose auf dem Container (720 px inkl. Rand) */
:root body .elementor .e-con > .elementor-widget.an-prose { max-width: calc(720px - 2 * var(--an-gutter)); }
:root body .an-prose p { margin: 1em 0; }

/* Elementor nutzt ::before von Containern als absolut positioniertes Overlay.
   Für Icon-Pseudoelemente in Grid-Containern wieder in den Fluss holen. */
:root body .e-con.an-download::before, :root body .e-con.an-download::after,
:root body .e-con.an-note::before, :root body .e-con.an-fact::before {
  position: static; inset: auto; opacity: 1; mix-blend-mode: normal; border: 0; border-radius: 0; transition: none;
}
/* Honeypot (Spam-Schutz) rendert als leeres Element ohne .elementor-field-group: aus dem Raster nehmen */
:root body .an-formw .elementor-form-fields-wrapper > :not(.elementor-field-group) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 600px) { :root body .an-member__photo--none p { font-size: 12px; line-height: 1.7; text-align: center; } }

/* Programm 2026 (Startseite) */
:root body .e-con.an-program { display: grid; }
:root body .e-con.an-program__day { display: block; }
:root body .an-program__list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
:root body .elementor .e-con > .elementor-widget.an-program__hours { margin-block-end: 20px; }
:root body .e-con.an-family { display: grid; }

/* Marktplan aus Containern */
:root body .e-con.an-plan { display: grid; }
:root body .e-con.an-plan__mapcol { display: block; }
:root body .e-con.an-plan__map { display: block; position: relative; }
:root body .e-con.an-plan__viewport { display: block; position: relative; }
:root body .e-con.an-plan__canvas { display: block; position: absolute; inset: 0; }
:root body .an-plan__canvas > .elementor-widget-image { position: absolute; inset: 0; margin: 0; max-width: none; }
:root body .an-plan__canvas > .elementor-widget-image img { width: 100%; height: 100%; max-width: none; display: block; pointer-events: none; }
:root body .e-con.an-plan__pins { display: block; position: absolute; inset: 0; }
:root body .elementor-widget.an-plan__hint { position: absolute; }
:root body .e-con.an-plan__listcol { display: flex; flex-direction: column; }
:root body .e-con.an-plan__tools { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
:root body .e-con.an-plan__list { display: block; }
:root body .e-con.an-stand-item { display: grid; padding: 14px 12px 14px 4px; }
:root body .e-con.an-stand-item.an-stand:hover, :root body .e-con.an-stand-item.is-active { padding-left: 12px; }
:root body .an-stand-item .elementor-widget-text-editor p { margin: 0; }
:root body .an-plan__pdf { margin-top: 28px; }

/* ==========================================================================
   Mobiles Menü als Elementor-Pro-Off-Canvas
   ========================================================================== */
:root body .e-con.an-header__start { display: flex; flex-direction: row; align-items: center; min-width: max-content; }
:root body .elementor-widget.an-burgerw { display: none; }
/* Burger und Schliessen: Icon-Widget mit hochgeladenem SVG (Solar, Linie 1.5), Link = Off-Canvas-Aktion */
:root body .an-iconw .elementor-icon-wrapper { display: flex; line-height: 0; }
:root body .an-iconw .elementor-icon {
  display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: -10px;
  font-size: 26px; color: var(--an-text); transition: color .3s;
}
:root body .an-iconw .elementor-icon:hover, :root body .an-iconw .elementor-icon:focus-visible { color: var(--an-brass-2); }
:root body .an-iconw .elementor-icon svg { width: 26px; height: 26px; }
:root body .an-iconw .elementor-icon svg, :root body .an-iconw .elementor-icon svg * { fill: none; stroke: currentColor; }
@media (max-width: 1080px) {
  :root body .elementor-widget.an-navw { display: none; }
  :root body .elementor-widget.an-burgerw { display: block; }
}

/* Off-Canvas: Vollbild wie das Mobil-Menü im Konzept */
:root body .an-offcanvas .e-off-canvas__main { width: 100vw; max-width: 100vw; height: 100dvh; background: var(--an-bg); }
:root body .an-offcanvas .e-off-canvas__overlay { background: rgba(7, 10, 21, .6); }
:root body .an-offcanvas .e-off-canvas__content { padding: 0; background: var(--an-bg); }
:root body .e-con.an-offcanvas__inner {
  display: flex; flex-direction: column; justify-content: space-between; min-height: 100dvh;
  padding: 120px var(--an-gutter) 40px; position: relative;
}
:root body .an-offcanvas__close { position: absolute; top: 14px; left: calc(var(--an-gutter) + 0px); }
:root body .an-navw-mobile .elementor-nav-menu--main .elementor-item {
  justify-content: center; text-align: center; padding: 12px 0; font-family: var(--an-font-display); font-size: 30px; line-height: 1.2; color: var(--an-text);
}
:root body .an-navw-mobile .elementor-nav-menu--main .elementor-item:hover,
:root body .an-navw-mobile .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--an-brass-2); }
:root body .an-navw-mobile .elementor-nav-menu--layout-vertical .elementor-nav-menu > li > a { justify-content: center; }
:root body .elementor-widget.an-offcanvas__foot { text-align: center; color: var(--an-muted); font-size: 15px; border-top: 1px solid var(--an-line); padding-top: 24px; margin-top: 40px; }


/* Programm: Tages-Titel wie im Konzept, Hinweise im Familienblock mit Zeilenlänge */
:root body .an-program__day .an-h3 .elementor-heading-title { font-size: clamp(19px, 1.5vw, 21px); line-height: 1.25; }
:root body .elementor .an-family .e-con > .elementor-widget.an-row__note { max-width: 70ch; }
/* Token ← globale Elementor-Farben und -Schriften */
:root body {
  --an-bg: var(--e-global-color-primary, #0b1020);
  --an-brass: var(--e-global-color-secondary, #d9b26f);
  --an-text: var(--e-global-color-text, #ede6d8);
  --an-copper: var(--e-global-color-accent, #c4826a);
  --an-paper: var(--e-global-color-anpaper, #f3ebdd);
  --an-brass-2: var(--e-global-color-angold2, #f0dcae);
  --an-bg-2: var(--e-global-color-anbg2, #111a30);
  --an-bg-3: var(--e-global-color-anbg3, #1a2542);
  --an-muted: var(--e-global-color-anmuted, #a9a7b6);
  --an-ink: var(--e-global-color-anink, #1b1a24);
  --an-ink-muted: var(--e-global-color-aninkm, #5c5a68);
  --an-font-display: var(--e-global-typography-primary-font-family, "Marcellus"), "Times New Roman", serif;
  --an-font-text: var(--e-global-typography-text-font-family, "Hanken Grotesk"), system-ui, -apple-system, "Segoe UI", sans-serif;
}/* End custom CSS */