/* ============================================================
   SCARY PLACE — стиль страниц квестов
   Тёмная кинематографичная тема «досье» с фирменным красным.
   ============================================================ */

:root{
  --ink:#08080a;
  --panel:#101013;
  --panel-2:#16161a;
  --blood:#e10600;
  --blood-deep:#8a0000;
  --bone:#efeaea;
  --text:#c7c1c4;
  --muted:#857f85;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);
  --display:'Oswald','Bebas Neue',Impact,system-ui,sans-serif;
  --body:'Manrope','Inter','Helvetica Neue',Arial,sans-serif;
  --maxw:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* subtle film grain over the whole page */
body::after{
  content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{
  font-family:var(--display);font-weight:500;letter-spacing:.32em;
  text-transform:uppercase;font-size:13px;color:var(--blood);
  display:inline-flex;align-items:center;gap:12px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--blood)}

/* ---------- header ---------- */
.site-head{
  position:sticky;top:0;z-index:100;
  background:rgba(8,8,10,.72);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:24px}
.brand{font-family:var(--display);font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;font-size:20px;color:var(--bone);white-space:nowrap}
.brand b{color:var(--blood)}
.nav{display:flex;gap:28px;align-items:center}
.nav a{font-size:14px;letter-spacing:.04em;color:var(--text);transition:color .18s}
.nav a:hover{color:var(--bone)}
.head-phone{font-family:var(--display);letter-spacing:.06em;font-size:18px;color:var(--bone);white-space:nowrap}
.burger{display:none;background:none;border:0;color:var(--bone);font-size:26px;cursor:pointer;line-height:1}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--display);font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  font-size:14px;padding:15px 32px;border-radius:9px;border:1px solid transparent;
  cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,background .2s,color .2s,border-color .2s;
}
.btn--blood{
  background:linear-gradient(135deg,#b50000 0%,#e2120a 55%,#8f0000 100%);
  color:#fff;box-shadow:0 10px 24px rgba(180,10,5,.28);
}
.btn--blood:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 14px 32px rgba(180,10,5,.4)}
.btn--ghost{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.14);color:var(--bone);
  font-weight:500;backdrop-filter:blur(2px);}
.btn--ghost:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.3);transform:translateY(-1px)}
.btn--lg{padding:18px 46px;font-size:15.5px}

/* ---------- hero ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;
  border-bottom:1px solid var(--line)}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.hero__bg::after{content:"";position:absolute;inset:0;
  background:
    radial-gradient(110% 80% at 75% 30%,rgba(150,0,0,.22),transparent 60%),
    linear-gradient(90deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.6) 42%,rgba(8,8,10,.25) 75%),
    linear-gradient(0deg,var(--ink) 4%,rgba(8,8,10,.2) 45%,rgba(8,8,10,.55) 100%);
  box-shadow:inset 0 0 240px 50px rgba(0,0,0,.85);}
.hero__inner{position:relative;z-index:2;padding:0 24px 72px;max-width:var(--maxw);
  margin:0 auto;width:100%}
.hero h1{
  font-family:var(--display);font-weight:700;color:var(--bone);
  text-transform:uppercase;letter-spacing:.01em;line-height:.96;
  font-size:clamp(48px,8.5vw,108px);margin:18px 0 0;
  text-shadow:0 4px 30px rgba(0,0,0,.7),0 0 50px rgba(225,6,0,.18);}
.hero .tagline{max-width:560px;margin:22px 0 30px;font-size:clamp(17px,2.2vw,21px);
  color:#d8d2d4;text-shadow:0 1px 12px rgba(0,0,0,.8)}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.hero .red-rule{width:64px;height:3px;background:var(--blood);margin-top:4px;
  box-shadow:0 0 18px rgba(225,6,0,.6)}

/* ---------- facts (case file) ---------- */
.facts{background:var(--panel);border-bottom:1px solid var(--line)}
.facts .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.fact{padding:30px 22px;border-right:1px solid var(--line)}
.fact:last-child{border-right:0}
.fact .k{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;
  font-size:11px;color:var(--muted)}
.fact .v{font-family:var(--display);font-weight:600;font-size:26px;color:var(--bone);margin-top:6px;letter-spacing:.02em}
.fact .v small{display:block;font-size:12px;letter-spacing:.12em;color:var(--blood);font-weight:500;margin-top:2px}

/* ---------- body sections ---------- */
.section{padding:84px 0}
.lede{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.lede h2{font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:.04em;font-size:clamp(28px,4vw,42px);color:var(--bone);
  margin:14px 0 22px;line-height:1.05}
.lede p{margin:0 0 18px;color:var(--text)}
.lede p:first-of-type::first-letter{color:var(--blood);font-family:var(--display);
  font-size:3.1em;line-height:.8;float:left;margin:6px 12px 0 0;font-weight:700}
.aside-img{border:1px solid var(--line);position:relative}
.aside-img img{filter:grayscale(.15) contrast(1.05)}
.aside-img figcaption{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;
  font-size:11px;color:var(--muted);padding:12px 14px;border-top:1px solid var(--line);
  background:var(--panel)}

.checklist{list-style:none;margin:28px 0 0;padding:0;display:grid;
  grid-template-columns:1fr 1fr;gap:14px 28px}
.checklist li{position:relative;padding-left:30px;color:var(--text);font-size:16px;line-height:1.5}
.checklist li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;
  background:var(--blood);transform:rotate(45deg);box-shadow:0 0 10px rgba(225,6,0,.6)}
.feat-h{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;
  font-size:16px;color:var(--bone);margin:34px 0 4px}
.lede-note{margin-top:26px!important;padding-top:18px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--muted)!important}

/* warning strip */
.warn{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--panel-2);padding:22px 0}
.warn .wrap{display:flex;gap:16px;align-items:center;flex-wrap:wrap;
  font-size:14px;letter-spacing:.02em;color:var(--muted)}
.warn b{color:var(--blood);font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:13px}

/* ---------- booking CTA ---------- */
.book{position:relative;padding:96px 0;text-align:center;border-top:1px solid var(--line);
  background:radial-gradient(80% 120% at 50% 0%,rgba(138,0,0,.28),transparent 60%),var(--ink)}
.book h2{font-family:var(--display);font-weight:700;text-transform:uppercase;
  letter-spacing:.03em;font-size:clamp(34px,6vw,68px);color:var(--bone);margin:14px 0 10px;line-height:1}
.book p{max-width:540px;margin:0 auto 34px;color:var(--text)}
.book .meta{margin-top:26px;font-family:var(--display);letter-spacing:.08em;color:var(--muted);font-size:15px}
.book .meta a{color:var(--bone)}

/* ---------- footer ---------- */
.site-foot{background:#060608;border-top:1px solid var(--line);padding:54px 0 34px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.site-foot .brand{font-size:24px;margin-bottom:14px;display:block}
.site-foot p{color:var(--muted);font-size:14px;margin:6px 0}
.foot-col h4{font-family:var(--display);letter-spacing:.18em;text-transform:uppercase;
  font-size:12px;color:var(--muted);margin:0 0 14px}
.foot-col a{display:block;color:var(--text);font-size:15px;margin:8px 0;transition:color .18s}
.foot-col a:hover{color:var(--blood)}
.foot-phone{font-family:var(--display);font-size:20px;color:var(--bone);letter-spacing:.04em}
.copy{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);
  color:var(--muted);font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .nav{display:none}
  .burger{display:block}
  .facts .wrap{grid-template-columns:repeat(2,1fr)}
  .fact{border-bottom:1px solid var(--line)}
  .fact:nth-child(odd){border-right:1px solid var(--line)}
  .fact:nth-child(even){border-right:0}
  .lede{grid-template-columns:1fr;gap:34px}
  .checklist{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:30px}
}
@media (max-width:560px){
  .facts .wrap{grid-template-columns:1fr}
  .fact{border-right:0!important}
  .head-phone{display:none}
  .hero__inner{padding-bottom:54px}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

/* ---------- features (full list) ---------- */
.section--tight{padding-top:0}

/* ---------- modes (contact levels) ---------- */
.modes-note{color:var(--muted);font-size:15px;max-width:700px;margin:14px 0 34px}
.modes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mode-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;
  padding:26px 24px;transition:border-color .2s,transform .2s}
.mode-card:hover{border-color:rgba(225,6,0,.4);transform:translateY(-3px)}
.mode-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.mode-card__top h3{font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:.03em;font-size:19px;color:var(--bone);margin:0}
.mode-age{font-family:var(--display);letter-spacing:.06em;font-size:12px;color:#fff;
  background:var(--blood-deep);padding:5px 11px;border-radius:20px;white-space:nowrap}
.mode-card p{margin:0;color:var(--text);font-size:14.5px;line-height:1.55}

/* ---------- pricing ---------- */
.pricing-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:8px 32px;max-width:640px;margin:0 auto}
.pricing-row{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:20px 0;border-bottom:1px solid var(--line)}
.pricing-row:last-child{border-bottom:0}
.pricing-row__k{font-family:var(--display);letter-spacing:.03em;font-size:15px;color:var(--text)}
.pricing-row__v{font-family:var(--display);font-weight:600;font-size:20px;color:var(--bone);text-align:right}
.pricing-row--accent .pricing-row__v{color:var(--blood)}
.pricing-note{text-align:center;color:var(--muted);font-size:13px;margin:16px auto 0;
  max-width:640px;line-height:1.5}
@media (max-width:900px){.modes-grid{grid-template-columns:1fr}}

/* ============================================================
   КАТАЛОГ КВЕСТОВ (витрина-агрегатор)
   ============================================================ */
.catalog-hero{padding:64px 0 28px;border-bottom:1px solid var(--line);
  background:radial-gradient(70% 120% at 50% -10%,rgba(138,0,0,.22),transparent 60%)}
.catalog-hero h1{font-family:var(--display);font-weight:700;text-transform:uppercase;
  letter-spacing:.02em;font-size:clamp(40px,7vw,84px);color:var(--bone);margin:14px 0 12px;line-height:.98}
.catalog-hero p{max-width:560px;color:var(--text);font-size:18px;margin:0}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.filter{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:14px;
  padding:11px 24px;border:1px solid var(--line-strong);border-radius:40px;color:var(--text);
  background:transparent;cursor:pointer;transition:all .18s}
.filter:hover{border-color:var(--blood);color:#fff}
.filter.active{background:var(--blood);border-color:var(--blood);color:#fff;
  box-shadow:0 6px 22px rgba(225,6,0,.35)}

.qgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;padding:54px 0 90px}
.qcard{position:relative;display:flex;flex-direction:column;background:var(--panel);
  border:1px solid var(--line);border-radius:8px;overflow:hidden;text-decoration:none;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.qcard:hover{transform:translateY(-6px);border-color:rgba(225,6,0,.5);
  box-shadow:0 22px 50px rgba(0,0,0,.55)}
.qcard__img{position:relative;aspect-ratio:16/11;overflow:hidden}
.qcard__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1) contrast(1.04);
  transition:transform .5s ease}
.qcard:hover .qcard__img img{transform:scale(1.06)}
.qcard__img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,var(--panel) 2%,rgba(16,16,19,.1) 45%,transparent)}
.qcard__city{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--display);
  letter-spacing:.14em;text-transform:uppercase;font-size:11px;color:#fff;
  background:rgba(8,8,10,.7);border:1px solid var(--line-strong);padding:6px 12px;border-radius:30px}
.qcard__fear{position:absolute;top:14px;right:14px;z-index:2;font-family:var(--display);
  letter-spacing:.06em;font-size:12px;color:#fff;background:rgba(138,0,0,.85);
  padding:6px 11px;border-radius:30px}
.qcard__body{padding:22px 22px 26px;display:flex;flex-direction:column;flex:1}
.qcard__title{font-family:var(--display);font-weight:600;text-transform:uppercase;
  letter-spacing:.02em;font-size:26px;color:var(--bone);line-height:1.02;margin:0 0 8px}
.qcard__tag{color:var(--muted);font-size:15px;line-height:1.45;margin:0 0 18px;flex:1}
.qcard__meta{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--display);
  letter-spacing:.06em;font-size:13px;color:var(--text);padding-top:16px;border-top:1px solid var(--line)}
.qcard__meta span b{color:var(--bone);font-weight:600}
.qcard__more{margin-top:18px;font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;
  font-size:14px;color:var(--blood);display:inline-flex;align-items:center;gap:8px}
.qcard:hover .qcard__more{gap:14px}
.qcard.is-hidden{display:none}
.qcard__slots{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.qcard__slots-label{font-family:var(--display);letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;color:var(--muted);width:100%;margin-bottom:2px}
.qslot{position:relative;z-index:3;font-family:var(--display);letter-spacing:.03em;font-size:13px;
  color:var(--bone);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:5px;
  padding:7px 12px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.qslot:hover{background:var(--blood);border-color:var(--blood);color:#fff}

/* booking embed container on detail pages */
.booking-embed{max-width:900px;margin:0 auto;min-height:120px;border:1px solid var(--line-strong);
  border-radius:10px;background:var(--panel);overflow:hidden;position:relative;
  box-shadow:0 22px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(225,6,0,.06);}
.booking-embed::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,var(--blood) 50%,transparent);opacity:.75;}
.booking-embed iframe{width:100%;border:0;display:block;position:relative;z-index:1;background:var(--panel)}
.booking-embed{padding:32px 34px}
.embed-hint{color:var(--muted);font-size:15px;margin:0;line-height:1.5;padding:48px 26px;text-align:center}

@media (max-width:900px){.qgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.qgrid{grid-template-columns:1fr}}

.pdn-mini{max-width:620px;margin:18px auto 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.pdn-mini a{color:#cfc8ca;text-decoration:underline;text-underline-offset:2px}
.pdn-mini a:hover{color:var(--blood)}

/* ---------- native schedule (built-in slots, no iframe) ---------- */
.sp-sched{max-width:900px;margin:0 auto;text-align:left}
.sp-sched__day{padding:22px 0;border-top:1px solid var(--line)}
.sp-sched__day:first-child{border-top:0;padding-top:6px}
.sp-sched__date{font-family:var(--display);letter-spacing:.05em;text-transform:uppercase;
  font-size:14px;color:var(--bone);margin-bottom:14px;display:flex;align-items:baseline;gap:8px}
.sp-sched__date b{color:var(--blood);font-weight:700}
.sp-sched__slots{display:flex;flex-wrap:wrap;gap:12px 14px}
.sp-slot{font-family:var(--display);text-align:center;border-radius:8px;cursor:pointer;
  background:rgba(255,255,255,.02);border:1px solid var(--line-strong);
  padding:10px 16px 8px;min-width:74px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s}
.sp-slot__time{display:block;font-size:15px;font-weight:600;letter-spacing:.02em;color:var(--bone)}
.sp-slot__price{display:block;font-size:11px;color:var(--muted);margin-top:3px;letter-spacing:.02em}
.sp-slot:hover{transform:translateY(-3px)}
.sp-slot--t1{border-color:rgba(225,6,0,.22)}
.sp-slot--t1:hover{border-color:rgba(225,6,0,.5);box-shadow:0 0 18px rgba(225,6,0,.25)}
.sp-slot--t2{border-color:rgba(225,6,0,.45)}
.sp-slot--t2:hover{border-color:var(--blood);box-shadow:0 0 22px rgba(225,6,0,.4)}
.sp-slot--t3{border-color:var(--blood);background:rgba(225,6,0,.06)}
.sp-slot--t3:hover{box-shadow:0 0 28px rgba(225,6,0,.55)}
.sp-slot--t3 .sp-slot__time{color:#fff}
.sp-sched__legend{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:24px;font-size:12.5px;color:var(--muted)}
.sp-sched__legend span{display:inline-flex;align-items:center;gap:7px}
.sp-sched__legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
.sp-sched__note{font-size:12px;color:var(--muted);margin-top:18px;text-align:center}

/* ===== Расписание в фирменном стиле (страница квеста) ===== */
.sp-schedule{max-width:760px;margin:0 auto 22px;text-align:left}
.sp-sch-day{margin:0 0 18px}
.sp-sch-date{display:block;font-family:'Oswald',sans-serif;letter-spacing:.12em;text-transform:uppercase;
  font-size:13px;color:#e10600;margin:0 0 10px}
.sp-slot{display:inline-block;font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:.05em;color:#efeaea;
  background:#141418;border:1px solid rgba(255,255,255,.16);border-radius:7px;padding:10px 16px;margin:0 10px 10px 0;
  cursor:pointer;text-align:center;transition:all .15s;text-decoration:none}
.sp-slot small{display:block;font-size:11px;color:#9a9aa0;letter-spacing:.02em;margin-top:2px}
.sp-slot:hover{background:linear-gradient(135deg,#8a0000,#e10600);border-color:#e10600;color:#fff;
  box-shadow:0 6px 22px rgba(225,6,0,.35)}
.sp-slot:hover small{color:#ffd9d7}
.sp-sch-loading,.sp-sch-note{color:#857f85;font-size:14px;text-align:center;margin:8px 0 14px}
.sp-sch-more{display:inline-block;font-family:'Oswald',sans-serif;letter-spacing:.12em;text-transform:uppercase;
  font-size:12px;color:#cfc4c6;border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:9px 20px;
  cursor:pointer;background:transparent;transition:all .15s;margin-top:4px}
.sp-sch-more:hover{color:#fff;border-color:#e10600}
#booking-embed.sp-hidden{display:none}

/* ===== Модалка заявки на бронь ===== */
#sp-modal{position:fixed;inset:0;z-index:1000;display:none}
#sp-modal.open{display:block}
.sp-modal__backdrop{position:absolute;inset:0;background:rgba(4,4,6,.8);backdrop-filter:blur(4px)}
.sp-modal__card{position:relative;max-width:440px;margin:9vh auto 0;background:#101013;
  border:1px solid rgba(255,255,255,.12);border-top:3px solid #e10600;border-radius:10px;
  padding:30px 28px 26px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.sp-modal__close{position:absolute;top:10px;right:14px;background:none;border:0;color:#857f85;
  font-size:26px;cursor:pointer;line-height:1}
.sp-modal__close:hover{color:#fff}
.sp-modal__eyebrow{font-family:'Oswald',sans-serif;letter-spacing:.26em;text-transform:uppercase;
  font-size:11px;color:#e10600;margin-bottom:8px}
.sp-modal__title{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.02em;color:#efeaea;font-size:24px;margin:0 0 6px;line-height:1.1}
.sp-modal__slot{font-family:'Oswald',sans-serif;color:#e10600;font-size:16px;letter-spacing:.06em;margin-bottom:18px}
#sp-m-form input[type=text],#sp-m-form input[type=tel]{display:block;width:100%;box-sizing:border-box;
  background:#0a0a0d;border:1px solid rgba(255,255,255,.16);border-radius:6px;color:#efeaea;
  font-family:'Manrope',sans-serif;font-size:16px;padding:13px 14px;margin:0 0 12px;outline:none}
#sp-m-form input:focus{border-color:#e10600}
.sp-modal__submit{display:block;width:100%;font-family:'Oswald',sans-serif;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;font-size:15px;padding:15px;border:0;border-radius:6px;
  color:#fff;background:linear-gradient(135deg,#8a0000,#e10600 55%,#ff2b22);cursor:pointer;
  box-shadow:0 8px 26px rgba(225,6,0,.35);transition:filter .15s}
.sp-modal__submit:hover{filter:brightness(1.08)}
.sp-modal__submit:disabled{opacity:.6;cursor:default}
.sp-modal__note{margin-top:12px;font-size:12px;color:#857f85;line-height:1.5}
.sp-modal__note a{color:#cfc4c6}
.sp-modal__done{text-align:center;padding:18px 0 6px}
.sp-modal__done-title{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;
  color:#efeaea;font-size:22px;margin-bottom:8px}
.sp-modal__done p{color:#c7c1c4;margin:0}
.sp-sch-pay{margin-top:14px;font-size:13px;color:#857f85;text-align:center}
.sp-sch-pay a{color:#cfc4c6;text-decoration:underline;text-underline-offset:2px}
.sp-sch-pay a:hover{color:#e10600}
@media(max-width:520px){.sp-modal__card{margin:6vh 14px 0}}

/* ===== Скин виджета бронирования v4 (Мир Квестов) под стиль Scary Place =====
   Виджет рендерится прямо в страницу, поэтому его можно перекрасить.
   Классов внутри мы не знаем заранее — перекрываем по элементам с запасом. */
#booking-embed{border:0;background:transparent;padding:0}
.mir-kvestov-booking-widget{font-family:'Manrope','Inter',Arial,sans-serif !important;color:#c7c1c4}
.mir-kvestov-booking-widget *{font-family:inherit !important}
.mir-kvestov-booking-widget h1,.mir-kvestov-booking-widget h2,.mir-kvestov-booking-widget h3,
.mir-kvestov-booking-widget h4,.mir-kvestov-booking-widget b,.mir-kvestov-booking-widget strong{
  font-family:'Oswald',sans-serif !important;color:#efeaea !important;letter-spacing:.03em}
.mir-kvestov-booking-widget a{color:#e10600}
.mir-kvestov-booking-widget button,
.mir-kvestov-booking-widget [role=button],
.mir-kvestov-booking-widget input[type=submit]{
  font-family:'Oswald',sans-serif !important;letter-spacing:.08em;border-radius:6px !important;
  border:1px solid rgba(255,255,255,.16) !important;background:#141418 !important;color:#efeaea !important;
  transition:all .15s !important;cursor:pointer}
.mir-kvestov-booking-widget button:hover,
.mir-kvestov-booking-widget [role=button]:hover{
  background:linear-gradient(135deg,#8a0000,#e10600) !important;border-color:#e10600 !important;color:#fff !important}
.mir-kvestov-booking-widget input[type=text],
.mir-kvestov-booking-widget input[type=tel],
.mir-kvestov-booking-widget input[type=email],
.mir-kvestov-booking-widget select,
.mir-kvestov-booking-widget textarea{
  background:#0a0a0d !important;border:1px solid rgba(255,255,255,.16) !important;border-radius:6px !important;
  color:#efeaea !important;padding:12px 14px !important;outline:none !important}
.mir-kvestov-booking-widget input:focus,
.mir-kvestov-booking-widget select:focus{border-color:#e10600 !important}
.mir-kvestov-booking-widget table{border-color:rgba(255,255,255,.1) !important}
.mir-kvestov-booking-widget hr{border-color:rgba(255,255,255,.1) !important}
/* фоновые контейнеры виджета — в тон сайта */
.mir-kvestov-booking-widget div{border-color:rgba(255,255,255,.1)}

/* ===== Скин v4, проход 2: убираем «радугу» ===== */
/* все рамки внутри виджета — нейтральные; свободные слоты отличимы ценой и яркостью текста */
.mir-kvestov-booking-widget *{border-color:rgba(255,255,255,.15) !important;box-shadow:none !important;outline-color:#e10600 !important}
/* элементы с инлайновым цветным фоном (легенда цен и т.п.) — в тёмные чипы */
.mir-kvestov-booking-widget [style*="background"]{background:#17171c !important;color:#cfc8ca !important}
.mir-kvestov-booking-widget [style*="border"]{border-color:rgba(255,255,255,.18) !important}
/* цветной текст (дни недели, цены) — в фирменные тона */
.mir-kvestov-booking-widget [style*="color"]{color:#d8d2d4 !important}
/* ховер на любом кликабельном — красный акцент */
.mir-kvestov-booking-widget a:hover,
.mir-kvestov-booking-widget label:hover,
.mir-kvestov-booking-widget [class*="slot"]:hover,
.mir-kvestov-booking-widget [class*="time"]:hover{
  border-color:#e10600 !important;color:#fff !important;
  background:linear-gradient(135deg,#8a0000,#e10600) !important}

/* ===== Скин v4, проход 3: фирменные слоты Scary Place ===== */
/* дни недели («Сб,» — жирные) — как красные заголовки моего расписания */
.mir-kvestov-booking-widget b,.mir-kvestov-booking-widget strong{
  font-family:'Oswald',sans-serif !important;text-transform:uppercase;
  letter-spacing:.12em;color:#e10600 !important;font-size:14px}
/* чипы времени — один в один мои .sp-slot */
.mir-kvestov-booking-widget button,
.mir-kvestov-booking-widget [role=button],
.mir-kvestov-booking-widget [class*="slot"],
.mir-kvestov-booking-widget [class*="time"],
.mir-kvestov-booking-widget [class*="cell"] label{
  font-family:'Oswald',sans-serif !important;font-size:16px !important;letter-spacing:.05em;
  color:#efeaea !important;background:#141418 !important;
  border:1px solid rgba(255,255,255,.16) !important;border-radius:7px !important;
  transition:all .15s ease !important}
/* цена в чипе — мелкая серая строка */
.mir-kvestov-booking-widget small,
.mir-kvestov-booking-widget [class*="price"]{
  font-family:'Oswald',sans-serif !important;font-size:11px !important;
  color:#9a9aa0 !important;letter-spacing:.02em;background:transparent !important;border:0 !important}
/* занятые/прошедшие — приглушить */
.mir-kvestov-booking-widget [disabled],
.mir-kvestov-booking-widget [class*="disabled"],
.mir-kvestov-booking-widget [class*="busy"],
.mir-kvestov-booking-widget [class*="past"]{
  opacity:.32 !important;filter:grayscale(1);cursor:default !important}
/* ховер свободного слота — красный градиент + свечение (круче, чем было) */
.mir-kvestov-booking-widget button:not([disabled]):hover,
.mir-kvestov-booking-widget [role=button]:hover,
.mir-kvestov-booking-widget [class*="slot"]:not([class*="disabled"]):hover,
.mir-kvestov-booking-widget [class*="time"]:not([class*="disabled"]):hover{
  background:linear-gradient(135deg,#8a0000,#e10600 55%,#ff2b22) !important;
  border-color:#e10600 !important;color:#fff !important;
  box-shadow:0 6px 22px rgba(225,6,0,.45),0 0 30px rgba(225,6,0,.25) !important;
  transform:translateY(-1px)}
.mir-kvestov-booking-widget button:not([disabled]):hover small,
.mir-kvestov-booking-widget [class*="slot"]:hover small{color:#ffd9d7 !important}

/* ===== Скин v4, проход 4: форма заказа ===== */
.mir-kvestov-booking-widget{max-width:760px;margin:0 auto}
/* УБРАТЬ красную заливку с полей/подписей и обычных кнопок */
.mir-kvestov-booking-widget label:hover{background:transparent !important;border-color:rgba(255,255,255,.16) !important;color:inherit !important;box-shadow:none !important;transform:none !important}
.mir-kvestov-booking-widget button:not([type=submit]):hover,
.mir-kvestov-booking-widget [role=button]:hover{background:#1a1a1f !important;border-color:#e10600 !important;color:#fff !important;box-shadow:none !important;transform:none !important}
/* главная кнопка «Забронировать» — фирменная, всегда красная */
.mir-kvestov-booking-widget [type=submit],
.mir-kvestov-booking-widget button[class*="submit"],
.mir-kvestov-booking-widget button[class*="book"]{
  background:linear-gradient(135deg,#8a0000,#e10600 55%,#ff2b22) !important;border:0 !important;
  color:#fff !important;text-transform:uppercase;letter-spacing:.12em;padding:15px 34px !important;
  box-shadow:0 8px 26px rgba(225,6,0,.35) !important}
.mir-kvestov-booking-widget [type=submit]:hover{filter:brightness(1.1);transform:none !important}
/* подписи полей — аккуратные капсом */
.mir-kvestov-booking-widget label{font-family:'Oswald',sans-serif !important;font-size:12px !important;
  letter-spacing:.1em;text-transform:uppercase;color:#9a949a !important;background:transparent !important;border:0 !important}
/* поля и комментарий */
.mir-kvestov-booking-widget input,.mir-kvestov-booking-widget textarea{border-radius:7px !important}
.mir-kvestov-booking-widget input:focus,.mir-kvestov-booking-widget textarea:focus{
  border-color:#e10600 !important;box-shadow:0 0 0 2px rgba(225,6,0,.22) !important}
/* заголовок «Забронировать квест “…”» — имя квеста тем же размером */
.mir-kvestov-booking-widget h1 b,.mir-kvestov-booking-widget h2 b,.mir-kvestov-booking-widget h3 b,
.mir-kvestov-booking-widget h1 strong,.mir-kvestov-booking-widget h2 strong,.mir-kvestov-booking-widget h3 strong{
  font-size:inherit !important;letter-spacing:inherit !important;color:#e10600 !important}

/* ===== Скин v4, проход 5: никакого красного в форме, тёмные контролы ===== */
.mir-kvestov-booking-widget button:not([disabled]):hover,
.mir-kvestov-booking-widget [role=button]:hover,
.mir-kvestov-booking-widget [class*="slot"]:hover,
.mir-kvestov-booking-widget [class*="slot"]:not([class*="disabled"]):hover,
.mir-kvestov-booking-widget [class*="time"]:hover,
.mir-kvestov-booking-widget [class*="time"]:not([class*="disabled"]):hover,
.mir-kvestov-booking-widget label:hover,
.mir-kvestov-booking-widget div:hover{
  background:transparent !important;color:inherit !important;
  border-color:rgba(255,255,255,.18) !important;box-shadow:none !important;transform:none !important}
/* поля/кнопки сохраняют свой тёмный фон */
.mir-kvestov-booking-widget input:hover,.mir-kvestov-booking-widget textarea:hover,
.mir-kvestov-booking-widget select:hover,.mir-kvestov-booking-widget button:hover{background:#141418 !important}
/* единственное красное — кнопка «Забронировать» */
.mir-kvestov-booking-widget [type=submit],
.mir-kvestov-booking-widget [type=submit]:hover{
  background:linear-gradient(135deg,#8a0000,#e10600 55%,#ff2b22) !important;color:#fff !important;border:0 !important}
/* селект тарифа: тёмный, своя стрелка вместо белой */
.mir-kvestov-booking-widget select{
  -webkit-appearance:none;appearance:none;background:#0a0a0d !important;color:#efeaea !important;
  border:1px solid rgba(255,255,255,.16) !important;border-radius:7px !important;padding:12px 40px 12px 14px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23e10600' stroke-width='2' fill='none'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 14px center !important}
/* textarea: без белого уголка и со тёмным скроллом */
.mir-kvestov-booking-widget textarea{resize:none !important;scrollbar-width:thin;scrollbar-color:#3a3a40 #0a0a0d}
.mir-kvestov-booking-widget textarea::-webkit-scrollbar{width:8px;background:#0a0a0d}
.mir-kvestov-booking-widget textarea::-webkit-scrollbar-thumb{background:#3a3a40;border-radius:4px}
/* дыхание между полями */
.mir-kvestov-booking-widget input,.mir-kvestov-booking-widget select,.mir-kvestov-booking-widget textarea{margin-bottom:10px !important}

/* ===== Фирменная модалка брони (по макету Design) ===== */
#spbm{position:fixed;inset:0;z-index:1200;display:none;font-family:'Manrope',sans-serif}
#spbm.open{display:block}
.spbm__bg{position:absolute;inset:0;background:rgba(4,4,6,.82);backdrop-filter:blur(5px)}
.spbm__card{position:relative;max-width:760px;margin:7vh auto 0;border-radius:12px;overflow:hidden;
  border:1px solid rgba(255,255,255,.09);box-shadow:0 30px 80px rgba(0,0,0,.55);background:#101013}
.spbm__x{position:absolute;top:12px;right:14px;z-index:3;background:none;border:0;color:#857f85;font-size:26px;line-height:1;cursor:pointer}
.spbm__x:hover{color:#fff}
.spbm__grid{display:grid;grid-template-columns:230px 1fr}
.spbm__side{position:relative;background:#16161a center/cover no-repeat;min-height:100%}
.spbm__side-in{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 18px;box-sizing:border-box}
.spbm__eyebrow{font-family:'Oswald',sans-serif;letter-spacing:.2em;text-transform:uppercase;font-size:10px;color:#e10600;margin-bottom:8px}
.spbm__quest{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;color:#efeaea;font-size:22px;line-height:1.05;margin-bottom:16px}
.spbm__fact{margin-bottom:10px}
.spbm__fk{font-family:'Oswald',sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#857f85}
.spbm__fv{font-family:'Oswald',sans-serif;font-size:15px;color:#efeaea}
.spbm__main{padding:32px 34px}
.spbm__title{font-family:'Oswald',sans-serif;font-weight:700;text-transform:uppercase;color:#efeaea;font-size:24px;margin:0 0 4px}
.spbm__price{margin:0 0 22px;color:#857f85;font-size:14px}
.spbm__price b{color:#efeaea;font-weight:600}
.spbm__row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.spbm__label{display:block;font-family:'Oswald',sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#9a949a;margin-bottom:8px}
.spbm__label span{color:#e10600}
.spbm__input{display:block;width:100%;box-sizing:border-box;background:#0a0a0d;border:1px solid rgba(255,255,255,.16);
  border-radius:7px;color:#efeaea;font-family:'Manrope',sans-serif;font-size:15px;padding:13px 14px;outline:none;
  transition:border-color .15s,box-shadow .15s}
.spbm__input:focus{border-color:#e10600;box-shadow:0 0 0 3px rgba(225,6,0,.18)}
.spbm__input::placeholder{color:#5c5960}
.spbm__ta{resize:none;margin-bottom:22px}
.spbm__tariff-wrap{margin-bottom:14px}
.spbm__tariffs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}
.spbm__chip{font-family:'Oswald',sans-serif;font-size:14px;letter-spacing:.04em;border-radius:7px;padding:11px 8px;
  text-align:center;cursor:pointer;transition:all .15s;color:#c7c1c4;background:#141418;border:1px solid rgba(255,255,255,.16)}
.spbm__chip.on{color:#fff;background:linear-gradient(135deg,#8a0000,#e10600 60%,#ff2b22);border-color:#e10600;
  box-shadow:0 6px 18px rgba(225,6,0,.35)}
.spbm__actions{display:flex;gap:14px;align-items:center}
.spbm__submit{flex:1;font-family:'Oswald',sans-serif;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  font-size:15px;padding:16px;border:0;border-radius:8px;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,#8a0000 0%,#e2120a 55%,#ff2b22 100%);box-shadow:0 12px 30px rgba(225,6,0,.4);transition:filter .15s}
.spbm__submit:hover{filter:brightness(1.08)}
.spbm__submit:disabled{background:#3a3a40;box-shadow:none;cursor:default;opacity:.55}
.spbm__cancel{font-family:'Oswald',sans-serif;letter-spacing:.08em;text-transform:uppercase;font-size:12.5px;
  color:#857f85;text-decoration:underline;text-underline-offset:3px}
.spbm__cancel:hover{color:#e10600}
.spbm__legal{margin:18px 0 0;font-size:11.5px;color:#5c5960;line-height:1.5}
.spbm__legal a{color:#8a8489}
.spbm__busy{position:absolute;inset:0;z-index:4;background:rgba(10,10,13,.9);display:flex;flex-direction:column;
  gap:16px;align-items:center;justify-content:center;color:#efeaea;font-family:'Oswald',sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:14px}
.spbm__spin{width:34px;height:34px;border:3px solid rgba(255,255,255,.15);border-top-color:#e10600;border-radius:50%;animation:spbmspin .8s linear infinite}
@keyframes spbmspin{to{transform:rotate(360deg)}}
@media(max-width:640px){.spbm__grid{grid-template-columns:1fr}.spbm__side{min-height:150px}.spbm__card{margin:4vh 12px 0}.spbm__row2{grid-template-columns:1fr}}

/* ошибки/подсказки виджета — всегда видимы */
.mir-kvestov-booking-widget [class*="error"],
.mir-kvestov-booking-widget [class*="invalid"],
.mir-kvestov-booking-widget [class*="alert"],
.mir-kvestov-booking-widget [class*="danger"]{color:#ff6b64 !important}
.spbm__esc{margin-top:8px;font-family:'Oswald',sans-serif;letter-spacing:.1em;text-transform:uppercase;
  font-size:12px;color:#efeaea;background:transparent;border:1px solid rgba(255,255,255,.25);
  border-radius:30px;padding:10px 22px;cursor:pointer}
.spbm__esc:hover{border-color:#e10600;color:#fff}

/* КРИТИЧЕСКИЙ ФИКС: атрибут hidden обязан прятать оверлей и кнопку, несмотря на display выше */
.spbm__busy[hidden]{display:none !important}
.spbm__esc[hidden]{display:none !important}

/* ===== Модалка: влезаемость окошек ===== */
.spbm__card{max-height:88vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#3a3a40 #101013}
.spbm__card::-webkit-scrollbar{width:8px;background:#101013}
.spbm__card::-webkit-scrollbar-thumb{background:#3a3a40;border-radius:4px}
.spbm__tariffs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.spbm__chip{display:flex;align-items:center;justify-content:center;min-height:48px;
  font-size:13px;line-height:1.35;padding:9px 10px;text-align:center;word-break:normal}
@media(max-width:640px){.spbm__tariffs{grid-template-columns:1fr 1fr}}

/* ===== Роллер количества человек ===== */
.spbm__step{display:flex;align-items:center;gap:16px}
.spbm__stepbtn{width:38px;height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.2);
  background:#141418;color:#efeaea;font-size:20px;line-height:1;cursor:pointer;
  font-family:'Oswald',sans-serif;transition:all .15s}
.spbm__stepbtn:hover{border-color:#e10600;color:#fff;background:#1a1a1f}
.spbm__stepnum{font-family:'Oswald',sans-serif;font-size:22px;color:#efeaea;min-width:34px;text-align:center}
.spbm__info{font-size:12.5px;color:#9a949a;margin:-12px 0 18px;line-height:1.55}
.spbm__info[hidden]{display:none !important}

/* ===== Модалка: компактность, без внутренней прокрутки на обычных экранах ===== */
.spbm__main{padding:24px 28px 20px}
.spbm__title{font-size:21px;margin:0 0 3px}
.spbm__price{margin:0 0 12px}
.spbm__info{margin:-6px 0 14px;font-size:12px}
.spbm__row2{gap:12px;margin-bottom:10px}
.spbm__label{font-size:11px;margin-bottom:6px}
.spbm__input{padding:11px 13px;font-size:14.5px}
.spbm__ta{margin-bottom:14px;min-height:42px}
.spbm__tariff-wrap{margin-bottom:10px}
.spbm__stepbtn{width:34px;height:34px;font-size:18px}
.spbm__stepnum{font-size:20px}
.spbm__submit{padding:14px}
.spbm__legal{margin:12px 0 0;font-size:11px}
.spbm__side-in{padding:18px 16px}
.spbm__quest{font-size:20px;margin-bottom:12px}
.spbm__fact{margin-bottom:8px}
.spbm__card{margin-top:5vh;max-height:92vh}
