/* ══════ Матрица судьбы — продающая страница (01.10.2026) ══════
   Оформление сайта (style.css / style-v2.css / calc3.css) остаётся основой: шрифты, фон,
   кнопки, окно оплаты. Здесь — только блоки матрицы с приставкой mx-.
   Кнопки на золотом фоне — с тёмным текстом (js-rules §9). */

.mx-main { max-width: 860px; }
.mx-hidden { display: none !important; }

/* ── Первый экран ── */
.mx-hero .page-title-block { margin-bottom: 1.2rem; }
.mx-sub { color: var(--text-soft); font-size: 1.02rem; line-height: 1.6; max-width: 640px; margin: .2rem auto 0; text-align: center; }
.mx-promise { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.mx-promise li { font-size: .8rem; letter-spacing: .03em; color: var(--cream); padding: .38rem .8rem; border: 1px solid rgba(212,165,74,.32); border-radius: 999px; background: rgba(212,165,74,.06); }
.mx-trust { margin: .9rem 0 0; text-align: center; font-size: .78rem; color: var(--text-muted); line-height: 1.5; }
.mx-trust b { color: var(--text-soft); font-weight: 600; }

/* Что откроется сразу / в полном разборе */
.mx-what { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; margin: 1.6rem 0 0; }
.mx-what__col { border: 1px solid rgba(212,165,74,.18); border-radius: 14px; padding: 1.1rem 1.1rem 1rem; background: rgba(17,11,36,.55); }
.mx-what__col--full { border-color: rgba(212,165,74,.42); background: linear-gradient(160deg, rgba(212,165,74,.09), rgba(17,11,36,.6)); }
.mx-what h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.28rem; color: var(--gold); margin: 0 0 .55rem; font-weight: 500; }
.mx-what ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .42rem; }
.mx-what li { position: relative; padding-left: 1.15rem; font-size: .9rem; line-height: 1.45; color: var(--text-light); }
.mx-what li::before { content: '✦'; position: absolute; left: 0; top: .05rem; font-size: .7rem; color: var(--gold); }
.mx-what__col--free li::before { content: '○'; color: var(--text-muted); }
.mx-sample-link { display: inline-block; margin-top: .8rem; font-size: .85rem; color: var(--gold); text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; }
.mx-limits { margin: 1rem 0 0; font-size: .82rem; color: var(--text-muted); text-align: center; line-height: 1.5; }
@media (max-width: 640px) { .mx-what { grid-template-columns: 1fr; } }

/* ── Экран результата ── */
.mx-who { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .4rem .7rem; margin: 0 0 1.1rem; font-size: .88rem; color: var(--text-soft); }
.mx-who b { color: var(--cream); font-weight: 600; }
.mx-who button { background: none; border: 0; padding: 0; color: var(--gold); font: inherit; font-size: .84rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.mx-h2 { font-family: 'Cormorant Garamond', serif; font-weight: 500; color: var(--cream); font-size: 1.9rem; line-height: 1.15; text-align: center; margin: 0 0 .35rem; text-wrap: balance; }
.mx-h2 em { color: var(--gold); font-style: italic; }
.mx-lead { text-align: center; color: var(--text-soft); font-size: .92rem; margin: 0 auto 1.2rem; max-width: 560px; line-height: 1.55; }

/* Плитки главных точек */
.mx-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
@media (max-width: 640px) { .mx-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; } }
.mx-tile { position: relative; border: 1px solid rgba(212,165,74,.2); border-radius: 14px; padding: .85rem .85rem .8rem; background: rgba(17,11,36,.6); text-align: left; min-width: 0; display: flex; flex-direction: column; gap: .3rem; font: inherit; color: inherit; }
.mx-tile--open { border-color: rgba(212,165,74,.38); }
.mx-tile--lock { cursor: pointer; transition: border-color .2s, transform .2s; }
.mx-tile--lock:hover, .mx-tile--lock:focus-visible { border-color: rgba(212,165,74,.6); transform: translateY(-1px); outline: none; }
.mx-tile--first { box-shadow: 0 0 0 1px rgba(212,165,74,.55), 0 10px 30px rgba(212,165,74,.08); }
.mx-tile__k { font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); }
.mx-tile__n { font-family: 'Cormorant Garamond', serif; font-size: 2.1rem; line-height: 1; color: var(--gold); font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; }
.mx-tile__n small { font-size: 1.05rem; color: var(--gold-light); opacity: .85; }
.mx-tile__nm { font-size: .82rem; color: var(--cream); font-weight: 600; }
.mx-tile__t { font-size: .8rem; line-height: 1.42; color: var(--text-soft); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mx-tile__lk { margin-top: auto; padding-top: .25rem; font-size: .76rem; color: var(--gold); display: inline-flex; align-items: center; gap: .3rem; }
.mx-tile__lk svg { flex: 0 0 auto; }

/* Возраст */
.mx-age { margin: 1rem 0 0; padding: .9rem 1rem; border: 1px solid rgba(212,165,74,.2); border-radius: 14px; background: rgba(17,11,36,.5); }
.mx-age__row { display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; flex-wrap: wrap; }
.mx-age__t { font-size: .92rem; color: var(--cream); line-height: 1.45; }
.mx-age__t b { color: var(--gold); font-weight: 600; }
.mx-age__note { font-size: .78rem; color: var(--text-muted); }
.mx-scale { position: relative; height: 6px; border-radius: 999px; margin: .8rem 0 .35rem; background: linear-gradient(90deg, rgba(212,165,74,.15), rgba(107,63,160,.25)); }
.mx-scale__seg { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: var(--gold); opacity: .55; }
.mx-scale__dot { position: absolute; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 0 4px rgba(212,165,74,.2); }
.mx-scale__ticks { display: flex; justify-content: space-between; font-size: .66rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }

/* Раскрывашки: схема целиком, как посчитано */
.mx-folds { display: grid; gap: .55rem; margin: 1rem 0 0; }
.mx-fold { border: 1px solid rgba(212,165,74,.16); border-radius: 12px; background: rgba(13,8,32,.55); }
.mx-fold > summary { list-style: none; cursor: pointer; padding: .8rem 1rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; font-size: .9rem; color: var(--cream); }
.mx-fold > summary::-webkit-details-marker { display: none; }
.mx-fold > summary::after { content: '▾'; color: var(--gold); transition: transform .2s; }
.mx-fold[open] > summary::after { transform: rotate(180deg); }
.mx-fold > summary > span { display: block; min-width: 0; }
.mx-fold > summary small { display: block; color: var(--text-muted); font-size: .76rem; margin-top: .1rem; }
.mx-fold__body { padding: 0 1rem 1rem; }
.mx-how { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.mx-how li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .2rem .8rem; align-items: baseline; font-size: .86rem; padding-bottom: .5rem; border-bottom: 1px dashed rgba(212,165,74,.14); }
.mx-how li:last-child { border-bottom: 0; }
.mx-how__t { color: var(--cream); }
.mx-how__f { grid-column: 1 / 2; color: var(--text-soft); font-variant-numeric: tabular-nums; font-size: .82rem; }
.mx-how__n { grid-row: 1 / 3; grid-column: 2; font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; color: var(--gold); }
.mx-how__note { margin: .7rem 0 0; font-size: .8rem; color: var(--text-muted); line-height: 1.5; }
.mx-scheme { max-width: 560px; margin: 0 auto; }
.mx-purp { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; margin: .9rem 0 0; }
.mx-purp div { border: 1px solid rgba(212,165,74,.15); border-radius: 10px; padding: .6rem .7rem; font-size: .78rem; color: var(--text-soft); line-height: 1.4; }
.mx-purp b { display: block; font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; color: var(--gold); font-weight: 500; }
@media (max-width: 640px) { .mx-purp { grid-template-columns: 1fr; } }

/* Портрет */
#mxFree { margin: 1.4rem 0 0; }
#mxFree.result-block { display: block; opacity: 1; }
.mx-loader { padding: 1.4rem 1.1rem; border: 1px solid rgba(212,165,74,.2); border-radius: 14px; background: rgba(17,11,36,.55); text-align: center; }
.mx-loader__ring { width: 38px; height: 38px; margin: 0 auto .8rem; border: 2px solid rgba(212,165,74,.18); border-top-color: var(--gold); border-radius: 50%; animation: mxSpin 1s linear infinite; }
.mx-loader__msg { color: var(--cream); font-size: .95rem; min-height: 1.4em; }
.mx-loader__bar { height: 4px; margin: .8rem auto .5rem; max-width: 280px; border-radius: 99px; background: rgba(212,165,74,.12); overflow: hidden; }
.mx-loader__bar span { display: block; height: 100%; width: 3%; background: var(--gold); transition: width .4s; }
.mx-loader__hint { font-size: .78rem; color: var(--text-muted); }
@keyframes mxSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .mx-loader__ring { animation: none; } }
.mx-caret { display: inline-block; width: 2px; height: 1em; background: var(--gold); vertical-align: -2px; margin-left: 2px; animation: mxBlink 1s steps(1) infinite; }
@keyframes mxBlink { 50% { opacity: 0; } }

/* Мост */
.mx-bridge { margin: 1.2rem 0 0; padding: 1.1rem 1.1rem 1rem; border-radius: 14px; border: 1px solid rgba(212,165,74,.35); background: linear-gradient(170deg, rgba(212,165,74,.08), rgba(17,11,36,.65)); }
.mx-bridge h3 { margin: 0 0 .7rem; font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 500; color: var(--cream); }
.mx-bridge ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .55rem; }
.mx-bridge li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem; align-items: start; font-size: .88rem; line-height: 1.45; color: var(--text-soft); }
.mx-bridge li b { display: block; color: var(--cream); font-weight: 600; }
.mx-bridge__n { min-width: 4.4rem; padding: .15rem .45rem; border-radius: 8px; background: rgba(212,165,74,.12); color: var(--gold); font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; text-align: center; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mx-bridge__go { margin: .9rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; }
.mx-link { background: none; border: 0; padding: 0; color: var(--gold); font: inherit; font-size: .86rem; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.mx-link--muted { color: var(--text-soft); }

/* Карта разделов с замками */
.mx-sph { margin: 1.8rem 0 0; }
.mx-sph__bar { display: flex; align-items: center; gap: .7rem; margin: 0 0 .9rem; font-size: .78rem; color: var(--text-muted); }
.mx-sph__track { flex: 1; height: 4px; border-radius: 99px; background: rgba(212,165,74,.12); overflow: hidden; }
.mx-sph__track span { display: block; height: 100%; background: var(--gold); }
.mx-sph__list { display: grid; gap: .5rem; margin: 1rem 0 0; }
.mx-card { border: 1px solid rgba(212,165,74,.16); border-radius: 12px; background: rgba(17,11,36,.55); overflow: hidden; }
.mx-card--open { border-color: rgba(212,165,74,.4); }
.mx-card__h { width: 100%; display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .7rem; align-items: center; padding: .75rem .9rem; background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.mx-card__ic { width: 2rem; height: 2rem; border-radius: 50%; display: grid; place-items: center; background: rgba(212,165,74,.1); color: var(--gold); font-size: .95rem; }
.mx-card__name { font-size: .93rem; color: var(--cream); font-weight: 600; line-height: 1.3; }
.mx-card__nums { display: block; margin-top: .12rem; font-size: .76rem; color: var(--gold); font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.mx-card__st { font-size: .72rem; color: var(--text-muted); display: inline-flex; align-items: center; gap: .3rem; white-space: nowrap; }
.mx-card__st--open { color: #78c9ad; }
.mx-card__b { display: none; padding: 0 .9rem .95rem 3.6rem; }
.mx-card.is-x .mx-card__b { display: block; }
.mx-card__teaser { font-size: .88rem; color: var(--text-soft); line-height: 1.5; margin: 0 0 .6rem; }
.mx-card__blur { position: relative; font-size: .86rem; line-height: 1.55; color: var(--text-light); filter: blur(4.5px); user-select: none; pointer-events: none; max-height: 5.4em; overflow: hidden; }
.mx-card__cap { font-size: .74rem; color: var(--text-muted); margin: .45rem 0 .7rem; }
.mx-card__buy { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .62rem 1.1rem; border-radius: 10px; border: 0; cursor: pointer; font: inherit; font-size: .86rem; font-weight: 600; background: linear-gradient(135deg, var(--gold), var(--gold-light)); color: #080510; -webkit-text-fill-color: #080510; }
@media (max-width: 640px) { .mx-card__b { padding-left: .9rem; } }

/* Блок цены — как на /расчет/ */
.mx-price { margin: 1.4rem 0 0; padding: 1.4rem 1.2rem 1.2rem; border-radius: 16px; border: 1px solid rgba(212,165,74,.45); background: radial-gradient(120% 100% at 50% 0%, rgba(212,165,74,.13), rgba(17,11,36,.75) 60%); text-align: center; }
.mx-price__t { font-family: 'Cormorant Garamond', serif; font-size: 1.45rem; color: var(--cream); margin: 0 0 .2rem; }
.mx-price__s { font-size: .86rem; color: var(--text-soft); margin: 0 auto .8rem; max-width: 520px; line-height: 1.5; }
.mx-price__row { display: flex; align-items: baseline; justify-content: center; gap: .55rem; }
.mx-price__old { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; color: rgba(255,255,255,.35); text-decoration: line-through; text-decoration-color: rgba(255,255,255,.3); }
.mx-price__num { font-family: 'Cormorant Garamond', serif; font-size: 2.7rem; color: var(--gold); line-height: 1; }
.mx-price__cur { font-size: 1rem; color: var(--text-muted); }
.mx-price .discount-timer { display: inline-block; margin: .7rem 0 0; padding: .35rem .9rem; background: rgba(212,165,74,.12); border: 1px solid rgba(212,165,74,.35); border-radius: 8px; color: var(--gold); font-size: .82rem; font-weight: 500; }
.mx-price .discount-timer span { font-variant-numeric: tabular-nums; font-weight: 700; }
.mx-price .discount-timer.timer-expired { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); color: rgba(255,255,255,.35); }
.mx-price .btn-upgrade { display: block; width: 100%; max-width: 420px; margin: 1rem auto 0; color: #080510 !important; -webkit-text-fill-color: #080510 !important; }
.mx-price__safe { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1rem; margin: .85rem 0 0; padding: 0; list-style: none; font-size: .78rem; color: var(--text-soft); }
.mx-price__safe li::before { content: '✓ '; color: #78c9ad; }
.mx-price__more { margin: .7rem 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1rem; }

/* Закреплённая кнопка на телефоне */
.mx-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom, 0px)); background: #110B24; border-top: 1px solid rgba(212,165,74,.25); display: none; align-items: center; gap: .8rem; transform: translateY(110%); transition: transform .25s; }
.mx-sticky.is-on { transform: none; }
.mx-sticky__p { flex: 0 0 auto; line-height: 1.1; }
.mx-sticky__p s { display: block; font-size: .74rem; color: rgba(255,255,255,.35); }
.mx-sticky__p b { font-family: 'Cormorant Garamond', serif; font-size: 1.45rem; color: var(--gold); font-weight: 500; }
.mx-sticky button { flex: 1; padding: .8rem .6rem; border: 0; border-radius: 10px; font: inherit; font-weight: 700; font-size: .86rem; letter-spacing: .02em; background: linear-gradient(135deg, var(--gold), var(--gold-light)); color: #080510; -webkit-text-fill-color: #080510; cursor: pointer; }
@media (max-width: 640px) { .mx-sticky { display: flex; } body.mx-has-sticky { padding-bottom: 78px; } }
body:has(#lvcModal.visible) .mx-sticky, body.mx-modal-open .mx-sticky { transform: translateY(110%); }

/* Свёрнутое внизу */
.mx-more { margin: 2rem 0 0; display: grid; gap: .55rem; }
.mx-ref h4 { margin: .9rem 0 .4rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); font-weight: 600; }
.mx-ref details { border-top: 1px solid rgba(212,165,74,.1); }
.mx-ref summary { cursor: pointer; padding: .6rem 0; display: flex; justify-content: space-between; gap: .6rem; font-size: .88rem; color: var(--cream); }
.mx-ref summary span:last-child { color: var(--gold); white-space: nowrap; }
.mx-ref p { font-size: .86rem; color: var(--text-soft); line-height: 1.55; margin: 0 0 .7rem; }
.mx-cross { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.mx-cross a { display: block; padding: .7rem .8rem; border: 1px solid rgba(212,165,74,.14); border-radius: 10px; text-decoration: none; }
.mx-cross b { display: block; color: var(--cream); font-size: .86rem; }
.mx-cross span { font-size: .76rem; color: var(--text-muted); }

/* Окна: образец, лимит */
.mx-modal { position: fixed; inset: 0; z-index: 9400; display: flex; align-items: flex-start; justify-content: center; padding: 2rem 1rem; background: rgba(8,5,16,.86); overflow-y: auto; opacity: 0; pointer-events: none; transition: opacity .25s; }
.mx-modal.visible { opacity: 1; pointer-events: all; }
.mx-modal .modal-box { text-align: left; max-width: 640px; width: 100%; }
.mx-sample h3 { font-family: 'Cormorant Garamond', serif; color: var(--gold); font-size: 1.3rem; font-weight: 500; margin: 1.2rem 0 .4rem; }
.mx-sample p { font-size: .92rem; line-height: 1.65; color: var(--text-light); margin: 0 0 .8rem; }
.mx-sample__note { font-size: .8rem; color: var(--text-muted); margin: 0 0 .6rem; }
@media (max-width: 600px) { .mx-modal { padding: 1rem 10px; } .mx-modal .modal-box { padding-left: 18px; padding-right: 18px; } }
body.mx-modal-open { overflow: hidden; }

/* ── Купленный разбор ── */
.mx-paid__head { text-align: center; margin: 0 0 1rem; }
.mx-paid__acts { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin: .4rem 0 1rem; }
.mx-actbtn { padding: .55rem .95rem; border-radius: 10px; border: 1px solid rgba(212,165,74,.35); background: rgba(212,165,74,.06); color: var(--cream); font: inherit; font-size: .84rem; cursor: pointer; }
.mx-prog { margin: 0 0 1rem; }
.mx-prog__row { display: flex; justify-content: space-between; font-size: .8rem; color: var(--text-soft); margin-bottom: .35rem; }
.mx-prog__bar { height: 4px; border-radius: 99px; background: rgba(212,165,74,.12); overflow: hidden; }
.mx-prog__bar span { display: block; height: 100%; background: var(--gold); transition: width .5s; }
.mx-toc { display: flex; gap: .4rem; overflow-x: auto; padding: 0 0 .6rem; margin: 0 0 .6rem; scrollbar-width: thin; }
.mx-toc button { flex: 0 0 auto; padding: .38rem .7rem; border-radius: 999px; border: 1px solid rgba(212,165,74,.2); background: none; color: var(--text-soft); font: inherit; font-size: .76rem; cursor: pointer; white-space: nowrap; }
.mx-toc button.is-on { border-color: var(--gold); color: var(--gold); }
.mx-toc button.is-wait { opacity: .55; }
.mx-slide { border: 1px solid rgba(212,165,74,.25); border-radius: 16px; padding: 1.3rem 1.2rem; background: rgba(17,11,36,.6); }
.mx-slide__ix { font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-muted); }
.mx-slide__t { font-family: 'Cormorant Garamond', serif; font-size: 1.7rem; color: var(--gold); font-weight: 500; margin: .2rem 0 .9rem; line-height: 1.15; }
.mx-slide__body p { font-size: 1rem; line-height: 1.72; color: var(--text-light); margin: 0 0 1em; }
.mx-slide__body strong { color: var(--cream); }
.mx-slide__wait { color: var(--text-soft); font-size: .9rem; }
.mx-skel { display: grid; gap: .55rem; margin: 0 0 .9rem; }
.mx-skel i { display: block; height: .8rem; border-radius: 6px; background: linear-gradient(90deg, rgba(212,165,74,.06), rgba(212,165,74,.16), rgba(212,165,74,.06)); background-size: 200% 100%; animation: mxShine 1.6s linear infinite; }
@keyframes mxShine { to { background-position: -200% 0; } }
.mx-nav { display: flex; justify-content: space-between; gap: .6rem; margin: 1rem 0 0; }
.mx-nav button { flex: 1; padding: .8rem; border-radius: 10px; border: 1px solid rgba(212,165,74,.3); background: none; color: var(--cream); font: inherit; font-size: .9rem; cursor: pointer; }
.mx-nav button:disabled { opacity: .35; cursor: default; }
.mx-nav .mx-nav__next { background: linear-gradient(135deg, var(--gold), var(--gold-light)); color: #080510; -webkit-text-fill-color: #080510; border: 0; font-weight: 700; }
.mx-after { margin: 1.4rem 0 0; padding: 1.2rem 1.1rem; border-radius: 14px; border: 1px solid rgba(212,165,74,.3); background: rgba(17,11,36,.55); text-align: center; }
.mx-after h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 500; color: var(--cream); margin: 0 0 .35rem; }
.mx-after p { font-size: .88rem; color: var(--text-soft); margin: 0 0 .8rem; line-height: 1.5; }
.mx-rate { display: flex; justify-content: center; gap: .4rem; margin: .4rem 0 0; }
.mx-rate button { width: 2.6rem; height: 2.6rem; border-radius: 50%; border: 1px solid rgba(212,165,74,.3); background: none; color: var(--cream); font: inherit; cursor: pointer; }
.mx-rate button.is-on { background: var(--gold); color: #080510; -webkit-text-fill-color: #080510; }

@media print {
  nav, .site-footer, .mx-paid__acts, .mx-toc, .mx-nav, .mx-after, .mx-sticky, #mxTop, #mxResult, .seo-extra, .page-bg, #bgCanvas { display: none !important; }
  .mx-slide { border: 0; background: none; }
  .mx-slide__body p, .mx-slide__t { color: #000 !important; }
}

/* Ссылки на калькуляторы пары и года (первый экран) */
.mx-tools-links { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin: 1rem 0 0; }
.mx-tools-links a { display: block; padding: .8rem .9rem; border: 1px solid rgba(212,165,74,.22); border-radius: 12px; text-decoration: none; background: rgba(17,11,36,.45); }
.mx-tools-links b { display: block; color: var(--gold); font-weight: 600; font-size: .9rem; }
.mx-tools-links span { font-size: .78rem; color: var(--text-muted); }
a.mx-card__buy { text-decoration: none; }
@media (max-width: 480px) { .mx-tools-links { grid-template-columns: 1fr; } }

/* ══ v3 (01.10.2026): диаграмма — главный элемент результата, выписка вместо плашек ══ */
.mx-main { max-width: 980px; }
.mxh { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.4rem; margin: 0 0 1.2rem; }
@media (min-width: 900px) { .mxh { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 2.2rem; align-items: start; } }
.mxh__frame { position: relative; border-radius: 22px; padding: clamp(.4rem, 2vw, 1rem); background: radial-gradient(60% 55% at 50% 50%, rgba(212,165,74,.16), rgba(13,8,32,0) 70%), linear-gradient(180deg, rgba(23,15,48,.85), rgba(10,6,22,.9)); box-shadow: inset 0 0 0 1px rgba(212,165,74,.22), 0 30px 80px -30px rgba(0,0,0,.8); }
.mxh__frame::before, .mxh__frame::after { content: ''; position: absolute; width: 22px; height: 22px; border: 1px solid rgba(212,165,74,.55); pointer-events: none; }
.mxh__frame::before { top: 10px; left: 10px; border-right: 0; border-bottom: 0; border-radius: 6px 0 0 0; }
.mxh__frame::after { bottom: 10px; right: 10px; border-left: 0; border-top: 0; border-radius: 0 0 6px 0; }
.mxh__frame .mx-scheme { max-width: 100%; margin: 0 auto; }
.mxh__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem .9rem; margin: .7rem 0 0; font-size: .74rem; color: var(--text-muted); }
.mxh__side { min-width: 0; }
.mxh__eye { margin: 0 0 .2rem; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.mxh__title { margin: 0 0 .7rem; font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: clamp(1.9rem, 5vw, 2.4rem); line-height: 1.08; color: var(--cream); text-wrap: balance; }
.mxh__title em { color: var(--gold); font-style: italic; }
.mxh__status { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1.1rem; padding: .45rem .8rem; border-radius: 999px; border: 1px solid rgba(212,165,74,.28); background: rgba(212,165,74,.06); color: var(--text-soft); font: inherit; font-size: .82rem; cursor: pointer; }
.mxh__status.is-ready { color: var(--cream); border-color: rgba(120,201,173,.45); background: rgba(120,201,173,.08); }
.mxh__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 0 rgba(212,165,74,.6); animation: mxPulse 1.6s infinite; }
.mxh__status.is-ready .mxh__dot { background: #78c9ad; animation: none; }
@keyframes mxPulse { 70% { box-shadow: 0 0 0 8px rgba(212,165,74,0); } 100% { box-shadow: 0 0 0 0 rgba(212,165,74,0); } }
@media (prefers-reduced-motion: reduce) { .mxh__dot { animation: none; } }
.mxh__keys { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(212,165,74,.16); }
.mxh__key { display: grid; grid-template-columns: 3.1rem minmax(0, 1fr); gap: .9rem; align-items: center; padding: .85rem 0; border-bottom: 1px solid rgba(212,165,74,.12); }
.mxh__med { width: 3.1rem; height: 3.1rem; border-radius: 50%; display: grid; place-items: center; font-family: 'Cormorant Garamond', serif; font-size: 1.55rem; font-weight: 600; color: #1a1206; background: radial-gradient(circle at 35% 30%, #F6DE9A, #D4A54A 55%, #9C7428); box-shadow: 0 6px 18px -6px rgba(212,165,74,.6); font-variant-numeric: lining-nums; }
.mxh__kt { display: grid; gap: .15rem; min-width: 0; }
.mxh__kl { font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
.mxh__kl b { color: var(--cream); letter-spacing: 0; text-transform: none; font-size: .95rem; font-weight: 600; }
.mxh__kd { font-size: .9rem; line-height: 1.45; color: var(--text-soft); }
.mxh__lockhd { margin: 1.1rem 0 .55rem; font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); }
.mxh__chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.mxh__chip { display: grid; justify-items: center; gap: .1rem; padding: .7rem .4rem .65rem; border-radius: 14px; border: 1px solid rgba(212,165,74,.3); background: linear-gradient(180deg, rgba(212,165,74,.08), rgba(17,11,36,.4)); color: inherit; font: inherit; cursor: pointer; transition: border-color .2s, transform .2s; min-width: 0; }
.mxh__chip:hover, .mxh__chip:focus-visible { border-color: rgba(212,165,74,.7); transform: translateY(-1px); outline: none; }
.mxh__cg { font-size: 1rem; color: var(--gold); line-height: 1; }
.mxh__cl { font-size: .74rem; color: var(--text-muted); }
.mxh__cn { font-family: 'Cormorant Garamond', serif; font-size: 1.2rem; color: var(--cream); white-space: nowrap; }
.mxh__age { margin: 1.1rem 0 0; }
.mxh__at { font-size: .86rem; color: var(--text-soft); }
.mxh__at b { color: var(--gold); }
.mx-who { margin-bottom: .8rem; }
.mx-ck { overflow-x: auto; margin: .9rem 0 0; }
.mx-ck table { width: 100%; border-collapse: collapse; font-size: .82rem; font-variant-numeric: tabular-nums; }
.mx-ck th, .mx-ck td { padding: .45rem .5rem; border-bottom: 1px solid rgba(212,165,74,.1); text-align: left; color: var(--text-soft); }
.mx-ck th { color: var(--text-muted); font-weight: 500; font-size: .74rem; }
.mx-ck td small { display: block; color: var(--text-muted); font-size: .72rem; }
.mx-ck td:not(:first-child) { color: var(--cream); text-align: center; }

/* Разделы разбора — единый список с разделителями вместо отдельных рамок */
.mx-sph__list { gap: 0; border: 1px solid rgba(212,165,74,.22); border-radius: 16px; overflow: hidden; background: rgba(17,11,36,.5); }
.mx-card { border: 0; border-radius: 0; background: none; border-top: 1px solid rgba(212,165,74,.1); }
.mx-card:first-child { border-top: 0; }
.mx-card--open { background: rgba(120,201,173,.04); }
.mx-card.is-x { background: rgba(212,165,74,.05); }
.mx-card__h { padding: .8rem 1rem; }
.mx-card__ic { background: none; border: 1px solid rgba(212,165,74,.3); width: 1.9rem; height: 1.9rem; font-size: .85rem; }
.mx-card__name { font-size: .92rem; }
.mx-card__nums { font-size: .74rem; }
.mx-card__st { font-size: 0; gap: 0; color: var(--gold); }
.mx-card__st svg { width: 15px; height: 15px; }
.mx-card__st--open { font-size: .72rem; }
.mx-card__h::after { content: '▾'; color: var(--text-muted); font-size: .8rem; margin-left: .2rem; transition: transform .2s; }
.mx-card.is-x .mx-card__h::after { transform: rotate(180deg); }
.mx-card--open .mx-card__h::after { content: ''; }
.mx-card__h { grid-template-columns: 1.9rem minmax(0, 1fr) auto auto; }
.mx-sph .mx-h2 { font-size: 1.7rem; }

/* ══ Читаемость цифр (01.10.2026): каждая цифра схемы и карточек видна на телефоне и ПК ══ */
/* Cormorant по умолчанию рисует «старые» цифры (10 → «IO») — везде включаем ровные. */
.mx-main, .mx-sticky, #lvcModal { font-variant-numeric: lining-nums; }
.mxh__med, .mxh__cn, .mx-price__num, .mx-price__old, .mx-sticky__p b, .mx-sticky__p s, .mx-bridge__n,
.mx-how__n, .mx-purp b, .mx-tile__n, .mx-slide__t, .mx-h2, .mxh__title { font-feature-settings: "lnum" 1, "pnum" 1; font-variant-numeric: lining-nums; }
.mxh__cn { font-family: 'Nunito Sans', sans-serif; font-size: 1.08rem; font-weight: 600; letter-spacing: .01em; }
.mx-bridge__n { font-family: 'Nunito Sans', sans-serif; font-size: .95rem; font-weight: 600; }
.mxh__zoom { display: flex; align-items: center; justify-content: center; gap: .45rem; width: 100%; margin: .7rem 0 0; padding: .6rem .8rem; border-radius: 12px; border: 1px solid rgba(212,165,74,.35); background: rgba(212,165,74,.07); color: var(--gold); font: inherit; font-size: .86rem; cursor: pointer; }
.mxh__zoom:hover { background: rgba(212,165,74,.12); }
.mx-modal--zoom .modal-box { max-width: 980px; padding-left: 12px; padding-right: 12px; }
.mx-zoomwrap { overflow: auto; -webkit-overflow-scrolling: touch; max-height: 78vh; border-radius: 14px; background: rgba(10,6,22,.9); box-shadow: inset 0 0 0 1px rgba(212,165,74,.2); touch-action: pan-x pan-y pinch-zoom; }
.mx-zoombox { width: 860px; max-width: none; margin: 0 auto; padding: 10px; }
@media (min-width: 900px) { .mx-zoombox { width: 860px; } .mxh__chart { position: sticky; top: 84px; } }
@media (max-width: 640px) {
  .mxh__frame { margin: 0 -14px; border-radius: 0; padding: .2rem 0; box-shadow: inset 0 1px 0 rgba(212,165,74,.2), inset 0 -1px 0 rgba(212,165,74,.2); }
  .mxh__frame::before, .mxh__frame::after { display: none; }
  /* Возраста по годам на внешнем круге в маленькой схеме не читаются — они в «схеме крупно». */
  .mxh__frame .dm-chart .dm-ring-val, .mxh__frame .dm-chart .dm-age { display: none; }
  .mxh__frame .dm-chart .dm-vertex { font-size: 26px; }
  .mxh__chips { gap: .4rem; }
  .mxh__cn { font-size: 1rem; }
}
@media (max-width: 640px) { .mx-zoombox { width: 700px; padding: 6px; } .mxh__zoom { white-space: nowrap; font-size: .84rem; } }
/* Дробные возраста (21,25 …) в схеме на странице мельче 8 px даже на ПК — их показывает «схема крупно». */
.mxh__frame .dm-chart .dm-age:not(.dm-age--mid) { display: none; }

/* ══ v5 (01.10.2026): цвет несёт смысл — как в таблице натальной карты /расчет/ (css/chart-table.css) ══
   Темы одним цветом по всей странице: вы сами — золото, деньги — зелёный ($ на схеме), любовь — розовый (♥),
   хвост — сиреневый, род — янтарный. Основной текст светлее, серый — только подсказки. */
.mx-main { --mx-text: #DCD2C2; --mx-soft: #A99C8B; --mx-money: #6CC79A; --mx-love: #E58FAE; --mx-tail: #B693E8; --mx-roots: #E8A040; --mx-gold: #E8C46A; }
.mxh__kd, .mx-bridge li, .mx-card__teaser, .mx-price__s, .mx-ref p, .mx-purp div { color: var(--mx-text); }
.mxh__kl { color: var(--gold); letter-spacing: .08em; }
.mx-how__note, .mxh__legend, .mx-limits, .mx-card__cap { color: var(--mx-soft); }

/* Темы */
.mx-t-money { --t: var(--mx-money); } .mx-t-love { --t: var(--mx-love); } .mx-t-repeat { --t: var(--mx-tail); } .mx-t-roots { --t: var(--mx-roots); }
.mxh__chip[class*="mx-t-"] { border-color: color-mix(in srgb, var(--t) 45%, transparent); background: linear-gradient(180deg, color-mix(in srgb, var(--t) 14%, transparent), rgba(17,11,36,.35)); }
.mxh__chip[class*="mx-t-"] .mxh__cg { color: var(--t); }
.mxh__chip[class*="mx-t-"] .mxh__cl { color: color-mix(in srgb, var(--t) 70%, #fff); }
.mx-bridge li[class*="mx-t-"] b { color: var(--t); }
.mx-bridge li[class*="mx-t-"] .mx-bridge__n { color: var(--t); background: color-mix(in srgb, var(--t) 14%, transparent); }
.mx-card[data-k="money"] .mx-card__ic, .mx-card[data-k="money"] .mx-card__nums { color: var(--mx-money); border-color: color-mix(in srgb, var(--mx-money) 45%, transparent); }
.mx-card[data-k="love"] .mx-card__ic, .mx-card[data-k="love"] .mx-card__nums, .mx-card[data-k="relations"] .mx-card__nums { color: var(--mx-love); border-color: color-mix(in srgb, var(--mx-love) 45%, transparent); }
.mx-card[data-k="repeat"] .mx-card__ic, .mx-card[data-k="repeat"] .mx-card__nums, .mx-card[data-k="karma"] .mx-card__nums { color: var(--mx-tail); border-color: color-mix(in srgb, var(--mx-tail) 45%, transparent); }
.mx-card[data-k="roots"] .mx-card__ic, .mx-card[data-k="roots"] .mx-card__nums { color: var(--mx-roots); border-color: color-mix(in srgb, var(--mx-roots) 45%, transparent); }

/* Предназначения: число — золото, ярлык — маленький, название — светлое */
.mx-purp div { display: grid; gap: .15rem; background: rgba(212,165,74,.04); border-color: rgba(212,165,74,.2); }
.mx-purp b { font-family: 'Cormorant Garamond', serif; font-size: 1.7rem; line-height: 1; color: var(--mx-gold); }
.mx-purp__k { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.mx-purp__k small { text-transform: none; letter-spacing: 0; color: var(--mx-soft); font-size: .74rem; }
.mx-purp__n { font-size: .95rem; color: #F0E8D8; font-weight: 600; }

/* Таблица чакр: цветная метка, колонки своими цветами, строки чередуются */
.mx-ck table { border-collapse: separate; border-spacing: 0; }
.mx-ck tbody tr:nth-child(odd) { background: rgba(30,16,64,.22); }
.mx-ck tbody tr:nth-child(even) { background: rgba(8,5,16,.25); }
.mx-ck th { padding: .55rem .5rem; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--mx-soft); border-bottom: 1px solid rgba(212,165,74,.25); }
.mx-ck th.mx-ck__p { color: #F0D78C; } .mx-ck th.mx-ck__e { color: #E8A040; } .mx-ck th.mx-ck__m { color: #C9A6F0; }
.mx-ck td { padding: .65rem .5rem; border-bottom: 1px solid rgba(212,165,74,.08); }
.mx-ck__n { display: flex; align-items: center; gap: .5rem; color: #F0E8D8; font-weight: 600; font-size: .9rem; }
.mx-ck td small { margin: .15rem 0 0 1.15rem; color: var(--mx-soft); font-size: .74rem; line-height: 1.35; }
.mx-ck td:nth-child(2) { color: #F0D78C; font-weight: 600; font-size: .98rem; }
.mx-ck td:nth-child(3) { color: #E8A040; font-weight: 600; font-size: .98rem; }
.mx-ck td:nth-child(4) { color: #C9A6F0; font-weight: 600; font-size: .98rem; }
.mx-ck__dot { width: .65rem; height: .65rem; border-radius: 50%; flex: 0 0 auto; background: var(--d, #888); box-shadow: 0 0 10px -1px var(--d, transparent); }
.ck-sahasrara { --d: #A98BEA; } .ck-ajna { --d: #7F8CE6; } .ck-vishuddha { --d: #70B8D0; } .ck-anahata { --d: #90C080; }
.ck-manipura { --d: #E8C46A; } .ck-svadhisthana { --d: #E8A040; } .ck-muladhara { --d: #D9715F; }
.mx-ck tr.mx-ck__tot { background: rgba(212,165,74,.1) !important; }
.mx-ck tr.mx-ck__tot td { border-bottom: 0; border-top: 1px solid rgba(212,165,74,.35); }
.mx-ck tr.mx-ck__tot .mx-ck__n { color: var(--gold); margin-left: 1.15rem; }

/* Как посчитано: числа подсвечены, знаки приглушены, результат — крупное золото */
.mx-how li { padding: .55rem 0 .6rem; }
.mx-how__t { color: #F0E8D8; font-weight: 600; font-size: .88rem; }
.mx-how__f { color: var(--mx-soft); font-size: .86rem; }
.mx-how__f i { font-style: normal; color: #F0D78C; font-weight: 600; }
.mx-how__f u { text-decoration: none; color: var(--mx-soft); padding: 0 .1rem; }
.mx-how__n { color: var(--mx-gold); font-size: 1.7rem; }

/* Портрет: основной текст светлее, жирное — золотом */
#mxFree .result-text { color: var(--mx-text); }
#mxFree .result-text strong { color: #F0D78C; font-weight: 600; }
.mx-slide__body p { color: var(--mx-text); }
.mx-slide__body strong { color: #F0D78C; }
/* Раскрытые блоки не шире колонки: элемент сетки по умолчанию растягивался по ширине таблицы (410 px при экране 390) */
.mx-folds > *, .mx-fold, .mx-fold__body { min-width: 0; max-width: 100%; }
.mx-ck { max-width: 100%; }
.mx-ck table { table-layout: fixed; width: 100%; }
.mx-ck th:first-child, .mx-ck td:first-child { width: auto; }
.mx-ck th:not(:first-child), .mx-ck td:not(:first-child) { width: 3.6rem; text-align: center; padding-left: .2rem; padding-right: .2rem; }
.mx-ck td:first-child { overflow-wrap: anywhere; }
@media (max-width: 420px) {
  .mx-fold__body { padding: 0 .75rem .9rem; }
  .mx-ck th { font-size: .6rem; letter-spacing: .02em; }
  .mx-ck th:not(:first-child), .mx-ck td:not(:first-child) { width: 3.1rem; }
  .mx-ck__n { font-size: .86rem; }
  .mx-ck td small { margin-left: 1.15rem; font-size: .7rem; }
}
.mx-ck td:first-child { overflow-wrap: normal; word-break: normal; hyphens: auto; -webkit-hyphens: auto; }

/* ══ Дальше по матрице: продукты под слайдером купленного разбора ══ */
.mx-upsell { margin: 2.2rem 0 0; }
.mx-upsell .mx-h2 { font-size: 1.75rem; }
.mxu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0 0; }
@media (max-width: 820px) { .mxu { grid-template-columns: minmax(0, 1fr); } }
.mx-t-year { --t: #E8C46A; } .mx-t-gift { --t: #B693E8; }
.mxu__card { position: relative; display: flex; flex-direction: column; gap: .45rem; padding: 1.15rem 1.1rem 1.1rem; border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--t) 40%, transparent);
  background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--t) 16%, transparent), transparent 60%), linear-gradient(180deg, rgba(23,15,48,.85), rgba(12,7,26,.9)); min-width: 0; }
.mxu__eye { margin: 0; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--t); }
.mxu__t { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 1.45rem; line-height: 1.12; color: #F0E8D8; font-feature-settings: "lnum" 1; }
.mxu__nums { display: flex; flex-wrap: wrap; gap: .35rem .6rem; font-size: .84rem; color: #DCD2C2; }
.mxu__nums span { padding: .2rem .55rem; border-radius: 999px; background: color-mix(in srgb, var(--t) 13%, transparent); }
.mxu__nums b { color: var(--t); font-weight: 700; font-variant-numeric: lining-nums; }
.mxu__p { margin: 0; font-size: .9rem; line-height: 1.5; color: #DCD2C2; flex: 1; }
.mxu__btn { margin-top: .4rem; align-self: stretch; padding: .75rem 1rem; border-radius: 12px; border: 0; cursor: pointer; font: inherit; font-weight: 700; font-size: .9rem;
  background: linear-gradient(135deg, var(--t), color-mix(in srgb, var(--t) 65%, #fff)); color: #120c22; -webkit-text-fill-color: #120c22; }
.mxu__btn:hover { filter: brightness(1.06); }
.mxu__card.mx-t-love .mxu__btn { color: #2a0f1c; -webkit-text-fill-color: #2a0f1c; }

/* ══ Матрица пары и матрица на год (02.10.2026) ══ */
/* Пара: возраст по кругу у схемы пары смысла не имеет — прячем отметки лет. */
.mx-scheme--pair .dm-chart .dm-age, .mx-scheme--pair .dm-chart .dm-vertex { display: none !important; }
.mxh__common { margin: .9rem 0 0; padding: .65rem .8rem; border-radius: 12px; border: 1px solid rgba(212,165,74,.18); background: rgba(212,165,74,.05);
  font-size: .86rem; line-height: 1.55; color: var(--mx-text, #DCD2C2); }
.mxh__common span { display: block; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--mx-soft, #A99C8B); margin-bottom: .15rem; }
.mxh__common b { color: var(--mx-gold, #E8C46A); font-weight: 700; font-variant-numeric: lining-nums; }

/* Год: колесо двенадцати месяцев */
.mxh__frame--wheel { padding: clamp(.6rem, 2.4vw, 1.2rem); }
.mxw { display: block; width: 100%; max-width: 460px; height: auto; margin: 0 auto; overflow: visible; }
.mxw__seg path { fill: rgba(212,165,74,.06); stroke: rgba(212,165,74,.32); stroke-width: 1; }
.mxw__seg.is-q1 path { fill: rgba(212,165,74,.12); }
.mxw__seg.is-now path { fill: rgba(232,196,106,.26); stroke: #E8C46A; stroke-width: 1.6; }
.mxw text { text-anchor: middle; dominant-baseline: central; font-family: 'Nunito Sans', Arial, sans-serif; font-variant-numeric: lining-nums; }
.mxw__n { font-size: 25px; font-weight: 700; fill: #F0E8D8; }
.mxw__seg.is-now .mxw__n { fill: #FFE9AE; }
.mxw__m { font-size: 13px; fill: #C9BBA5; letter-spacing: .04em; }
.mxw__seg.is-now .mxw__m { fill: #E8C46A; font-weight: 700; }
.mxw__y { font-size: 12px; fill: #E8C46A; font-weight: 700; }
.mxw__core { fill: rgba(13,8,32,.85); stroke: rgba(212,165,74,.45); stroke-width: 1.2; }
.mxw__cy { font-size: 13px; fill: #A99C8B; letter-spacing: .08em; text-transform: uppercase; }
.mxw__cn { font-family: 'Cormorant Garamond', serif !important; font-size: 52px; font-weight: 600; fill: #E8C46A; font-feature-settings: "lnum" 1; }
.mxw__cl { font-size: 14px; fill: #DCD2C2; }

/* Пара: две личные матрицы в раскрывашке */
.mxp-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: .9rem 0 0; }
@media (max-width: 560px) { .mxp-people { grid-template-columns: minmax(0, 1fr); } }
.mxp-person { border: 1px solid rgba(212,165,74,.16); border-radius: 14px; padding: .75rem .85rem; min-width: 0; }
.mxp-person__h { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; margin-bottom: .45rem; }
.mxp-person__h b { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-weight: 600; color: #F0E8D8; }
.mxp-person__h span { font-size: .8rem; color: var(--mx-soft, #A99C8B); font-variant-numeric: lining-nums; }
.mxp-person ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.mxp-person li { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: .5rem; align-items: baseline; font-size: .86rem; color: var(--mx-text, #DCD2C2); }
.mxp-person li b { color: var(--mx-gold, #E8C46A); font-weight: 700; font-variant-numeric: lining-nums; white-space: nowrap; }

/* Год: двенадцать месяцев списком */
.mxy-months { list-style: none; margin: .8rem 0 0; padding: 0; display: grid; gap: .35rem; }
.mxy-months li { display: grid; grid-template-columns: 7.2rem 2.2rem minmax(0, 1fr); gap: .55rem; align-items: baseline; padding: .45rem .6rem;
  border-radius: 10px; border: 1px solid rgba(212,165,74,.1); font-size: .86rem; color: var(--mx-text, #DCD2C2); }
.mxy-months li.is-now { border-color: rgba(232,196,106,.5); background: rgba(232,196,106,.07); }
.mxy-m__l { color: var(--mx-soft, #A99C8B); }
.mxy-months b { font-family: 'Cormorant Garamond', serif; font-size: 1.35rem; font-weight: 600; color: var(--mx-gold, #E8C46A); font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; text-align: center; }
.mxy-m__t i { font-style: normal; font-weight: 700; color: #F0E8D8; margin-right: .35rem; }
@media (max-width: 480px) {
  .mxy-months li { grid-template-columns: 2.2rem minmax(0, 1fr); }
  .mxy-m__l { grid-column: 1 / -1; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
}

/* Пара: форма на двоих */
.mxp-form .mt-person + .mt-person { margin-top: .6rem; }
/* Товар продукта ещё не заведён в кассе: без закреплённой кнопки цены */
body.mx-no-sale .mx-sticky { display: none !important; }

/* Допродажа на последней карточке и в окне «что ещё есть в ваших числах» (02.10.2026) */
.mx-after--next h3 { margin-bottom: .6rem; }
.mxu-mini { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
@media (max-width: 520px) { .mxu-mini { grid-template-columns: minmax(0, 1fr); } }
.mxu-mini__b { display: flex; flex-direction: column; align-items: flex-start; gap: .25rem; text-align: left; cursor: pointer; font: inherit;
  padding: .85rem 1rem; border-radius: 14px; min-width: 0; color: #DCD2C2;
  border: 1px solid color-mix(in srgb, var(--t) 50%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--t) 16%, transparent), rgba(17,11,36,.55)); }
.mxu-mini__b b { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 600; color: var(--t); line-height: 1.15; }
.mxu-mini__b span { font-size: .85rem; line-height: 1.4; }
.mxu-mini__b::after { content: 'Открыть →'; margin-top: .3rem; font-size: .8rem; font-weight: 700; color: var(--t); }
.mxu-mini__b:hover { filter: brightness(1.08); }
.mxu-mini--pop { margin-top: 1rem; }
/* Окно лежит вне страницы матрицы, где заданы цвета тем, — у кнопок цвета свои */
.mxu-mini__b.mx-t-love { --t: #E58FAE; } .mxu-mini__b.mx-t-money { --t: #6CC79A; } .mxu-mini__b.mx-t-year { --t: #E8C46A; }

/* Формы матрицы, пары и года: поля тянутся на всю ширину формы, как кнопка (02.10.2026).
   Общие правила niche.css привязаны к data-niche="matrix" и новых страниц не касаются. */
.mx-page .form-inline-row > #grp-name, .mx-page .form-inline-row > #grp-name2 { flex: 1 1 auto; min-width: 0; }
.mx-page .form-inline-row > #grp-gender, .mx-page .form-inline-row > #grp-gender2 { flex: 0 0 104px; }
.mx-page .form-inline-row > #grp-date, .mx-page .form-inline-row > #grp-date2 { flex: 0 0 200px; }
@media (max-width: 768px) {
  .mx-page .form-inline-row > #grp-name, .mx-page .form-inline-row > #grp-name2 { flex: 1 1 50% !important; }
  .mx-page .form-inline-row > #grp-gender, .mx-page .form-inline-row > #grp-gender2 { flex: 1 1 40% !important; }
  .mx-page .form-inline-row > #grp-date, .mx-page .form-inline-row > #grp-date2 { flex: 1 1 100% !important; }
  /* «Пол» стоит в одной строке с «Имя»: подпись и кнопки — вровень с полем имени */
  .mx-page .form-inline-row > #grp-gender .form-label, .mx-page .form-inline-row > #grp-gender2 .form-label { margin-top: 0; }
  .mx-page .form-inline-row .nq-gender { height: 49px; }
}
#grp-gender2.has-error .nq-gender span { border-color: #e0806a; }
