/* Mondzahl Elemente – Farben aus dem Styleguide */
.mz{
  --mz-nacht:#1B1F3B; --mz-indigo:#3C3F6B; --mz-gold:#C9A45C; --mz-gold-dunkel:#A8822F; --mz-gold-text:#7A5C1C;
  --mz-creme:#F3EBDD; --mz-papier:#FBF7F0; --mz-tinte:#1B1F3B; --mz-tinte-2:#4A4E6E; --mz-linie:#E2D6C0;
  --mz-titel:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --mz-text:Lato,"Helvetica Neue",Arial,sans-serif;
  font-family:var(--mz-text);color:var(--mz-tinte);line-height:1.65;box-sizing:border-box
}
.mz *,.mz *::before,.mz *::after{box-sizing:border-box}
.mz h1,.mz h2,.mz h3{font-family:var(--mz-titel);font-weight:500;line-height:1.12;margin:0;text-wrap:balance;font-variant-numeric:lining-nums;color:inherit}
.mz :focus-visible{outline:2px solid var(--mz-gold);outline-offset:3px;border-radius:4px}
.mz-eyebrow{display:inline-block;font:700 12px/1.2 var(--mz-text);letter-spacing:.18em;text-transform:uppercase;color:var(--mz-gold)}
.mz-btn{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;font:700 15px/1 var(--mz-text);padding:14px 22px;border-radius:999px;text-decoration:none!important;transition:transform .2s,background .2s,color .2s,box-shadow .2s}
.mz-btn-gold{background:var(--mz-gold);color:var(--mz-nacht)!important}
.mz-btn-gold:hover{background:#d6b46e;transform:translateY(-1px)}
.mz-btn-line{background:transparent;color:var(--mz-creme)!important;box-shadow:inset 0 0 0 1px rgba(243,235,221,.45)}
.mz-btn-line:hover{box-shadow:inset 0 0 0 1px var(--mz-gold);color:var(--mz-gold)!important}

/* Hero */
.mz-hero{position:relative;background:radial-gradient(120% 90% at 75% 10%,#2b3166 0%,var(--mz-nacht) 55%,#141730 100%);color:var(--mz-creme);overflow:hidden}
.mz-sky{position:absolute;inset:0;width:100%;height:100%}
.mz-hero-in{position:relative;max-width:1120px;margin:0 auto;padding:72px 20px 84px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.mz-hero h1{font-size:clamp(40px,6vw,72px);margin:18px 0 20px;color:var(--mz-creme)}
.mz-hero h1 em{color:var(--mz-gold);font-style:italic}
.mz-lead{font-size:19px;max-width:34em;color:rgba(243,235,221,.82);margin:0 0 30px}
.mz-cta{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:900px){.mz-hero-in{grid-template-columns:1fr;padding:48px 20px 56px;gap:36px}}

/* Mond heute */
.mz-dark-box{background:var(--mz-nacht);color:var(--mz-creme);border-radius:22px}
.mz-today{background:linear-gradient(160deg,rgba(60,63,107,.55),rgba(27,31,59,.6));border:1px solid rgba(201,164,92,.35);border-radius:22px;padding:26px;color:var(--mz-creme)}
.mz-today-top{display:flex;gap:22px;align-items:center}
.mz-moon{width:118px;height:118px;flex:none;filter:drop-shadow(0 0 22px rgba(243,235,221,.18))}
.mz-today h2{font-size:30px;color:var(--mz-creme)}
.mz-sub{color:rgba(243,235,221,.75);font-size:15px;margin-top:4px}
.mz-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 0!important;padding:0!important;list-style:none!important}
.mz-facts li{background:rgba(20,23,48,.45);border-radius:12px;padding:10px 12px;min-width:0;margin:0}
.mz-facts small{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(243,235,221,.6)}
.mz-facts b{font:600 21px/1.25 var(--mz-titel);color:var(--mz-creme);font-variant-numeric:lining-nums}
.mz-next{margin-top:14px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;border-top:1px solid rgba(201,164,92,.25);padding-top:14px;font-size:15px}
.mz-next b{font:600 26px/1 var(--mz-titel);color:var(--mz-gold);font-variant-numeric:lining-nums tabular-nums}
@media(max-width:480px){.mz-facts{gap:6px}.mz-facts li{padding:8px 9px}.mz-facts b{font-size:18px}.mz-facts small{font-size:10px;letter-spacing:.06em}.mz-today-top{gap:16px}.mz-moon{width:92px;height:92px}}

/* Rechner */
.mz-calc{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}
@media(max-width:860px){.mz-calc{grid-template-columns:1fr}}
.mz-panel{background:var(--mz-papier);border:1px solid var(--mz-linie);border-radius:22px;padding:30px;min-width:0}
.mz-panel label{display:block;font-weight:700;font-size:14px;margin-bottom:10px}
.mz-date-row{display:flex;gap:10px;flex-wrap:wrap}
.mz-date-row input{flex:1 1 180px;min-width:0;font:600 24px var(--mz-titel);font-variant-numeric:lining-nums;padding:12px 16px;border:1px solid var(--mz-linie);border-radius:14px;background:#fff;color:var(--mz-tinte)}
.mz-hint{font-size:13px;color:var(--mz-tinte-2);margin:12px 0 0}
.mz-steps{margin:24px 0 0!important;padding:0!important;list-style:none!important;display:grid;gap:8px;font:500 22px/1.3 var(--mz-titel);font-variant-numeric:lining-nums}
.mz-steps li{opacity:0;transform:translateY(6px);transition:opacity .45s,transform .45s;margin:0}
.mz-steps li.on{opacity:1;transform:none}
.mz-steps .eq{color:var(--mz-gold-text);font-weight:600}
.mz-result{background:var(--mz-nacht);color:var(--mz-creme);border-radius:22px;padding:30px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;min-width:0}
.mz-big{font:500 128px/0.9 var(--mz-titel);color:var(--mz-gold);font-variant-numeric:lining-nums;text-align:center;min-width:1.2ch}
.mz-result h3{font-size:34px;color:var(--mz-creme)}
.mz-kw{color:var(--mz-gold);font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin:6px 0 12px;font-weight:700}
.mz-result p{margin:0 0 18px;color:rgba(243,235,221,.82)}
@media(max-width:520px){.mz-result{grid-template-columns:1fr}.mz-big{font-size:96px;text-align:left}}

/* Siegel */
.mz-seal-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;color:var(--mz-creme)}
@media(max-width:860px){.mz-seal-grid{grid-template-columns:1fr}}
.mz-seal{width:100%;max-width:460px;margin:0 auto;display:block}
.mz-seal .num{cursor:pointer}
.mz-seal .num circle{fill:transparent;transition:fill .25s}
.mz-seal .num text{fill:var(--mz-gold);font:500 30px var(--mz-titel);font-variant-numeric:lining-nums;transition:fill .25s}
.mz-seal .num:hover circle,.mz-seal .num:focus circle{fill:rgba(201,164,92,.18)}
.mz-seal .num.sel circle{fill:var(--mz-gold)}
.mz-seal .num.sel text{fill:var(--mz-nacht)}
.mz-seal .num:focus{outline:none}
.mz-seal-info h3{font-size:44px;color:var(--mz-gold)}
.mz-seal-info .mz-kw{color:rgba(243,235,221,.65)}
.mz-seal-info p{color:rgba(243,235,221,.85);max-width:32em}
.mz-seal-info a{color:var(--mz-gold)}
.mz-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.mz-chips .mz-eyebrow{width:100%;margin-bottom:4px}
.mz-chip{border:1px solid rgba(201,164,92,.45);color:var(--mz-creme);background:none;border-radius:999px;padding:7px 14px;font:600 15px var(--mz-titel);cursor:pointer;font-variant-numeric:lining-nums}
.mz-chip:hover{border-color:var(--mz-gold);color:var(--mz-gold)}

/* Kalender */
.mz-cal{display:grid;grid-template-columns:1.4fr .8fr;gap:28px;align-items:start}
@media(max-width:900px){.mz-cal{grid-template-columns:1fr}}
.mz-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:10px}
.mz-cal-head h3{font-size:32px}
.mz-cal-nav{display:flex;gap:8px}
.mz-cal-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--mz-linie);background:#fff;color:var(--mz-tinte);font-size:18px;cursor:pointer;padding:0}
.mz-cal-nav button:disabled{opacity:.35;cursor:default}
.mz-grid7{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.mz-wd{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mz-tinte-2);text-align:center;padding-bottom:6px}
.mz-day{aspect-ratio:1/1.08;border:1px solid transparent;background:#fff;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:2px;font:600 15px var(--mz-titel);color:var(--mz-tinte);font-variant-numeric:lining-nums;max-width:100%;min-width:0}
.mz-day svg{width:58%;max-width:30px;height:auto}
.mz-day:hover{border-color:var(--mz-gold)}
.mz-day.ev{background:#f6eedd}
.mz-day.today{box-shadow:inset 0 0 0 2px var(--mz-gold-dunkel)}
.mz-day.sel{background:var(--mz-nacht);color:var(--mz-creme)}
.mz-day.empty{background:transparent;cursor:default}
.mz-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--mz-tinte-2);margin-top:14px}
.mz-legend span{display:inline-flex;align-items:center;gap:6px}
.mz-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
.mz-l-ev{background:#f6eedd}.mz-l-today{box-shadow:inset 0 0 0 2px var(--mz-gold-dunkel)}
.mz-detail{background:var(--mz-nacht);color:var(--mz-creme);border-radius:22px;padding:28px;position:sticky;top:110px}
.mz-detail svg{width:96px;height:96px}
.mz-detail h3{font-size:30px;margin:14px 0 4px;color:var(--mz-creme)}
.mz-ev{color:var(--mz-gold);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;min-height:1.4em}
.mz-detail dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:18px 0 0;font-size:15px}
.mz-detail dt{color:rgba(243,235,221,.6);font-weight:400}
.mz-detail dd{margin:0}
.mz-tip{margin-top:18px;border-top:1px solid rgba(201,164,92,.25);padding-top:14px;font-size:14px;color:rgba(243,235,221,.75)}
@media(prefers-reduced-motion:reduce){.mz *{transition:none!important}.mz-steps li{opacity:1;transform:none}}

.mz-today-link{display:inline-block;margin-top:14px;font:700 12px/1 Lato,"Helvetica Neue",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#C9A45C!important;text-decoration:none!important;border-bottom:1px solid rgba(201,164,92,.45);padding-bottom:4px}
.mz-today-link:hover{color:#E3C88E!important;border-color:#E3C88E}

/* Rechner: Ergebnis während der Rechnung abdunkeln, Report-Karte darunter */
.mz-result>*{transition:opacity .3s}
.mz-rechnet .mz-result>*,.mz-rechnet .mz-rkarte h3{opacity:.3}
.mz-rkarte{grid-column:1/-1;display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:center;background:var(--mz-papier);border:1px solid rgba(201,164,92,.55);border-radius:22px;padding:28px 34px;min-width:0}
.mz-rkarte-bild img{display:block;width:100%;height:auto}
.mz-rkarte .mz-eyebrow{color:var(--mz-gold-text)}
.mz-rkarte h3{font-size:30px;line-height:1.15;margin:10px 0 10px;color:var(--mz-tinte);transition:opacity .3s}
.mz-rkarte p{margin:0 0 12px;color:var(--mz-tinte-2)}
.mz-rkarte ul{margin:0 0 20px!important;padding:0!important;list-style:none!important;display:flex;flex-wrap:wrap;gap:6px 22px}
.mz-rkarte li{position:relative;padding-left:16px;margin:0;font-size:15px;color:var(--mz-tinte)}
.mz-rkarte li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--mz-gold)}
.mz-rkarte-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px}
.mz-rkarte-bsp{font-weight:700;font-size:15px;color:var(--mz-gold-text)!important;text-decoration:underline;text-underline-offset:3px}
.mz-rkarte-preis{font-size:14px;color:var(--mz-tinte-2)}
@media(max-width:760px){.mz-rkarte{grid-template-columns:1fr;gap:18px;padding:24px 22px}.mz-rkarte-bild{max-width:220px}.mz-rkarte h3{font-size:26px}}
.mz-leer .mz-result{display:none}
