/* ==========================================================================
   Menükarte (Fenster auf der Website + druckfertige PDF-Seite)
   ========================================================================== */
.mcard {
  --mc-paper: #FFFBF9;
  --mc-ink: #1F1A1A;
  --mc-soft: #6A5859;
  --mc-rose: #D98B90;
  --mc-rose-soft: #E9B4B2;
  --mc-deep: #A9475B;
  position: relative; overflow: hidden;
  padding: 44px 36px 34px; text-align: center; color: var(--mc-ink);
  background:
    radial-gradient(ellipse at top, rgba(248, 217, 214, .55), transparent 60%),
    radial-gradient(ellipse at bottom, rgba(248, 217, 214, .45), transparent 55%),
    var(--mc-paper);
  font-family: "Cormorant Garamond", Georgia, serif; font-size: 16px;
  border-radius: 6px;
}
.mcard__frame, .mcard__frame::after { position: absolute; pointer-events: none; border-radius: 4px; }
.mcard__frame { inset: 12px; border: 1px solid var(--mc-rose); }
.mcard__frame::after { content: ""; inset: 5px; border: 1px solid rgba(233, 180, 178, .6); }
.mcard > *:not(.mcard__frame) { position: relative; }

.mcard__logo { width: 4.6em; height: auto; margin: 0 auto .4em; display: block; }
.mcard__eyebrow { display: block; font-family: "Jost", sans-serif; font-size: .7em; letter-spacing: .55em; text-transform: uppercase; color: var(--mc-soft); padding-left: .55em; }
.mcard__name { margin: .15em 0 0; font-weight: 600; font-size: 2.3em; letter-spacing: .22em; text-transform: uppercase; line-height: 1.1; padding-left: .22em; }
.mcard__script { display: block; font-family: "Pinyon Script", cursive; font-weight: 400; color: var(--mc-deep); font-size: 1.75em; line-height: 1.3; }
.mcard__script--small { font-size: 1.6em; }

.mcard__courses { margin: 1.4em auto 0; max-width: 24em; }
.mcard__course h3 {
  margin: 0 0 .35em; font-family: "Jost", sans-serif; font-weight: 500; font-size: .74em;
  letter-spacing: .32em; text-transform: uppercase; color: var(--mc-deep); padding-left: .32em;
}
.mcard__course ul { list-style: none; margin: 0; padding: 0; }
.mcard__course li, .mcard__inline { font-size: 1.18em; line-height: 1.45; margin: 0; }
.mcard__dot { color: var(--mc-rose); margin: 0 .2em 0 .45em; }
.mcard__nb { white-space: nowrap; }
.mcard__note { margin: .2em 0 0; font-style: italic; font-size: .98em; color: var(--mc-soft); }
.mcard__course.is-muted li { font-style: italic; color: var(--mc-soft); }
.mcard__sep { display: flex; align-items: center; justify-content: center; gap: .6em; margin: .85em auto; max-width: 7.5em; color: var(--mc-rose); }
.mcard__sep span { flex: 1; height: 1px; background: rgba(217, 139, 144, .55); }
.mcard__sep svg { width: .56em; height: .56em; flex: none; }

.mcard__foot { margin-top: 1.5em; }
.mcard__brand { display: block; margin-top: .25em; font-family: "Jost", sans-serif; font-size: .62em; letter-spacing: .26em; text-transform: uppercase; color: var(--mc-soft); }

@media (max-width: 480px) {
  .mcard { padding: 36px 24px 28px; }
  .mcard__name { font-size: 1.9em; }
  .mcard__course li, .mcard__inline { font-size: 1.1em; }
}

/* ---------- Fenster (Dialog) ---------- */
.menu-dialog {
  width: min(560px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 10px;
  background: transparent; overflow: visible; color: inherit;
}
.menu-dialog::backdrop { background: rgba(40, 22, 26, .62); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.menu-dialog[open] { animation: mdIn .35s cubic-bezier(.22, .61, .36, 1); }
@keyframes mdIn { from { opacity: 0; transform: translateY(18px) scale(.98); } }
.menu-dialog__scroll { max-height: calc(100dvh - 24px); overflow-y: auto; border-radius: 10px; box-shadow: 0 40px 90px -30px rgba(40, 10, 20, .6); background: #FFFBF9; overscroll-behavior: contain; }
.menu-dialog__actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; padding: 18px 20px 22px; background: #FFFBF9; border-top: 1px solid rgba(233, 180, 178, .6); position: sticky; bottom: 0; }
.menu-dialog__actions .btn { flex: 1 1 220px; white-space: nowrap; padding-inline: 1.2rem; }
.menu-dialog__close {
  position: absolute; top: 18px; right: 18px; z-index: 2; width: 40px; height: 40px; border-radius: 50%;
  border: 1px solid #E9B4B2; background: rgba(255, 251, 249, .95); cursor: pointer; display: grid; place-items: center; color: #1F1A1A;
}
.menu-dialog__close svg { width: 18px; height: 18px; }
.menu-dialog__close:hover { background: #F8D9D6; }
html.dialog-open { overflow: hidden; }
