/* Просмотрщик меню GILDIA PUB — горизонтальная лента страниц PDF.
   Вертикальную прокрутку страницы не перехватывает. Префикс gmv-. */
.gmv{
  --gmv-top:0px;              /* высота фиксированной шапки сайта */
  --gmv-ink:#0A0B0B;
  --gmv-panel:#151614;
  --gmv-gold:#C3A05F;
  --gmv-gold-lit:#E2CA92;
  --gmv-cream:#EDE7D8;
  --gmv-muted:#8E887C;
  --gmv-line:rgba(195,160,95,.22);
  position:relative;
  background:var(--gmv-ink);
  color:var(--gmv-cream);
  font-family:"PT Sans Narrow","Helvetica Neue",Arial,sans-serif;
}
.gmv *{box-sizing:border-box}

/* --- панель --- */
/* Панель не липкая: на сайте у родительских блоков есть overflow, из-за которого
   sticky не срабатывает и панель наезжает на фиксированную шапку. Высота страницы
   подобрана так, что блок целиком помещается в экран под шапкой. */
.gmv-bar{
  display:flex; align-items:center; gap:8px;
  padding:9px 12px; border-bottom:1px solid var(--gmv-line);
  background:rgba(10,11,11,.96);
}
.gmv-btn{
  flex:none; display:inline-flex; align-items:center; gap:6px;
  background:none; border:1px solid var(--gmv-line); border-radius:2px;
  color:var(--gmv-gold-lit); cursor:pointer; text-decoration:none;
  font-family:inherit; font-size:13px; letter-spacing:.1em; text-transform:uppercase;
  padding:8px 12px; line-height:1; white-space:nowrap;
}
.gmv-btn:hover{background:var(--gmv-panel); color:var(--gmv-cream)}
.gmv-btn:focus-visible{outline:2px solid var(--gmv-gold); outline-offset:2px}
.gmv-btn[disabled]{opacity:.35; cursor:default}
.gmv-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}

.gmv-count{
  font-size:15px; color:var(--gmv-muted); font-variant-numeric:tabular-nums;
  letter-spacing:.06em; white-space:nowrap; padding:0 2px;
}
.gmv-count b{color:var(--gmv-cream); font-weight:400}
.gmv-spacer{margin-left:auto}

/* --- разделы --- */
.gmv-sections{position:relative; flex:none}
.gmv-seclist{
  position:absolute; top:calc(100% + 6px); left:0; z-index:40;
  min-width:240px; max-height:min(58vh,420px); overflow-y:auto;
  margin:0; padding:5px; list-style:none;
  background:var(--gmv-panel); border:1px solid var(--gmv-line);
  box-shadow:0 20px 40px -18px rgba(0,0,0,.95);
}
.gmv-seclist button{
  display:flex; width:100%; gap:10px; align-items:baseline;
  background:none; border:none; cursor:pointer; text-align:left;
  color:var(--gmv-cream); font-family:inherit; font-size:16px; padding:8px 10px;
}
.gmv-seclist button:hover{background:rgba(195,160,95,.13); color:var(--gmv-gold-lit)}
.gmv-seclist button:focus-visible{outline:2px solid var(--gmv-gold); outline-offset:-2px}
.gmv-seclist i{margin-left:auto; font-style:normal; color:var(--gmv-muted); font-size:14px;
  font-variant-numeric:tabular-nums}

/* --- лента --- */
.gmv-strip{
  display:flex; align-items:center; gap:14px;
  overflow-x:auto; overflow-y:hidden;
  /* overflow-y:clip рядом с overflow-x:auto по спецификации схлопывается в hidden,
     поэтому лента всё равно перехватывает вертикальное колесо — возвращаем его
     странице в bindWheel() */
  scroll-snap-type:x mandatory; overscroll-behavior-x:contain;
  padding:16px 12px; scrollbar-width:none; -ms-overflow-style:none;
  cursor:grab;
}
.gmv-strip::-webkit-scrollbar{display:none}
.gmv-strip.gmv-drag{cursor:grabbing; scroll-snap-type:none}
.gmv-page{
  position:relative; flex:none; scroll-snap-align:center;
  background:#0E0F0E; box-shadow:0 14px 34px -22px rgba(0,0,0,.95);
}
.gmv-page canvas{display:block; width:100%; height:100%; border:0}
.gmv-page .gmv-ph{
  position:absolute; inset:0; display:grid; place-items:center;
  color:var(--gmv-muted); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
}
.gmv-page[data-ready="1"] .gmv-ph{display:none}

/* --- стрелки поверх ленты --- */
.gmv-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:20;
  width:44px; height:64px; display:grid; place-items:center;
  background:rgba(10,11,11,.72); border:1px solid var(--gmv-line);
  color:var(--gmv-gold-lit); cursor:pointer; padding:0;
}
.gmv-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.gmv-arrow:hover{background:var(--gmv-panel); color:var(--gmv-cream)}
.gmv-arrow:focus-visible{outline:2px solid var(--gmv-gold); outline-offset:2px}
.gmv-arrow[disabled]{opacity:0; pointer-events:none}
.gmv-prev{left:10px}
.gmv-next{right:10px}

/* --- во весь экран --- */
.gmv--full{
  position:fixed; inset:0; z-index:99999; --gmv-top:0px;
  display:flex; flex-direction:column;
}
.gmv--full .gmv-strip{flex:1; align-items:center}

.gmv-note{padding:0 14px 16px; text-align:center; color:var(--gmv-muted);
  font-size:14px; letter-spacing:.04em}
.gmv-fail{padding:60px 20px; text-align:center; color:var(--gmv-muted); font-size:17px}
.gmv-fail a{color:var(--gmv-gold-lit)}

@media (hover:none){
  .gmv-arrow{display:none}
}
@media (max-width:700px){
  .gmv-bar{gap:6px; padding:8px 9px}
  .gmv-btn{padding:8px 10px; font-size:12px; letter-spacing:.05em}
  .gmv-btn .gmv-lbl{display:none}
  .gmv-strip{gap:8px; padding:10px 8px}
  .gmv-count{font-size:14px}
  .gmv-note{font-size:13px; padding-bottom:12px}
}
