/* Responsive in-page PDF guide viewer */
.gv-overlay { position: fixed; inset: 0; height: 100dvh; background: rgba(15, 23, 42, .74); backdrop-filter: blur(4px); z-index: 99999; display: none; align-items: center; justify-content: center; padding: 0; }
.gv-overlay.open { display: flex; }
.gv-modal { background: #eef2f6; width: 100%; max-width: 1000px; height: 100dvh; max-height: 100dvh; display: flex; flex-direction: column; overflow: hidden; }
@media (min-width: 900px) { .gv-modal { height: 94dvh; max-height: 94dvh; border-radius: 16px; box-shadow: 0 30px 60px -15px rgba(0, 0, 0, .5); } }
.gv-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; background: linear-gradient(135deg, #7c3aed, #6366f1); color: #fff; flex-shrink: 0; }
.gv-title { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 1rem; min-width: 0; }
.gv-ico { font-size: 1.15rem; flex-shrink: 0; }
.gv-title-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.gv-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.gv-btn { cursor: pointer; border: none; font-family: inherit; font-weight: 600; border-radius: 10px; display: inline-flex; align-items: center; gap: 6px; text-decoration: none; transition: background .15s ease, transform .1s ease; }
.gv-btn:active { transform: scale(.96); }
.gv-btn-dl { background: rgba(255, 255, 255, .95); color: #4f46e5; padding: 9px 15px; font-size: .9rem; min-height: 40px; box-sizing: border-box; }
.gv-btn-dl:hover { background: #fff; }
.gv-dl-ico { font-size: 1rem; }
.gv-btn-close { background: rgba(255, 255, 255, .18); color: #fff; width: 40px; height: 40px; justify-content: center; font-size: 1.1rem; }
.gv-btn-close:hover { background: rgba(255, 255, 255, .32); }
.gv-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; position: relative; padding: 16px 12px 44px; }
.gv-pages { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.gv-page { max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 6px 22px -8px rgba(15, 23, 42, .45); background: #fff; }
.gv-loading { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; color: #475569; background: #eef2f6; z-index: 2; font-size: .95rem; }
.gv-spinner { width: 42px; height: 42px; border-radius: 50%; border: 3px solid #cbd5e1; border-top-color: #6366f1; animation: gv-spin .8s linear infinite; }
@keyframes gv-spin { to { transform: rotate(360deg); } }
/* responsive download button: hide label on narrow screens (icon only) */
@media (max-width: 560px) {
  .gv-dl-text { display: none; }
  .gv-btn-dl { width: 40px; height: 40px; min-height: 0; padding: 0; gap: 0; justify-content: center; font-size: 1.2rem; }
  .gv-dl-ico { font-size: 1.2rem; }
  .gv-title { font-size: .92rem; }
}
