/* Alvartus — главная: колесо зодиака, цифры, мини-расчёт с картами, системы, свод дня,
   шаги, совместимость, доступ, вопросы, финал. Сначала телефон. */

/* ---------- первый экран ---------- */
.alv-hero { position: relative; padding: 12px 0 40px; }
.alv-hero__grid { display: grid; gap: 4px; }
.alv-hero__text { position: relative; z-index: 2; }
.alv-hero__lead { font-size: 1.12rem; color: var(--alv-soft); max-width: 580px; margin-bottom: 28px !important; }
.alv-hero__facts { display: flex; flex-wrap: wrap; gap: 10px 24px; list-style: none; margin: 30px 0 0; padding: 0; color: var(--alv-muted); font-size: .92rem; }
.alv-hero__facts b { font: 600 1.45rem/1 var(--alv-serif); font-variant-numeric: lining-nums; color: var(--alv-gold-l); margin-right: 6px; text-shadow: 0 0 14px rgba(212, 175, 55, .5); }
.alv-hero__art { order: -1; display: grid; place-items: center; }

/* колесо зодиака */
.alv-wheel { position: relative; width: min(76vw, 380px); aspect-ratio: 1; }
.alv-wheel > * { position: absolute; inset: 0; width: 100%; height: 100%; }
.alv-wheel__halo {
  inset: -9%; width: auto; height: auto; border-radius: 50%;
  background: radial-gradient(circle, transparent 54%, rgba(246, 231, 168, .16) 61%, rgba(139, 108, 255, .14) 66%, transparent 72%);
  animation: alv-halo 7s ease-in-out infinite;
}
.alv-wheel__glow {
  inset: 6%; width: auto; height: auto; border-radius: 50%;
  background: radial-gradient(circle, rgba(170, 130, 255, .5), rgba(212, 175, 55, .16) 42%, transparent 70%);
  animation: alv-glow 5s ease-in-out infinite;
}
.alv-wheel__ring { animation: alv-spin 220s linear infinite; will-change: transform; filter: drop-shadow(0 0 6px rgba(212, 175, 55, .35)); }
.alv-wheel__core { animation: alv-spin 320s linear infinite reverse; will-change: transform; }
.alv-wheel__mark { inset: 37%; width: 26%; height: 26%; animation: alv-pulse 4s ease-in-out infinite; }
.alv-wheel__names { font: 600 11px var(--alv-serif); letter-spacing: 1.2px; text-transform: uppercase; }
.alv-wheel__sign { fill-opacity: .6; animation: alv-sign 12s linear infinite; }
.alv-wheel__seg { fill: #f3c94b; opacity: 0; animation: alv-seg 12s linear infinite; }
@keyframes alv-spin { to { transform: rotate(360deg); } }
@keyframes alv-pulse {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 10px rgba(212, 175, 55, .55)); }
  50% { transform: scale(1.09); filter: drop-shadow(0 0 26px rgba(255, 230, 150, .95)); }
}
@keyframes alv-glow { 0%, 100% { opacity: .7; transform: scale(.96); } 50% { opacity: 1; transform: scale(1.04); } }
@keyframes alv-halo { 0%, 100% { opacity: .55; transform: scale(.98); } 50% { opacity: 1; transform: scale(1.02); } }
@keyframes alv-sign { 0% { fill-opacity: .6; } 2% { fill-opacity: 1; fill: #fffbe6; } 9% { fill-opacity: 1; fill: #fffbe6; } 13%, 100% { fill-opacity: .6; } }
@keyframes alv-seg { 0% { opacity: 0; } 2%, 9% { opacity: .34; } 13%, 100% { opacity: 0; } }

/* ---------- мини-расчёт ---------- */
.alv-calc { padding-bottom: 56px; }
.alv-calc__form { max-width: 680px; margin: 0 auto 26px; }
.alv-calc__label { display: block; margin-bottom: 10px; color: var(--alv-gold-l); font-weight: 600; }
.alv-calc__row { display: grid; gap: 12px; }
.alv-input {
  width: 100%; min-height: 56px; padding: 12px 18px; border: 0; border-radius: 14px;
  background: rgba(8, 7, 28, .78); color: #fff; font: 500 1.08rem var(--alv-sans);
  box-shadow: inset 0 0 0 1px rgba(212, 175, 55, .45); color-scheme: dark;
  -webkit-appearance: none; appearance: none;
}
.alv-input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--alv-gold), 0 0 26px rgba(212, 175, 55, .25); }
.alv-input::-webkit-calendar-picker-indicator { filter: invert(80%) sepia(40%) saturate(500%) hue-rotate(5deg); cursor: pointer; }
.alv-calc__error { margin: 12px 0 0 !important; color: #ffb4a8; }

.alv-calc__cards { gap: 14px; }
.alv-res .alv-cardback, .alv-res .alv-flip__back { min-height: 250px; }
.alv-res .alv-flip__back { background: linear-gradient(160deg, color-mix(in srgb, var(--alv-acc) 16%, rgba(40, 33, 102, .9)), rgba(14, 12, 42, .92)); }
.alv-res:not(.alv-flip--open) .alv-cardback__mark { animation: alv-pulse 4s ease-in-out infinite; }
.alv-res__label { margin: 0 0 4px !important; font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--alv-acc) !important; }
.alv-res__value { margin: 0 0 4px !important; font: 600 2.1rem/1.1 var(--alv-serif); font-variant-numeric: lining-nums; color: #fff8dc !important; text-shadow: 0 0 18px color-mix(in srgb, var(--alv-acc) 60%, transparent); }
.alv-res__meta { margin: 0 0 12px !important; font-size: .9rem; color: var(--alv-gold-l) !important; opacity: .9; }
.alv-res__text { font-size: .96rem; }
.alv-calc__more { margin-top: 30px; padding: 30px 22px; border-radius: var(--alv-radius); text-align: center; background: radial-gradient(ellipse at center, rgba(212, 175, 55, .16), transparent 70%); animation: alv-rise .8s ease both; }
.alv-calc__more p { font: 600 1.6rem/1.3 var(--alv-serif); color: #fbf3d5; max-width: 640px; margin: 0 auto 20px !important; text-shadow: 0 0 20px rgba(212, 175, 55, .35); }
@keyframes alv-rise { from { opacity: 0; transform: translateY(18px); } }

/* ---------- 25+ систем ---------- */
.alv-sys .alv-h3 { font-size: 1.45rem; }
.alv-sys p { font-size: .95rem; }
.alv-sys--more { display: flex; flex-direction: column; align-items: flex-start; background: linear-gradient(160deg, rgba(120, 60, 170, .6), rgba(20, 16, 56, .88)); }
.alv-sys--more p { margin-bottom: 18px !important; }
.alv-sys--more .alv-btn { margin-top: auto; }

/* ---------- свод дня ---------- */
.alv-svod__grid { display: grid; gap: 40px; align-items: center; }
.alv-svod__text > p { color: var(--alv-soft); font-size: 1.05rem; }
.alv-points { list-style: none; margin: 26px 0; padding: 0; display: grid; gap: 18px; }
.alv-points li { display: flex; gap: 14px; align-items: flex-start; color: var(--alv-muted); }
.alv-points b { color: #f6f0dd; }
.alv-points .alv-ico {
  width: 46px; height: 46px; padding: 10px; border-radius: 14px; color: var(--alv-acc);
  background: color-mix(in srgb, var(--alv-acc) 14%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--alv-acc) 45%, transparent), 0 0 22px color-mix(in srgb, var(--alv-acc) 22%, transparent);
}
.alv-callout { padding: 20px 22px; border-left: 2px solid var(--alv-gold); border-radius: 0 14px 14px 0; background: linear-gradient(90deg, rgba(212, 175, 55, .13), transparent); }
.alv-callout__title { font: 600 1.4rem/1.2 var(--alv-serif); color: var(--alv-gold-l); margin-bottom: 8px !important; }
.alv-callout p:last-child { margin: 0; color: var(--alv-soft); }
.alv-demo { max-width: 430px; margin: 0 auto; padding: 24px; --alv-acc: #2ee6c8; }
.alv-demo__head { display: flex; gap: 12px; align-items: center; padding-bottom: 16px; margin-bottom: 8px; border-bottom: 1px solid var(--alv-line); }
.alv-demo__head b { display: block; font: 600 1.5rem/1.1 var(--alv-serif); color: var(--alv-gold-l); }
.alv-demo__head span { font-size: .85rem; color: var(--alv-muted); }
.alv-demo__mark { width: 46px; height: 46px; filter: drop-shadow(0 0 10px rgba(212, 175, 55, .6)); }
.alv-demo__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px dashed rgba(212, 175, 55, .14); font-size: .94rem; color: var(--alv-muted); }
.alv-demo__row b { color: #f6f0dd; font-weight: 600; text-align: right; }
.alv-demo__bar { flex: 1; height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.alv-demo__bar i { display: block; height: 100%; width: calc(var(--alv-v) * 100%); background: linear-gradient(90deg, #2ee6c8, #f3c94b); border-radius: inherit; box-shadow: 0 0 12px rgba(46, 230, 200, .6); }
.alv-demo__quote { margin: 18px 0 0 !important; font: italic 500 1.3rem/1.35 var(--alv-serif); color: var(--alv-gold-l) !important; text-align: center; }

/* ---------- шаги ---------- */
.alv-step { padding-top: 34px; }
.alv-step__num { position: absolute; top: 16px; right: 22px; font: 600 3rem/1 var(--alv-serif); color: color-mix(in srgb, var(--alv-acc) 30%, transparent); }

/* ---------- совместимость ---------- */
.alv-compat__grid { display: grid; gap: 30px; align-items: center; }
.alv-compat__text > p { color: var(--alv-soft); font-size: 1.05rem; }
.alv-orbit { position: relative; width: min(78vw, 360px); aspect-ratio: 1; margin: 0 auto; }
.alv-orbit__ring { position: absolute; inset: 8%; border-radius: 50%; border: 1px solid rgba(255, 143, 200, .4); box-shadow: 0 0 70px rgba(255, 79, 163, .22) inset, 0 0 50px rgba(139, 108, 255, .2); }
.alv-orbit__ring::before { content: ""; position: absolute; inset: 18%; border-radius: 50%; border: 1px dashed rgba(212, 175, 55, .3); }
.alv-orbit__planet {
  position: absolute; top: 50%; left: 50%; width: 92px; height: 92px; margin: -46px 0 0 -46px;
  display: grid; place-items: center; border-radius: 50%;
  font: 600 1.15rem var(--alv-serif); color: #1a1433;
  background: radial-gradient(circle at 35% 30%, #fff6cf, #d4af37 55%, #8d6f1f);
  box-shadow: 0 0 46px rgba(212, 175, 55, .55);
}
.alv-orbit__planet--b { background: radial-gradient(circle at 35% 30%, #ffe0f0, #ff5fa8 50%, #8b2c7a); color: #fff; box-shadow: 0 0 46px rgba(255, 79, 163, .6); }
.alv-orbit__planet--a { animation: alv-orbit-a 18s linear infinite; }
.alv-orbit__planet--b { animation: alv-orbit-b 18s linear infinite; }
.alv-orbit__heart { position: absolute; inset: 0; display: grid; place-items: center; color: #ff8fc8; }
.alv-orbit__heart .alv-ico { width: 44px; height: 44px; filter: drop-shadow(0 0 12px rgba(255, 95, 168, .9)); animation: alv-beat 1.6s ease-in-out infinite; }
@keyframes alv-beat { 0%, 100% { transform: scale(1); } 15% { transform: scale(1.18); } 30% { transform: scale(1); } 45% { transform: scale(1.12); } }
@keyframes alv-orbit-a { from { transform: rotate(0) translateX(min(30vw, 138px)) rotate(0); } to { transform: rotate(360deg) translateX(min(30vw, 138px)) rotate(-360deg); } }
@keyframes alv-orbit-b { from { transform: rotate(180deg) translateX(min(30vw, 138px)) rotate(-180deg); } to { transform: rotate(540deg) translateX(min(30vw, 138px)) rotate(-540deg); } }

/* ---------- доступ ---------- */
.alv-plans__grid { max-width: 960px; margin: 0 auto; }
.alv-plan { display: flex; flex-direction: column; }
.alv-plan .alv-checks { flex: 1; align-content: start; color: var(--alv-soft); }
.alv-plan .alv-btn { align-self: flex-start; }
.alv-plan__sub { margin-top: -6px !important; }
.alv-plan--premium { background: linear-gradient(160deg, rgba(90, 56, 170, .82), rgba(22, 17, 60, .92)); box-shadow: 0 10px 40px rgba(4, 3, 20, .45), 0 0 60px rgba(212, 175, 55, .18); }
.alv-plan__badge {
  display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-bottom: 18px;
  padding: 7px 14px; border-radius: 999px; background: var(--alv-gold-grad); color: #1a1433;
  font-weight: 700; font-size: .85rem; box-shadow: 0 0 24px rgba(212, 175, 55, .45);
}
.alv-plan__badge .alv-ico { width: 18px; height: 18px; stroke-width: 1.8; }
.alv-plan__honest { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; color: var(--alv-gold-l) !important; }
.alv-plan__honest .alv-ico { width: 20px; height: 20px; flex: none; }

/* ---------- шире ---------- */
@media (min-width: 600px) {
  .alv-calc__row { grid-template-columns: 1fr auto; }
  .alv-calc__more { padding: 36px; }
}
@media (min-width: 960px) {
  .alv-hero { padding: 30px 0 70px; min-height: calc(100vh - var(--alv-header-h)); display: flex; align-items: center; }
  .alv-hero > .alv-wrap { width: 100%; }
  .alv-hero__grid { grid-template-columns: 1.32fr .68fr; align-items: center; gap: 32px; }
  .alv-hero__art { order: 0; }
  .alv-hero .alv-h1 { font-size: clamp(3.7rem, 5.1vw, 4.75rem); }
  .alv-wheel { width: min(34vw, 460px); }
  .alv-calc { padding-bottom: 80px; }
  .alv-svod__grid { grid-template-columns: 1.1fr .9fr; gap: 64px; }
  .alv-compat__grid { grid-template-columns: .9fr 1.1fr; gap: 64px; }
  .alv-orbit__planet { width: 104px; height: 104px; margin: -52px 0 0 -52px; }
}
