/* Contix Design-Switch 1.5.3 – erzeugt, nicht bearbeiten */
:root{--brand-grad:linear-gradient(90deg, var(--brand-green) 0%, var(--brand-petrol) 55%, var(--brand-blue) 100%);--fw-display:700;--fw-meta:500;--accent-mix:0%;--case-meta:none;--case-btn:none;--nav-case:uppercase;--shadow-card:0 1px 2px rgba(23,34,41,.05), 0 10px 28px -14px rgba(23,34,41,.2);--shadow-header:0 1px 2px rgba(23,34,41,.05);--shadow-btn:none;--shadow-btn-press:none;--hero-box-shadow:0 20px 40px -24px rgba(23,34,41,.5);--tag-rotate:0deg;--hero-box-rotate:0deg;--hero-box-top:0 solid transparent;--glance-border:1px solid #DFE5E7;--glance-top:1px solid #DFE5E7;--glance-bar:block;--list-divider:1px dashed #D3DBDE;--eventbar-border:0 solid transparent;--mark-bg:var(--brand-grad) left bottom / 100% 4px no-repeat;--overline-rule:none;--footer-topline:var(--brand-grad);--footer-mark:#FFFFFF;--footer-mark-op:.45;--footer-logo-text:#FFFFFF;--hero-art-filter:none;--hero-art-opacity:1;--band-pattern:none;--band-pattern-size:auto;}
:root:root{--f-display:"Plus Jakarta Sans", "Figtree", system-ui, sans-serif;--f-text:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--f-meta:"DM Mono", ui-monospace, SFMono-Regular, Consolas, monospace;}
:root[data-skin="verspielt"]{--brand-green:#62B246;--brand-petrol:#2A8C98;--brand-blue:#0472B5;--brand-ink:#202028;--c-bg:#F6F8F1;--c-surface:#FFFFFF;--c-band:#EAF3E3;--c-ink:#213328;--c-muted:#566A5D;--c-line:#DDE6D6;--c-card-border:#E1E9DA;--c-divider:#CFDDC6;--c-primary:#3B7A2E;--c-primary-deep:#2D6123;--c-on-primary:#FFFFFF;--c-primary-soft:#E5F1DE;--c-overline:#5E3F94;--c-focus:#2C6E95;--c-link:#2D6123;--c-hero-bg:#E1F0FA;--c-hero-box:#FFFFFF;--c-hero-ink:#213328;--c-hero-muted:#566A5D;--c-hero-btn:#3B7A2E;--c-hero-btn-ink:#FFFFFF;--c-hero-btn-hover:#2D6123;--c-eventbar:#FDE6DE;--c-eventbar-ink:#213328;--c-eventbar-label:#A8401F;--c-eventbar-label-ink:#FFFFFF;--c-footer:#E8F1E2;--c-footer-ink:#213328;--c-footer-muted:#4F6356;--c-footer-line:#21332824;--c-pill:#FFFFFF;--c-pill-ink:#213328;--c-pill-border:#DDE6D6;--c-pill-hl:#E5F1DE;--c-pill-hl-ink:#2D6123;--c-pill-hl-border:#C9E1BC;--c-filter-on:#3B7A2E;--c-filter-on-ink:#FFFFFF;--c-dtile:#E5F1DE;--c-dtile-ink:#2D6123;--c-feat-bg:#E6F1EF;--c-header-border:#E1E9DA;--cat-exam:#A8401F;--cat-exam-soft:#FDE6DE;--cat-event:#7A5300;--cat-event-soft:#FFF2CC;--cat-ag:#1F5F8B;--cat-ag-soft:#E1F0FA;--cat-holiday:#36712A;--cat-holiday-soft:#E4F1DC;--c-accent-1:#F2B536;--c-accent-1-soft:#FFF2CC;--c-accent-1-ink:#7A5300;--c-accent-2:#EE7F61;--c-accent-2-soft:#FDE6DE;--c-accent-2-ink:#A8401F;--c-accent-3:#55A9DE;--c-accent-3-soft:#E1F0FA;--c-accent-3-ink:#1F5F8B;--c-accent-4:#AA8CDA;--c-accent-4-soft:#EFE9F9;--c-accent-4-ink:#5E3F94;--kat:#2D6123;--kat-soft:#E5F1DE;--r-sm:14px;--r-md:22px;--r-lg:30px;--r-btn:999px;--r-pill:999px;--r-day:50%;--r-tile:16px;--r-frame:28px;--r-hero-box:26px;--frame-max:1472px;--frame-inset:16px;--frame-pad:24px;--frame-gap:14px;--bw-card:2px;--bw-pill:2px;--bw-header:2px;--bw-band:0px;--fs-meta:0.875rem;--fs-nav:0.875rem;--fs-btn:1.0625rem;--ls-display:0em;--ls-meta:0em;--ls-overline:0.08em;--ls-btn:0em;--nav-tracking:0.04em;--lh-display:1.14em;--mark-pad:0.36em;--btn-press-y:3px;--fs-h1:clamp(2rem, 4vw, 3.125rem);--fs-h2:clamp(1.75rem, 3vw, 2.5rem);--fs-h3:clamp(1.5rem, 2.4vw, 2rem);--fs-h4:1.1875rem;--fs-body:1.0625rem;--fs-sm:0.9375rem;--sp-section:clamp(56px, 6vw, 72px);--f-display:"Fredoka", "Nunito", system-ui, sans-serif;--f-text:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--f-meta:"Nunito", system-ui, sans-serif;--fw-display:600;--fw-meta:700;--accent-mix:100%;--case-meta:none;--case-btn:none;--nav-case:uppercase;--shadow-card:0 4px 0 #E1E9DA;--shadow-header:0 4px 0 #E1E9DA;--shadow-btn:0 4px 0 #2D6123;--shadow-btn-press:0 1px 0 #2D6123;--hero-box-shadow:0 8px 0 rgba(59,122,46,.16);--tag-rotate:-1.5deg;--hero-box-rotate:-1deg;--hero-box-top:0 solid transparent;--glance-border:2px dashed #EBC25E;--glance-top:2px dashed #EBC25E;--glance-bar:none;--list-divider:2px dotted #CFDDC6;--eventbar-border:0 solid transparent;--mark-bg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 28' preserveAspectRatio='none'%3E%3Cpath fill='%23EE7F61' fill-rule='evenodd' d='M10 9.4L19.3 6.9L28.6 6.2L37.8 5.2L47.1 5.5L56.4 5.2L65.7 4.9L75 5.2L84.3 5L93.5 5L102.8 4.8L112.1 3.7L121.4 3.2L130.7 3L139.9 2.7L149.2 2.3L158.5 2.1L167.8 2L177.1 2.3L186.4 2.3L195.6 2.4L204.9 2.2L214.2 2.9L223.5 2.7L232.8 2.3L242.1 2.3L251.3 2.4L260.6 2.4L269.9 2.5L279.2 3.4L288.5 3.9L297.7 4.6L307 5.3L316.3 5.3L325.6 5.3L334.9 5.6L344.2 6L353.4 6.3L362.7 6.2L372 6.8L387.4 7.6L373.2 9L392.3 9.7L371.4 11.1L389 11.9L374.5 13.3L394.2 14.1L370.9 15.4L389 16.2L373.1 17.6L386.1 18.4L372 19.8L362.7 19.9L353.4 20.3L344.2 20.6L334.9 21.1L325.6 21.3L316.3 21.3L307 22L297.7 21.7L288.5 22L279.2 22.7L269.9 22.2L260.6 22.7L251.3 23.1L242.1 23.2L232.8 23.5L223.5 24.3L214.2 25.3L204.9 25.9L195.6 26.6L186.4 25.5L177.1 25.1L167.8 24.6L158.5 24.7L149.2 24.7L139.9 24.8L130.7 25.3L121.4 25.2L112.1 25L102.8 25.4L93.5 25.8L84.3 25.9L75 26.4L65.7 26.9L56.4 27L47.1 27.1L37.8 27.3L28.6 26.7L19.3 25.5L10 23.5C5 23 4 10.9 10 9.4ZM75 10.4L84.3 10.1L93.5 9.9L102.8 9.7L112.1 9.5L121.4 9.4L130.7 9.3L139.9 9.3L149.2 9.3L158.5 9.4L167.8 9.3L167.8 9.4L158.5 9.5L149.2 9.8L139.9 10L130.7 10.2L121.4 10.4L112.1 10.5L102.8 10.6L93.5 10.6L84.3 10.7L75 10.6ZM149.2 7.8L158.5 7.5L167.8 7.3L177.1 7.2L186.4 7L195.6 6.9L204.9 6.8L214.2 6.7L223.5 6.6L232.8 6.5L242.1 6.5L251.3 6.5L260.6 6.6L269.9 6.7L279.2 6.9L288.5 7L297.7 7.2L307 7.4L316.3 7.6L325.6 7.9L334.9 8.2L344.2 8.3L353.4 8.5L362.7 8.7L362.7 8.8L353.4 8.6L344.2 8.5L334.9 8.3L325.6 8.3L316.3 8.3L307 8.2L297.7 8.1L288.5 8.1L279.2 8L269.9 8L260.6 7.9L251.3 7.9L242.1 7.8L232.8 7.8L223.5 7.9L214.2 7.9L204.9 7.9L195.6 7.9L186.4 8L177.1 8L167.8 8L158.5 8L149.2 7.9ZM204.9 16.3L214.2 16.1L223.5 15.9L232.8 15.8L242.1 15.7L251.3 15.5L260.6 15.4L269.9 15.3L279.2 15.2L288.5 15.1L297.7 15.1L307 15L316.3 15L325.6 15L334.9 15L344.2 15L353.4 15L362.7 14.9L372 14.9L380 15.1L372 15L362.7 15.1L353.4 15.1L344.2 15.4L334.9 15.5L325.6 15.7L316.3 15.9L307 16L297.7 16.1L288.5 16.2L279.2 16.3L269.9 16.4L260.6 16.5L251.3 16.5L242.1 16.6L232.8 16.6L223.5 16.6L214.2 16.5L204.9 16.4ZM260.6 12.4L269.9 12L279.2 11.8L288.5 11.7L297.7 11.6L307 11.6L316.3 11.6L325.6 11.7L334.9 11.8L344.2 12L353.4 12.2L362.7 12.4L372 12.4L380 12.6L372 12.5L362.7 12.5L353.4 12.7L344.2 12.9L334.9 13L325.6 13.1L316.3 13.2L307 13.2L297.7 13.2L288.5 13.1L279.2 13L269.9 12.8L260.6 12.5ZM232.8 20.4L242.1 20.1L251.3 19.9L260.6 19.7L269.9 19.4L279.2 19.2L288.5 19L297.7 18.9L307 18.7L316.3 18.6L325.6 18.5L334.9 18.5L344.2 18.3L353.4 18.1L353.4 18.3L344.2 18.5L334.9 18.7L325.6 19.1L316.3 19.4L307 19.6L297.7 19.9L288.5 20.1L279.2 20.2L269.9 20.4L260.6 20.5L251.3 20.6L242.1 20.6L232.8 20.5ZM112.1 20L121.4 19.8L130.7 19.6L139.9 19.4L149.2 19.3L158.5 19.2L167.8 19.1L177.1 19L186.4 19L195.6 19L204.9 19L214.2 19L223.5 19L223.5 19.1L214.2 19.2L204.9 19.3L195.6 19.5L186.4 19.6L177.1 19.8L167.8 19.9L158.5 20L149.2 20.1L139.9 20.1L130.7 20.2L121.4 20.2L112.1 20.2ZM316.3 17.2L325.6 16.6L334.9 16.3L344.2 16.1L353.4 16.1L362.7 16.3L372 16.3L380 16.5L372 16.4L362.7 16.7L353.4 17.2L344.2 17.4L334.9 17.6L325.6 17.5L316.3 17.3Z'/%3E%3C/svg%3E") left bottom / 100% 0.42em no-repeat;--overline-rule:none;--footer-topline:none;--footer-mark:initial;--footer-mark-op:.5;--footer-logo-text:#213328;--hero-art-filter:none;--hero-art-opacity:1;--band-pattern:linear-gradient(#DCEBD2 1px, transparent 1px), linear-gradient(90deg, #DCEBD2 1px, transparent 1px);--band-pattern-size:24px 24px;}
:root[data-skin="klassisch"]{--brand-green:#62B246;--brand-petrol:#2A8C98;--brand-blue:#0472B5;--brand-ink:#202028;--c-bg:#FFFFFF;--c-surface:#FFFFFF;--c-band:#F3F6F8;--c-ink:#13212C;--c-muted:#4A5866;--c-line:#D8DEE3;--c-card-border:#D8DEE3;--c-divider:#E3E7EB;--c-primary:#0B4F7C;--c-primary-deep:#083B5D;--c-on-primary:#FFFFFF;--c-primary-soft:#E7EEF4;--c-overline:#2E6E33;--c-focus:#0B4F7C;--c-link:#0B4F7C;--c-hero-bg:#0C3B5B;--c-hero-box:#FFFFFF;--c-hero-ink:#13212C;--c-hero-muted:#4A5866;--c-hero-btn:#0B4F7C;--c-hero-btn-ink:#FFFFFF;--c-hero-btn-hover:#083B5D;--c-eventbar:#EEF4EC;--c-eventbar-ink:#13212C;--c-eventbar-label:#2E6E33;--c-eventbar-label-ink:#FFFFFF;--c-footer:#0F2433;--c-footer-ink:#FFFFFF;--c-footer-muted:#A7B5C1;--c-footer-line:#FFFFFF24;--c-pill:#FFFFFF;--c-pill-ink:#13212C;--c-pill-border:#D8DEE3;--c-pill-hl:#0B4F7C;--c-pill-hl-ink:#FFFFFF;--c-pill-hl-border:#0B4F7C;--c-filter-on:#0B4F7C;--c-filter-on-ink:#FFFFFF;--c-dtile:#FFFFFF;--c-dtile-ink:#0B4F7C;--c-feat-bg:#0C3B5B;--c-header-border:#D8DEE3;--cat-exam:#96302A;--cat-exam-soft:#F6E7E5;--cat-event:#7E5512;--cat-event-soft:#F4EEE1;--cat-ag:#1E4F7A;--cat-ag-soft:#E5EDF4;--cat-holiday:#2E6B35;--cat-holiday-soft:#E5F0E5;--c-accent-1:#5AA14F;--c-accent-1-soft:#E5F0E5;--c-accent-1-ink:#2E6B35;--c-accent-2:#0B4F7C;--c-accent-2-soft:#E7EEF4;--c-accent-2-ink:#083B5D;--c-accent-3:#1E4F7A;--c-accent-3-soft:#E5EDF4;--c-accent-3-ink:#1E4F7A;--c-accent-4:#7E5512;--c-accent-4-soft:#F4EEE1;--c-accent-4-ink:#7E5512;--kat:#083B5D;--kat-soft:#E7EEF4;--r-sm:2px;--r-md:2px;--r-lg:2px;--r-btn:2px;--r-pill:2px;--r-day:0px;--r-tile:0px;--r-frame:0px;--r-hero-box:0px;--frame-max:100%;--frame-inset:0px;--frame-pad:max(16px, calc((100vw - 1440px) / 2));--frame-gap:0px;--bw-card:1px;--bw-pill:1px;--bw-header:0px;--bw-band:1px;--fs-meta:0.75rem;--fs-nav:0.9375rem;--fs-btn:0.8125rem;--ls-display:-0.008em;--ls-meta:0.1em;--ls-overline:0.2em;--ls-btn:0.1em;--nav-tracking:0.06em;--lh-display:1.14em;--mark-pad:0.5em;--btn-press-y:0px;--fs-h1:clamp(2rem, 4vw, 3.125rem);--fs-h2:clamp(1.75rem, 3vw, 2.5rem);--fs-h3:clamp(1.5rem, 2.4vw, 2rem);--fs-h4:1.1875rem;--fs-body:1.0625rem;--fs-sm:0.9375rem;--sp-section:clamp(56px, 6vw, 72px);--f-display:"Source Serif 4", Georgia, "Times New Roman", serif;--f-text:"Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;--f-meta:"Source Sans 3", system-ui, sans-serif;--fw-display:600;--fw-meta:600;--accent-mix:0%;--case-meta:uppercase;--case-btn:uppercase;--nav-case:uppercase;--shadow-card:none;--shadow-header:0 1px 0 #D8DEE3;--shadow-btn:none;--shadow-btn-press:none;--hero-box-shadow:none;--tag-rotate:0deg;--hero-box-rotate:0deg;--hero-box-top:3px solid #5AA14F;--glance-border:1px solid #D8DEE3;--glance-top:3px solid #5AA14F;--glance-bar:none;--list-divider:1px solid #E3E7EB;--eventbar-border:1px solid #D5E3D1;--mark-bg:linear-gradient(#5AA14F, #5AA14F) left bottom / 56px 2px no-repeat;--overline-rule:inline-block;--footer-topline:var(--brand-grad);--footer-mark:#FFFFFF;--footer-mark-op:.4;--footer-logo-text:#FFFFFF;--hero-art-filter:none;--hero-art-opacity:1;--band-pattern:none;--band-pattern-size:auto;}
:root[data-skin] body{--e-global-color-primary:var(--c-primary);--e-global-color-secondary:var(--c-ink);--e-global-color-text:var(--c-ink);--e-global-color-accent:var(--c-primary);--e-global-typography-primary-font-family:var(--f-display);--e-global-typography-primary-font-weight:var(--fw-display);--e-global-typography-secondary-font-family:var(--f-text);--e-global-typography-text-font-family:var(--f-text);--e-global-typography-accent-font-family:var(--f-text)}
/* ---------------------------------------------------------------------------
   Ergänzungen zum Elementor-V4-Designsystem der Multischule
   Nur Eigenschaften, die V4 nicht als Variable abbilden kann (Schriftstärke,
   Versalien, Schatten, Drehung, Linienart, Pseudo-Elemente). Alle Werte kommen
   aus Tokens, die oben je Skin gesetzt werden. Selektoren = Global-Class-Namen.
   --------------------------------------------------------------------------- */
:focus-visible{outline:3px solid var(--c-focus);outline-offset:2px}

.ms-h1,.ms-h2,.ms-h3,.ms-h4,.ms-footer-head,.ms-dtile-day{font-weight:var(--fw-display);text-wrap:balance}
.ms-meta,.ms-hero-tagline{font-weight:var(--fw-meta);text-transform:var(--case-meta);font-variant-numeric:tabular-nums}
.ms-overline::before{content:"";display:var(--overline-rule);width:28px;height:1px;background:currentColor}
.ms-mark{background:var(--mark-bg)}

.ms-btn{text-transform:var(--case-btn);box-shadow:var(--shadow-btn)}
.ms-btn:active{box-shadow:var(--shadow-btn-press)}
.ms-btn-ghost,.ms-link-more{box-shadow:none}

.ms-card{box-shadow:var(--shadow-card)}
.ms-header-box{box-shadow:var(--shadow-header)}
.ms-tag,.ms-pill-hl,.ms-eventbar-label{rotate:var(--tag-rotate)}
.ms-tag,.ms-pill,.ms-filter{white-space:nowrap}
.ms-pill strong{font-family:var(--f-display);font-weight:var(--fw-display);margin-right:.35em;font-variant-numeric:tabular-nums}

.ms-hero-box{rotate:var(--hero-box-rotate);box-shadow:var(--hero-box-shadow);border-top:var(--hero-box-top)}
.ms-hero-art{filter:var(--hero-art-filter);opacity:var(--hero-art-opacity);pointer-events:none}

.ms-glance{border:var(--glance-border);border-top:var(--glance-top)}
.ms-glance::before{content:"";display:var(--glance-bar);position:absolute;inset:0 0 auto;height:4px;background:var(--brand-grad)}

.ms-agenda-item{border-bottom:var(--list-divider)}
.ms-agenda-item:last-child{border-bottom:0}
/* Terminlisten im Loop-Grid: Trenner oben, erster sichtbarer Termin ohne (auch nach Filter/Begrenzung) */
.e-loop-item>.ms-agenda-item{border-bottom:0;border-top:var(--list-divider)}
.e-loop-item:nth-child(1 of .e-loop-item:not([hidden]))>.ms-agenda-item,.cxt-monat+.e-loop-item>.ms-agenda-item{border-top:0}
.ms-legend{border-top:var(--list-divider)}
.ms-eventbar{border-block:var(--eventbar-border)}

.ms-footer-box::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--footer-topline);pointer-events:none}
.ms-logo svg{display:block;width:100%;height:auto}
.ms-logo-footer{--m-all:var(--footer-mark);--m-op-t:var(--footer-mark-op);--logo-text:var(--footer-logo-text)}

/* Band-Fläche vollbreit, optionales Muster je Skin (verspielt: Heftkaro-Raster, Token --band-pattern) */
:root .elementor .ms-band{background-image:var(--band-pattern);background-size:var(--band-pattern-size);background-position:center -1px}

/* Akzentfarben (Tokens c-accent-1…4, je -soft/-ink) --------------------------
   Feste Zuordnung je Element-Typ – gleiche Elemente haben immer dieselbe Farbe:
   News-Tags = Akzent 4, Avatar + Kürzel (Team) = Akzent 3, Fach-Kachel und
   „Auf einen Blick“ = Akzent 1. Termin-Datumskacheln folgen der Kategoriefarbe
   (--kat/--kat-soft setzt Contix Termine je .terminkategorie-*).
   --accent-mix (Skin-Extra) steuert die Stärke: 100 % = Akzentfarbe (verspielt),
   0 % = normale Komponentenfarbe (frisch, klassisch). */
:root .elementor :is(.ms-news-card,.ms-feature,.single-post .ms-titel) .ms-tag:not(.ms-tag-kat){
	background-color:color-mix(in srgb,var(--c-accent-4-soft) var(--accent-mix,0%),var(--c-primary-soft));
	color:color-mix(in srgb,var(--c-accent-4-ink) var(--accent-mix,0%),var(--c-primary-deep))}
:root .elementor .ms-person :is(.ms-avatar,.ms-tag){
	background-color:color-mix(in srgb,var(--c-accent-3-soft) var(--accent-mix,0%),var(--c-primary-soft));
	color:color-mix(in srgb,var(--c-accent-3-ink) var(--accent-mix,0%),var(--c-primary-deep))}
:root .elementor .ms-fach-tile{
	background-color:color-mix(in srgb,var(--c-accent-1) var(--accent-mix,0%),var(--c-primary));
	color:color-mix(in srgb,var(--c-ink) var(--accent-mix,0%),var(--c-on-primary))}
:root .elementor .ms-glance{background-color:color-mix(in srgb,var(--c-accent-1-soft) var(--accent-mix,0%),var(--c-surface))}
:root .elementor .ms-agenda-item .ms-dtile{
	background-color:color-mix(in srgb,var(--kat-soft,var(--c-dtile)) var(--accent-mix,0%),var(--c-dtile));
	color:color-mix(in srgb,var(--kat,var(--c-dtile-ink)) var(--accent-mix,0%),var(--c-dtile-ink));
	border-color:color-mix(in srgb,var(--kat-soft,var(--c-card-border)) var(--accent-mix,0%),var(--c-card-border))}

/* Kachel (ms-tile): Bild-Zoom beim Hover (Klickfläche kommt von ms-card-link am Titel) */
:root .elementor .ms-tile img{transition:transform .3s ease}
:root .elementor .ms-tile:hover img{transform:scale(1.03)}

/* Weicher Skin-Wechsel */
::view-transition-old(root),::view-transition-new(root){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
@media (prefers-reduced-motion:reduce){.ms-btn,.ms-news-card,.ms-tile,.ms-tile img{transition:none}::view-transition-old(root),::view-transition-new(root){animation:none}}
