/* Игра 3 «Собери консилиум» - палитра НьюВетТех */
body.g3 {
  --brand: #875EF8; --brand-deep: #5E3BD9; --brand-soft: #D6CEFD; --brand-tint: #EDE8FE;
  background: #F5F8FF; background-image: linear-gradient(135deg, #F7F8FE 0%, #EAE6FB 100%);
}
.g3 .logo-nvt { height: 2.1rem; }

/* заставка */
.hero { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.hero-text { -webkit-flex: 1 1 52%; flex: 1 1 52%; padding-right: 1rem; }
.hero-art { -webkit-flex: 1 1 48%; flex: 1 1 48%; -webkit-align-self: stretch; align-self: stretch; min-height: 14rem; }
.kicker { font-size: 2rem; font-weight: 800; }
.brandname { font-size: 5rem; font-weight: 800; line-height: 1; letter-spacing: -.03em; color: var(--ink); margin-bottom: 1rem; }
.brandname span { color: var(--brand); }
.ticks { list-style: none; padding: 0; margin: 0 0 1rem; }
.ticks li { position: relative; padding-left: 1.6rem; font-size: 1.15rem; margin: .35rem 0; font-weight: 700; }
.ticks li:before { content: ""; position: absolute; left: 0; top: .4rem; width: .8rem; height: .8rem; border-radius: 50%; background: var(--brand); }
.lead { color: var(--ink-2); margin: 0 0 1.4rem; max-width: 28rem; }
.hero-btns .btn { margin: 0 .6rem .6rem 0; }
body.port .hero { -webkit-flex-direction: column-reverse; flex-direction: column-reverse; -webkit-justify-content: center; justify-content: center; text-align: center; }
body.port .hero-text { padding: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
body.port .hero-art { -webkit-flex: 1 1 auto; flex: 1 1 auto; width: 100%; max-height: 30rem; }
body.port .ticks { display: inline-block; text-align: left; }
body.port .lead { margin-left: auto; margin-right: auto; }
body.port .hero-btns .btn { margin: .3rem; }
body.phone .brandname { font-size: 3.2rem; }
body.phone .kicker { font-size: 1.5rem; }
body.phone .hero-art { max-height: 14rem; min-height: 10rem; }
body.phone .hero-btns .btn { display: block; width: 100%; margin: .5rem 0; }

/* клиники */
.clinics { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.cl-map { -webkit-flex: 0 0 38%; flex: 0 0 38%; padding: .6rem; overflow: hidden; }
.cl-map img { width: 100%; border-radius: .7rem; }
.cl-body { -webkit-flex: 1 1 auto; flex: 1 1 auto; padding-left: 1.6rem; }
.cl-list .cl { background: #fff; border-radius: .9rem; padding: .6rem .9rem; margin-bottom: .5rem; border-left: .3rem solid var(--brand); }
.cl-list .cl b { display: block; font-size: 1rem; }
.cl-list .cl span { font-size: .85rem; color: var(--muted); }
.equip { margin-top: .4rem; }
.equip .chip { cursor: default; font-size: .75rem; padding: .4rem .8rem; }
.cl-actions { margin-top: 1.2rem; }
body.port .clinics { -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: center; justify-content: center; }
body.port .cl-map { width: 100%; max-width: 30rem; -webkit-flex: 0 0 auto; flex: 0 0 auto; margin-bottom: 1rem; }
body.port .cl-body { padding: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
body.phone .cl-actions .btn { width: 100%; }

/* кейс */
.case { padding: 1.4rem 1.8rem 1rem; max-width: 64rem; margin: 0 auto; width: 100%; }
.case-head { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; border-bottom: .14rem solid var(--brand); padding-bottom: .8rem; margin-bottom: .9rem; }
.case-icon { width: 4.2rem; height: auto; margin-right: 1.1rem; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
.case-cols { display: -webkit-box; display: -webkit-flex; display: flex; }
.case-cols > div { -webkit-flex: 1 1 50%; flex: 1 1 50%; padding-right: 1rem; }
.case-cols ul { margin: .4rem 0 .8rem; padding-left: 1.2rem; }
.case-cols li { margin: .25rem 0; }
.case-foot { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: flex-end; align-items: flex-end; -webkit-justify-content: center; justify-content: center; margin-top: .6rem; position: relative; }
.case-foot .btn { margin: 0 1rem .4rem; }
.sil { height: 4.2rem; width: auto; }
.bubble { border: .12rem solid var(--brand); color: var(--brand-deep); border-radius: .6rem; padding: .35rem .7rem; font-size: .72rem; font-weight: 800; text-transform: uppercase; max-width: 10rem; margin-bottom: 3rem; background: #fff; }
.bubble-l { margin-left: -.6rem; }
.bubble-r { margin-right: -.6rem; }
body.port .case-cols, body.phone .case-cols { -webkit-flex-direction: column; flex-direction: column; }
body.phone .case { padding: 1rem; }
body.phone .case-icon { width: 3rem; }
body.phone .case-foot .sil, body.phone .case-foot .bubble { display: none; }
body.phone .case-foot .btn { width: 100%; margin: 0; }
body.port:not(.phone) .case { font-size: 1.1rem; }

/* выбор */
.pick-title .step { font-size: 1.05rem; }
.pick .chips { margin-top: .3rem; }
.pick .chip { font-size: .95rem; padding: .7rem 1.15rem; }
.pick .chip.test { background: var(--brand-tint); }
.pick .chip.on { background: var(--brand); color: #fff; border-color: var(--brand); }
.pick .chip.on:before { content: "✓ "; }
.consilium { margin-top: 1.1rem; padding: .7rem 1rem; border-top: .14rem solid var(--brand); min-height: 3rem; }
.pick-actions { margin-top: 1rem; text-align: center; }
.pick-actions .btn { margin: .3rem .5rem; }
.mp-btn img { display: inline-block; height: 1.3em; width: auto; vertical-align: -.3em; margin-right: .5rem; }
.hint-box { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start; padding: .9rem 1.1rem; margin: 1rem auto 0; max-width: 46rem; border: .14rem solid var(--brand-soft); }
.hint-box img { width: 3rem; margin-right: .9rem; -webkit-flex: 0 0 auto; flex: 0 0 auto; }
.hint-box p { margin: .3rem 0 0; }
body.phone .pick .chip { font-size: .8rem; padding: .55rem .8rem; }
body.phone .pick-actions .btn { display: block; width: 100%; margin: .5rem 0; }

/* итог */
.score-art { width: 14rem; height: 14rem; object-fit: cover; border-radius: 50%; margin: 0 auto 1rem; -webkit-mask-image: radial-gradient(circle, #000 60%, rgba(0,0,0,0) 72%); mask-image: radial-gradient(circle, #000 60%, rgba(0,0,0,0) 72%); }
.pct { font-size: 6rem; font-weight: 800; color: var(--brand); line-height: 1; margin: .4rem 0; }
#score .t-l { max-width: 36rem; margin: 0 auto 1.4rem; }
body.phone .score-art { width: 10rem; height: 10rem; }
body.land .score-art { width: 9rem; height: 9rem; margin-bottom: .4rem; }
body.land .pct { font-size: 4.6rem; }
body.phone .pct { font-size: 4.5rem; }

/* разбор */
.review { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start; }
.rv-main { -webkit-flex: 1 1 60%; flex: 1 1 60%; padding-right: 1.4rem; min-width: 0; }
.rv-side { -webkit-flex: 0 0 38%; flex: 0 0 38%; min-width: 0; }
.rv-side > * { margin-bottom: .9rem; }
.rv-main .code-box { margin-bottom: 1rem; }
.dx { padding: .8rem 1.1rem; margin-top: .6rem; }
.dx p { margin: .3rem 0 0; font-weight: 700; }
.steps-list { padding-left: 1.3rem; margin: .4rem 0 .9rem; }
.steps-list li { margin: .3rem 0; }
.why { background: var(--brand-tint); border-radius: .8rem; padding: .6rem .9rem; font-weight: 700; }
.src a { word-break: break-all; }
.legend-card, .nvt-card { padding: .9rem 1.1rem; }
.legend-card .chip { cursor: default; font-size: .72rem; padding: .35rem .7rem; }
.legend-card .chip.req { border-color: var(--brand); background: var(--brand); color: #fff; }
.legend-card .chip.use { border-color: var(--brand); background: var(--brand-tint); color: var(--brand-deep); }
.legend-card .chip.extra { border-color: #C9CDD3; color: #8A929C; background: #fff; text-decoration: line-through; }
.legend-card .chip.picked:before { content: "✓ "; }
.legend-card .chip.extra.picked { color: var(--warn); border-color: var(--warn); }
.legend { margin-top: .6rem; color: var(--muted); }
.lg { display: inline-block; width: .8rem; height: .8rem; border-radius: 50%; vertical-align: -.1rem; margin: 0 .25rem 0 .6rem; }
.lg:first-child { margin-left: 0; }
.lg.req { background: var(--brand); } .lg.use { background: var(--brand-tint); border: .1rem solid var(--brand); } .lg.extra { background: #fff; border: .1rem solid #C9CDD3; }
.nvt-card .chip { cursor: default; font-size: .72rem; padding: .35rem .7rem; }
.nvt-card .btn { margin-top: .8rem; width: 100%; }
.rv-side .more .btn { margin: .2rem; }
.rv-side > .btn { width: 100%; }
body.port .review { -webkit-flex-direction: column; flex-direction: column; }
body.port .rv-main { padding: 0; }
body.port .rv-side { width: 100%; -webkit-flex: 0 0 auto; flex: 0 0 auto; margin-top: 1rem; }

.recall-card { max-width: 44rem !important; text-align: left !important; }
.recall-card .btn { margin-top: .6rem; }
