/*
 * MSC Sielmingen - Child-Template (Basis: Cassiopeia), Layout "Seitenleiste" (Entwurf D1)
 * Vereinsfarben: Royalblau #1514c7, Weiß, Dunkelblau #14163a. Schrift lokal eingebunden (DSGVO).
 */

@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-500.woff2") format("woff2"); }
@font-face { font-family: "Bricolage Grotesque"; font-style: normal; font-weight: 800; font-display: swap; src: url("../fonts/bricolage-grotesque-latin-800.woff2") format("woff2"); }

:root {
	--msc-blue: #1514c7;
	--msc-blue-dark: #0d0d85;
	--msc-navy: #14163a;
	--msc-blue-soft: #eef0ff;
	--msc-line: #d5d9f2;
	--msc-ink: #14163a;
	--msc-muted: #4a4e7a;
	--msc-focus: #ffbf47;
	--msc-display: "Bricolage Grotesque", system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--msc-aside: 232px;
	--msc-ico-motor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.2,11.2C2,13.6 2.7,15.6 4.2,17.4C5.7,19.2 7.7,20 10.1,20H20.1C20.6,20 21.1,19.8 21.5,19.4C21.9,19 22.1,18.5 22.1,18V17.2C22.1,16.6 22,15.9 21.9,15H13.7C12.7,15 11.9,14.6 11.2,13.9C10.5,13.2 10.1,12.3 10.1,11.4C10.1,9.8 10.8,8.7 12.3,8.1L17.1,6C15.4,4.8 13.4,4.1 11.1,4C8.9,3.8 6.9,4.5 5.1,5.9C3.3,7.3 2.4,9 2.2,11.2M12.1,11.4C12.1,11.8 12.3,12.2 12.6,12.5C12.9,12.8 13.3,13 13.7,13H21.5C20.9,10.8 20,9 18.7,7.6L13.1,9.9C12.4,10.1 12.1,10.6 12.1,11.4Z'/%3E%3C/svg%3E");
	--msc-ico-events: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9,10V12H7V10H9M13,10V12H11V10H13M17,10V12H15V10H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H6V1H8V3H16V1H18V3H19M19,19V8H5V19H19M9,14V16H7V14H9M13,14V16H11V14H13M17,14V16H15V14H17Z'/%3E%3C/svg%3E");
	--msc-ico-regeln: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z'/%3E%3C/svg%3E");
	--msc-ico-preise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15,18.5C12.49,18.5 10.32,17.08 9.24,15H15L16,13H8.58C8.53,12.67 8.5,12.34 8.5,12C8.5,11.66 8.53,11.33 8.58,11H15L16,9H9.24C10.32,6.92 12.5,5.5 15,5.5C16.61,5.5 18.09,6.09 19.23,7.07L21,5.3C19.41,3.87 17.3,3 15,3C11.08,3 7.76,5.5 6.5,9H3L2,11H6.06C6.02,11.33 6,11.66 6,12C6,12.34 6.02,12.67 6.06,13H3L2,15H6.5C7.75,18.5 11.08,21 15,21C17.31,21 19.42,20.13 21,18.7L19.21,16.91C18.07,17.91 16.61,18.5 15,18.5Z'/%3E%3C/svg%3E");
	--msc-ico-gutschein: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.06,1.93C7.17,1.92 5.33,3.74 6.17,6H3A2,2 0 0,0 1,8V10A1,1 0 0,0 2,11H11V8H13V11H22A1,1 0 0,0 23,10V8A2,2 0 0,0 21,6H17.83C19,2.73 14.6,0.42 12.57,3.24L12,4L11.43,3.22C10.8,2.33 9.93,1.94 9.06,1.93M9,4C9.89,4 10.34,5.08 9.71,5.71C9.08,6.34 8,5.89 8,5A1,1 0 0,1 9,4M15,4C15.89,4 16.34,5.08 15.71,5.71C15.08,6.34 14,5.89 14,5A1,1 0 0,1 15,4M2,12V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V12H13V20H11V12H2Z'/%3E%3C/svg%3E");
	--msc-ico-kart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 2 15 11'%3E%3Cpath d='M4.44 3.29c.06-.01.11 0 .16 0c.6.08 1.12.44 1.45.98c-.57-.07-.89.05-.82.3c.08.25.49.46 1.03.53c.08.32.15.59.21.82H5.22c-.41-.15-.83-.31-1.24-.46c-.39-.21-.62-.6-.62-1.05c0-.43.23-.82.62-1.03c.15-.06.31-.09.46-.09m-.25 2.63c.82.01 1.54.5 1.86 1.24l2.39-.25c.05-.11.18-.18.3-.15l.42-.63c.05-.06.15-.06.2 0c.06.06.06.15 0 .21l-.41.61l.42-.03l4.34 2.94l.44.2c.51.19.83.7.8 1.25h-3.54c.3-.52.3-1.15 0-1.66c-.45-.8-1.47-1.07-2.25-.61c-.8.46-1.07 1.47-.61 2.27H3.14c.3-.52.3-1.15 0-1.66h1.01l-1.1-3.31c.01-.12.12-.21.24-.2c.11.01.19.09.2.2l1.1 3.31h.22l-1.04-3.1a.65.65 0 0 1 .42-.63M2.53 7.16v.42h-.41l.83 1.66a1.82 1.82 0 0 0-2.68.41H.26V8.4H.05V7.16zm6.21.21L8.32 8c-.06.05-.15.05-.21 0a.2.2 0 0 1 0-.21l-1.85.41l.26.62l.82-.67c.14-.16.37-.2.56-.1c.51.21 1.02.42 1.53.65c.17-.06.36-.09.55-.09c.09-.12.09-.28 0-.41zm1.24 1.87c.69 0 1.24.55 1.24 1.23c0 .7-.55 1.24-1.24 1.24c-.68 0-1.24-.54-1.24-1.24c0-.68.56-1.23 1.24-1.23m-8.27 0c.68 0 1.24.55 1.24 1.23c0 .7-.56 1.24-1.24 1.24c-.69 0-1.24-.54-1.24-1.24c0-.68.55-1.23 1.24-1.23m6 0l-.42.41h1.03v-.21c-.21-.04-.41-.11-.61-.2m2.27.62c-.35 0-.62.27-.62.61a.619.619 0 1 0 1.24 0c0-.34-.28-.61-.62-.61m-8.27 0c-.35 0-.63.27-.63.61c0 .35.28.63.63.63c.34 0 .61-.28.61-.63c0-.34-.27-.61-.61-.61'/%3E%3C/svg%3E");
	--msc-ico-schleuder: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.5,11H10.5C10.8,11 11,10.8 11,10.5V9H19V10.5C19,10.8 19.2,11 19.5,11H20.5C20.8,11 21,10.8 21,10.5V9L21,8.5V6L19.6,1.7C19.5,1.3 19.1,1 18.7,1H11.4C11,1 10.6,1.3 10.5,1.7L9,6V8.5L9,9V10.5C9,10.8 9.2,11 9.5,11M11.3,2H18.6L19.5,5H10.4L11.3,2M12,23H10C10,22.2 8.1,21.5 6.6,20.9C4.5,20.1 2,19.2 2,17C2,14.7 4.3,14.1 6.2,13.5C7.9,13.1 9,12.7 9,12H11C11,14.3 8.7,14.9 6.8,15.5C5.1,15.9 4,16.3 4,17C4,17.8 5.9,18.5 7.4,19.1C9.5,19.9 12,20.8 12,23M22,23H20C20,22.2 18.1,21.5 16.6,20.9C14.5,20.1 12,19.2 12,17C12,14.7 14.3,14.1 16.2,13.5C17.8,13 19,12.7 19,12H21C21,14.3 18.7,14.9 16.8,15.5C15.2,15.9 14,16.3 14,17C14,17.8 15.9,18.5 17.4,19.1C19.5,19.9 22,20.8 22,23Z'/%3E%3C/svg%3E");
	--msc-ico-pfeil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z'/%3E%3C/svg%3E");
	--msc-ico-anlage: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11,16H13V20H11M11,10H13V14H11M11,4H13V8H11M4,22H20V2H4V22Z'/%3E%3C/svg%3E");
	--msc-ico-anfahrt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18,15A3,3 0 0,1 21,18A3,3 0 0,1 18,21C16.69,21 15.58,20.17 15.17,19H14V17H15.17C15.58,15.83 16.69,15 18,15M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17M18,8A1.43,1.43 0 0,0 19.43,6.57C19.43,5.78 18.79,5.14 18,5.14C17.21,5.14 16.57,5.78 16.57,6.57A1.43,1.43 0 0,0 18,8M18,2.57A4,4 0 0,1 22,6.57C22,9.56 18,14 18,14C18,14 14,9.56 14,6.57A4,4 0 0,1 18,2.57M8.83,17H10V19H8.83C8.42,20.17 7.31,21 6,21A3,3 0 0,1 3,18C3,16.69 3.83,15.58 5,15.17V14H7V15.17C7.85,15.47 8.53,16.15 8.83,17M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M6,3A3,3 0 0,1 9,6C9,7.31 8.17,8.42 7,8.83V10H5V8.83C3.83,8.42 3,7.31 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M11,19V17H13V19H11M7,13H5V11H7V13Z'/%3E%3C/svg%3E");
	--msc-ico-aktuell: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12,8H4A2,2 0 0,0 2,10V14A2,2 0 0,0 4,16H5V20A1,1 0 0,0 6,21H8A1,1 0 0,0 9,20V16H12L17,20V4L12,8M21.5,12C21.5,13.71 20.54,15.26 19,16V8C20.53,8.75 21.5,10.3 21.5,12Z'/%3E%3C/svg%3E");

	--cassiopeia-color-primary: var(--msc-blue);
	--cassiopeia-color-hover: var(--msc-blue-dark);
	--cassiopeia-color-link: var(--msc-blue);
	--link-color: var(--msc-blue);
	--link-color-rgb: 21, 20, 199;
	--link-hover-color: var(--msc-blue-dark);
	--link-hover-color-rgb: 13, 13, 133;
	--body-font-family: system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html { font-size: 93.75%; }
body.site.msc { display: block; margin: 0; font-family: var(--body-font-family); color: var(--msc-ink); background: #fff; line-height: 1.6; }
.msc h1, .msc h2, .msc h3, .msc h4 { font-family: var(--msc-display); color: var(--msc-blue); line-height: 1.1; font-weight: 800; text-wrap: balance; }
.msc h1 { font-size: clamp(1.5rem, 3vw, 2.1rem); }
.msc a { text-underline-offset: .15em; }
.msc a:focus-visible, .msc button:focus-visible, .msc .btn:focus-visible, .msc input:focus-visible { outline: 3px solid var(--msc-focus); outline-offset: 2px; }
.msc-skip { position: absolute; left: .5rem; top: -4rem; z-index: 100; background: #fff; color: var(--msc-blue); padding: .6rem 1rem; border-radius: 8px; font-weight: 700; }
.msc-skip:focus { top: .5rem; }

/* ---------- Aufbau: Leiste links, Inhalt rechts ---------- */
.msc-shell { display: grid; grid-template-columns: var(--msc-aside) minmax(0, 1fr); min-height: 100vh; }
.msc-main { min-width: 0; width: 100%; }

/* ---------- Seitenleiste ---------- */
.msc-aside {
	position: sticky; top: 0; align-self: start; height: 100vh; overflow: hidden; color: #fff;
	background: radial-gradient(circle at 50% 0%, rgba(60, 100, 255, .55) 0%, rgba(60, 100, 255, 0) 60%), linear-gradient(175deg, #2325e2 0%, #1514c7 45%, #0a0a78 100%);
}
.msc-aside::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(112deg, transparent 38%, rgba(255, 255, 255, .09) 48%, transparent 58%); }
.msc-aside__in { position: relative; z-index: 1; height: 100%; overflow-y: auto; display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 1.5rem 1rem 2rem; text-align: center; }
.msc-brand { display: flex; flex-direction: column; align-items: center; gap: .9rem; color: #fff; text-decoration: none; }
.msc-brand:hover { color: #fff; }
.msc-logo { display: block; width: 108px; height: 108px; border-radius: 50%; background: #fff; padding: 3px; box-shadow: 0 14px 34px rgba(0, 0, 60, .45); margin-top: .6rem; }
.msc-name { font-family: var(--msc-display); font-weight: 800; font-size: 1rem; line-height: 1.15; }
.msc-name small { display: block; font-weight: 500; font-size: .8rem; margin-top: .2rem; }
.msc-burger { display: none; }

.msc-nav { width: 100%; text-align: left; font-family: var(--msc-display); font-weight: 500; font-size: .95rem; }
.msc-nav ul { list-style: none; margin: 0; padding: 0; }
.msc-nav ul.mod-menu { display: grid; gap: .15rem; }
.msc-nav a, .msc-nav .mod-menu__heading, .msc-nav .nav-header { display: block; padding: .42rem .7rem; border-radius: 8px; color: #fff; text-decoration: none !important; }
.msc-nav a:hover { background: rgba(255, 255, 255, .14); color: #fff; text-decoration: none; }
.msc-nav a:focus-visible { outline-color: var(--msc-focus); }
.msc-nav li.current > a, .msc-nav li.active > a:not(.msc-x) { background: #fff; color: var(--msc-blue); font-weight: 800; box-shadow: 0 6px 16px rgba(0, 0, 50, .3); }
.msc-nav li.active:not(.current) > a { background: rgba(255, 255, 255, .16); color: #fff; font-weight: 800; box-shadow: none; }
.msc-nav ul.mod-menu__sub { display: none; margin: .1rem 0 .2rem 1.1rem; border-left: 2px solid rgba(255, 255, 255, .45); padding: 0; font-size: .9rem; }
.msc-nav ul.mod-menu__sub a { padding: .28rem .7rem; border-radius: 0 8px 8px 0; }

.msc-trackbg { flex: 1 1 0; width: min(100%, 200px); min-height: 70px; max-height: 200px; margin-block: -.2rem 0; opacity: .6; }
.msc-aside__foot { margin-top: auto; padding-top: .6rem; padding-bottom: .6rem; font-size: .82rem; width: 100%; }
.msc-aside__foot ul { list-style: none; display: flex; flex-flow: row wrap; justify-content: center; gap: .3rem 1rem; margin: 0; padding: 0; }
.msc-aside__foot a { color: #fff; text-decoration: underline; }
.msc-flagline { position: absolute; left: 0; right: 0; bottom: 0; height: 12px; z-index: 2; background: conic-gradient(rgba(255, 255, 255, .9) 25%, rgba(10, 10, 120, .9) 0 50%, rgba(255, 255, 255, .9) 0 75%, rgba(10, 10, 120, .9) 0) 0 0 / 24px 24px; }

/* ---------- Aktuelles (nur sichtbar, wenn ein Modul in der Position "aktuelles" veröffentlicht ist) ---------- */
.msc-aktuell { margin: 0 0 1.3rem; padding: .8rem 1.1rem .9rem; border: 2px solid var(--msc-blue); border-radius: 16px; background: var(--msc-blue-soft); }
.msc-aktuell__label { display: flex; align-items: center; gap: .55rem; margin: 0 0 .5rem; font-family: var(--msc-display); font-weight: 800; font-size: .85rem; line-height: 1; letter-spacing: .14em; text-transform: uppercase; color: var(--msc-blue); }
.msc-aktuell__label::before { content: ""; flex: none; width: 1.4rem; height: 1.4rem; background: currentColor; -webkit-mask: var(--msc-ico-aktuell) center / contain no-repeat; mask: var(--msc-ico-aktuell) center / contain no-repeat; }
.msc-aktuell__body > *:last-child, .msc-aktuell__body p:last-child { margin-bottom: 0; }
.msc-aktuell__body h3, .msc-aktuell__body h4 { font-size: 1.1rem; margin: 0 0 .3rem; }
.msc-aktuell__body ul { margin: 0; padding-left: 1.2rem; }
.msc-aktuell__body .mod-articlesnews__item, .msc-aktuell__body .newsflash-item { margin-bottom: .8rem; }

/* ---------- Inhalt ---------- */
.msc-banner { margin: 0 0 1.4rem; }
.msc-block { margin-top: 1.4rem; }
.msc-content { min-width: 0; }
.com-content-article__body > p, .com-content-article__body > ul, .com-content-article__body > ol, .com-content-article__body > table { max-width: 70ch; }
.msc-lead, .msc .msc-lead { font-size: 1.05rem; max-width: 60ch; color: var(--msc-muted); }
.mod-breadcrumbs__wrapper { font-size: .9rem; margin-bottom: .8rem; }
.msc-home .mod-breadcrumbs__wrapper, .msc-home .mod-breadcrumbs { display: none; }


/* Bereichsliste der Startseite: <div class="msc-rows"><a class="msc-row" href=""><span class="msc-ico msc-ico--anlage"></span><span><b>Titel</b><small>Text</small></span></a> */
.msc-rows { display: grid; margin: 1.2rem 0; }
.msc-row { display: flex; align-items: center; gap: 1rem; padding: .65rem .2rem; border-top: 1px solid var(--msc-line); color: var(--msc-ink); text-decoration: none; }
.msc-row:last-child { border-bottom: 1px solid var(--msc-line); }
.msc-row:hover { background: var(--msc-blue-soft); }
.msc-row b { display: block; font-family: var(--msc-display); font-weight: 800; font-size: 1.05rem; line-height: 1.2; }
.msc-row small { display: block; color: var(--msc-muted); font-size: .85rem; }
.msc-row::after { content: ""; margin-left: auto; flex: none; width: 1.4rem; height: 1.4rem; background: var(--msc-blue); -webkit-mask: var(--msc-ico-pfeil) center / contain no-repeat; mask: var(--msc-ico-pfeil) center / contain no-repeat; }
.msc-ico { flex: none; width: 34px; height: 34px; background: var(--msc-blue); -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
.msc-ico--anlage { -webkit-mask-image: var(--msc-ico-anlage); mask-image: var(--msc-ico-anlage); }
.msc-ico--motorsport { -webkit-mask-image: var(--msc-ico-motor); mask-image: var(--msc-ico-motor); }
.msc-ico--events { -webkit-mask-image: var(--msc-ico-events); mask-image: var(--msc-ico-events); }
.msc-ico--regeln { -webkit-mask-image: var(--msc-ico-regeln); mask-image: var(--msc-ico-regeln); }
.msc-ico--gutschein { -webkit-mask-image: var(--msc-ico-gutschein); mask-image: var(--msc-ico-gutschein); }
.msc-ico--preise { -webkit-mask-image: var(--msc-ico-preise); mask-image: var(--msc-ico-preise); }
.msc-ico--kart { -webkit-mask-image: var(--msc-ico-kart); mask-image: var(--msc-ico-kart); }
.msc-ico--schleuder { -webkit-mask-image: var(--msc-ico-schleuder); mask-image: var(--msc-ico-schleuder); }
.msc-ico--anfahrt { -webkit-mask-image: var(--msc-ico-anfahrt); mask-image: var(--msc-ico-anfahrt); }

/* Kachel-Raster für Übersichtsseiten: <div class="msc-tiles"><a class="msc-tile" ...> */
.msc-tiles { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin: 1rem 0; }
.msc-tiles--3 { grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr)); }
.msc-tile { display: block; background: #fff; color: var(--msc-ink); text-decoration: none; border: 1px solid var(--msc-line); border-top: 6px solid var(--msc-blue); border-radius: 12px; padding: 1rem 1.25rem; box-shadow: 0 2px 10px rgba(21, 20, 199, .06); transition: transform .15s ease, box-shadow .15s ease; }
.msc-tile:hover, .msc-tile:focus-visible { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(21, 20, 199, .16); }
.msc-tile h2, .msc-tile h3 { margin: 0 0 .35rem; font-size: 1.25rem; }
.msc-tile p { margin: 0; }
.msc-tile .msc-more { display: inline-block; margin-top: .6rem; color: var(--msc-blue); font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .msc-tile { transition: none; } .msc-tile:hover { transform: none; } }

.btn-primary, .btn.btn-primary { --btn-bg: var(--msc-blue); --btn-border-color: var(--msc-blue); --btn-color: #fff; --btn-hover-bg: var(--msc-blue-dark); --btn-hover-border-color: var(--msc-blue-dark); --btn-hover-color: #fff; background-color: var(--msc-blue); border-color: var(--msc-blue); color: #fff; }
.back-to-top-link { background: var(--msc-blue); color: #fff; border: 2px solid #fff; }

/* ---------- Handy und schmale Fenster: Leiste wird zur Kopfzeile, Menü hinter dem Menü-Symbol ---------- */
@media (max-width: 780px) {
	.msc-shell { display: block; }
	.msc-aside { position: relative; height: auto; overflow: visible; }
	.msc-aside__in { height: auto; overflow: visible; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; text-align: left; gap: .8rem; padding: .8rem 1rem 1.4rem; }
	.msc-brand { flex: 1; flex-direction: row; gap: .8rem; }
	.msc-logo { width: 54px; height: 54px; margin: 0; padding: 2px; box-shadow: none; }
	.msc-name { font-size: 1.05rem; }
	.msc-trackbg { display: none; }
	.msc-aside__foot { margin-top: 0; }
	.msc-js .msc-burger { display: grid; width: 46px; height: 46px; place-content: center; gap: 5px; flex: none; background: transparent; border: 1.5px solid rgba(255, 255, 255, .75); border-radius: 10px; cursor: pointer; padding: 0; }
	.msc-burger i { display: block; width: 22px; height: 2.5px; background: #fff; border-radius: 2px; }
	.msc-js .msc-nav, .msc-js .msc-aside__foot { display: none; width: 100%; }
	.msc-js .msc-aside.msc-open .msc-nav { display: block; margin-top: .4rem; }
	.msc-js .msc-aside.msc-open .msc-aside__foot { display: block; }
	.msc-aside { overflow: hidden; }
	.msc-main__in { padding: 1.3rem 1rem 2rem; }
	.msc-footer { margin-inline: 1rem; padding: 1.2rem 0 1.5rem; }
	.msc h1 { font-size: 1.7rem; overflow-wrap: anywhere; }
}

/* ---------- Weitere Modulpositionen ---------- */
.msc-aside__mod { width: 100%; text-align: left; font-size: .9rem; }
.msc-aside__mod a { color: #fff; }
.msc-aside__mod input[type="search"], .msc-aside__mod input[type="text"] { width: 100%; padding: .45rem .7rem; border-radius: 8px; border: 0; }
.msc-hero { margin: 0 0 1.4rem; }
.msc-mods { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin: 1.4rem 0; }
.msc-mods__cell { min-width: 0; }
.msc-cols { display: grid; gap: 1.6rem; grid-template-columns: minmax(0, 1fr); }
.msc-cols.has-right { grid-template-columns: minmax(0, 1fr) 16rem; }
.msc-cols.has-left { grid-template-columns: 16rem minmax(0, 1fr); }
.msc-cols.has-left.has-right { grid-template-columns: 16rem minmax(0, 1fr) 16rem; }
.msc-side { min-width: 0; }
@media (max-width: 1100px) { .msc-cols, .msc-cols.has-left, .msc-cols.has-right, .msc-cols.has-left.has-right { grid-template-columns: minmax(0, 1fr); } }

/* Fußbereich im Inhaltsbereich: Partnerlogos (zum Beispiel ADAC), drei Spalten, Schlusszeile */
.msc-footer { max-width: calc(58rem - 2 * clamp(1rem, 2.5vw, 2rem)); margin: auto clamp(1rem, 2.5vw, 2rem) 0; padding: 1.3rem 0 1.6rem; border-top: 1px solid var(--msc-line); font-size: .9rem; color: var(--msc-muted); }
.msc-partner { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 1rem 2rem; margin-bottom: 1rem; }
.msc-partner > *, .msc-partner p { margin: 0; }
.msc-partner img { display: block; width: auto; max-width: 100%; height: auto; max-height: 56px; }
.msc-partner a { display: inline-block; }
.msc-mods--footer { margin: 1rem 0; }
.msc-footer__bottom { margin-top: .8rem; font-size: .82rem; }
.msc-main { display: flex; flex-direction: column; }
.msc-main__in { min-width: 0; padding: 1.6rem clamp(1rem, 2.5vw, 2rem) 2rem; max-width: 58rem; width: 100%; }

/* Bilder in Beiträgen */
.msc-figure { margin: 0 0 1.4rem; }
.msc-figure img { display: block; width: 100%; height: auto; border-radius: 12px; }
.msc-figure figcaption { margin-top: .4rem; font-size: .85rem; color: var(--msc-muted); }
.msc-tile { overflow: hidden; }
.msc-tile img { display: block; width: calc(100% + 2.5rem); max-width: none; margin: -1rem -1.25rem .8rem; aspect-ratio: 3 / 2; object-fit: cover; }

/* Untermenüs: erst sichtbar, wenn der Bereich geöffnet ist (Seite des Menüpunkts oder einer Unterseite). "Verein" (Überschrift ohne eigene Seite) öffnet und schließt sich per Klick. */
.msc-nav li.active > ul.mod-menu__sub, .msc-nav li.msc-sub-open > ul.mod-menu__sub { display: block; }
.msc-nav ul.mod-menu__sub ul.mod-menu__sub { margin-left: .9rem; font-size: .88rem; }
.msc-nav li.msc-sub-closed > ul.mod-menu__sub { display: none; }

/* Aufklappbare Menüpunkte: Pfeilknopf rechts im Eintrag (bei Überschriften der ganze Eintrag) */
.msc-nav li.deeper { display: grid; }
.msc-nav li.deeper > a, .msc-nav li.deeper > .mod-menu__toggle-sub { grid-area: 1 / 1; }
.msc-nav li.deeper > a { padding-right: 2.4rem; }
.msc-nav li.deeper > ul.mod-menu__sub { grid-area: 2 / 1; }
.msc-nav .mod-menu__toggle-sub { display: flex; align-items: center; margin: 0; padding: 0; border: 0; border-radius: 8px; background: none; color: #fff; font: inherit; text-align: left; cursor: pointer; }
.msc-nav .mod-menu__toggle-sub:not(:has(.mod-menu__heading)) { justify-self: end; width: 2.4rem; justify-content: center; }
.msc-nav .mod-menu__toggle-sub:has(.mod-menu__heading) { justify-content: space-between; width: 100%; padding-right: .5rem; }
.msc-nav .mod-menu__toggle-sub:has(.mod-menu__heading):hover { background: rgba(255, 255, 255, .14); }
.msc-nav .mod-menu__toggle-sub .icon-chevron-down, .msc-nav .mod-menu__toggle-sub .visually-hidden { display: none; }
.msc-nav .mod-menu__toggle-sub .mod-menu__heading { display: block; font-weight: 800; }
.msc-nav li.current > .mod-menu__toggle-sub:not(:has(.mod-menu__heading)) { color: var(--msc-blue); }
.msc-nav .mod-menu__toggle-sub:focus-visible { outline: 3px solid var(--msc-focus); outline-offset: -3px; }
.msc-nav .mod-menu__toggle-sub::after { content: ""; flex: none; width: .5em; height: .5em; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease; margin-top: -.2em; }
.msc-nav li.msc-sub-open > .mod-menu__toggle-sub::after, .msc-nav li.active > .mod-menu__toggle-sub::after { transform: rotate(-135deg); margin-top: .2em; }
.msc-nav li.msc-sub-closed > .mod-menu__toggle-sub::after { transform: rotate(45deg); margin-top: -.2em; }
@media (prefers-reduced-motion: reduce) { .msc-nav .mod-menu__toggle-sub::after { transition: none; } }

/* Karte mit Zwei-Klick-Schutz (Seite Anfahrt) */
.msc-map { margin: 1rem 0; max-width: 46rem; }
.msc-map__ph { display: grid; justify-items: start; gap: .5rem; padding: 1.2rem 1.3rem; border: 2px solid var(--msc-blue); border-radius: 16px; background: var(--msc-blue-soft); }
.msc-map__ph p { margin: 0; max-width: 60ch; }
.msc-map__frame { display: block; width: 100%; height: 22rem; border: 0; border-radius: 16px; }
.com-content-article__body h2 { font-size: clamp(1.25rem, 2.2vw, 1.5rem); margin-top: 1.6rem; }
.com-content-article__body h3 { font-size: 1.1rem; margin-top: 1.1rem; }
@media (max-width: 780px) { .com-content-article__body table:not(.msc-grid) { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } }
.msc-oz { margin-bottom: 1.2rem; }
/* Kachel mit Symbol neben dem Text */
.msc-tile--ico { display: flex; align-items: center; gap: 1rem; }
.msc-tile--ico .msc-ico { width: 44px; height: 44px; }
.msc-tile--ico h2, .msc-tile--ico h3 { margin-top: 0; }
.msc-tile--ico .msc-ico--kart { width: 64px; height: 48px; margin-inline: -8px; }

/* Kontaktseite */
.msc-contact__address { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #d5d9f2; font-style: normal; }
.msc-form-note { font-size: .9rem; color: #4a4e7a; margin: 1rem 0; }
#contact-form { background: none; border: 0; padding: 0; }
#contact-form .form-control { max-width: 40rem; }
/* Brotkrumen: schlicht, ohne Hintergrund, Pfeil als Trenner */
.mod-breadcrumbs__wrapper { margin-bottom: 1rem; }
.mod-breadcrumbs.breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: .15rem 0; margin: 0; padding: 0 !important; background: none; font-size: .88rem; color: #4a4e7a; }
.mod-breadcrumbs__here { display: none; }
.mod-breadcrumbs .breadcrumb-item { display: flex; align-items: center; padding: 0; }
.mod-breadcrumbs .breadcrumb-item + .breadcrumb-item::before { content: ""; float: none; width: .42rem; height: .42rem; margin: 0 .6rem; border-top: 2px solid #9aa0d6; border-right: 2px solid #9aa0d6; transform: rotate(45deg); padding: 0; }
.mod-breadcrumbs .breadcrumb-item a { color: var(--msc-blue, #1514c7); font-weight: 600; text-decoration: none; }
.mod-breadcrumbs .breadcrumb-item a:hover, .mod-breadcrumbs .breadcrumb-item a:focus-visible { text-decoration: underline; }
.mod-breadcrumbs .breadcrumb-item.active { color: #14163a; font-weight: 600; }
.msc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Seite Preise: Preiskarte */
.msc-price { max-width: 22rem; margin: 1.2rem 0 1.5rem; padding: .9rem 1.2rem; background: #fff; border: 2px solid var(--msc-blue, #1514c7); border-radius: 16px; }
.msc-price p { margin: 0; }
.msc-price__name { font-weight: 700; color: #4a4e7a; }
.msc-price__amount { font-family: var(--msc-display, inherit); font-size: 2rem; font-weight: 800; line-height: 1.2; color: var(--msc-blue, #1514c7); }
.msc-price__note { font-size: .92rem; color: #4a4e7a; }