/* Sidebar folgt dem Magazin-Theme; der Footer bleibt in kräftigem Markenblau. */
.nmt { box-sizing:border-box; color:#151820; background:#f5f6ff; border:1px solid #cdd3f0; border-radius:14px; font-family:inherit; overflow:hidden; scroll-margin-top:90px; }
.nmt *, .nmt *::before, .nmt *::after { box-sizing:border-box; }
.nmt .nmt-label { margin:0 0 16px; color:#535c74; font-size:10px; line-height:1.5; font-weight:600; letter-spacing:1.1px; text-transform:uppercase; }
.nmt .nmt-logo-link { display:block; width:fit-content; margin:0 0 25px; }
.nmt .nmt-logo { display:block; width:170px; height:34px; object-fit:contain; object-position:left center; margin:0; }
.nmt .nmt-cover { display:block; max-width:100%; height:auto; object-fit:contain; border-radius:3px; box-shadow:0 8px 18px #17223a24; }
.nmt .nmt-book-row { display:grid; grid-template-columns:88px minmax(0,1fr); gap:18px; align-items:center; margin:0 0 23px; }
.nmt .nmt-kicker { margin:0 0 8px; color:#3349df; font-size:10px; line-height:1.3; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; }
.nmt h3 { margin:0; color:#11141c; font-size:34px; letter-spacing:-1.4px; line-height:.98; font-weight:850; text-transform:none; }
.nmt .nmt-author { margin:10px 0 0; color:#596077; font-size:10px; line-height:1.5; }
.nmt .nmt-promise { margin:0 0 12px; color:#243ad9; font-size:23px; font-weight:800; letter-spacing:-.6px; line-height:1.15; }
.nmt .nmt-copy { margin:0 0 22px; color:#465069; font-size:13px; line-height:1.65; }
.nmt a.nmt-button { display:flex; align-items:center; justify-content:center; gap:14px; min-height:46px; padding:12px 18px; background:#2943ed; color:#fff; border:1px solid #2943ed; border-radius:7px; font-size:13px; font-weight:750; line-height:1.4; text-decoration:none; text-align:center; transition:background .15s; }
.nmt a.nmt-button:hover { background:#172bc7; color:#fff; }
.nmt a.nmt-text-link { display:block; margin:14px 0 0; padding:2px 0; color:#2338c7; font-size:12px; font-weight:650; line-height:1.5; text-decoration:underline; text-underline-offset:4px; text-align:center; }
.nmt a:focus-visible { outline:3px solid #f07836; outline-offset:4px; }
.nmt--sidebar, .nmt--footer { position:relative; isolation:isolate; }
.nmt a.nmt-surface-link { position:absolute; inset:0; z-index:1; border-radius:inherit; }
.nmt--sidebar a:not(.nmt-surface-link), .nmt--footer a:not(.nmt-surface-link) { position:relative; z-index:2; }
.nmt:has(>.nmt-surface-link:focus-visible) { outline:3px solid #f07836; outline-offset:3px; }
.nmt--sidebar { padding:23px 21px; width:100%; container-type:inline-size; }
@container(max-width:220px) {
 .nmt .nmt-book-row { grid-template-columns:70px minmax(0,1fr); gap:12px; }
 .nmt h3 { font-size:27px; }
}
.nmt--footer { position:relative; z-index:1; border-radius:0; border-left:0; border-right:0; margin:0; background:#edf0ff; }
.nmt-band-inner { display:grid; grid-template-columns:76px minmax(0,1fr) auto; gap:30px; align-items:center; padding-top:30px; padding-bottom:30px; }
.nmt .nmt-band-copy .nmt-label { margin-bottom:8px; }
.nmt h2 { color:#141827; margin:0 0 10px; font-size:clamp(22px,2.2vw,31px); font-weight:800; letter-spacing:-.8px; line-height:1.15; text-transform:none; }
.nmt h2 span { color:#2943df; }
.nmt .nmt-band-copy>p:last-child, .nmt .nmt-feature-copy>p:last-child { color:#465069; margin:0; font-size:13px; line-height:1.65; }
.nmt .nmt-actions { min-width:205px; }
.nmt--feature { display:grid; grid-template-columns:88px minmax(0,1fr) auto; align-items:center; gap:25px; padding:25px 28px; margin:0 0 35px; }
.nmt--feature .nmt-label { margin-bottom:8px; }
.nmt--article_end { grid-template-columns:76px minmax(0,1fr); margin:32px 0; }
.nmt--article_end .nmt-actions { grid-column:2; min-width:0; }
.nmt--article_end h2 { font-size:25px; }
/* Dark-Modus: dunkle Sidebar, helle Schrift und weißer Button. */
html:not(.light-mode) .nmt--sidebar { background:linear-gradient(145deg,#18264b,#101827); border-color:#344775; color:#fff; }
html:not(.light-mode) .nmt--sidebar .nmt-logo { filter:brightness(0) invert(1); }
html:not(.light-mode) .nmt--sidebar h3 { color:#fff; }
html:not(.light-mode) .nmt--sidebar .nmt-label { color:#b7c4e3; }
html:not(.light-mode) .nmt--sidebar .nmt-kicker,
html:not(.light-mode) .nmt--sidebar .nmt-promise { color:#aabbff; }
html:not(.light-mode) .nmt--sidebar .nmt-author,
html:not(.light-mode) .nmt--sidebar .nmt-copy { color:#c0cce3; }
html:not(.light-mode) .nmt--sidebar a.nmt-button { background:#fff; border-color:#fff; color:#2440d7; }
html:not(.light-mode) .nmt--sidebar a.nmt-button:hover { background:#e8edff; border-color:#e8edff; color:#1529a1; }
html:not(.light-mode) .nmt--sidebar a.nmt-text-link { color:#c6d1ff; }
/* Footer in beiden Themes knallblau, mit weißer Typografie und weißem Button. */
.nmt--footer { background:#2445ff; border-color:#2445ff; color:#fff; }
.nmt--footer h2,
.nmt--footer h2 span { color:#fff; }
.nmt--footer .nmt-label,
.nmt--footer .nmt-band-copy>p:last-child { color:#edf0ff; }
.nmt--footer a.nmt-button { background:#fff; border-color:#fff; color:#2440d7; }
.nmt--footer a.nmt-button:hover { background:#e8edff; border-color:#e8edff; color:#1529a1; }
.nmt--footer a.nmt-text-link { color:#fff; }
.nmt-ad-label { display:inline-block; color:var(--text-secondary); font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
.article-body .nmt-concept-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:26px 0; }
.article-body .nmt-concept-map>div { padding:18px 16px; border:1px solid var(--border-glass); border-radius:10px; background:rgba(75,98,255,.08); }
.article-body .nmt-concept-map span { display:block; color:#8d9fff; font-size:12px; font-weight:700; letter-spacing:1px; margin-bottom:10px; }
html.light-mode .article-body .nmt-concept-map span { color:#2943dd; }
.article-body .nmt-concept-map strong { display:block; font-size:17px; line-height:1.3; }
.article-body .nmt-concept-map p { margin:10px 0 0; font-size:14px; line-height:1.6; }
.article-body .nmt-faq { padding:18px 0; border-top:1px solid var(--border-glass); }
.article-body .nmt-faq summary { cursor:pointer; font-size:18px; font-weight:700; line-height:1.5; }
.article-body .nmt-faq summary:focus-visible { outline:3px solid #8296ff; outline-offset:5px; border-radius:3px; }
.article-body .nmt-faq p { margin:12px 0 0; }
.article-body #nmt-konzept, .article-body #nmt-fragen { scroll-margin-top:100px; }
@media(max-width:600px) { .article-body .nmt-concept-map { grid-template-columns:1fr; } }
@media(max-width:850px) {
 .nmt--feature { grid-template-columns:76px minmax(0,1fr); gap:18px; padding:22px; }
 .nmt--feature .nmt-actions { grid-column:2; min-width:0; }
 .nmt-band-inner { grid-template-columns:65px minmax(0,1fr); gap:20px; }
 .nmt-band-inner .nmt-actions { grid-column:2; min-width:0; }
}
@media(max-width:480px) {
 .nmt--feature { padding:20px 16px; grid-template-columns:60px minmax(0,1fr); gap:16px; }
 .nmt h2 { font-size:23px; letter-spacing:-.5px; }
 .nmt--feature .nmt-actions, .nmt-band-inner .nmt-actions { grid-column:1/-1; }
 .nmt-band-inner { padding-top:24px; padding-bottom:24px; }
 .nmt .nmt-label { font-size:9px; letter-spacing:.7px; }
 .nmt--sidebar { max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { .nmt a.nmt-button { transition:none; } }
