.mc4-mdc {
  --mc4-mdc-orange: #EF7D00;
  --mc4-mdc-blue: #5BC5F2;
  --mc4-mdc-dark: #1F1F1F;
  max-width: 720px;
  margin: 0 auto;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--mc4-mdc-dark);
}

.mc4-mdc-title { margin: 0 0 14px; font-size: 1.3rem; font-weight: 700; }

.mc4-mdc-form { display: flex; gap: 10px; }
.mc4-mdc-input {
  flex: 1; padding: 12px 14px; font-size: 16px;
  border: 2px solid #d8d8d8; border-radius: 8px; outline: none;
  transition: border-color .15s ease;
}
.mc4-mdc-input:focus { border-color: var(--mc4-mdc-blue); }
.mc4-mdc-btn {
  padding: 12px 24px; font-size: 16px; font-weight: 600; color: #fff;
  background: var(--mc4-mdc-orange); border: none; border-radius: 8px;
  cursor: pointer; transition: filter .15s ease; white-space: nowrap;
}
.mc4-mdc-btn:hover { filter: brightness(.94); }
.mc4-mdc-btn:disabled { opacity: .6; cursor: progress; }

.mc4-mdc-result { margin-top: 20px; border: 1px solid #e5e5e5; border-radius: 10px; overflow: hidden; }

.mc4-mdc-head {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 18px; color: #fff;
}
.mc4-mdc-head .mc4-mdc-hicon { font-size: 1.7rem; line-height: 1; }
.mc4-mdc-head .mc4-mdc-htext { display: flex; flex-direction: column; }
.mc4-mdc-head .mc4-mdc-hdom { font-weight: 700; font-size: 1.08rem; }
.mc4-mdc-head .mc4-mdc-hsum { font-size: .85rem; opacity: .92; }

.mc4-mdc-h-ok   { background: #1f9d55; }
.mc4-mdc-h-warn { background: #e0a800; }
.mc4-mdc-h-fail { background: #d23c3c; }

.mc4-mdc-checks { margin: 0; padding: 0; list-style: none; }
.mc4-mdc-checks li { border-top: 1px solid #f0f0f0; padding: 12px 18px; }
.mc4-mdc-checks li:first-child { border-top: none; }
.mc4-mdc-crow { display: flex; align-items: flex-start; gap: 12px; }
.mc4-mdc-badge {
  flex: 0 0 auto; width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .8rem; font-weight: 700; color: #fff; margin-top: 1px;
}
.mc4-mdc-s-ok   .mc4-mdc-badge { background: #1f9d55; }
.mc4-mdc-s-warn .mc4-mdc-badge { background: #e0a800; }
.mc4-mdc-s-fail .mc4-mdc-badge { background: #d23c3c; }

.mc4-mdc-cbody { flex: 1; min-width: 0; }
.mc4-mdc-clabel { font-weight: 700; }
.mc4-mdc-cnote { color: #555; font-size: .9rem; margin-top: 2px; }
.mc4-mdc-cvalue {
  margin-top: 6px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .8rem; color: #333; background: #f6f6f6; border-radius: 6px;
  padding: 6px 9px; word-break: break-all; white-space: pre-wrap;
}

.mc4-mdc-error {
  margin-top: 16px; padding: 12px 16px; background: #fdeaea;
  color: #b02a2a; border-radius: 8px; font-size: .92rem;
}

.mc4-mdc-sechead {
  padding: 11px 18px;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.mc4-mdc-sechead span {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
}
.mc4-mdc-sechead-req {
  color: #555;
  background: #f7f7f8;
  border-bottom: 1px solid #ececec;
}
.mc4-mdc-sechead-req span { color: #999; }

/* Optionaler Bereich klar abgesetzt: Abstand + eigener Rahmen */
.mc4-mdc-optsection {
  margin-top: 18px;
  border: 1px dashed #d9d9d9;
  border-radius: 10px;
  background: #fbfbfb;
  overflow: hidden;
}
.mc4-mdc-sechead-opt {
  color: #8a8a8a;
  background: #f3f3f3;
  border-bottom: 1px solid #e6e6e6;
}
.mc4-mdc-sechead-opt span { color: #aaa; }
.mc4-mdc-checks-opt { background: transparent; }

.mc4-mdc-optbadge {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  font-size: .68rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #777;
  background: #f0f0f0;
  border-radius: 10px;
  vertical-align: middle;
}
/* Optionale Warn-/Fail-Punkte neutral (grau) statt alarmierend gelb/rot */
.mc4-mdc-opt.mc4-mdc-s-warn .mc4-mdc-badge,
.mc4-mdc-opt.mc4-mdc-s-fail .mc4-mdc-badge {
  background: #b8b8b8;
}

.mc4-mdc-suggest { margin-top: 8px; }
.mc4-mdc-suggestbtn {
  display: inline-block;
  padding: 9px 16px;
  font-size: .95rem;
  font-weight: 700;
  color: #fff;
  background: var(--mc4-mdc-orange);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: filter .12s ease;
}
.mc4-mdc-suggestbtn:hover { filter: brightness(.94); }

.mc4-mdc-hint {
  margin-top: 8px;
  border: 1px solid #e3eef4;
  border-radius: 8px;
  background: #f4fafe;
}
.mc4-mdc-hint > summary {
  cursor: pointer;
  padding: 8px 12px;
  font-weight: 600;
  font-size: .85rem;
  color: #2a7aa3;
  list-style: none;
  user-select: none;
}
.mc4-mdc-hint > summary::-webkit-details-marker { display: none; }
.mc4-mdc-hint[open] > summary { border-bottom: 1px solid #e3eef4; }
.mc4-mdc-hintbody {
  padding: 10px 14px;
  font-size: .85rem;
  line-height: 1.5;
  color: #33576b;
}

.mc4-mdc-fix {
  margin-top: 10px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fafafa;
}
.mc4-mdc-fix > summary {
  cursor: pointer;
  padding: 9px 12px;
  font-weight: 600;
  font-size: .9rem;
  color: var(--mc4-mdc-orange);
  list-style: none;
  user-select: none;
}
.mc4-mdc-fix > summary::-webkit-details-marker { display: none; }
.mc4-mdc-fix[open] > summary { border-bottom: 1px solid #eee; }
.mc4-mdc-fixbody { padding: 10px 14px 14px; }
.mc4-mdc-fixsteps { margin: 0 0 10px; padding-left: 20px; }
.mc4-mdc-fixsteps li { font-size: .88rem; color: #333; margin: 4px 0; line-height: 1.45; }
.mc4-mdc-fixrec {
  display: flex; align-items: stretch; gap: 8px;
  flex-wrap: wrap;
}
.mc4-mdc-rec {
  flex: 1; min-width: 200px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .78rem; color: #222; background: #fff;
  border: 1px solid #e0e0e0; border-radius: 6px;
  padding: 8px 10px; word-break: break-all; white-space: pre-wrap;
}
.mc4-mdc-copy {
  flex: 0 0 auto;
  border: none; border-radius: 6px; cursor: pointer;
  background: var(--mc4-mdc-blue); color: #073b4c;
  font-weight: 600; font-size: .8rem; padding: 0 14px;
}
.mc4-mdc-copy:hover { filter: brightness(.96); }

.mc4-mdc-fixlinks { margin-top: 12px; }
.mc4-mdc-fixlinks-t {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  color: #555;
  margin-bottom: 6px;
}
.mc4-mdc-fixlinks ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.mc4-mdc-fixlinks li { margin: 0; }
.mc4-mdc-fixlinks a {
  display: inline-block;
  padding: 5px 11px;
  font-size: .82rem;
  font-weight: 600;
  text-decoration: none;
  color: #073b4c;
  background: #eaf7fe;
  border: 1px solid #cdeafb;
  border-radius: 6px;
  transition: background .12s ease;
}
.mc4-mdc-fixlinks a:hover { background: #d6f0fd; }

@media (max-width: 480px) {
  .mc4-mdc-form { flex-direction: column; }
  .mc4-mdc-btn { width: 100%; }
}
