/* ABC Natal Reports — commercial extension for ABC Natal Chart */
.abc-natal-reports__cta {
  margin-top: 22px;
}
.abc-natal-reports__features {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 30px;
  margin:0 0 22px;
}
.abc-natal-reports__features span {
  position:relative;
  padding-left:16px;
  line-height:1.5;
  font-size:.95em;
}
.abc-natal-reports__features span::before {
  content:'•';
  position:absolute;
  left:0;
  color:var(--abc-natal-chart-accent,var(--ast-global-color-0,#c49a52));
}
.abc-natal-reports__price-box {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  margin:4px 0 16px;
}
.abc-natal-reports__price-label {
  font-size:.82em;
  line-height:1.35;
  opacity:.72;
}
.abc-natal-reports__price-row {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px;
}
.abc-natal-reports__price-current {
  color:var(--abc-natal-chart-accent,var(--ast-global-color-0,#c49a52));
  font-size:clamp(1.65rem,3vw,2.15rem);
  line-height:1.1;
  font-weight:700;
  letter-spacing:-.02em;
}
.abc-natal-reports__price-old {
  font-size:1rem;
  opacity:.55;
  text-decoration-thickness:1px;
}
.abc-natal-reports__discount {
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:2px 8px;
  border:1px solid color-mix(in srgb,var(--abc-natal-chart-accent,var(--ast-global-color-0,#c49a52)) 58%,transparent);
  border-radius:999px;
  color:var(--abc-natal-chart-accent,var(--ast-global-color-0,#c49a52));
  font-size:.78rem;
  font-weight:700;
  line-height:1;
}
.abc-natal-reports__price-note {
  margin-top:2px;
  font-size:.82em;
  line-height:1.4;
  opacity:.68;
}
.abc-natal-reports__actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
}
.abc-natal-reports__status,
.abc-natal-reports__unavailable {
  opacity:.78;
  font-size:.9em;
}
.abc-natal-reports__output { margin-top:26px; }
.abc-natal-reports__preview {
  max-height:760px;
  overflow:auto;
  padding:22px;
  border:1px solid var(--abc-natal-card-border,var(--ast-border-color,#c49a52));
}
.abc-natal-reports__admin-send {
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:10px;
  margin-top:14px;
}
.abc-natal-reports__admin-send label {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:290px;
  font-size:.9em;
}
.abc-natal-reports__admin-send input {
  min-height:44px;
  padding:9px 11px;
  border:1px solid var(--abc-natal-input-border,var(--ast-border-color,#c49a52));
  background:var(--abc-natal-input-bg,transparent);
  color:var(--abc-natal-input-text,inherit);
}

/* Saved premium report */
.abc-natal-report {
  max-width:980px;
  margin:0 auto;
  color:inherit;
}
.abc-natal-report__header {
  margin:0 0 28px;
  padding:26px 0 24px;
  border-bottom:1px solid var(--ast-border-color,#c49a52);
}
.abc-natal-report__header > span {
  display:block;
  margin-bottom:7px;
  color:var(--ast-global-color-0,#c49a52);
  font-size:.86em;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.abc-natal-report__header h1 {
  margin:0 0 9px;
  font-size:clamp(2rem,4vw,3.15rem);
  line-height:1.08;
}
.abc-natal-report__header p { margin:0; opacity:.74; }
.abc-natal-report__intro {
  margin:0 0 30px;
  padding:18px 20px;
  border-left:2px solid var(--ast-global-color-0,#c49a52);
  background:color-mix(in srgb,currentColor 4%,transparent);
}
.abc-natal-report__intro p { margin:0; line-height:1.7; }
.abc-natal-report__section {
  padding:30px 0;
  border-top:1px solid color-mix(in srgb,var(--ast-border-color,#c49a52) 52%,transparent);
}
.abc-natal-report__section:first-of-type { border-top:0; }
.abc-natal-report__section h2 {
  margin:0 0 9px;
  font-size:clamp(1.5rem,2.6vw,2.05rem);
}
.abc-natal-report__section h3 { margin:23px 0 9px; font-size:1.14em; }
.abc-natal-report__section p,
.abc-natal-report__section li { line-height:1.78; }
.abc-natal-report__section p { margin:0 0 15px; }
.abc-natal-report__section ul,
.abc-natal-report__section ol { margin:13px 0 0 22px; }
.abc-natal-report__section li + li { margin-top:10px; }
.abc-natal-report__position {
  margin:0 0 15px;
  color:var(--ast-global-color-0,#c49a52);
  font-weight:700;
}
.abc-natal-report__explain { opacity:.78; font-size:.95em; }
.abc-natal-report__forecast { display:grid; gap:14px; margin-top:18px; }
.abc-natal-report__forecast article {
  padding:15px 0;
  border-top:1px solid color-mix(in srgb,var(--ast-border-color,#c49a52) 40%,transparent);
}
.abc-natal-report__forecast article:first-child { border-top:0; }
.abc-natal-report__forecast strong {
  display:inline-block;
  min-width:82px;
  color:var(--ast-global-color-0,#c49a52);
}
.abc-natal-report__forecast span { font-weight:700; }
.abc-natal-report__forecast p { margin:7px 0 0; }
.abc-natal-report__actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:25px 0 40px;
}
.abc-natal-report-list { display:grid; gap:14px; }
.abc-natal-report-list__item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:14px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid var(--ast-border-color,#c49a52);
}
.abc-natal-report-list__item span { opacity:.7; font-size:.9em; }
.abc-natal-thankyou { margin:25px 0; }

/* Purchased content is ad-free. */
.abc-natal-report [id^="yandex_rtb"],
.abc-natal-report [id*="yandex_rtb"],
.abc-natal-report [data-yandex-rtb-block-id],
.abc-natal-report iframe[src*="yandex"],
.abc-natal-report .yandex_rtb,
.abc-natal-report .adsbyyandex,
.abc-natal-reports__cta [id^="yandex_rtb"],
.abc-natal-reports__cta [id*="yandex_rtb"],
.abc-natal-reports__cta [data-yandex-rtb-block-id] { display:none !important; }

/* Astra: premium report should use the full main area. */
.single-abc_natal_report #secondary { display:none !important; }
.single-abc_natal_report #primary { width:100% !important; max-width:100% !important; }

@media (max-width:700px) {
  .abc-natal-reports__features { grid-template-columns:1fr; }
  .abc-natal-reports__admin-send label { min-width:100%; }
  .abc-natal-report-list__item { grid-template-columns:1fr; gap:7px; }
}

@media print {
  header, nav, footer, .site-header, .site-footer, .sidebar-main, #secondary,
  .abc-natal-report__actions, .adsbyyandex, [id^="yandex_rtb"], [id*="yandex_rtb"] { display:none !important; }
  body { background:#fff !important; color:#111 !important; }
  .abc-natal-report { max-width:none; color:#111 !important; }
  .abc-natal-report__section { break-inside:avoid; }
  .abc-natal-report__header > span,
  .abc-natal-report__position,
  .abc-natal-report__forecast strong { color:#8f6b2c !important; }
}


.abc-natal-report__visual { margin:0 0 28px; padding:18px; border:1px solid var(--ast-border-color,#c49a52); background:rgba(255,255,255,.02); }
.abc-natal-report__visual img { display:block; width:100%; height:auto; }
.abc-natal-report__compact-list { margin-left:18px; }
.abc-natal-report__compact-list li + li { margin-top:9px; }


/* 0.2.2 - full report: clean layout without background plates */
.abc-natal-report { max-width: 1080px; }
.abc-natal-report__visual { margin: 0 0 34px !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.abc-natal-report__visual img { display:block; width:100%; height:auto; border:0; }
.abc-natal-report__credit { margin: 12px 0 0 !important; color: var(--abc-natal-muted,#aaa); font-size: 13px; }
.abc-natal-report__intro { background: transparent !important; border: 0 !important; padding: 0 !important; }
.abc-natal-report__section { padding: 32px 0 !important; border-bottom: 1px solid var(--abc-natal-border,var(--ast-border-color,#c49a52)); background: transparent !important; }
.abc-natal-report__section h2 { margin: 0 0 8px; }
.abc-natal-report__section h3 { margin: 24px 0 8px; font-size: 1.05em; line-height: 1.35; }
.abc-natal-report__section p { margin: 0 0 13px; line-height: 1.7; }
.abc-natal-report__section ul,.abc-natal-report__section ol { margin: 8px 0 16px 22px; }
.abc-natal-report__section li { margin-bottom: 10px; line-height: 1.6; }
.abc-natal-report__explain { margin-bottom: 20px !important; }
@media (max-width:700px){.abc-natal-report__section{padding:24px 0 !important}.abc-natal-report__section h3{font-size:1em}.abc-natal-report__section p,.abc-natal-report__section li{line-height:1.6}}

/* =========================
   ВИЗУАЛ ПОЛНОЙ РАСШИФРОВКИ
   ========================= */
.abc-natal-report__visual,
.abc-natal-report__visual img {
    display: none !important;
}

.abc-natal-report__visual-live {
    margin: 28px 0 34px;
    padding: 0;
    background: transparent;
    border: 0;
}

.abc-natal-report__visual-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 310px);
    gap: 42px;
    align-items: start;
}

.abc-natal-report__wheel-wrap {
    min-width: 0;
}

.abc-natal-report__wheel {
    display: block;
    width: 100%;
    max-width: 660px;
    height: auto;
    overflow: visible;
}

.abc-natal-report__wheel .ring,
.abc-natal-report__wheel .zodiac-line {
    fill: none;
    stroke: #C49A52;
    stroke-width: 1.4;
}

.abc-natal-report__wheel .house-line,
.abc-natal-report__wheel .planet-guide {
    stroke: #4d4d4d;
    stroke-width: 1;
}

.abc-natal-report__wheel .aspect-line {
    stroke: #fff;
    stroke-width: 1.15;
    opacity: .88;
}

.abc-natal-report__wheel .planet-dot {
    fill: #fff;
}

.abc-natal-report__wheel .planet-glyph {
    fill: #fff;
    font-size: 18px;
    font-weight: 700;
    text-anchor: middle;
    dominant-baseline: central;
}

.abc-natal-report__wheel .house-number,
.abc-natal-report__wheel .axis-label {
    fill: #fff;
    font-size: 12px;
    font-weight: 700;
    text-anchor: middle;
    dominant-baseline: central;
}

.abc-natal-report__aspect-list {
    padding-top: 22px;
}

.abc-natal-report__aspect-list h3,
.abc-natal-report__visual-bottom h3 {
    margin: 0 0 14px;
    color: #C49A52;
    font-size: 20px;
    line-height: 1.2;
}

.abc-natal-report__aspect-list > div,
.abc-natal-report__positions > div,
.abc-natal-report__houses > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: baseline;
    padding: 3px 0;
}

.abc-natal-report__aspect-list span,
.abc-natal-report__positions strong,
.abc-natal-report__houses strong {
    color: inherit;
}

.abc-natal-report__aspect-list em,
.abc-natal-report__positions span,
.abc-natal-report__houses span {
    color: #C49A52;
    font-style: normal;
    white-space: nowrap;
}

.abc-natal-report__visual-bottom {
    display: grid;
    grid-template-columns: minmax(250px, .9fr) minmax(290px, 1.2fr) minmax(210px, .8fr);
    gap: 44px;
    align-items: start;
    margin-top: 26px;
    padding-top: 28px;
    border-top: 1px solid rgba(196,154,82,.35);
}

.abc-natal-report__matrix-grid {
    display: grid;
    gap: 0;
    width: max-content;
    max-width: 100%;
}

.abc-natal-report__matrix-grid > span {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.18);
    margin: -1px 0 0 -1px;
    font-size: 11px;
    line-height: 1;
}

.abc-natal-report__matrix-grid > span.empty {
    border-color: transparent;
}

.abc-natal-report__matrix-grid > span.diag {
    color: #C49A52;
    font-weight: 700;
}

.abc-natal-report__credit {
    margin: 26px 0 0 !important;
    color: var(--ast-global-color-4, #aaa);
    font-size: 14px;
}

.abc-natal-report__pdf-button[aria-busy="true"] {
    opacity: .72;
    pointer-events: none;
}

@media (max-width: 900px) {
    .abc-natal-report__visual-top {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .abc-natal-report__aspect-list {
        padding-top: 0;
        max-width: 480px;
    }
    .abc-natal-report__visual-bottom {
        grid-template-columns: 1fr 1fr;
    }
    .abc-natal-report__matrix {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .abc-natal-report__visual-bottom {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .abc-natal-report__matrix {
        overflow-x: auto;
    }
    .abc-natal-report__positions > div,
    .abc-natal-report__houses > div,
    .abc-natal-report__aspect-list > div {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        font-size: 14px;
    }
}


.abc-natal-reports__coming-soon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 20px;
  background:var(--abc-button-bg,#c49a52);
  color:#fff !important;
  border:1px solid var(--abc-button-bg,#c49a52);
  border-radius:3px;
  font-size:15px;
  font-weight:600;
  line-height:1.2;
  text-decoration:none !important;
  cursor:default;
  user-select:none;
  box-shadow:none;
}

@media (max-width:640px) {
  .abc-natal-reports__features { grid-template-columns:1fr; gap:7px; }
  .abc-natal-reports__price-box { margin-top:8px; }
  .abc-natal-reports__price-note { max-width:29rem; }
  .abc-natal-reports__actions > .button,
  .abc-natal-reports__actions > .abc-natal-reports__coming-soon { width:100%; justify-content:center; text-align:center; }
}

/* =========================
   CHECKOUT НАТАЛЬНОЙ КАРТЫ — ТОЛЬКО EMAIL
   ========================= */
.woocommerce-checkout .abc-natal-checkout-intro {
    margin: 0 0 22px;
}
.woocommerce-checkout .abc-natal-checkout-intro h3 {
    margin: 0 0 8px;
}
.woocommerce-checkout .abc-natal-checkout-intro p {
    margin: 0;
    opacity: .82;
}
.woocommerce-checkout .woocommerce-billing-fields > h3 {
    display: none;
}
.woocommerce-checkout .abc-natal-checkout-email {
    max-width: 620px;
}
