* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
	background-color: #000000;
	scroll-behavior: smooth;
	/*Отключаем класичиское передвижение по сайту*/
	overscroll-behavior-y: none; /* для Safari */
	-webkit-overflow-scrolling: touch; /* для Safari */
	overflow: hidden !important; /* hidden clip */
}
body {
    height: 100vh; height: 100dvh;
	min-height: -webkit-fill-available; /* для Safari */
}

/* Скрыть скроллбар на всем сайте */
html {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}
html::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}
body {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Стили для контейнера модулей */
.modules-container {
	background-color: #000000;
	position: relative;
    height: 100vh; height: 100dvh;
	min-height: -webkit-fill-available; /* для Safari */  
}

/* Стили для каждого модуля */
.module {
	background-color: #000000;
    height: 100vh; height: 100dvh;
	min-height: -webkit-fill-available; /* для Safari */  
    scroll-snap-align: start;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: all 0.5s ease;
	/*touch-action: none !important;  Отключает все жесты */
}

/* Содержимое модуля */
.module-content {
    position: relative;
    text-align: center;
	overflow: clip;
}


/* Кнопка прокрутки вверх */
.scroll-top-btn {
    position: fixed;
    bottom: 5vh; bottom: 5dvh;
	right: 1vw; right: 1dvw;
    width: 50px;
    height: 50px;
    border-radius: 50%;
	border: 0px;
    color: #f7f7f7; /*слегка серый*/
    cursor: pointer;
    z-index: 100;
    justify-content: center;
    align-items: center;
	transition: all 0.2s ease;
	-webkit-backdrop-filter: blur(3px); /* Для Safari */
	backdrop-filter: blur(3px); 
	opacity: 0;
    visibility: hidden;
    -webkit-tap-highlight-color: transparent; /* Для Safari */
    touch-action: manipulation; /* Для Safari */
	
	/* Для всех браузеров */
    background: rgba(0, 0, 0, 0.4);

}

/* Стили для не-iOS браузеров */
@supports not (-webkit-touch-callout: none) {
    .scroll-top-btn {
        mix-blend-mode: difference;
		isolation: isolate; /* Изолирует элемент от фона */
        background: rgba(255, 255, 255, 0.1);
    }
	
	.scroll-top-btn:hover {
		background: rgba(255, 255, 255, 0.2);
		border-color: rgba(255, 255, 255, 0.2);
		transform: translateY(-10px) scale(1.05);
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
	}
}

.scroll-top-btn.show {
    opacity: 1;
    visibility: visible;
	pointer-events: auto; /* Для Safari */
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}


/* Навигационные стрелки */
.nav-arrow {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1vh; bottom: 1dvh;
    color: white;
    font-size: 2rem;
    z-index: 1000;
    cursor: pointer;
    opacity: 0.6;
    transition: all 0.3s ease;
	
    animation: bounce 2s infinite;
	
	mix-blend-mode: difference;
	/* Изолирует элемент от фона для правильной работы blend-mode*/
    isolation: isolate; 
}

.nav-arrow:hover {
    opacity: 1;
    transform: translateX(-50%) scale(1.2);
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    40% {
        transform: translateX(-50%) translateY(-10px);
    }
    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

/* Адаптивность */

/* Компьютерная версия */
@media (min-width: 768px) {
	.module-1 {
		background-color: #1a1a18;
		background-image: url('../images/computer/1.jpg'); 
		}
	.module-2 {
		background-image: url('../images/computer/2.jpg');
		}
	.module-3 {
		background-color: #ffffff;
		background-image: url('../images/computer/3.jpg');		
		}
	.module-4 {
		background-color: #ffffff;
		background-image: url('../images/computer/4.jpg');			
		}
	.module-5 {
		background-color: #ffffff;
		background-image: url('../images/computer/5.jpg');	
		}
	.module-6 {
		background-color: #ffffff;
		background-image: url('../images/computer/6.jpg');
		background-position: bottom;	
		}
}

/* Немного больше адаптивности к компьютерной версии */
@media (min-width: 768px) and (max-width: 1100px) {
	.module-3 { background-size: contain; background-size: 140%; }
	.module-4 { background-size: contain; background-size: 140%; }
	.module-5 { background-size: contain; background-size: 140%; }	
} 

/* Мобильная версия */
@media (max-width: 768px) {	

	.module-1 { 
		background-image: url('../images/mobile/1.jpg');
		}
	.module-2 {
		background-image: url('../images/mobile/2.jpg');
		margin-right: -1px;
		}
	.module-3 {
		background-image: url('../images/mobile/3.jpg'); 
		}
	.module-4 { 
		background-color: #ffffff;
		background-image: url('../images/mobile/4.jpg'); 
		background-size: contain;	
		}
	.module-5 {
		background-color: #ffffff;
		background-image: url('../images/mobile/5.jpg');
		background-size: contain;
		}
	.module-6 { 
		background-image: url('../images/mobile/6.jpg');
		background-position: center bottom;
		}
	       
    .scroll-top-btn {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
    }
    
}

/* Для очень маленьких экранов*/	
@media (max-width: 480px) {
	
}

