/* РеДизайн 6.9 — вкладочные панели, зодиак, публикации */

/* ── Продуктовые вкладки: flex + горизонтальный скролл на любом экране ── */

.result-product-tabs[data-product-tabs] {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  grid-template-columns: unset !important;
  gap: 5px !important;
}

.result-product-tabs[data-product-tabs]::-webkit-scrollbar {
  display: none;
}

.result-product-tabs[data-product-tabs] > a {
  flex: 0 0 auto;
}

/* ── Зодиак: принудительный градиент (исправление невидимого текста) ── */

.zodiac-hero {
  background: linear-gradient(135deg, #4735c7, #684ee8 55%, #7b5af0) !important;
  color: #fff !important;
}

.zodiac-hero h1 {
  color: #fff !important;
}

.zodiac-hero p,
.zodiac-hero .eyebrow {
  color: rgba(255,255,255,.88) !important;
}

/* ── Плейсхолдер для публикаций и мерча без картинки ── */

.publication-media-placeholder {
  display: grid !important;
  place-items: center !important;
  aspect-ratio: unset !important;
  height: 200px !important;
  border-radius: 18px 18px 0 0 !important;
  background: linear-gradient(135deg, #126f7b 0%, #34aa99 100%) !important;
  font-size: 3rem;
  color: rgba(255,255,255,.35);
  font-weight: 900;
  letter-spacing: -.03em;
  overflow: hidden;
  position: relative;
  object-fit: unset !important;
}

.publication-media-placeholder::after {
  content: attr(data-letter);
  font-size: 7rem;
  opacity: .14;
  font-weight: 900;
  position: absolute;
  bottom: -12px;
  right: 14px;
  line-height: 1;
  color: #fff;
  pointer-events: none;
}

.publication-media-placeholder span {
  position: relative;
  z-index: 1;
  font-size: 1.1rem;
  font-weight: 800;
  color: rgba(255,255,255,.88);
  text-transform: uppercase;
  letter-spacing: .08em;
  background: rgba(255,255,255,.15);
  padding: 6px 14px;
  border-radius: 999px;
}

/* ── Переключение панелей ── */

[data-tab-panel] {
  display: block;
}

[data-tab-panel][hidden] {
  display: none !important;
}

/* ── Разделитель между вкладками на своей странице и внешними ── */

.result-product-tabs[data-product-tabs] > a[data-tab-target] {
  /* Вкладки, переключающие панели на этой же странице */
}

.result-product-tabs[data-product-tabs] > a[data-tab-external] {
  /* Ссылки на другие страницы — визуально слегка отличаются */
  position: relative;
}

.result-product-tabs[data-product-tabs] > a[data-tab-external]::after {
  content: '↗';
  font-size: .6em;
  opacity: .5;
  margin-left: 2px;
  vertical-align: super;
  line-height: 1;
}

/* Вкладка «Скачать PDF» — выглядит как кнопка-действие */
.result-product-tabs[data-product-tabs] > a[data-tab-external][title="Скачать PDF"] {
  background: linear-gradient(135deg, #6c52e8 0%, #9b7dff 100%);
  color: #fff !important;
  opacity: 1;
  font-weight: 600;
}
.result-product-tabs[data-product-tabs] > a[data-tab-external][title="Скачать PDF"]::after {
  content: none;
}
.result-product-tabs[data-product-tabs] > a[data-tab-external][title="Скачать PDF"]:hover {
  background: linear-gradient(135deg, #5b43d6 0%, #8a6ee8 100%);
}
.result-product-tabs[data-product-tabs] > a[data-tab-external][title="Скачать PDF"] span {
  color: #fff;
}

/* ── Разделитель между группами вкладок ── */

.result-product-tabs .tabs-sep {
  display: inline-block;
  width: 1px;
  height: 22px;
  background: rgba(28, 82, 92, .18);
  margin: 0 6px;
  vertical-align: middle;
  flex-shrink: 0;
}

/* ── Активная внутристраничная вкладка ── */

.result-product-tabs[data-product-tabs] > a[data-tab-target].active {
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 100%);
  color: #fff;
  opacity: 1;
  box-shadow: 0 14px 30px rgba(15, 122, 130, .24);
}

.result-product-tabs[data-product-tabs] > a[data-tab-target].active span {
  background: rgba(255, 255, 255, .2);
  color: #fff;
}

/* ── Плавное появление контента при переключении вкладки ── */

[data-tab-panel].tab-panel--active {
  animation: tabFadeIn .18s ease-out;
}

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

/* Уважаем prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  [data-tab-panel].tab-panel--active {
    animation: none;
  }
}

/* ── FAQ Accordion — современный стиль без квадрата с "+" ── */

.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid rgba(86,65,175,.13);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 28px rgba(38,30,82,.06);
}

.faq-grid details {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(86,65,175,.1) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.faq-grid details:nth-child(odd) {
  border-right: 1px solid rgba(86,65,175,.1);
}

.faq-grid details:last-child,
.faq-grid details:nth-last-child(2):nth-child(odd) {
  border-bottom: none !important;
}

.faq-grid summary {
  list-style: none !important;
  cursor: pointer;
  padding: 20px 48px 20px 22px !important;
  font-weight: 800 !important;
  font-size: .95rem;
  line-height: 1.4;
  position: relative;
  color: #1a1633;
  transition: color .15s;
}

.faq-grid summary::-webkit-details-marker { display: none !important; }

.faq-grid summary::after {
  content: '' !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: rgba(88,70,226,.08) !important;
  color: #5b46e8 !important;
  font-size: .75rem !important;
  display: grid !important;
  place-items: center !important;
  transition: background .15s, transform .2s !important;
}

.faq-grid summary::before {
  content: '↓';
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  font-size: .75rem;
  color: #5b46e8;
  transition: transform .2s ease;
  pointer-events: none;
}

.faq-grid details[open] summary::before {
  transform: translateY(-50%) rotate(180deg);
}

.faq-grid details[open] summary {
  color: #4232b8;
}

.faq-grid details p {
  margin: 0 !important;
  padding: 0 22px 20px !important;
  color: #5d5878 !important;
  line-height: 1.65 !important;
  font-size: .88rem !important;
}

@media (max-width: 640px) {
  .faq-grid {
    grid-template-columns: 1fr !important;
  }
  .faq-grid details:nth-child(odd) {
    border-right: none;
  }
  .faq-grid details {
    border-bottom: 1px solid rgba(86,65,175,.1) !important;
  }
  .faq-grid details:last-child {
    border-bottom: none !important;
  }
}

/* 6.9.7 — simple publications with image previews */
.pub-simple-hero {
  max-width: 1080px;
  margin: 24px auto 22px;
  padding: clamp(26px, 4vw, 44px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  border-radius: 28px;
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 100%);
  box-shadow: 0 22px 60px rgba(11, 76, 86, .16);
}

.pub-simple-hero .eyebrow,
.pub-simple-hero h1,
.pub-simple-hero p {
  color: #fff;
}

.pub-simple-hero .eyebrow {
  opacity: .76;
}

.pub-simple-hero h1 {
  max-width: 760px;
  margin: 8px 0 10px;
  font-size: clamp(2rem, 4.4vw, 4rem);
}

.pub-simple-hero p {
  max-width: 680px;
  opacity: .88;
}

.pub-simple-hero .secondary-button {
  flex: 0 0 auto;
  background: #fff;
  color: #0f7a82;
}

.pub-simple-rubrics {
  max-width: 1080px;
}

.pub-simple-list {
  max-width: 1080px;
}

.pub-simple-link {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: clamp(16px, 3vw, 26px);
  align-items: stretch;
  padding: 14px;
}

.pub-simple-thumb {
  min-height: 190px;
  border-radius: 16px;
  overflow: hidden;
  background: #e6f4f2;
}

.pub-simple-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.pub-simple-copy {
  min-width: 0;
  display: grid;
  align-content: center;
  padding: 8px 10px 8px 0;
}

.pub-simple-copy h2 {
  margin: 8px 0 8px;
}

.pub-simple-copy p {
  margin: 0;
}

.pub-simple-copy > span {
  justify-self: start;
}

@media (max-width: 760px) {
  .pub-simple-hero {
    margin: 14px 14px 18px;
    padding: 24px 18px;
    display: grid;
    border-radius: 24px;
  }

  .pub-simple-hero h1 {
    font-size: 2rem;
  }

  .pub-simple-hero .secondary-button {
    width: max-content;
  }

  .pub-simple-link {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .pub-simple-thumb {
    min-height: 190px;
  }

  .pub-simple-copy {
    padding: 0 4px 6px;
  }
}

/* ── result.php: персональное вступление по типу Human Design ── */

.hd-personal-intro {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: clamp(22px,4vw,38px);
  margin: 0 0 24px;
  border-radius: 28px;
  background: linear-gradient(145deg, #1a1340 0%, #2d1f6e 60%, #3b2589 100%);
  color: #fff;
}

.hd-intro-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  font-size: 1.5rem;
  color: #d4caff;
}

.hd-intro-copy {
  min-width: 0;
  flex: 1;
}

.hd-intro-copy .eyebrow {
  color: rgba(212,202,255,.7) !important;
  margin-bottom: 6px;
}

.hd-intro-copy h2 {
  margin: 0 0 14px;
  font-size: clamp(1.4rem,3vw,2.1rem);
  line-height: 1.15;
  color: #fff;
}

.hd-intro-lead {
  margin: 0 0 18px;
  color: rgba(255,255,255,.85);
  line-height: 1.65;
  font-size: .97rem;
}

.hd-intro-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.hd-intro-meta span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.12);
  min-width: 90px;
}

.hd-intro-meta small {
  font-size: .65rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(212,202,255,.65);
  font-weight: 700;
}

.hd-intro-meta b {
  font-size: .88rem;
  color: #fff;
  font-weight: 850;
}

.hd-intro-tip {
  margin: 0;
  padding: 12px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border-left: 3px solid rgba(196,180,255,.5);
  color: rgba(255,255,255,.8);
  font-size: .875rem;
  line-height: 1.6;
}

@media (max-width: 600px) {
  .hd-personal-intro {
    flex-direction: column;
    gap: 16px;
  }
}

/* ── result.php: персональное вступление по знаку зодиака ── */

.horoscope-personal-intro {
  display: flex;
  gap: 28px;
  align-items: center;
  padding: clamp(22px,4vw,36px);
  margin: 0 0 24px;
  border-radius: 28px;
  background: linear-gradient(145deg, #0b3f60 0%, #1a5e82 50%, #2278a8 100%);
  color: #fff;
}

.horoscope-intro-left {
  flex: 1;
  min-width: 0;
}

.horoscope-intro-left .eyebrow {
  color: rgba(180,225,255,.7) !important;
  margin-bottom: 6px;
}

.horoscope-intro-left h2 {
  margin: 0 0 12px;
  font-size: clamp(1.4rem,3vw,2rem);
  color: #fff;
}

.horoscope-element-chip {
  display: inline-block;
  font-size: .65em;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.15);
  color: rgba(255,255,255,.85);
  vertical-align: middle;
  margin-left: 6px;
  letter-spacing: .03em;
}

.horoscope-intro-left p {
  margin: 0 0 10px;
  color: rgba(255,255,255,.82);
  line-height: 1.65;
  font-size: .95rem;
}

.horoscope-intro-chinese {
  color: rgba(180,225,255,.75) !important;
  font-size: .85rem !important;
}

.horoscope-intro-right {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: stretch;
  min-width: 200px;
}

.horoscope-intro-right .primary-button,
.horoscope-intro-right .secondary-button {
  white-space: nowrap;
  text-align: center;
}

@media (max-width: 640px) {
  .horoscope-personal-intro {
    flex-direction: column;
    gap: 18px;
  }
  .horoscope-intro-right {
    width: 100%;
  }
}

/* ── Биоритмы: секция "Что это значит" ── */

.bio-intro-panel {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 0 28px;
  border: 1px solid rgba(52,170,153,.18);
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}

.bio-intro-panel article {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 24px;
  border-bottom: 1px solid rgba(52,170,153,.1);
}

.bio-intro-panel article:last-child {
  border-bottom: none;
}

.bio-intro-panel article > span {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 100%);
  color: #fff;
  font-size: 1.1rem;
}

.bio-intro-panel article > div h2 {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 850;
  color: #0f3a3e;
}

.bio-intro-panel article > div p {
  margin: 0 0 6px;
  color: #4a6b6e;
  font-size: .875rem;
  line-height: 1.6;
}

.bio-intro-panel article > div p.muted {
  font-size: .82rem;
  color: #7a9a9c;
}

@media (max-width: 640px) {
  .bio-intro-panel article { padding: 16px 18px; }
}

/* ── РеДизайн дня: новые блоки контента ── */

.daily-affirmation {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  margin: 0 0 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, #1d1547 0%, #2b1d6b 100%);
  color: #fff;
}

.daily-affirmation span {
  font-size: 1.2rem;
  flex-shrink: 0;
  opacity: .7;
}

.daily-affirmation p {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 780;
  font-style: italic;
  color: rgba(255,255,255,.9);
  line-height: 1.5;
}

.daily-hd-tip {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  margin: 16px 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #f5f2ff 0%, #ede8ff 100%);
  border: 1px solid rgba(100,76,226,.18);
}

.daily-hd-tip > span {
  font-size: 1.2rem;
  color: #6248d4;
  flex-shrink: 0;
  margin-top: 2px;
}

.daily-hd-tip b { display: block; font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; color: #6248d4; margin-bottom: 5px; }
.daily-hd-tip p { margin: 0; color: #3d3064; line-height: 1.6; font-size: .9rem; }

.daily-time-tips {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 16px 0;
}

.daily-time-tips article {
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(52,170,153,.2);
}

.daily-time-tips article.morning { background: linear-gradient(135deg, #fff8ec 0%, #fff3d6 100%); border-color: rgba(240,180,60,.25); }
.daily-time-tips article.evening { background: linear-gradient(135deg, #ecf2ff 0%, #dde6ff 100%); border-color: rgba(80,120,220,.2); }

.daily-time-tips article span { display: block; font-size: 1.2rem; margin-bottom: 6px; }
.daily-time-tips article b { display: block; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: #666; margin-bottom: 6px; }
.daily-time-tips article p { margin: 0; font-size: .875rem; color: #444; line-height: 1.6; }

.daily-lunar {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 18px;
  margin: 16px 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #f2f5ff 0%, #eaf0ff 100%);
  border: 1px solid rgba(100,130,230,.15);
}

.daily-lunar > span { font-size: 1.3rem; flex-shrink: 0; color: #546db8; margin-top: 1px; }
.daily-lunar b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #546db8; margin-bottom: 5px; }
.daily-lunar p { margin: 0; color: #3a4a7a; line-height: 1.6; font-size: .88rem; }

.daily-outlook {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  margin: 18px 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff6e8 0%, #ffefd4 100%);
  border: 1px solid rgba(230, 170, 70, .22);
}

.daily-outlook > span { font-size: 1.35rem; flex-shrink: 0; margin-top: 1px; }
.daily-outlook b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #9a6b18; margin-bottom: 6px; }
.daily-outlook p { margin: 0; color: #4a3a20; line-height: 1.65; font-size: .92rem; }

.daily-zodiac-day {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  margin: 0 0 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #f3f0ff 0%, #ebe4ff 100%);
  border: 1px solid rgba(100, 76, 226, .18);
}

.daily-zodiac-day > span { font-size: 1.35rem; flex-shrink: 0; color: #6248d4; margin-top: 1px; }
.daily-zodiac-day b { display: block; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: #6248d4; margin-bottom: 6px; }
.daily-zodiac-day p { margin: 0; color: #3d3064; line-height: 1.65; font-size: .92rem; }

.daily-extra-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.daily-extra-notes article {
  padding: 16px 18px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(93, 68, 201, .12);
  box-shadow: 0 8px 24px rgba(67, 48, 145, .05);
}

.daily-extra-notes article b {
  display: block;
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #6c52e8;
  margin-bottom: 7px;
}

.daily-extra-notes article p {
  margin: 0;
  color: #4a4560;
  line-height: 1.62;
  font-size: .88rem;
}

@media (max-width: 600px) {
  .daily-time-tips { grid-template-columns: 1fr; }
  .daily-extra-notes { grid-template-columns: 1fr; }
}

/* ── РеДизайн дня: календарные приколюхи ── */
.daily-calendar-extras {
  margin: 28px 0 8px;
  padding-top: 24px;
  border-top: 1px solid rgba(93, 68, 201, .12);
}

.daily-calendar-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.daily-calendar-head h3 {
  margin: 4px 0 0;
  font-size: 1.15rem;
  color: #1a1340;
}

.daily-calendar-moon-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f2f5ff, #e8eeff);
  border: 1px solid rgba(100, 130, 230, .2);
  color: #3a4a7a;
  font-size: .82rem;
  font-weight: 700;
}

.daily-calendar-moon-badge.is-personal {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-color: rgba(217, 119, 6, .25);
  color: #92400e;
}

.daily-calendar-personal-line,
.daily-calendar-transit-line {
  margin: 6px 0 0;
  font-size: .82rem;
  line-height: 1.45;
  color: #6b6478;
}

.daily-calendar-transit-line {
  color: #5c3be8;
  font-weight: 600;
}

.daily-geomag-personal,
.daily-moon-personal,
.daily-moon-note,
.daily-outfit-personal {
  margin: 0 0 10px !important;
  font-size: .84rem !important;
  color: #5a5370 !important;
}

.daily-mini-sub {
  display: block;
  margin: 2px 0 8px;
  font-size: .72rem;
  color: #8a849c;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.daily-calendar-delta {
  margin: 0 0 14px;
  padding: 12px 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8f6ff, #f2f8ff);
  border: 1px solid rgba(93, 68, 201, .12);
  font-size: .84rem;
  color: #4a4560;
}
.daily-calendar-delta b {
  display: block;
  margin-bottom: 6px;
  color: #2d2450;
}
.daily-calendar-delta ul {
  margin: 0;
  padding-left: 18px;
}
.daily-calendar-delta li + li {
  margin-top: 4px;
}
.daily-calendar-guidance-link {
  margin: 0 0 14px;
  padding: 10px 14px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid rgba(93, 68, 201, .14);
  font-size: .84rem;
  line-height: 1.45;
  color: #5a5370;
}
.daily-calendar-guidance-link a {
  font-weight: 700;
  white-space: nowrap;
}
.daily-calendar-section-label {
  margin: 18px 0 10px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a849c;
}
.daily-calendar-section-label:first-of-type {
  margin-top: 0;
}
.daily-calendar-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.daily-calendar-grid-hints {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.daily-calendar-grid-lifestyle {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.daily-calendar-card.daily-calendar-wide {
  grid-column: 1 / -1;
}

.daily-calendar-card {
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(93, 68, 201, .1);
  box-shadow: 0 8px 24px rgba(67, 48, 145, .05);
}

.daily-calendar-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.daily-calendar-card-head b,
.daily-calendar-mini > b,
.daily-outfit-head b {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #5c3be8;
}

.daily-calendar-card p {
  margin: 0;
  color: #4a4560;
  line-height: 1.58;
  font-size: .88rem;
}

.daily-storm-pill {
  display: inline-flex;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
}

.daily-storm-pill.storm-calm { background: #dcfce7; color: #166534; }
.daily-storm-pill.storm-unsettled { background: #fef9c3; color: #854d0e; }
.daily-storm-pill.storm-mild { background: #ffedd5; color: #c2410c; }
.daily-storm-pill.storm-strong { background: #fee2e2; color: #b91c1c; }

.daily-geomag-today { margin-bottom: 8px !important; }
.daily-geomag-meteo { margin-bottom: 12px !important; color: #6b6478 !important; font-size: .84rem !important; }

.daily-geomag-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 10px;
}

.daily-geomag-day {
  display: grid;
  gap: 3px;
  padding: 8px 4px;
  border-radius: 10px;
  background: #f8f7fc;
  text-align: center;
  border: 1px solid transparent;
}

.daily-geomag-day em,
.daily-geomag-day b {
  display: block;
  font-style: normal;
}

.daily-geomag-day em { font-size: .62rem; color: #8a849c; }
.daily-geomag-day b { font-size: .82rem; font-weight: 800; color: #3f3a4f; }
.daily-geomag-day.is-today { border-color: #c4b5fd; background: #f5f3ff; }
.daily-geomag-day.has-storm { background: #fff7ed; border-color: #fed7aa; }
.daily-geomag-day.has-storm b { color: #c2410c; }

.daily-geomag-foot {
  display: block;
  font-size: .72rem;
  color: #9a94a8;
}

.daily-moon-slider {
  position: relative;
  height: 34px;
  margin: 8px 0 12px;
}

.daily-moon-track {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 8px;
  transform: translateY(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, #1e1b2e 0%, #f5f3ff 50%, #1e1b2e 100%);
}

.daily-moon-marker {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: .95rem;
  z-index: 2;
}

.daily-moon-thumb {
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border: 2px solid #fff;
  box-shadow: 0 4px 12px rgba(124, 58, 237, .25);
  z-index: 3;
}

.daily-moon-counts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-bottom: 12px;
  font-size: .78rem;
  color: #6b6478;
}

.daily-moon-counts b { color: #3f3a4f; }

.daily-moon-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  align-items: end;
  height: 56px;
}

.daily-moon-week-day {
  display: grid;
  gap: 4px;
  justify-items: center;
  height: 100%;
  align-content: end;
}

.daily-moon-week-day em {
  font-style: normal;
  font-size: .62rem;
  color: #8a849c;
}

.daily-moon-week-day i {
  display: block;
  width: 100%;
  max-width: 22px;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #a5b4fc, #6366f1);
  min-height: 18px;
}

.daily-moon-week-day.is-today em { color: #5b21b6; font-weight: 800; }
.daily-moon-week-day.is-today i { background: linear-gradient(180deg, #fcd34d, #f59e0b); }

.daily-calendar-tear {
  background: linear-gradient(145deg, #fffdf8, #fff8ef);
  border-color: rgba(230, 170, 70, .22);
}

.daily-calendar-tear-top {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}

.daily-tear-date {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #f59e0b, #ea580c);
  color: #fff;
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
}

.daily-calendar-tear-top b {
  display: block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #9a6b18;
}

.daily-calendar-tear-top p {
  margin: 2px 0 0;
  font-weight: 800;
  color: #4a3a20;
}

.daily-tear-wisdom {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  font-style: italic;
  color: #5c4a12;
  line-height: 1.55;
  font-size: .9rem;
}

.daily-tear-line {
  margin: 0 0 8px !important;
}

.daily-calendar-tear small {
  color: #9a7b3c;
  font-size: .76rem;
}

.daily-outfit-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.daily-outfit-head b {
  font-size: .92rem;
  color: #2d2450;
}
.daily-outfit-moon {
  font-size: .72rem;
  font-weight: 700;
  color: #6b6478;
  padding: 4px 10px;
  border-radius: 999px;
  background: #f4f2fa;
}
.daily-outfit-colors {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 12px;
}
.daily-outfit-color {
  font-size: .74rem;
  font-weight: 700;
  color: #5c3be8;
  padding: 5px 11px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f6f3ff, #eef8ff);
  border: 1px solid rgba(93, 68, 201, .14);
}
.daily-outfit-line {
  margin: 0 0 8px !important;
  font-size: .86rem !important;
  line-height: 1.5 !important;
  color: #4a4560 !important;
}
.daily-outfit-line span {
  display: inline-block;
  min-width: 72px;
  margin-right: 6px;
  font-weight: 800;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #8a849c;
}
.daily-outfit-line.is-today span {
  color: #0f7a82;
}
.daily-outfit-tip {
  margin: 10px 0 0 !important;
  padding-top: 10px;
  border-top: 1px dashed rgba(93, 68, 201, .16);
  font-size: .8rem !important;
  color: #6b6478 !important;
}

@media (max-width: 820px) {
  .daily-calendar-grid,
  .daily-calendar-grid-hints,
  .daily-calendar-grid-lifestyle { grid-template-columns: 1fr; }
  .daily-geomag-week { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .daily-geomag-week,
  .daily-moon-week { grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
  .daily-geomag-day em { font-size: .58rem; }
}

/* ── Zodiac name links ── */
.zodiac-names div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
a.zodiac-name-link {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(71,53,199,.1);
  color: #4735c7;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(71,53,199,.2);
  transition: background .15s, color .15s;
}
a.zodiac-name-link:hover { background: #4735c7; color: #fff; }

/* ── Name meaning page ── */
.name-hero {
  padding: clamp(36px,6vw,64px) 0 28px;
  text-align: center;
}
.name-hero h1 {
  font-size: clamp(2.2rem,6vw,3.6rem);
  font-weight: 900;
  color: #1a1340;
  margin: 6px 0 12px;
}
.name-origin-line {
  color: #555;
  font-size: 1rem;
  max-width: 560px;
  margin: 0 auto 16px;
}
.name-luck-chips { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.name-luck-chips span {
  padding: 5px 16px;
  border-radius: 999px;
  background: linear-gradient(135deg,#4735c7,#7b5af0);
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
}
.name-section {
  background: #fff;
  border: 1px solid rgba(71,53,199,.1);
  border-radius: 20px;
  padding: clamp(20px,4vw,32px);
  margin-bottom: 16px;
}
.name-section h2 {
  font-size: 1.15rem;
  font-weight: 800;
  color: #1a1340;
  margin: 0 0 10px;
}
.name-section h3 { font-size: 1rem; font-weight: 700; color: #1a1340; margin: 0 0 8px; }
.name-section p { color: #333; line-height: 1.7; margin: 0; }
.name-section ul { margin: 0; padding: 0 0 0 1.2em; color: #333; line-height: 1.8; }
.name-traits { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media(max-width:600px){ .name-traits { grid-template-columns: 1fr; } }
.name-traits-col.strengths { border-color: rgba(52,170,153,.2); }
.name-traits-col.strengths h3 { color: #0b7a6e; }
.name-traits-col.weaknesses { border-color: rgba(200,100,50,.15); }
.name-traits-col.weaknesses h3 { color: #a84f2a; }
.name-famous-list { display: flex; flex-direction: column; gap: 4px; padding-left: 1.2em; }
.name-compatible-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.name-compatible-chips a {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(71,53,199,.08);
  color: #4735c7;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(71,53,199,.15);
  transition: background .15s, color .15s;
}
.name-compatible-chips a:hover { background: #4735c7; color: #fff; }
.name-summary {
  background: linear-gradient(135deg,#1a1340,#3b2589);
  border: none;
  color: #fff;
}
.name-summary p { color: rgba(255,255,255,.9); font-size: 1.05rem; line-height: 1.75; }

/* ── Biorhythms: separation between intro panel and calculator ── */
.bio-intro-panel { margin-bottom: 28px; }
.bio-calculator-card { margin-top: 0; }

/* ── Astrologer chat quick hints ── */
.chat-quick-hints {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}
.chat-hint-btn {
  background: var(--surface-card, #f4f0ff);
  border: 1.5px solid var(--border, #e0d9f5);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: .82rem;
  color: var(--primary, #6847f5);
  cursor: pointer;
  transition: background .15s, border-color .15s;
  font-family: inherit;
}
.chat-hint-btn:hover { background: #ede8ff; border-color: var(--primary, #6847f5); }

/* ── Dream interpretation section ── */
.dream-section {
  background: linear-gradient(145deg, #0f1a3a, #1a2d5a 60%, #1e3a6e);
  border-radius: 24px;
  padding: clamp(22px,4vw,36px);
  color: #fff;
  margin: 0 1rem 2rem;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.dream-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 20px;
}
.dream-header > span { font-size: 2rem; flex-shrink: 0; line-height: 1; }
.dream-header h2 { font-size: 1.25rem; font-weight: 800; margin: 0 0 4px; color: #fff; }
.dream-header p { color: rgba(255,255,255,.72); font-size: .92rem; margin: 0; line-height: 1.5; }
.dream-input-wrap { display: flex; flex-direction: column; gap: 12px; }
.dream-input-wrap textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1.5px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(255,255,255,.07);
  color: #fff;
  padding: 14px 16px;
  font-size: .95rem;
  font-family: inherit;
  line-height: 1.55;
  resize: vertical;
  min-height: 100px;
}
.dream-input-wrap textarea::placeholder { color: rgba(255,255,255,.4); }
.dream-input-wrap textarea:focus { outline: none; border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.1); }
.dream-input-wrap .primary-button { align-self: flex-end; }
.dream-result { margin-top: 20px; padding: 18px 20px; background: rgba(255,255,255,.08); border-radius: 16px; border: 1px solid rgba(255,255,255,.12); }
.dream-interp { color: rgba(255,255,255,.9); line-height: 1.75; font-size: .95rem; }

/* ── Merch size/color pickers ── */
.merch-picker-group { margin-bottom: 12px; }
.merch-picker-label { display: block; font-size: .82rem; font-weight: 700; color: #666; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .04em; }
.merch-size-chips, .merch-color-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.merch-size-chip input, .merch-color-chip input { position: absolute; opacity: 0; pointer-events: none; }
.merch-size-chip span, .merch-color-chip span {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1.5px solid rgba(71,53,199,.2);
  background: #fff;
  color: #333;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  transition: all .15s;
}
.merch-size-chip input:checked + span,
.merch-color-chip input:checked + span {
  background: #4735c7;
  color: #fff;
  border-color: #4735c7;
}
.merch-size-chip span:hover, .merch-color-chip span:hover { border-color: #4735c7; color: #4735c7; }

/* ── Biorhythms result panel — ensure visible text on white bg ── */
.bio-result-panel,
.bio-result-panel .bio-cycle-result-grid,
.bio-result-panel .bio-compat-summary,
.bio-result-panel .bio-wave-chart,
.bio-result-panel .bio-bottom { color: #1a1340; }
.bio-result-panel .bio-disclaimer { color: #666; }
.bio-reading-guide article h2 { color: #1a1340; }
.bio-reading-guide article p { color: #444; }
.bio-explain-grid article p { color: #444; }

/* ── Add consultation/service strip even without linked reading ── */
.bio-service-cta {
  display: flex;
  gap: 16px;
  margin-top: 28px;
  flex-wrap: wrap;
}
.bio-service-cta a {
  flex: 1;
  min-width: 220px;
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 20px 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(71,53,199,.12);
  text-decoration: none;
  color: #1a1340;
  box-shadow: 0 4px 18px rgba(71,53,199,.07);
  transition: box-shadow .18s;
}
.bio-service-cta a:hover { box-shadow: 0 8px 28px rgba(71,53,199,.14); }
.bio-service-cta a span:first-child { font-size: 1.5rem; }
.bio-service-cta a b { display: block; font-weight: 800; font-size: .95rem; }
.bio-service-cta a small { color: #666; font-size: .82rem; }

/* ── Tests hub: fix result layout in sidebar+stage grid ── */
.tests-stage .psych-result {
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(20px,3vw,36px) !important;
  border-radius: 24px !important;
}

/* Force 2-column story grid inside narrow stage */
.tests-stage .psych-result-story-grid {
  grid-template-columns: repeat(2, 1fr) !important;
}

/* Scale bars: ensure dark bg doesn't swallow text */
.tests-stage .psych-result h2,
.tests-stage .psych-result h3,
.tests-stage .psych-result .eyebrow { color: inherit !important; }

/* On mobile revert to 1 col */
@media (max-width: 600px) {
  .tests-stage .psych-result-story-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Full-width psych-result when there's no sidebar (no reading) */
.tests-stage .psych-result:only-child,
.psych-shell:not(.tests-hub-shell) .psych-result {
  max-width: 860px;
}

/* Fix psych-result that has dark background styles fighting grid */
.tests-hub-page .psych-result {
  background: #fff !important;
  color: #1a1340 !important;
  border: 1px solid rgba(71,53,199,.1) !important;
  box-shadow: 0 18px 50px rgba(36,38,69,.08) !important;
}
.tests-hub-page .psych-result .eyebrow { color: #0f7a82 !important; }
.tests-hub-page .psych-result h2 { color: #1a1340 !important; }
.tests-hub-page .psych-result h3 { color: #1a1340 !important; }
.tests-hub-page .psych-result > p { color: #555 !important; }
.tests-hub-page .psych-scale-bar { background: rgba(71,53,199,.12) !important; }
.tests-hub-page .psych-scale-bar i { background: #4735c7 !important; }
.tests-hub-page .psych-recommendations span { background: rgba(71,53,199,.07) !important; color: #333 !important; }

/* ── Name page skeleton / loading state ── */
.name-skeleton-wrap { padding: 8px 0 24px; }
.name-skeleton-msg {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 24px;
  background: linear-gradient(135deg, #f0eeff, #e8f6f5);
  border-radius: 18px;
  margin-bottom: 20px;
}
.name-skeleton-msg b { display: block; font-size: 1rem; font-weight: 800; color: #1a1340; margin-bottom: 4px; }
.name-skeleton-msg p { margin: 0; color: #666; font-size: .9rem; line-height: 1.5; }
.name-gen-spinner {
  font-size: 1.8rem;
  color: #4735c7;
  animation: nameSpin 1.2s linear infinite;
  flex-shrink: 0;
  line-height: 1;
  margin-top: 2px;
}
@keyframes nameSpin { to { transform: rotate(360deg); } }
.name-skeleton-blocks { display: flex; flex-direction: column; gap: 12px; }
.name-skel-block {
  height: 80px;
  border-radius: 16px;
  background: linear-gradient(90deg, #f0eeff 25%, #e4dff7 50%, #f0eeff 75%);
  background-size: 200% 100%;
  animation: skelShimmer 1.4s ease-in-out infinite;
}
.name-skel-block.short { height: 52px; width: 60%; }
@keyframes skelShimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* ── Zodiac popular pairs: add top spacing ── */
.zodiac-popular {
  margin-top: 32px !important;
}
.zodiac-tool-page .zodiac-popular {
  margin-top: 28px !important;
  padding: 22px 24px !important;
}

/* ════════════════════════════════════════
   Publications — editorial layout
   ════════════════════════════════════════ */

.pub-index-page { background: #f4f3f8; }

/* Page header */
.pub-page-header {
  background: linear-gradient(135deg, #1a1340 0%, #2d1f6e 55%, #3b2589 100%);
  padding: clamp(36px,6vw,72px) clamp(16px,4vw,48px) clamp(28px,5vw,56px);
}
.pub-page-header-inner { max-width: 860px; margin: 0 auto; }
.pub-page-header .eyebrow { color: rgba(255,255,255,.55); margin-bottom: 10px; letter-spacing: .12em; }
.pub-page-header h1 {
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 900;
  color: #fff;
  margin: 0 0 12px;
  line-height: 1.05;
}
.pub-page-header p {
  color: rgba(255,255,255,.72);
  font-size: clamp(.95rem, 2vw, 1.1rem);
  margin: 0;
  max-width: 560px;
  line-height: 1.6;
}

/* Shell */
.pub-shell {
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(24px,4vw,48px) clamp(16px,3vw,32px) 48px;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

/* Featured */
.pub-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 24px 64px rgba(26,19,64,.12);
  text-decoration: none;
  color: inherit;
  transition: box-shadow .2s, transform .18s;
  min-height: 360px;
}
.pub-featured:hover { box-shadow: 0 32px 80px rgba(26,19,64,.18); transform: translateY(-2px); }

.pub-featured-visual {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  background: linear-gradient(135deg, #0d1a3a, #1e3a6e);
}
.pub-featured-visual img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.pub-featured-placeholder {
  width: 100%; height: 100%;
  display: grid;
  place-items: center;
  font-size: 5rem;
  font-weight: 900;
  color: rgba(255,255,255,.15);
}
.pub-featured-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(13,26,58,.25), transparent);
}
.pub-featured-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  padding: 5px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pub-featured-body {
  padding: clamp(24px,4vw,44px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
}
.pub-meta {
  font-size: .78rem;
  font-weight: 700;
  color: #0f7a82;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.pub-featured-body h2 {
  font-size: clamp(1.4rem, 2.8vw, 2.1rem);
  font-weight: 900;
  color: #1a1340;
  line-height: 1.2;
  margin: 0;
}
.pub-featured-body p {
  color: #555;
  line-height: 1.7;
  font-size: .97rem;
  margin: 0;
}
.pub-read-btn {
  display: inline-block;
  margin-top: 6px;
  padding: 10px 22px;
  border-radius: 999px;
  background: #1a1340;
  color: #fff;
  font-size: .88rem;
  font-weight: 700;
  align-self: flex-start;
  transition: background .15s;
}
.pub-featured:hover .pub-read-btn { background: #4735c7; }

/* Cards grid */
.pub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
@media (max-width: 900px) { .pub-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .pub-grid { grid-template-columns: 1fr; } }

.pub-card {
  display: flex;
  flex-direction: column;
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 8px 28px rgba(26,19,64,.07);
  text-decoration: none;
  color: inherit;
  transition: box-shadow .18s, transform .15s;
}
.pub-card:hover { box-shadow: 0 18px 48px rgba(26,19,64,.14); transform: translateY(-3px); }

.pub-card-visual {
  position: relative;
  height: 180px;
  overflow: hidden;
  background: linear-gradient(135deg, #0d1a3a, #1e3a6e);
  flex-shrink: 0;
}
.pub-card-visual img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pub-card-placeholder {
  width: 100%; height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, #126f7b 0%, #34aa99 100%);
}
.pub-card-placeholder span {
  font-size: .72rem;
  font-weight: 800;
  color: rgba(255,255,255,.8);
  text-transform: uppercase;
  letter-spacing: .1em;
  background: rgba(255,255,255,.15);
  padding: 4px 12px;
  border-radius: 999px;
}
.pub-card-placeholder b {
  font-size: 2.4rem;
  font-weight: 900;
  color: rgba(255,255,255,.18);
  line-height: 1;
}

.pub-card-body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.pub-card-body h3 {
  font-size: 1rem;
  font-weight: 800;
  color: #1a1340;
  line-height: 1.35;
  margin: 0;
}
.pub-card-body p {
  color: #666;
  font-size: .87rem;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}

/* CTA strip */
.pub-cta-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  max-width: 1120px;
  margin: 0 auto 56px;
  padding: clamp(22px,4vw,36px) clamp(24px,4vw,48px);
  background: #fff;
  border-radius: 24px;
  box-shadow: 0 8px 28px rgba(26,19,64,.07);
}
.pub-cta-strip b { display: block; font-size: 1.05rem; font-weight: 800; color: #1a1340; margin-bottom: 4px; }
.pub-cta-strip p { margin: 0; color: #666; font-size: .9rem; }
.pub-empty { text-align: center; padding: 80px 20px; color: #999; }
.pub-empty span { display: block; font-size: 2rem; margin-bottom: 12px; }

/* Responsive featured */
@media (max-width: 768px) {
  .pub-featured { grid-template-columns: 1fr; }
  .pub-featured-visual { min-height: 220px; }
}

/* ════════════════════════════════════════
   Publication article page
   ════════════════════════════════════════ */

.pub-article-page { background: #f4f3f8; }

.pub-article-hero {
  position: relative;
  height: clamp(240px, 40vw, 480px);
  overflow: hidden;
  background: #0d1a3a;
}
.pub-article-hero img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.pub-article-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(13,26,58,.1) 0%, rgba(13,26,58,.55) 100%);
}
.pub-article-hero-meta {
  position: absolute;
  bottom: 22px;
  left: clamp(16px,4vw,48px);
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255,255,255,.85);
  font-size: .82rem;
  font-weight: 600;
}
.pub-cat-chip {
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(6px);
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: .72rem;
  font-weight: 800;
  color: #fff;
}

/* Article layout: content + sidebar */
.pub-article-wrap {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 32px;
  max-width: 1080px;
  margin: 0 auto;
  padding: clamp(24px,4vw,48px) clamp(16px,3vw,32px) 64px;
  align-items: start;
}
@media (max-width: 860px) {
  .pub-article-wrap { grid-template-columns: 1fr; }
  .pub-article-sidebar { order: -1; }
}

.pub-article-content {
  background: #fff;
  border-radius: 24px;
  padding: clamp(24px,4vw,48px);
  box-shadow: 0 8px 32px rgba(26,19,64,.07);
}

.pub-article-title {
  font-size: clamp(1.6rem, 3.5vw, 2.6rem);
  font-weight: 900;
  color: #1a1340;
  line-height: 1.15;
  margin: 0 0 16px;
}

.pub-article-lead {
  font-size: 1.1rem;
  color: #444;
  line-height: 1.7;
  border-left: 3px solid #4735c7;
  padding-left: 16px;
  margin: 0 0 28px;
}

.pub-article-body { color: #333; line-height: 1.8; font-size: 1rem; }
.pub-article-body h1 { font-size: 1.6rem; font-weight: 900; color: #1a1340; margin: 32px 0 12px; }
.pub-article-body h2 { font-size: 1.2rem; font-weight: 800; color: #1a1340; margin: 28px 0 10px; }
.pub-article-body p { margin: 0 0 14px; }
.pub-article-body strong { color: #1a1340; font-weight: 800; }
.pub-article-body br { display: block; margin: 6px 0; content: ''; }

/* Sidebar */
.pub-article-sidebar {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: sticky;
  top: 90px;
}

.pub-aside-card {
  background: linear-gradient(145deg, #1a1340, #2d1f6e 60%, #3b2589);
  border-radius: 22px;
  padding: 26px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  color: #fff;
}
.pub-aside-card > span { font-size: 1.6rem; }
.pub-aside-card b { font-size: 1rem; font-weight: 800; }
.pub-aside-card p { color: rgba(255,255,255,.75); font-size: .88rem; line-height: 1.6; margin: 0; }

.pub-aside-back {
  display: block;
  text-align: center;
  padding: 12px;
  border-radius: 14px;
  background: #fff;
  color: #555;
  font-size: .88rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(71,53,199,.1);
  transition: color .15s;
}
.pub-aside-back:hover { color: #4735c7; }

/* --- Publications pagination --- */
.pub-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px 0 0;
  flex-wrap: wrap;
}
.pub-page-btn {
  display: inline-flex;
  align-items: center;
  padding: 9px 20px;
  border-radius: 50px;
  background: #fff;
  border: 1.5px solid rgba(71,53,199,.2);
  color: #4735c7;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s, color .15s;
}
.pub-page-btn:hover { background: #4735c7; color: #fff; border-color: #4735c7; }
.pub-page-nums { display: flex; gap: 6px; align-items: center; }
.pub-page-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  color: #666;
  transition: background .15s, color .15s;
}
a.pub-page-num:hover { background: rgba(71,53,199,.08); color: #4735c7; }
.pub-page-num.active { background: #4735c7; color: #fff; }
.pub-page-ellipsis { color: #aaa; font-size: .88rem; padding: 0 2px; }

/* --- Family member status badges: align to top, don't jump --- */
.member-detail-section .section-heading.left {
  align-items: flex-start;
}
.member-statuses {
  flex-shrink: 0;
  margin-top: 6px;
}

/* 6.9.4 — publications index as a commercial rubric hub */
.pub-modern-main {
  background:
    linear-gradient(180deg, #edf7f7 0, #f7fbfb 360px, #f3f7f8 100%);
  padding-bottom: 56px;
}

.pub-modern-hero {
  max-width: 1180px;
  margin: 24px auto 0;
  padding: clamp(24px, 4vw, 46px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 28px;
  align-items: stretch;
}

.pub-modern-hero-copy {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 16px;
}

.pub-modern-hero .eyebrow {
  color: #0f7a82;
  letter-spacing: .12em;
}

.pub-modern-hero h1 {
  margin: 0;
  max-width: 860px;
  color: #17323a;
  font-size: clamp(2.2rem, 5vw, 4.9rem);
  line-height: 1.02;
  font-weight: 950;
}

.pub-modern-hero p {
  margin: 0;
  max-width: 720px;
  color: #596978;
  font-size: 1.05rem;
  line-height: 1.65;
}

.pub-hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.pub-start-panel {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 20px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .12);
  box-shadow: 0 18px 50px rgba(11, 76, 86, .08);
}

.pub-start-panel small,
.pub-sidebar-block small {
  color: #0f7a82;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  font-size: .76rem;
}

.pub-start-panel a {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 16px;
  text-decoration: none;
  color: #17323a;
  background: #f3fbf9;
  border: 1px solid rgba(15, 122, 130, .08);
}

.pub-start-panel b {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #0f7a82;
  color: #fff;
}

.pub-start-panel span {
  font-weight: 850;
  line-height: 1.25;
}

.pub-rubric-nav {
  max-width: 1180px;
  margin: 0 auto 18px;
  padding: 0 clamp(16px, 3vw, 28px);
  display: flex;
  gap: 10px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.pub-rubric-nav::-webkit-scrollbar {
  display: none;
}

.pub-rubric-nav a {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 14px 0 18px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .14);
  color: #17323a;
  text-decoration: none;
  font-weight: 850;
  box-shadow: 0 10px 26px rgba(11, 76, 86, .05);
}

.pub-rubric-nav a b {
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: #eef8f7;
  color: #0f7a82;
  font-size: .82rem;
}

.pub-rubric-nav a.active {
  background: linear-gradient(135deg, #0f7a82, #34aa99);
  color: #fff;
  border-color: transparent;
}

.pub-rubric-nav a.active b {
  background: rgba(255,255,255,.2);
  color: #fff;
}

.pub-modern-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 28px) 34px;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.pub-sidebar {
  display: grid;
  gap: 14px;
  position: sticky;
  top: 88px;
}

.pub-sidebar-block {
  padding: 18px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .12);
  box-shadow: 0 16px 42px rgba(11, 76, 86, .06);
}

.pub-sidebar-block.accent {
  background: #17323a;
  color: #fff;
}

.pub-sidebar-block h2,
.pub-sidebar-block p {
  margin: 0;
}

.pub-sidebar-block h2 {
  margin-top: 8px;
  font-size: 1.1rem;
  color: inherit;
}

.pub-sidebar-block p {
  margin-top: 8px;
  color: #667985;
  line-height: 1.6;
  font-size: .93rem;
}

.pub-sidebar-block.accent p {
  color: rgba(255,255,255,.76);
}

.pub-sidebar-block.accent .secondary-button {
  margin-top: 14px;
  background: #fff;
}

.pub-content-column {
  min-width: 0;
  display: grid;
  gap: 18px;
}

.pub-modern-shell .pub-featured {
  grid-template-columns: minmax(280px, .85fr) minmax(0, 1fr);
  min-height: 300px;
  border-radius: 24px;
  box-shadow: 0 20px 56px rgba(11, 76, 86, .09);
}

.pub-modern-shell .pub-featured-visual {
  min-height: 300px;
  background: linear-gradient(135deg, #0f7a82, #34aa99);
}

.pub-modern-shell .pub-featured-body {
  padding: clamp(22px, 3vw, 34px);
}

.pub-modern-shell .pub-featured-body h2 {
  color: #17323a;
}

.pub-modern-shell .pub-featured-body p,
.pub-modern-shell .pub-card-body p {
  color: #667985;
}

.pub-modern-shell .pub-read-btn {
  background: #0f7a82;
}

.pub-modern-shell .pub-featured:hover .pub-read-btn {
  background: #0b6067;
}

.pub-modern-shell .pub-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.pub-modern-shell .pub-card {
  border: 1px solid rgba(15, 122, 130, .1);
  border-radius: 22px;
  box-shadow: 0 14px 36px rgba(11, 76, 86, .06);
}

.pub-modern-shell .pub-card-visual {
  height: 150px;
  background: linear-gradient(135deg, #0f7a82, #34aa99);
}

.pub-modern-shell .pub-card-placeholder {
  background: linear-gradient(135deg, #0f7a82, #34aa99);
}

.pub-modern-shell .pub-card-body {
  padding: 18px;
}

.pub-modern-shell .pub-card-body h3 {
  color: #17323a;
}

.pub-next-empty {
  padding: 22px;
  border-radius: 20px;
  background: #fff;
  border: 1px dashed rgba(15,122,130,.24);
  color: #667985;
}

.pub-next-empty b {
  display: block;
  color: #17323a;
  margin-bottom: 6px;
}

.pub-next-empty p {
  margin: 0;
}

.pub-modern-main .pub-cta-strip {
  max-width: 1180px;
  border: 1px solid rgba(15, 122, 130, .12);
  box-shadow: 0 18px 50px rgba(11, 76, 86, .07);
}

.pub-modern-main .pub-empty {
  max-width: 760px;
  margin: 36px auto;
  padding: 46px 22px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(11,76,86,.07);
}

.pub-modern-main .pub-empty p {
  margin: 8px auto 0;
  max-width: 480px;
  color: #667985;
  line-height: 1.55;
}

@media (max-width: 960px) {
  .pub-modern-hero,
  .pub-modern-shell {
    grid-template-columns: 1fr;
  }

  .pub-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .pub-modern-hero {
    margin-top: 12px;
    padding: 22px 16px 12px;
    gap: 16px;
  }

  .pub-modern-hero h1 {
    font-size: 2rem;
    line-height: 1.08;
  }

  .pub-modern-hero p {
    font-size: .95rem;
    line-height: 1.5;
  }

  .pub-start-panel {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 12px;
    border-radius: 18px;
    scrollbar-width: none;
  }

  .pub-start-panel::-webkit-scrollbar {
    display: none;
  }

  .pub-start-panel small {
    display: none;
  }

  .pub-start-panel a {
    min-width: 178px;
    grid-template-columns: 32px 1fr;
    padding: 9px;
  }

  .pub-start-panel b {
    width: 32px;
    height: 32px;
    border-radius: 11px;
  }

  .pub-start-panel span {
    font-size: .88rem;
  }

  .pub-hero-actions,
  .pub-hero-actions a {
    width: 100%;
  }

  .pub-modern-shell .pub-featured {
    grid-template-columns: 1fr;
  }

  .pub-modern-shell .pub-grid,
  .pub-sidebar {
    grid-template-columns: 1fr;
  }

  .pub-modern-shell .pub-featured-visual {
    min-height: 210px;
  }
}

/* --- Reading chapter nav: show all tabs, no horizontal scroll --- */
.reading-chapter-list {
  flex-wrap: wrap !important;
  overflow-x: visible !important;
  scroll-snap-type: none !important;
}
.reading-chapter-link {
  flex: 0 0 auto;
}

/* On mobile: if many chapters, allow more height when open */
@media(max-width:768px) {
  .reading-navigator.is-open .reading-chapter-list {
    max-height: 500px !important;
  }
}

/* 6.9.6 — simple readable publications */
.pub-simple-main,
.pub-simple-article-main {
  background: #f6faf9;
  color: #17323a;
}

.pub-simple-hero {
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(34px, 6vw, 72px) 20px 22px;
}

.pub-simple-hero .eyebrow {
  color: #0f7a82;
  letter-spacing: .1em;
}

.pub-simple-hero h1 {
  margin: 10px 0 12px;
  max-width: 760px;
  font-size: clamp(2.1rem, 5vw, 4.1rem);
  line-height: 1.06;
  color: #17323a;
  font-weight: 950;
}

.pub-simple-hero p {
  margin: 0;
  max-width: 720px;
  color: #5c6f79;
  font-size: 1.08rem;
  line-height: 1.7;
}

.pub-simple-rubrics {
  max-width: 860px;
  margin: 0 auto 20px;
  padding: 0 20px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pub-simple-rubrics a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(15, 122, 130, .16);
  background: #fff;
  color: #17323a;
  text-decoration: none;
  font-weight: 850;
  font-size: .92rem;
}

.pub-simple-rubrics a b {
  color: #0f7a82;
  font-size: .82rem;
}

.pub-simple-rubrics a.active {
  background: #0f7a82;
  color: #fff;
  border-color: #0f7a82;
}

.pub-simple-rubrics a.active b {
  color: rgba(255,255,255,.85);
}

.pub-simple-list {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 20px 38px;
  display: grid;
  gap: 14px;
}

.pub-simple-card {
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .12);
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(11, 76, 86, .05);
}

.pub-simple-link {
  display: block;
  padding: clamp(18px, 3vw, 26px);
  color: inherit;
  text-decoration: none;
}

.pub-simple-meta,
.pub-simple-article .pub-meta {
  color: #0f7a82;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.pub-simple-link h2 {
  margin: 8px 0 8px;
  color: #17323a;
  font-size: clamp(1.18rem, 2.2vw, 1.55rem);
  line-height: 1.28;
  font-weight: 920;
}

.pub-simple-link p {
  margin: 0;
  max-width: 680px;
  color: #5f6e78;
  line-height: 1.68;
  font-size: 1rem;
}

.pub-simple-link span {
  display: inline-flex;
  margin-top: 12px;
  color: #0f7a82;
  font-weight: 900;
}

.pub-simple-card:hover {
  border-color: rgba(15, 122, 130, .28);
  box-shadow: 0 16px 40px rgba(11, 76, 86, .08);
}

.pub-simple-note {
  max-width: 860px;
  margin: 0 auto 54px;
  padding: 20px;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  color: #5f6e78;
}

.pub-simple-note p {
  margin: 0;
  max-width: 620px;
  line-height: 1.6;
}

.pub-simple-note div {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.pub-simple-article {
  max-width: 760px;
  margin: 0 auto;
  padding: clamp(34px, 6vw, 70px) 20px 64px;
}

.pub-simple-article .pub-article-title {
  margin: 10px 0 16px;
  color: #17323a;
  font-size: clamp(2rem, 4.8vw, 3.6rem);
  line-height: 1.08;
  font-weight: 950;
}

.pub-simple-article .pub-article-lead {
  margin: 0 0 28px;
  padding: 0;
  border: 0;
  color: #506773;
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  line-height: 1.7;
}

.pub-simple-article-media {
  margin: 0 0 30px;
  border-radius: 18px;
  overflow: hidden;
  background: #e8f2f1;
}

.pub-simple-article-media img {
  display: block;
  width: 100%;
  height: auto;
}

.pub-simple-article .pub-article-body {
  color: #253f47;
  font-size: 1.08rem;
  line-height: 1.86;
}

.pub-simple-article .pub-article-body p {
  margin: 0 0 1.15em;
}

.pub-simple-article .pub-article-body h1,
.pub-simple-article .pub-article-body h2 {
  color: #17323a;
  line-height: 1.22;
}

.pub-simple-article .pub-article-body h2 {
  margin: 2em 0 .7em;
  font-size: 1.45rem;
}

.pub-simple-after {
  margin-top: 34px;
  padding-top: 22px;
  border-top: 1px solid rgba(15, 122, 130, .16);
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 640px) {
  .pub-simple-hero {
    padding-top: 28px;
  }

  .pub-simple-hero h1,
  .pub-simple-article .pub-article-title {
    font-size: 2rem;
  }

  .pub-simple-rubrics {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .pub-simple-rubrics::-webkit-scrollbar {
    display: none;
  }

  .pub-simple-rubrics a {
    flex: 0 0 auto;
  }

  .pub-simple-note {
    align-items: flex-start;
  }
}

/* ===== Merch page ===== */
.merch-page { background: var(--v5-bg, #f5f6fa); }

.merch-shell-outer { max-width: 1240px; margin: 0 auto; padding: 30px 18px 80px; }

/* Hero — same style as zodiac/bio */
.merch-hero-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
  padding: clamp(28px,4vw,52px);
  border-radius: 28px;
  background: linear-gradient(135deg, #0f7a82 0%, #34aa99 55%, #2a9080 100%);
  color: #fff;
  overflow: hidden;
  margin-bottom: 28px;
}
.merch-hero-card .eyebrow {
  font-size: .72rem; font-weight: 900; letter-spacing: .16em;
  text-transform: uppercase; color: rgba(255,255,255,.65); margin-bottom: 10px;
}
.merch-hero-card h1 {
  font-size: clamp(2.2rem, 4.6vw, 4.2rem); font-weight: 900;
  letter-spacing: -.05em; margin: 0 0 14px; line-height: 1.04; color: #fff;
}
.merch-hero-card p { font-size: 1rem; color: rgba(255,255,255,.82); line-height: 1.6; margin: 0; max-width: 680px; }

.merch-hero-icons {
  display: flex; flex-direction: column; align-items: center; gap: 14px; flex-shrink: 0;
}
.merch-hero-icons span {
  display: grid; place-items: center;
  width: 62px; height: 62px; border-radius: 50%;
  background: rgba(255,255,255,.18);
  font-size: 1.6rem;
  box-shadow: 0 4px 18px rgba(0,0,0,.12);
}

.merch-notice {
  margin: 0 0 20px; padding: 14px 20px;
  border-radius: 16px; font-size: .92rem; font-weight: 600;
}
.merch-notice.ok { background: #e6f8ed; color: #157644; }
.merch-notice.err { background: #fdeaea; color: #a01515; }

.merch-empty { text-align: center; padding: 80px 24px; color: #888; }
.merch-empty span { font-size: 2.5rem; display: block; margin-bottom: 16px; }
.merch-empty h3 { font-size: 1.3rem; margin: 0 0 8px; color: #444; }
.merch-empty p { margin: 0; font-size: .92rem; }

.merch-grid-new {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 24px;
}

.merch-card-new {
  background: #fff;
  border-radius: 24px;
  border: 1px solid rgba(0,0,0,.07);
  box-shadow: 0 6px 28px rgba(15,122,130,.07);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.merch-card-new:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 42px rgba(15,122,130,.13);
}

.merch-card-media {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #f2fafa;
  display: flex; align-items: center; justify-content: center;
}
.merch-card-media img {
  width: 100%; height: 100%;
  object-fit: contain;
  display: block;
  padding: 14px;
  transition: transform .35s ease;
}
.merch-card-new:hover .merch-card-media img { transform: scale(1.04); }
.merch-card-placeholder {
  width: 100%; height: 100%;
  display: grid; place-items: center;
  font-size: 3rem; font-weight: 900; color: #0f7a82;
}

.merch-card-info { padding: 20px 22px 6px; flex: 1; }
.merch-card-price { font-size: 1.25rem; font-weight: 900; color: #0f7a82; margin-bottom: 4px; }
.merch-card-info h2 { font-size: 1.1rem; font-weight: 800; margin: 0 0 6px; color: #1a1a2e; letter-spacing: -.02em; }
.merch-card-info p { font-size: .84rem; color: #666; line-height: 1.55; margin: 0; }

.merch-card-form {
  padding: 14px 22px 22px;
  display: flex; flex-direction: column; gap: 12px;
}

.merch-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.merch-field { display: flex; flex-direction: column; gap: 4px; }
.merch-field span { font-size: .68rem; font-weight: 800; color: #999; text-transform: uppercase; letter-spacing: .07em; }
.merch-field input {
  padding: 10px 13px; border-radius: 12px;
  border: 1.5px solid #e4e0f0;
  font-size: .88rem; background: #fafafa;
  transition: border-color .15s; outline: none;
}
.merch-field input:focus { border-color: #0f7a82; background: #fff; }

.merch-card-pickers { padding: 0 22px 4px; display: flex; flex-direction: column; gap: 14px; }
.merch-add-btn { margin: 6px 22px 22px; width: calc(100% - 44px); }
.merch-picker-group { display: flex; flex-direction: column; gap: 7px; }
.merch-picker-label { font-size: .68rem; font-weight: 800; color: #999; text-transform: uppercase; letter-spacing: .07em; }

@media(max-width: 768px) {
  .merch-hero-card { grid-template-columns: 1fr; border-radius: 22px; }
  .merch-hero-icons { flex-direction: row; }
}
@media(max-width: 560px) {
  .merch-form-row { grid-template-columns: 1fr; }
  .merch-grid-new { grid-template-columns: 1fr; }
  .merch-shell-outer { padding: 14px 14px 60px; }
}

/* --- Merch: contact banner & ok strip --- */
.merch-contact-banner {
  display: flex; align-items: center; gap: 16px;
  padding: 16px 20px; border-radius: 16px;
  background: #fff8e8; border: 1.5px solid #f5c842;
  margin-bottom: 24px; flex-wrap: wrap;
}
.merch-contact-banner.warn { background: #fff2f2; border-color: #f5a0a0; }
.merch-contact-banner-icon { font-size: 1.6rem; flex-shrink: 0; }
.merch-contact-banner > div { flex: 1; min-width: 180px; }
.merch-contact-banner b { display: block; font-size: .95rem; font-weight: 800; color: #7a5500; margin-bottom: 3px; }
.merch-contact-banner.warn b { color: #8a1515; }
.merch-contact-banner p { margin: 0; font-size: .83rem; color: #8a6a20; }
.merch-contact-banner.warn p { color: #8a3030; }
.merch-contact-banner a.compact { flex-shrink: 0; font-size: .83rem; padding: 9px 16px; }

.merch-contact-ok {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 16px; border-radius: 14px;
  background: #edf9f0; border: 1px solid #b8e8c8;
  font-size: .85rem; margin-bottom: 22px;
}
.merch-contact-ok > span:first-child { color: #1c8a4a; font-weight: 900; font-size: 1rem; }
.merch-contact-ok > span:last-of-type { flex: 1; color: #2a6a45; }
.merch-contact-ok a { color: #0f7a82; font-weight: 700; text-decoration: none; font-size: .8rem; }
.merch-contact-ok a:hover { text-decoration: underline; }

.merch-no-contact-btn { text-align: center; text-decoration: none; }

/* --- my.php: delivery contact card --- */
.merch-contact-card.needs-fill { border: 2px solid #f5c842 !important; }
.merch-contact-card .warn-caption { color: #b07000; font-size: .78rem; margin-top: 8px; display: block; }
.delivery-form { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.delivery-form input {
  width: 100%; padding: 10px 13px;
  border: 1.5px solid #e0daea; border-radius: 12px;
  font-size: .88rem; background: #fafafa;
  outline: none; transition: border-color .15s;
  box-sizing: border-box;
}
.delivery-form input:focus { border-color: #0f7a82; background: #fff; }

/* --- Merch: inline contact fields in card --- */
.merch-contact-inline {
  display: flex; flex-direction: column; gap: 10px;
  padding: 14px; border-radius: 16px;
  background: #f8f7ff;
  border: 1.5px solid #e4dff5;
}
.merch-save-hint {
  margin: 0; font-size: .75rem; color: #8880a8; font-style: italic;
}

/* --- my.php: delivery alert --- */
.my-delivery-alert {
  max-width: 1240px; margin: 0 auto 0; padding: 20px 24px;
  background: linear-gradient(135deg, #fff8e8, #fffcf0);
  border: 2px solid #f5c842;
  border-radius: 20px;
  margin-bottom: 20px;
}
.my-delivery-alert-head {
  display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px;
}
.my-delivery-alert-icon { font-size: 1.6rem; flex-shrink: 0; margin-top: 2px; }
.my-delivery-alert-head > div { flex: 1; }
.my-delivery-alert-head b { display: block; font-size: 1rem; font-weight: 800; color: #7a5500; margin-bottom: 3px; }
.my-delivery-alert-head p { margin: 0; font-size: .88rem; color: #9a6a10; }
.my-delivery-alert-close {
  flex-shrink: 0; border: 0; background: rgba(0,0,0,.07);
  width: 28px; height: 28px; border-radius: 50%;
  cursor: pointer; font-size: .8rem; color: #888; line-height: 1;
}
.my-delivery-form { }
.my-delivery-fields {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 10px; align-items: end;
}
.my-delivery-fields input {
  padding: 11px 14px; border-radius: 12px;
  border: 1.5px solid #e0d8b0;
  font-size: .9rem; background: #fff;
  outline: none; transition: border-color .15s;
}
.my-delivery-fields input:focus { border-color: #c8a020; }
.my-delivery-fields .primary-button { white-space: nowrap; }

@media(max-width: 768px) {
  .my-delivery-fields { grid-template-columns: 1fr 1fr; }
  .my-delivery-fields input:last-of-type { grid-column: 1/-1; }
  .my-delivery-fields .primary-button { grid-column: 1/-1; }
  .my-delivery-alert { border-radius: 16px; margin: 0 14px 16px; }
}
@media(max-width: 480px) {
  .my-delivery-fields { grid-template-columns: 1fr; }
}

/* ── Cart delivery block (sidebar + checkout) ── */
.cart-delivery-block {
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  border: 1.5px solid #c8d4ff;
  border-radius: 14px;
  padding: 14px 16px 16px;
  margin-bottom: 14px;
}
.cart-delivery-head {
  display: flex; align-items: center; gap: 8px;
  font-size: .95rem; font-weight: 600; color: #2a3a8c;
  margin-bottom: 6px;
}
.cart-delivery-head span { font-size: 1.1rem; }
.cart-delivery-sub {
  font-size: .82rem; color: #5a6898; margin: 0 0 12px;
}
.cart-delivery-fields {
  display: flex; flex-direction: column; gap: 8px;
}
.cart-delivery-fields input {
  width: 100%; box-sizing: border-box;
  padding: 10px 13px; border-radius: 10px;
  border: 1.5px solid #c8d4ff;
  font-size: .88rem; background: #fff;
  outline: none; transition: border-color .15s;
}
.cart-delivery-fields input:focus { border-color: #5a7aff; }

/* Checkout page delivery form */
.cart-delivery-form {
  background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%);
  border: 1.5px solid #c8d4ff;
  border-radius: 16px;
  padding: 16px 18px;
  margin-bottom: 16px;
  display: flex; flex-direction: column; gap: 10px;
}
.cart-delivery-form-head {
  font-size: .95rem; font-weight: 600; color: #2a3a8c;
  margin-bottom: 2px;
}
.cart-delivery-form label {
  display: flex; flex-direction: column; gap: 4px;
  font-size: .82rem; color: #5a6898; font-weight: 500;
}
.cart-delivery-form input {
  padding: 10px 13px; border-radius: 10px;
  border: 1.5px solid #c8d4ff;
  font-size: .9rem; background: #fff;
  outline: none; transition: border-color .15s;
}
.cart-delivery-form input:focus { border-color: #5a7aff; }

/* Size/color picker required highlight */
.merch-picker-required .merch-size-chip span,
.merch-picker-required .merch-color-chip span {
  border-color: #e04040 !important;
}

/* ════════════════════════════════════════════════
   Publications grid (pub-page)  v6.9.12
   ════════════════════════════════════════════════ */
.pub-page { background: #f5f7fa; }

.pub-shell {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

/* Hero card — same style as merch */
.pub-hero-card {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  background: linear-gradient(135deg, #0f7a82 0%, #0a5560 60%, #073e47 100%);
  border-radius: 28px;
  padding: clamp(28px, 5vw, 54px) clamp(24px, 5vw, 54px);
  margin: 28px 0 32px;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.pub-hero-card::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 80% 20%, rgba(255,255,255,.07) 0%, transparent 60%);
  pointer-events: none;
}
.pub-hero-card .eyebrow {
  color: rgba(255,255,255,.65);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 12px;
}
.pub-hero-card h1 {
  font-size: clamp(1.7rem, 4vw, 3rem);
  font-weight: 950;
  line-height: 1.1;
  margin: 0 0 14px;
  color: #fff;
}
.pub-hero-card p {
  margin: 0;
  font-size: 1rem;
  color: rgba(255,255,255,.75);
  line-height: 1.65;
  max-width: 600px;
}
.pub-hero-icons {
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 2rem;
  opacity: .35;
  user-select: none;
  flex-shrink: 0;
}

/* Filter tabs */
.pub-rubrics {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.pub-rubrics a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1.5px solid rgba(15,122,130,.18);
  background: #fff;
  color: #17323a;
  font-size: .9rem;
  font-weight: 750;
  text-decoration: none;
  transition: all .17s ease;
}
.pub-rubrics a b {
  font-size: .8rem;
  color: #0f7a82;
  font-weight: 700;
}
.pub-rubrics a:hover {
  border-color: #0f7a82;
  color: #0f7a82;
}
.pub-rubrics a.active {
  background: #0f7a82;
  border-color: #0f7a82;
  color: #fff;
}
.pub-rubrics a.active b {
  color: rgba(255,255,255,.8);
}

/* Card grid */
.pub-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

/* Base card */
.pub-card {
  background: #fff;
  border-radius: 20px;
  border: 1px solid rgba(15,122,130,.09);
  box-shadow: 0 4px 20px rgba(15,50,58,.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.pub-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(15,50,58,.11);
}

.pub-card-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none;
  color: inherit;
}

/* Featured first card — full width */
.pub-card-featured {
  grid-column: 1 / -1;
  flex-direction: row;
}
.pub-card-featured .pub-card-link {
  flex-direction: row;
}
.pub-card-featured .pub-card-img {
  width: 48%;
  flex-shrink: 0;
  aspect-ratio: unset;
}
.pub-card-featured .pub-card-img img {
  height: 100%;
  object-fit: cover;
}
.pub-card-featured .pub-card-body {
  padding: clamp(24px, 4vw, 40px);
  justify-content: center;
}
.pub-card-featured .pub-card-body h2 {
  font-size: clamp(1.3rem, 2.4vw, 1.9rem);
  line-height: 1.22;
}
.pub-card-featured .pub-card-body p {
  font-size: .97rem;
  -webkit-line-clamp: 4;
}

/* Card image */
.pub-card-img {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #e8f5f5;
}
.pub-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.pub-card:hover .pub-card-img img {
  transform: scale(1.04);
}
.pub-card-cat {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(15,122,130,.88);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .09em;
  padding: 4px 10px;
  border-radius: 999px;
  backdrop-filter: blur(4px);
}

/* Card body */
.pub-card-body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.pub-card-date {
  font-size: .75rem;
  color: #9aabb0;
  font-weight: 700;
  letter-spacing: .04em;
  margin-bottom: 8px;
  display: block;
}
.pub-card-body h2 {
  font-size: 1.05rem;
  font-weight: 880;
  line-height: 1.3;
  color: #17323a;
  margin: 0 0 10px;
}
.pub-card-body p {
  margin: 0;
  font-size: .88rem;
  color: #607a83;
  line-height: 1.62;
  flex: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.pub-card-cta {
  display: inline-flex;
  margin-top: 14px;
  font-size: .85rem;
  font-weight: 900;
  color: #0f7a82;
  letter-spacing: .02em;
}

/* Empty state */
.pub-empty {
  text-align: center;
  padding: 80px 20px;
  color: #999;
}
.pub-empty span { display: block; font-size: 2.4rem; margin-bottom: 16px; }
.pub-empty h3 { font-size: 1.3rem; color: #444; margin: 0 0 8px; }
.pub-empty p { margin: 0; font-size: .92rem; }

/* Pagination */
.pub-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.pub-page-btn {
  padding: 10px 20px;
  border-radius: 12px;
  border: 1.5px solid rgba(15,122,130,.2);
  background: #fff;
  color: #0f7a82;
  font-weight: 750;
  font-size: .9rem;
  text-decoration: none;
  transition: all .15s;
}
.pub-page-btn:hover { background: #0f7a82; color: #fff; border-color: #0f7a82; }
.pub-page-btn.disabled { opacity: .35; pointer-events: none; }
.pub-page-nums {
  display: flex;
  gap: 6px;
  align-items: center;
}
.pub-page-num {
  min-width: 38px; height: 38px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px;
  border: 1.5px solid rgba(15,122,130,.18);
  background: #fff;
  color: #17323a;
  font-weight: 750;
  font-size: .9rem;
  text-decoration: none;
  transition: all .15s;
}
.pub-page-num:hover { border-color: #0f7a82; color: #0f7a82; }
.pub-page-num.active {
  background: #0f7a82;
  border-color: #0f7a82;
  color: #fff;
}
.pub-page-ellipsis { color: #aaa; padding: 0 4px; }

/* Responsive */
@media (max-width: 960px) {
  .pub-grid { grid-template-columns: repeat(2, 1fr); }
  .pub-card-featured { grid-column: 1 / -1; }
  .pub-card-featured .pub-card-link { flex-direction: column; }
  .pub-card-featured .pub-card-img { width: 100%; aspect-ratio: 16/9; }
  .pub-card-featured .pub-card-img img { height: 100%; }
}
@media (max-width: 620px) {
  .pub-grid { grid-template-columns: 1fr; }
  .pub-hero-card { grid-template-columns: 1fr; }
  .pub-hero-icons { display: none; }
  .pub-shell { padding: 0 14px 60px; }
  .pub-hero-card { margin: 16px 0 24px; border-radius: 20px; }
}

/* ── Delete account zone ── */
/* ── Danger zone (delete account) ── */
.delete-zone-idle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: #fff;
  border: 1.5px solid rgba(192,57,43,.18);
  border-radius: 18px;
  padding: 20px 24px;
}
.delete-zone-idle > div { flex: 1; min-width: 0; }
.delete-zone-label {
  display: inline-block;
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #c0392b;
  margin-bottom: 6px;
}
.delete-zone-idle p {
  margin: 0;
  font-size: .88rem;
  color: #777;
  line-height: 1.6;
  max-width: 520px;
}
.delete-zone-btn {
  flex-shrink: 0;
  background: none;
  border: 1.5px solid rgba(192,57,43,.35);
  color: #c0392b;
  border-radius: 12px;
  padding: 10px 20px;
  font-size: .88rem;
  font-weight: 750;
  cursor: pointer;
  transition: all .15s;
  white-space: nowrap;
}
.delete-zone-btn:hover {
  background: #c0392b;
  border-color: #c0392b;
  color: #fff;
}
.delete-zone-confirm {
  background: linear-gradient(135deg, #fff5f4 0%, #fff0ee 100%);
  border: 1.5px solid rgba(192,57,43,.25);
  border-radius: 18px;
  padding: 24px 28px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.delete-zone-confirm-icon { font-size: 2rem; flex-shrink: 0; margin-top: 2px; }
.delete-zone-confirm-text { flex: 1; min-width: 200px; }
.delete-zone-confirm-text b { font-size: 1.05rem; font-weight: 900; color: #8b1a0e; display: block; margin-bottom: 10px; }
.delete-zone-confirm-text ul { margin: 0; padding-left: 18px; color: #7a3028; font-size: .88rem; line-height: 2; }
.delete-zone-confirm-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 4px;
}
.danger-button {
  background: #c0392b;
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 12px 24px;
  font-weight: 800;
  font-size: .9rem;
  cursor: pointer;
  transition: background .15s;
}
.danger-button:hover { background: #a93226; }

.delete-zone-pending {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #fff8e6;
  border: 1.5px solid #f5d87a;
  border-radius: 18px;
  padding: 20px 24px;
  flex-wrap: wrap;
}
.delete-zone-pending-icon { font-size: 1.6rem; flex-shrink: 0; margin-top: 2px; }
.delete-zone-pending-text { flex: 1; min-width: 200px; }
.delete-zone-pending-text b { font-size: .95rem; color: #7a5c00; display: block; margin-bottom: 4px; }
.delete-zone-pending-text p { margin: 0; font-size: .85rem; color: #9a7a20; line-height: 1.6; }

/* Archive row actions */
.archive-row-actions { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.archive-row-actions .archive-button:last-child {
  color: #c0392b;
  border-color: #f5c6c6;
}
.archive-row-actions .archive-button:last-child:hover {
  background: #fff0f0;
  border-color: #c0392b;
}

/* ── Reading service card (consultation) ── */
.reading-service-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(15, 122, 130, .12);
  border-radius: 16px;
  padding: 16px 18px;
  text-decoration: none;
  color: inherit;
  transition: all .2s ease;
  margin-top: 16px;
}
.reading-service-card:hover {
  border-color: rgba(15, 122, 130, .28);
  box-shadow: 0 6px 20px rgba(11, 76, 86, .08);
}
.reading-service-card > span { font-size: 1.3rem; flex-shrink: 0; }
.reading-service-card b { font-size: .95rem; font-weight: 800; color: #17323a; }
.reading-service-card small { font-size: .75rem; font-weight: 700; color: #0f7a82; text-transform: uppercase; letter-spacing: .06em; }
.reading-service-card p { margin: 4px 0 0; font-size: .82rem; color: #666; }
.reading-service-card > a { margin-left: auto; flex-shrink: 0; font-weight: 800; color: #0f7a82; }
.reading-service-card.is-mv-paid > a { background: #5c3be8; color: #fff !important; padding: 9px 12px; border-radius: 11px; font-size: .76rem; }
.reading-service-card.is-mv-paid small { color: #5c3be8; }

/* Reading service strip */
.reading-service-strip {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(0,0,0,.06);
}
.daily-page .reading-service-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
  padding-top: 0;
  border-top: 0;
}
.daily-page .reading-service-strip .reading-service-card {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr auto;
  align-items: start;
  gap: 10px 12px;
  margin-top: 0;
  min-height: 100%;
  padding: 16px;
}
.daily-page .reading-service-strip .reading-service-card > span {
  grid-row: 1 / 3;
  grid-column: 1;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(15, 122, 130, .1);
  color: #0f7a82;
  font-size: 1.15rem;
  font-weight: 800;
}
.daily-page .reading-service-strip .reading-service-card > div {
  grid-column: 2;
  grid-row: 1 / 3;
  min-width: 0;
}
.daily-page .reading-service-strip .reading-service-card small {
  display: block;
  margin: 0 0 4px;
  font-size: .7rem;
  font-weight: 700;
  color: #0f7a82;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1.35;
  white-space: normal;
}
.daily-page .reading-service-strip .reading-service-card b {
  display: block;
  font-size: .92rem;
  font-weight: 800;
  color: #17323a;
  line-height: 1.3;
  white-space: normal;
}
.daily-page .reading-service-strip .reading-service-card p {
  margin: 6px 0 0;
  font-size: .78rem;
  line-height: 1.45;
  color: #5f6b73;
}
.daily-page .reading-service-strip .reading-service-card > a {
  grid-column: 1 / -1;
  grid-row: 3;
  margin: 4px 0 0;
  padding: 10px 14px;
  border-radius: 11px;
  background: #0f7a82;
  color: #fff !important;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 750;
  text-align: center;
  white-space: normal;
}
.daily-page .reading-service-strip .reading-service-card > a:hover {
  filter: brightness(1.05);
}
@media (max-width: 1100px) {
  .daily-page .reading-service-strip { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .daily-page .reading-service-strip { grid-template-columns: 1fr; }
}
.daily-action-chip {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  margin-bottom: 14px;
  border-radius: 18px;
  border: 1px solid rgba(15, 122, 130, .22);
  background: linear-gradient(135deg, #f4fdfd, #fff);
  box-shadow: 0 8px 22px rgba(11, 76, 86, .06);
}
.daily-action-glyph {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(15, 122, 130, .12);
  color: #0f7a82;
  font-size: 1.2rem;
  font-weight: 800;
}
.daily-action-chip b {
  display: block;
  font-size: .95rem;
  color: #17323a;
  line-height: 1.45;
}
.daily-action-chip p {
  margin: 6px 0 0;
  font-size: .82rem;
  color: #5a6a70;
  line-height: 1.5;
}
.daily-sky-strip,
.daily-biorhythm-strip {
  margin-bottom: 14px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(0, 0, 0, .06);
  background: #fff;
}
.daily-sky-head,
.daily-biorhythm-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.daily-sky-head b,
.daily-biorhythm-head b {
  font-size: .92rem;
  color: #17323a;
}
.daily-sky-planet {
  font-size: .78rem;
  font-weight: 800;
  color: #0f7a82;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(15, 122, 130, .1);
}
.daily-sky-hint,
.daily-sky-positions,
.daily-sky-retro,
.daily-biorhythm-hint {
  margin: 0 0 6px;
  font-size: .82rem;
  color: #5a6a70;
  line-height: 1.5;
}
.daily-sky-retro.is-calm { color: #7a8a90; }
.daily-sky-aspects {
  margin: 8px 0 0;
  padding-left: 18px;
  font-size: .8rem;
  color: #5a6a70;
  line-height: 1.45;
}
.daily-sky-aspects li + li { margin-top: 4px; }
.daily-biorhythm-head span {
  font-size: .78rem;
  font-weight: 800;
  color: #0f7a82;
}
.daily-biorhythm-bars {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}
.daily-biorhythm-bar {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 10px;
  align-items: center;
}
.daily-biorhythm-bar em {
  font-size: .75rem;
  font-weight: 700;
  color: #666;
  font-style: normal;
}
.daily-biorhythm-track {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: rgba(15, 122, 130, .12);
  overflow: hidden;
}
.daily-biorhythm-track i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #0f7a82, #5ec4c9);
}
.daily-biorhythm-bar b {
  font-size: .75rem;
  color: #17323a;
  min-width: 34px;
  text-align: right;
}

/* ── Guest choice (cart.php) ── */
.guest-choice { margin: 24px 0 0; }
.guest-choice-label { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: #999; margin-bottom: 10px; }
.guest-choice-options { display: flex; gap: 10px; margin-bottom: 16px; }
.guest-choice-btn {
  flex: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  padding: 14px 16px; border: 2px solid var(--border, #e0d9f5); border-radius: 12px;
  background: #fff; cursor: pointer; text-align: left; transition: border-color .15s, box-shadow .15s;
}
.guest-choice-btn:hover { border-color: #0f7a82; }
.guest-choice-btn.active { border-color: #0f7a82; background: #f4fdfd; box-shadow: 0 0 0 3px rgba(15,122,130,.12); }
.guest-choice-icon { font-size: 1.3rem; line-height: 1; margin-bottom: 4px; color: #0f7a82; }
.guest-choice-title { font-size: .92rem; font-weight: 800; color: #17323a; }
.guest-choice-sub { font-size: .78rem; color: #888; }
.guest-panel { display: flex; flex-direction: column; gap: 12px; }
.guest-panel label { display: flex; flex-direction: column; gap: 4px; font-size: .85rem; font-weight: 700; color: #444; }
.guest-panel input { padding: .55rem .75rem; border: 2px solid var(--border,#e0d9f5); border-radius: 8px; font-size: .95rem; width: 100%; box-sizing: border-box; }
.guest-panel input:focus { border-color: #0f7a82; outline: none; }
@media (max-width: 480px) {
  .guest-choice-options { flex-direction: column; }
}

/* ── Product option cards (pay.php) ── */
.product-option {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: start;
  gap: 14px;
  padding: 18px 20px;
  border: 2px solid #e0d9f5;
  border-radius: 20px;
  cursor: pointer;
  transition: border-color .15s, background .15s, box-shadow .15s;
  margin: 6px 0;
  background: #fff;
}
.product-option input[type="checkbox"],
.product-option input[type="radio"] { display: none; }
.product-option.selected {
  border-color: #0f7a82;
  background: #f4fdfd;
  box-shadow: 0 0 0 3px rgba(15,122,130,.1);
}
.pay-alacarte-label {
  margin: 14px 0 10px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #8a8498;
}
.pay-alacarte-label.is-hidden,
.pay-alacarte-block.is-hidden,
.pay-bundle-included-note.is-hidden {
  display: none !important;
}
.pay-bundle-included-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin: 12px 0 4px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1.5px solid #ddd5f8;
  background: linear-gradient(135deg, #f4f0ff 0%, #fff 70%);
}
.pay-bundle-included-icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #6c51dc;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 1rem;
  line-height: 1;
}
.pay-bundle-included-copy b {
  display: block;
  margin: 0 0 4px;
  font-size: .92rem;
  color: #18142e;
}
.pay-bundle-included-copy p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.5;
  color: #5f5a72;
}
.pay-bundle-option {
  border-color: #c4b5fd;
  background: linear-gradient(135deg, #faf8ff 0%, #f3efff 100%);
}
.pay-bundle-option.selected {
  border-color: #6c52e8;
  background: linear-gradient(135deg, #f5f0ff 0%, #ebe4ff 100%);
  box-shadow: 0 0 0 3px rgba(108,82,232,.14);
}
.pay-bundle-option .product-check {
  background: linear-gradient(135deg, #6c52e8, #7c3aed);
  color: #fff;
  border: none;
}
.product-check {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #ccc;
  display: grid;
  place-items: center;
  font-size: .9rem;
  color: transparent;
  flex-shrink: 0;
  margin-top: 2px;
  transition: background .15s, border-color .15s, color .15s;
}
.product-option.selected .product-check {
  background: #0f7a82;
  border-color: #0f7a82;
  color: #fff;
}
.product-copy {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.product-copy > small {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #0f7a82;
}
.product-copy > b {
  font-size: 1rem;
  font-weight: 800;
  color: #17323a;
  line-height: 1.3;
}
.product-copy > em {
  font-style: normal;
  font-size: .82rem;
  color: #666;
  margin-top: 2px;
  line-height: 1.45;
}
.product-option > strong {
  text-align: right;
  white-space: nowrap;
  padding-top: 2px;
}
.product-option > strong u {
  display: block;
  font-size: 1.3rem;
  font-weight: 900;
  text-decoration: none;
  color: #17323a;
}
.product-option > strong small {
  display: block;
  font-size: .72rem;
  color: #888;
  margin-top: 2px;
  line-height: 1.4;
  font-weight: 600;
}

/* ── Daily pricing tiers on checkout (pay.php) ── */
.daily-checkout-pricing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 10px;
}
.daily-checkout-pricing--single {
  grid-template-columns: 1fr;
}
.daily-checkout-tier {
  padding: 10px 12px;
  border-radius: 14px;
  border: 1.5px solid rgba(118, 87, 255, .14);
  background: linear-gradient(145deg, #faf8ff, #fff);
  transition: border-color .15s, box-shadow .15s, background .15s;
}
#dailyPricingTiers .daily-checkout-tier {
  cursor: pointer;
  user-select: none;
}
#dailyPricingTiers .daily-checkout-tier:hover:not(.is-active) {
  border-color: rgba(15, 122, 130, .35);
}
#dailyPricingTiers .daily-checkout-tier:focus-visible {
  outline: 2px solid #0f7a82;
  outline-offset: 2px;
}
.daily-checkout-tier.is-active {
  border-color: #0f7a82;
  background: linear-gradient(135deg, #f2fcfc, #fff9ef);
  box-shadow: 0 0 0 3px rgba(15, 122, 130, .08);
}
.daily-checkout-tier em {
  display: block;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #7a68d8;
  font-style: normal;
  margin-bottom: 5px;
}
.daily-checkout-tier p {
  margin: 0;
  font-size: .78rem;
  line-height: 1.35;
  color: #5f5878;
}
.daily-checkout-tier p b {
  font-size: .95rem;
  color: #563fd1;
  font-weight: 900;
}
.daily-checkout-tier p span {
  color: #7a7390;
}
.daily-checkout-next {
  margin-top: 4px !important;
  font-size: .7rem !important;
  color: #8a8498 !important;
}
.daily-checkout-next b {
  font-size: .78rem !important;
  color: #4f4967 !important;
}
.daily-price-display {
  text-align: right;
  white-space: nowrap;
  padding-top: 2px;
}
.daily-price-display u {
  display: block;
  font-size: 1.3rem;
  font-weight: 900;
  text-decoration: none;
  color: #17323a;
}
.daily-price-display small {
  display: block;
  font-size: .72rem;
  color: #888;
  margin-top: 2px;
  line-height: 1.4;
  font-weight: 600;
}

.checkout-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 16px 0 4px;
  font-size: 1rem;
  font-weight: 700;
  color: #444;
  border-top: 1px solid #eee6fb;
  margin-top: 8px;
}
.checkout-total strong { font-size: 1.6rem; color: #17323a; }

/* ── cart-checkout-form layout ── */
.cart-checkout-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.cart-checkout-form > label {
  font-weight: 800;
  color: #2e2057;
  font-size: .9rem;
}
.cart-checkout-form > label + input,
.cart-checkout-form > input {
  display: block;
  width: 100%;
  padding: .6rem .85rem;
  border: 2px solid #e0d9f5;
  border-radius: 10px;
  font-size: .95rem;
  box-sizing: border-box;
}
.cart-checkout-form > label + input:focus,
.cart-checkout-form > input:focus { border-color: #0f7a82; outline: none; }

@media (max-width: 560px) {
  .product-option { grid-template-columns: auto 1fr; gap: 12px; padding: 14px 16px; }
  .product-option > strong,
  .product-option > .daily-price-display { grid-column: 2; text-align: left; }
  .daily-checkout-pricing { grid-template-columns: 1fr; }
}

/* ── Daily first-time button with note ── */
a.daily-first-btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 1px !important;
  line-height: 1.2 !important;
}
a.daily-first-btn small {
  font-size: .68rem !important;
  font-weight: 600 !important;
  color: #0f7a82 !important;
}

/* ── Левый сайдбар продуктовых вкладок + правый сайдбар глав (десктоп) ── */
@media(min-width:900px){
  /* result-shell — сетка: левое меню | контент */
  /* Вариант А: productTabs внутри main (result, natal, daily) */
  .result-v3 main.result-shell,
  .natal-page main.result-shell,
  .daily-page main.result-shell {
    display: grid;
    grid-template-columns: 188px minmax(0,1fr);
    gap: 0 20px;
    align-items: start;
    padding-left: 0;
    padding-right: 0;
  }

  /* Вариант Б: productTabs снаружи main (family, biorhythms, consult, astrologer) */
  .result-page-layout {
    display: grid;
    grid-template-columns: 188px minmax(0,1fr);
    gap: 0 20px;
    align-items: start;
    width: min(1240px, calc(100% - 32px));
    margin: 0 auto;
  }
  .result-page-layout > main {
    grid-column: 2;
    min-width: 0;
    padding-top: 22px;
  }
  /* Левый сайдбар — продуктовые вкладки (все страницы) */
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs] {
    grid-column: 1;
    grid-row: 1;
    position: sticky !important;
    top: 82px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
    overflow-x: visible !important;
    overflow-y: auto;
    max-height: calc(100vh - 100px);
    padding: 10px 8px !important;
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(218,211,239,.9);
    box-shadow: 0 12px 35px rgba(38,29,86,.08);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    z-index: 25;
    margin: 22px 0 0 !important;
    scrollbar-width: none;
  }
  .result-v3 .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .natal-page .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .daily-page .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .result-page-layout .result-product-tabs[data-product-tabs]::-webkit-scrollbar { display: none; }
  /* Каждый пункт меню */
  .result-v3 .result-product-tabs[data-product-tabs] > a,
  .natal-page .result-product-tabs[data-product-tabs] > a,
  .daily-page .result-product-tabs[data-product-tabs] > a,
  .result-page-layout .result-product-tabs[data-product-tabs] > a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
    font-size: .78rem !important;
    font-weight: 640;
    color: #5f5670;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 38px;
    line-height: 1.25;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    flex: none !important;
    text-decoration: none;
    transition: background .14s, color .14s;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a span,
  .natal-page .result-product-tabs[data-product-tabs] > a span,
  .daily-page .result-product-tabs[data-product-tabs] > a span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a span {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 10px;
    background: #f0ecf8;
    color: #786b90;
    display: grid;
    place-items: center;
    font-size: 1rem;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a:hover,
  .natal-page .result-product-tabs[data-product-tabs] > a:hover,
  .daily-page .result-product-tabs[data-product-tabs] > a:hover,
  .result-page-layout .result-product-tabs[data-product-tabs] > a:hover {
    background: #f5f2fb !important;
    color: #3d2f8a;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a.active,
  .natal-page .result-product-tabs[data-product-tabs] > a.active,
  .daily-page .result-product-tabs[data-product-tabs] > a.active,
  .result-page-layout .result-product-tabs[data-product-tabs] > a.active {
    background: #ede8ff !important;
    color: #4a2fcb !important;
    font-weight: 780;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a.active span,
  .natal-page .result-product-tabs[data-product-tabs] > a.active span,
  .daily-page .result-product-tabs[data-product-tabs] > a.active span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a.active span {
    background: #6c51dc;
    color: #fff;
  }
  .result-v3 .result-product-tabs[data-product-tabs] .tabs-sep,
  .natal-page .result-product-tabs[data-product-tabs] .tabs-sep,
  .daily-page .result-product-tabs[data-product-tabs] .tabs-sep,
  .result-page-layout .result-product-tabs[data-product-tabs] .tabs-sep {
    height: 1px;
    background: rgba(218,211,239,.7);
    margin: 2px 4px;
    flex: none;
  }
  /* Пункт «Скачать PDF» — выделен как кнопка-действие */
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] {
    background: linear-gradient(135deg, #6c52e8 0%, #9b7dff 100%) !important;
    color: #fff !important;
    font-weight: 700;
    margin-top: 6px;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] span,
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] span,
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] span {
    background: rgba(255,255,255,.22) !important;
    color: #fff !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]:hover,
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]:hover,
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]:hover,
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]:hover {
    background: linear-gradient(135deg, #5b43d6 0%, #8a6ee8 100%) !important;
    color: #fff !important;
  }
  /* Основная колонка контента */
  .result-v3 .result-main-col {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
  }

  .result-v3.is-paid #panel-hd {
    display: grid;
    grid-template-columns: minmax(0,1fr) 252px;
    grid-template-areas: 'content nav';
    gap: 0 22px;
    align-items: start;
  }
  .result-v3.is-paid .reading-navigator {
    grid-area: nav;
    position: sticky;
    top: 82px;
    margin: 0;
    align-self: start;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    scrollbar-width: thin;
    z-index: 25;
  }
  .result-v3.is-paid .result-content-col {
    grid-area: content;
    min-width: 0;
  }
  /* глав-список — вертикально */
  .result-v3.is-paid .reading-chapter-list {
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: visible;
    scroll-snap-type: none;
    gap: 4px;
    padding: 0;
    margin-top: 8px;
  }
  .result-v3.is-paid .reading-chapter-link {
    flex: none;
    width: 100%;
    grid-template-columns: 26px minmax(0,1fr) auto;
    min-height: 40px;
    padding: 7px 10px;
  }
  .result-v3.is-paid .reading-chapter-link small { display: none; }
  .result-v3.is-paid .reading-chapter-link b { font-size: .72rem; white-space: normal; line-height: 1.3; }
  .result-v3.is-paid .reading-nav-toggle { display: none; }
  .result-v3.is-paid .reading-navigator-main { grid-template-columns: 1fr; }
  .result-v3.is-paid .reading-current small { display: block; }
}

/* ══ Reading v3 — одна колонка, журнальная типографика ══ */

/* Убираем сетку, делаем вертикальный поток */
.reading-grid-v3 {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 12px;
}

/* Карточка → раздел с разделителем снизу */
.reading-card-v3 {
  position: relative;
  padding: 38px 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #ede8f5;
  box-shadow: none;
  overflow: visible;
}
.reading-card-v3:last-child { border-bottom: 0; }
.reading-card-v3.featured { background: transparent; border-color: #ede8f5; }
.reading-card-v3:hover { transform: none !important; box-shadow: none !important; }

/* Номер — маленький лейбл над заголовком */
.reading-card-v3 .reading-number {
  position: static;
  display: block;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .16em;
  color: #9b8ccc;
  opacity: 1;
  margin-bottom: 4px;
  line-height: 1;
}

/* Лейбл раздела */
.reading-card-v3 .block-label {
  font-size: .62rem;
  color: #8570c8;
  letter-spacing: .14em;
}

/* Заголовок раздела — крупный, читаемый */
.reading-card-v3 h3 {
  font-size: 1.55rem;
  line-height: 1.22;
  margin: 6px 0 20px;
  max-width: 100%;
  color: #1a1335;
  letter-spacing: -.035em;
}

/* Основной текст */
.reading-card-v3 .reading-text {
  font-size: 1.02rem;
  line-height: 1.85;
  color: #3d3550;
}

/* Подглавы — без рамок, просто текстовые секции */
.reading-card-v3 .reading-subchapter {
  margin: 28px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.reading-card-v3 .reading-subchapter:first-child { margin-top: 0; }
.reading-card-v3 .reading-subchapter h4 {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #7a69b8;
  margin: 0 0 8px;
  font-weight: 900;
}
.reading-card-v3 .reading-subchapter p {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.85;
  color: #3d3550;
}

/* Premium tail */
.reading-card-v3 .premium-tail {
  margin: 24px 0 0;
  border-radius: 16px;
}

/* ── Быстрые параметры карты (над блоками HD) ── */
.hd-quick-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 28px;
  padding: 20px 22px;
  background: linear-gradient(135deg, #f8f6ff, #f2eeff);
  border: 1px solid #e0d8f7;
  border-radius: 20px;
}
.hd-quick-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 120px;
}
.hd-quick-stat small {
  font-size: .6rem;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9588c4;
}
.hd-quick-stat b {
  font-size: .92rem;
  font-weight: 820;
  color: #2a1f54;
  line-height: 1.3;
}

/* Убираем guide-панель — она теперь не нужна, info уже в quick-stats */
.reading-guide-panel { display: none; }

/* ══ Gates: closed by default, + / − icon ══ */
.gate-meaning summary > i { font-style: normal; }
/* closed: + stays as + */
/* open: rotate 45° = × is unwanted — override with − via content */
.gate-meaning[open] summary > i {
  transform: none;
  background: #6a4fd5;
  color: #fff;
  /* use CSS to show − instead of × */
  font-size: 1.1rem;
  line-height: 1;
}

/* ══ Author strip ══ */
.hd-author-strip {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 13px 18px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f5f3ff, #fdf9ff);
  border: 1px solid #e8e1f8;
}
.hd-author-icon {
  flex: 0 0 auto;
  font-size: 1.1rem;
  color: #7b5fd4;
  opacity: .7;
}
.hd-author-strip p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.5;
  color: #6b5f8a;
}
.hd-author-strip b {
  color: #4a3882;
  font-weight: 820;
}

/* ══ Переключатель режима чтения ══ */
.reading-mode-switch {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
}
.mode-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  border-radius: 99px;
  border: 1.5px solid #ddd6f5;
  background: #fff;
  color: #7a6aae;
  font-size: .8rem;
  font-weight: 800;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s, box-shadow .15s;
  white-space: nowrap;
}
.mode-btn:hover { border-color: #bba9ef; background: #f7f4ff; }
.mode-btn.active {
  background: linear-gradient(135deg, #5b46e8, #7b60f0);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 6px 18px rgba(91,70,232,.28);
}
.mode-ai-badge {
  display: inline-block;
  background: rgba(255,255,255,.25);
  border-radius: 5px;
  padding: 1px 5px;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.mode-btn.active .mode-ai-badge { background: rgba(255,255,255,.3); }
.mode-btn.mode-btn-locked {
  opacity: .72;
  cursor: not-allowed;
  border-style: dashed;
}
.mode-btn.mode-btn-locked:hover {
  border-color: #e5dfef;
  background: #fff;
}
.reading-mode-note {
  margin: 6px 0 0;
  max-width: 420px;
  font-size: .82rem;
  line-height: 1.45;
  color: #7a7390;
}

/* Загрузка простого режима */
.simple-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 48px 0;
  color: #9588c4;
  font-size: .9rem;
}
.simple-loading span {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: rgba(104,71,245,.35);
  animation: typing-dot 1.2s infinite both;
  margin: 0 3px;
}
.simple-loading span:nth-child(2) { animation-delay: .2s; }
.simple-loading span:nth-child(3) { animation-delay: .4s; }
.simple-loading p { margin: 8px 0 0; }

/* Карточка простого режима */
.simple-card .reading-number {
  color: #7fc4a0;
  font-weight: 900;
}
.simple-card h3 { color: #1a3d2e; }
.simple-text { font-size: 1.05rem; line-height: 1.9; color: #2e4a3c; }
.simple-text p { margin: 0; }
.simple-error { color: #c0392b; padding: 20px 0; font-size: .9rem; }

/* ══ Ворота: 3 колонки, вся карточка кликабельна ══ */

/* 3 колонки вместо 2 */
.gate-meaning-list {
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 8px !important;
}

/* Открытая карточка — на всю ширину */
.gate-meaning[open] {
  grid-column: 1 / -1 !important;
}

/* Summary — вся карточка = кнопка */
.gate-meaning summary {
  padding: 14px 16px !important;
  cursor: pointer !important;
  user-select: none;
  -webkit-user-select: none;
  transition: background .14s;
}
.gate-meaning:not([open]) summary:hover {
  background: #f5f1ff;
}
.gate-meaning:not([open]) {
  cursor: pointer;
}

/* Убираем маленький плюсик — делаем стрелку на всю высоту справа */
.gate-meaning summary > i {
  width: 28px !important;
  height: 28px !important;
  font-size: .95rem !important;
  border-radius: 10px !important;
}

/* Закрытое состояние — более компактное */
.gate-meaning:not([open]) summary {
  padding: 12px 14px !important;
}
.gate-meaning:not([open]) .gate-meaning-badge {
  min-width: 36px !important;
  height: 36px !important;
  font-size: .78rem !important;
  border-radius: 10px !important;
}

/* Мобайл — 2 колонки */
@media (max-width: 700px) {
  .gate-meaning-list {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

/* ══ Gate Reader — чип-навигатор ══ */
.gate-reader { margin-top: 17px; }

.gate-reader-block {
  border: 1px solid #e5def3;
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
}

.gate-reader-head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 18px 22px 12px;
  background: linear-gradient(135deg, #faf8ff, #f4f0ff);
  border-bottom: 1px solid #ede6f8;
}
.gate-reader-head p {
  margin: 0;
  font-size: .76rem;
  color: #7d7588;
}

/* Ряд чипов — горизонтальный скролл */
.gate-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 14px 18px;
  border-bottom: 1px solid #f0eaf8;
}

.gate-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1.5px solid #e2d9f5;
  background: #faf8ff;
  cursor: pointer;
  transition: background .13s, border-color .13s, box-shadow .13s;
  min-width: 58px;
  text-align: center;
}
.gate-chip:hover {
  background: #f0ebff;
  border-color: #bba9ef;
}
.gate-chip.active {
  background: linear-gradient(135deg, #5b46e8, #7b60f0);
  border-color: transparent;
  box-shadow: 0 4px 14px rgba(91,70,232,.28);
  color: #fff;
}
.gate-chip-num {
  font-size: .88rem;
  font-weight: 900;
  color: #4a3882;
  line-height: 1;
}
.gate-chip.active .gate-chip-num { color: #fff; }
.gate-chip-title {
  font-size: .58rem;
  color: #9588c4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 70px;
  line-height: 1.2;
}
.gate-chip.active .gate-chip-title { color: rgba(255,255,255,.8); }
.gate-chip.channel .gate-chip-num { font-size: .75rem; }

/* Панель с текстом — показывается одна */
.gate-reader-panel { padding: 0; }

.gate-panel-item { display: none; padding: 22px 24px 26px; }
.gate-panel-item.active { display: block; }

.gate-panel-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f0eaf8;
}
.gate-panel-label .gate-meaning-badge { flex-shrink: 0; }
.gate-panel-label div small { display: block; color: #988fa3; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.gate-panel-label div b { display: block; color: #2a1f54; font-size: 1.05rem; margin-top: 2px; }

@media (max-width: 600px) {
  .gate-chip { min-width: 50px; padding: 7px 8px; }
  .gate-chip-title { max-width: 55px; font-size: .54rem; }
  .gate-panel-item { padding: 16px 16px 20px; }
}

/* ── Personal reader (horoscopes chip UI) ── */
.personal-reader-section { margin-top: 36px; }

.personal-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 0;
}

.personal-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1.5px solid #e2d9f5;
  background: #faf8ff;
  cursor: pointer;
  transition: background .13s, border-color .13s, box-shadow .13s;
  min-width: 80px;
  text-align: center;
}
.personal-chip:hover { background: #f0ebff; border-color: #bba9ef; }
.personal-chip-icon { font-size: 1.1rem; line-height: 1; }
.personal-chip-label { font-size: .62rem; font-weight: 700; color: #6b5b9e; text-transform: uppercase; letter-spacing: .04em; line-height: 1.2; }

.personal-chip.violet { border-color: #c4b2f5; }
.personal-chip.aqua   { border-color: #a8dfcf; }
.personal-chip.gold   { border-color: #e6ca78; }
.personal-chip.coral  { border-color: #f0a8b0; }

.personal-chip.active.violet { background: linear-gradient(135deg,#5b46e8,#7b60f0); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(91,70,232,.3); }
.personal-chip.active.aqua   { background: linear-gradient(135deg,#14967f,#20c4a8); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(20,150,127,.3); }
.personal-chip.active.gold   { background: linear-gradient(135deg,#a57917,#d4a520); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(165,121,23,.3); }
.personal-chip.active.coral  { background: linear-gradient(135deg,#d14d5b,#e8697a); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(209,77,91,.3); }
.personal-chip.active .personal-chip-label { color: rgba(255,255,255,.85); }

.personal-reader-panel { margin-top: 16px; }

.personal-reader-item { display: none; padding: 30px 28px 36px; border-radius: 22px; background: #fff; border: 1px solid #e8e2f5; }
.personal-reader-item.active { display: block; }

.personal-reader-item.violet { border-color: #d8cefc; background: linear-gradient(160deg,#fff,#f7f4ff); }
.personal-reader-item.aqua   { border-color: #b8e8dd; background: linear-gradient(160deg,#fff,#f0fbf8); }
.personal-reader-item.gold   { border-color: #f0d88a; background: linear-gradient(160deg,#fff,#fffbef); }
.personal-reader-item.coral  { border-color: #f5bfc5; background: linear-gradient(160deg,#fff,#fff5f6); }

.personal-reader-item-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.personal-item-badge {
  width: 48px; height: 48px;
  border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.35rem;
  flex-shrink: 0;
}
.personal-item-badge.violet { background: linear-gradient(135deg,#ede7ff,#ddd4fa); color: #5b46e8; }
.personal-item-badge.aqua   { background: linear-gradient(135deg,#d6f5ee,#c0ece3); color: #14967f; }
.personal-item-badge.gold   { background: linear-gradient(135deg,#fff2cc,#fde8a0); color: #a57917; }
.personal-item-badge.coral  { background: linear-gradient(135deg,#ffe0e4,#fccfd4); color: #d14d5b; }
.personal-reader-item-head small { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #9588c4; display: block; margin-bottom: 3px; }
.personal-reader-item-head h3 { margin: 0; font-size: 1.3rem; line-height: 1.2; color: #1e1535; }

.personal-reader-item .reading-text { font-size: .95rem; line-height: 1.75; color: #3a3550; }

@media (max-width: 600px) {
  .personal-chip { min-width: 70px; padding: 8px 10px; }
  .personal-chip-label { font-size: .58rem; }
  .personal-reader-item { padding: 20px 16px 24px; }
  .personal-reader-item-head h3 { font-size: 1.1rem; }
}

/* ── Sage accent (5th personal chip color) ── */
.personal-chip.sage   { border-color: #a8d4b8; }
.personal-chip.active.sage { background: linear-gradient(135deg,#2d8a5e,#3fb87a); border-color: transparent; color: #fff; box-shadow: 0 4px 16px rgba(45,138,94,.3); }
.personal-chip.active.sage .personal-chip-label { color: rgba(255,255,255,.85); }

.personal-reader-item.sage  { border-color: #b5e2c8; background: linear-gradient(160deg,#fff,#f0fbf4); }
.personal-item-badge.sage   { background: linear-gradient(135deg,#d0f0e0,#b8e8cf); color: #2d8a5e; }

/* ── Section heading + price badge (result guidance / modules) ── */
.section-heading.left.section-heading--priced {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px 24px;
}
.section-heading.left.section-heading--priced .section-heading-copy {
  min-width: 0;
}
.section-heading.left.section-heading--priced .section-heading-copy > p {
  margin: 10px 0 0;
  max-width: 62ch;
  font-size: .92rem;
  line-height: 1.65;
  color: #6b657a;
}
.included-modules-section .section-heading.left.section-heading--priced {
  margin-bottom: 18px;
}
.section-heading.left .section-heading-price.tiny-price {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  align-self: start;
  margin-top: 2px;
  min-width: 108px;
  padding: 12px 16px;
  border-radius: 16px;
  background: #251d4b;
  color: rgba(255, 255, 255, .82);
  font-size: .68rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  vertical-align: top;
}
.section-heading.left .section-heading-price.tiny-price b {
  display: block;
  margin: 0 0 3px;
  font-size: 1.28rem;
  font-weight: 900;
  letter-spacing: -.02em;
  color: #fff;
  line-height: 1.05;
}
.section-heading.left .section-heading-price.tiny-price small {
  display: block;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .62);
}
@media (max-width: 720px) {
  .section-heading.left.section-heading--priced {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .section-heading.left .section-heading-price.tiny-price {
    justify-self: start;
    flex-direction: row;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    padding: 10px 14px;
  }
  .section-heading.left .section-heading-price.tiny-price b {
    display: inline;
    margin: 0;
    font-size: 1.12rem;
  }
  .section-heading.left .section-heading-price.tiny-price small {
    display: inline;
    text-transform: none;
    letter-spacing: 0;
    font-size: .78rem;
  }
}

/* ── Guidance panel ── */
.guidance-reader-section .section-heading p.guidance-panel-lead {
  margin: 10px 0 0;
  max-width: 640px;
  font-size: .9rem;
  line-height: 1.6;
  color: #6a627e;
}
.guidance-daily-note {
  margin: 12px 0 0;
  max-width: 640px;
  font-size: .88rem;
  line-height: 1.5;
}
.guidance-daily-note a { font-weight: 600; }

.guidance-chart-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 4px;
}
.guidance-chart-badges span {
  padding: 6px 12px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: #4f4580;
  background: #f3efff;
  border: 1px solid #e4dbfa;
}
.guidance-reader-section .guidance-reading-text .guidance-paragraph {
  margin: 0 0 22px;
  font-size: 1rem;
  line-height: 1.82;
  color: #342f4a;
}
.guidance-reader-section .guidance-reading-text .guidance-paragraph:last-child { margin-bottom: 0; }
.guidance-reader-section .personal-reader-item.knowledge-text .personal-reader-item-head small { color: #2d8a5e; }

.guidance-progress-strip {
  margin: 20px 0 24px;
  padding: 18px 20px;
  border-radius: 18px;
  background: linear-gradient(160deg, #fff, #f7f4ff);
  border: 1px solid #e4dbfa;
}
.guidance-progress-copy b { display: block; font-size: .95rem; color: #1e1535; margin-bottom: 4px; }
.guidance-progress-copy p { margin: 0 0 10px; font-size: .88rem; line-height: 1.55; color: #6b6580; }
.guidance-progress-label { font-size: .82rem; color: #7a6fad; }
.guidance-progress-bar {
  margin-top: 12px;
  height: 6px;
  border-radius: 999px;
  background: #ece7fa;
  overflow: hidden;
}
.guidance-progress-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #8b6cf8, #6847f5);
  transition: width .45s ease;
}

.identity-updating-note {
  margin: 12px 0 0;
  font-size: .82rem;
  color: #7a6fad;
}

.personal-chip.is-guidance-locked { opacity: .72; position: relative; }
.personal-chip.is-guidance-pending {
  opacity: .55;
  cursor: default;
  filter: grayscale(.35);
  background: #f3f1f8;
  border-color: #d8d2ea;
  box-shadow: none;
}
.personal-chip.is-guidance-pending:hover { background: #f3f1f8; border-color: #d8d2ea; }
.personal-chip.is-guidance-pending .personal-chip-label { color: #9a92b0; }
.guidance-chip-status {
  display: block;
  margin-top: 3px;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #9a92b0;
  line-height: 1.2;
}
.guidance-chip-lock { font-size: .72rem; margin-left: 2px; }

.guidance-pending-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 180px;
  padding: 32px 24px;
  text-align: center;
  color: #7a7390;
  background: linear-gradient(180deg, rgba(255,255,255,.2), rgba(247,244,255,.9));
  border-radius: 14px;
}
.guidance-pending-spinner {
  display: inline-block;
  font-size: 1.4rem;
  color: #8b6cf8;
  animation: guidance-spin 1.4s linear infinite;
}
.guidance-pending-placeholder p {
  margin: 0;
  font-size: .95rem;
  font-weight: 600;
  color: #5c5670;
}
.guidance-pending-placeholder small {
  max-width: 36ch;
  font-size: .82rem;
  line-height: 1.55;
  color: #8a849c;
}
@keyframes guidance-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.personal-reader-item.is-guidance-locked {
  position: relative;
  min-height: 220px;
  overflow: hidden;
}
.guidance-lock-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 36px 24px;
  text-align: center;
  background: linear-gradient(180deg, rgba(255,255,255,.15), rgba(247,244,255,.95));
}
.guidance-lock-icon { font-size: 1.6rem; }
.guidance-lock-overlay p {
  margin: 0;
  max-width: 34ch;
  font-size: .92rem;
  line-height: 1.6;
  color: #5c5670;
}

/* ── Натальная карта: главные табы По жизни / Сегодня ─────────────────── */
.natal-main-tabs {
  display: inline-flex;
  gap: 0;
  margin-bottom: 28px;
  background: #fff;
  border-radius: 16px;
  padding: 5px;
  border: 1.5px solid rgba(104,71,245,.18);
  box-shadow: 0 2px 12px rgba(104,71,245,.08);
}
.natal-main-tab {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 11px 28px;
  border: none;
  border-radius: 12px;
  background: transparent;
  font-size: .95rem;
  font-weight: 600;
  color: #7060aa;
  cursor: pointer;
  transition: background .2s, color .2s, box-shadow .2s;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.natal-main-tab::before { content: ''; display: none; }
.natal-main-tab[data-natal-main-tab="life"]::before {
  content: '✦';
  font-size: .8rem;
  color: #6847f5;
  display: inline;
}
.natal-main-tab[data-natal-main-tab="today"]::before {
  content: '☀';
  font-size: .85rem;
  display: inline;
}
.natal-main-tab.active {
  background: linear-gradient(135deg, #6847f5, #8b68ff);
  color: #fff;
  box-shadow: 0 4px 18px rgba(104,71,245,.35);
}
.natal-main-tab.active::before { color: rgba(255,255,255,.85); }

/* ── Меню с группами ─────────────────────────────────────────────────── */
.natal-menu-group-label {
  font-size: .61rem;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #b8aedd;
  padding: 14px 12px 5px;
  border-top: 1px solid rgba(104,71,245,.08);
  margin-top: 4px;
}
.natal-menu-group-label:first-child { border-top: none; margin-top: 0; padding-top: 4px; }
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life {
  background: linear-gradient(135deg,rgba(104,71,245,.08),rgba(104,71,245,.03));
  border-left: 2.5px solid #a78bfa;
  margin-left: -1px;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life b {
  color: #4a2ec0;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life.active {
  background: linear-gradient(135deg,#6847f5,#8b68ff);
  border-left-color: transparent;
}

/* ── Таб «Сегодня»: обёртка ──────────────────────────────────────────── */
.natal-tab-pane[data-natal-pane="today"] {
  padding: 0 0 8px;
}
.natal-today-layout {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 0 16px;
}

/* Hero — заголовок дня */
.natal-today-hero {
  position: relative;
  padding: 32px 28px 28px;
  background: linear-gradient(135deg, #4a29c1 0%, #6847f5 55%, #8b5cf6 100%);
  border-radius: 22px;
  overflow: hidden;
  color: #fff;
}
.natal-today-hero::after {
  content: '✦';
  position: absolute;
  right: 24px; top: 20px;
  font-size: 2.5rem;
  opacity: .15;
  pointer-events: none;
}
.natal-today-hero .eyebrow {
  color: rgba(255,255,255,.65);
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 10px;
}
.natal-today-hero h3 {
  margin: 0 0 0;
  font-size: 1.5rem;
  line-height: 1.25;
  color: #fff;
  font-weight: 700;
}

/* Аффирмация */
.natal-today-affirmation {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 20px;
  padding: 14px 18px;
  background: rgba(255,255,255,.14);
  border-radius: 14px;
  backdrop-filter: blur(4px);
}
.natal-today-affirmation span {
  font-size: 1.3rem;
  flex-shrink: 0;
  opacity: .9;
}
.natal-today-affirmation p {
  margin: 0;
  font-style: italic;
  font-size: .97rem;
  color: rgba(255,255,255,.92);
  line-height: 1.55;
}

/* Блок краткого описания */
.natal-today-summary {
  padding: 20px 22px;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #ece7fb;
  font-size: .95rem;
  line-height: 1.78;
  color: #2d2050;
}

/* Подсказка Human Design */
.natal-today-tip {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px 20px;
  background: linear-gradient(135deg, rgba(104,71,245,.08), rgba(104,71,245,.03));
  border-radius: 16px;
  border: 1.5px solid rgba(104,71,245,.15);
}
.natal-today-tip span {
  font-size: 1.3rem;
  color: #6847f5;
  flex-shrink: 0;
  margin-top: 1px;
}
.natal-today-tip b {
  display: block;
  margin-bottom: 6px;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6847f5;
  font-weight: 700;
}
.natal-today-tip p {
  margin: 0;
  font-size: .93rem;
  color: #2d2050;
  line-height: 1.65;
}

/* Планеты/транзиты */
.natal-today-transits {
  padding: 18px 20px;
  background: #faf8ff;
  border-radius: 16px;
  border: 1px solid rgba(104,71,245,.12);
  font-size: .88rem;
  color: #3a3550;
  line-height: 1.7;
}
.natal-today-transits .eyebrow {
  margin-bottom: 10px;
  font-size: .68rem;
  letter-spacing: .09em;
  color: #9588c4;
}
.natal-today-transits p { margin: 6px 0 0; }

/* Сетка тем дня */
.natal-today-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.natal-today-grid article {
  padding: 16px 15px 14px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #ece7fb;
  transition: box-shadow .18s;
}
.natal-today-grid article:hover { box-shadow: 0 4px 16px rgba(104,71,245,.1); }
.natal-today-grid article span {
  font-size: 1.15rem;
  display: block;
  margin-bottom: 5px;
  color: #6847f5;
}
.natal-today-grid article b {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: #a89cc8;
  display: block;
  margin-bottom: 7px;
  font-weight: 700;
}
.natal-today-grid article p {
  margin: 0;
  font-size: .85rem;
  line-height: 1.6;
  color: #3a3550;
}

/* Фокус дня */
.natal-today-focus {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 20px;
  background: linear-gradient(135deg, #fff8e6, #fff3d0);
  border-radius: 14px;
  border: 1px solid rgba(245,184,70,.3);
  font-size: .92rem;
  color: #2d2050;
  line-height: 1.65;
}
.natal-today-focus::before {
  content: '◎';
  font-size: 1.1rem;
  color: #c08a10;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Не делать / ритуал */
.natal-today-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  font-size: .88rem;
  color: #3a3550;
  line-height: 1.65;
}
.natal-today-bottom p {
  margin: 0;
  padding: 14px 16px;
  background: #fff;
  border-radius: 14px;
  border: 1px solid #ece7fb;
}
.natal-today-bottom p b { color: #6847f5; display: block; margin-bottom: 5px; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }

/* CTA */
.natal-today-cta {
  padding-top: 4px;
  text-align: center;
}

/* ── Обзор: подсказка ────────────────────────────────────────────────── */
.natal-overview-hints {
  margin-top: 16px;
  padding: 13px 16px;
  background: linear-gradient(135deg, rgba(104,71,245,.07), rgba(104,71,245,.03));
  border-radius: 12px;
  border-left: 3px solid #a78bfa;
  font-size: .83rem;
  color: #4a3a7a;
  line-height: 1.6;
}

@media (max-width: 800px) {
  .natal-today-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .natal-main-tab { font-size: .85rem; padding: 9px 16px; }
  .natal-today-hero { padding: 22px 18px 20px; }
  .natal-today-hero h3 { font-size: 1.25rem; }
  .natal-today-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .natal-today-bottom { grid-template-columns: 1fr; }
  .natal-today-summary, .natal-today-tip { padding: 16px; }
}

/* ── Транзитные аспекты в табе «Сегодня» ────────────────────────────── */
.natal-today-aspects {
  background: #faf8ff;
  border-radius: 18px;
  border: 1px solid rgba(104,71,245,.12);
  padding: 20px 18px 18px;
}
.natal-today-aspects-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #6847f5;
  font-weight: 700;
}
.natal-today-aspects-head span { font-size: 1rem; }
.natal-today-aspects-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.natal-transit-card {
  padding: 14px 16px;
  border-radius: 14px;
  border-left: 3px solid #c4bae8;
  background: #fff;
}
.natal-transit-card.natal-transit-harmony {
  border-left-color: #4caf7a;
  background: linear-gradient(135deg, #f0fbf5, #fff);
}
.natal-transit-card.natal-transit-tension {
  border-left-color: #e8774a;
  background: linear-gradient(135deg, #fff8f5, #fff);
}
.natal-transit-card.natal-transit-neutral {
  border-left-color: #6847f5;
  background: linear-gradient(135deg, #f7f4ff, #fff);
}
.natal-transit-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
.natal-transit-sym {
  font-size: 1rem;
  width: 22px;
  text-align: center;
  flex-shrink: 0;
}
.natal-transit-head b {
  font-size: .88rem;
  font-weight: 700;
  color: #1e1535;
  flex: 1;
}
.natal-transit-head small {
  font-size: .72rem;
  color: #9588c4;
  white-space: nowrap;
}
.natal-transit-card p {
  margin: 0;
  font-size: .85rem;
  line-height: 1.65;
  color: #3a3550;
}

@media (max-width: 640px) {
  .natal-today-aspects { padding: 14px 12px; }
  .natal-transit-card { padding: 12px 12px; }
}

/* ── Натальное меню: светлый стиль вместо тёмного ───────────────────── */
.natal-reading-menu {
  background: #fff !important;
  color: #1e1535 !important;
  box-shadow: 0 4px 24px rgba(104,71,245,.1) !important;
  border: 1.5px solid rgba(104,71,245,.12) !important;
}
.natal-reading-menu > small { color: #a89cc8 !important; }
.natal-reading-menu button {
  color: #4a3a7a !important;
  border-radius: 12px !important;
}
.natal-reading-menu button > span {
  background: rgba(104,71,245,.08) !important;
  color: #6847f5 !important;
}
.natal-reading-menu button em { color: #a89cc8 !important; }
.natal-reading-menu button b { color: #2d2050 !important; }
.natal-reading-menu button:hover { background: rgba(104,71,245,.06) !important; }
.natal-reading-menu button.active {
  background: linear-gradient(135deg, #6847f5, #8b68ff) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(104,71,245,.28) !important;
}
.natal-reading-menu button.active > span {
  background: rgba(255,255,255,.2) !important;
  color: #fff !important;
}
.natal-reading-menu button.active b { color: #fff !important; }
.natal-reading-menu button.active em { color: rgba(255,255,255,.7) !important; }

/* Жизненные темы в светлом меню */
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life {
  background: linear-gradient(135deg, rgba(104,71,245,.07), rgba(104,71,245,.02)) !important;
  border-left: 2.5px solid #a78bfa !important;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life b {
  color: #5030c8 !important;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life > span {
  color: #6847f5 !important;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life.active {
  background: linear-gradient(135deg, #6847f5, #8b68ff) !important;
  border-left-color: transparent !important;
}
.natal-reading-menu.natal-reading-menu-grouped button.natal-menu-life.active b { color: #fff !important; }

/* ── Виджет поддержки ─────────────────────────────────────────────────── */
.support-widget {
  position: fixed;
  bottom: 20px;
  right: 80px;
  z-index: 9000;
  font-family: inherit;
  font-size: 14px;
}
/* Кнопка-тогглер */
.support-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #6847f5;
  color: #fff;
  border: none;
  border-radius: 24px;
  padding: 9px 16px 9px 11px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .01em;
  box-shadow: 0 4px 20px rgba(104,71,245,.4);
  transition: box-shadow .15s, transform .15s;
  white-space: nowrap;
  line-height: 1;
}
.support-toggle:hover { box-shadow: 0 6px 28px rgba(104,71,245,.5); transform: translateY(-1px); }
.support-toggle-icon {
  width: 22px; height: 22px;
  background: rgba(255,255,255,.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 800; flex-shrink: 0;
}
/* Панель чата */
.support-panel {
  position: absolute;
  bottom: calc(100% + 10px);
  right: 0;
  width: 320px;
  height: 460px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 12px 48px rgba(40,20,100,.18), 0 2px 8px rgba(40,20,100,.08);
  border: 1px solid rgba(104,71,245,.12);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
/* Шапка панели */
.support-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 14px 12px;
  background: linear-gradient(135deg,#6847f5 0%,#9068ff 100%);
  color: #fff;
  flex-shrink: 0;
}
.support-panel-head b { font-size: 14px; font-weight: 700; letter-spacing: .01em; }
.support-close {
  width: 26px; height: 26px;
  background: rgba(255,255,255,.15);
  border: none; border-radius: 50%;
  color: #fff; font-size: 17px; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; flex-shrink: 0;
  transition: background .12s;
}
.support-close:hover { background: rgba(255,255,255,.28); }
/* Область чата — скроллится */
.support-chat {
  flex: 1;
  overflow-y: auto;
  padding: 14px 12px 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overscroll-behavior: contain;
}
/* Сообщения */
.support-msg { display: flex; }
.support-msg-user { justify-content: flex-end; }
.support-msg-bot  { justify-content: flex-start; }
.support-msg-chips { display: block; }
.support-bubble {
  max-width: 86%;
  padding: 8px 12px;
  border-radius: 14px;
  font-size: 13px;
  line-height: 1.55;
  word-break: break-word;
}
.support-msg-bot .support-bubble {
  background: #f0ebff;
  color: #1e1248;
  border-bottom-left-radius: 3px;
}
.support-msg-user .support-bubble {
  background: #6847f5;
  color: #fff;
  border-bottom-right-radius: 3px;
}
.support-contact-link {
  color: #6847f5;
  font-weight: 600;
  text-decoration: none;
  display: inline-block;
  margin-top: 3px;
}
.support-contact-link:hover { text-decoration: underline; }
/* Чипы тем — отображаются прямо в чате */
.support-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 2px 0 2px;
}
.support-chip {
  background: #fff;
  border: 1.5px solid rgba(104,71,245,.25);
  border-radius: 20px;
  color: #4a2dc5;
  font-size: 12px;
  font-weight: 500;
  padding: 5px 12px;
  cursor: pointer;
  transition: background .12s, border-color .12s;
  text-align: left;
  line-height: 1.3;
}
.support-chip:hover { background: #f0ebff; border-color: #6847f5; }
/* Кнопка «← Другой вопрос» */
.support-back-btn {
  background: none;
  border: none;
  color: #8b72d8;
  font-size: 12px;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
}
.support-back-btn:hover { color: #6847f5; }
/* Поле ввода */
.support-input-row {
  display: flex;
  gap: 6px;
  padding: 8px 10px 10px;
  border-top: 1px solid rgba(104,71,245,.09);
  flex-shrink: 0;
  background: #fafafe;
}
.support-input {
  flex: 1;
  border: 1.5px solid rgba(104,71,245,.2);
  border-radius: 20px;
  padding: 7px 13px;
  font-size: 13px;
  outline: none;
  color: #1e1535;
  background: #fff;
  font-family: inherit;
}
.support-input:focus { border-color: #6847f5; }
.support-send {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: #6847f5;
  border: none; color: #fff;
  font-size: 15px; font-weight: 700;
  cursor: pointer; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  transition: background .12s;
  line-height: 1;
}
.support-send:hover { background: #5538d4; }
/* Мобильный вид */
@media(max-width:600px){
  .support-widget { right: 10px; bottom: 10px; }
  .support-panel {
    position: fixed;
    bottom: 0; right: 0; left: 0;
    width: 100%; height: 70vh;
    border-radius: 20px 20px 0 0;
  }
  .support-toggle-label { display: none; }
  .support-toggle { padding: 10px; border-radius: 50%; }
}

/* 6.9.28 — visible natal generation state */
.natal-loading-card {
  margin: 22px 0 0;
  padding: clamp(18px, 3vw, 26px);
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border-radius: 24px;
  border: 1px solid rgba(15,122,130,.16);
  background: linear-gradient(135deg, rgba(15,122,130,.08), rgba(104,71,245,.08)), #fff;
  box-shadow: 0 18px 54px rgba(11,76,86,.08);
}

.natal-loading-card[hidden] {
  display: none !important;
}

.natal-loading-orbit {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #eefaf7;
  display: grid;
  place-items: center;
}

.natal-loading-orbit::before {
  content: '';
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 2px solid rgba(15,122,130,.18);
  border-top-color: #0f7a82;
  animation: natalSpin 1.25s linear infinite;
}

.natal-loading-orbit span {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #0f7a82;
  box-shadow: 0 0 0 8px rgba(15,122,130,.1);
}

.natal-loading-orbit i,
.natal-loading-orbit em {
  position: absolute;
  border-radius: 50%;
  background: #6847f5;
}

.natal-loading-orbit i {
  width: 9px;
  height: 9px;
  right: 8px;
  top: 16px;
}

.natal-loading-orbit em {
  width: 7px;
  height: 7px;
  left: 12px;
  bottom: 14px;
  opacity: .75;
}

.natal-loading-copy b {
  display: block;
  color: #17323a;
  font-size: 1.08rem;
  line-height: 1.25;
}

.natal-loading-copy p {
  margin: 7px 0 0;
  color: #5f6e78;
  line-height: 1.55;
}

.natal-loading-copy small {
  display: block;
  margin-top: 9px;
  color: #7a8790;
  line-height: 1.45;
}

.natal-loading-track {
  position: relative;
  height: 8px;
  margin-top: 13px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(15,122,130,.12);
}

.natal-loading-track i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f7a82, #34aa99, #6847f5);
  animation: natalTrack 1.8s ease-in-out infinite;
}

.natal-loading-card.is-ready .natal-loading-orbit::before {
  animation: none;
  border-color: rgba(15,122,130,.2);
  border-top-color: rgba(15,122,130,.2);
}

.natal-loading-card.is-ready .natal-loading-track i {
  width: 100%;
  animation: none;
}

.natal-loading-card.has-error {
  border-color: rgba(203,72,72,.18);
  background: linear-gradient(135deg, rgba(203,72,72,.08), rgba(255,255,255,.92));
}

@keyframes natalSpin {
  to { transform: rotate(360deg); }
}

@keyframes natalTrack {
  0% { transform: translateX(-100%); }
  50% { transform: translateX(90%); }
  100% { transform: translateX(250%); }
}

@media (max-width: 720px) {
  .natal-loading-card {
    grid-template-columns: 56px minmax(0, 1fr);
    align-items: start;
  }

  .natal-loading-orbit {
    width: 52px;
    height: 52px;
  }

  .natal-loading-card > .secondary-button,
  .natal-loading-card > a.secondary-button {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: center;
  }
}

/* 6.9.29 — immediate navigation feedback for slow natal first paint */
.page-transition-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(238, 247, 248, .72);
  opacity: 0;
  pointer-events: none;
  backdrop-filter: blur(10px);
  transition: opacity .18s ease;
}

.page-transition-loader.is-visible {
  opacity: 1;
}

.page-transition-card {
  width: min(560px, 100%);
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding: 22px;
  border-radius: 26px;
  border: 1px solid rgba(15,122,130,.16);
  background: #fff;
  box-shadow: 0 28px 80px rgba(12, 63, 74, .18);
}

.page-transition-orbit {
  position: relative;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #eefaf7;
}

.page-transition-orbit::before {
  content: '';
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  border: 2px solid rgba(15,122,130,.18);
  border-top-color: #0f7a82;
  animation: natalSpin 1.15s linear infinite;
}

.page-transition-orbit span {
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #0f7a82;
  box-shadow: 0 0 0 8px rgba(15,122,130,.1);
}

.page-transition-orbit i,
.page-transition-orbit em {
  position: absolute;
  border-radius: 50%;
  background: #6847f5;
}

.page-transition-orbit i {
  width: 9px;
  height: 9px;
  right: 8px;
  top: 16px;
}

.page-transition-orbit em {
  width: 7px;
  height: 7px;
  left: 12px;
  bottom: 14px;
  opacity: .74;
}

.page-transition-card b {
  display: block;
  color: #17323a;
  font-size: 1.15rem;
  line-height: 1.25;
}

.page-transition-card p {
  margin: 7px 0 0;
  color: #5f6e78;
  line-height: 1.55;
}

.page-transition-track {
  position: relative;
  height: 8px;
  margin-top: 14px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(15,122,130,.12);
}

.page-transition-track i {
  position: absolute;
  inset: 0 auto 0 0;
  width: 42%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0f7a82, #34aa99, #6847f5);
  animation: natalTrack 1.7s ease-in-out infinite;
}

@media (max-width: 640px) {
  .page-transition-card {
    grid-template-columns: 1fr;
    justify-items: start;
    border-radius: 22px;
  }
}

/* 6.9.30 — keep natal and today loading states separated */
.natal-reading-workspace.is-today-tab .natal-education-grid,
.natal-reading-workspace.is-today-tab [data-natal-status] {
  display: none !important;
}

/* 6.9.31 — payments pane cards */
.pay-pane{padding:4px 0 40px}
.pay-pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.pay-pane-head h2{margin:0 0 4px;font-size:1.4rem;font-weight:700}
.pay-pane-head p{margin:0;font-size:14px;color:var(--muted,#6b7280)}
.pay-pane-total{text-align:right;background:var(--rd-soft,#f5f3ff);border-radius:12px;padding:12px 18px;min-width:120px}
.pay-pane-total span{display:block;font-size:12px;color:var(--muted,#6b7280);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}
.pay-pane-total b{font-size:1.5rem;font-weight:800;color:var(--rd-primary-strong,#6d28d9)}
.pay-list{display:flex;flex-direction:column;gap:10px}
.pay-card{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid var(--border,#e5e7eb);border-radius:14px;padding:16px 20px;transition:box-shadow .15s,border-color .15s}
.pay-card:hover{box-shadow:0 4px 18px rgba(124,58,237,.08);border-color:var(--rd-primary,#7c3aed)}
.pay-card-icon{width:44px;height:44px;border-radius:12px;background:var(--rd-soft,#f5f3ff);color:var(--rd-primary,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.pay-card-body{flex:1;min-width:0}
.pay-card-title{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.pay-name-chip{background:var(--rd-soft,#f5f3ff);color:var(--rd-primary,#7c3aed);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:500}
.pay-card-subtitle{margin:3px 0 6px;font-size:.84rem;line-height:1.45;color:#6b7280}
.promo-target-pick{margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff8ef;border:1px solid #f5d9a8}
.promo-target-pick-label{display:block;margin-bottom:8px;font-size:.78rem;font-weight:700;color:#92400e}
.promo-target-options{display:flex;flex-direction:column;gap:6px}
.promo-target-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid #f0e4c8;font-size:.84rem;color:#5c3d0a;cursor:pointer}
.promo-target-option:has(input:checked){border-color:#b45309;box-shadow:0 0 0 2px rgba(245,158,11,.18)}
.promo-target-option input{margin:0}
.pay-card--pending .pay-card-subtitle{color:#8a6a3f}
.pay-card-meta{display:flex;gap:14px;flex-wrap:wrap}
.pay-card-date{font-size:13px;color:var(--muted,#6b7280);font-variant-numeric:tabular-nums}
.pay-card-id{font-size:12px;color:var(--muted,#9ca3af);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}
.pay-card-amount{font-size:1.2rem;font-weight:800;color:var(--rd-primary-strong,#6d28d9);white-space:nowrap;flex-shrink:0}
@media(max-width:540px){
  .pay-card{padding:14px;gap:12px}
  .pay-card-icon{width:38px;height:38px;font-size:1.1rem}
  .pay-card-amount{font-size:1rem}
  .pay-card-id{display:none}
}
.pay-card-status-paid{font-size:12px;color:#059669;font-weight:600}
.pay-card-status-deleted{font-size:12px;color:#b45309;font-weight:600}
.pay-card--deleted{border-color:#fde68a;background:#fffbeb}
.pay-card--deleted .pay-card-icon{background:#fef3c7;color:#b45309}
.pay-card--deleted .pay-card-amount{color:#92400e}

/* Guidance skeleton while AI generates */
.guidance-skeleton .personal-reader-item-head small{color:#9ca3af}
.guidance-skel-line{height:13px;border-radius:6px;background:linear-gradient(90deg,#f0f0f5 25%,#e4e4ed 50%,#f0f0f5 75%);background-size:200% 100%;animation:skel-shimmer 1.4s ease infinite;margin-bottom:10px}
.guidance-skel-line.w80{width:80%}.guidance-skel-line.w60{width:60%}.guidance-skel-line.w90{width:90%}
@keyframes skel-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Tests page — element balance panel */
.tests-elements-panel{background:var(--rd-soft,#f5f3ff);border-radius:16px;padding:20px 24px;margin:0 0 28px;max-width:900px}
.tests-elements-head{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-weight:600;font-size:15px}
.tests-elements-head span{font-size:18px;color:var(--rd-primary,#7c3aed)}
.tests-elements-head small{margin-left:auto;font-size:12px;font-weight:400;color:var(--muted,#6b7280)}
.tests-elements-bars{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.tests-element-row{display:grid;grid-template-columns:64px 1fr 36px;align-items:center;gap:10px}
.tests-element-name{font-size:13px;font-weight:500;color:#333}
.tests-element-track{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}
.tests-element-fill{height:100%;border-radius:4px;transition:width .4s}
.tests-element-pct{font-size:12px;color:var(--muted,#6b7280);text-align:right;font-variant-numeric:tabular-nums}
.tests-elements-hint{font-size:13px;color:var(--muted,#6b7280);margin:0 0 10px}
.tests-elements-link{font-size:13px;color:var(--rd-primary,#7c3aed);font-weight:500;text-decoration:none}
.tests-elements-link:hover{text-decoration:underline}
@media(max-width:540px){.tests-elements-panel{padding:16px 16px}.tests-element-row{grid-template-columns:58px 1fr 32px}}

/* Pro natal wheel */
.natal-wheel-pro { display:block; width:100%; height:auto; }
.natal-chart-large { min-height:560px; }

/* Interactive natal chart panel */
.natal-interactive-view { padding: 0 !important; background: linear-gradient(145deg, #faf8ff, #fff) !important; }
.natal-interactive-head { padding: 24px 28px; border-bottom: 1px solid #e9e4f0; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.natal-interactive-head h3 { margin: 0 0 5px; font-size: 1.4rem; }
.natal-interactive-head p { margin: 0; font-size: 0.85rem; color: #7a7289; }
.natal-time-notice { font-size: 0.8rem; color: #c55; display: flex; align-items: center; gap: 6px; }
.warning-icon { font-size: 1rem; }
.natal-interactive-layout { display: grid; grid-template-columns: 1fr 260px; gap: 0; }
.natal-chart-wrapper { padding: 20px 28px; background: radial-gradient(circle at 50% 45%, #fff, #faf8ff); display: flex; justify-content: center; align-items: center; min-height: 600px; }
.natal-chart-wrapper svg { max-width: 100%; height: auto; }

/* Legend styles */
.natal-interactive-legend { background: linear-gradient(to bottom, #f8f6fc, #fff); border-left: 1px solid #e9e4f0; overflow-y: auto; max-height: 600px; }
.legend-section { padding: 16px 14px; border-bottom: 1px solid #e9e4f0; }
.legend-title { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: #6b5a7a; font-weight: 800; margin-bottom: 10px; }
.legend-item { display: flex; align-items: center; gap: 10px; padding: 8px 6px; border-radius: 8px; font-size: 0.8rem; cursor: pointer; transition: 0.2s; }
.legend-item:hover { background: rgba(118, 87, 255, 0.08); }
.legend-symbol { font-size: 1.1rem; width: 28px; display: grid; place-items: center; border-radius: 6px; background: rgba(118, 87, 255, 0.1); color: #6c52e8; font-family: serif; }
.legend-num { font-size: 0.95rem; font-weight: 700; width: 28px; text-align: center; color: #6c52e8; }
.legend-info { min-width: 0; flex: 1; }
.legend-info b { display: block; margin-bottom: 2px; color: #2a2540; }
.legend-info small { color: #8b8494; display: block; font-size: 0.7rem; }

/* SVG interactive elements */
.natal-planet-interactive { cursor: pointer; }
.natal-planet-interactive:hover .planet-circle { stroke-width: 2.5; stroke: #ff7188; filter: drop-shadow(0 0 8px rgba(255, 113, 136, 0.4)); }
.natal-house-interactive { cursor: pointer; }
.natal-house-interactive:hover .house-circle { stroke: #ff7188; stroke-width: 1.5; filter: drop-shadow(0 0 6px rgba(255, 113, 136, 0.3)); }
.natal-aspect-interactive { cursor: pointer; }
.natal-aspect-interactive:hover .aspect-line { stroke-width: 2.5; filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.2)); opacity: 0.95; }

/* SVG title (tooltip) */
svg title { font-size: 12px; }

.natal-interactive-tips { padding: 16px 28px; background: linear-gradient(to bottom, rgba(248, 246, 252, 0.5), transparent); color: #6b6274; font-size: 0.8rem; line-height: 1.6; border-top: 1px solid #e9e4f0; }
.natal-interactive-tips p { margin: 0; }

@media (max-width: 1000px) {
  .natal-interactive-layout { grid-template-columns: 1fr; }
  .natal-interactive-legend { max-height: 280px; border-left: none; border-top: 1px solid #e9e4f0; }
  .natal-chart-wrapper { min-height: 500px; }
}

@media (max-width: 680px) {
  .natal-interactive-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .natal-interactive-head p { font-size: 0.75rem; }
  .natal-chart-wrapper { padding: 12px 16px; min-height: 400px; }
  .legend-section { padding: 12px 10px; }
  .legend-item { padding: 6px 4px; font-size: 0.75rem; gap: 8px; }
}

/* ═══════════════════════════════════════════════════════════════
   Натальная карта v2 — новый дизайн
   ═══════════════════════════════════════════════════════════════ */

/* Убираем старые workspace стили для нового дизайна */
.natal-reading-workspace .natal-workspace-head { display: none; }

/* ── Герой: карта + данные ─────────────────────────────────── */
.nv2-hero {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 0;
  background: linear-gradient(160deg, #faf8ff 0%, #fff 100%);
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid #e9e4f0;
  box-shadow: 0 12px 40px rgba(40,30,80,.08);
  margin-bottom: 0;
}
.nv2-chart-col {
  padding: 20px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 600px;
  background: radial-gradient(circle at 50% 50%, #fefefe, #f5f2ff);
}
.nv2-chart-wrap { width: 100%; max-width: 100%; }
.nv2-chart-wrap svg { display: block; width: 100%; height: auto; }
.nv2-no-time { margin: 10px 0 0; font-size: .78rem; color: #c77; background: #fff9f0; padding: 7px 12px; border-radius: 8px; border: 1px solid #f5dba8; }

/* ── Правая панель данных ────────────────────────────────────── */
.nv2-data-col { border-left: 1px solid #e9e4f0; background: #fff; overflow-y: auto; max-height: 800px; }
.nv2-data-card { padding: 18px 16px; height: 100%; display: flex; flex-direction: column; gap: 0; }
.nv2-data-name { font-size: 1.2rem; font-weight: 800; color: #1a1340; margin-bottom: 4px; }
.nv2-data-birth { font-size: .82rem; color: #6b5a80; margin-bottom: 3px; }
.nv2-data-city { font-size: .78rem; color: #8b7ca0; margin-bottom: 16px; }
.nv2-axes { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.nv2-axis { display: flex; align-items: center; gap: 6px; background: #f5f2fd; border-radius: 8px; padding: 5px 10px; font-size: .78rem; }
.nv2-axis-label { font-weight: 800; color: #6c52e8; font-size: .72rem; }
.nv2-planets-list { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 1px; }
.nv2-planet-row {
  display: grid;
  grid-template-columns: 22px 1fr auto auto;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: background .15s;
  font-size: .78rem;
}
.nv2-planet-row:hover { background: #f0ecff; }
.nv2-planet-sym { font-family: serif; font-size: 1rem; text-align: center; color: #5a44cc; }
.nv2-planet-name { font-weight: 600; color: #2a2540; }
.nv2-planet-pos { color: #6b5a80; font-size: .73rem; }
.nv2-planet-house { color: #9b8fb5; font-size: .68rem; background: #f5f2fd; border-radius: 4px; padding: 1px 5px; }
.nv2-today-btn-wrap { margin-top: 16px; padding-top: 14px; border-top: 1px solid #ece8f5; }
.nv2-today-btn { width: 100%; padding: 10px; background: #f5f2fd; border: 1px solid #d6ccff; border-radius: 10px; color: #6c52e8; font-size: .8rem; font-weight: 700; cursor: pointer; text-align: center; transition: .15s; }
.nv2-today-btn:hover { background: #6c52e8; color: #fff; border-color: #6c52e8; }

/* ── Навигация чипы ─────────────────────────────────────────── */
.nv2-personalize-hint {
  margin: 10px 2px 0;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #7a7390;
}
.nv2-personalize-hint.is-done {
  animation: nv2-banner-out .4s ease forwards;
}

.nv2-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid #e9e4f0;
  padding: 0 4px;
  margin: 0 -2px;
}
.nv2-nav-chips {
  display: flex;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}
.nv2-nav-chips::-webkit-scrollbar { display: none; }
.nv2-chip {
  flex: 0 0 auto;
  padding: 14px 20px;
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  color: #6b5a80;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: .15s;
}
.nv2-chip:hover { color: #6c52e8; }
.nv2-chip.active { color: #6c52e8; border-bottom-color: #6c52e8; }

/* ── Контент-панели ─────────────────────────────────────────── */
.nv2-content { padding: 36px 4px 60px; }
.nv2-pane { }

/* ── Читательский поток секций ───────────────────────────────── */
.nv2-section-grid {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 760px;
}
.nv2-section-card {
  position: relative;
  padding: 32px 0 32px 24px;
  border-bottom: 1px solid #ede8f8;
  background: transparent;
  transition: background .18s;
}
/* тонкая постоянная полоска слева */
.nv2-section-card::before {
  content: '';
  position: absolute;
  left: 0;
  top: 32px;
  bottom: 32px;
  width: 2px;
  border-radius: 2px;
  background: #e8e0f8;
  transition: background .18s, width .18s;
}
.nv2-section-card:hover::before {
  background: linear-gradient(180deg, #9b7ee8, #c9b8f5);
  width: 3px;
}
.nv2-section-card:hover { background: #faf8ff; }
.nv2-section-card:last-child { border-bottom: none; }

/* заголовок секции */
.nv2-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
}
.nv2-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: linear-gradient(135deg, #f0ebff, #e8e0ff);
  font-size: .95rem;
  color: #7a52d0;
  flex-shrink: 0;
  line-height: 1;
}
.nv2-section-card h4 {
  font-size: 1.1rem;
  font-weight: 800;
  color: #18103c;
  margin: 0;
  line-height: 1.3;
}
.nv2-card-sub {
  font-size: .68rem;
  color: #a898c8;
  margin: 0 0 16px;
  letter-spacing: .07em;
  text-transform: uppercase;
  padding-left: 40px; /* отступ под иконку */
}
.nv2-card-body { }
.nv2-card-body p {
  font-size: .96rem;
  line-height: 1.88;
  color: #3c3055;
  margin: 0 0 1em;
  max-width: 66ch;
}
.nv2-card-body p:first-child {
  color: #2a2048;
  font-size: 1rem;
}
.nv2-card-body p:last-child { margin-bottom: 0; }

/* ── Вкладка Планеты ─────────────────────────────────────────── */
.nv2-planets-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.nv2-planet-chip {
  padding: 8px 16px;
  background: #f5f2fd;
  border: 1px solid #d8d0f5;
  border-radius: 99px;
  font-size: .82rem;
  font-weight: 600;
  color: #4a3a8a;
  cursor: pointer;
  transition: .15s;
}
.nv2-planet-chip:hover { background: #ede8ff; }
.nv2-planet-chip.active { background: #6c52e8; color: #fff; border-color: #6c52e8; }
.nv2-planet-panel {
  max-width: 760px;
  padding-left: 24px;
  border-left: 2px solid #e8e0f8;
}
.nv2-planet-head {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #ede8f8;
}
.nv2-planet-big-sym {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: linear-gradient(135deg, #f0ebff, #e2d8ff);
  font-family: serif;
  font-size: 1.9rem;
  color: #7a52d0;
  flex-shrink: 0;
  line-height: 1;
}
.nv2-planet-head h3 { font-size: 1.18rem; font-weight: 800; color: #18103c; margin: 0 0 4px; }
.nv2-planet-head p { font-size: .8rem; color: #7a6898; margin: 0; letter-spacing: .04em; text-transform: uppercase; }
.nv2-planet-body p {
  font-size: .96rem;
  line-height: 1.88;
  color: #3c3055;
  margin: 0 0 1em;
  max-width: 66ch;
}
.nv2-planet-body p:first-child { color: #2a2048; font-size: 1rem; }
.nv2-planet-body p:last-child { margin-bottom: 0; }

/* ── Аспекты ─────────────────────────────────────────────────── */
.nv2-aspects-intro {
  max-width: 760px;
  padding: 0 0 28px 24px;
  margin-bottom: 0;
  border-left: 2px solid #e8e0f8;
  border-bottom: 1px solid #ede8f8;
}
.nv2-aspects-intro p { font-size: .96rem; line-height: 1.88; color: #3c3055; margin: 0 0 1em; max-width: 66ch; }
.nv2-aspects-intro p:first-child { color: #2a2048; font-size: 1rem; }
.nv2-aspects-intro p:last-child { margin-bottom: 0; }
.nv2-aspect-card { }

/* ── Таблица ─────────────────────────────────────────────────── */
.nv2-pane-table { }
.nv2-table-head { margin-bottom: 20px; }
.nv2-table-head h3 { font-size: 1.15rem; font-weight: 800; color: #1a1340; margin: 0 0 5px; }
.nv2-table-head p { font-size: .82rem; color: #7a6898; margin: 0; }

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 960px) {
  .nv2-hero { grid-template-columns: 1fr; }
  .nv2-data-col { border-left: none; border-top: 1px solid #e9e4f0; }
  .nv2-chart-col { min-height: 400px; padding: 20px; }
  .nv2-data-card { padding: 18px; }
  .nv2-planets-list { max-height: 220px; overflow-y: auto; }
}
@media (max-width: 640px) {
  .nv2-chart-col { padding: 14px; min-height: 340px; }
  .nv2-chip { padding: 12px 14px; font-size: .78rem; }
  .nv2-content { padding: 20px 0 30px; }
  .nv2-card-body p, .nv2-planet-body p, .nv2-aspects-intro p { font-size: .9rem; max-width: 100%; }
  .nv2-planet-head { gap: 12px; }
  .nv2-planet-big-sym { font-size: 2rem; width: 44px; }
}

/* ── Семейный конструктор: доступы в круге (6.9.32) ── */

.family-page .family-cart-section {
  margin-top: 30px !important;
  padding: 26px 28px !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, #fff, #f8f5ff) !important;
  border: 1px solid #e8e1f5 !important;
  box-shadow: 0 15px 40px rgba(54, 37, 90, .07) !important;
}

.family-page .family-cart-section .section-heading.left {
  margin-bottom: 16px !important;
}

.family-page .family-access-accordion-toggle {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  text-align: left !important;
  font: inherit !important;
  color: inherit !important;
}

.family-page .family-access-accordion-head h2 {
  margin: 4px 0 0 !important;
  font-size: 1.35rem !important;
  color: #2e2057 !important;
}

.family-page .family-access-accordion-status {
  text-align: right !important;
}

.family-page .family-access-accordion-status b {
  display: block !important;
  color: #2e2057 !important;
  font-size: 1.25rem !important;
}

.family-page .family-access-accordion-status b.family-access-status-ok {
  color: #22a06b !important;
  font-size: 1.1rem !important;
}

.family-page .family-access-accordion-status small {
  display: block !important;
  margin-top: 2px !important;
  color: #7a7790 !important;
  font-size: .72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.family-page .family-access-chevron {
  font-size: 1rem !important;
  color: #9a93ad !important;
  transition: transform .2s, color .2s !important;
}

.family-page .family-access-accordion-toggle[aria-expanded="true"] .family-access-chevron {
  transform: rotate(180deg) !important;
}

.family-page .family-access-accordion-body {
  margin-top: 18px !important;
}

.family-page .family-access-accordion-body.is-collapsed {
  display: none !important;
}

.family-page .family-access-badge {
  display: inline-block !important;
  margin-left: 8px !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  font-size: .62rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
  vertical-align: middle !important;
}

.family-page .family-access-badge.is-required {
  background: #fff3e0 !important;
  color: #b45309 !important;
}

.family-page .family-access-badge.is-optional {
  background: #f0ebff !important;
  color: #6b4fc0 !important;
}

.family-page .family-access-intro {
  margin: 0 0 18px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  background: #f3efff !important;
  border: 1px solid #e4dbf7 !important;
  color: #5f5672 !important;
  font-size: .86rem !important;
  line-height: 1.55 !important;
}

.family-page .family-access-intro b {
  color: #2e2057 !important;
}

.family-page .family-access-owner,
.family-page .family-access-person {
  border-radius: 20px !important;
  border: 1px solid #e9e2f3 !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(54, 35, 89, .05) !important;
}

.family-page .family-access-owner {
  margin-bottom: 14px !important;
}

.family-page .family-access-owner.is-paid {
  border-color: #bfe8d3 !important;
  background: #f8fdf9 !important;
}

.family-page .family-access-owner.is-pending {
  border-color: #ffe0b8 !important;
  background: #fffaf2 !important;
}

.family-page .family-access-owner-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 16px 18px !important;
}

.family-page .family-access-owner-head small {
  display: block !important;
  color: #82798f !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
}

.family-page .family-access-owner-head b {
  display: block !important;
  color: #281d3c !important;
  font-size: 1.05rem !important;
}

.family-page .family-access-owner-head em {
  display: block !important;
  margin-top: 3px !important;
  font-style: normal !important;
  color: #82798f !important;
  font-size: .8rem !important;
}

.family-page .family-access-owner-action,
.family-page .family-access-tier-action {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

.family-page .family-access-owner-note {
  margin: 0 !important;
  padding: 0 18px 16px !important;
  color: #82798f !important;
  font-size: .8rem !important;
  line-height: 1.45 !important;
}

.family-page .family-access-people {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.family-page .family-access-person.is-complete {
  border-color: #bfe8d3 !important;
  background: #fcfffd !important;
}

.family-page .family-access-person-head {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid #f0ebf8 !important;
  background: #faf8ff !important;
}

.family-page .family-access-person-head b {
  display: block !important;
  color: #281d3c !important;
  font-size: 1rem !important;
}

.family-page .family-access-person-head small {
  display: block !important;
  color: #82798f !important;
  font-size: .78rem !important;
  margin-top: 3px !important;
}

.family-page .family-access-complete {
  font-style: normal !important;
  color: #18814c !important;
  font-weight: 800 !important;
  font-size: .76rem !important;
  white-space: nowrap !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #e7f9ee !important;
}

.family-page .family-access-tiers {
  display: flex !important;
  flex-direction: column !important;
}

.family-page .family-access-tier {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 14px 18px !important;
  border-top: 1px solid #f3effa !important;
}

.family-page .family-access-tier:first-child {
  border-top: 0 !important;
}

.family-page .family-access-tier.is-paid {
  background: #f8fdf9 !important;
}

.family-page .family-access-tier.is-pending {
  background: #fffaf2 !important;
}

.family-page .family-access-tier.is-optional.is-pending {
  background: #fbf9ff !important;
}

.family-page .family-access-tier-copy b {
  display: block !important;
  color: #281d3c !important;
  font-size: .92rem !important;
}

.family-page .family-access-tier-copy small {
  display: block !important;
  color: #82798f !important;
  font-size: .76rem !important;
  line-height: 1.4 !important;
  margin-top: 3px !important;
}

.family-page .family-cart-section .cart-price {
  font-size: 1rem !important;
  color: #281d3c !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.family-page .family-cart-section .cart-paid {
  font-style: normal !important;
  color: #18814c !important;
  font-weight: 800 !important;
  font-size: .78rem !important;
  white-space: nowrap !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #e7f9ee !important;
}

.family-page .family-cart-section .cart-buy,
.family-page .family-cart-section .cart-open {
  text-decoration: none !important;
  font-weight: 800 !important;
  font-size: .78rem !important;
  border-radius: 12px !important;
  padding: 9px 14px !important;
  border: 0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

.family-page .family-cart-section .cart-buy {
  background: linear-gradient(135deg, #5d47db, #7660ea) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(81, 59, 191, .22) !important;
}

.family-page .family-cart-section .cart-open {
  background: #ede7ff !important;
  color: #5a3eb2 !important;
}

.family-page .family-cart-total {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  margin-top: 18px !important;
  padding: 18px 20px !important;
  border-radius: 20px !important;
  background: linear-gradient(150deg, #2a2150, #5a3fc0) !important;
  color: #fff !important;
}

.family-page .family-cart-total small,
.family-page .family-cart-total span {
  display: block !important;
  opacity: .78 !important;
  font-size: .74rem !important;
}

.family-page .family-cart-total b {
  display: block !important;
  font-size: 1.6rem !important;
  color: #fff !important;
}

.family-page .family-cart-total .muted {
  color: rgba(255, 255, 255, .78) !important;
  margin: 0 !important;
  font-size: .82rem !important;
  line-height: 1.45 !important;
}

.family-page .family-cart-done {
  margin-top: 16px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: #f1fbf6 !important;
  border: 1px solid #bfe8d3 !important;
  color: #1c7a52 !important;
}

.family-page .family-cart-done b {
  display: block !important;
  font-weight: 800 !important;
  font-size: .95rem !important;
}

.family-page .family-cart-done span {
  display: block !important;
  margin-top: 6px !important;
  font-weight: 500 !important;
  font-size: .84rem !important;
  line-height: 1.45 !important;
  color: #3d8f65 !important;
}

.family-page .family-cart-done.is-solo span,
.family-page .family-cart-done.is-optional span {
  color: #5a6370 !important;
}

/* ── Импорт близких из других кругов аккаунта (6.9.33) ── */

.family-page .family-import-section {
  margin-top: 24px !important;
  padding: 24px 26px !important;
  border-radius: 28px !important;
  background: linear-gradient(145deg, #fffaf4, #fff) !important;
  border: 1px solid #f0e2cf !important;
  box-shadow: 0 14px 36px rgba(88, 62, 24, .07) !important;
}

.family-page .family-import-head h2 {
  margin: 6px 0 8px !important;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem) !important;
}

.family-page .family-import-head p {
  margin: 0 !important;
  color: #6d6478 !important;
  font-size: .88rem !important;
  line-height: 1.55 !important;
  max-width: 72ch;
}

.family-page .family-import-list {
  display: grid !important;
  gap: 12px !important;
  margin-top: 18px !important;
}

.family-page .family-import-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px) !important;
  gap: 16px !important;
  align-items: start !important;
  padding: 16px 18px !important;
  border-radius: 20px !important;
  background: #fff !important;
  border: 1px solid #ece5fb !important;
}

.family-page .family-import-person {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
}

.family-page .family-import-person b {
  display: block !important;
  color: #281d3c !important;
  font-size: 1rem !important;
}

.family-page .family-import-person small {
  display: block !important;
  color: #82798f !important;
  font-size: .78rem !important;
  margin-top: 3px !important;
}

.family-page .family-import-person em {
  display: block !important;
  margin-top: 5px !important;
  font-style: normal !important;
  font-size: .74rem !important;
  color: #9a7b3e !important;
  font-weight: 700 !important;
}

.family-page .family-import-form {
  display: grid !important;
  gap: 10px !important;
}

.family-page .family-import-relation small {
  display: block !important;
  margin-bottom: 6px !important;
  color: #82798f !important;
  font-weight: 700 !important;
  font-size: .72rem !important;
}

.family-page .family-import-relation select {
  width: 100% !important;
  padding: 11px 12px !important;
  border: 1px solid #ded6ea !important;
  border-radius: 12px !important;
  background: #fff !important;
  font: inherit !important;
}

.family-page .family-import-consent,
.family-page .family-import-guardian {
  margin: 0 !important;
}

.family-page .family-import-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.family-page .family-import-actions .primary-button,
.family-page .family-import-actions .secondary-button {
  flex: 1 1 140px !important;
}

.family-page .notice-success {
  margin-top: 16px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  background: #f1fbf6 !important;
  border: 1px solid #bfe8d3 !important;
  color: #1c7a52 !important;
}

@media (max-width: 700px) {
  .family-page .family-import-section {
    padding: 20px !important;
    border-radius: 24px !important;
  }

  .family-page .family-import-card {
    grid-template-columns: 1fr !important;
  }

  .family-page .family-cart-section {
    padding: 20px !important;
    border-radius: 24px !important;
  }

  .family-page .family-access-owner-head,
  .family-page .family-access-person-head,
  .family-page .family-access-tier {
    grid-template-columns: 1fr !important;
  }

  .family-page .family-access-owner-action,
  .family-page .family-access-tier-action {
    justify-content: flex-start !important;
  }

  .family-page .family-access-complete {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
  }

  .family-page .family-cart-total {
    grid-template-columns: 1fr !important;
  }
}

/* ── Инфо-панель карты (стихии / модальности / метаданные) ─── */
.nv2-chart-info {
  margin-top: 16px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #e8e2f5;
  border-radius: 14px;
}
.nv2-info-cols {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
.nv2-info-title {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9888b8;
  margin-bottom: 10px;
}
.nv2-info-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
}
.nv2-info-label {
  font-size: .75rem;
  font-weight: 700;
  width: 90px;
  flex-shrink: 0;
}
.nv2-info-bar {
  flex: 1;
  height: 5px;
  background: #f0eaf8;
  border-radius: 3px;
  overflow: hidden;
}
.nv2-info-fill {
  height: 100%;
  border-radius: 3px;
  transition: width .4s ease;
}
.nv2-info-pct {
  font-size: .72rem;
  color: #8878a8;
  width: 30px;
  text-align: right;
  flex-shrink: 0;
}
.nv2-meta-row {
  display: flex;
  justify-content: space-between;
  font-size: .75rem;
  color: #5a4878;
  padding: 3px 0;
  border-bottom: 1px solid #f0eaf8;
}
.nv2-meta-row span:first-child { color: #9888b8; }
.nv2-meta-row:last-child { border-bottom: none; }

@media (max-width: 720px) {
  .nv2-info-cols { grid-template-columns: 1fr 1fr; }
  .nv2-info-meta { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
  .nv2-info-cols { grid-template-columns: 1fr; }
}

/* Планетное кольцо hover */
.nw-planet-circle { transition: r .12s, stroke-width .12s; }
.nw-planet-g:hover .nw-planet-circle { stroke-width: 3; }

/* result.php — крупный бодиграф */
.result-v3 .hero-result-card {
  grid-template-columns: 1fr;
}

.result-v3 .chart-stage {
  min-height: 0;
  padding: 22px 14px 18px;
  overflow: visible !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.result-v3 .chart-stage .bodygraph {
  width: min(100%, 900px) !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 760 / 820;
  margin: 0 auto;
  overflow: visible;
}

.result-v3 .identity-panel {
  border-top: 1px solid var(--line, #ebe8f4);
}

@media (min-width: 1100px) {
  .result-v3 .chart-stage .bodygraph {
    width: min(100%, 960px) !important;
  }
}

@media (max-width: 760px) {
  .result-v3 .chart-stage {
    padding: 12px 0 14px;
  }

  .result-v3 .chart-stage .bodygraph {
    width: min(108%, 560px) !important;
  }
}

@media (max-width: 480px) {
  .result-v3 .chart-stage .bodygraph {
    width: 112% !important;
    margin-left: -6%;
    margin-right: -6%;
  }
}

/* result.php — интерактивный бодиграф */
.bodygraph-hint {
  position: relative;
  z-index: 3;
  margin: 8px auto 0;
  max-width: 360px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(116, 87, 255, .14);
  color: #6a6288;
  font-size: .72rem;
  line-height: 1.35;
  text-align: center;
}

.bodygraph-interactive .bg-gate-hit,
.bodygraph-interactive .bg-center-hit,
.bodygraph-interactive .bg-channel-hit {
  cursor: pointer;
  outline: none;
}

.bodygraph-interactive .bg-gate-hit:focus-visible .bg-gate-hit-area,
.bodygraph-interactive .bg-center-hit:focus-visible,
.bodygraph-interactive .bg-channel-hit:focus-visible {
  stroke: rgba(116, 87, 255, .45);
  stroke-width: 2;
}

.bodygraph-interactive .bg-gate-hit:hover circle.gp {
  opacity: .75;
}

.bodygraph-interactive .bg-center-hit:hover polygon,
.bodygraph-interactive .bg-center-hit:hover rect {
  filter: url(#gGlow);
}

.bodygraph-interactive .bg-channel-hit:hover path[stroke='transparent'] {
  stroke: rgba(116, 87, 255, .08);
}

.gate-center-card.is-empty {
  opacity: .72;
}

.gate-center-empty {
  display: block;
  padding: 2px 0;
  color: rgba(255, 255, 255, .45);
  font-size: .68rem;
}

.gate-node.is-bg-highlight,
.gate-center-card.is-bg-highlight,
.channel-path.is-bg-highlight,
.gate-atlas.is-bg-highlight {
  animation: bg-target-pulse 1.8s ease;
}

.bodygraph-center-note {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: .74rem;
  line-height: 1.4;
  opacity: 0;
  transition: opacity .2s ease;
}

.bodygraph-center-note.is-visible {
  opacity: 1;
}

@keyframes bg-target-pulse {
  0% { box-shadow: 0 0 0 0 rgba(116, 87, 255, .45); }
  35% { box-shadow: 0 0 0 8px rgba(116, 87, 255, .18); }
  100% { box-shadow: 0 0 0 0 rgba(116, 87, 255, 0); }
}

.chart-stage .bodygraph .gate-badges .gate-num,
.chart-stage .bodygraph .gate-badges .gate-num tspan {
  font-family: Arial, Helvetica, sans-serif !important;
  font-kerning: none;
  letter-spacing: 0 !important;
  text-rendering: geometricPrecision;
}

.chart-stage .bodygraph .gate-pill {
  filter: drop-shadow(0 1px 1px rgba(36, 42, 63, .08));
}

/* daily.php — компактная история дат */
.daily-history-v3 {
  margin: 0 0 14px;
  padding: 10px 12px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(118, 87, 255, .1);
}

.daily-history-v3 .daily-history-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.daily-history-v3 .daily-history-controls {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.daily-history-v3 .daily-history-period a {
  min-width: 36px;
  padding: 5px 9px;
  font-size: .72rem;
}

.daily-history-today-btn {
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(218, 152, 42, .45);
  background: linear-gradient(145deg, #fff6df, #ffe9b8);
  color: #7a5510;
  font-size: .72rem;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.daily-history-today-btn:hover {
  border-color: #d4922a;
  box-shadow: 0 4px 12px rgba(212, 146, 42, .18);
}

.daily-history-v3 .daily-history-strip {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.daily-history-pill {
  flex: 0 0 auto;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid rgba(106, 78, 224, .14);
  background: rgba(255, 255, 255, .92);
  color: #5a5272;
  font-size: .74rem;
  font-weight: 850;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.daily-history-pill:hover {
  border-color: rgba(101, 76, 228, .28);
}

.daily-history-pill.is-today {
  border-color: rgba(218, 152, 42, .5);
  background: linear-gradient(145deg, #fff6df, #ffe9b8);
  color: #7a5510;
}

.daily-history-pill.is-yesterday {
  border-color: rgba(101, 76, 228, .24);
  background: linear-gradient(145deg, #f6f3ff, #ece6ff);
  color: #4f3ca8;
}

.daily-history-pill.active {
  border-color: #654ce4;
  background: #654ce4;
  color: #fff;
  box-shadow: 0 4px 12px rgba(101, 76, 228, .22);
}

.daily-history-pill.is-today.active {
  border-color: #d4922a;
  background: linear-gradient(145deg, #ffe08a, #f5b846);
  color: #4a3208;
}

/* daily.php — семейные рекомендации на день */
.daily-family-section {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(118, 87, 255, .1);
}

.daily-family-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.daily-family-head h2 {
  margin: 4px 0 6px;
  font-size: 1.15rem;
  line-height: 1.2;
  color: #3d2b77;
}

.daily-family-head p {
  margin: 0;
  color: #6a6288;
  font-size: .82rem;
  line-height: 1.45;
}

.daily-family-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.daily-family-card {
  display: grid;
  gap: 8px;
  padding: 12px 13px;
  border-radius: 16px;
  border: 1px solid rgba(118, 87, 255, .12);
  background: linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(248, 245, 255, .9));
}

.daily-family-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.daily-family-card-head b {
  display: block;
  color: #3d2b77;
  font-size: .92rem;
  line-height: 1.2;
}

.daily-family-card-head small {
  display: block;
  margin-top: 2px;
  color: #8a82a8;
  font-size: .72rem;
}

.daily-family-harmony {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(101, 76, 228, .1);
  color: #563fd1;
  font-size: .74rem;
  font-weight: 900;
}

.daily-family-headline {
  margin: 0;
  color: #4a3f7a;
  font-size: .8rem;
  font-weight: 850;
  line-height: 1.35;
}

.daily-family-action {
  margin: 0;
  color: #6a6288;
  font-size: .76rem;
  line-height: 1.45;
}

.daily-family-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.daily-family-tag {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 800;
}

.daily-family-tag.is-best {
  background: rgba(76, 175, 120, .12);
  color: #2d7a52;
}

.daily-family-tag.is-caution {
  background: rgba(232, 120, 88, .12);
  color: #a64b2f;
}

.daily-family-link {
  color: #654ce4;
  font-size: .74rem;
  font-weight: 850;
  text-decoration: none;
}

.daily-family-link:hover {
  text-decoration: underline;
}

.daily-family-locked-note {
  margin: 12px 2px 0;
  color: #8a82a8;
  font-size: .76rem;
}

.daily-family-locked-note a {
  color: #654ce4;
  font-weight: 850;
  text-decoration: none;
}

.daily-morning-hub {
  margin: 28px 0 0;
  padding: 22px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #fff9ee 0%, #fff4dc 100%);
  border: 1px solid rgba(240, 180, 60, .22);
}

.daily-morning-head h2 {
  margin: 6px 0 8px;
  font-size: 1.35rem;
}

.daily-morning-head p {
  margin: 0;
  color: #6a5a40;
  font-size: .88rem;
  line-height: 1.55;
  max-width: 52ch;
}

.daily-morning-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.daily-morning-card {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 4px 12px;
  padding: 14px 14px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(240, 180, 60, .18);
}

.daily-morning-card > span {
  grid-row: 1 / span 2;
  font-size: 1.35rem;
  line-height: 1;
  align-self: start;
  margin-top: 2px;
}

.daily-morning-card b {
  font-size: .92rem;
}

.daily-morning-card p {
  margin: 0;
  grid-column: 2;
  font-size: .78rem;
  color: #6a5a40;
  line-height: 1.45;
}

.daily-morning-card a {
  grid-column: 1 / -1;
  margin-top: 6px;
  color: #a66b12;
  font-size: .74rem;
  font-weight: 850;
  text-decoration: none;
}

.daily-morning-card a:hover {
  text-decoration: underline;
}

.daily-morning-grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 720px) {
  .daily-morning-grid {
    grid-template-columns: 1fr;
  }

  .daily-morning-grid-4 {
    grid-template-columns: 1fr;
  }
}

.daily-week-hub {
  margin: 28px 0 0;
  padding: 22px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #f4f0ff 0%, #ebe4ff 100%);
  border: 1px solid rgba(120, 90, 220, .18);
}

.daily-week-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.daily-week-head h2 {
  margin: 6px 0 8px;
  font-size: 1.35rem;
}

.daily-week-head p {
  margin: 0;
  color: #5a4f78;
  font-size: .88rem;
  line-height: 1.55;
  max-width: 52ch;
}

.daily-week-meta {
  margin: 8px 0 0;
  font-size: .78rem;
  color: #7a6a9a;
  font-weight: 750;
}

.daily-week-glyph {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(120, 90, 220, .2);
  font-size: 1.1rem;
  font-weight: 900;
  color: #654ce4;
}

.daily-week-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.daily-week-card {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(120, 90, 220, .14);
}

.daily-week-card h3 {
  margin: 0 0 8px;
  font-size: .92rem;
}

.daily-week-body {
  font-size: .82rem;
  color: #5a4f78;
  line-height: 1.5;
}

.daily-week-body p,
.daily-week-body ul {
  margin: 0;
}

.daily-week-body ul {
  padding-left: 1.1rem;
}

.daily-week-body li + li {
  margin-top: 4px;
}

@media (max-width: 720px) {
  .daily-week-grid {
    grid-template-columns: 1fr;
  }

  .daily-week-head {
    flex-direction: column;
  }
}

.daily-ayurveda-hub {
  margin: 20px 0 0;
  padding: 22px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #edf8f0 0%, #e3f2e8 100%);
  border: 1px solid rgba(56, 142, 96, .2);
}

.daily-ayurveda-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.daily-ayurveda-head h2 {
  margin: 6px 0 8px;
  font-size: 1.35rem;
}

.daily-ayurveda-head p {
  margin: 0;
  color: #3d5c4a;
  font-size: .88rem;
  line-height: 1.55;
  max-width: 52ch;
}

.daily-ayurveda-meta {
  margin: 8px 0 0;
  font-size: .78rem;
  color: #4a7a5e;
  font-weight: 750;
}

.daily-ayurveda-glyph {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(56, 142, 96, .22);
  font-size: 1.2rem;
}

.daily-ayurveda-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.daily-ayurveda-card {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(56, 142, 96, .14);
}

.daily-ayurveda-card h3 {
  margin: 0 0 8px;
  font-size: .92rem;
}

.daily-ayurveda-card p {
  margin: 0 0 6px;
  font-size: .82rem;
  color: #3d5c4a;
  line-height: 1.5;
}

.daily-ayurveda-card.is-meal {
  border-color: rgba(56, 142, 96, .28);
}

.daily-nutrition-ayurveda {
  margin-top: 8px;
  color: #4a7a5e;
}

@media (max-width: 900px) {
  .daily-ayurveda-grid {
    grid-template-columns: 1fr;
  }

  .daily-ayurveda-head {
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .daily-family-head {
    flex-direction: column;
    align-items: stretch;
  }

  .daily-family-head .secondary-button {
    width: 100%;
    text-align: center;
  }
}

/* Аспекты кликабельны */
.nw-asp-g { cursor: pointer; }

/* Подсветка найденной карточки аспекта */
@keyframes nv2-flash {
  0%   { background: #ede0ff; border-color: #6c52e8; }
  60%  { background: #ede0ff; border-color: #6c52e8; }
  100% { background: transparent; border-color: #ede8f8; }
}
.nv2-highlight { animation: nv2-flash 1.8s ease forwards; }

/* ── Поэтапная загрузка чипов навигации ─────────────────────── */
.nv2-chip-pending {
  color: #9a94b0 !important;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.nv2-chip-pending::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.6) 50%, transparent 100%);
  animation: nv2-shimmer 1.6s infinite;
}
@keyframes nv2-shimmer {
  0%   { transform: translateX(-100%); }
  100% { transform: translateX(200%); }
}
.nv2-chip-ready {
  pointer-events: auto !important;
}
@keyframes nv2-chip-pop {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.08); color: #6c52e8; }
  100% { transform: scale(1); }
}
.nv2-chip-flash {
  animation: nv2-chip-pop .65s ease forwards;
}

/* ── Мини-игра на время загрузки ИИ (result.php) ───────────── */
.astro-wait-game {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 14px;
  background: linear-gradient(145deg, #f8f4ff, #eef6ff);
  border: 1px solid #ddd4f8;
}
.astro-wait-game-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.astro-wait-game-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #6c52e8;
  color: #fff;
  font-size: 1.1rem;
  flex: 0 0 auto;
}
.astro-wait-game-head b {
  display: block;
  font-size: .92rem;
  color: #1a1340;
}
.astro-wait-game-head small {
  display: block;
  margin-top: 2px;
  font-size: .78rem;
  color: #7a6898;
  line-height: 1.4;
}
.astro-wait-game-sign {
  margin: 0 0 10px;
  font-size: 1rem;
  font-weight: 700;
  color: #2d2050;
}
.astro-wait-game-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.astro-wait-game-btn {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid #d6ccff;
  background: #fff;
  color: #4a3d6e;
  font-size: .86rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s, border-color .15s, color .15s;
}
.astro-wait-game-btn:hover {
  background: #6c52e8;
  border-color: #6c52e8;
  color: #fff;
}
.astro-wait-game-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 10px 0 0;
  font-size: .8rem;
  color: #7a6898;
}
.astro-wait-game-foot b {
  color: #6c52e8;
}

/* ── Баннер прогресса загрузки AI ──────────────────────────── */
.nv2-load-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: linear-gradient(135deg, #f5f0ff, #eef8ff);
  border: 1px solid #d8d0f8;
  border-radius: 14px;
  padding: 14px 20px;
  margin-top: 14px;
  margin-bottom: 12px;
  animation: nv2-banner-in .3s ease;
}
@keyframes nv2-banner-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: none; }
}
.nv2-load-banner.is-done {
  animation: nv2-banner-out .4s ease forwards;
}
@keyframes nv2-banner-out {
  to { opacity: 0; transform: translateY(-4px); max-height: 0; padding: 0; margin: 0; }
}
.nv2-load-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}
.nv2-load-spinner {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
}
.nv2-spinner-arc {
  transform-origin: 18px 18px;
  animation: nv2-spin 1.1s linear infinite;
}
@keyframes nv2-spin { to { transform: rotate(360deg); } }
.nv2-load-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.nv2-load-title {
  font-size: .88rem;
  font-weight: 700;
  color: #2a1d5c;
}
.nv2-load-detail {
  font-size: .82rem;
  font-weight: 650;
  color: #4a3a8a;
  line-height: 1.35;
}
.nv2-load-sub {
  font-size: .75rem;
  color: #7a68a8;
}
/* Шаги */
.nv2-load-steps {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.nv2-load-step {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: .72rem;
  font-weight: 600;
  color: #b8b0d8;
  padding: 4px 10px;
  border-radius: 99px;
  border: 1px solid #e0d8f5;
  background: #fff;
  transition: all .3s;
  white-space: nowrap;
}
.nv2-step-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d0c8e8;
  flex-shrink: 0;
  transition: background .3s;
}
.nv2-load-step.is-active {
  color: #6c52e8;
  border-color: #c0b0f8;
  background: #f0ebff;
}
.nv2-load-step.is-active .nv2-step-dot {
  background: #6c52e8;
  animation: nv2-dot-pulse 1s ease infinite;
}
@keyframes nv2-dot-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%       { transform: scale(1.5); opacity: .7; }
}
.nv2-load-step.is-done-step {
  color: #5a9450;
  border-color: #b8e0b0;
  background: #f0faf0;
}
.nv2-load-step.is-done-step .nv2-step-dot {
  background: #5a9450;
}

@media (max-width: 640px) {
  .nv2-load-banner { flex-direction: column; align-items: flex-start; }
  .nv2-load-steps { gap: 4px; }
}

/* Export PDF */
.export-shell {
  width: min(760px, calc(100% - 28px));
  margin: 0 auto;
  padding: 36px 0 90px;
}
.export-hero h1 {
  margin: 8px 0 12px;
  font-size: clamp(1.7rem, 4vw, 2.4rem);
}
.export-hero p {
  margin: 0;
  color: #6f687d;
  line-height: 1.65;
}
.export-owner {
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 18px;
  background: #f7f4ff;
  border: 1px solid #e4dbfa;
}
.export-owner small,
.export-owner span {
  display: block;
  color: #8b8498;
  font-size: .72rem;
}
.export-owner b {
  display: block;
  margin: 4px 0;
  font-size: 1.05rem;
}
.export-form {
  margin-top: 24px;
}
.export-sections {
  display: grid;
  gap: 10px;
}
.export-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid #e8e3ef;
  background: #fff;
  cursor: pointer;
}
.export-option.is-locked {
  opacity: .72;
  cursor: not-allowed;
}
.export-option.is-loading {
  opacity: .82;
  cursor: not-allowed;
  border-color: #d4cef5;
  background: #faf8ff;
}
.export-option.is-loading .export-check {
  background: #ede9fa;
  color: #9580cc;
  animation: export-spin 1.4s linear infinite;
}
@keyframes export-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.export-loading-note {
  margin-top: 6px;
  color: #8b7ac5 !important;
}
.export-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.export-check {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: #f3f0fa;
  color: #6c52e8;
  font-weight: 800;
}
.export-option:has(input:checked) .export-check {
  background: #6c52e8;
  color: #fff;
}
.export-copy b {
  display: block;
  margin-bottom: 4px;
}
.export-copy em,
.export-copy small {
  display: block;
  color: #7a7386;
  line-height: 1.5;
  font-style: normal;
}
.export-locked-note {
  margin-top: 6px;
  color: #9a8eb8 !important;
}
.export-verify-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  margin: 22px 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: #faf8ff;
  border: 1px solid #e7e0f8;
}
.export-verify-note span {
  font-size: 1.4rem;
}
.export-verify-note p {
  margin: 6px 0 0;
  color: #6f687d;
  line-height: 1.55;
}
.export-verify-note code {
  font-size: .78rem;
  word-break: break-all;
}
.export-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.export-inline-bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: center;
  margin-top: 24px;
  padding: 16px 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #f8f5ff 0%, #fff 60%);
  border: 1px solid #e6def8;
}
.export-inline-icon {
  font-size: 1.4rem;
  line-height: 1;
  color: #6c52e8;
}
.export-inline-bar b {
  display: block;
  font-size: .95rem;
  margin-bottom: 2px;
}
.export-inline-bar small {
  color: #8b8498;
  font-size: .78rem;
}
@media (max-width: 600px) {
  .export-inline-bar {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
  }
  .export-inline-bar .primary-button {
    grid-column: 1 / -1;
  }
}
.export-save-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  margin-top: 28px;
  padding: 24px 26px;
  border-radius: 26px;
  background: linear-gradient(135deg, #f8f5ff 0%, #fff 55%);
  border: 1px solid #e6def8;
}
.export-save-copy p {
  margin: 8px 0 0;
  color: #6f687d;
  line-height: 1.6;
}
.export-save-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.export-save-list li {
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid #e8e0f8;
  font-size: .82rem;
  color: #5f5772;
}
.export-save-actions {
  display: grid;
  gap: 10px;
  justify-items: start;
}
.verify-export {
  margin: 22px 0;
  padding: 18px 20px;
  border-radius: 20px;
  background: #f7fbf8;
  border: 1px solid #d5ebdc;
}
.verify-export-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
}
.verify-export-head span {
  font-size: 1.3rem;
}
.verify-export-head small {
  display: block;
  color: #7d8f84;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.verify-export-list {
  margin: 12px 0 0;
  padding-left: 18px;
}
.verify-export-list li {
  margin: 4px 0;
  color: #2f5d42;
}
.verify-export-date {
  margin: 10px 0 0;
  color: #6f8a79;
  font-size: .86rem;
}
.verify-export-empty p {
  margin: 0;
  color: #6f8a79;
  line-height: 1.55;
}
@media (max-width: 720px) {
  .export-save-card {
    grid-template-columns: 1fr;
  }
  .export-save-actions {
    width: 100%;
  }
  .export-save-actions .primary-button,
  .export-save-actions .secondary-button {
    width: 100%;
    justify-content: center;
  }
}

/* 6.9.44 - unified profile sidebar menu */
@media (min-width: 981px){
  .result-v3 main.result-shell,
  .natal-page main.result-shell,
  .daily-page main.result-shell,
  .dm-page main.result-shell{
    grid-template-columns: 250px minmax(0,1fr) !important;
    gap: 0 24px !important;
  }
  .result-page-layout{
    grid-template-columns: 250px minmax(0,1fr) !important;
    gap: 0 24px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs]{
    width: 250px !important;
    max-height: calc(100vh - 92px) !important;
    padding: 12px 10px !important;
    gap: 6px !important;
    border-radius: 26px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 18px 50px rgba(38,29,86,.08) !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a,
  .natal-page .result-product-tabs[data-product-tabs] > a,
  .daily-page .result-product-tabs[data-product-tabs] > a,
  .result-page-layout .result-product-tabs[data-product-tabs] > a{
    width: 100% !important;
    min-height: 56px !important;
    padding: 10px 12px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    border-radius: 15px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    color: #627681 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    letter-spacing: 0 !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a span,
  .natal-page .result-product-tabs[data-product-tabs] > a span,
  .daily-page .result-product-tabs[data-product-tabs] > a span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a span{
    width: 42px !important;
    height: 42px !important;
    border-radius: 15px !important;
    font-size: 17px !important;
    background: #f1eef9 !important;
    color: #6d7f87 !important;
  }
  .result-product-tabs[data-product-tabs] > a[data-tab-external]::after{content:none!important}
  .result-v3 .result-product-tabs[data-product-tabs] > a.active,
  .natal-page .result-product-tabs[data-product-tabs] > a.active,
  .daily-page .result-product-tabs[data-product-tabs] > a.active,
  .result-page-layout .result-product-tabs[data-product-tabs] > a.active{
    background: #eee8ff !important;
    color: #4b2fd0 !important;
    box-shadow: none !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a.active span,
  .natal-page .result-product-tabs[data-product-tabs] > a.active span,
  .daily-page .result-product-tabs[data-product-tabs] > a.active span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a.active span{
    background: #6c51dc !important;
    color: #fff !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]{
    min-height: 64px !important;
    margin-top: 8px !important;
    background: linear-gradient(135deg,#6c52e8 0%,#9475ff 100%) !important;
    color: #fff !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Все сервисы"]:not(.active),
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"]:not(.active),
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"]:not(.active),
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Все сервисы"]:not(.active){
    min-height: 58px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Все сервисы"].active,
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"].active,
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"].active,
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Все сервисы"].active{
    background: #ede8ff !important;
    color: #4a2fcb !important;
    font-weight: 780 !important;
    box-shadow: none !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Все сервисы"].active span,
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"].active span,
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"].active span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Все сервисы"].active span{
    background: #6c51dc !important;
    color: #fff !important;
    font-size: 17px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] .tabs-sep,
  .natal-page .result-product-tabs[data-product-tabs] .tabs-sep,
  .daily-page .result-product-tabs[data-product-tabs] .tabs-sep,
  .result-page-layout .result-product-tabs[data-product-tabs] .tabs-sep{
    height: 1px !important;
    width: calc(100% - 18px) !important;
    margin: 4px auto !important;
  }
}
@media (max-width: 980px){
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs]{
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    padding: 8px !important;
    overflow-x: auto !important;
    border-radius: 18px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a,
  .natal-page .result-product-tabs[data-product-tabs] > a,
  .daily-page .result-product-tabs[data-product-tabs] > a,
  .result-page-layout .result-product-tabs[data-product-tabs] > a{
    flex: 0 0 auto !important;
    min-height: 46px !important;
    padding: 8px 12px !important;
    border-radius: 14px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
  }
  .result-product-tabs[data-product-tabs] > a[data-tab-external]::after{content:none!important}
  .result-product-tabs[data-product-tabs] .tabs-sep{display:none!important}
}

/* 6.9.45 - compact sidebar rhythm */
@media (min-width: 981px){
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs]{
    gap: 4px !important;
    padding: 11px 10px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a,
  .natal-page .result-product-tabs[data-product-tabs] > a,
  .daily-page .result-product-tabs[data-product-tabs] > a,
  .result-page-layout .result-product-tabs[data-product-tabs] > a{
    min-height: 50px !important;
    grid-template-columns: 36px minmax(0,1fr) !important;
    gap: 11px !important;
    padding: 8px 11px !important;
    font-size: 14px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a span,
  .natal-page .result-product-tabs[data-product-tabs] > a span,
  .daily-page .result-product-tabs[data-product-tabs] > a span,
  .result-page-layout .result-product-tabs[data-product-tabs] > a span{
    width: 36px !important;
    height: 36px !important;
    border-radius: 13px !important;
    font-size: 16px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"]{
    min-height: 56px !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Все сервисы"]{
    min-height: 52px !important;
  }
}

/* Тёмный промо-блок нумерологии на вкладке «Гороскопы» */
#panel-horoscopes .free-test-banner.is-dark,
.free-test-banner.is-dark {
  background: linear-gradient(135deg, rgba(14, 20, 50, 0.96), rgba(5, 16, 42, 0.98)) !important;
  border: 1px solid rgba(147, 197, 253, 0.22) !important;
  color: #fff !important;
}
#panel-horoscopes .free-test-banner.is-dark h2,
.free-test-banner.is-dark h2 {
  color: #fff !important;
}
#panel-horoscopes .free-test-banner.is-dark p,
.free-test-banner.is-dark p {
  color: rgba(255, 255, 255, 0.92) !important;
}
#panel-horoscopes .free-test-banner.is-dark .eyebrow,
#panel-horoscopes .free-test-banner.is-dark .eyebrow.dark,
.free-test-banner.is-dark .eyebrow,
.free-test-banner.is-dark .eyebrow.dark {
  color: rgba(255, 255, 255, 0.78) !important;
  opacity: 1 !important;
}
#panel-horoscopes .free-test-banner.is-dark .secondary-button,
.free-test-banner.is-dark .secondary-button {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
#panel-horoscopes .free-test-banner.is-dark .secondary-button:hover,
.free-test-banner.is-dark .secondary-button:hover {
  background: rgba(255, 255, 255, 0.16) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
}

/* Баннер «предложите систему» — вкладка Human Design */
#panel-hd .systems-expand-banner,
.systems-expand-banner {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 22px 24px;
  border-radius: 22px;
  border: 1px solid rgba(104, 71, 245, 0.22);
  background: linear-gradient(125deg, #5b3dda 0%, #6847f5 42%, #7c5cff 100%);
  color: #fff;
  box-shadow: 0 14px 40px rgba(88, 58, 220, 0.22);
}
.systems-expand-icon {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 24px;
  flex-shrink: 0;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.22);
}
.systems-expand-copy {
  flex: 1;
  min-width: min(100%, 280px);
}
.systems-expand-eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 6px;
}
.systems-expand-banner h2 {
  margin: 0 0 8px;
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  font-weight: 800;
  line-height: 1.25;
  color: #fff;
}
.systems-expand-banner p {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.9);
  max-width: 52rem;
}
.systems-expand-cta {
  flex-shrink: 0;
  padding: 13px 20px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  color: #4a2fc0 !important;
  background: #fff;
  box-shadow: 0 6px 20px rgba(20, 10, 60, 0.18);
  transition: transform 0.15s, box-shadow 0.15s;
}
.systems-expand-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(20, 10, 60, 0.24);
}
@media (max-width: 640px) {
  .systems-expand-banner {
    flex-direction: column;
    align-items: flex-start;
    padding: 18px 16px;
  }
  .systems-expand-cta {
    width: 100%;
    text-align: center;
  }
}

/* ── Cabinet editor (my.php) ── */

.account-page .account-tabs {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  gap: 0 !important;
  overflow: hidden !important;
  flex-wrap: nowrap !important;
  padding: 6px !important;
  padding-right: 4px !important;
}

.account-page .account-tabs-track {
  display: flex;
  min-width: 0;
  gap: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  flex-wrap: nowrap;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding: 2px 4px 2px 2px;
}

.account-page .account-tabs-track::-webkit-scrollbar {
  display: none;
}

.account-page .account-tabs .account-tabs-gear {
  flex: 0 0 auto !important;
  align-self: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 2px 0 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-left: 1px solid rgba(15, 122, 130, .16) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .65) !important;
  color: var(--cab-muted, #6b6580) !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: background 0.15s, color 0.15s;
}

.account-page .account-tabs .account-tabs-gear:hover,
.account-page .account-tabs .account-tabs-gear.is-active {
  color: var(--cab-primary, #147f86) !important;
  background: var(--cab-soft, #edf6fb) !important;
}

.cabinet-editor {
  margin: 0 0 24px;
  padding: 20px 22px;
  border: 1px solid var(--cab-line, #e4ddf3);
  border-radius: 20px;
  background: linear-gradient(180deg, #fff, #faf8ff);
  box-shadow: 0 14px 36px rgba(48, 31, 78, 0.07);
}

.cabinet-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.cabinet-editor-head h2 {
  margin: 4px 0 8px;
  font-size: 1.35rem;
}

.cabinet-editor-list {
  display: grid;
  gap: 10px;
}

.cabinet-editor-row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(74, 47, 192, 0.1);
  background: #fff;
}

.cabinet-editor-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cab-soft, #f4f0ff);
  font-size: 1rem;
}

.cabinet-editor-copy b {
  display: block;
  font-size: 0.95rem;
}

.cabinet-editor-copy small {
  color: var(--cab-muted, #6b6580);
}

.cabinet-editor-status {
  font-size: 0.75rem;
  font-weight: 800;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f2f0f8;
  color: #5c5670;
  white-space: nowrap;
}

.cabinet-editor-status--оплачено {
  background: #e8faf3;
  color: #0f7a55;
}

.cabinet-editor-status--подписка {
  background: #fff4df;
  color: #9a6200;
}

.cabinet-editor-status--не-оплачено {
  background: #f4f0ff;
  color: #4a2fc0;
}

.cabinet-editor-status--бесплатно {
  background: #ecfdf5;
  color: #047857;
}
.cabinet-editor-status--скрыто {
  background: #f0f0f3;
  color: #6b6580;
}

.cabinet-editor-delete {
  border: 0;
  background: none;
  color: #c0392b;
  font-size: 0.82rem;
  font-weight: 800;
  cursor: pointer;
  padding: 6px 8px;
  border-radius: 8px;
}

.cabinet-editor-delete:hover {
  background: rgba(192, 57, 43, 0.08);
}

.cabinet-editor-empty {
  padding: 12px 0 4px;
}

.cabinet-delete-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: rgba(12, 20, 28, 0.55);
  backdrop-filter: blur(6px);
}

.cabinet-delete-modal[hidden] {
  display: none !important;
}

.cabinet-delete-dialog {
  position: relative;
  width: min(460px, 100%);
  padding: 28px 26px 24px;
  border-radius: 24px;
  background: linear-gradient(180deg, #fff 0%, #fafcfd 100%);
  border: 1px solid rgba(15, 122, 130, 0.12);
  box-shadow: 0 28px 70px rgba(12, 30, 38, 0.22);
}

.cabinet-delete-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: rgba(15, 122, 130, 0.06);
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
  color: #6b7a82;
  transition: background 0.15s;
}

.cabinet-delete-close:hover {
  background: rgba(15, 122, 130, 0.12);
}

.cabinet-delete-icon {
  width: 52px;
  height: 52px;
  margin: 0 0 16px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  background: linear-gradient(135deg, #fff4e8, #ffe8dc);
  color: #c45c28;
  box-shadow: inset 0 0 0 1px rgba(196, 92, 40, 0.12);
}

.cabinet-delete-copy {
  margin-bottom: 18px;
}

.cabinet-delete-copy .eyebrow {
  margin-bottom: 8px;
}

.cabinet-delete-dialog h3 {
  margin: 0 0 10px;
  font-size: 1.35rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
}

.cabinet-delete-lead {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--cab-muted, #5f6d74);
}

.cabinet-delete-target-card {
  margin-bottom: 18px;
  padding: 14px 16px;
  border-radius: 14px;
  background: var(--cab-soft, #edf6fb);
  border: 1px solid rgba(15, 122, 130, 0.1);
}

.cabinet-delete-target-card small {
  display: block;
  margin-bottom: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cab-muted, #6b7a82);
}

.cabinet-delete-target {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.45;
  color: #17343a;
}

.cabinet-delete-challenge {
  margin-bottom: 16px;
}

.cabinet-delete-hint {
  margin: 0 0 10px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--cab-muted, #5f6d74);
}

.cabinet-delete-word-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 12px 18px;
  border-radius: 14px;
  background: #fff;
  border: 1px dashed rgba(15, 122, 130, 0.28);
}

.cabinet-delete-word {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: var(--cab-primary, #147f86);
  text-transform: lowercase;
}

.cabinet-delete-form {
  display: grid;
  gap: 16px;
}

.cabinet-delete-input-wrap {
  display: grid;
  gap: 8px;
}

.cabinet-delete-input-label {
  font-size: 0.82rem;
  font-weight: 800;
  color: #3d4d52;
}

.cabinet-delete-input-wrap input {
  width: 100%;
  box-sizing: border-box;
  padding: 13px 15px;
  border: 1px solid rgba(15, 122, 130, 0.18);
  border-radius: 12px;
  font-size: 1rem;
  line-height: 1.4;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.cabinet-delete-input-wrap input:focus {
  outline: none;
  border-color: var(--cab-primary, #147f86);
  box-shadow: 0 0 0 3px rgba(15, 122, 130, 0.12);
}

.cabinet-delete-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 4px;
}

.cabinet-delete-actions .danger-button,
.cabinet-delete-actions .secondary-button {
  width: 100%;
  min-height: 46px;
  justify-content: center;
}

body.cabinet-modal-open {
  overflow: hidden;
}

@media (max-width: 700px) {
  .cabinet-delete-dialog {
    padding: 24px 18px 20px;
    border-radius: 20px;
  }

  .cabinet-delete-actions {
    grid-template-columns: 1fr;
  }

  .cabinet-editor-row {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "icon copy"
      "status delete";
  }
  .cabinet-editor-icon { grid-area: icon; }
  .cabinet-editor-copy { grid-area: copy; }
  .cabinet-editor-status { grid-area: status; justify-self: start; }
  .cabinet-editor-delete { grid-area: delete; justify-self: end; }
}

/* ═══════════════════════════════════════════════════════════════
   Матрица судьбы — nv2 workspace
   ═══════════════════════════════════════════════════════════════ */

.dm-page .dm-page-hero { margin-bottom: 8px; }
.dm-page .dm-hero-orbit span { color: #7f77dd; }

.dm-page .dm-reading-workspace {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 8px;
  width: 100%;
  min-width: 0;
}
.dm-page .dm-nv2-hero {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin-bottom: 20px;
  flex: none;
  width: 100%;
  position: relative;
  z-index: 1;
  grid-template-columns: unset;
}
.dm-page .dm-nv2-hero .nv2-chart-col {
  flex: 1 1 0;
  min-width: 0;
  min-height: 0;
  padding: 12px 14px 14px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.dm-page .dm-nv2-hero .nv2-data-col {
  flex: 0 0 272px;
  width: 272px;
  max-height: none;
  align-self: stretch;
}
.dm-page #dmChartWrap {
  position: relative;
  width: min(100%, clamp(480px, 54vw, 640px));
  aspect-ratio: 1;
  margin: 0;
  line-height: 0;
}
.dm-page #dmChartWrap .dm-matrix-chart {
  width: 100%;
  height: 100%;
}
.dm-page #dmChartWrap svg.mv-matrix-oct {
  display: block;
  width: 100%;
  height: 100%;
  vertical-align: top;
}

.dm-page .dm-matrix-loading {
  position: absolute; inset: 0; z-index: 2;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  background: rgba(250, 248, 255, .96); border-radius: 18px;
  pointer-events: none;
  transition: opacity .4s ease, visibility .4s;
}
.dm-page .dm-matrix-loading.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.dm-page .dm-matrix-loading-orbit {
  width: 52px; height: 52px; border-radius: 50%;
  border: 3px solid #e8e2f8; border-top-color: #6c52e8;
  animation: dmSpin .9s linear infinite;
}
.dm-page .dm-matrix-loading h3 { margin: 0; font-size: 1rem; font-weight: 700; color: #1a1340; }
.dm-page .dm-matrix-loading p { margin: 0; font-size: .86rem; color: #6b5a80; min-height: 1.2em; text-align: center; padding: 0 20px; }
.dm-page .dm-matrix-loading-track { width: min(220px, 70%); height: 4px; border-radius: 99px; background: #e8e2f8; overflow: hidden; }
.dm-page .dm-matrix-loading-track i { display: block; height: 100%; width: 35%; border-radius: inherit; background: linear-gradient(90deg, #6c52e8, #58c488, #ebb05e); animation: dmLoad 1.6s ease-in-out infinite; }
@keyframes dmSpin { to { transform: rotate(360deg); } }
@keyframes dmLoad { 0% { transform: translateX(-120%); } 100% { transform: translateX(320%); } }

.dm-page .ng { cursor: pointer; transition: opacity .2s, transform .15s; }
.dm-page .ng.dim { opacity: .16; pointer-events: none; }
.dm-page .ng.sl .nm { stroke: #6c52e8; stroke-width: 3; }
.dm-page .ng:hover:not(.dim) { transform: none; }

.dm-page .dm-sidebar-card { gap: 12px; }
.dm-page .dm-sidebar-head .nv2-data-name { font-size: 1.05rem; }
.dm-page .dm-sidebar-tip { font-size: .76rem; line-height: 1.45; color: #8b7ca0; margin-top: 4px; }
.dm-page .dm-sidebar-groups { display: flex; flex-direction: column; gap: 14px; flex: 1; overflow-y: auto; }
.dm-page .dm-sidebar-group-label {
  font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: #9b8fb5; margin: 0 0 6px;
}
.dm-page .dm-sidebar-row {
  width: 100%; display: grid; grid-template-columns: 28px 1fr auto; gap: 10px; align-items: center;
  padding: 10px 10px; margin-bottom: 4px; border: 1px solid transparent; border-radius: 12px;
  background: #fff; cursor: pointer; text-align: left; transition: .15s;
}
.dm-page .dm-sidebar-row:hover { background: #f5f2fd; border-color: #e4dbf7; }
.dm-page .dm-sidebar-row.is-active { background: #f0ecff; border-color: #c8b8ff; box-shadow: 0 4px 14px rgba(108, 82, 232, .1); }
.dm-page .dm-sidebar-icon { font-size: 1rem; text-align: center; color: var(--accent, #6c52e8); }
.dm-page .dm-sidebar-copy b { display: block; font-size: .82rem; color: #2a2540; }
.dm-page .dm-sidebar-copy small { display: block; font-size: .7rem; color: #8b7ca0; line-height: 1.35; margin-top: 2px; }
.dm-page .dm-sidebar-nums {
  font-size: .72rem; font-weight: 800; color: #6c52e8; background: #f5f2fd;
  border-radius: 8px; padding: 4px 8px; white-space: nowrap;
}
/* Блок расшифровки — отдельная карточка под матрицей */
.dm-page .dm-reading-panel {
  flex: none;
  width: 100%;
  min-width: 0;
  background: #fff;
  border: 1px solid #e9e4f0;
  border-radius: 20px;
  box-shadow: 0 12px 40px rgba(40, 30, 80, .06);
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.dm-page .dm-reading-main {
  width: 100%;
  min-width: 0;
}
.dm-page .dm-reading-tabs.nv2-nav {
  position: static;
  top: auto;
  z-index: auto;
  margin: 0;
  padding: 0 12px;
  background: #faf8ff;
  border-bottom: 1px solid #e9e4f0;
}
.dm-page .dm-nv2-content {
  padding: 28px 16px 48px;
}
.dm-page .dm-reading-pane {
  scroll-margin-top: 88px;
  padding-bottom: 36px;
  margin-bottom: 8px;
  border-bottom: 1px solid #ede8f8;
}
.dm-page .dm-reading-pane:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.dm-page .dm-pane-head {
  display: flex; align-items: flex-start; gap: 14px;
  max-width: 760px; padding: 0 0 24px 24px; margin-bottom: 8px;
  border-left: 2px solid #e8e0f8;
}
.dm-page .dm-pane-icon {
  width: 44px; height: 44px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.2rem; flex-shrink: 0;
}
.dm-page .dm-pane-head h2 { margin: 0 0 4px; font-size: 1.35rem; font-weight: 800; color: #1a1340; }
.dm-page .dm-pane-head p { margin: 0; font-size: .88rem; color: #7a6898; line-height: 1.5; }

.dm-page .dm-pane-body { max-width: 760px; padding-left: 24px; border-left: 2px solid #e8e0f8; }
.dm-page .dm-pane-body .cds { margin-top: 0; }
.dm-page .dm-section-intro {
  margin: 0 0 20px; padding: 14px 16px; border-radius: 12px;
  background: #f5f2fd; border: 1px solid #e4dbf7;
  font-size: .92rem; line-height: 1.65; color: #3c3055;
}
.dm-page .dm-reading-flow .cd-item {
  margin-bottom: 16px;
}
.dm-page .dm-reading-flow .cd-item:last-child { margin-bottom: 0; }
.dm-page .dm-reading-card.reading-card-v3 {
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  max-width: 100%;
}
.dm-page .dm-reading-card-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 12px;
}
.dm-page .dm-reading-card-head .cd-num { flex-shrink: 0; }
.dm-page .dm-reading-card h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  color: #1a1340;
  line-height: 1.25;
}
.dm-page .dm-reading-meta { font-size: .78rem; color: #8b7ca0; margin-top: 4px; }
.dm-page .dm-reading-text {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.dm-page .dm-reading-text .reading-subchapter {
  margin-top: 20px;
  padding: 0;
  border: 0;
  background: transparent;
}
.dm-page .dm-reading-text .reading-subchapter:first-child { margin-top: 0; }
.dm-page .dm-reading-text .reading-subchapter h4 {
  margin: 0 0 10px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #534ab7;
}
.dm-page .dm-reading-text .reading-subchapter p {
  margin: 0 0 12px;
  font-size: .94rem;
  line-height: 1.72;
  color: #2a2540;
}
.dm-page .dm-reading-text .reading-subchapter p:last-child { margin-bottom: 0; }
.dm-page .dm-reading-text .reading-subchapter-cont {
  margin-top: 10px;
}
.dm-page .dm-reading-text .reading-subchapter-cont p {
  margin-top: 0;
}
.dm-page .dm-reading-list-plus ul, .dm-page .dm-reading-list-minus ul, .dm-page .dm-todo-list {
  margin: 0; padding: 0 0 0 18px; font-size: .9rem; line-height: 1.65; color: #2a2540;
}
.dm-page .dm-reading-list-plus h4 { color: #2d8b57; }
.dm-page .dm-reading-list-minus h4 { color: #b04665; }
.dm-page .dm-ai-body .reading-subchapter { margin-top: 14px; }
.dm-page .dm-ai-body .reading-subchapter h4.dm-ai-sub,
.dm-page .dm-ai-body .reading-subchapter h4 {
  font-size: .82rem;
  font-weight: 700;
  color: #6d28d9;
  margin: 0 0 8px;
}
.dm-page .dm-ai-body .reading-subchapter p {
  font-size: .94rem;
  line-height: 1.65;
  color: #3c3055;
}
.dm-page .dm-appendix { margin-top: 32px; padding-top: 24px; border-top: 2px solid #e8e0f8; }
.dm-page .dm-appendix-title { font-size: 1.25rem; font-weight: 800; color: #1a1340; margin-bottom: 8px; }
.dm-page .dm-appendix-lead { font-size: .88rem; color: #7a6898; line-height: 1.55; margin: 0 0 20px; }
.dm-page .dm-appendix-card { margin-bottom: 32px; padding-bottom: 24px; border-bottom: 1px solid #ece8f5; }

.dm-page .dm-pane-body .cd-item {
  background: #fff;
  border: 1px solid #ece8f5;
  border-radius: 16px;
  padding: 22px 20px;
  margin-bottom: 16px;
  box-shadow: 0 8px 24px rgba(40, 30, 80, .04);
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.dm-page .dm-pane-body .cd-item .reading-card-v3 {
  border-bottom: 0;
  padding: 0;
}
.dm-page .dm-pane-body .cd-h { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.dm-page .dm-pane-body .cd-num {
  width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 700; color: #fff; flex-shrink: 0;
}
.dm-page .dm-pane-body .cd-ti { font-size: 1.15rem; font-weight: 700; color: #1a1340; }
.dm-page .dm-pane-body .cd-sub { font-size: .86rem; color: #9b8fb5; margin-top: 2px; }
.dm-page .dm-pane-body .cd-desc {
  font-size: .96rem; color: #2a2540; line-height: 1.7; margin-bottom: 16px;
  background: #faf8ff; border-radius: 12px; padding: 12px 14px;
}
.dm-page .dm-pane-body .cd-desc p { margin: 0; }
.dm-page .dm-pane-body .cd-sec {
  background: #fff; border: 1px solid #ece8f5; border-left: 4px solid var(--cdx, #6c52e8);
  border-radius: 0 12px 12px 0; padding: 14px 16px; margin-bottom: 12px;
}
.dm-page .dm-pane-body .cd-sec-plus { --cdx: #2d8b57; --cdx-bg: #eaf5ee; }
.dm-page .dm-pane-body .cd-sec-minus { --cdx: #b04665; --cdx-bg: #fbecef; }
.dm-page .dm-pane-body .cd-st { font-size: .86rem; font-weight: 700; color: var(--cdx); margin-bottom: 8px; display: flex; align-items: center; gap: 8px; }
.dm-page .dm-pane-body .cd-st-ico {
  width: 26px; height: 26px; border-radius: 50%; background: var(--cdx-bg);
  display: inline-flex; align-items: center; justify-content: center;
}
.dm-page .dm-pane-body .cd-ul { font-size: .9rem; color: #2a2540; line-height: 1.65; }
.dm-page .dm-pane-body .cd-ul p { margin: 0 0 5px; padding-left: 18px; position: relative; }
.dm-page .dm-pane-body .cd-ul p::before { content: '·'; position: absolute; left: 0; color: var(--cdx); font-weight: 700; }

.dm-page .mc-personal {
  background: linear-gradient(160deg, #fff, #faf8ff); border-radius: 14px;
  padding: 18px 16px; margin-top: 14px; border-left: 3px solid #6c52e8;
}
.dm-page .mc-personal-badge {
  display: inline-block; background: #eeedfe; color: #534ab7;
  font-size: .72rem; font-weight: 700; padding: 5px 12px; border-radius: 14px;
  text-transform: uppercase; letter-spacing: .06em; margin: 0 0 14px;
}
.dm-page .mc-personal p { margin: 0 0 12px; font-size: .94rem; line-height: 1.65; color: #2a2540; }
.dm-page .mc-personal h4 { margin: 18px 0 8px; font-size: 1rem; font-weight: 800; color: #534ab7; }
.dm-page .mc-personal-hint { margin-top: 18px; padding-top: 18px; border-top: 1px solid #ece8f5; font-size: .9rem; color: #3c3055; }

.dm-page .mc-products {
  margin: 20px 0 8px; padding: 18px 18px 20px;
  background: linear-gradient(160deg, #faf8ff, #fff); border-radius: 16px; border: 1px solid #ece8f5;
}
.dm-page .mc-products-title { font-size: 1.35rem; font-weight: 700; color: #1a1340; text-align: center; margin-bottom: 4px; }
.dm-page .mc-products-sub { font-size: .86rem; color: #7a6898; text-align: center; margin-bottom: 18px; }
.dm-page .mc-product-card-v14 {
  background: #fff; border: 1px solid #ece8f5; border-radius: 16px;
  padding: 20px 18px; display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center;
}
.dm-page .mc-product-badge {
  display: inline-block; background: #eeedfe; color: #534ab7;
  font-size: .68rem; font-weight: 600; padding: 3px 10px; border-radius: 10px; text-transform: uppercase; margin-bottom: 8px;
}
.dm-page .mc-product-name { font-size: 1.15rem; font-weight: 600; color: #2a2540; margin-bottom: 6px; }
.dm-page .mc-product-sections { font-size: .84rem; color: #7a6898; line-height: 1.55; }
.dm-page .mc-product-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.dm-page .mc-product-list li b { display: block; font-size: .92rem; color: #2a2540; margin-bottom: 4px; }
.dm-page .mc-product-list li span { display: block; font-size: .82rem; color: #7a6898; line-height: 1.5; }
.dm-page .mc-products-family { margin-top: 20px; padding-top: 18px; border-top: 1px solid #ece8f5; }
.dm-page .mc-products-family-title { font-size: 1.1rem; font-weight: 700; color: #1a1340; margin-bottom: 8px; }
.dm-page .mc-products-family-intro { font-size: .86rem; color: #7a6898; line-height: 1.55; margin: 0 0 14px; }
.dm-page .mc-product-card-family { margin-top: 0; }
.dm-page .dm-ai-error { color: #b04665; padding: 12px 0 12px 24px; font-size: .9rem; line-height: 1.5; }
.dm-page .mc-product-price { font-size: 1.45rem; font-weight: 700; color: #2a2540; }
.dm-page .mc-product-price s { font-size: .95rem; color: #b0b0a8; font-weight: 400; margin-right: 8px; }
.dm-page .mc-product-meta { font-size: .72rem; color: #b0b0a8; text-transform: uppercase; margin-top: 6px; }

.dm-page .chakra-accordion {
  border: 1px solid #ece8f5; border-radius: 14px; background: #fff; overflow: hidden;
  box-shadow: 0 8px 24px rgba(40, 30, 80, .04);
}
.dm-page .chakra-acc-head {
  width: 100%; display: flex; align-items: center; gap: 12px; padding: 16px 18px;
  background: #fff; border: none; cursor: pointer; text-align: left;
}
.dm-page .chakra-acc-title { font-size: .95rem; font-weight: 700; color: #1a1340; flex-shrink: 0; }
.dm-page .chakra-acc-sub { font-size: .8rem; color: #9b8fb5; flex: 1; }
.dm-page .chakra-acc-body { display: none; padding: 0 16px 16px; }
.dm-page .chakra-accordion.open .chakra-acc-body { display: block; }
.dm-page .dm-chakra-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.dm-page .dm-chakra-table th, .dm-page .dm-chakra-table td { padding: 10px 12px; border-top: 1px solid #ece8f5; }

.dm-page .nv2-ai-pane { max-width: 760px; padding-left: 24px; border-left: 2px solid #e8e0f8; }
.dm-page .nv2-ai-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 26px;
  border: 0; border-radius: 12px; background: #6c52e8; color: #fff;
  font-size: .92rem; font-weight: 700; cursor: pointer; margin-bottom: 20px;
}
.dm-page .nv2-ai-btn:hover { background: #5a44cc; }

.dm-page .dm-guide-article {
  margin: 0 0 24px; padding: 28px 28px 8px; border-radius: 18px;
  background: linear-gradient(165deg, #faf8ff 0%, #fff 55%);
  border: 1px solid #ece8f5; box-shadow: 0 10px 32px rgba(40, 30, 80, .05);
}
.dm-page .dm-guide-head h2 { margin: 8px 0 12px; font-size: 1.45rem; font-weight: 800; color: #1a1340; }
.dm-page .dm-guide-lead { font-size: 1rem; line-height: 1.65; color: #2a2540; }
.dm-page .dm-guide-article p { margin: 0 0 14px; font-size: .92rem; line-height: 1.65; color: #3c3055; }
.dm-page .dm-guide-sec { margin: 22px 0 8px; padding-top: 18px; border-top: 1px solid #ece8f5; }
.dm-page .dm-guide-sec h3 { margin: 0 0 12px; font-size: 1.1rem; font-weight: 800; color: #534ab7; }
.dm-page .dm-guide-compare {
  display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 16px 0 18px;
}
.dm-page .dm-guide-compare-col {
  padding: 16px; border-radius: 14px; background: #fff; border: 1px solid #ece8f5;
}
.dm-page .dm-guide-compare-highlight { background: #f5f2fd; border-color: #d8cff5; }
.dm-page .dm-guide-compare-label { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #8b7ca0; margin-bottom: 10px; }
.dm-page .dm-guide-compare-col p { margin: 10px 0 0; font-size: .84rem; color: #7a6898; }
.dm-page .dm-guide-zones { display: grid; gap: 10px; margin: 14px 0; }
.dm-page .dm-guide-zone { padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid #ece8f5; }
.dm-page .dm-guide-zone b { display: block; font-size: .9rem; color: #1a1340; margin-bottom: 4px; }
.dm-page .dm-guide-zone p { margin: 0; font-size: .84rem; color: #6b5a80; line-height: 1.55; }
.dm-page .dm-guide-personal, .dm-page .dm-guide-cta {
  padding: 14px 16px; border-radius: 12px; background: #f0ecff; border: 1px solid #ddd4f7;
}
.dm-page .dm-guide-cta { margin-top: 8px; }

.dm-page .dm-mode-bar {
  margin: 0 0 18px; padding: 18px 20px; border-radius: 16px;
  background: #fff; border: 1px solid #ece8f5; box-shadow: 0 8px 24px rgba(40, 30, 80, .04);
}
.dm-page .dm-mode-bar-title { font-size: .95rem; font-weight: 800; color: #1a1340; }
.dm-page .dm-mode-bar-hint { margin: 4px 0 12px; font-size: .82rem; color: #7a6898; line-height: 1.45; }
.dm-page .dm-mode-switch {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.dm-page .dm-mode-btn {
  display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px;
  border: 1px solid #e4dbf7; border-radius: 999px; background: #faf9fe;
  font-size: .82rem; font-weight: 600; color: #534ab7; cursor: pointer;
  transition: background .15s, border-color .15s, box-shadow .15s;
}
.dm-page .dm-mode-btn:hover { background: #f0ecff; border-color: #c8b8ff; }
.dm-page .dm-mode-btn.active {
  background: #6c52e8; border-color: #6c52e8; color: #fff;
  box-shadow: 0 4px 14px rgba(108, 82, 232, .25);
}
.dm-page .dm-mode-icon { font-size: .95rem; line-height: 1; }

.dm-page .dm-bundle-block { margin-top: 22px; padding-top: 18px; border-top: 1px dashed #ddd4f7; }
.dm-page .dm-bundle-block-title {
  font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
  color: #6c52e8; margin-bottom: 12px;
}
.dm-page .dm-bundle-card {
  padding: 16px 18px; border-radius: 14px; background: #f5f2fd; border: 1px solid #ddd4f7;
  margin-bottom: 12px;
}
.dm-page .dm-bundle-visual {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px;
}
.dm-page .dm-bundle-visual-demo .dm-bundle-col { min-width: 72px; }
.dm-page .dm-bundle-col {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  padding: 10px 12px; border-radius: 12px; background: #fff; border: 1px solid #e4dbf7;
  min-width: 80px;
}
.dm-page .dm-bundle-col-result { background: #eeedfe; border-color: #c8b8ff; }
.dm-page .dm-bundle-num {
  width: 36px; height: 36px; border-radius: 50%; background: #6c52e8; color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1rem;
}
.dm-page .dm-bundle-col small { font-size: .72rem; color: #7a6898; text-align: center; line-height: 1.3; }
.dm-page .dm-bundle-label { font-size: .82rem; font-weight: 800; color: #534ab7; }
.dm-page .dm-bundle-plus, .dm-page .dm-bundle-eq { font-size: 1.1rem; font-weight: 800; color: #9b8fb5; }
.dm-page .dm-bundle-title { margin: 0 0 8px; font-size: 1rem; font-weight: 800; color: #1a1340; }
.dm-page .dm-bundle-text { margin: 0; font-size: .9rem; line-height: 1.65; color: #2a2540; }

@media (max-width: 960px) {
  .dm-page .dm-nv2-hero {
    flex-direction: column;
  }
  .dm-page .dm-nv2-hero .nv2-data-col {
    flex: 1 1 auto;
    width: 100%;
    border-left: none;
    border-top: 1px solid #e9e4f0;
  }
  .dm-page #dmChartWrap {
    width: min(100%, 520px);
  }
  .dm-page .dm-guide-compare { grid-template-columns: 1fr; }
  .dm-page .dm-sidebar-row { grid-template-columns: 24px 1fr; }
  .dm-page .dm-sidebar-nums { grid-column: 2; justify-self: start; margin-top: -2px; }
  .dm-page .mc-product-card-v14 { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .dm-page .dm-pane-head, .dm-page .dm-pane-body, .dm-page .nv2-ai-pane { padding-left: 16px; }
}

.chart-save-bar {
  display: flex;
  justify-content: center;
  margin-top: 12px;
}
.chart-save-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border: 1px solid #e4dbf7;
  border-radius: 12px;
  background: #fff;
  color: #4e3f82;
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: .15s;
  box-shadow: 0 4px 14px rgba(108, 82, 232, .08);
}
.chart-save-btn:hover:not(:disabled) {
  background: #f5f2fd;
  border-color: #c8b8ff;
}
.chart-save-btn:disabled,
.chart-save-btn.is-saving {
  opacity: .7;
  cursor: wait;
}
.result-v3 .chart-stage .chart-save-bar { margin-top: 14px; }
.nv2-chart-col .chart-save-bar { margin-top: 10px; }
.dm-page .nv2-chart-col .chart-save-bar { margin-top: 12px; }
.chart-export-bar { flex-wrap: wrap; gap: 8px; }
.chart-export-bar .chart-save-btn { min-width: 64px; }
.chart-save-btn--pdf {
  background: linear-gradient(180deg, #f5f1ff 0%, #ebe4ff 100%);
  border-color: #c4b5fd;
  color: #4a378d;
}
.chart-save-btn--link {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* 6.9.60 — сайдбар: «Скачать PDF» отделена от пунктов меню */
.result-product-tabs .tabs-sep--actions {
  display: block !important;
  flex: none !important;
  width: calc(100% - 16px) !important;
  height: 1px !important;
  margin: 12px auto 8px !important;
  background: rgba(210, 200, 235, 0.95) !important;
  border: none !important;
}

@media (min-width: 900px) {
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs] {
    gap: 6px !important;
    overflow-x: hidden !important;
    contain: layout paint;
  }

  .result-v3 .result-main-col,
  .result-page-layout > main,
  .result-page-layout > main.mv-shell {
    position: relative !important;
    z-index: 2 !important;
    min-width: 0 !important;
  }

  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Скачать PDF"] {
    margin-top: 2px !important;
    position: relative !important;
    z-index: 1 !important;
    isolation: isolate !important;
    box-shadow: 0 6px 18px rgba(91, 67, 214, 0.24) !important;
  }

  .result-v3 .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .natal-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .daily-page .result-product-tabs[data-product-tabs] > a[title="Все сервисы"],
  .result-page-layout .result-product-tabs[data-product-tabs] > a[title="Все сервисы"] {
    margin-top: 6px !important;
  }
}

/* 6.9.63 — consultation page: fix astro card grid track sizing */
.consultant-page .astro-consult-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 18px;
  align-items: center;
  padding: 22px;
}

.consultant-page .astro-consult-copy {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  min-width: 0;
}

.consultant-page .astro-consult-copy > div {
  flex: 1;
  min-width: 0;
}

.consultant-page .astro-consult-card h2 {
  margin: 4px 0 8px;
  overflow-wrap: normal;
  word-break: normal;
}

.consultant-page .astro-consult-actions {
  width: 100%;
  max-width: 280px;
  min-width: 0;
  display: grid;
  gap: 8px;
}

.consultant-page .astro-consult-actions small {
  overflow-wrap: break-word;
}

@media (max-width: 820px) {
  .consultant-page .consultation-hero,
  .consultant-page .astro-consult-card {
    grid-template-columns: 1fr;
  }

  .consultant-page .astro-consult-actions {
    width: 100%;
    max-width: none;
  }
}

/* 6.9.64 — voice consultation beta note */
.consultant-page .voice-consult-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.consultant-page .voice-beta-badge {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #fef3c7;
  border: 1px solid #f5d565;
  color: #7a5b00;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
}

.consultant-page .voice-beta-note {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(245, 213, 101, .55);
  color: #3f6212;
}

.consultant-page .voice-beta-note-icon {
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: #fef3c7;
  border: 1px solid #f5d565;
  color: #7a5b00;
  font-weight: 800;
  font-size: .9rem;
}

.consultant-page .voice-beta-note-copy {
  flex: 1;
  min-width: 0;
}

.consultant-page .voice-beta-note-copy b {
  display: block;
  margin-bottom: 4px;
  font-size: .84rem;
  color: #365314;
}

.consultant-page .voice-beta-note-copy p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.45;
  color: #4d7c0f;
}

.consultant-page .voice-beta-note-copy a {
  color: #15803d;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.consultant-page #astro-chat-card.is-consult-highlight {
  border-color: rgba(15, 122, 130, .42) !important;
  box-shadow:
    0 0 0 3px rgba(15, 122, 130, .18),
    0 18px 48px rgba(19, 89, 94, .14) !important;
  animation: consult-chat-highlight 2.2s ease;
}

@keyframes consult-chat-highlight {
  0% {
    box-shadow:
      0 0 0 0 rgba(15, 122, 130, 0),
      0 18px 48px rgba(19, 89, 94, .09);
  }
  18% {
    box-shadow:
      0 0 0 4px rgba(15, 122, 130, .28),
      0 22px 54px rgba(19, 89, 94, .16);
  }
  100% {
    box-shadow:
      0 0 0 3px rgba(15, 122, 130, .18),
      0 18px 48px rgba(19, 89, 94, .14);
  }
}



/* 6.9.64 — product tabs: ссылки внутри .pt-tabs-scroll / .pt-tabs-footer
   (раньше стили били только в > a и иконки-символы «пропадали») */
@media (min-width: 900px) {
  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs],
  .multiverse-page .result-page-layout .result-product-tabs[data-product-tabs] {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    gap: 0 !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-scroll-wrap {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding-bottom: 28px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-scroll::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-scroll-wrap::after {
    content: '' !important;
    position: absolute !important;
    left: 6px !important;
    right: 6px !important;
    bottom: 0 !important;
    height: 52px !important;
    border-radius: 0 0 14px 14px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .9) 52%, #fff 100%) !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transition: opacity .22s ease !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-scroll-wrap.is-scrollable:not(.is-at-bottom)::after {
    opacity: 1 !important;
  }
  .result-product-tabs[data-product-tabs] .pt-scroll-hint {
    position: absolute !important;
    left: auto !important;
    right: 0 !important;
    bottom: 4px !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 4px 6px 4px 8px !important;
    border: 1px solid rgba(196, 184, 239, .8) !important;
    border-right: 0 !important;
    border-radius: 10px 0 0 10px !important;
    background: rgba(255, 255, 255, .97) !important;
    color: #5c3be8 !important;
    font-size: .62rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    cursor: pointer !important;
    z-index: 4 !important;
    box-shadow: -4px 4px 14px rgba(92, 59, 232, .1) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .22s ease !important;
    max-width: min(108px, 46%) !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-scroll-wrap.is-scrollable .pt-scroll-hint {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .result-product-tabs[data-product-tabs] .pt-scroll-hint.is-back-top {
    top: 4px !important;
    bottom: auto !important;
    border-radius: 0 0 0 10px !important;
    box-shadow: -4px 2px 14px rgba(92, 59, 232, .1) !important;
  }
  .result-product-tabs[data-product-tabs] .pt-scroll-hint-ico {
    animation: ptScrollHintBounce 1.6s ease-in-out infinite !important;
  }
  @keyframes ptScrollHintBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(3px); }
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-footer {
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    padding-top: 6px !important;
    z-index: 2 !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]),
  .natal-page .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]),
  .daily-page .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]),
  .result-page-layout .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]),
  .multiverse-page .result-page-layout .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]) {
    width: 100% !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    justify-content: start !important;
    gap: 12px !important;
    border-radius: 15px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    color: #627681 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    background: transparent !important;
    box-shadow: none !important;
    flex: none !important;
    text-decoration: none !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]) span,
  .natal-page .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]) span,
  .daily-page .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]) span,
  .result-page-layout .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]) span,
  .multiverse-page .result-page-layout .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]) span {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 15px !important;
    font-size: 17px !important;
    line-height: 1 !important;
    background: #f1eef9 !important;
    color: #5c3be8 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]):hover,
  .natal-page .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]):hover,
  .daily-page .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]):hover,
  .result-page-layout .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]):hover,
  .multiverse-page .result-page-layout .result-product-tabs[data-product-tabs] a:not([data-tab-key="export"]):hover {
    background: #f5f2fb !important;
    color: #3d2f8a !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] a.active,
  .natal-page .result-product-tabs[data-product-tabs] a.active,
  .daily-page .result-product-tabs[data-product-tabs] a.active,
  .result-page-layout .result-product-tabs[data-product-tabs] a.active {
    background: #eee8ff !important;
    color: #4b2fd0 !important;
    box-shadow: none !important;
  }
  .result-v3 .result-product-tabs[data-product-tabs] a.active span,
  .natal-page .result-product-tabs[data-product-tabs] a.active span,
  .daily-page .result-product-tabs[data-product-tabs] a.active span,
  .result-page-layout .result-product-tabs[data-product-tabs] a.active span {
    background: #6c51dc !important;
    color: #fff !important;
  }
  .result-product-tabs[data-product-tabs] a[data-tab-external]::after {
    content: none !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"],
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] a[data-tab-key="export"],
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Скачать PDF"] {
    min-height: 56px !important;
    margin-top: 4px !important;
    background: linear-gradient(135deg, #5b43d6 0%, #7c5cff 55%, #9475ff 100%) !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 6px 18px rgba(91, 67, 214, .24) !important;
    border: none !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"] span,
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"] span,
  .result-page-layout .result-product-tabs[data-product-tabs] a[data-tab-key="export"] span,
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Скачать PDF"] span {
    background: rgba(255, 255, 255, .28) !important;
    color: #fff !important;
  }
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"]:hover,
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"]:hover,
  .result-page-layout .result-product-tabs[data-product-tabs] a[data-tab-key="export"]:hover,
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Скачать PDF"]:hover {
    background: linear-gradient(135deg, #4a34c4 0%, #6d4ef0 55%, #8568f0 100%) !important;
    color: #fff !important;
    box-shadow: 0 14px 32px rgba(91, 67, 214, .42) !important;
  }
  .result-page-layout .result-product-tabs[data-product-tabs] a[data-tab-key="multiverse"],
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Все сервисы"],
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Все сервисы"] {
    margin-top: 4px !important;
  }
  .result-page-layout .result-product-tabs[data-product-tabs] a[data-tab-key="multiverse"].active,
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Все сервисы"].active {
    background: #ede8ff !important;
    color: #4a2fcb !important;
  }
  .result-page-layout .result-product-tabs[data-product-tabs] a[data-tab-key="multiverse"].active span,
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Все сервисы"].active span {
    background: #6c51dc !important;
    color: #fff !important;
  }
  .result-product-tabs[data-product-tabs] .tabs-sep,
  .result-product-tabs[data-product-tabs] .tabs-sep--actions {
    display: block !important;
    width: calc(100% - 12px) !important;
    height: 1px !important;
    margin: 8px auto !important;
    background: rgba(210, 200, 235, .95) !important;
    flex: none !important;
  }
  .result-product-tabs[data-product-tabs] .pt-add-btn {
    width: 100% !important;
    min-height: 46px !important;
    justify-content: center !important;
  }
}

/* Легенда точности: Swiss Ephemeris / Эвристика / Символика — всегда читаема */
.mv-tier-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 10px !important;
  margin: 0 0 16px !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: #faf8ff !important;
  border: 1px solid #ebe4f6 !important;
  font-size: .82rem !important;
  color: #5c5470 !important;
  line-height: 1.45 !important;
}
.mv-tier-legend .mv-tier-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* 6.9.66 — сайдбар: шире колонка, воздух у вложенных ссылок (.pt-tabs-scroll / .pt-tabs-footer) */
@media (min-width: 900px) {
  .result-v3 main.result-shell,
  .natal-page main.result-shell,
  .daily-page main.result-shell,
  .dm-page main.result-shell,
  .result-page-layout {
    grid-template-columns: 228px minmax(0, 1fr) !important;
    gap: 0 24px !important;
  }

  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 12px 10px !important;
    gap: 8px !important;
    contain: none !important;
  }

  .result-product-tabs[data-product-tabs] .pt-tabs-scroll,
  .result-product-tabs[data-product-tabs] .pt-tabs-footer {
    gap: 8px !important;
  }

  .result-product-tabs[data-product-tabs] .pt-tabs-scroll a,
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a,
  .result-v3 .result-product-tabs[data-product-tabs] a,
  .natal-page .result-product-tabs[data-product-tabs] a,
  .daily-page .result-product-tabs[data-product-tabs] a,
  .result-page-layout .result-product-tabs[data-product-tabs] a {
    min-height: 52px !important;
    padding: 10px 12px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    border-radius: 15px !important;
    font-size: 15px !important;
    font-weight: 780 !important;
    line-height: 1.22 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
  }

  .result-product-tabs[data-product-tabs] .pt-tabs-scroll a span,
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a span,
  .result-v3 .result-product-tabs[data-product-tabs] a span,
  .natal-page .result-product-tabs[data-product-tabs] a span,
  .daily-page .result-product-tabs[data-product-tabs] a span,
  .result-page-layout .result-product-tabs[data-product-tabs] a span {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    border-radius: 15px !important;
    font-size: 17px !important;
    line-height: 1 !important;
  }

  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"],
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"],
  .result-page-layout .result-product-tabs[data-product-tabs] a[data-tab-key="export"],
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Скачать PDF"] {
    min-height: 56px !important;
    margin-top: 4px !important;
  }

  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="multiverse"],
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Все сервисы"],
  .result-page-layout .result-product-tabs[data-product-tabs] a[data-tab-key="multiverse"],
  .result-page-layout .result-product-tabs[data-product-tabs] a[title="Все сервисы"] {
    margin-top: 4px !important;
  }
}

@media (min-width: 981px) {
  .result-v3 main.result-shell,
  .natal-page main.result-shell,
  .daily-page main.result-shell,
  .dm-page main.result-shell,
  .result-page-layout {
    grid-template-columns: 272px minmax(0, 1fr) !important;
    gap: 0 28px !important;
  }

  .result-v3 .result-product-tabs[data-product-tabs],
  .natal-page .result-product-tabs[data-product-tabs],
  .daily-page .result-product-tabs[data-product-tabs],
  .result-page-layout .result-product-tabs[data-product-tabs] {
    padding: 14px 12px !important;
    gap: 8px !important;
    border-radius: 26px !important;
  }

  .result-product-tabs[data-product-tabs] .pt-tabs-scroll a,
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a {
    min-height: 54px !important;
  }
}

.mv-tier-legend .mv-tier-ephemeris {
  background: #e8f5ee !important;
  color: #1b6b42 !important;
}
.mv-tier-legend .mv-tier-heuristic {
  background: #fff4e5 !important;
  color: #9a5b00 !important;
}
.mv-tier-legend .mv-tier-symbolic {
  background: #f0ecff !important;
  color: #5c3be8 !important;
}

/* 6.9.70 — checkout: способы оплаты и сетка криптомонет (pay.php, cart) */
.checkout-page .checkout-payment-methods {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 14px;
}
.checkout-page .checkout-payment-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 2px solid #e0d9f5;
  border-radius: 12px;
  cursor: pointer;
  font-size: .88rem;
  transition: border-color .15s, background .15s, box-shadow .15s;
  margin-top: 0;
  font-weight: 600;
}
.checkout-page .checkout-payment-option:has(input:checked) {
  border-color: #7c3aed;
  background: linear-gradient(135deg, #faf5ff, #f5f3ff);
  box-shadow: 0 4px 14px rgba(124, 58, 237, .12);
}
.checkout-page .checkout-payment-option input {
  accent-color: #7c3aed;
}
.checkout-page .checkout-pay-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #f3f0fb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.checkout-page .checkout-pay-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.checkout-page .checkout-pay-copy b {
  font-size: .92rem;
  color: #1f2937;
}
.checkout-page .checkout-pay-copy em {
  font-size: .76rem;
  color: #6b7280;
  font-style: normal;
}
.checkout-page .checkout-crypto-group {
  border: 2px solid #e0d9f5;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.checkout-page .checkout-crypto-group.is-open {
  border-color: #a78bfa;
  box-shadow: 0 8px 24px rgba(124, 58, 237, .1);
}
.checkout-page .checkout-crypto-group .checkout-crypto-trigger {
  border: 0;
  border-radius: 0;
  margin: 0;
}
.checkout-page .checkout-crypto-group.has-selection .checkout-crypto-trigger:has(input:checked) {
  background: linear-gradient(135deg, #faf5ff, #f5f3ff);
}
.checkout-page .checkout-crypto-main-icon {
  background: linear-gradient(135deg, #7c3aed, #a855f7) !important;
  color: #fff;
}
.checkout-page .checkout-crypto-chevron {
  color: #7c3aed;
  font-size: .9rem;
  transition: transform .2s;
  margin-left: auto;
}
.checkout-page .checkout-crypto-group.is-open .checkout-crypto-chevron {
  transform: rotate(180deg);
}
.checkout-page .checkout-crypto-panel {
  display: none;
  padding: 0 12px 12px;
  border-top: 1px solid #ede9fe;
  background: #fcfbff;
}
.checkout-page .checkout-crypto-group.is-open .checkout-crypto-panel {
  display: block;
}
.checkout-page .checkout-crypto-hint {
  margin: 10px 0 8px;
  font-size: .78rem;
  color: #6b7280;
}
.checkout-page .checkout-crypto-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}
@media (min-width: 520px) {
  .checkout-page .checkout-crypto-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.checkout-page .checkout-crypto-coin {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  cursor: pointer;
  background: #fff;
  transition: border-color .15s, transform .12s, box-shadow .15s;
  margin-top: 0;
  font-weight: 600;
}
.checkout-page .checkout-crypto-coin:hover {
  border-color: #c4b5fd;
  transform: translateY(-1px);
}
.checkout-page .checkout-crypto-coin.is-selected,
.checkout-page .checkout-crypto-coin:has(input:checked) {
  border-color: #7c3aed;
  background: #f5f3ff;
  box-shadow: 0 4px 12px rgba(124, 58, 237, .1);
}
.checkout-page .checkout-crypto-coin input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.checkout-page .checkout-crypto-coin-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #f3f4f6;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
}
.checkout-page .checkout-crypto-coin-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.checkout-page .checkout-crypto-coin-body b {
  font-size: .82rem;
  color: #111827;
}
.checkout-page .checkout-crypto-coin-body small {
  font-size: .68rem;
  color: #6b7280;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 6.9.72 — PDF: белый текст всегда; подсказки скролла — у правого края */
.result-product-tabs[data-product-tabs] a.pt-export-btn,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"],
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"] {
  background: linear-gradient(135deg, #5b43d6 0%, #7c5cff 55%, #9475ff 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 6px 18px rgba(91, 67, 214, .24) !important;
  border: none !important;
}
.result-product-tabs[data-product-tabs] a.pt-export-btn:link,
.result-product-tabs[data-product-tabs] a.pt-export-btn:visited,
.result-product-tabs[data-product-tabs] a.pt-export-btn:hover,
.result-product-tabs[data-product-tabs] a.pt-export-btn:focus-visible,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"]:link,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"]:visited,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"]:hover,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"]:focus-visible,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"]:link,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"]:visited,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"]:hover,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"]:focus-visible {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.result-product-tabs[data-product-tabs] a.pt-export-btn > span,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[data-tab-key="export"] > span,
.result-product-tabs[data-product-tabs] .pt-tabs-footer a[title="Скачать PDF"] > span {
  background: rgba(255, 255, 255, .28) !important;
  color: #fff !important;
}

/* 6.9.71 — result.php mobile: вложенные вкладки, одна колонка, без наложений */
@media (max-width: 899px) {
  .result-v3 main.result-shell,
  .natal-page main.result-shell,
  .daily-page main.result-shell,
  .dm-page main.result-shell {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding-top: 12px !important;
  }

  .result-v3 .result-main-col,
  .natal-page .result-main-col,
  .daily-page .result-main-col {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    order: 2 !important;
  }

  .result-v3 main.result-shell > .result-product-tabs[data-product-tabs],
  .natal-page main.result-shell > .result-product-tabs[data-product-tabs],
  .daily-page main.result-shell > .result-product-tabs[data-product-tabs],
  .result-shell > .result-product-tabs[data-product-tabs],
  .daily-shell > .result-product-tabs[data-product-tabs],
  .result-page-layout > .result-product-tabs[data-product-tabs],
  .multiverse-page .result-page-layout > .result-product-tabs[data-product-tabs] {
    order: 1 !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 0 12px !important;
    padding: 8px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 6px !important;
    border-radius: 18px !important;
    z-index: 2 !important;
    grid-template-columns: none !important;
    contain: none !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .result-v3 main.result-shell > .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .natal-page main.result-shell > .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .daily-page main.result-shell > .result-product-tabs[data-product-tabs]::-webkit-scrollbar,
  .result-page-layout > .result-product-tabs[data-product-tabs]::-webkit-scrollbar {
    display: none;
  }

  .result-product-tabs[data-product-tabs] .pt-tabs-scroll-wrap,
  .result-product-tabs[data-product-tabs] .pt-tabs-scroll,
  .result-product-tabs[data-product-tabs] .pt-tabs-footer {
    display: contents !important;
  }

  .result-product-tabs[data-product-tabs] .pt-scroll-hint,
  .result-product-tabs[data-product-tabs] .pt-tabs-scroll-wrap::after {
    display: none !important;
  }

  .result-product-tabs[data-product-tabs] a,
  .result-product-tabs[data-product-tabs] .pt-add-btn {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    min-height: 44px !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    grid-template-columns: none !important;
    position: static !important;
  }

  .result-product-tabs[data-product-tabs] a span {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    display: grid !important;
    place-items: center !important;
  }

  .result-product-tabs[data-product-tabs] a[data-tab-key="export"],
  .result-product-tabs[data-product-tabs] a[title="Скачать PDF"],
  .result-product-tabs[data-product-tabs] .pt-tabs-footer a.pt-export-btn {
    margin-top: 0 !important;
    justify-content: flex-start !important;
  }

  .result-product-tabs[data-product-tabs] .pt-add-btn {
    border-style: dashed !important;
    background: #f7f4ff !important;
    color: #5c3be8 !important;
    justify-content: center !important;
  }

  .result-product-tabs[data-product-tabs] .tabs-sep,
  .result-product-tabs[data-product-tabs] .tabs-sep--actions {
    display: none !important;
  }

  [data-tab-panel] {
    padding-top: 0 !important;
  }

  .result-next-step {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .result-next-step-copy {
    min-width: 0 !important;
  }

  .result-next-step-actions {
    width: 100% !important;
    flex-direction: column !important;
  }

  .result-next-step-actions .primary-button,
  .result-next-step-actions .secondary-button {
    width: 100% !important;
    justify-content: center !important;
  }

  body.result-v3:has(.mobile-buy-bar) .result-shell,
  body.result-v3:has(.mobile-buy-bar) main.result-shell {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* 6.9.72 — очки и «?» не перекрывают mobile-buy-bar / «В корзину» */
@media (max-width: 760px) {
  body:has(.mobile-buy-bar) .display-tools {
    right: 12px !important;
    bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body:has(.mobile-buy-bar) .support-widget {
    right: 68px !important;
    bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body:has(.mobile-buy-bar) .support-widget .support-toggle {
    padding: 10px !important;
    border-radius: 50% !important;
  }

  body:has(.mobile-buy-bar) .support-widget .support-toggle-label {
    display: none !important;
  }
}

@media (max-width: 760px) and (max-height: 520px) {
  body:has(.mobile-buy-bar) .display-tools {
    bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body:has(.mobile-buy-bar) .support-widget {
    bottom: calc(74px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* 6.9.73 — вкладки «Гороскопы» / «Рекомендации»: читаемый текст на мобилке */
body[data-result-tab="panel-horoscopes"] .result-topbar,
body[data-result-tab="panel-horoscopes"] .result-next-step,
body[data-result-tab="panel-horoscopes"] .seo-ref-banner,
body[data-result-tab="panel-horoscopes"] .data-confirm-banner,
body[data-result-tab="panel-guidance"] .result-topbar,
body[data-result-tab="panel-guidance"] .result-next-step,
body[data-result-tab="panel-guidance"] .seo-ref-banner,
body[data-result-tab="panel-guidance"] .data-confirm-banner {
  display: none !important;
}

body[data-result-tab="panel-horoscopes"] .hd-to-bg,
body[data-result-tab="panel-guidance"] .hd-to-bg {
  display: none !important;
}

#panel-horoscopes,
#panel-guidance {
  color: var(--rd-ink, #19313a);
}

#panel-horoscopes .section-heading.left h2,
#panel-horoscopes .personal-reader-section h2,
#panel-horoscopes .psych-reading-section h2,
#panel-horoscopes .child-profile-rich h2,
#panel-horoscopes .child-profile-rich h3,
#panel-horoscopes .child-profile-rich h4,
#panel-guidance .section-heading.left h2 {
  color: var(--rd-ink, #19313a) !important;
}

#panel-horoscopes .premium-insight h3 {
  color: var(--v3-ink, #1d1e34) !important;
}

#panel-horoscopes .premium-insight .demo-fragment,
#panel-horoscopes .psych-reading-section p,
#panel-horoscopes .child-profile-rich p {
  color: #5a6178 !important;
}

#panel-horoscopes .horoscope-personal-intro {
  background: linear-gradient(145deg, #0b3f60 0%, #1a5e82 50%, #2278a8 100%) !important;
  color: #fff !important;
}

#panel-horoscopes .horoscope-personal-intro h2,
#panel-horoscopes .horoscope-personal-intro p,
#panel-horoscopes .horoscope-personal-intro .eyebrow,
#panel-horoscopes .horoscope-personal-intro .horoscope-intro-chinese {
  color: #fff !important;
}

#panel-horoscopes .horoscope-personal-intro .eyebrow {
  color: rgba(180, 225, 255, 0.85) !important;
}

#panel-horoscopes .horoscope-personal-intro p,
#panel-horoscopes .horoscope-personal-intro .horoscope-intro-chinese {
  color: rgba(255, 255, 255, 0.9) !important;
}

@media (max-width: 899px) {
  .result-product-tabs[data-product-tabs] a[data-tab-target].active {
    background: linear-gradient(135deg, #0f7a82 0%, #34aa99 100%) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(15, 122, 130, 0.22) !important;
  }

  .result-product-tabs[data-product-tabs] a[data-tab-target].active span {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
  }

  .result-product-tabs[data-product-tabs] a[data-tab-target]:not(.active) {
    color: #5f5670 !important;
    background: #f7f5ff !important;
  }

  .result-product-tabs[data-product-tabs] a[data-tab-target]:not(.active) span {
    background: #f0ecf8 !important;
    color: #7560d7 !important;
  }

  [data-tab-panel] {
    padding-top: 0 !important;
    scroll-margin-top: 72px;
  }
}

/* Корзина в шапке: зелёная кнопка, белые рисунок и подпись */
.site-header .cart-button,
.cart-button.cart-button-floating,
.cart-button {
  background: var(--rd-gradient, linear-gradient(135deg, #126f7b 0%, #23998f 52%, #4eb6a1 100%)) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 10px 25px rgba(15, 122, 130, 0.22) !important;
}

.site-header .cart-button:hover,
.cart-button.cart-button-floating:hover,
.cart-button:hover {
  filter: brightness(1.05);
}

.cart-button .cart-label,
.cart-button .cart-ic {
  color: #fff !important;
}

.cart-button .cart-ic-svg,
.cart-button .cart-ic-svg path {
  color: #fff !important;
  stroke: #fff !important;
}

.cart-button .cart-ic-svg circle {
  fill: #fff !important;
  stroke: none !important;
}
