/* Страховка (09.10): жоден ефект Хелловіну не має розширювати сторінку вбік — на телефоні вона «відʼїжджала».
   clip, а не hidden: не створює прокрутки й не ламає sticky-шапку. */
html:has(body.pvrh-on),body.pvrh-on{overflow-x:clip}

/* Portal VR — Хелловін «Портал відчинився».
   Усе під префіксом pvrh-: стилі сайту не перекриваються. Декор, що лежить поверх контенту,
   має pointer-events:none, тож жодна кнопка сайту не стає некліковною. */

:root{
  --pvrh-black:#07050a;
  --pvrh-orange:#ff7a1a;
  --pvrh-orange2:#ffb347;
  --pvrh-violet:#8b3dff;
  --pvrh-crimson:#a3274a;
  --pvrh-text:#e9e3ee;
  --pvrh-muted:#a99fb3;
}

/* ───── Смужка вгорі ───── */
.pvrh-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;
  position:relative;z-index:7;overflow:hidden;padding:9px 46px;text-decoration:none!important;
  background:linear-gradient(90deg,#0b0610 0%,#2a0f3d 45%,#3a1408 70%,#0b0610 100%);
  border-bottom:1px solid rgba(255,122,26,.35);
  font-family:'Poppins','Play',sans-serif;font-size:14px;line-height:1.3}
.pvrh-strip::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 18% 50%,rgba(255,122,26,.25),transparent 45%),
             radial-gradient(circle at 82% 50%,rgba(139,61,255,.28),transparent 45%);
  animation:pvrh-pulse 4s ease-in-out infinite}
.pvrh-strip-pk{width:30px;height:30px;flex:none;animation:pvrh-bob 2.4s ease-in-out infinite;
  filter:drop-shadow(0 0 8px rgba(255,122,26,.8))}
.pvrh-strip-txt{color:var(--pvrh-text);position:relative}
.pvrh-strip-txt b{color:var(--pvrh-orange2);font-weight:700}
.pvrh-strip-cta{color:var(--pvrh-orange);font-weight:700;position:relative;text-shadow:0 0 12px rgba(255,122,26,.6)}
.pvrh-strip:hover .pvrh-strip-cta{color:#fff}
.pvrh-strip:focus-visible{outline:2px solid var(--pvrh-orange);outline-offset:-3px}
@media(max-width:600px){.pvrh-strip{font-size:12.5px;padding:8px 12px;gap:4px 10px}.pvrh-strip-pk{width:24px;height:24px}}

/* ───── Павутиння (кути блоку) ───── */
.pvrh-web{position:absolute;width:150px;height:150px;pointer-events:none;opacity:.55;z-index:2;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23d8d0e6' stroke-width='.6'%3E%3Cpath d='M0 0L100 100M0 0L100 45M0 0L45 100M0 0L100 12M0 0L12 100'/%3E%3Cpath d='M0 22Q11 18 22 0M0 44Q24 36 44 0M0 66Q37 54 66 0M0 88Q50 72 88 0'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%}
.pvrh-web-l{top:0;left:0}
.pvrh-web-r{top:0;right:0;transform:scaleX(-1)}

/* ───── Святковий блок на головній ───── */
.pvrh-sec{position:relative;max-width:1180px;margin:70px auto;padding:0 20px;color:var(--pvrh-text)}
.pvrh-poster{position:relative;border-radius:22px;overflow:hidden;min-height:440px;
  background:radial-gradient(circle at 68% 45%,#5a1f7a 0%,#2a0f3d 28%,#0b0610 62%);
  border:1px solid rgba(255,122,26,.28);
  box-shadow:0 0 0 1px rgba(139,61,255,.18),0 30px 80px rgba(139,61,255,.25),0 0 120px rgba(255,122,26,.12)}
.pvrh-poster picture,.pvrh-poster-img{display:block;width:100%;height:100%}
.pvrh-poster-img{position:absolute;inset:0;object-fit:cover;object-position:70% 50%;transform:scale(1.04);
  animation:pvrh-breathe 14s ease-in-out infinite}
.pvrh-poster::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,5,10,.92) 0%,rgba(7,5,10,.7) 38%,rgba(7,5,10,0) 66%)}
.pvrh-poster-txt{position:relative;z-index:3;max-width:520px;padding:58px 0 58px 54px}
.pvrh-eyebrow{display:inline-block;font:700 12px/1 'Play',sans-serif;letter-spacing:.22em;text-transform:uppercase;
  color:var(--pvrh-orange2);border:1px solid rgba(255,179,71,.45);border-radius:20px;padding:7px 14px;margin-bottom:18px}
.pvrh-poster h2{margin:0 0 16px;color:#fff;font-family:'Rubik Wet Paint','Play',sans-serif;font-weight:400;
  font-size:clamp(40px,5.4vw,70px);line-height:1.02;letter-spacing:.01em;text-wrap:balance;
  text-shadow:0 0 30px rgba(139,61,255,.55)}
.pvrh-poster h2 em{font-style:normal;color:var(--pvrh-orange);
  text-shadow:0 0 18px rgba(255,122,26,.75),0 0 46px rgba(255,122,26,.35)}
.pvrh-poster p{margin:0 0 26px;font-size:17px;line-height:1.6;color:#d9d1e2;max-width:46ch}
.pvrh-cta{display:flex;flex-wrap:wrap;gap:12px}
.pvrh-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:12px;
  font:700 15px/1 'Play',sans-serif;letter-spacing:.04em;text-decoration:none!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.28);background:rgba(10,6,14,.55);backdrop-filter:blur(4px);
  transition:transform .2s,box-shadow .2s,background .2s}
.pvrh-btn:hover{transform:translateY(-2px);background:rgba(30,16,40,.8)}
.pvrh-btn-main{border-color:transparent;background:linear-gradient(135deg,#ff7a1a,#e8410f);
  box-shadow:0 8px 28px rgba(255,122,26,.45)}
.pvrh-btn-main:hover{background:linear-gradient(135deg,#ff8c33,#f04c18);box-shadow:0 10px 36px rgba(255,122,26,.6)}
.pvrh-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}

.pvrh-h3{margin:54px 0 22px;text-align:center;color:#fff;font:700 clamp(24px,3vw,34px)/1.2 'Play',sans-serif;text-wrap:balance}
.pvrh-h3 em{font-style:normal;color:var(--pvrh-orange)}
.pvrh-games{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pvrh-game{display:flex;flex-direction:column;background:#120c17;border:1px solid rgba(255,255,255,.08);border-radius:14px;
  overflow:hidden;text-decoration:none!important;transition:transform .25s,border-color .25s,box-shadow .25s}
.pvrh-game:hover{transform:translateY(-4px) rotate(-.6deg);border-color:rgba(255,122,26,.6);
  box-shadow:0 14px 40px rgba(255,122,26,.18),0 0 0 1px rgba(255,122,26,.25)}
.pvrh-game:hover .pvrh-game-img{filter:saturate(1.15) contrast(1.05) brightness(.9) hue-rotate(-8deg)}
.pvrh-game:focus-visible{outline:2px solid var(--pvrh-orange);outline-offset:3px}
.pvrh-game-img{display:block;aspect-ratio:16/9;background:#1a1020 center/cover no-repeat;transition:filter .3s;
  box-shadow:inset 0 -40px 40px -20px rgba(18,12,23,.9)}
.pvrh-game-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 15px}
.pvrh-game-t{color:#fff!important;font:700 16px/1.25 'Play',sans-serif}
.pvrh-game-d{color:var(--pvrh-muted);font-size:13.5px;line-height:1.4}
.pvrh-lvl{display:flex;align-items:center;gap:3px;margin-top:4px}
.pvrh-lvl span{color:#7f7488;font-size:11px;letter-spacing:.06em;text-transform:uppercase;margin-right:6px}
.pvrh-lvl i{display:inline-block;width:15px;height:15px;background:url("img/pumpkin.webp") center/contain no-repeat;
  filter:grayscale(1) brightness(.45);opacity:.6}
.pvrh-lvl i.pvrh-pk-on{filter:drop-shadow(0 0 4px rgba(255,122,26,.7));opacity:1}
.pvrh-hint{display:flex;align-items:center;justify-content:center;gap:10px;margin:30px auto 0;text-align:center;
  color:var(--pvrh-muted);font-size:16px}
.pvrh-hint b{color:var(--pvrh-orange2)}
.pvrh-hint span{display:inline}
.pvrh-hint img{width:28px;height:28px;animation:pvrh-bob 2.4s ease-in-out infinite}

@media(max-width:980px){.pvrh-games{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .pvrh-sec{margin:44px auto;padding:0 14px}
  .pvrh-poster{min-height:0;display:flex;flex-direction:column}
  .pvrh-poster picture{position:relative;aspect-ratio:1/1}
  .pvrh-poster-img{position:absolute}
  .pvrh-poster::after{background:linear-gradient(180deg,rgba(7,5,10,0) 30%,rgba(7,5,10,.35) 52%,rgba(7,5,10,1) 62%)}
  .pvrh-poster-txt{padding:0 22px 28px;margin-top:-90px;max-width:none}
  .pvrh-poster p{font-size:15.5px}
  .pvrh-cta .pvrh-btn{flex:1 1 100%}
  .pvrh-games{gap:12px}
  .pvrh-game-body{padding:10px 11px 12px}
  .pvrh-game-t{font-size:14.5px}
  .pvrh-game-d{font-size:12.5px}
  .pvrh-lvl span{display:none}
  .pvrh-lvl i{width:13px;height:13px}
  .pvrh-web{width:90px;height:90px}
}

/* ───── Банер угорі головної, одразу під шапкою ───── */
.pvrh-top{position:relative;max-width:1180px;margin:40px auto 46px;padding:0 20px;color:var(--pvrh-text)}
.pvrh-top .pvrh-poster{min-height:460px}
.pvrh-poster-more{display:inline-block;margin-top:18px;color:var(--pvrh-orange2)!important;font:700 15px/1.3 'Play',sans-serif;
  text-decoration:none!important;border-bottom:1px dashed rgba(255,179,71,.55);padding-bottom:2px}
.pvrh-poster-more:hover{color:#fff!important;border-bottom-color:#fff}
.pvrh-sec .pvrh-h3{margin-top:0}
@media(max-width:700px){
  .pvrh-top{margin:26px auto 30px;padding:0 12px}
  .pvrh-top .pvrh-poster picture{aspect-ratio:4/3}   /* нагорі — нижча картинка, щоб hero не відʼїжджав надто далеко */
  .pvrh-top .pvrh-poster-txt{margin-top:-70px;padding-bottom:22px}
  .pvrh-top .pvrh-poster h2{font-size:38px}
  .pvrh-top .pvrh-poster p{font-size:15px;margin-bottom:18px}
  .pvrh-poster-more{font-size:14px}
}

/* ───── Відьомський капелюх на зайчику в логотипі ─────
   Зайчик — крихітний значок (≈10×12 px) у правому кінці картинки логотипа. Капелюх ставить JS
   точно за координатами картинки (див. hat() у halloween.js), тут лише вигляд. */
.pvrh-bunny-hat{position:absolute;z-index:5;pointer-events:none;transform-origin:50% 80%;transform:rotate(13deg);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 58'%3E%3Cpath d='M30 2C26 11 21 24 19 40L45 40C42 31 41 21 47 12C41 14 35 9 30 2Z' fill='%23241034' stroke='%23a66bff' stroke-width='2'/%3E%3Cpath d='M30 2C27 9 25 15 24 22' stroke='%23c79bff' stroke-width='1.5' fill='none' opacity='.6'/%3E%3Cellipse cx='32' cy='43' rx='30' ry='8' fill='%23241034' stroke='%23a66bff' stroke-width='2'/%3E%3Crect x='20' y='33' width='25' height='6' rx='1' fill='%23ff7a1a'/%3E%3Crect x='29.5' y='33' width='6' height='6' rx='1' fill='%23ffd166'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 0 3px rgba(166,107,255,.9)) drop-shadow(0 0 7px rgba(255,122,26,.35));
  animation:pvrh-hat-tip 6s ease-in-out infinite}
/* Нахил ВПРАВО (за годинниковою): ліве поле піднімається над «R», конус хилиться геть від тексту лого */
@keyframes pvrh-hat-tip{0%,78%,100%{transform:rotate(13deg)}84%{transform:rotate(22deg) translateY(-2px)}90%{transform:rotate(7deg)}}

/* ───── Туман: завжди внизу екрана ─────
   • два шари пливуть у різні боки з різною швидкістю — виходить об'єм, а не пласка картинка;
   • mix-blend-mode:screen — туман лише ОСВІТЛЮЄ темне тло, білий текст поверх нього лишається білим,
     тож кнопки й написи внизу екрана читаються;
   • знизу тепле світіння, ніби від гарбузів;
   • курсор РОЗГАНЯЄ туман: навколо мишки в мгі з'являється прогалина (маска з «дірою»),
     тож підвести мишку до кнопки внизу — і туман розступається. */
@property --pvrh-hole{syntax:'<length>';inherits:false;initial-value:0px}
.pvrh-fog{position:fixed;left:0;right:0;bottom:0;height:min(17vh,150px);z-index:8900;pointer-events:none;
  mix-blend-mode:screen;opacity:.68; /* .92 був надто густий: світлі картинки внизу ставали молочними */
  --pvrh-fx:-999px;--pvrh-fy:-999px;
  background:linear-gradient(0deg,rgba(255,122,26,.16) 0,rgba(139,61,255,.10) 30%,transparent 75%);
  -webkit-mask-image:radial-gradient(circle var(--pvrh-hole) at var(--pvrh-fx) var(--pvrh-fy),transparent 0,transparent 30%,#000 100%),
                     linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) 30%,#000 65%);
  -webkit-mask-composite:source-in;
  mask-image:radial-gradient(circle var(--pvrh-hole) at var(--pvrh-fx) var(--pvrh-fy),transparent 0,transparent 30%,#000 100%),
             linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) 30%,#000 65%);
  mask-composite:intersect;
  transition:--pvrh-hole .4s ease}
.pvrh-fog::before,.pvrh-fog::after{content:"";position:absolute;left:0;right:0;bottom:0;pointer-events:none;
  background:url("img/fog.webp") repeat-x 0 100%}
.pvrh-fog::before{top:0;background-size:900px 100%;opacity:.85;animation:pvrh-drift 55s linear infinite}
.pvrh-fog::after{top:22%;background-size:1300px 100%;opacity:.6;
  animation:pvrh-drift-r 38s linear infinite,pvrh-fog-bob 9s ease-in-out infinite}
@media(max-width:768px){
  .pvrh-fog{height:96px;opacity:.58}
  .pvrh-fog::before{background-size:620px 100%}
  .pvrh-fog::after{background-size:900px 100%}
}
/* У режимі «Вимкнути світло» туман лишається — під ліхтариком він виглядає найкраще */

/* ───── Кажани ───── */
.pvrh-bat{position:fixed;left:0;top:0;width:46px;height:26px;z-index:9000;pointer-events:none;will-change:transform}
.pvrh-bat svg{width:100%;height:100%;display:block;animation:pvrh-flap .16s ease-in-out infinite alternate;
  filter:drop-shadow(0 0 6px rgba(139,61,255,.55))}

/* ───── Павук ───── */
.pvrh-spider{position:fixed;top:0;right:9%;z-index:8000;width:2px;height:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(230,224,240,.0),rgba(230,224,240,.55));
  animation:pvrh-drop 22s cubic-bezier(.45,.05,.4,1) infinite .4s}
.pvrh-spider::after{content:"";position:absolute;left:50%;bottom:-20px;width:30px;height:26px;transform:translateX(-50%);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 52'%3E%3Cg stroke='%23120a18' stroke-width='3' fill='none' stroke-linecap='round'%3E%3Cpath d='M22 24L6 14L2 4M22 28L4 28L1 40M23 32L9 44L8 51M38 24L54 14L58 4M38 28L56 28L59 40M37 32L51 44L52 51'/%3E%3C/g%3E%3Cellipse cx='30' cy='30' rx='11' ry='13' fill='%23120a18'/%3E%3Ccircle cx='30' cy='14' r='7' fill='%23120a18'/%3E%3Ccircle cx='27' cy='13' r='1.8' fill='%23ff3b2f'/%3E%3Ccircle cx='33' cy='13' r='1.8' fill='%23ff3b2f'/%3E%3C/svg%3E") center/contain no-repeat;
  filter:drop-shadow(0 0 3px rgba(255,255,255,.35))}
@media(max-width:768px){.pvrh-spider::after{width:24px;height:21px;bottom:-16px}}

/* ───── Павуки, що повзають екраном ───── */
.pvrh-crawl{position:fixed;left:0;top:0;z-index:8950;pointer-events:none;will-change:transform}
/* Світлий контур + фіолетове сяйво: без них темний павук на чорному сайті невидимий */
.pvrh-crawl svg{display:block;width:100%;height:100%;overflow:visible;
  filter:drop-shadow(0 0 1.2px rgba(255,236,255,.95)) drop-shadow(0 0 7px rgba(166,107,255,.75)) drop-shadow(0 5px 5px rgba(0,0,0,.6))}
.pvrh-crawl .lg,.pvrh-web-spider .lg{transform-box:view-box;transform-origin:50px 50px}
.pvrh-crawl.pvrh-walk .la{animation:pvrh-leg var(--pvrh-gait,.2s) ease-in-out infinite alternate}
.pvrh-crawl.pvrh-walk .lb{animation:pvrh-leg var(--pvrh-gait,.2s) ease-in-out infinite alternate-reverse}
@keyframes pvrh-leg{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}

/* ───── Павутина в кутах екрана ───── */
.pvrh-webfx{position:fixed;z-index:8800;pointer-events:none;
  animation:pvrh-sway 7s ease-in-out infinite;filter:drop-shadow(0 0 2px rgba(255,255,255,.25))}
.pvrh-webfx > svg{display:block;width:100%;height:100%;opacity:.45}
.pvrh-webfx-tl{top:0;left:0;transform-origin:0 0}
.pvrh-webfx-tr{top:0;right:0;transform-origin:100% 0}
.pvrh-webfx-tr > svg{transform:scaleX(-1)}
.pvrh-webfx-bl{bottom:0;left:0;transform-origin:0 100%}
.pvrh-webfx-bl > svg{transform:scaleY(-1)}
.pvrh-webfx-br{bottom:0;right:0;transform-origin:100% 100%}
.pvrh-webfx-br > svg{transform:scale(-1,-1)}
@keyframes pvrh-sway{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(1.2deg) scale(1.015)}}
/* павук, що сидить у нижній правій павутині й інколи ворушить лапами */
.pvrh-web-spider{position:absolute;right:30%;bottom:34%;width:46px;height:46px;opacity:1;
  transform:rotate(-135deg);filter:drop-shadow(0 0 1.2px rgba(255,236,255,.95)) drop-shadow(0 0 6px rgba(166,107,255,.7))}
.pvrh-web-spider svg{display:block;width:100%;height:100%;overflow:visible}
.pvrh-web-spider .la{animation:pvrh-twitch 5s ease-in-out infinite}
.pvrh-web-spider .lb{animation:pvrh-twitch 5s ease-in-out infinite .15s}
@keyframes pvrh-twitch{0%,86%,100%{transform:rotate(0)}89%{transform:rotate(10deg)}92%{transform:rotate(-8deg)}95%{transform:rotate(5deg)}}
@media(max-width:768px){.pvrh-webfx > svg{opacity:.36}}

/* ───── Відкриття порталу ───── */
.pvrh-intro{position:fixed;inset:0;z-index:100500;display:flex;align-items:center;justify-content:center;flex-direction:column;
  background:radial-gradient(circle at 50% 50%,#1a0b24 0%,#07050a 60%);cursor:pointer;
  animation:pvrh-intro-out .55s ease 1.65s forwards}
.pvrh-intro-ring{width:min(46vw,46vh);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#0a0410 52%,transparent 56%),
             conic-gradient(from 0deg,#ff7a1a,#8b3dff,#a3274a,#ff7a1a,#8b3dff,#ff7a1a);
  box-shadow:0 0 60px rgba(255,122,26,.7),0 0 140px rgba(139,61,255,.6),inset 0 0 50px rgba(139,61,255,.8);
  animation:pvrh-ring-open 1.6s cubic-bezier(.2,.8,.2,1) forwards,pvrh-spin 3s linear infinite}
.pvrh-intro-txt{margin-top:28px;color:#e8dff0;font:400 clamp(22px,3vw,34px)/1 'Rubik Wet Paint','Play',sans-serif;
  letter-spacing:.04em;opacity:0;animation:pvrh-fade-in .5s ease .35s forwards;text-shadow:0 0 18px rgba(255,122,26,.6)}
.pvrh-intro-skip{position:absolute;bottom:26px;color:#8f84a0;font-size:13px}

/* ───── Полювання на гарбузи ───── */
.pvrh-hunt-pk{position:absolute;z-index:9600;width:52px;height:52px;padding:0;border:0;background:none;cursor:pointer;
  transform-origin:50% 90%;animation:pvrh-wobble 3.2s ease-in-out infinite;
  filter:drop-shadow(0 0 10px rgba(255,122,26,.75))}
.pvrh-hunt-pk img{width:100%;height:100%;display:block}
.pvrh-hunt-pk:hover{filter:drop-shadow(0 0 18px rgba(255,122,26,1))}
.pvrh-hunt-pk:focus-visible{outline:2px solid var(--pvrh-orange);outline-offset:4px;border-radius:50%}
.pvrh-hunt-pk.pvrh-got{animation:pvrh-pop .6s ease forwards;pointer-events:none}
body.pvrh-dark-on .pvrh-hunt-pk{filter:drop-shadow(0 0 22px #ff7a1a) drop-shadow(0 0 40px rgba(255,122,26,.7)) brightness(1.35)}

/* Повідомлення */
.pvrh-toast{position:fixed;left:50%;bottom:24px;z-index:100200;transform:translate(-50%,30px);opacity:0;
  max-width:min(92vw,520px);padding:14px 18px 14px 56px;border-radius:14px;color:#f1eaf6;font-size:15px;line-height:1.45;
  background:#160d1e url("img/pumpkin.webp") 14px 50%/30px no-repeat;border:1px solid rgba(255,122,26,.45);
  box-shadow:0 14px 40px rgba(0,0,0,.6),0 0 30px rgba(255,122,26,.18);transition:transform .35s,opacity .35s}
.pvrh-toast.pvrh-show{transform:translate(-50%,0);opacity:1}
.pvrh-toast a{color:var(--pvrh-orange2);font-weight:700}
@media(max-width:768px){.pvrh-toast{bottom:84px;font-size:14px}}

/* Фінальне вікно */
.pvrh-modal{position:fixed;inset:0;z-index:100400;display:flex;align-items:center;justify-content:center;padding:18px;
  background:rgba(5,3,8,.82);backdrop-filter:blur(3px);animation:pvrh-fade-in .3s ease}
.pvrh-modal-box{position:relative;max-width:470px;width:100%;text-align:center;padding:34px 26px 26px;border-radius:20px;
  background:radial-gradient(circle at 50% 0%,#2b1340 0%,#120a18 62%);border:1px solid rgba(255,122,26,.45);
  box-shadow:0 0 80px rgba(139,61,255,.35),0 0 40px rgba(255,122,26,.2)}
.pvrh-modal-box img{width:96px;height:96px;margin:-82px auto 6px;display:block;filter:drop-shadow(0 0 22px rgba(255,122,26,.9));
  animation:pvrh-bob 2.4s ease-in-out infinite}
.pvrh-modal h3{margin:6px 0 10px;color:var(--pvrh-orange);font:400 34px/1.05 'Rubik Wet Paint','Play',sans-serif;
  text-shadow:0 0 18px rgba(255,122,26,.6)}
.pvrh-modal p{margin:0 0 14px;color:#ddd4e6;font-size:16px;line-height:1.55}
.pvrh-modal .pvrh-reward{padding:12px 14px;border-radius:12px;background:rgba(255,122,26,.1);border:1px dashed rgba(255,122,26,.5);color:#fff}
.pvrh-modal .pvrh-cta{justify-content:center;margin-top:18px}
.pvrh-modal-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.08);color:#d8d0e0;font-size:20px;line-height:1}
.pvrh-modal-x:hover{background:rgba(255,255,255,.16)}

/* ───── Режим «Вимкнути світло» ───── */
/* Кнопки скидаємо повністю: тема Twenty Twenty-One фарбує КОЖЕН <button> у біле з рамкою */
.pvrh-torch-btn,.pvrh-hunt-pk,.pvrh-modal-x{-webkit-appearance:none!important;appearance:none!important;
  text-transform:none!important;letter-spacing:normal!important;min-width:0!important;margin:0!important}
.pvrh-torch-btn:focus,.pvrh-hunt-pk:focus,.pvrh-modal-x:focus{outline:none!important}
.pvrh-hunt-pk{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
.pvrh-modal-x{padding:0!important;border:0!important;background:rgba(255,255,255,.08)!important;color:#d8d0e0!important}

/* Праворуч і лише після першого екрана: в hero зліва внизу стоять головні кнопки
   «Забронювати» й телефон — плаваюча кнопка не має їх закривати. */
.pvrh-torch-btn{position:fixed!important;right:20px;bottom:20px;left:auto;z-index:100300;display:flex!important;align-items:center;gap:10px;
  height:54px;padding:0 18px 0 8px!important;border-radius:30px!important;cursor:pointer;
  background:#140c1b!important;border:1px solid rgba(255,122,26,.45)!important;color:#f2e9f7!important;font:700 14px/1 'Play',sans-serif!important;
  box-shadow:0 8px 26px rgba(0,0,0,.55),0 0 22px rgba(255,122,26,.2)!important;
  opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .3s,transform .3s,visibility .3s,box-shadow .2s}
.pvrh-torch-btn.pvrh-show,body.pvrh-dark-on .pvrh-torch-btn{opacity:1;visibility:visible;transform:none}
.pvrh-torch-btn img{width:40px;height:40px;filter:drop-shadow(0 0 8px rgba(255,122,26,.8))}
.pvrh-torch-btn:hover{box-shadow:0 10px 30px rgba(0,0,0,.6),0 0 30px rgba(255,122,26,.4)!important}
.pvrh-torch-btn:focus-visible{outline:2px solid var(--pvrh-orange)!important;outline-offset:3px}
.pvrh-torch-btn[aria-pressed="true"]{background:#ff7a1a!important;color:#1a0b05!important;border-color:#ffb347!important}
@media(max-width:768px){
  .pvrh-torch-btn{right:12px;bottom:80px;height:50px;width:50px;padding:0!important;justify-content:center}
  .pvrh-torch-btn span{display:none}
  .pvrh-torch-btn img{width:36px;height:36px}
}
.pvrh-dark{position:fixed;inset:0;z-index:9500;pointer-events:none;opacity:0;transition:opacity .45s;
  background:radial-gradient(circle var(--pvrh-r,170px) at var(--pvrh-x,50%) var(--pvrh-y,45%),
    rgba(0,0,0,0) 0%,rgba(0,0,0,.25) 55%,rgba(2,1,4,.93) 100%)}
body.pvrh-dark-on .pvrh-dark{opacity:1}

/* ───── Анімації ───── */
@keyframes pvrh-bob{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-4px) rotate(4deg)}}
@keyframes pvrh-pulse{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes pvrh-breathe{0%,100%{transform:scale(1.04)}50%{transform:scale(1.09)}}
@keyframes pvrh-drift{from{background-position:0 100%}to{background-position:-900px 100%}}
@keyframes pvrh-drift-r{from{background-position:0 100%}to{background-position:1300px 100%}}
@keyframes pvrh-fog-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:768px){@keyframes pvrh-drift{to{background-position:-620px 100%}}@keyframes pvrh-drift-r{to{background-position:900px 100%}}}
@keyframes pvrh-flap{from{transform:scaleY(1)}to{transform:scaleY(.45)}}
@keyframes pvrh-wobble{0%,82%,100%{transform:rotate(0)}86%{transform:rotate(-12deg)}90%{transform:rotate(10deg)}94%{transform:rotate(-6deg)}}
@keyframes pvrh-pop{0%{transform:scale(1)}40%{transform:scale(1.6) rotate(18deg);opacity:1}100%{transform:scale(0) rotate(-40deg);opacity:0}}
@keyframes pvrh-drop{0%,62%,100%{height:0}70%,86%{height:170px}78%{height:150px}}
@keyframes pvrh-ring-open{0%{transform:scale(.04);opacity:0}25%{opacity:1}100%{transform:scale(1.15);opacity:1}}
@keyframes pvrh-spin{to{rotate:360deg}}
@keyframes pvrh-fade-in{from{opacity:0}to{opacity:1}}
@keyframes pvrh-intro-out{to{opacity:0;visibility:hidden}}

/* Хто вимкнув анімації в системі — отримує спокійний декор без руху */
@media (prefers-reduced-motion:reduce){
  .pvrh-strip::before,.pvrh-strip-pk,.pvrh-poster-img,.pvrh-hint img,.pvrh-fog::before,.pvrh-fog::after,.pvrh-bunny-hat,.pvrh-hunt-pk,.pvrh-modal-box img{animation:none!important}
  .pvrh-spider,.pvrh-bat,.pvrh-intro,.pvrh-crawl{display:none!important}
  .pvrh-webfx,.pvrh-web-spider .lg{animation:none!important}
}
