/* ===== Астровектор — оформление сайта (av-*) ===== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;0,700;1,600&family=Manrope:wght@400;500;600;700&display=swap');

:root {
  --av-night: #120d2b;
  --av-deep: #1d1546;
  --av-violet: #3a2470;
  --av-lilac: #c9b8ff;
  --av-gold: #e9b949;
  --av-gold-2: #f6d27a;
  --av-ink: #231c3d;
  --av-muted: #6a6386;
  --av-paper: #faf8ff;
  --av-line: #e6e0f5;
}

/* --- Лендинг на всю ширину --- */
#av-landing { font-family: 'Manrope', system-ui, sans-serif; color: var(--av-ink); margin: 0 calc(50% - 50vw); width: 100vw; overflow: hidden; }
#av-landing * { box-sizing: border-box; }
#av-landing .av-wrap { max-width: 1160px; margin: 0 auto; padding: 0 20px; }
#av-landing .av-narrow { max-width: 820px; }
#av-landing .av-center { text-align: center; }
#av-landing h1, #av-landing h2, #av-landing h3 { margin: 0; }
#av-landing p { margin: 0 0 14px; line-height: 1.6; }

#av-landing .av-hero, #av-landing .av-cta {
  position: relative; color: #f3efff;
  background: radial-gradient(1200px 600px at 75% 20%, #3b2a86 0%, transparent 60%),
              radial-gradient(900px 500px at 10% 90%, #2a1f66 0%, transparent 60%),
              linear-gradient(160deg, var(--av-night) 0%, var(--av-deep) 100%);
}
#av-landing .av-hero { padding: 72px 0 84px; }
#av-landing .av-stars {
  position: absolute; inset: 0; pointer-events: none; opacity: .7;
  background-image:
    radial-gradient(1.5px 1.5px at 20% 30%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 70% 15%, #fff 50%, transparent 51%),
    radial-gradient(1.2px 1.2px at 85% 60%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 40% 80%, #fff 50%, transparent 51%),
    radial-gradient(1.4px 1.4px at 55% 45%, #ffe9b0 50%, transparent 51%),
    radial-gradient(1px 1px at 10% 65%, #fff 50%, transparent 51%),
    radial-gradient(1px 1px at 92% 88%, #fff 50%, transparent 51%);
  background-size: 420px 420px;
}
#av-landing .av-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 40px; align-items: center; }
#av-landing .av-eyebrow { display: inline-block; padding: 6px 14px; border: 1px solid rgba(233,185,73,.45); border-radius: 999px; color: var(--av-gold-2); font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 22px; }
#av-landing .av-h1 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 700; font-size: clamp(2.4rem, 5.2vw, 4.2rem); line-height: 1.04; margin-bottom: 22px; color: #fff; }
#av-landing .av-h1 em { font-style: italic; color: var(--av-gold-2); display: block; }
#av-landing .av-lead { font-size: 1.12rem; color: rgba(243,239,255,.86); max-width: 600px; }
#av-landing .av-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 26px; }
#av-landing .av-btn { display: inline-block; padding: 14px 26px; border-radius: 999px; font-weight: 700; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, background .15s ease; }
#av-landing .av-btn:hover { transform: translateY(-1px); }
#av-landing .av-btn-gold { background: linear-gradient(135deg, var(--av-gold-2), var(--av-gold)); color: #2a1a00 !important; box-shadow: 0 10px 30px -10px rgba(233,185,73,.7); }
#av-landing .av-btn-ghost { border: 1.5px solid currentColor; color: inherit !important; }
#av-landing .av-sec .av-btn-ghost { color: var(--av-violet) !important; }
#av-landing .av-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
#av-landing .av-chips li { padding: 6px 12px; background: rgba(255,255,255,.08); border-radius: 8px; font-size: .88rem; color: rgba(243,239,255,.85); }

#av-landing .av-orbit svg { width: 100%; max-width: 420px; display: block; margin: 0 auto; }
#av-landing .av-ring { fill: none; stroke: rgba(201,184,255,.35); stroke-width: 1; }
#av-landing .av-ring-dash { stroke-dasharray: 3 7; }
#av-landing .av-spin { transform-origin: 200px 200px; animation: avSpin 60s linear infinite; }
#av-landing .av-spin-2 { animation-duration: 38s; animation-direction: reverse; }
#av-landing .av-spin-3 { animation-duration: 24s; }
@keyframes avSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { #av-landing .av-spin { animation: none; } }

#av-landing .av-sec { padding: 80px 0; background: var(--av-paper); }
#av-landing .av-sec-alt { background: #f1edfb; }
#av-landing .av-kicker { color: #8a6b16; font-weight: 700; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 10px; }
#av-landing .av-h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 700; font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.1; margin-bottom: 34px; color: var(--av-ink); }
#av-landing .av-cta .av-h2 { color: #fff; margin-bottom: 14px; }

#av-landing .av-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
#av-landing .av-card { background: #fff; border: 1px solid var(--av-line); border-radius: 18px; padding: 26px 24px; box-shadow: 0 12px 30px -24px rgba(58,36,112,.5); }
#av-landing .av-card h3 { font-size: 1.12rem; margin-bottom: 8px; color: var(--av-ink); }
#av-landing .av-card p { color: var(--av-muted); margin: 0; }
#av-landing .av-ico { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.5rem; color: var(--av-violet); background: linear-gradient(135deg, #efe8ff, #fff3d6); margin-bottom: 16px; }

#av-landing .av-steps { list-style: none; padding: 0; margin: 0 0 34px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; counter-reset: none; }
#av-landing .av-steps li { display: block; background: #fff; border-radius: 18px; padding: 24px; border: 1px solid var(--av-line); }
#av-landing .av-steps b { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--av-violet); color: #fff; font-size: 1.1rem; margin-bottom: 14px; }
#av-landing .av-steps h3 { font-size: 1.1rem; margin-bottom: 6px; }
#av-landing .av-steps p { color: var(--av-muted); margin: 0; }

#av-landing .av-book { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; align-items: center; }
#av-landing .av-book-cover { position: relative; width: 220px; height: 310px; margin: 0 auto; transform: rotate(-4deg); filter: drop-shadow(0 30px 30px rgba(29,21,70,.35)); }
#av-landing .av-book-spine { position: absolute; left: 0; top: 0; bottom: 0; width: 16px; border-radius: 6px 0 0 6px; background: #241a55; }
#av-landing .av-book-face { position: absolute; left: 12px; right: 0; top: 0; bottom: 0; border-radius: 4px 12px 12px 4px; padding: 26px 20px; color: #fff; background: radial-gradient(180px 140px at 70% 25%, #5a3fb0, transparent 70%), linear-gradient(160deg, #2a1f66, #120d2b); display: block; }
#av-landing .av-book-author { display: block; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--av-gold-2); }
#av-landing .av-book-name { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.6rem; line-height: .95; margin-top: 90px; }
#av-landing .av-book-mark { position: absolute; right: 18px; bottom: 16px; color: var(--av-gold); font-size: 1.4rem; }
#av-landing .av-book-text p { color: var(--av-muted); font-size: 1.05rem; }
#av-landing .av-book-text .av-h2 { margin-bottom: 20px; }

#av-landing .av-where { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#av-landing .av-where-item { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 16px; align-items: start; background: #fff; border-radius: 16px; padding: 20px; border: 1px solid var(--av-line); }
#av-landing .av-where-item h3 { font-size: 1.05rem; margin-bottom: 4px; }
#av-landing .av-where-item p { color: var(--av-muted); margin: 0; }
#av-landing .av-where-logo { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; font-weight: 800; color: #fff; font-size: 1.05rem; }
#av-landing .av-logo-web { background: #efe8ff; font-size: 1.5rem; }
#av-landing .av-logo-vk { background: #0077ff; }
#av-landing .av-logo-ya { background: #fc3f1d; font-size: 1.4rem; }
#av-landing .av-logo-b24 { background: linear-gradient(135deg, #2fc6f6, #1f9ed1); }
#av-landing .av-soon { display: inline-block; vertical-align: middle; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: #fff3d6; color: #8a6b16; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }

#av-landing .av-faq { background: #fff; border: 1px solid var(--av-line); border-radius: 14px; padding: 4px 20px; margin-bottom: 10px; }
#av-landing .av-faq summary { cursor: pointer; padding: 14px 0; font-weight: 700; list-style: none; }
#av-landing .av-faq summary::-webkit-details-marker { display: none; }
#av-landing .av-faq summary::after { content: '+'; float: right; color: var(--av-violet); font-size: 1.3rem; line-height: 1; }
#av-landing .av-faq[open] summary::after { content: '–'; }
#av-landing .av-faq p { color: var(--av-muted); padding-bottom: 6px; }

#av-landing .av-cta { padding: 84px 0; }
#av-landing .av-cta .av-lead { margin: 0 auto 26px; }

@media (max-width: 991.98px) {
  #av-landing .av-hero-grid, #av-landing .av-book { grid-template-columns: minmax(0, 1fr); }
  #av-landing .av-orbit { max-width: 300px; margin: 0 auto; order: -1; }
  #av-landing .av-cards, #av-landing .av-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  #av-landing .av-hero { padding: 40px 0 56px; }
  #av-landing .av-sec { padding: 56px 0; }
  #av-landing .av-cards, #av-landing .av-steps, #av-landing .av-where { grid-template-columns: minmax(0, 1fr); }
  #av-landing .av-actions .av-btn { width: 100%; text-align: center; }
  #av-landing .av-wrap { padding: 0 16px; }
}

/* Тёмная тема сайта: светлые секции лендинга становятся ночными */
body.theme-dark #av-landing .av-sec { background: #17122f; }
body.theme-dark #av-landing .av-sec-alt { background: #1d1740; }
body.theme-dark #av-landing .av-h2, body.theme-dark #av-landing .av-card h3, body.theme-dark #av-landing .av-steps h3, body.theme-dark #av-landing .av-where-item h3, body.theme-dark #av-landing .av-faq summary { color: #f1edff; }
body.theme-dark #av-landing .av-card, body.theme-dark #av-landing .av-steps li, body.theme-dark #av-landing .av-where-item, body.theme-dark #av-landing .av-faq { background: #241d4d; border-color: #3a3170; }
body.theme-dark #av-landing .av-card p, body.theme-dark #av-landing .av-steps p, body.theme-dark #av-landing .av-where-item p, body.theme-dark #av-landing .av-faq p, body.theme-dark #av-landing .av-book-text p { color: #bdb5dd; }
body.theme-dark #av-landing .av-kicker { color: var(--av-gold-2); }
body.theme-dark #av-landing .av-sec .av-btn-ghost { color: var(--av-lilac) !important; }

/* --- Страница «Анализ личности» (astro_calc, режим «сразу в Астропсихологию») --- */
.av-page-lead { max-width: 760px; margin: 0 auto 20px; text-align: center; font-size: 1.08rem; color: var(--av-muted); }
.astro-calc-psy { max-width: 760px; margin: 0 auto; font-family: 'Manrope', system-ui, sans-serif; }
.astro-calc-psy #astroCalcMainForm { background: #fff !important; border: 1px solid var(--av-line); border-radius: 20px !important; padding: 28px 26px !important; box-shadow: 0 24px 50px -36px rgba(58,36,112,.55); gap: 16px 18px !important; }
.astro-calc-psy #astroCalcMainForm label { color: var(--av-muted); font-size: .82rem !important; letter-spacing: .02em; }
.astro-calc-psy #astroCalcMainForm input { padding: 10px 12px !important; border-radius: 10px !important; border-color: #d9d1ef !important; font-size: 1rem; }
.astro-calc-psy .astro-calc-psy-submit { background: linear-gradient(135deg, var(--av-gold-2), var(--av-gold)) !important; border: 0 !important; color: #2a1a00 !important; font-weight: 700; padding: 14px 32px !important; box-shadow: 0 10px 30px -10px rgba(233,185,73,.7); }
body.theme-dark .astro-calc-psy #astroCalcMainForm { background: #241d4d !important; border-color: #3a3170; }

/* --- Страница «Мой портрет» (astro_psychology) --- */
.astro-psychology-app { font-family: 'Manrope', system-ui, sans-serif; }
.astro-psychology-app .astro-psychology-intro .btn-primary, .astro-psychology-app .astro-psychology-start .btn-primary { background: linear-gradient(135deg, var(--av-gold-2), var(--av-gold)); border: 0; color: #2a1a00; font-weight: 700; border-radius: 999px; padding: 14px 30px; }
.astro-psychology-app .astro-psychology-book { background: linear-gradient(160deg, #1d1546, #120d2b) !important; border-color: #3a2470 !important; color: #e9e4ff; }
.astro-psychology-app .astro-psychology-book-title { color: #fff !important; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem !important; }
.astro-psychology-app .astro-psychology-book-label { color: var(--av-gold-2) !important; }
.astro-psychology-app .astro-psychology-book p, .astro-psychology-app .astro-psychology-book-author { color: #cfc6f2 !important; }
.astro-psychology-app .astro-psychology-book .btn-outline-primary { color: var(--av-gold-2); border-color: var(--av-gold-2); border-radius: 999px; }
.astro-psychology-app .astro-psychology-book .btn-outline-primary:hover { background: var(--av-gold-2); color: #2a1a00; }

/* Главная с лендингом: без полей блока содержимого и без горизонтальной прокрутки */
[data-block="content"]:has(#av-landing) { padding-top: 0 !important; padding-bottom: 0 !important; }
.page-content:has(#av-landing) { overflow-x: clip; }


/* Точность расчёта и тарифы */
#av-landing .av-sub { max-width: 760px; color: var(--av-muted); font-size: 1.05rem; margin: -18px 0 30px; }
#av-landing .av-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
#av-landing .av-fact { background: linear-gradient(160deg, #1d1546, #120d2b); color: #e9e4ff; border-radius: 18px; padding: 24px; }
#av-landing .av-fact b { display: block; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.9rem; line-height: 1; color: var(--av-gold-2); margin-bottom: 12px; }
#av-landing .av-fact h3 { font-size: 1.05rem; margin-bottom: 6px; color: #fff; }
#av-landing .av-fact p { color: #bdb5dd; margin: 0; font-size: .95rem; }
#av-landing .av-plans { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
#av-landing .av-plan { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--av-line); border-radius: 18px; padding: 26px 22px; }
#av-landing .av-plan h3 { font-size: 1.2rem; margin-bottom: 10px; }
#av-landing .av-price { margin-bottom: 16px; color: var(--av-muted); }
#av-landing .av-price b { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2.3rem; color: var(--av-ink); }
#av-landing .av-plan ul { list-style: none; padding: 0; margin: 0 0 22px; flex: 1 1 auto; }
#av-landing .av-plan li { position: relative; padding-left: 22px; margin-bottom: 8px; color: var(--av-muted); line-height: 1.45; }
#av-landing .av-plan li::before { content: '✦'; position: absolute; left: 0; top: 0; color: var(--av-gold); }
#av-landing .av-plan .av-btn { text-align: center; padding: 12px 18px; }
#av-landing .av-plan-hot { border: 2px solid var(--av-gold); box-shadow: 0 24px 50px -30px rgba(233,185,73,.8); }
#av-landing .av-plan-tag { position: absolute; top: -12px; left: 22px; background: var(--av-gold); color: #2a1a00; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: 3px 10px; border-radius: 999px; }
#av-landing .av-note { margin-top: 20px; color: var(--av-muted); text-align: center; }
@media (max-width: 991.98px) {
  #av-landing .av-facts, #av-landing .av-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  #av-landing .av-facts, #av-landing .av-plans { grid-template-columns: minmax(0, 1fr); }
}
body.theme-dark #av-landing .av-plan { background: #241d4d; border-color: #3a3170; }
body.theme-dark #av-landing .av-plan-hot { border-color: var(--av-gold); }
body.theme-dark #av-landing .av-plan h3, body.theme-dark #av-landing .av-price b { color: #f1edff; }
body.theme-dark #av-landing .av-plan li, body.theme-dark #av-landing .av-sub, body.theme-dark #av-landing .av-note { color: #bdb5dd; }
