/* === Pages nav === */
.pages_nav_overlay {position: fixed; left: 0; top: 0; right: 0; bottom: 0; z-index: 99999; background: #000; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.35s, visibility 0.35s;}
.pages_nav_overlay.show {opacity: 0.8; visibility: visible;}

.pages_nav {position: fixed; top: 0; right: -350px; bottom: 0; z-index: 100000; display: flex; flex-direction: column; width: 350px; padding: 22px 25px; box-sizing: border-box; background: rgba(0, 0, 0, 0.8); color: #fff; transition: right 0.3s;}
.pages_nav.show {right: 0;}

.pages_nav_toggle {position: absolute; right: 12px; top: 12px; z-index: 2; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 6px; background: transparent; cursor: pointer; transition: background 0.2s;}
.pages_nav:not(.show) .pages_nav_toggle {top: auto; bottom: 20px; right: calc(100% + 16px); background: rgba(0, 0, 0, 0.8);}
.pages_nav:not(.show) .pages_nav_toggle:hover {background: rgba(0, 0, 0, 0.95);}

.pages_nav_toggle_line {position: absolute; left: 12px; width: 20px; height: 2px; border-radius: 2px; background: #fff; transition: transform 0.2s, opacity 0.2s, background 0.2s;}
.pages_nav_toggle_line1 {top: 15px;}
.pages_nav_toggle_line2 {top: 21px;}
.pages_nav_toggle_line3 {top: 27px;}
.pages_nav_toggle:hover .pages_nav_toggle_line {background: #f05630;}
.pages_nav.show .pages_nav_toggle_line1 {transform: translateY(6px) rotate(45deg);}
.pages_nav.show .pages_nav_toggle_line2 {opacity: 0;}
.pages_nav.show .pages_nav_toggle_line3 {transform: translateY(-6px) rotate(-45deg);}

.pages_nav_hint {position: fixed; right: 76px; bottom: 20px; z-index: 100001; display: flex; align-items: center; height: 44px; max-width: 320px; padding: 0 18px; border-radius: 8px; box-sizing: border-box; background: #f05630; color: #fff; font-size: 18px; line-height: 1.2; white-space: nowrap; box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s;}
.pages_nav_hint.show {opacity: 1; visibility: visible;}
.pages_nav_hint:after {content: ""; position: absolute; left: 100%; top: 50%; margin-top: -8px; border: 8px solid transparent; border-left-color: #f05630;}
.pages_nav_hint.pulse {animation: pages_nav_hint_pulse 1s ease-in-out infinite; transform-origin: right center;}
.pages_nav.show .pages_nav_hint {opacity: 0; visibility: hidden;}

@keyframes pages_nav_hint_pulse {
  0%, 100% {transform: scale(1);}
  50% {transform: scale(1.03);}
}

.pages_nav_head {flex: 0 0 auto; margin: 0 0 15px; padding: 0 0 15px; border-bottom: 1px solid rgba(255, 255, 255, 0.2); font-size: 16px; font-weight: 600; line-height: 1.2;}
.pages_nav_body {flex: 1 1 auto; overflow-y: auto; padding-right: 4px;}

.pages_nav_group {margin: 18px 0 8px; font-size: 12px; line-height: 1.2; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.5);}
.pages_nav_group:first-child {margin-top: 0;}

.pages_nav_list {margin: 0; padding: 0; list-style: none;}
.pages_nav_item {margin: 0 0 4px;}
.pages_nav_link {display: inline-block; color: #fff; font-size: 16px; line-height: 1.4; text-decoration: none; transition: color 0.2s;}
.pages_nav_link:hover {color: #f05630;}
.pages_nav_link.is_current {color: #f05630;}

.pages_nav_body::-webkit-scrollbar {width: 6px;}
.pages_nav_body::-webkit-scrollbar-track {background: rgba(255, 255, 255, 0.12);}
.pages_nav_body::-webkit-scrollbar-thumb {border-radius: 3px; background: #f05630;}
