@@ -305,51 +305,87 @@ footer {
305305
306306/* Responsive */
307307@media (max-width : 768px ) {
308+
309+ /* Стили для гамбургера */
308310 .hamburger {
309311 display : block;
312+ transition : transform 0.3s ease;
313+ z-index : 101 ;
314+ /* Чтобы кнопка была над меню */
315+ }
316+
317+ .hamburger .active {
318+ transform : rotate (90deg );
310319 }
311320
321+ /* Контейнер меню (изначально за экраном) */
312322 nav {
313- display : none;
314- position : absolute;
323+ position : fixed;
315324 top : 80px ;
316- right : 20px ;
317- /* Сдвигаем меню к правому краю */
318- left : auto;
319- /* Отключаем левое позиционирование */
320- width : auto;
321- /* Ширина по содержимому */
322- min-width : 200px ;
323- /* Минимальная ширина */
325+ right : -300px ;
326+ width : 280px ;
327+ height : calc (100vh - 80px );
324328 background-color : var (--bg );
325329 flex-direction : column;
326330 padding : 1rem ;
327- border-radius : 8px ;
328- border : 1px solid var (--bg-light );
329- box-shadow : 0 4px 12px rgba (0 , 0 , 0 , 0.3 );
331+ border-left : 1px solid var (--bg-light );
332+ box-shadow : -4px 0 12px rgba (0 , 0 , 0 , 0.2 );
330333 text-align : right;
331- /* Выравнивание текста по правому краю */
334+ transition : right 0.3s cubic-bezier (0.25 , 0.46 , 0.45 , 0.94 );
335+ z-index : 100 ;
336+ overflow-y : auto;
332337 }
333338
339+ /* Меню "выезжает" при активации */
334340 nav .active {
335- display : flex;
341+ right : 0 ;
342+ }
343+
344+ /* Оверлей для фона */
345+ .nav-overlay {
346+ position : fixed;
347+ top : 80px ;
348+ left : 0 ;
349+ right : 0 ;
350+ bottom : 0 ;
351+ background : rgba (0 , 0 , 0 , 0.5 );
352+ opacity : 0 ;
353+ pointer-events : none;
354+ transition : opacity 0.3s ease;
355+ z-index : 99 ;
336356 }
337357
358+ .nav-overlay .active {
359+ opacity : 1 ;
360+ pointer-events : all;
361+ }
362+
363+ /* Анимация пунктов меню */
338364 nav a {
339- padding : 0.5rem 1rem ;
340- white-space : nowrap;
341- /* Запрет переноса текста */
365+ padding : 0.8rem 1rem ;
366+ margin : 0.25rem 0 ;
367+ border-radius : 4px ;
368+ transition : all 0.2s ease 0.1s ;
369+ /* Задержка для каскадного эффекта */
370+ transform : translateX (20px );
371+ opacity : 0 ;
372+ }
373+
374+ nav .active a {
375+ transform : translateX (0 );
376+ opacity : 1 ;
377+ }
378+
379+ nav a : hover {
380+ background-color : var (--bg-light );
381+ color : var (--yellow );
382+ text-decoration : none;
342383 }
343384
344- /* Дополнительно можно добавить стрелку к меню */
345- nav ::before {
346- content : "" ;
347- position : absolute;
348- top : -10px ;
349- right : 15px ;
350- border-left : 10px solid transparent;
351- border-right : 10px solid transparent;
352- border-bottom : 10px solid var (--bg );
385+ nav a : hover ::after {
386+ content : "←" ;
387+ margin-left : 8px ;
388+ color : var (--yellow );
353389 }
354390
355391 .hero h2 {
0 commit comments