/* Belledox Magazin · Spec 001 · editorial, ruhig, Hero-Farben. Keine Versalien, Knöpfe 6 px, Kästen ≤ 4 px. */
.mz{ background:var(--cream); color:var(--ink); }
.mz .container{ max-width:1280px; }
.mz a:not(.btn){ color:inherit; }

/* Kopf */
.mz-head{ padding-top:56px; }
.mz-crumbs{ display:flex; flex-wrap:wrap; gap:8px; font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--muted); }
.mz-crumbs a{ text-decoration:none; color:var(--ink-soft); }
.mz-crumbs a:hover{ color:var(--ink); }
.mz-crumbs [aria-current]{ color:var(--ink); }
.mz-kicker{ margin:40px 0 18px; font-family:var(--mono); font-size:12px; letter-spacing:.02em; color:var(--ink-soft); }
.mz-h1{ margin:0; max-width:21ch; font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(40px, 5.2vw, 76px); line-height:1.02; letter-spacing:-.03em; color:var(--ink); text-wrap:balance; }
.mz-h1 em{ font-style:italic; }
.mz-dek{ margin:26px 0 0; max-width:62ch; font-size:19px; line-height:1.6; color:var(--ink-soft); }
.mz-byline{ margin:22px 0 0; font-size:13.5px; color:var(--ink-soft); }
.mz-byline a{ color:var(--ink); text-underline-offset:3px; }

/* Titelbild */
.mz-hero{ margin:44px auto 0; }
.mz-hero__img{ display:block; width:100%; height:auto; max-height:640px; aspect-ratio:16/8; object-fit:cover; border-radius:4px; background:var(--cream-2); }
.mz-hero figcaption{ margin-top:10px; font-family:var(--mono); font-size:11px; letter-spacing:.02em; color:var(--muted); }

/* Layout Artikel */
.mz-layout{ display:grid; grid-template-columns:260px minmax(0, 740px); gap:80px; justify-content:center; margin-top:64px; padding-bottom:40px; }
.mz-side{ position:sticky; top:calc(var(--nav-h) + 28px); align-self:start; }
.mz-toc__h{ margin:0 0 14px; font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--muted); }
.mz-toc ol, .mz-toc-m ol{ list-style:none; margin:0; padding:0; counter-reset:toc; }
.mz-toc li, .mz-toc-m li{ counter-increment:toc; display:grid; grid-template-columns:28px minmax(0,1fr); padding:7px 0; border-top:1px solid var(--line); }
.mz-toc li::before, .mz-toc-m li::before{ content:counter(toc, decimal-leading-zero); font-family:var(--mono); font-size:11px; color:var(--muted); padding-top:3px; }
.mz-toc a, .mz-toc-m a{ font-size:14px; line-height:1.45; color:var(--ink-soft); text-decoration:none; }
.mz-toc a:hover, .mz-toc-m a:hover{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.mz-sidecta{ margin-top:32px; padding:22px 22px 18px; background:var(--paper); border:1px solid var(--line); border-radius:4px; display:grid; gap:12px; }
.mz-sidecta__h{ margin:0; font-size:15px; font-weight:600; letter-spacing:-.01em; }
.mz-sidecta__t{ margin:0; font-size:13.5px; line-height:1.55; color:var(--ink-soft); }
.mz-sidecta .btn{ width:100%; }
.mz-sidecta .bx-cta-row__link{ font-size:13.5px; justify-self:start; }
.mz-toc-m{ display:none; margin:0 0 32px; border:1px solid var(--line); border-radius:4px; background:var(--paper); }
.mz-toc-m summary{ cursor:pointer; list-style:none; padding:16px 20px; font-weight:600; font-size:15px; }
.mz-toc-m summary::-webkit-details-marker{ display:none; }
.mz-toc-m ol{ padding:0 20px 14px; }

/* Kurzfassung */
.mz-summary{ margin:0 0 44px; padding:26px 30px 22px; background:var(--paper); border:1px solid var(--line); border-radius:4px; }
.mz-summary__h{ margin:0 0 14px; font-family:var(--mono); font-size:12px; letter-spacing:.02em; color:var(--ink-soft); }
.mz-summary ul{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.mz-summary li{ position:relative; padding-left:30px; font-size:16px; line-height:1.6; color:var(--ink); }
.mz-summary li::before{ content:""; position:absolute; left:0; top:5px; width:18px; height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A1F3A' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Fließtext */
.mz-prose{ font-size:17.5px; line-height:1.75; color:var(--ink-2); }
.mz-prose > p{ margin:0 0 1.15em; }
.mz-prose h2{ margin:2.2em 0 .7em; font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(30px, 3vw, 40px);
  line-height:1.08; letter-spacing:-.02em; color:var(--ink); scroll-margin-top:calc(var(--nav-h) + 24px); text-wrap:balance; }
.mz-prose h2:first-child{ margin-top:0; }
.mz-prose h3{ margin:1.8em 0 .5em; font-size:20px; font-weight:600; letter-spacing:-.01em; line-height:1.3; color:var(--ink); scroll-margin-top:calc(var(--nav-h) + 24px); }
.mz-prose ul, .mz-prose ol{ margin:0 0 1.2em; padding-left:1.3em; }
.mz-prose li{ margin:.35em 0; padding-left:.2em; }
.mz-prose a:not(.btn){ color:var(--ink); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(10,31,58,.35); }
.mz-prose a:not(.btn):hover{ text-decoration-color:var(--ink); }
.mz-prose strong{ font-weight:600; color:var(--ink); }
.mz-prose blockquote{ margin:1.6em 0; padding:0 0 0 1.2em; font-family:var(--serif); font-style:italic; font-size:24px; line-height:1.35; color:var(--ink); }
.mz-prose blockquote p{ margin:0; }
.mz-figure{ margin:2em 0; }
.mz-figure img{ display:block; width:100%; height:auto; border-radius:4px; }
.mz-figure figcaption{ margin-top:10px; font-family:var(--mono); font-size:11px; color:var(--muted); }

/* Tabellen */
.mz-table{ margin:1.6em 0 1.8em; }
.mz-table table{ width:100%; border-collapse:collapse; font-size:15px; line-height:1.5; }
.mz-table th{ text-align:left; font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:.02em; color:var(--ink-soft);
  padding:0 16px 12px 0; border-bottom:1px solid var(--ink); vertical-align:bottom; }
.mz-table td{ padding:14px 16px 14px 0; border-bottom:1px solid var(--line); vertical-align:top; color:var(--ink-2); }
.mz-table td:first-child{ font-weight:600; color:var(--ink); }

/* Kästen */
.mz-box{ display:grid; grid-template-columns:24px minmax(0,1fr); gap:16px; margin:2em 0; padding:22px 26px 20px;
  background:var(--paper); border:1px solid var(--line); border-radius:4px; }
.mz-box__ic{ color:var(--ink); margin-top:2px; }
.mz-box__h{ margin:0 0 6px !important; font-size:16px; font-weight:600; color:var(--ink); line-height:1.4; }
.mz-box__body{ font-size:16px; line-height:1.65; }
.mz-box__body p{ margin:0 0 .6em; }
.mz-box__body p:last-child{ margin-bottom:0; }
.mz-box__body ul{ margin:.4em 0 0; padding-left:1.2em; }

/* Preisbox */
.mz-preis{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; margin:2.2em 0;
  padding:26px 28px; background:var(--paper); border:1px solid var(--line); border-radius:4px; }
.mz-preis p{ margin:0; }
.mz-preis__k{ font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--muted); }
.mz-preis__name{ margin-top:6px !important; font-size:21px; font-weight:600; letter-spacing:-.015em; color:var(--ink); }
.mz-preis__meta{ margin-top:4px !important; font-size:14px; color:var(--ink-soft); }
.mz-preis__special{ margin-top:12px !important; font-size:14px; line-height:1.5; color:var(--ink); }
.mz-preis__special a{ color:var(--ink); }
.mz-preis__side{ display:grid; justify-items:end; gap:8px; text-align:right; }
.mz-preis__num{ font-family:var(--serif); font-style:italic; font-size:38px; line-height:1; letter-spacing:-.02em; color:var(--ink); }
.mz-preis__fn{ font-size:12px; color:var(--muted); }
.mz-preis .btn{ margin-top:6px; }

/* Buchungskarte im Text */
.mz-cta{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:28px; align-items:center; margin:2.4em 0;
  padding:28px 30px; background:var(--cream-2); border:1px solid var(--line-2); border-radius:4px; }
.mz-cta p{ margin:0; font-size:15.5px; line-height:1.6; color:var(--ink-soft); }
.mz-cta .mz-cta__h{ margin:0 0 6px; font-size:19px; font-weight:600; letter-spacing:-.015em; color:var(--ink); }
.mz-cta__btns{ display:grid; gap:10px; justify-items:start; }
.mz-cta__btns .bx-cta-row__link{ font-size:13.5px; }

/* FAQ */
.mz-faq{ margin-top:56px; }
.mz-faq h2, .mz-sources h2{ margin:0 0 18px; font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(30px,3vw,40px);
  letter-spacing:-.02em; line-height:1.1; scroll-margin-top:calc(var(--nav-h) + 24px); }
.mz-faq__item{ border-bottom:1px solid var(--line); }
.mz-faq__item:first-of-type{ border-top:1px solid var(--ink); }
.mz-faq__item summary{ cursor:pointer; list-style:none; display:grid; grid-template-columns:minmax(0,1fr) 20px; gap:16px; align-items:start;
  padding:20px 0; font-size:17px; font-weight:600; line-height:1.45; color:var(--ink); }
.mz-faq__item summary::-webkit-details-marker{ display:none; }
.mz-faq__item summary::after{ content:""; width:20px; height:20px; margin-top:2px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A1F3A' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .25s var(--ease); }
.mz-faq__item[open] summary::after{ transform:rotate(45deg); }
.mz-faq__a{ padding:0 36px 22px 0; font-size:16px; line-height:1.7; color:var(--ink-2); }
.mz-faq__a p{ margin:0; }

/* Quellen, Hinweis */
.mz-sources{ margin-top:56px; }
.mz-sources ol{ margin:0; padding:0; list-style:none; counter-reset:q; }
.mz-sources li{ counter-increment:q; display:grid; grid-template-columns:32px minmax(0,1fr); column-gap:4px; padding:14px 0; border-top:1px solid var(--line); font-size:14.5px; line-height:1.55; }
.mz-sources li::before{ content:"[" counter(q) "]"; grid-row:1 / span 2; font-family:var(--mono); font-size:12px; color:var(--muted); padding-top:2px; }
.mz-sources a{ color:var(--ink); text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(10,31,58,.3); overflow-wrap:anywhere; }
.mz-sources__s{ grid-column:2; margin-top:4px; font-family:var(--mono); font-size:11.5px; color:var(--muted); }
.mz-disclaimer{ margin:40px 0 0; padding-top:20px; border-top:1px solid var(--line); font-size:13.5px; line-height:1.6; color:var(--ink-soft); }
.mz-ended{ margin:0 0 28px; padding:16px 20px; background:var(--cream-2); border:1px solid var(--line-2); border-radius:4px; font-size:15px; }

/* Autorenboxen */
.mz-authors{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; margin-top:40px; }
.mz-author{ display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; align-items:start; padding:24px; background:var(--paper); border:1px solid var(--line); border-radius:4px; }
.mz-author__ic{ color:var(--ink); padding-top:2px; }
.mz-author__img{ width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:center 20%; }
.mz-author p{ margin:0; }
.mz-author__k{ font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--muted); }
.mz-author__n{ margin-top:4px !important; font-size:17px; font-weight:600; letter-spacing:-.01em; }
.mz-author__n a{ text-decoration:none; }
.mz-author__n a:hover{ text-decoration:underline; text-underline-offset:3px; }
.mz-author__r{ margin-top:2px !important; font-size:13.5px; color:var(--ink-soft); }
.mz-author__t{ margin-top:10px !important; font-size:14px; line-height:1.6; color:var(--ink-soft); }
.mz-treat{ margin-top:36px; padding-top:22px; border-top:1px solid var(--line); }
.mz-treat__h{ margin:0 0 12px; font-family:var(--mono); font-size:11.5px; color:var(--muted); }
.mz-treat__list{ display:flex; flex-wrap:wrap; gap:10px 22px; }
.mz-treat__a{ font-size:15px; font-weight:500; text-decoration:none; color:var(--ink); }
.mz-treat__a:hover{ text-decoration:underline; text-underline-offset:3px; }

/* Karten und Raster */
.mz-sec-h{ margin:0; font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(34px, 4vw, 56px); letter-spacing:-.025em; line-height:1.02; }
.mz-sec-head{ display:flex; justify-content:space-between; align-items:baseline; gap:20px; flex-wrap:wrap; margin-bottom:28px; }
.mz-related{ padding:80px 0 96px; border-top:1px solid var(--line); }
.mz-related .mz-sec-h{ margin-bottom:36px; }
.mz-grid{ display:grid; gap:48px 40px; }
.mz-grid--2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.mz-grid--3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.mz-card{ display:flex; flex-direction:column; gap:18px; text-decoration:none; color:var(--ink); }
.mz-card[hidden]{ display:none; }
.mz-card__img{ display:block; overflow:hidden; border-radius:4px; background:var(--cream-2); }
.mz-card__img img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .8s var(--ease); }
.mz-card:hover .mz-card__img img{ transform:scale(1.025); }
.mz-card__body{ display:flex; flex-direction:column; gap:10px; }
.mz-card__k{ font-family:var(--mono); font-size:11.5px; letter-spacing:.02em; color:var(--ink-soft); }
.mz-card__h{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(24px, 2.2vw, 32px); line-height:1.1; letter-spacing:-.02em; text-wrap:balance; }
.mz-card__t{ font-size:16px; line-height:1.6; color:var(--ink-soft); }
.mz-card__more{ font-size:13.5px; font-weight:500; color:var(--ink); }
.mz-card--gross{ display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:56px; align-items:center; }
.mz-card--gross .mz-card__h{ font-size:clamp(34px, 3.6vw, 54px); }

/* Magazin-Startseite */
.mz-ihead{ padding-top:56px; padding-bottom:12px; }
.mz-ihead__grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:72px; align-items:end; }
.mz-h1--index{ font-size:clamp(48px, 7vw, 108px); line-height:.96; max-width:12ch; }
.mz-ihead__t{ margin:0; font-size:18px; line-height:1.65; color:var(--ink-soft); max-width:48ch; }
.mz-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:48px; padding:18px 0; border-top:1px solid var(--ink); border-bottom:1px solid var(--line); }
.mz-chip{ appearance:none; cursor:pointer; padding:9px 16px; border-radius:6px; border:1px solid var(--line-2); background:transparent;
  font-family:var(--sans); font-size:13.5px; font-weight:500; color:var(--ink); transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.mz-chip:hover{ border-color:var(--ink); }
.mz-chip.is-active{ background:var(--ink); color:var(--cream); border-color:var(--ink); }
.mz-leadwrap{ padding-top:56px; padding-bottom:72px; }
.mz-leadwrap[hidden]{ display:none; }
.mz-empty{ margin:0; padding:24px 0; font-size:16px; color:var(--ink-soft); }
.mz-newsblock{ padding-top:96px; }
.mz-newslist{ border-top:1px solid var(--ink); }
.mz-newsrow{ display:grid; grid-template-columns:180px minmax(0,1fr) auto; gap:24px; align-items:baseline; padding:22px 0; border-bottom:1px solid var(--line);
  text-decoration:none; color:var(--ink); transition:padding-left .3s var(--ease), background .3s var(--ease); }
.mz-newsrow:hover{ padding-left:12px; background:var(--cream-2); }
.mz-newsrow time{ font-family:var(--mono); font-size:12px; color:var(--ink-soft); }
.mz-newsrow__h{ font-size:19px; font-weight:500; letter-spacing:-.01em; }
.mz-newsrow__go{ font-size:13.5px; font-weight:500; white-space:nowrap; }
.mz-topics-wrap{ padding-top:96px; }
.mz-topics-wrap .mz-sec-h{ margin-bottom:28px; }
.mz-topics{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.mz-topic{ display:flex; flex-direction:column; gap:10px; padding:30px 32px 28px; background:var(--cream); text-decoration:none; color:var(--ink); transition:background .25s var(--ease); }
.mz-topic:hover{ background:var(--paper); }
.mz-topic__n{ font-family:var(--mono); font-size:11.5px; color:var(--ink-soft); }
.mz-topic__h{ font-family:var(--serif); font-style:italic; font-size:32px; line-height:1.05; letter-spacing:-.02em; }
.mz-topic__t{ font-size:15px; line-height:1.6; color:var(--ink-soft); max-width:52ch; }
.mz-topic__go{ margin-top:auto; padding-top:8px; font-size:13.5px; font-weight:500; }
.mz-standards{ padding-top:96px; padding-bottom:112px; }
.mz-standards__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:72px; padding-top:32px; border-top:1px solid var(--ink); }
.mz-standards__list{ list-style:none; margin:0 0 22px; padding:0; display:grid; gap:14px; }
.mz-standards__list li{ font-size:16px; line-height:1.65; color:var(--ink-soft); }
.mz-standards__list strong{ color:var(--ink); font-weight:600; }
.mz-thema-list{ padding-top:56px; padding-bottom:104px; }
.mz-redaktion{ padding-top:56px; padding-bottom:104px; }
.mz-prose--wide{ max-width:760px; }

/* Abschluss (einzige dunkle Fläche, am Seitenende) */
.mz-close{ background:var(--ink); color:var(--cream); padding:112px 0; }
.mz-close__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:end; }
.mz-close__k{ margin:0 0 18px; font-family:var(--mono); font-size:12px; color:#9AA7BF; }
.mz-close__h{ margin:0; font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(40px, 5.4vw, 80px); line-height:1; letter-spacing:-.03em; color:var(--cream); text-wrap:balance; }
.mz-close__t{ margin:0 0 26px; font-size:16.5px; line-height:1.65; color:rgba(243,239,233,.74); max-width:46ch; }
.mz-close__btns{ display:flex; flex-wrap:wrap; gap:12px; }
.mz-close .btn--inv{ color:var(--ink); }

/* Responsiv */
@media (max-width:1100px){
  .mz-layout{ grid-template-columns:minmax(0, 740px); gap:0; }
  .mz-side{ display:none; }
  .mz-toc-m{ display:block; }
  .mz-grid--3{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:900px){
  .mz-ihead__grid, .mz-card--gross, .mz-standards__grid, .mz-close__grid{ grid-template-columns:minmax(0,1fr); gap:28px; }
  .mz-grid--2, .mz-grid--3, .mz-topics, .mz-authors{ grid-template-columns:minmax(0,1fr); }
  .mz-hero__img{ aspect-ratio:3/2; }
  .mz-preis, .mz-cta{ grid-template-columns:minmax(0,1fr); }
  .mz-preis__side{ justify-items:start; text-align:left; }
  .mz-newsrow{ grid-template-columns:minmax(0,1fr); gap:6px; }
  .mz-newsrow__go{ display:none; }
  .mz-close{ padding:80px 0; }
}
@media (max-width:640px){
  .mz-head, .mz-ihead{ padding-top:32px; }
  .mz-kicker{ margin-top:28px; }
  .mz-dek{ font-size:17.5px; }
  .mz-prose{ font-size:16.5px; }
  .mz-summary{ padding:22px 20px 18px; }
  .mz-box{ padding:18px 18px 16px; gap:12px; }
  .mz-preis, .mz-cta{ padding:22px 20px; }
  .mz-preis .btn, .mz-cta .btn, .mz-close .btn{ width:100%; }
  .mz-table thead{ display:none; }
  .mz-table table, .mz-table tbody, .mz-table tr, .mz-table td{ display:block; width:100%; }
  .mz-table tr{ padding:12px 0; border-bottom:1px solid var(--line); }
  .mz-table td{ padding:4px 0; border:0; }
  .mz-table td::before{ content:attr(data-label); display:block; font-family:var(--mono); font-size:11px; color:var(--muted); margin-bottom:2px; }
  .mz-table td:first-child::before{ display:none; }
  .mz-related, .mz-newsblock, .mz-topics-wrap, .mz-standards{ padding-top:64px; }
  .mz-topic{ padding:24px 20px; }
}
