/* ===== КАЛЬКУЛЯТОР МАТРИЦЫ СУДЬБЫ — тёмный космо-мистик (согласовано с темой сайта) ===== */

:root {
  --mc-bg:     #16112c;
  --mc-surface:#1c1736;
  --mc-cream:  rgba(255,255,255,0.05);
  --mc-ink:    #eae6f5;
  --mc-soft:   rgba(234,230,245,0.68);
  --mc-faint:  rgba(234,230,245,0.42);
  --mc-gold:   #e9b453;
  --mc-gold-d: #d19a3a;
  --mc-lav:    #c8bce0;
  --mc-lav-d:  #9a86c4;
  --mc-plum:   #2a2238;
  --mc-heading:#ffffff;
  --mc-border: rgba(255,255,255,0.10);
  --mc-border-soft: rgba(255,255,255,0.06);
  --mc-serif:  'Cormorant Garamond', Georgia, serif;
}

.mc-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 16px;
  font-family: 'Inter', -apple-system, sans-serif;
  color: var(--mc-ink);
}

/* Форма */
.mc-form-box {
  background: linear-gradient(160deg, var(--mc-surface), rgba(28,23,54,0.6));
  border: 1px solid var(--mc-border-soft);
  border-radius: 18px;
  padding: 40px 34px;
  margin-bottom: 36px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.3);
}

.mc-form-title {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.8rem;
  font-weight: 500;
  margin: 0 0 24px;
  text-align: center;
  letter-spacing: 0.01em;
}

.mc-date-group { margin-bottom: 22px; }

.mc-date-input {
  width: 100%;
  background: linear-gradient(160deg, rgba(255,255,255,0.045), rgba(255,255,255,0.01)), var(--mc-bg);
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  color: var(--mc-ink);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 15px 14px;
  box-sizing: border-box;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.mc-date-input::placeholder { color: var(--mc-faint); font-weight: 400; font-style: italic; letter-spacing: normal; }
.mc-date-input:hover { border-color: rgba(233,180,83,0.45); }
.mc-date-input:focus {
  outline: none;
  border-color: var(--mc-gold);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 0 0 3px rgba(233,180,83,0.15);
}

.mc-compat-banner {
  background: rgba(233,180,83,0.12);
  border: 1px solid rgba(233,180,83,0.3);
  border-radius: 12px;
  padding: 14px 18px;
  color: var(--mc-ink);
  font-size: 0.92rem;
  margin-bottom: 20px;
  text-align: center;
}

.mc-compat-invite-btn {
  display: block;
  width: 100%;
  margin: 0 0 16px;
}

.mc-btn-calc {
  width: 100%;
  background: linear-gradient(135deg, var(--mc-gold), #f0c877);
  color: #201638;
  border: none;
  border-radius: 999px;
  font-size: 1.02rem;
  font-weight: 700;
  padding: 15px 24px;
  cursor: pointer;
  letter-spacing: 0.03em;
  transition: transform 0.15s, box-shadow 0.2s;
}

.mc-btn-calc:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(233,180,83,0.3); }

.mc-error {
  color: #ef7a74;
  font-size: 0.9rem;
  margin-top: 12px;
  display: none;
  text-align: center;
}

/* SVG схема */
#matrica-result { display: none; }
#mc-compat-result { display: none; }

.mc-svg-wrap {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin: 0 auto 28px;
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(20, 16, 38, 0.45);
}

#matrica-svg { width: 100%; height: auto; display: block; }

.mc-node { cursor: pointer; transition: opacity 0.2s; }
.mc-node:hover { opacity: 0.82; }

.mc-num {
  font-family: var(--mc-serif);
  font-weight: 600;
  text-anchor: middle;
  dominant-baseline: middle;
  pointer-events: none;
}
.mc-num-sm { font-size: 12px; }

/* Тултип (базовый стиль — переопределяется внутри .mc-side для тёмной панели результата) */
#mc-tooltip {
  display: none;
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  border-radius: 12px;
  color: var(--mc-ink);
  font-size: 0.94rem;
  line-height: 1.55;
  padding: 16px 18px;
  margin: 0 auto 24px;
  max-width: 500px;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
}

/* Расшифровки — аккордеон */
#mc-readings { margin-top: 20px; }

.mc-accordion {
  border: 1px solid var(--mc-border-soft);
  border-radius: 18px;
  overflow: hidden;
  background: var(--mc-surface);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.mc-acc-item { border-bottom: 1px solid var(--mc-border-soft); }
.mc-acc-item:last-child { border-bottom: none; }

.mc-acc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  cursor: pointer;
  background: transparent;
  transition: background 0.2s;
  user-select: none;
}

.mc-acc-header:hover { background: var(--mc-cream); }

.mc-acc-item--locked .mc-acc-header { background: rgba(184,169,212,0.06); }
.mc-acc-item--locked .mc-acc-header:hover { background: rgba(184,169,212,0.12); }

.mc-acc-title {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.28rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.mc-acc-item--locked .mc-acc-title { color: var(--mc-soft); }
.mc-acc-lock-icon { font-size: 0.85em; opacity: 0.75; margin-left: 2px; }
.mc-acc-item--locked .mc-acc-header:hover .mc-acc-lock-icon { opacity: 1; }

.mc-acc-arcana {
  color: var(--mc-gold);
  font-weight: 500;
  font-style: italic;
}

.mc-acc-icon {
  font-size: 0.9rem;
  color: var(--mc-gold);
  flex-shrink: 0;
  margin-left: 14px;
  transition: transform 0.2s;
}
.mc-acc-item--locked .mc-acc-icon { color: var(--mc-lav-d); font-size: 0.95rem; }

.mc-acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
  background: rgba(0,0,0,0.15);
}
.mc-acc-body.open { max-height: 1400px; }

.mc-acc-desc {
  color: var(--mc-ink);
  font-size: 1rem;
  line-height: 1.75;
  padding: 20px 24px 10px;
  margin: 0;
}

.mc-acc-strengths, .mc-acc-challenges {
  padding: 8px 24px;
  font-size: 0.95rem;
}
.mc-acc-strengths strong { color: #7fe09a; }
.mc-acc-challenges strong { color: #f0a09a; }
.mc-acc-strengths ul, .mc-acc-challenges ul {
  margin: 8px 0 0 18px;
  padding: 0;
  color: var(--mc-soft);
  line-height: 1.65;
}

.mc-acc-extra {
  color: var(--mc-soft);
  font-size: 0.92rem;
  padding: 5px 24px;
  margin: 0;
  line-height: 1.65;
}
.mc-acc-extra:last-child { padding-bottom: 20px; }
.mc-acc-extra strong { color: var(--mc-gold); }

/* Канал из трёх энергий: проявление → затык → зрелость.
   Тексты длиннее одиночной секции, поэтому свой лимит max-height. */
.mc-acc-item--chain .mc-acc-body.open { max-height: 3000px; }

/* Кнопка «унести матрицу с собой» под картой */
.mc-save-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 14px;
  margin-top: 10px;
}

.mc-save-btn {
  background: transparent;
  color: var(--mc-gold);
  border: 1px solid rgba(233,180,83,0.45);
  border-radius: 999px;
  padding: 9px 20px;
  font: inherit;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}
.mc-save-btn:hover {
  background: rgba(233,180,83,0.12);
  border-color: var(--mc-gold);
}
.mc-save-btn:focus-visible { outline: 2px solid var(--mc-gold); outline-offset: 2px; }

.mc-save-hint {
  font-size: 0.84rem;
  color: var(--mc-soft);
}
.mc-save-hint.is-err { color: #f0a09a; }

.mc-chain-twin {
  margin: 16px 24px 4px;
  padding: 10px 14px;
  border-radius: 8px;
  background: rgba(233,180,83,0.07);
  border: 1px solid rgba(233,180,83,0.2);
  color: var(--mc-soft);
  font-size: 0.88rem;
  line-height: 1.6;
}

.mc-chain-step { border-left: 2px solid rgba(233,180,83,0.28); margin: 0 24px; padding-left: 16px; }
.mc-chain-step + .mc-chain-step { margin-top: 4px; }
.mc-chain-step:first-child { padding-top: 16px; }
.mc-chain-step:last-child { padding-bottom: 8px; }
.mc-chain-step .mc-acc-desc { padding: 6px 0 12px; }

.mc-chain-step-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
}
.mc-chain-step-label {
  font-size: 0.74rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--mc-soft);
  opacity: 0.85;
}
.mc-chain-step-arc {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.08rem;
  color: var(--mc-gold);
}

@media (max-width: 560px) {
  .mc-chain-step { margin: 0 18px; padding-left: 12px; }
}

/* Продающий блок */
.mc-upsell {
  background: var(--mc-plum);
  border-radius: 18px;
  padding: 44px 36px;
  margin-top: 40px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.mc-upsell-title {
  font-family: var(--mc-serif);
  color: #fff;
  font-size: 1.9rem;
  font-weight: 500;
  margin: 0 0 14px;
}

.mc-upsell-text {
  color: rgba(255,255,255,0.78);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0 0 24px;
}

.mc-upsell-list {
  list-style: none;
  padding: 0;
  margin: 0 0 28px;
  text-align: left;
  display: inline-block;
}

.mc-upsell-list li {
  color: rgba(255,255,255,0.9);
  font-size: 0.96rem;
  padding: 5px 0 5px 28px;
  position: relative;
}
.mc-upsell-list li::before {
  content: '✦';
  position: absolute;
  left: 0;
  color: var(--mc-gold);
}

.mc-btn-buy {
  display: inline-block;
  background: var(--mc-gold);
  color: #2c2540;
  border: none;
  border-radius: 999px;
  font-size: 1.05rem;
  font-weight: 600;
  padding: 15px 38px;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s, transform 0.15s;
  margin-bottom: 14px;
}

.mc-btn-buy:hover { background: #c9a35a; transform: translateY(-1px); }

.mc-btn-share {
  display: inline-block;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.35);
  color: #fff;
  border-radius: 999px;
  font-size: 0.9rem;
  padding: 11px 24px;
  cursor: pointer;
  margin-left: 10px;
  transition: background 0.2s;
}

.mc-btn-share:hover { background: rgba(255,255,255,0.12); }

/* Модалка */
#mc-modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(8, 6, 20, 0.6);
  backdrop-filter: blur(4px);
  z-index: 9999;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.mc-modal-box {
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  border-radius: 18px;
  padding: 40px 34px;
  max-width: 420px;
  width: 100%;
  text-align: center;
  position: relative;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.4);
  animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.mc-modal-close {
  position: absolute;
  top: 14px; right: 18px;
  background: none; border: none;
  color: var(--mc-faint);
  font-size: 1.5rem;
  cursor: pointer;
  line-height: 1;
}

.mc-modal-title {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 0 12px;
}

.mc-modal-text {
  color: var(--mc-soft);
  font-size: 0.98rem;
  margin: 0 0 24px;
}

.mc-modal-input {
  width: 100%;
  background: var(--mc-bg);
  border: 1px solid var(--mc-border);
  border-radius: 10px;
  color: var(--mc-ink);
  font-size: 1rem;
  padding: 13px 14px;
  box-sizing: border-box;
  margin-bottom: 16px;
}

.mc-modal-input:focus { outline: none; border-color: var(--mc-gold); }

.mc-modal-btn {
  width: 100%;
  background: var(--mc-plum);
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 500;
  padding: 14px;
  cursor: pointer;
  transition: background 0.2s;
}
.mc-modal-btn:hover { background: var(--mc-gold-d); }

/* Адаптив */
@media (max-width: 480px) {
  .mc-form-box { padding: 26px 18px; }
  .mc-date-input { font-size: 1.05rem; padding: 13px 10px; }
  .mc-form-title { font-size: 1.5rem; }
  .mc-upsell   { padding: 28px 20px; }
  .mc-upsell-title { font-size: 1.6rem; }
  .mc-acc-header { padding: 16px 18px; }
  .mc-acc-desc, .mc-acc-strengths, .mc-acc-challenges, .mc-acc-extra { padding-left: 18px; padding-right: 18px; }
  .mc-btn-buy  { width: 100%; margin-bottom: 10px; }
  .mc-btn-share { margin-left: 0; width: 100%; }
  .mc-acc-title { font-size: 1.12rem; }
}

/* ===== v1.8: интерактивная карта, аркан дня, email-захват, обучающий блок ===== */

/* Аркан дня */
.mc-day-arcana {
  background: linear-gradient(135deg, rgba(233,180,83,0.08), var(--mc-surface));
  border: 1px solid rgba(233,180,83,0.2);
  border-radius: 14px;
  padding: 16px 22px;
  margin-bottom: 22px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}
.mc-day-label {
  display: block;
  color: var(--mc-gold);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 6px;
}
.mc-day-value {
  display: block;
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.35rem;
  font-weight: 600;
  margin-bottom: 4px;
}
.mc-day-desc {
  display: block;
  color: var(--mc-soft);
  font-size: 0.88rem;
  max-width: 480px;
  margin: 0 auto;
}

/* Счётчик расчётов */
.mc-calc-count {
  text-align: center;
  color: var(--mc-faint);
  font-size: 0.82rem;
  margin: 12px 0 0;
  min-height: 1em;
}

/* Интерактивные узлы карты */
.mc-node { cursor: pointer; transition: transform 0.2s ease; transform-box: fill-box; transform-origin: center; }
.mc-node:hover { transform: scale(1.12); }
.mc-node--active circle { stroke-width: 3.2; filter: drop-shadow(0 0 6px rgba(233,180,83,0.6)); }

/* Карточка аркана (расширенный тултип) */
#mc-tooltip.mc-tooltip--card {
  text-align: left;
  background: var(--mc-surface);
  border: 1px solid var(--mc-border);
  border-radius: 14px;
  padding: 20px 24px;
  box-shadow: 0 14px 40px rgba(0,0,0,0.3);
  cursor: default;
}
.mc-card-head {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.25rem;
  margin-bottom: 8px;
}
.mc-card-num {
  color: var(--mc-faint);
  font-size: 0.78rem;
  font-family: 'Inter', sans-serif;
  margin-left: 6px;
}
.mc-card-short { color: var(--mc-soft); font-size: 0.92rem; margin: 0 0 12px; }
.mc-card-plus {
  background: rgba(58,168,86,0.07);
  border-left: 3px solid #3aa856;
  border-radius: 0 8px 8px 0;
  padding: 9px 14px;
  font-size: 0.88rem;
  color: var(--mc-ink);
  margin-bottom: 8px;
}
.mc-card-minus {
  background: rgba(212,80,74,0.06);
  border-left: 3px solid #d4504a;
  border-radius: 0 8px 8px 0;
  padding: 9px 14px;
  font-size: 0.88rem;
  color: var(--mc-ink);
}
.mc-card-hint {
  color: var(--mc-faint);
  font-size: 0.76rem;
  margin-top: 12px;
  text-align: center;
}

/* Email-захват */
.mc-emailbox {
  background: linear-gradient(150deg, var(--mc-plum), #3d3355);
  border-radius: 18px;
  padding: 36px 30px;
  margin: 36px 0;
  text-align: center;
  color: #f0ecf7;
}
.mc-emailbox-title {
  font-family: var(--mc-serif);
  font-size: 1.5rem;
  font-weight: 500;
  margin: 0 0 8px;
  color: #fff;
}
.mc-emailbox-text {
  color: rgba(240,236,247,0.75);
  font-size: 0.92rem;
  margin: 0 0 20px;
}
.mc-emailbox-row {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.mc-emailbox-row .mc-modal-input {
  flex: 1;
  min-width: 200px;
  max-width: 320px;
  margin: 0;
}
.mc-email-status { font-size: 0.85rem; min-height: 1.2em; margin: 6px 0 14px; }
.mc-email-status--ok  { color: #8fe0a4; }
.mc-email-status--err { color: #f0a8a4; }

.mc-consent-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  max-width: 420px;
  margin: 0 auto 10px;
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--mc-soft);
  text-align: left;
}
.mc-consent-row input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; }
.mc-consent-row a { color: inherit; text-decoration: underline; }

/* Honeypot: скрыто от людей, доступно ботам-заполнителям форм */
.mc-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* Обучающий блок */
.mc-edu {
  background: linear-gradient(160deg, var(--mc-surface), rgba(28,23,54,0.5));
  border: 1px solid var(--mc-border-soft);
  border-radius: 18px;
  padding: 34px 30px;
  margin-bottom: 40px;
  box-shadow: 0 12px 36px rgba(0,0,0,0.28);
}
.mc-edu-title {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 0 20px;
  text-align: center;
}
.mc-edu-item { margin-bottom: 18px; }
.mc-edu-item strong { color: var(--mc-heading); font-size: 0.95rem; }
.mc-edu-item p { color: var(--mc-soft); font-size: 0.9rem; margin: 6px 0 0; line-height: 1.6; }
.mc-edu-more {
  border-top: 1px solid var(--mc-border-soft);
  padding-top: 16px;
  margin: 22px 0 0;
  text-align: center;
  font-size: 0.88rem;
  color: var(--mc-faint);
}
.mc-edu-more a { color: var(--mc-gold); text-decoration: none; }
.mc-edu-more a:hover { text-decoration: underline; }

/* ===== Самодиагностика «плюс/минус» ===== */
#mc-quiz {
  background: linear-gradient(160deg, var(--mc-surface), rgba(28,23,54,0.5));
  border: 1px solid var(--mc-border-soft);
  border-radius: 18px;
  padding: 34px 30px;
  margin: 0 auto 40px;
  max-width: 760px;
  box-shadow: 0 12px 36px rgba(0,0,0,0.28);
}
.mc-quiz-title {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 0 10px;
  text-align: center;
}
.mc-quiz-lead {
  color: var(--mc-soft);
  font-size: 0.92rem;
  text-align: center;
  margin: 0 0 20px;
  line-height: 1.6;
}
.mc-quiz-lead b { color: var(--mc-gold); }
.mc-quiz-items { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.mc-quiz-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--mc-cream);
  border: 1px solid var(--mc-border-soft);
  border-radius: 10px;
  padding: 12px 14px;
  cursor: pointer;
  transition: border-color .2s, background .2s;
  color: var(--mc-soft);
  font-size: 0.9rem;
  line-height: 1.5;
}
.mc-quiz-item:hover { border-color: var(--mc-gold-d); }
.mc-quiz-item:has(input:checked) {
  border-color: var(--mc-gold);
  background: rgba(233,180,83,0.08);
  color: var(--mc-ink);
}
.mc-quiz-item input { margin-top: 3px; accent-color: var(--mc-gold); flex-shrink: 0; }
.mc-quiz-btn {
  display: block;
  margin: 0 auto;
  background: linear-gradient(135deg, var(--mc-gold), var(--mc-gold-d));
  color: #1a1430;
  border: none;
  border-radius: 999px;
  padding: 12px 32px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform .15s, box-shadow .2s;
}
.mc-quiz-btn:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(233,180,83,0.25); }
.mc-quiz-verdict { margin-top: 20px; }
.mc-quiz-verdict p {
  margin: 0;
  padding: 16px 18px;
  border-radius: 12px;
  font-size: 0.92rem;
  line-height: 1.65;
  color: var(--mc-ink);
}
.mc-quiz-verdict a { color: var(--mc-gold); }
.mc-quiz-v-plus  { background: rgba(87,208,122,0.08);  border: 1px solid rgba(87,208,122,0.35); }
.mc-quiz-v-minus { background: rgba(239,122,116,0.08); border: 1px solid rgba(239,122,116,0.35); }
.mc-quiz-v-mixed { background: rgba(233,180,83,0.06);  border: 1px solid rgba(233,180,83,0.3); }

/* ===== Персональный маршрут после расчёта ===== */
#mc-route {
  background: linear-gradient(160deg, var(--mc-surface), rgba(28,23,54,0.5));
  border: 1px solid var(--mc-border-soft);
  border-left: 3px solid var(--mc-gold);
  border-radius: 18px;
  padding: 34px 30px;
  margin: 0 auto 40px;
  max-width: 760px;
  box-shadow: 0 12px 36px rgba(0,0,0,0.28);
}
.mc-route-title {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.6rem;
  font-weight: 500;
  margin: 0 0 10px;
  text-align: center;
}
.mc-route-lead {
  color: var(--mc-soft);
  font-size: 0.92rem;
  text-align: center;
  margin: 0 0 22px;
  line-height: 1.6;
}
.mc-route-block { margin-bottom: 20px; }
.mc-route-sub {
  color: var(--mc-heading);
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 10px;
}
.mc-route-questions { margin: 0; padding-left: 22px; }
.mc-route-questions li {
  color: var(--mc-soft);
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 10px;
}
.mc-route-questions b { color: var(--mc-gold); font-weight: 600; }
.mc-route-links { margin: 0; padding-left: 22px; list-style: none; }
.mc-route-links li { margin-bottom: 8px; font-size: 0.9rem; }
.mc-route-links li::before { content: '→ '; color: var(--mc-gold); }
.mc-route-links a { color: var(--mc-lav); text-decoration: none; border-bottom: 1px dotted var(--mc-lav-d); }
.mc-route-links a:hover { color: var(--mc-gold); border-bottom-color: var(--mc-gold); }
.mc-route-hint {
  color: var(--mc-soft);
  font-size: 0.82rem;
  font-style: italic;
  margin: 12px 0 0;
  opacity: 0.75;
}

/* ===== Главный вывод: одна мысль до всех подробностей ===== */
#mc-insight {
  background: linear-gradient(160deg, rgba(233,180,83,0.10), rgba(28,23,54,0.55));
  border: 1px solid rgba(233,180,83,0.32);
  border-radius: 20px;
  padding: 32px 34px 28px;
  margin: 0 auto 36px;
  max-width: 760px;
  box-shadow: 0 16px 44px rgba(0,0,0,0.32);
  text-align: center;
}
.mc-insight-title {
  font-family: var(--mc-serif);
  color: var(--mc-gold);
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0 0 18px;
}
.mc-insight-pair {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin-bottom: 20px;
}
.mc-insight-chip {
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--mc-border-soft);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 0.86rem;
  color: var(--mc-soft);
}
.mc-insight-chip b { color: var(--mc-heading); font-weight: 600; }
.mc-insight-chip i { font-style: normal; color: var(--mc-gold); opacity: 0.75; margin-left: 5px; }
.mc-insight-arrow { color: var(--mc-gold); opacity: 0.55; }
.mc-insight-text {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.22rem;
  line-height: 1.62;
  margin: 0 auto 18px;
  max-width: 620px;
}
.mc-insight-note {
  color: var(--mc-soft);
  font-size: 0.82rem;
  line-height: 1.55;
  margin: 0;
  opacity: 0.8;
}

@media (max-width: 560px) {
  .mc-emailbox-row { flex-direction: column; align-items: stretch; }
  .mc-emailbox-row .mc-modal-input { max-width: none; }
  #mc-insight { padding: 26px 20px 22px; }
  .mc-insight-text { font-size: 1.08rem; }
  .mc-insight-arrow { display: none; }
}

/* ===== v2.0: широкая тёмная карточка результата (карта + боковая панель) ===== */

.mc-wrap { max-width: 1120px; }

/* Узкие блоки остаются колонкой */
.mc-day-arcana, .mc-form-box, #mc-readings, .mc-emailbox, .mc-edu {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}
.mc-form-box { margin: 0 auto 36px; }
.mc-emailbox { margin: 36px auto; }

/* Тёмная карточка результата */
.mc-result-card {
  background:
    radial-gradient(ellipse 60% 45% at 30% 20%, rgba(122,80,220,0.22), transparent 70%),
    radial-gradient(ellipse 50% 40% at 85% 80%, rgba(60,40,140,0.25), transparent 70%),
    linear-gradient(160deg, #1d1738, #141026 60%, #171130);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 26px;
  padding: 22px 26px 26px;
  margin-bottom: 36px;
  box-shadow: 0 30px 80px rgba(20,16,38,0.5);
}

/* Шапка результата */
.mc-result-head {
  display: flex;
  gap: 12px 32px;
  flex-wrap: wrap;
  justify-content: center;
  padding: 8px 6px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  margin-bottom: 18px;
}
.mc-head-item {
  color: rgba(240,236,247,0.6);
  font-size: 0.85rem;
  letter-spacing: 0.02em;
}
.mc-head-item b { color: #fff; font-weight: 600; }

/* Сетка: карта + панель */
.mc-result-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 24px;
  align-items: start;
}

.mc-result-grid .mc-svg-wrap {
  max-width: none;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Боковая панель */
.mc-side {
  background: linear-gradient(165deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 18px;
  padding: 26px 26px;
  min-height: 340px;
  position: sticky;
  top: 20px;
  transition: box-shadow 0.3s ease;
}
.mc-side-hint {
  color: rgba(240,236,247,0.45);
  font-size: 0.88rem;
  text-align: center;
  line-height: 1.6;
  margin: 46px 8px;
}

/* Тултип внутри тёмной панели */
.mc-side #mc-tooltip,
.mc-side #mc-tooltip.mc-tooltip--card {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  color: rgba(240,236,247,0.85);
  display: none;
  text-align: left;
  cursor: default;
  animation: mcCardIn 0.25s ease-out;
}
@keyframes mcCardIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.mc-side .mc-card-head,
.mc-side .mc-card-head strong {
  color: #fff;
}
.mc-side .mc-card-head {
  font-family: var(--mc-serif);
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  margin-bottom: 14px;
  padding-bottom: 14px;
  position: relative;
}
.mc-side .mc-card-head::after {
  content: '';
  position: absolute;
  left: 0; bottom: 0;
  width: 46px;
  height: 2px;
  background: linear-gradient(90deg, #e9b453, transparent);
  border-radius: 2px;
}
.mc-side .mc-card-num {
  color: rgba(240,236,247,0.4);
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.mc-side .mc-card-short { color: rgba(240,236,247,0.78); font-size: 0.96rem; line-height: 1.75; margin-bottom: 18px; }
.mc-side .mc-card-plus,
.mc-side .mc-card-minus {
  border-radius: 0 10px 10px 0;
  padding: 11px 16px;
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 10px;
}
.mc-side .mc-card-plus {
  background: rgba(87,208,122,0.09);
  border-left: 3px solid #57d07a;
  color: rgba(240,236,247,0.92);
}
.mc-side .mc-card-minus {
  background: rgba(239,122,116,0.09);
  border-left: 3px solid #ef7a74;
  color: rgba(240,236,247,0.92);
}
.mc-side .mc-card-plus strong { color: #7fe09a; }
.mc-side .mc-card-minus strong { color: #f0a09a; }
.mc-side .mc-card-hint {
  color: rgba(240,236,247,0.35);
  font-size: 0.78rem;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,0.07);
}

/* Числа на карте — чёткие, без курсива */
.mc-num {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-weight: 700 !important;
}

/* Мягкий переход между светлой страницей и тёмной картой */
#matrica-result::before {
  content: '';
  display: block;
  height: 1px;
  margin: 0 auto 28px;
  max-width: 200px;
  background: linear-gradient(90deg, transparent, var(--mc-border), transparent);
}

@media (max-width: 920px) {
  .mc-result-grid { grid-template-columns: 1fr; }
  .mc-side { position: static; min-height: 0; }
  .mc-result-card { padding: 18px 16px 22px; }
}

@media (max-width: 560px) {
  .mc-result-card { border-radius: 20px; padding: 16px 12px 18px; }
  .mc-side { padding: 20px 18px; }
  .mc-result-head { gap: 8px 18px; font-size: 0.8rem; }
  .mc-side .mc-card-head { font-size: 1.28rem; }
}

/* ===== v3.1: вкладки режимов + калькулятор совместимости ===== */
/* .mc-tabs/.mc-tab-btn базовые стили — см. блок v3.2b ниже (единственный источник, старый дублирующий блок удалён) */

.mc-panel { display: none; }
.mc-panel.is-active { display: block; }

/* Форма пары */
.mc-compat-people {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
}
.mc-compat-person { flex: 1; min-width: 0; }
.mc-compat-person .mc-date-group { margin-bottom: 0; }
.mc-compat-person-label {
  color: var(--mc-gold);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
  text-align: center;
}
.mc-compat-divider {
  color: var(--mc-gold);
  font-size: 1.1rem;
  opacity: 0.6;
  padding-top: 22px;
  flex-shrink: 0;
}

/* Карточки аспектов совместимости */
.mc-compat-aspects {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid var(--mc-border-soft);
}
.mc-compat-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid var(--mc-border-soft);
  border-radius: 14px;
  padding: 20px 20px;
}
.mc-compat-card-title {
  color: var(--mc-gold);
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.mc-compat-card-arcana {
  font-family: var(--mc-serif);
  color: var(--mc-heading);
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 8px;
}
.mc-compat-card-desc {
  color: var(--mc-soft);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 8px;
}
.mc-compat-card-note {
  color: var(--mc-faint);
  font-size: 0.84rem;
  line-height: 1.55;
  padding-top: 8px;
  border-top: 1px solid var(--mc-border-soft);
}

@media (max-width: 560px) {
  .mc-compat-people { flex-direction: column; gap: 4px; }
  .mc-compat-divider { display: none; }
  .mc-tab-btn { font-size: 0.84rem; padding: 12px 16px; }
}

/* ===== v3.2: имя пользователя + детская карта ===== */
#mc-child-result { display: none; }

.mc-name-row { margin-bottom: 16px; }
.mc-name-row .mc-modal-input { margin-bottom: 0; text-align: center; }

.mc-head-name b { color: var(--mc-gold); }

/* ===== v3.2b: полировка калькулятора ===== */

/* Пульс золотого ядра карты */
@keyframes mcCorePulse {
  0%, 100% { opacity: 0.4; r: 36; }
  50%      { opacity: 0.7; r: 39; }
}
#matrica-svg circle[stroke="#e9b453"][fill="none"],
#matrica-child-svg circle[stroke="#e9b453"][fill="none"] {
  animation: mcCorePulse 3.5s ease-in-out infinite;
}

/* Вкладки — премиальный вид */
.mc-tabs {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 28px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--mc-border-soft);
  border-radius: 999px;
  padding: 6px;
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.mc-tab-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: transparent;
  border: none;
  color: var(--mc-soft);
  font-size: 0.92rem;
  font-weight: 600;
  /* v4.5: тап-таргет 38px -> 44px (WCAG 2.5.8) */
  min-height: 44px;
  padding: 12px 22px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.25s, color 0.25s, box-shadow 0.25s;
}
.mc-tab-btn:hover { color: var(--mc-ink); }
.mc-tab-btn.is-active {
  background: linear-gradient(135deg, var(--mc-gold), #f0c877);
  color: #201638;
  box-shadow: 0 6px 18px rgba(233,180,83,0.3);
}
.mc-tab-icon { display: inline-flex; color: currentColor; }
.mc-tab-icon svg { display: block; width: 17px; height: 17px; }

/* Появление результата */
#matrica-result, #mc-compat-result, #mc-child-result {
  animation: mcFadeUp 0.5s ease-out both;
}
@keyframes mcFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ===== v3.4: доступность с клавиатуры + микро-анимации ===== */

/* Единый видимый focus-ring для клавиатурной навигации (мышь его не показывает) */
.mc-btn-calc:focus-visible,
.mc-tab-btn:focus-visible,
.mc-btn-buy:focus-visible,
.mc-btn-share:focus-visible,
.mc-acc-header:focus-visible,
.mc-date-input:focus-visible,
.mc-modal-input:focus-visible {
  outline: 2px solid var(--mc-gold);
  outline-offset: 2px;
}

/* Узлы карты теперь доступны с клавиатуры (tabindex+role в app.js) */
.mc-node:focus-visible circle {
  stroke-width: 3.2;
  filter: drop-shadow(0 0 6px rgba(233,180,83,0.6));
}
.mc-node:focus-visible { outline: none; }

/* Лёгкая встряска при ошибке валидации формы */
.mc-shake { animation: mcShake 0.4s ease-in-out; }
@keyframes mcShake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-4px); }
  40%, 80% { transform: translateX(4px); }
}

/* === Возврат с оплаты и восстановление доступа (v4.4) ===
   Плашка показывается на месте возврата с ЮKassa: сначала «проверяем», потом
   «доступ открыт» с личной ссылкой. Это главный канал выдачи оплаченного —
   письмо только дублирует, поэтому блок должен быть заметным. */
.mc-paid-notice {
  border-radius: 14px;
  padding: 18px 20px;
  margin: 0 0 20px;
  border: 1px solid var(--mc-border);
  background: rgba(255,255,255,0.03);
}
.mc-paid-notice--ok {
  border-color: rgba(143,224,164,0.45);
  background: linear-gradient(135deg, rgba(143,224,164,0.14), rgba(143,224,164,0.04));
}
.mc-paid-notice--wait {
  border-color: rgba(233,180,83,0.35);
  background: linear-gradient(135deg, rgba(233,180,83,0.10), rgba(233,180,83,0.03));
}
.mc-paid-line {
  color: var(--mc-heading);
  font-size: 1.08rem;
  font-weight: 600;
  margin: 0 0 6px;
}
.mc-paid-sub {
  color: var(--mc-lav);
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0 0 12px;
}
.mc-paid-linkrow {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.mc-paid-linkrow .mc-modal-input {
  flex: 1 1 240px;
  font-size: 0.86rem;
}
.mc-paid-linkrow .mc-btn-buy { flex: 0 0 auto; padding: 12px 20px; font-size: 0.92rem; }

.mc-restore { margin-top: 18px; text-align: center; }
.mc-restore-toggle {
  background: none;
  border: none;
  color: var(--mc-lav-d);
  font-size: 0.88rem;
  text-decoration: underline;
  cursor: pointer;
  padding: 4px 8px;
}
.mc-restore-toggle:hover { color: var(--mc-gold); }
.mc-restore-form {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid var(--mc-border-soft);
  border-radius: 12px;
  text-align: left;
}
.mc-restore-hint {
  color: var(--mc-lav);
  font-size: 0.86rem;
  margin: 0 0 10px;
}

@media (max-width: 560px) {
  .mc-paid-linkrow .mc-modal-input { flex: 1 1 100%; }
  .mc-paid-linkrow .mc-btn-buy { width: 100%; }
}
