/* Palette du thème axelweb (voir CLAUDE.md > Design Tokens)
   dark #282120 · dark-2 #1e1b1a · dark-light #584c4c
   light #faf8f5 · bg-base #f9f9f6 · bg-grey #e5e6e2 · bg-accent #ebecdb
   accent-1 #fe6038 · accent-2 #75999b · teal-deep #4a6b6a · rust #8b3a22 · amber #d79921 */

/* ========== VM-ADDONS-ANATOMY ========== */
.vm-addons-anatomy {
  background: #282120;
  border-radius: 20px;
  padding: 36px 32px 28px;
  margin: 32px 0;
}
.vm-addons-anatomy__top {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(250,248,245,0.12);
}
.vm-addons-anatomy__label {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(250,248,245,0.72);
  margin: 0;
}
.vm-addons-anatomy__price {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #fe6038;
  line-height: 1;
  margin: 0;
}
.vm-addons-anatomy__body {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.vm-addons-anatomy__main,
.vm-addons-anatomy__side {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.vm-addons-anatomy__main {
  flex: 2 1 280px;
}
.vm-addons-anatomy__side {
  flex: 1 1 200px;
}
.vm-addons-anatomy__zone {
  border-radius: 12px;
  padding: 14px 16px;
  background: rgba(250,248,245,0.05);
  border: 1px solid rgba(250,248,245,0.08);
}
.vm-addons-anatomy__zone--useful {
  background: rgba(74,107,106,0.25);
  border-color: rgba(74,107,106,0.4);
}
.vm-addons-anatomy__zone-label {
  font-size: 13px;
  font-weight: 700;
  color: #faf8f5;
  margin: 0 0 4px;
}
.vm-addons-anatomy__zone-desc {
  font-size: 13px;
  color: rgba(250,248,245,0.78);
  margin: 0;
  line-height: 1.5;
}
.vm-addons-anatomy__aside {
  background: rgba(250,248,245,0.06);
  border: 1px solid rgba(250,248,245,0.10);
  border-radius: 12px;
  padding: 14px 16px;
  flex: 1 1 auto;
}
.vm-addons-anatomy__aside--alert {
  background: rgba(254,96,56,0.10);
  border-color: rgba(254,96,56,0.25);
}
.vm-addons-anatomy__aside-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(250,248,245,0.68);
  margin: 0 0 4px;
}
.vm-addons-anatomy__aside-val {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #faf8f5;
  margin: 0 0 4px;
}
.vm-addons-anatomy__aside-note {
  font-size: 12px;
  color: rgba(250,248,245,0.72);
  margin: 0;
  line-height: 1.4;
}
.vm-addons-anatomy__foot {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(250,248,245,0.10);
}
.vm-addons-anatomy__foot-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4a6b6a;
  flex-shrink: 0;
}
.vm-addons-anatomy__foot-text {
  font-size: 13px;
  color: rgba(250,248,245,0.85);
  line-height: 1.5;
  margin: 0;
}

/* ========== VM-SURMESURE-WHEN ========== */
.vm-surmesure-when {
  background: #f9f9f6;
  border-radius: 20px;
  padding: 0 0 28px;
  margin: 32px 0;
  overflow: hidden;
}
.vm-surmesure-when__header {
  background: #e5e6e2;
  padding: 20px 28px;
  margin-bottom: 24px;
}
.vm-surmesure-when__header-text {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #584c4c;
  margin: 0;
}
.vm-surmesure-when__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0 28px;
}
.vm-surmesure-when__item {
  flex: 1 1 260px;
  background: #ffffff;
  border: 1px solid rgba(40,33,32,0.10);
  border-radius: 14px;
  padding: 18px 20px;
  min-width: 0;
}
.vm-surmesure-when__item--accent {
  background: #282120;
  border-color: transparent;
}
.vm-surmesure-when__num {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #4a6b6a;
  margin: 0 0 8px;
}
.vm-surmesure-when__title {
  font-size: 16px;
  font-weight: 700;
  color: #282120;
  margin: 0 0 6px;
}
.vm-surmesure-when__desc {
  font-size: 14px;
  color: #584c4c;
  margin: 0;
  line-height: 1.55;
}
.vm-surmesure-when__item--accent .vm-surmesure-when__num {
  color: rgba(250,248,245,0.68);
}
.vm-surmesure-when__item--accent .vm-surmesure-when__title {
  color: #faf8f5;
}
.vm-surmesure-when__item--accent .vm-surmesure-when__desc {
  color: rgba(250,248,245,0.8);
}

/* ========== VM-CWV-IMPACT ========== */
.vm-cwv-impact {
  background: #f9f9f6;
  border-radius: 20px;
  margin: 32px 0;
  overflow: hidden;
}
.vm-cwv-impact__band {
  background: #4a6b6a;
  padding: 14px 28px;
}
.vm-cwv-impact__band-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(250,248,245,0.85);
  margin: 0;
}
.vm-cwv-impact__body {
  display: flex;
  flex-wrap: wrap;
}
.vm-cwv-impact__metrics {
  flex: 2 1 300px;
  min-width: 0;
}
.vm-cwv-impact__metric {
  padding: 18px 28px;
  border-bottom: 1px solid rgba(40,33,32,0.08);
}
.vm-cwv-impact__metric:last-child {
  border-bottom: none;
}
.vm-cwv-impact__metric-name {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #282120;
  margin: 0 0 2px;
}
.vm-cwv-impact__metric-full {
  font-size: 12px;
  color: #584c4c;
  margin: 0 0 6px;
}
.vm-cwv-impact__metric-desc {
  font-size: 14px;
  color: #282120;
  margin: 0;
  line-height: 1.5;
}
.vm-cwv-impact__stat {
  flex: 1 1 220px;
  background: #282120;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  min-width: 0;
}
.vm-cwv-impact__stat-num {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 36px;
  font-weight: 700;
  color: #fe6038;
  line-height: 1;
  margin: 0 0 4px;
}
.vm-cwv-impact__stat-context {
  font-size: 14px;
  color: rgba(250,248,245,0.85);
  line-height: 1.4;
  margin: 0 0 4px;
}
.vm-cwv-impact__stat-source {
  font-size: 11px;
  color: rgba(250,248,245,0.78);
  margin: 0;
  font-style: italic;
}
.vm-cwv-impact__stat-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(250,248,245,0.10);
}
.vm-cwv-impact__stat-note-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4a6b6a;
  flex-shrink: 0;
  margin-top: 5px;
}
.vm-cwv-impact__stat-note-text {
  font-size: 13px;
  color: rgba(250,248,245,0.78);
  line-height: 1.5;
  margin: 0;
}

/* ========== VM-ROI-COST ========== */
.vm-roi-cost {
  background: #f9f9f6;
  border-radius: 20px;
  padding: 28px;
  margin: 32px 0;
}
.vm-roi-cost__cols {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.vm-roi-cost__col {
  flex: 1 1 280px;
  border-radius: 14px;
  overflow: hidden;
  min-width: 0;
}
.vm-roi-cost__col--market {
  background: #ffffff;
  border: 1px solid rgba(40,33,32,0.10);
}
.vm-roi-cost__col--custom {
  background: #282120;
}
.vm-roi-cost__col-header {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 14px 18px;
  margin: 0;
  border-bottom: 1px solid rgba(40,33,32,0.08);
  color: #282120;
}
.vm-roi-cost__line,
.vm-roi-cost__total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px;
}
.vm-roi-cost__line {
  padding: 10px 18px;
  border-bottom: 1px solid rgba(40,33,32,0.06);
}
.vm-roi-cost__line--initial {
  background: rgba(40,33,32,0.04);
}
.vm-roi-cost__line-label {
  font-size: 14px;
  color: #584c4c;
}
.vm-roi-cost__line-val {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #282120;
}
.vm-roi-cost__total {
  padding: 14px 18px;
  background: rgba(40,33,32,0.06);
}
.vm-roi-cost__total-label {
  font-size: 13px;
  font-weight: 700;
  color: #282120;
}
.vm-roi-cost__total-val {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #282120;
}
.vm-roi-cost__col--custom .vm-roi-cost__col-header {
  color: rgba(250,248,245,0.82);
  border-bottom-color: rgba(250,248,245,0.10);
}
.vm-roi-cost__col--custom .vm-roi-cost__line {
  border-bottom-color: rgba(250,248,245,0.06);
}
.vm-roi-cost__col--custom .vm-roi-cost__line--initial {
  background: rgba(250,248,245,0.05);
}
.vm-roi-cost__col--custom .vm-roi-cost__line-label {
  color: rgba(250,248,245,0.85);
}
.vm-roi-cost__col--custom .vm-roi-cost__line-val {
  color: #faf8f5;
}
.vm-roi-cost__col--custom .vm-roi-cost__total {
  background: rgba(254,96,56,0.12);
}
.vm-roi-cost__col--custom .vm-roi-cost__total-label {
  color: rgba(250,248,245,0.8);
}
.vm-roi-cost__col--custom .vm-roi-cost__total-val {
  color: #fe6038;
}

/* ========== VM-MAINTENANCE-TIMELINE ========== */
.vm-maintenance-timeline {
  background: #1e1b1a;
  border-radius: 20px;
  padding: 32px 28px;
  margin: 32px 0;
}
.vm-maintenance-timeline__header {
  margin-bottom: 28px;
}
.vm-maintenance-timeline__title {
  font-size: 18px;
  font-weight: 700;
  color: #faf8f5;
  margin: 0 0 6px;
}
.vm-maintenance-timeline__sub {
  font-size: 13px;
  color: rgba(250,248,245,0.68);
  margin: 0;
}
.vm-maintenance-timeline__tracks {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.vm-maintenance-timeline__track {
  flex: 1 1 280px;
  min-width: 0;
  border-radius: 14px;
  padding: 20px 20px 16px;
}
.vm-maintenance-timeline__track--market {
  background: rgba(250,248,245,0.05);
  border: 1px solid rgba(250,248,245,0.08);
}
.vm-maintenance-timeline__track--custom {
  background: rgba(74,107,106,0.15);
  border: 1px solid rgba(74,107,106,0.3);
}
.vm-maintenance-timeline__track-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(250,248,245,0.72);
  margin: 0 0 16px;
}
.vm-maintenance-timeline__track--custom .vm-maintenance-timeline__track-label {
  color: #75999b;
}
.vm-maintenance-timeline__steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.vm-maintenance-timeline__step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.vm-maintenance-timeline__step-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(250,248,245,0.5);
  flex-shrink: 0;
  margin-top: 6px;
}
.vm-maintenance-timeline__step-dot--warn {
  background: #d79921;
}
.vm-maintenance-timeline__step-dot--alert {
  background: #fe6038;
}
.vm-maintenance-timeline__step-dot--ok {
  background: #75999b;
}
.vm-maintenance-timeline__step-text {
  font-size: 14px;
  color: rgba(250,248,245,0.82);
  margin: 0;
  line-height: 1.5;
}

/* ========== VM-DECISION-TREE ========== */
.vm-decision-tree {
  background: #f9f9f6;
  border-radius: 20px;
  padding: 28px;
  margin: 32px 0;
}
.vm-decision-tree__question {
  background: #282120;
  border-radius: 14px;
  padding: 20px 22px;
  margin-bottom: 20px;
}
.vm-decision-tree__q-text {
  font-size: 17px;
  font-weight: 700;
  color: #faf8f5;
  margin: 0;
  line-height: 1.45;
}
.vm-decision-tree__branches {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.vm-decision-tree__branch {
  flex: 1 1 260px;
  min-width: 0;
  border-radius: 14px;
  padding: 18px;
  border: 1px solid rgba(40,33,32,0.10);
  background: #ffffff;
}
.vm-decision-tree__branch-label {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #4a6b6a;
  margin: 0 0 12px;
}
.vm-decision-tree__branch--no .vm-decision-tree__branch-label {
  color: #8b3a22;
}
.vm-decision-tree__sub-question {
  background: #e5e6e2;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 14px;
}
.vm-decision-tree__sq-text {
  font-size: 13px;
  color: #282120;
  margin: 0;
  line-height: 1.5;
  font-weight: 600;
}
.vm-decision-tree__sub-branches {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.vm-decision-tree__leaf {
  border-radius: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(40,33,32,0.08);
}
.vm-decision-tree__leaf--go {
  background: rgba(74,107,106,0.12);
  border-color: rgba(74,107,106,0.25);
}
.vm-decision-tree__leaf--warn {
  background: rgba(215,153,33,0.12);
  border-color: rgba(215,153,33,0.35);
}
.vm-decision-tree__leaf--custom {
  background: rgba(254,96,56,0.08);
  border-color: rgba(254,96,56,0.25);
}
.vm-decision-tree__leaf-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #584c4c;
  margin: 0 0 4px;
}
.vm-decision-tree__leaf-verdict {
  font-size: 16px;
  font-weight: 700;
  color: #282120;
  margin: 0 0 4px;
}
.vm-decision-tree__leaf--go .vm-decision-tree__leaf-verdict {
  color: #4a6b6a;
}
.vm-decision-tree__leaf--custom .vm-decision-tree__leaf-verdict {
  color: #8b3a22;
}
.vm-decision-tree__leaf-note {
  font-size: 13px;
  color: #584c4c;
  margin: 0;
  line-height: 1.5;
}

/* ========== VM-ERP-COMPARE ========== */
.vm-erp-compare {
  background: #1e1b1a;
  border-radius: 20px;
  padding: 28px;
  margin: 32px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.vm-erp-compare__zone {
  flex: 1 1 280px;
  border-radius: 14px;
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(250,248,245,0.10);
}
.vm-erp-compare__zone--custom {
  border-color: rgba(74,107,106,0.35);
}
.vm-erp-compare__zone-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(250,248,245,0.68);
  padding: 12px 16px;
  border-bottom: 1px solid rgba(250,248,245,0.08);
  margin: 0;
}
.vm-erp-compare__zone--custom .vm-erp-compare__zone-label {
  color: #75999b;
  border-bottom-color: rgba(74,107,106,0.25);
}
.vm-erp-compare__terminal {
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: rgba(250,248,245,0.03);
}
.vm-erp-compare__zone--custom .vm-erp-compare__terminal {
  background: rgba(74,107,106,0.08);
}
.vm-erp-compare__line {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 13px;
  color: rgba(250,248,245,0.8);
  line-height: 1.4;
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
}
.vm-erp-compare__line--fail {
  color: rgba(254,96,56,0.75);
}
.vm-erp-compare__line--accent {
  color: #75999b;
}
.vm-erp-compare__ok,
.vm-erp-compare__fail,
.vm-erp-compare__accent {
  font-weight: 700;
  flex-shrink: 0;
}
.vm-erp-compare__ok {
  color: #75999b;
}
.vm-erp-compare__fail {
  color: rgba(254,96,56,0.9);
}
.vm-erp-compare__accent {
  color: #fe6038;
}

/* ========== VM-CHECKLIST-MODULE ========== */
.vm-checklist-module {
  background: #f9f9f6;
  border-radius: 20px;
  padding: 28px;
  margin: 32px 0;
}
.vm-checklist-module__header {
  margin-bottom: 22px;
}
.vm-checklist-module__header-pre {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #4a6b6a;
  margin: 0 0 4px;
}
.vm-checklist-module__header-title {
  font-size: 22px;
  font-weight: 700;
  color: #282120;
  margin: 0;
}
.vm-checklist-module__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.vm-checklist-module__item {
  flex: 1 1 260px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #ffffff;
  border: 1px solid rgba(40,33,32,0.09);
  border-radius: 12px;
  padding: 14px 16px;
  min-width: 0;
}
.vm-checklist-module__item--accent {
  background: #282120;
  border-color: transparent;
}
.vm-checklist-module__num {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: rgba(40,33,32,0.18);
  flex-shrink: 0;
  line-height: 1;
  margin-top: 2px;
}
.vm-checklist-module__content {
  min-width: 0;
}
.vm-checklist-module__label {
  font-size: 15px;
  font-weight: 700;
  color: #282120;
  margin: 0 0 3px;
}
.vm-checklist-module__hint {
  font-size: 13px;
  color: #584c4c;
  margin: 0;
  line-height: 1.45;
}
.vm-checklist-module__item--accent .vm-checklist-module__num {
  color: rgba(250,248,245,0.35);
}
.vm-checklist-module__item--accent .vm-checklist-module__label {
  color: #faf8f5;
}
.vm-checklist-module__item--accent .vm-checklist-module__hint {
  color: rgba(250,248,245,0.78);
}
.vm-checklist-module__foot {
  margin: 18px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(40,33,32,0.10);
  font-size: 13px;
  font-weight: 600;
  color: #4a6b6a;
}

/* ========== VM-CONCLUSION ========== */
.vm-conclusion {
  background: #282120;
  border-radius: 20px;
  padding: 32px;
  margin: 32px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
}
.vm-conclusion__left {
  flex: 2 1 280px;
  min-width: 0;
}
.vm-conclusion__eyebrow {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #75999b;
  margin: 0 0 8px;
}
.vm-conclusion__title {
  font-size: 26px;
  font-weight: 700;
  color: #faf8f5;
  margin: 0 0 16px;
  line-height: 1.2;
}
.vm-conclusion__body {
  font-size: 16px;
  color: rgba(250,248,245,0.8);
  margin: 0 0 12px;
  line-height: 1.65;
}
.vm-conclusion__cta {
  display: inline-block;
  margin-top: 12px;
  background: #fe6038;
  color: #faf8f5 !important;
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  padding: 12px 22px;
  border-radius: 8px;
  text-decoration: none !important;
}
.vm-conclusion__right {
  flex: 1 1 220px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.vm-conclusion__pill {
  border-radius: 12px;
  padding: 14px 16px;
  background: rgba(250,248,245,0.06);
  border: 1px solid rgba(250,248,245,0.10);
}
.vm-conclusion__pill--hybrid {
  background: rgba(74,107,106,0.15);
  border-color: rgba(74,107,106,0.3);
}
.vm-conclusion__pill--custom {
  background: rgba(254,96,56,0.10);
  border-color: rgba(254,96,56,0.25);
}
.vm-conclusion__pill-title {
  font-size: 14px;
  font-weight: 700;
  color: #faf8f5;
  margin: 0 0 4px;
}
.vm-conclusion__pill--hybrid .vm-conclusion__pill-title {
  color: #75999b;
}
.vm-conclusion__pill--custom .vm-conclusion__pill-title {
  color: #fe6038;
}
.vm-conclusion__pill-when {
  font-size: 12px;
  color: rgba(250,248,245,0.72);
  margin: 0;
  line-height: 1.5;
}

/* ========== VM-SOURCES ========== */
.vm-sources {
  background: #f9f9f6;
  border: 1px solid rgba(40,33,32,0.10);
  border-radius: 14px;
  padding: 18px 18px 10px;
  margin: 32px 0;
}
.vm-sources__title {
  font-family: 'Space Grotesk', -apple-system, system-ui, sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #282120;
  margin: 0 0 10px;
}
.vm-sources__list {
  margin: 0;
  padding-left: 18px;
  line-height: 1.6;
}
.vm-sources__list li {
  font-size: 14px;
  color: #282120;
  margin-bottom: 4px;
}
