.ms-calc {
  --ms-navy: #020623;
  --ms-blue: #4778E2;
  --ms-sky: #34A7EB;
  --ms-teal: #00B9B1;
  --ms-orange: #EB601D;
  --ms-lavender: #F5F4FF;
  --ms-peach: #FFEEE5;
  font-family: "GeneralSans-Regular", Arial, sans-serif;
  color: var(--ms-navy);
  max-width: 820px;
  margin: 0 auto;
}
.ms-calc__inner {
  background: var(--ms-lavender);
  border-radius: 16px;
  padding: 40px;
}
.ms-calc__title {
  font-family: "GeneralSans-Medium", Arial, sans-serif;
  font-size: 26px;
  line-height: 1.25;
  margin: 0 0 12px;
  color: var(--ms-navy);
}
.ms-calc__lead {
  font-size: 17px;
  line-height: 1.5;
  margin: 0 0 28px;
  color: var(--ms-navy);
}
.ms-calc__form {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-end;
}
.ms-calc__field {
  display: flex;
  flex-direction: column;
  flex: 1 1 240px;
}
.ms-calc__field label {
  font-size: 14px;
  font-family: "GeneralSans-Medium", Arial, sans-serif;
  margin-bottom: 8px;
  color: var(--ms-navy);
}
.ms-calc__field input {
  font-family: "GeneralSans-Regular", Arial, sans-serif;
  font-size: 17px;
  padding: 14px 16px;
  border: 1px solid #d5d8e8;
  border-radius: 8px;
  background: #fff;
  color: var(--ms-navy);
  width: 100%;
}
.ms-calc__field input:focus {
  outline: none;
  border-color: var(--ms-blue);
  box-shadow: 0 0 0 3px rgba(71,120,226,0.15);
}
.ms-calc__btn {
  flex: 1 0 100%;
  border: none;
  cursor: pointer;
  margin: 0 auto;
  max-width: max-content;
}
.ms-calc__error {
  color: var(--ms-orange);
  font-size: 15px;
  margin: 16px 0 0;
}
.ms-calc__info {
  background: #fff;
  border-left: 4px solid var(--ms-blue);
  border-radius: 8px;
  padding: 20px 24px;
  margin: 24px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ms-navy);
}
.ms-calc__result {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #d5d8e8;
}
.ms-calc__result-label {
  font-family: "GeneralSans-Medium", Arial, sans-serif;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ms-blue);
}
.ms-calc__result-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 20px 0 24px;
}
.ms-calc__result-card {
  flex: 1 1 180px;
  background: #fff;
  border-radius: 12px;
  padding: 24px;
  text-align: center;
}
.ms-calc__result-card--highlight { background: var(--ms-navy); }
.ms-calc__result-card--highlight .ms-calc__result-num { color: #fff; }
.ms-calc__result-card--highlight .ms-calc__result-cap { color: #b8c0e0; }
.ms-calc__result-num {
  display: block;
  font-family: "GeneralSans-Semibold", "GeneralSans-Medium", Arial, sans-serif;
  font-size: 30px;
  line-height: 1.1;
  color: var(--ms-blue);
  margin-bottom: 8px;
}
.ms-calc__result-cap {
  display: block;
  font-size: 14px;
  color: var(--ms-navy);
}
.ms-calc__breakdown {
  background: #fff;
  border-radius: 12px;
  padding: 20px 24px;
  font-size: 15px;
  line-height: 1.6;
}
.ms-calc__breakdown table { width: 100%; border-collapse: collapse; }
.ms-calc__breakdown td { padding: 6px 0; }
.ms-calc__breakdown td:last-child { text-align: right; font-family: "GeneralSans-Medium", Arial, sans-serif; }
.ms-calc__breakdown tr.ms-calc__breakdown-total td {
  border-top: 1px solid #d5d8e8;
  padding-top: 12px;
  font-family: "GeneralSans-Medium", Arial, sans-serif;
}
.ms-calc__disclaimer {
  font-size: 13px;
  line-height: 1.5;
  color: #6c7086;
  margin: 20px 0 0;
}
.ms-calc__cta { margin-top: 24px; }
@media (max-width: 767px) {
  .ms-calc__inner { padding: 28px 20px; }
  .ms-calc__title { font-size: 22px; }
  .ms-calc__btn { width: 100%; max-width: none; }
}
	
	
	/* AVENDIS VMware/Proxmox-Kostenrechner - Zusatz-Styles */
/* Ans Ende von dist/css/global/ms-calc.css anhaengen (oder als eigene Datei laden). */
/* Das Grunddesign kommt aus ms-calc.css; hier nur, was dort fehlt. Wirkt nur auf #avpCalc. */

/* Info-Icon */
#avpCalc .avp-info { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: 6px; border-radius: 50%; font-size: 10px; font-family: "GeneralSans-Medium", Arial, sans-serif; background: rgba(2,6,35,.16); color: #fff; cursor: help; flex: none; vertical-align: middle; }
#avpCalc .avp-info:hover, #avpCalc .avp-info:focus { background: var(--ms-navy); outline: none; }

/* Schwebende Sprechblase (liegt am body, daher eigene Werte) */
#avpTip { position: fixed; z-index: 9999; max-width: 300px; width: max-content; background: #020623; color: #fff; font-family: "GeneralSans-Regular", Arial, sans-serif; text-align: left; padding: 12px 14px; border-radius: 10px; font-size: 13px; line-height: 1.5; box-shadow: 0 12px 34px rgba(2,6,35,.32); pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .13s; }
#avpTip.show { opacity: 1; visibility: visible; }
#avpTip b { color: #fff; font-family: "GeneralSans-Medium", Arial, sans-serif; }

/* Kontext- und Kostenliste im Breakdown (die weisse Karte kommt aus ms-calc.css) */
#avpCalc .avp-bd-context { font-size: 15px; line-height: 1.5; margin: 0 0 16px; color: var(--ms-navy); }
#avpCalc .avp-bd-cols { display: flex; flex-wrap: wrap; gap: 24px; }
#avpCalc .avp-bd-cols > div { flex: 1 1 240px; }
#avpCalc .avp-bd-h { font-family: "GeneralSans-Medium", Arial, sans-serif; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 8px; }
#avpCalc .avp-bd-h.vm { color: var(--ms-orange); }
#avpCalc .avp-bd-h.px { color: var(--ms-teal); }
#avpCalc .avp-bd-row { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid #e4e6ee; font-size: 15px; }
#avpCalc .avp-bd-row:first-of-type { border-top: 0; }
#avpCalc .avp-bd-row.is-pair { font-family: "GeneralSans-Medium", Arial, sans-serif; color: var(--ms-navy); }
#avpCalc .avp-bd-val { white-space: nowrap; font-family: "GeneralSans-Medium", Arial, sans-serif; }
	

/* Ersparnis-Matrix */
#avpCalc .avp-matrix-wrap { margin-top: 24px; }
#avpCalc .avp-matrix-note { font-size: 13px; color: #6c7086; margin: 0 0 12px; line-height: 1.5; }
#avpCalc .avp-matrix-scroll { overflow-x: auto; }
#avpCalc table.avp-matrix { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 560px; }
#avpCalc table.avp-matrix th, #avpCalc table.avp-matrix td { padding: 11px 10px; text-align: center; font-size: 14px; }
#avpCalc table.avp-matrix thead th { background: #054851; color: #fff; font-family: "GeneralSans-Medium", Arial, sans-serif; border-right: 1px solid rgba(255,255,255,.14); }
#avpCalc table.avp-matrix thead th:first-child { background: var(--ms-navy); text-align: left; border-top-left-radius: 10px; }
#avpCalc table.avp-matrix thead th:last-child { border-top-right-radius: 10px; border-right: 0; }
#avpCalc table.avp-matrix tbody th { background: var(--ms-peach); color: var(--ms-orange); font-family: "GeneralSans-Medium", Arial, sans-serif; text-align: left; white-space: nowrap; border-bottom: 1px solid #e4e6ee; }
#avpCalc table.avp-matrix tbody td { background: rgba(0,185,177,.10); border-bottom: 1px solid #e4e6ee; border-right: 1px solid #e4e6ee; }
#avpCalc table.avp-matrix tbody td.avp-cell--neg { background: rgba(235,96,29,.10); }
#avpCalc table.avp-matrix tbody tr:last-child th { border-bottom: 0; border-bottom-left-radius: 10px; }
#avpCalc .avp-cell-eur { font-family: "GeneralSans-Semibold", "GeneralSans-Medium", Arial, sans-serif; color: #054851; }
#avpCalc .avp-cell-pct { font-size: 12px; color: #6c7086; margin-top: 2px; }
#avpCalc table.avp-matrix td.avp-cell--neg .avp-cell-eur { color: var(--ms-orange); }
#avpCalc table.avp-matrix td.avp-cell--head { box-shadow: inset 0 0 0 2px var(--ms-teal); }
#avpCalc table.avp-matrix thead th .avp-info { background: rgba(255,255,255,.30); }
#avpCalc table.avp-matrix tbody th .avp-info { background: rgba(235,96,29,.28); color: var(--ms-orange); }
	
	
/* Aussenabstand fuer den VMware/Proxmox-Rechner (Custom-HTML-Block bringt keinen mit) */
#avpCalc.ms-calc { margin-top: 80px; margin-bottom: 80px; }
@media (max-width: 767px) {
  #avpCalc.ms-calc { margin-top: 48px; margin-bottom: 48px; }
}