/* ==========================================================================
   Продвижение пейнтбола: маркер в шапке, «Постреляем?», догоняющее окошко.
   Кляксы — приглушённые и полупрозрачные, рисуются SVG без фона.
   ========================================================================== */

/* ── Пункт «Пейнтбол» в шапке ── */
.nav-links > li.nav-pb { position: relative; }
.nav-links > li.nav-pb > a,
.nav-links > li.nav-pb > a.is-active { color: #ff8a1f; display: inline-block; }
.nav-links > li.nav-pb > a:hover { color: #ffa24d; }
.nav-pb__fx { position: absolute; inset: 0; pointer-events: none; }
.nav-pb__marker { position: absolute; left: 50%; top: -23px; width: 56px; height: 26px; overflow: visible; filter: drop-shadow(0 3px 4px rgba(0,0,0,.5)); }
.nav-pb__bob, .nav-pb__recoil { transform-box: view-box; transform-origin: 140px 60px; }
.nav-pb__puff { position: absolute; left: calc(50% - 6px); top: -16px; width: 10px; height: 10px; border-radius: 50%; background: #e6e6e6; opacity: 0; }
.nav-pb__ball { position: absolute; left: calc(50% - 2px); top: -13px; width: 5px; height: 5px; border-radius: 50%; opacity: 0; }
.nav-pb__ball--1 { background: #ff8a1f; }
.nav-pb__ball--2 { background: #6bff2a; }
.nav-pb__splats { position: absolute; left: -26px; top: -10px; width: 140px; height: 60px; overflow: visible; }
.nav-pb__s1, .nav-pb__s2 { opacity: 0; transform-box: fill-box; transform-origin: center; }

/* Стрельба — только пока посетитель на первом экране (класс ставит JS). */
.nav-pb.is-live .nav-pb__bob { animation: pbn-bob 2.2s ease-in-out infinite; }
.nav-pb.is-live .nav-pb__recoil { animation: pbn-recoil 6s infinite; }
.nav-pb.is-live .nav-pb__puff { animation: pbn-puff 6s infinite; }
.nav-pb.is-live .nav-pb__ball--1 { animation: pbn-b1 6s linear infinite; }
.nav-pb.is-live .nav-pb__ball--2 { animation: pbn-b2 6s linear infinite; }
.nav-pb.is-live .nav-pb__s1 { animation: pbn-s1 6s infinite; }
.nav-pb.is-live .nav-pb__s2 { animation: pbn-s2 6s infinite; }
@keyframes pbn-bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-2px) rotate(-1.5deg); } }
@keyframes pbn-recoil { 0%, 49% { transform: translate(0,0) rotate(0); } 50% { transform: translate(8px,-2px) rotate(3deg); } 53%, 55% { transform: translate(0,0) rotate(0); } 56% { transform: translate(8px,-2px) rotate(3deg); } 59%, 100% { transform: translate(0,0) rotate(0); } }
@keyframes pbn-puff { 0%, 49% { opacity: 0; transform: scale(.3); } 51% { opacity: .8; transform: scale(1); } 54% { opacity: 0; transform: scale(2.2); } 55% { opacity: 0; transform: scale(.3); } 57% { opacity: .8; transform: scale(1); } 60%, 100% { opacity: 0; transform: scale(2.2); } }
@keyframes pbn-b1 { 0%, 49.5% { opacity: 0; transform: translate(0,0); } 50% { opacity: 1; transform: translate(0,0); } 53% { opacity: 1; transform: translate(-14px,30px); } 53.5%, 100% { opacity: 0; transform: translate(-14px,30px); } }
@keyframes pbn-b2 { 0%, 55.5% { opacity: 0; transform: translate(0,0); } 56% { opacity: 1; transform: translate(0,0); } 59% { opacity: 1; transform: translate(26px,36px); } 59.5%, 100% { opacity: 0; transform: translate(26px,36px); } }
@keyframes pbn-s1 { 0%, 52.5% { opacity: 0; transform: scale(.15); } 54% { opacity: .55; transform: scale(1.15); } 57%, 88% { opacity: .46; transform: scale(1); } 99%, 100% { opacity: 0; transform: scale(1); } }
@keyframes pbn-s2 { 0%, 58.5% { opacity: 0; transform: scale(.15); } 60% { opacity: .55; transform: scale(1.15); } 63%, 88% { opacity: .44; transform: scale(1); } 99%, 100% { opacity: 0; transform: scale(1); } }

/* Пульсация после «Постреляем?» */
.nav-pb.is-pulse > a { animation: pbn-pulse 3s ease-in-out 1; }
.nav-pb.is-pulse::before { content: ""; position: absolute; inset: -8px -12px; border: 2px solid #ff8a1f; border-radius: 4px; animation: pbn-ring 1s ease-out 3; pointer-events: none; }
@keyframes pbn-pulse { 0%, 100% { transform: scale(1); text-shadow: none; } 16%, 50%, 84% { transform: scale(1.12); text-shadow: 0 0 14px rgba(255,138,31,.85); } 33%, 67% { transform: scale(1); text-shadow: 0 0 4px rgba(255,138,31,.4); } }
@keyframes pbn-ring { 0% { opacity: .9; transform: scale(.9); } 100% { opacity: 0; transform: scale(1.5); } }

/* Мобильное меню: просто оранжевый пункт */
.mobile-menu li.mobile-pb a { color: #ff8a1f; }

/* ── «Постреляем?» (шорткод) ── */
.pbs { display: none; }
.elementor-editor-active .pbs { display: block; position: relative; padding: 10px 14px; border: 1px dashed #ff8a1f; color: #ff8a1f; font: 600 13px Onest, Arial, sans-serif; }
.elementor-editor-active .pbs::before { content: "Анимация «Постреляем?» — запускается на сайте в этом блоке"; }
.elementor-editor-active .pbs > * { display: none; }
/* Слой на весь экран (только компьютер), JS переносит его в body. */
.pbs.is-mounted { display: block; position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 250; }
.pbs.is-gone { opacity: 0; transition: opacity .35s; }
.pbs__splats { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.pbs__s { opacity: 0; transform-box: fill-box; transform-origin: center; }
.pbs__ball { position: absolute; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; opacity: 0; }
.pbs__ball--1, .pbs__ball--3 { background: #6bff2a; }
.pbs__ball--2 { background: #ff8a1f; }
.pbs__hand { position: absolute; right: -24px; width: 380px; height: 160px; transform: translateX(110%); }
.pbs__hand svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 14px 18px rgba(0,0,0,.5)); }
.pbs__bob { transform-box: view-box; transform-origin: 200px 80px; }
.pbs__recoil { transform-box: view-box; transform-origin: 150px 70px; }
.pbs__puff { opacity: 0; transform-box: fill-box; transform-origin: center; }
/* Карточка над рукой: вся — ссылка, крестик — убрать до следующего визита. */
.pbs__card { position: absolute; right: 24px; top: max(110px, calc(var(--pbs-hand-top, 55vh) - 236px)); width: 290px; opacity: 0; visibility: hidden; transform: translateY(10px); pointer-events: auto; font-family: Onest, Manrope, Arial, sans-serif; }
.pbs__link { display: block; background: #151515; color: #f0f0f0 !important; text-decoration: none !important; box-shadow: 0 16px 40px rgba(0,0,0,.55); }
.pbs__head { display: flex; align-items: center; height: 44px; padding: 0 48px 0 16px; background: #6bff2a; }
.pbs__head b { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 900; font-size: 22px; line-height: 1; text-transform: uppercase; color: #0d0d0d; white-space: nowrap; }
.pbs__body { display: flex; flex-direction: column; gap: 14px; padding: 16px; }
.pbs__text { font-size: 15px; line-height: 1.4; color: #e2e2e2; }
.pbs__short { display: none; font-size: 15px; line-height: 1.3; color: #e2e2e2; }
.pbs__card.is-compact .pbs__text { display: none; }
.pbs__card.is-compact .pbs__short { display: block; }
.pbs__card.is-compact .pbs__body { gap: 10px; padding: 12px 16px 14px; }
.pbs__btn { display: flex; align-items: center; justify-content: center; height: 44px; background: #6bff2a; color: #0d0d0d; font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 900; font-size: 19px; letter-spacing: .04em; text-transform: uppercase; }
.pbs__link:hover .pbs__btn { background: #8dff5c; }
.pbs__close { position: absolute; right: 8px; top: 8px; width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: #0d0d0d; font-size: 26px; line-height: 26px; cursor: pointer; }

/* Один показ — 20 с: рука выезжает, 3 выстрела, карточка ~10 с, рука уходит. */
.pbs.is-run .pbs__hand { animation: pbs-peek 20s cubic-bezier(.3,.7,.3,1) both; }
.pbs.is-run .pbs__bob { animation: pbs-bob 2.4s ease-in-out infinite; }
.pbs.is-run .pbs__recoil { animation: pbs-recoil 20s both; }
.pbs.is-run .pbs__puff { animation: pbs-puff 20s both; }
.pbs.is-run .pbs__ball--1 { animation: pbs-b1 20s linear both; }
.pbs.is-run .pbs__ball--2 { animation: pbs-b2 20s linear both; }
.pbs.is-run .pbs__ball--3 { animation: pbs-b3 20s linear both; }
.pbs.is-run .pbs__s--1 { animation: pbs-s1 20s both; }
.pbs.is-run .pbs__s--2 { animation: pbs-s2 20s both; }
.pbs.is-run .pbs__s--3 { animation: pbs-s3 20s both; }
.pbs.is-run .pbs__card { animation: pbs-card 20s ease-in-out both; }
@keyframes pbs-peek { 0%, 4% { transform: translateX(110%); } 9%, 78% { transform: translateX(0); } 86%, 100% { transform: translateX(110%); } }
@keyframes pbs-bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(-1deg); } }
@keyframes pbs-recoil { 0%, 13.5% { transform: translate(0,0) rotate(0); } 14% { transform: translate(8px,-2px) rotate(2.5deg); } 16%, 17.5% { transform: translate(0,0) rotate(0); } 18% { transform: translate(8px,-2px) rotate(2.5deg); } 20%, 21.5% { transform: translate(0,0) rotate(0); } 22% { transform: translate(8px,-2px) rotate(2.5deg); } 24%, 100% { transform: translate(0,0) rotate(0); } }
@keyframes pbs-puff { 0%, 13.5% { opacity: 0; transform: scale(.3); } 14.5% { opacity: .8; transform: scale(1); } 17% { opacity: 0; transform: scale(2.4); } 17.5% { opacity: 0; transform: scale(.3); } 18.5% { opacity: .8; transform: scale(1); } 21% { opacity: 0; transform: scale(2.4); } 21.5% { opacity: 0; transform: scale(.3); } 22.5% { opacity: .8; transform: scale(1); } 25%, 100% { opacity: 0; transform: scale(2.4); } }
@keyframes pbs-b1 { 0%, 13.9% { opacity: 0; transform: translate(0,0); } 14% { opacity: 1; transform: translate(0,0); } 16.4% { opacity: 1; transform: translate(var(--tx), var(--ty)); } 16.7%, 100% { opacity: 0; transform: translate(var(--tx), var(--ty)); } }
@keyframes pbs-b2 { 0%, 17.9% { opacity: 0; transform: translate(0,0); } 18% { opacity: 1; transform: translate(0,0); } 20.4% { opacity: 1; transform: translate(var(--tx), var(--ty)); } 20.7%, 100% { opacity: 0; transform: translate(var(--tx), var(--ty)); } }
@keyframes pbs-b3 { 0%, 21.9% { opacity: 0; transform: translate(0,0); } 22% { opacity: 1; transform: translate(0,0); } 24.4% { opacity: 1; transform: translate(var(--tx), var(--ty)); } 24.7%, 100% { opacity: 0; transform: translate(var(--tx), var(--ty)); } }
@keyframes pbs-s1 { 0%, 16.3% { opacity: 0; transform: scale(.15); } 17.3% { opacity: .55; transform: scale(1.15); } 19%, 86% { opacity: .46; transform: scale(1); } 95%, 100% { opacity: 0; transform: scale(1); } }
@keyframes pbs-s2 { 0%, 20.3% { opacity: 0; transform: scale(.15); } 21.3% { opacity: .55; transform: scale(1.15); } 23%, 86% { opacity: .44; transform: scale(1); } 95%, 100% { opacity: 0; transform: scale(1); } }
@keyframes pbs-s3 { 0%, 24.3% { opacity: 0; transform: scale(.15); } 25.3% { opacity: .55; transform: scale(1.15); } 27%, 86% { opacity: .44; transform: scale(1); } 95%, 100% { opacity: 0; transform: scale(1); } }
@keyframes pbs-card { 0%, 25% { opacity: 0; visibility: hidden; transform: translateY(10px); } 25.1% { visibility: visible; } 29%, 80% { opacity: 1; visibility: visible; transform: translateY(0); } 85% { opacity: 0; visibility: visible; transform: translateY(10px); } 85.1%, 100% { opacity: 0; visibility: hidden; } }
@media (max-width: 767px) {
	.pbs.is-mounted { display: none; }
}

/* ── Догоняющее окошко ── */
.pbc { position: fixed; z-index: 300; font-family: Onest, Manrope, Arial, sans-serif; }
.pbc a { text-decoration: none; }
.pbc__card { position: fixed; right: 0; top: 30vh; width: 300px; transform: translateX(120%); transition: transform .9s cubic-bezier(.2,1.25,.4,1); }
.pbc.is-shown .pbc__card { transform: translateX(0); }
.pbc__blot { position: absolute; left: -70px; top: -46px; width: 240px; height: 200px; opacity: .55; pointer-events: none; }
.pbc__box { position: relative; background: #121212; box-shadow: -18px 24px 50px rgba(0,0,0,.55); }
.pbc__link { display: block; color: #f0f0f0; }
.pbc__link:hover { color: #f0f0f0; }
.pbc__photo { position: relative; display: block; height: 128px; background-size: cover; background-position: center 40%; }
.pbc__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,18,18,0) 30%, #121212 100%); }
.pbc__badge { position: absolute; left: 14px; top: 14px; z-index: 1; background: #ff8a1f; color: #0d0d0d; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 3px 8px; }
.pbc__marker { position: absolute; left: -54px; top: 82px; width: 168px; height: 78px; overflow: visible; filter: drop-shadow(0 10px 14px rgba(0,0,0,.6)); animation: pbc-bob 2.6s ease-in-out infinite; }
.pbc__body { display: flex; flex-direction: column; gap: 8px; padding: 30px 22px 22px; }
.pbc__title { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 900; font-size: 28px; line-height: .95; text-transform: uppercase; }
.pbc__text { font-size: 14px; line-height: 1.45; color: #bdbdbd; }
.pbc__btn { position: relative; overflow: hidden; margin-top: 8px; display: flex; align-items: center; justify-content: space-between; background: #6bff2a; color: #0d0d0d; padding: 13px 16px; font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 800; font-size: 18px; letter-spacing: .08em; text-transform: uppercase; animation: pbc-glow 5s ease-in-out infinite; }
.pbc__btn svg { width: 20px; height: 20px; }
.pbc__shine { position: absolute; top: 0; bottom: 0; left: 0; width: 40%; background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0)); animation: pbc-shine 5s ease-in-out infinite; }
.pbc__link:hover .pbc__btn { background: #8dff5c; }
.pbc__close { position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; padding: 0; border-radius: 15px; background: rgba(13,13,13,.7); border: 0; color: #e6e6e6; font-size: 16px; line-height: 30px; cursor: pointer; }
.pb-jig { animation: pbc-jig 5s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes pbc-bob { 0%, 100% { transform: translateY(0) rotate(-6deg); } 50% { transform: translateY(-4px) rotate(-8deg); } }
@keyframes pbc-shine { 0%, 70% { transform: translateX(-120%) skewX(-20deg); } 88%, 100% { transform: translateX(260%) skewX(-20deg); } }
@keyframes pbc-glow { 0%, 70% { box-shadow: 0 0 0 0 rgba(107,255,42,0); } 80% { box-shadow: 0 0 0 6px rgba(107,255,42,.18); } 100% { box-shadow: 0 0 0 12px rgba(107,255,42,0); } }
@keyframes pbc-jig { 0%, 72%, 100% { transform: translateY(0); } 76% { transform: translateY(-1.5px); } 80% { transform: translateY(.5px); } }

/* Телефон: рука у правого края; нажатие — раскрывается карточка с затемнением. */
.pbc__mob { display: none; }
@media (max-width: 767px) {
	.pbc__card { display: none; }
	.pbc__mob { display: block; }
	.pbc__peek { position: fixed; right: 0; top: 40vh; z-index: 2; width: 156px; height: 104px; transform: translateX(180px); transition: transform .8s cubic-bezier(.2,1.2,.4,1), opacity .2s; }
	.pbc.is-shown .pbc__peek { transform: translateX(0); }
	.pbc.is-open .pbc__peek { opacity: 0; pointer-events: none; }
	.pbc__tab { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
	.pbc__tlabel { position: absolute; right: 12px; top: 0; padding: 8px 12px; background: #6bff2a; color: #0d0d0d; font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 900; font-size: 19px; line-height: 1; text-transform: uppercase; white-space: nowrap; box-shadow: 0 8px 20px rgba(0,0,0,.45); }
	.pbc__tlabel::after { content: ""; position: absolute; right: 46px; bottom: -6px; width: 12px; height: 12px; background: #6bff2a; transform: rotate(45deg); }
	.pbc__thand { position: absolute; right: -30px; bottom: 0; width: 170px; height: 71px; }
	.pbc__thand svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 10px 14px rgba(0,0,0,.55)); }
	.pbc__trecoil { transform-box: view-box; transform-origin: 150px 70px; }
	.pbc__tpuff, .pbc__tball { opacity: 0; transform-box: fill-box; transform-origin: center; }
	.pbc.is-shown .pbc__trecoil { animation: pbt-recoil 7s 1.5s infinite; }
	.pbc.is-shown .pbc__tpuff { animation: pbt-puff 7s 1.5s infinite; }
	.pbc.is-shown .pbc__tball { animation: pbt-ball 7s 1.5s linear infinite; }
	.pbc__close--mob { right: 0; top: -16px; width: 24px; height: 24px; line-height: 24px; font-size: 13px; background: #2a2a2a; }

	.pbc__dim { position: fixed; inset: 0; z-index: 1; background: rgba(0,0,0,.6); opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s .3s; }
	.pbc.is-open .pbc__dim { opacity: 1; visibility: visible; transition: opacity .3s; }
	.pbc__sheet { position: fixed; right: 0; top: 40vh; z-index: 3; width: min(300px, calc(100vw - 24px)); background: #151515; box-shadow: 0 18px 44px rgba(0,0,0,.6); clip-path: inset(0 0 calc(100% - 46px) calc(100% - 150px)); opacity: 0; visibility: hidden; transition: clip-path .45s cubic-bezier(.5,0,.2,1), opacity .2s .25s, visibility 0s .45s; }
	.pbc.is-open .pbc__sheet { clip-path: inset(0); opacity: 1; visibility: visible; transition: clip-path .45s cubic-bezier(.5,0,.2,1), opacity .15s, visibility 0s; }
	.pbc__slink { display: block; color: #f0f0f0; }
	.pbc__slink:hover { color: #f0f0f0; }
	.pbc__shead { display: flex; align-items: center; height: 46px; padding: 0 48px 0 16px; background: #6bff2a; }
	.pbc__shead b { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 900; font-size: 22px; line-height: 1; text-transform: uppercase; color: #0d0d0d; white-space: nowrap; }
	.pbc__sbody { display: flex; flex-direction: column; gap: 14px; padding: 16px 16px 18px; }
	.pbc__stext { font-size: 15px; line-height: 1.4; color: #e2e2e2; }
	.pbc__sbtn { display: flex; align-items: center; justify-content: center; height: 46px; background: #6bff2a; color: #0d0d0d; font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 900; font-size: 19px; letter-spacing: .04em; text-transform: uppercase; }
	.pbc__fold { position: absolute; right: 8px; top: 9px; width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: #0d0d0d; font-size: 26px; line-height: 26px; cursor: pointer; }
}
@keyframes pbt-recoil { 0%, 9% { transform: translate(0,0) rotate(0); } 10% { transform: translate(8px,-2px) rotate(2.5deg); } 13%, 100% { transform: translate(0,0) rotate(0); } }
@keyframes pbt-puff { 0%, 9.5% { opacity: 0; transform: scale(.3); } 11% { opacity: .8; transform: scale(1); } 16%, 100% { opacity: 0; transform: scale(2.4); } }
@keyframes pbt-ball { 0%, 9.9% { opacity: 0; transform: translate(0,0); } 10% { opacity: 1; transform: translate(0,0); } 15% { opacity: .9; transform: translate(-110px,14px); } 16%, 100% { opacity: 0; transform: translate(-110px,14px); } }

/* Бережный режим: только если включён в настройках темы (класс pb-rm ставит JS). */
html.pb-rm .nav-pb *, html.pb-rm .nav-pb.is-pulse > a, html.pb-rm .nav-pb.is-pulse::before, html.pb-rm .pbc *, html.pb-rm .pbc__card, html.pb-rm .pbc__peek, html.pb-rm .pbs * { animation: none !important; transition: none !important; }
