:root {
  --brand-red:#d40000;--brand-white:#ffffff;--text:#111;--muted:#666;--bg:#ffffff;--bg-contrast:#f7f7f7;--radius:16px;
  --subnav-h:56px; /* reservierte Höhe für die Subnav (konstant, kein Layout-Shift) */
}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;line-height:1.55;color:var(--text);background:var(--bg)}
.container{width:min(1100px,92vw);margin:0 auto;padding:0 1rem}
.site-header{background:var(--brand-red);color:var(--brand-white);position:sticky;top:0;z-index:1000;box-shadow:0 4px 16px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}
.brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--brand-white);text-decoration:none;font-weight:800;letter-spacing:.2px}
.brand-logo{height:48px;width:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.12))}
.brand-text small{font-weight:600;opacity:.9}
.primary-nav :is(ul,ol){list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem}
.primary-nav a{color:var(--brand-white);text-decoration:none;padding:.6rem .9rem;border-radius:999px;display:inline-block;font-weight:600}
.primary-nav a:hover,.primary-nav .current{background:rgba(255,255,255,.18)}
.primary-nav a:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* SUBNAV BAR – immer gleich hoch, zentriert, keine Layoutsprünge */
.subnav-bar{background:#fff;border-bottom:1px solid #eee;min-height:var(--subnav-h);display:flex;align-items:center}
/* Wenn Subnav leer ist → trotzdem Höhe reservieren, aber keine Pillen sichtbar */
.subnav:empty{display:block;min-height:calc(var(--subnav-h) - 8px)} /* -8px wegen Innenabstand */
.subnav{display:flex;justify-content:center;padding:.35rem 0}
.subnav :is(ul,ol){list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.subnav li{margin:0;padding:0}
.subnav a{display:inline-block;text-decoration:none;padding:.48rem .85rem;border-radius:999px;border:1px solid #e6e6e6;background:#fff;color:#d40000;font-weight:800;white-space:nowrap}
.subnav li.current > a, .subnav li.active > a, .subnav a.active{background:#d40000;color:#fff;border-color:#d40000}
.subnav a:hover{filter:brightness(.97)}

/* SINGLE COLUMN LAYOUT */
.site-main{padding:clamp(1rem,2vw + .5rem,2rem) 0}

/* Weißer Content-Bereich + dünner grauer Rahmen */
.frame{background:#fff;border:1px solid #e6e6e6;border-radius:16px;padding:clamp(1rem,2vw + .5rem,1.25rem);box-shadow:none}

/* Inner Cards aus */
.frame > .item-page, .frame > .blog, .frame > article, .frame > .com-content-category-blog, .frame > .com-content-article{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important}

.card{background:#fff;border-radius:var(--radius);border:1px solid #eee;padding:1rem}
.button,.btn,button,input[type=submit]{background:var(--brand-red);color:#fff;border:none;border-radius:12px;padding:.7rem 1rem;font-weight:700;cursor:pointer}
.button:hover,.btn:hover,button:hover,input[type=submit]:hover{filter:brightness(.95)}
.button:focus-visible,.btn:focus-visible{outline:3px solid rgba(0,0,0,.2);outline-offset:2px}
.site-footer{background:#111;color:#fff;padding:1.5rem 0;margin-top:2rem}
.footer-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:.75rem}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:.75rem}
.moduletable h3,.frame h1,.frame h2,.frame h3{color:var(--brand-red);margin-top:.2rem}
img{max-width:100%;height:auto}
@media (max-width:900px){.container{width:min(1000px,94vw)}}
/* Social icons */
.social{display:flex;gap:.6rem;align-items:center}.social a{display:inline-flex;gap:.45rem;align-items:center;color:#fff;text-decoration:none;padding:.3rem .5rem;border-radius:10px}.social a:hover{background:rgba(255,255,255,.12)}.social svg{width:18px;height:18px;fill:#fff}
