/* Бесплатные мероприятия Хэллоуина: free_event, free_event_signup, participant_pass */
:root{--dark-900:#06080A;--dark-850:#0C1015;--dark-800:#15191D;--dark-700:#22262C;--dark-600:#373A3E;--grey:#878787;--grey-light:#B5B5B5;--white:#fff;--sky:#4DB2BC;--halloween:#E8833A;--green:#61C38F;--yellow:#D9B567;--red-light:#E27585}
*{box-sizing:border-box}
body{margin:0;background:var(--dark-900);color:var(--white);font-family:Inter,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
h1,h2{font-family:'Dela Gothic One',Impact,sans-serif;font-weight:400;margin:0;text-transform:uppercase}
a{color:var(--sky);text-decoration:none}
a:hover{color:var(--white)}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--sky);outline-offset:3px}

/* ===== общий каркас ===== */
.fe-wrap{width:100%;max-width:560px;margin:0 auto;padding:0 20px}
.fe-head{border-bottom:1px solid var(--dark-700)}
.fe-head .fe-wrap{height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.fe-phone{color:var(--white);font-size:13px;font-weight:600}
.fe-head-note{font-size:13px;color:var(--grey)}
.fe-foot{margin-top:auto;border-top:1px solid var(--dark-700)}
.fe-foot .fe-wrap{padding-top:24px;padding-bottom:32px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.fe-foot a{color:var(--white);font-size:14px;font-weight:600;white-space:nowrap}
.fe-copy{font-size:12px;color:var(--grey)}

/* ===== страница мероприятия ===== */
.fe-cover{position:relative;height:240px;max-width:560px;width:100%;margin:0 auto}
.fe-cover img{width:100%;height:100%;object-fit:cover}
.fe-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,10,.1) 0%,rgba(6,8,10,.9) 100%)}
.fe-badge{position:absolute;z-index:1;top:16px;left:20px;background:var(--green);color:var(--dark-900);padding:6px 12px;border-radius:5px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.fe-intro{margin-top:-48px;position:relative;display:flex;flex-direction:column;gap:16px}
.fe-intro h1{font-size:30px;line-height:1.1}
.fe-chips{display:flex;flex-wrap:wrap;gap:8px}
.fe-chips span{padding:8px 12px;border-radius:5px;border:1px solid var(--dark-600);font-size:13px}
.fe-facts{background:var(--dark-800);border:1px solid var(--dark-700);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:10px}
.fe-facts div{display:flex;justify-content:space-between;gap:16px;font-size:14px}
.fe-facts span{color:var(--grey)}
.fe-facts b{text-align:right}
.fe-text{margin:0;font-size:16px;line-height:1.6;color:var(--grey-light)}
.fe-text p{margin:0 0 10px}
.fe-cta{padding:24px 0;display:flex;flex-direction:column;gap:12px}
.fe-slots{display:flex;justify-content:space-between;font-size:14px}
.fe-slots span{color:var(--grey)}
.fe-slots b{color:var(--halloween)}
.fe-bar{height:6px;background:var(--dark-700);border-radius:3px;overflow:hidden}
.fe-bar i{display:block;height:100%;background:var(--halloween)}
.fe-btn{display:flex;align-items:center;justify-content:center;height:56px;border-radius:10px;border:none;cursor:pointer;background:var(--halloween);color:var(--dark-900);font-family:'Dela Gothic One',Impact,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.fe-btn:hover{color:var(--dark-900);filter:brightness(1.08)}
.fe-soldout{display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:10px;border:2px solid var(--dark-600);color:#E5E5E5;font-size:14px;text-align:center;padding:8px 16px}
.fe-note{margin:0;font-size:13px;line-height:1.5;color:var(--grey);text-align:center}
.fe-steps{padding-bottom:24px;display:flex;flex-direction:column;gap:10px}
.fe-eyebrow{margin:0;font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--sky);text-transform:uppercase}
.fe-step{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--dark-700)}
.fe-step:last-child{border-bottom:none}
.fe-step em{font-family:'Dela Gothic One',Impact,sans-serif;font-style:normal;color:var(--halloween)}
.fe-step span{font-size:15px;line-height:1.4}
.fe-warn{margin-bottom:32px;padding:16px;border:1px solid var(--dark-600);border-radius:10px;display:flex;gap:12px;align-items:flex-start}
.fe-warn svg{flex-shrink:0;margin-top:2px}
.fe-warn span{font-size:14px;line-height:1.5;color:var(--grey-light)}
@media (min-width:768px){
  .fe-cover{height:320px;border-radius:0 0 20px 20px;overflow:hidden}
  .fe-intro h1{font-size:38px}
}

/* ===== регистрация ===== */
.sg-head .fe-wrap{justify-content:flex-start}
.sg-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center}
.sg-head b{font-size:15px;font-weight:600}
.sg-progress{display:flex;gap:6px;padding:16px 0}
.sg-progress i{flex:1;height:4px;border-radius:2px;background:var(--sky);display:block}
.sg-progress i.is-off{background:var(--dark-700)}
.sg-errors{margin:0 0 20px;padding:14px 16px;border:1px solid var(--red-light);border-radius:10px;color:var(--red-light);font-size:14px;line-height:1.5}
.sg-errors p{margin:0}
.sg-block{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.sg-label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--grey)}
.sg-input{height:52px;border-radius:10px;border:1px solid var(--dark-600);background:var(--dark-850);padding:0 16px;font:400 15px Inter,sans-serif;color:var(--white)}
.sg-input::placeholder{color:var(--grey)}
.sg-input:focus{border-color:var(--sky);outline:none}
.sg-rules{background:var(--dark-800);border:1px solid var(--dark-700);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px}
.sg-rules b{font-size:15px}
.sg-rules p{margin:0;font-size:14px;line-height:1.5;color:var(--grey-light)}
.sg-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:#E5E5E5;cursor:pointer;padding:6px 0}
.sg-check input{width:22px;height:22px;margin:0;flex-shrink:0;accent-color:var(--sky)}
.sg-check small{color:var(--grey);font-size:14px}
.sg-video{position:relative;border-radius:20px;overflow:hidden;background:var(--dark-850);border:1px solid var(--dark-700);aspect-ratio:16/10;display:flex;align-items:center;justify-content:center}
.sg-video video{width:100%;height:100%;object-fit:cover;display:block}
.sg-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--dark-850);border:none;cursor:pointer;color:var(--grey-light);font:400 14px Inter,sans-serif}
.sg-play i{width:64px;height:64px;border-radius:50%;background:var(--halloween);display:flex;align-items:center;justify-content:center}
.sg-done{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--dark-850);color:var(--green);font-size:14px}
.sg-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--dark-700)}
.sg-bar i{display:block;height:100%;width:0;background:var(--halloween)}
.sg-hint{margin:0;font-size:13px;color:var(--grey)}
.sg-hint button{background:none;border:none;padding:0;color:var(--sky);font:inherit;cursor:pointer;text-decoration:underline}
.sg-text{background:var(--dark-800);border:1px solid var(--dark-700);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.6;color:var(--grey-light)}
.sg-text[hidden]{display:none}
.sg-text p{margin:0}
.sg-text-ok{align-self:flex-start;height:44px;padding:0 18px;border-radius:10px;border:2px solid var(--sky);background:transparent;color:var(--sky);font:600 14px Inter,sans-serif;cursor:pointer}
.sg-submit{width:100%;height:56px;border-radius:10px;border:none;font-family:'Dela Gothic One',Impact,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase;background:var(--halloween);color:var(--dark-900);cursor:pointer}
.sg-submit[disabled]{background:var(--dark-700);color:var(--grey);cursor:not-allowed}
.sg-foot-note{margin:12px 0 40px;font-size:13px;line-height:1.5;color:var(--grey);text-align:center}
.sg-video video{cursor:pointer}
/* play/pause по центру: на десктопе при наведении, на мобиле — на секунду после касания (класс is-show), на паузе — всегда */
.sg-toggle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;border:none;background:rgba(6,8,10,.6);color:var(--white);display:none;align-items:center;justify-content:center;cursor:pointer;z-index:2;opacity:0;pointer-events:none;transition:opacity .25s}
.sg-toggle svg{width:28px;height:28px}
.sg-toggle .sg-ico-play{display:none}
.sg-video.is-started .sg-toggle{display:flex}
.sg-video.is-show .sg-toggle,.sg-video.is-paused .sg-toggle{opacity:1;pointer-events:auto}
@media (hover:hover){.sg-video.is-started:hover .sg-toggle{opacity:1;pointer-events:auto}}
/* мобила: кнопка не перехватывает касания — они уходят в само видео */
@media (hover:none){.sg-video .sg-toggle,.sg-video.is-show .sg-toggle,.sg-video.is-paused .sg-toggle{pointer-events:none}}
.sg-video.is-paused .sg-toggle{background:var(--halloween);color:var(--dark-900)}
.sg-video.is-paused .sg-toggle .sg-ico-play{display:block}
.sg-video.is-paused .sg-toggle .sg-ico-pause{display:none}
.is-watched .sg-toggle{display:none !important}
.is-watched .sg-play{display:none}
.is-watched .sg-done{display:flex}

/* ===== пропуск участника ===== */
.pz-main{padding-top:24px;padding-bottom:24px;display:flex;flex-direction:column;gap:16px}
.pz-card{background:var(--dark-800);border:1px solid var(--halloween);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center}
.pz-eyebrow{margin:0;font-size:11px;font-weight:600;letter-spacing:.16em;color:var(--grey);text-transform:uppercase}
.pz-code{font-family:'Dela Gothic One',Impact,sans-serif;font-size:56px;line-height:1;color:var(--halloween);letter-spacing:.02em}
.pz-eta{font-size:16px;color:#E5E5E5}
.pz-status{padding:8px 14px;border-radius:5px;background:var(--dark-700);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#E5E5E5}
.pz-status.is-now{background:var(--green);color:var(--dark-900)}
.pz-card p{margin:0;font-size:14px;line-height:1.5;color:var(--grey-light)}
.pz-live{background:var(--dark-850);border:1px solid var(--dark-700);border-radius:20px;padding:18px;display:flex;align-items:center;gap:12px}
.pz-dot{width:10px;height:10px;border-radius:50%;background:var(--green);flex-shrink:0;animation:pz-pulse 2s infinite}
@keyframes pz-pulse{0%,100%{opacity:.45}50%{opacity:1}}
.pz-live b{display:block;font-size:15px}
.pz-live span{font-size:13px;color:var(--grey)}
.pz-rows{background:var(--dark-800);border:1px solid var(--dark-700);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px}
.pz-rows div{display:flex;justify-content:space-between;gap:16px;font-size:14px}
.pz-rows span{color:var(--grey)}
.pz-rows b{text-align:right}
.pz-note{border:1px solid var(--dark-600);border-radius:10px;padding:16px;display:flex;gap:12px;align-items:flex-start}
.pz-note svg{flex-shrink:0}
.pz-note span{font-size:14px;line-height:1.5;color:var(--grey-light)}
.pz-promo{background:linear-gradient(180deg,var(--dark-800) 0%,var(--dark-850) 100%);border:1px solid var(--sky);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px}
.pz-promo h2{font-size:22px;line-height:1.2}
.pz-promo p{margin:0;font-size:15px;line-height:1.5;color:var(--grey-light)}
.pz-code-box{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px dashed var(--sky);border-radius:10px}
.pz-code-box span{font-size:13px;color:var(--grey)}
.pz-code-box b{font-family:'Dela Gothic One',Impact,sans-serif;font-weight:400;font-size:18px;letter-spacing:.08em;color:var(--sky)}
.pz-btn{display:flex;align-items:center;justify-content:center;height:52px;border-radius:10px;background:var(--sky);color:var(--dark-900);font-family:'Dela Gothic One',Impact,sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.pz-btn:hover{color:var(--dark-900);filter:brightness(1.08)}
@media (prefers-reduced-motion:reduce){.pz-dot{animation:none}}

/* QR на пропуске (Gamer) */
.pz-qr{background:#fff;border-radius:10px;padding:10px;line-height:0}
.pz-qr svg{display:block;width:180px;height:180px}
.pz-status.is-done{background:var(--green);color:var(--dark-900)}

/* ===== desktop (free-event-web / free-event-signup-web / participant-pass-web) — мобильная версия выше не меняется ===== */
@media (min-width:1024px){
  .fe-wrap{max-width:1180px;padding:0 40px}
  .fe-head .fe-wrap{height:88px}

  /* карточка мероприятия */
  .fe-cover{max-width:none;height:460px;border-radius:0}
  .fe-badge{top:32px;left:max(40px, calc((100% - 1100px)/2))}
  main.fe-event{display:grid;grid-template-columns:1fr 400px;gap:56px;align-items:start}
  .fe-event .fe-intro{grid-column:1;margin-top:-96px}
  .fe-event .fe-intro h1{font-size:52px}
  .fe-event .fe-cta{grid-column:2;grid-row:1 / span 3;position:sticky;top:24px;background:var(--dark-800);border:1px solid var(--dark-700);border-radius:20px;padding:28px;margin-top:-96px}
  .fe-event .fe-steps{grid-column:1;display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .fe-event .fe-steps .fe-eyebrow{grid-column:span 2}
  .fe-event .fe-step{border-bottom:none;background:var(--dark-800);border:1px solid var(--dark-700);border-radius:20px;padding:18px}
  .fe-event .fe-warn{grid-column:1}

  /* форма регистрации */
  .sg-main{max-width:1100px}
  .sg-main form#sg-form{display:grid;grid-template-columns:1fr 420px;gap:0 48px;align-items:start}
  .sg-main form#sg-form > section:nth-of-type(1),
  .sg-main form#sg-form > section:nth-of-type(2){grid-column:1}
  .sg-main form#sg-form > section:nth-of-type(3){grid-column:2;grid-row:1 / span 2;position:sticky;top:24px;background:var(--dark-800);border:1px solid var(--dark-700);border-radius:20px;padding:24px}
  .sg-main #sg-submit{grid-column:2;width:100%}
  .sg-main #sg-note{grid-column:2;text-align:center}

  /* пропуск участника */
  main.pz-main{max-width:1100px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;padding-top:40px;padding-bottom:64px}
  .pz-main .pz-card{grid-row:span 4;padding:40px}
  .pz-main .pz-code{font-size:72px}
  .pz-main > :not(.pz-card){grid-column:2}

  .fe-foot .fe-wrap{padding-top:40px;padding-bottom:40px}
}

/* ошибки полей телефона / e-mail в регистрации */
.sg-field-err{font-size:13px;color:var(--red-light)}
.sg-input.is-invalid{border-color:var(--red-light)}

/* обложка мероприятия: картинка целиком, без растягивания и обрезки (contain),
   по бокам — размытая затемнённая копия той же картинки (var(--cover) из шаблона) */
.fe-cover{overflow:hidden;background:var(--dark-900)}
.fe-cover::before{content:"";position:absolute;inset:-24px;background:var(--cover) center/cover no-repeat;filter:blur(24px) brightness(.45)}
.fe-cover img{position:relative;object-fit:contain}
@media (min-width:1024px){
  /* меньше вертикальных отступов между блоками карточки */
  main.fe-event{row-gap:24px}
  .fe-event .fe-steps{padding-bottom:0}
}
