/* Alvartus — «Нумерология»: калькулятор, светящиеся числа, школы. Сначала телефон. Цвет страницы — бирюза. */

.alv-page-numerologiya { --alv-num: #2ee6c8; }

/* калькулятор */
.alv-numcalc { max-width: 760px; margin: 0 auto; }
.alv-numcalc__label { display: block; margin-bottom: 10px; color: #b8fff2; font-weight: 600; }
.alv-numcalc__row { display: grid; gap: 12px; }
.alv-page-numerologiya .alv-input {
  width: 100%; min-height: 56px; padding: 12px 18px; border: 0; border-radius: 14px;
  background: rgba(6, 20, 30, .7); color: #fff; font: 500 1.08rem var(--alv-sans);
  box-shadow: inset 0 0 0 1px rgba(46, 230, 200, .5); color-scheme: dark; -webkit-appearance: none; appearance: none;
}
.alv-page-numerologiya .alv-input:focus { outline: none; box-shadow: inset 0 0 0 2px var(--alv-num), 0 0 26px rgba(46, 230, 200, .3); }
.alv-numcalc__error { margin: 12px 0 0 !important; color: #ffb4a8; }
.alv-numcalc__out { margin-top: 26px; padding-top: 24px; border-top: 1px solid rgba(46, 230, 200, .2); text-align: center; }
.alv-numcalc__digits { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.alv-numcalc__digit {
  display: grid; place-items: center; width: 40px; height: 50px; border-radius: 10px;
  font: 600 1.8rem/1 var(--alv-serif); font-variant-numeric: lining-nums; color: #e9fffb;
  background: rgba(46, 230, 200, .1); box-shadow: inset 0 0 0 1px rgba(46, 230, 200, .45);
  animation: alv-digit .6s ease both;
}
.alv-numcalc__sep { align-self: center; color: var(--alv-num); font-size: 1.4rem; }
@keyframes alv-digit {
  from { opacity: 0; transform: translateY(14px) scale(.8); }
  60% { box-shadow: inset 0 0 0 1px #2ee6c8, 0 0 24px rgba(46, 230, 200, .8); color: #fff; }
}
.alv-numcalc__sum { margin: 16px 0 6px !important; color: var(--alv-muted); font-size: .95rem; word-break: break-word; }
.alv-numcalc__result { position: relative; display: grid; gap: 10px; justify-items: center; margin: 10px 0 18px; }
.alv-numcalc__big {
  position: relative; display: grid; place-items: center; width: 140px; height: 140px; border-radius: 50%;
  font: 600 4.6rem/1 var(--alv-serif); font-variant-numeric: lining-nums; color: #f0fffc;
  background: radial-gradient(circle, rgba(46, 230, 200, .35), rgba(46, 230, 200, .05) 65%, transparent 70%);
  box-shadow: inset 0 0 0 1px rgba(46, 230, 200, .6), 0 0 50px rgba(46, 230, 200, .35);
  text-shadow: 0 0 22px rgba(46, 230, 200, .9);
}
.alv-numcalc__out--done .alv-numcalc__big { animation: alv-numpop .7s cubic-bezier(.3, 1.6, .5, 1); }
@keyframes alv-numpop { from { transform: scale(.7); } }
.alv-numcalc__name { margin: 0 0 4px !important; font: 600 1.8rem/1.1 var(--alv-serif); color: #b8fff2; }
.alv-numcalc__text { margin: 0 auto 8px !important; max-width: 520px; color: var(--alv-soft); }
.alv-numcalc__day { margin: 0 !important; color: var(--alv-muted); font-size: .94rem; }
.alv-numcalc__cta { margin-top: 18px; }

/* сетка значений */
.alv-numgrid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
.alv-numcard { padding: 22px 18px; text-align: center; }
.alv-numcard__n {
  display: block; margin-bottom: 8px; font: 600 3.4rem/1 var(--alv-serif); font-variant-numeric: lining-nums;
  color: var(--alv-acc); text-shadow: 0 0 18px var(--alv-acc), 0 0 40px color-mix(in srgb, var(--alv-acc) 50%, transparent);
}
.alv-numcard .alv-h3 { font-size: 1.3rem; margin-bottom: .3em; }
.alv-numcard p { font-size: .9rem; }
.alv-numcard--master { background: linear-gradient(160deg, color-mix(in srgb, var(--alv-acc) 22%, rgba(40, 33, 102, .7)), rgba(14, 12, 42, .8)); }

/* школы */
.alv-school { display: flex; gap: 18px; align-items: flex-start; }
.alv-school .alv-card__ico { flex: none; margin: 0; }

/* полный разбор */
.alv-numfull { display: grid; gap: 26px; align-items: center; }
.alv-numfull__list { font-size: 1.05rem; color: var(--alv-soft); }
.alv-numfull__list .alv-ico { color: var(--alv-num); }
.alv-numfull__btn { margin-top: 10px; }

@media (min-width: 600px) {
  .alv-numcalc__row { grid-template-columns: 1fr auto; }
  .alv-numgrid { grid-template-columns: repeat(3, 1fr); }
  .alv-numcalc__result { grid-template-columns: auto 1fr; text-align: left; justify-items: start; align-items: center; gap: 26px; }
  .alv-numcalc__text { margin-left: 0 !important; }
}
@media (min-width: 960px) {
  .alv-numgrid { grid-template-columns: repeat(6, 1fr); gap: 16px; }
  .alv-numfull { grid-template-columns: 1.1fr .9fr; gap: 60px; }
}
