/* Отдельный дизайн PDF чакроанализа. На экране скрыт, в печати — полный документ. */

.chakra-pdf {
  display: none;
}

@media print {
  .chakra-pdf {
    display: block !important;
    color: #2a2438;
    font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body.is-printing-chakra .site-header,
  body.is-printing-chakra .site-footer,
  body.is-printing-chakra .date-bar,
  body.is-printing-chakra .method,
  body.is-printing-chakra .faq,
  body.is-printing-chakra .promo,
  body.is-printing-chakra .pdf-offer,
  body.is-printing-chakra .pay-box,
  body.is-printing-chakra .pay-modal,
  body.is-printing-chakra .crumbs,
  body.is-printing-chakra .error,
  body.is-printing-chakra .no-print,
  body.is-printing-chakra .login,
  body.is-printing-chakra .nav-toggle,
  body.is-printing-chakra .page > h1,
  body.is-printing-chakra .page > .lede,
  body.is-printing-chakra #calc-form,
  body.is-printing-chakra .screen-result {
    display: none !important;
  }

  html, body.is-printing-chakra {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  body.is-printing-chakra .page,
  body.is-printing-chakra main.wrap {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.is-printing-chakra #calc-result {
    display: block !important;
    margin: 0;
    padding: 0;
    box-shadow: none;
    background: transparent;
  }

  @page {
    size: A4;
    margin: 0;
  }

  @page flow {
    size: A4;
    margin: 14mm 15mm 16mm;
  }

  .cp-page {
    position: relative;
    box-sizing: border-box;
    width: 210mm;
    height: 296mm;
    overflow: hidden;
    padding: 15mm 15mm 22mm;
    margin: 0;
    break-after: page;
    page-break-after: always;
    break-inside: avoid;
    background:
      radial-gradient(ellipse at 8% 0%, rgba(180, 140, 200, 0.14), transparent 42%),
      radial-gradient(ellipse at 100% 100%, rgba(120, 170, 190, 0.12), transparent 40%),
      linear-gradient(180deg, #f5f1fa 0%, #fbf9fc 45%, #faf8fc 100%);
    display: flex;
    flex-direction: column;
  }

  .cp-flow {
    page: flow;
    break-before: page;
    page-break-before: always;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    background: transparent;
  }

  .cp-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 7mm;
    padding-bottom: 3mm;
    border-bottom: 1.5px solid #d9cce8;
  }

  .cp-brand {
    margin: 0;
    color: #6b5a8a;
    font-size: 10px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-who-mini {
    margin: 0;
    color: #7a7190;
    font-size: 11px;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-title {
    margin: 0 0 5mm;
    color: #2a2438;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.2;
  }

  .cp-lead {
    margin: 0 0 6mm;
    color: #5c5470;
    font-size: 12.5px;
    line-height: 1.5;
    max-width: 42em;
  }

  .cp-foot {
    position: absolute;
    left: 15mm;
    right: 15mm;
    bottom: 10mm;
    padding-top: 3mm;
    border-top: 1px solid #e6dceb;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: #9a90ab;
    font-size: 9.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-family: system-ui, -apple-system, sans-serif;
  }

  /* —— Обложка —— */
  .cp-cover {
    padding-top: 22mm;
    background:
      radial-gradient(circle at 18% 22%, rgba(201, 149, 184, 0.28), transparent 36%),
      radial-gradient(circle at 82% 18%, rgba(111, 163, 196, 0.22), transparent 34%),
      radial-gradient(circle at 70% 78%, rgba(143, 173, 120, 0.18), transparent 40%),
      linear-gradient(165deg, #efe8f7 0%, #f8f5fc 45%, #fff 100%);
  }

  .cp-cover-orbs {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 3mm;
    align-items: center;
    margin: 10mm 0 0;
    padding: 9mm 5mm 8mm;
    border-radius: 5mm;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(180, 160, 200, 0.3);
  }

  .cp-cover-orb {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .cp-cover-orb i {
    display: block;
    width: 19mm;
    height: 19mm;
    margin-bottom: 4mm;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #ffffff 0%, var(--c) 64%);
    box-shadow: 0 0 0 2.5mm rgba(183, 142, 206, 0.12);
  }

  .cp-cover-orb b {
    color: #2a2438;
    font-size: 19px;
    font-weight: 700;
  }

  .cp-cover-orb span {
    margin-top: 1mm;
    color: #7a7190;
    font-size: 8.5px;
    letter-spacing: 0.04em;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-cover .cp-brand {
    font-size: 12px;
    margin-bottom: 4mm;
  }

  .cp-cover h1 {
    margin: 0 0 5mm;
    font-size: 42px;
    line-height: 1.05;
    font-weight: 700;
    color: #2a2438;
  }

  .cp-cover h1 span {
    display: block;
    margin-top: 2mm;
    color: #6b5a8a;
    font-size: 28px;
    font-weight: 600;
  }

  .cp-cover-who {
    margin: 0 0 10mm;
    color: #4a4260;
    font-size: 15px;
  }

  .cp-hero-grid {
    display: grid;
    grid-template-columns: 1.2fr repeat(3, 1fr);
    gap: 3.5mm;
    margin-top: 8mm;
  }

  .cp-hero {
    padding: 5mm 4.5mm;
    border-radius: 4mm;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(180, 160, 200, 0.35);
  }

  .cp-hero.main {
    background: linear-gradient(145deg, #6b5a8a 0%, #8a74ad 100%);
    border: none;
    color: #fff;
  }

  .cp-hero.main span { color: rgba(255, 255, 255, 0.78); }
  .cp-hero.main b { color: #fff; }

  .cp-hero span {
    display: block;
    margin-bottom: 2mm;
    font-size: 9.5px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #8a7fa3;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-hero b {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
  }

  .cp-focus-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4mm;
    margin-top: 5mm;
  }

  .cp-focus {
    padding: 5mm 5.5mm;
    border-radius: 4mm;
    background: linear-gradient(135deg, #fff 0%, #fff 55%, color-mix(in srgb, var(--c) 22%, #fff) 100%);
    border: 1px solid color-mix(in srgb, var(--c) 45%, #fff);
    border-left: 4px solid var(--c);
  }

  .cp-focus span {
    display: block;
    color: #7a7190;
    font-size: 9px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-focus b {
    display: block;
    margin: 2mm 0 1mm;
    color: #2a2438;
    font-size: 17px;
  }

  .cp-focus p {
    margin: 0;
    color: #5a5270;
    font-size: 11px;
  }

  .cp-rainbow {
    margin-top: auto;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg,
      #c97b86, #c99672, #c4b06a, #8fad78, #6fa3c4, #9585c4, #c995b8);
  }

  .cp-cover-note {
    margin: 6mm 0 0;
    color: #7a7190;
    font-size: 11.5px;
    line-height: 1.55;
    max-width: 38em;
  }

  .cp-toc {
    margin: 2mm 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 4mm;
  }

  .cp-toc li {
    display: grid;
    grid-template-columns: 14mm 1fr;
    align-items: center;
    gap: 5mm;
    padding: 5mm 6mm;
    border-radius: 4mm;
    background: #fff;
    border: 1px solid #e6dceb;
  }

  .cp-toc-num {
    display: grid;
    place-items: center;
    width: 14mm;
    height: 14mm;
    border-radius: 50%;
    background: #efe6f7;
    color: #6b4f8a;
    font-size: 18px;
    font-weight: 700;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-toc b {
    display: block;
    color: #2a2438;
    font-size: 16px;
  }

  .cp-toc p {
    margin: 1mm 0 0;
    color: #6b6380;
    font-size: 12px;
    line-height: 1.45;
  }

  .cp-toc-sub {
    margin: 5mm 0 0 25mm;
    padding: 0;
    list-style: none;
    columns: 2;
    column-gap: 8mm;
    color: #5c5470;
    font-size: 12.5px;
    line-height: 1.9;
  }

  .cp-toc-sub li::before {
    content: "";
    display: inline-block;
    width: 2mm;
    height: 2mm;
    margin-right: 3mm;
    border-radius: 50%;
    background: #b78ece;
    vertical-align: middle;
  }

  /* —— Сетки —— */
  .cp-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4mm;
  }

  .cp-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.5mm;
    margin-bottom: 4.5mm;
  }

  .cp-grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 3mm;
  }

  .cp-card {
    padding: 4.5mm;
    border-radius: 3.5mm;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid #e4daeF;
    break-inside: avoid;
  }

  .cp-card h3 {
    margin: 0 0 3mm;
    font-size: 13px;
    color: #6b5a8a;
    font-family: system-ui, -apple-system, sans-serif;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-weight: 700;
  }

  .cp-kv {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 3mm;
    padding: 2.2mm 0;
    border-bottom: 1px solid #f0eaf6;
    font-size: 12.5px;
  }

  .cp-kv:last-child { border-bottom: 0; }
  .cp-kv span { color: #6e6680; }
  .cp-kv b { color: #2a2438; font-weight: 700; font-size: 14px; }

  .cp-stat {
    padding: 4mm;
    border-radius: 3.5mm;
    background: #fff;
    border: 1px solid #e4daeF;
    text-align: center;
  }

  .cp-stat span {
    display: block;
    margin-bottom: 1.5mm;
    color: #8a7fa3;
    font-size: 9px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-stat b {
    font-size: 20px;
    color: #2a2438;
  }

  .cp-stat.soft-lilac { background: #f3eef8; border-color: #dccfe8; }
  .cp-stat.soft-lilac b { color: #6b5a8a; }
  .cp-stat.soft-rose { background: #f8eef3; border-color: #e8d0dc; }
  .cp-stat.soft-rose b { color: #a05f7e; }
  .cp-stat.soft-blue { background: #eef4f8; border-color: #cfdfea; }
  .cp-stat.soft-blue b { color: #4a7a98; }
  .cp-stat.soft-mint { background: #f0f5eb; border-color: #d5e3c8; }
  .cp-stat.soft-mint b { color: #5f7d4a; }
  .cp-stat.soft-sand { background: #f8f3e8; border-color: #e8dcc0; }
  .cp-stat.soft-sand b { color: #8a7340; }

  /* —— Чакры —— */
  .cp-chakra-list {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 3mm;
    flex: 1;
    min-height: 0;
  }

  .cp-chakra {
    display: grid;
    grid-template-columns: 9mm 1fr 16mm;
    gap: 3.5mm;
    align-items: center;
    padding: 4.5mm 5mm;
    border-radius: 3.5mm;
    background: #fff;
    border: 1px solid #ebe4f2;
    border-left: 3.5px solid var(--c, #b78ece);
    break-inside: avoid;
  }

  .cp-orb {
    width: 9mm;
    height: 9mm;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #ffffff 0%, var(--c, #b78ece) 62%);
    box-shadow: 0 0 0 3px rgba(183, 142, 206, 0.18);
  }

  .cp-chakra-name {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #2a2438;
  }

  .cp-chakra-role {
    margin: 0.8mm 0 0;
    color: #7a7190;
    font-size: 11px;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-chakra-bar {
    margin-top: 2mm;
    height: 3.5px;
    border-radius: 999px;
    background: #f0eaf6;
    overflow: hidden;
  }

  .cp-chakra-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--c, #b78ece);
  }

  .cp-chakra-pct {
    margin: 0;
    text-align: right;
    font-size: 18px;
    font-weight: 700;
    color: var(--c, #6b5a8a);
  }

  .cp-chakra-band {
    display: block;
    margin-top: 0.5mm;
    color: #9a90ab;
    font-size: 9px;
    text-align: right;
    font-family: system-ui, -apple-system, sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }

  /* —— Жизнь —— */
  .cp-life-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 3mm;
    margin-bottom: 5mm;
  }

  .cp-life {
    padding: 4mm 3mm;
    border-radius: 3.5mm;
    background: #fff;
    border: 1px solid #e4daeF;
    text-align: center;
    break-inside: avoid;
  }

  .cp-life span {
    display: block;
    margin-bottom: 2mm;
    color: #8a7fa3;
    font-size: 9px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-life b {
    display: block;
    color: #6b5a8a;
    font-size: 18px;
    font-weight: 700;
  }

  .cp-periods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 1fr;
    gap: 3mm;
    flex: 1;
    min-height: 0;
  }

  .cp-period {
    padding: 4mm;
    border-radius: 3.5mm;
    background: #fff;
    border: 1px solid #e4daeF;
    overflow: hidden;
  }

  .cp-period-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3mm;
    margin-bottom: 2.5mm;
  }

  .cp-period-top > span {
    color: #6b5a8a;
    font-size: 12px;
    font-weight: 700;
    font-family: system-ui, -apple-system, sans-serif;
  }

  .cp-period > p {
    margin: 0;
    color: #4a4260;
    font-size: 11px;
    line-height: 1.5;
  }

  .cp-period-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2mm;
    min-width: 34mm;
  }

  .cp-period-pair div {
    padding: 1.5mm 2.5mm;
    border-radius: 2.5mm;
    background: #f6f2fa;
    text-align: center;
  }

  .cp-period-pair small {
    display: block;
    color: #9a90ab;
    font-size: 8.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 1mm;
  }

  .cp-period-pair b {
    font-size: 16px;
    color: #2a2438;
  }

  /* —— Текст расшифровки —— */
  .cp-section {
    margin: 0 0 5mm;
  }

  .cp-section-title {
    margin: 0 0 3mm;
    padding: 2.5mm 3.5mm;
    border-radius: 2.5mm;
    background: #6b5a8a;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-family: system-ui, -apple-system, sans-serif;
    font-weight: 700;
    break-after: avoid;
    page-break-after: avoid;
  }

  .cp-block {
    margin: 0 0 3mm;
    padding: 3.5mm 4mm;
    border-radius: 3mm;
    background: #fff;
    border: 1px solid #ebe4f2;
    border-left: 3px solid #c4b3d8;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  .cp-block.chakra-tone {
    border-left-color: var(--c, #c4b3d8);
  }

  .cp-block h4 {
    break-after: avoid;
    page-break-after: avoid;
    margin: 0 0 2mm;
    font-size: 13px;
    color: #2a2438;
    font-weight: 700;
  }

  .cp-block p {
    orphans: 3;
    widows: 3;
    margin: 0 0 2mm;
    color: #4a4260;
    font-size: 11.5px;
    line-height: 1.55;
  }

  .cp-block p:last-child { margin-bottom: 0; }

  .cp-advice {
    margin: 3mm 0 0;
    padding: 3mm 3.5mm;
    border-radius: 2.5mm;
    background: #f7f4fb;
    border-left: 3px solid var(--c, #b78ece);
  }

  .cp-advice h5 {
    break-after: avoid;
    page-break-after: avoid;
    margin: 0 0 1.5mm;
    color: #6d4b8a;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
  }

  .cp-advice p { font-size: 11px; }

  .cp-close { break-inside: avoid; margin-top: 6mm; }

  .cp-tips {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 3mm;
  }

  .cp-tips li {
    padding: 4mm 4.5mm;
    border-radius: 3.5mm;
    background: #fff;
    border: 1px solid #e4daeF;
    color: #4a4260;
    font-size: 12.5px;
    line-height: 1.5;
    break-inside: avoid;
  }

  .cp-tips li::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 8px;
    border-radius: 50%;
    background: #6b5a8a;
    vertical-align: middle;
  }

  .cp-sign {
    margin: 8mm 0 0;
    padding-top: 3mm;
    border-top: 1px solid #e6dceb;
    text-align: center;
    color: #9a90ab;
    font-size: 11px;
    line-height: 1.5;
  }
}
