
* {
	box-sizing: border-box;
	font-family: Roboto, sans-serif;
}
* {
	box-sizing: border-box;
	margin: 0;
}
a {
	text-decoration: none;
	color: inherit;
	font-weight: bold;
}
body {
	max-width: 1300px;
   margin: 0 auto;
	font-family: Roboto, sans-serif;
	font-size: 16px;
	background-color: #343946;
	color: #ffffff;
	padding-top: 120px; /* Увеличено для навигации */
}
.conteiner {
	max-width: 1300px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px;
}
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #404659;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	padding: 10px 0;
	z-index: 1000;
	text-align: center;
}
.header_conatiner {
	display: flex;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 90px;
}
.header_logo img {
	height: 41px;
	width: 100%;
	object-fit: contain;
}
.header_button {
	display: flex;
	gap: 20px;
}

/* Навигационное меню */
.navigation {
	position: fixed;
	top: 60px; /* Под header */
	left: 0;
	width: 100%;
	background: rgba(0, 0, 0, 0.2);
	backdrop-filter: blur(10px);
	z-index: 999;
	padding: 10px 0;
	margin-top: 20px;
}
.nav_conteiner {
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
}
.nav-link {
	color: #ffffff;
	padding: 8px 16px;
	border-radius: 5px;
	transition: all 0.3s ease;
	font-size: 14px;
	font-weight: 500;
	border: 1px solid transparent;
}
.nav-link:hover {
	background-color: rgba(255, 255, 255, 0.1);
	border-color: #aaff20;
}
.nav-link.active {
	background-color: #aaff20;
	border-color: #aaff20;
}

@media (max-width: 768px) {
	body {
		padding-top: 140px; /* Больше места для мобильной навигации */
	}
	.header_button {
		gap: 8px;
	}
	.nav_conteiner {
		gap: 10px;
		padding: 10px;
	}
	.nav-link {
		font-size: 12px;
		padding: 6px 10px;
	}
}

.btn {
	border: 1px solid #aaff20;
	display: inline-block;
	padding: 10px 20px;
	background-color: #aaff20;
	color: #ffffff;
	border-radius: 5px;
	cursor: pointer;
	position: relative;
	transition: box-shadow 0.3s ease-in-out;
}
@media (max-width: 768px) {
	.btn {
		 width: 100%;
		 text-align: center;
		 padding: 10px;
		 font-size: 14px;
	}
}
@keyframes glow {
	0% { box-shadow: 0 0 5px #aaff20; }
	50% { box-shadow: 0 0 20px #aaff20; }
	100% { box-shadow: 0 0 5px #aaff20; }
}
.glowing {
	animation: glow 1.5s infinite alternate;
}

.button_1 {
	background-color: #aaff20;
}
.button_2 {
	background-color: transparent;
}
.button_2:hover {
	background-color: #aaff20;
}

h1 {
	font-size: 50px;
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 1.4;
}
@media (max-width: 768px) {
	h1 {
		font-size: 30px;
	}
}
h2 {
	font-size: 30px;
	font-weight: bold;
}
@media (max-width: 768px) {
	h2 {
		font-size: 26px;
		margin-top: 10px;
	}
}
.main_conteiner {
	position: relative;
	margin-top: 40px;
}
.main_text {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
main img {
	display: flex;
	align-items: center;
	justify-content: center;
}
.main p {
	font-size: 14px;
	font-weight: 400;
	color: #ffffff;
	line-height: 1.4;
}

.photo {
	margin: 0 auto;
	width: 70%;
	height: 80%;
	object-fit: cover;
	border-radius: 10px;
	margin-bottom: 40px;
}
@media (max-width: 768px) {
	.photo {
		width: 100%;
		margin-bottom: 20px;
	}
}
.main h1 {
	margin-bottom: 50px;
}
@media (max-width: 768px) {
	.main h1 {
		margin-bottom: 20px;
	}
}
.popup {
	width: 470px;
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	background: #404659;
	color: #ffffff;
	border-radius: 20px;
	padding: 20px 25px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
	display: flex;
	align-items: center;
	gap: 20px;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}
@media (max-width: 768px) {
	.popup {
		width: 95%;
		padding: 6px;
		gap: 10px;
		border-radius: 10px;
	}
}
.popup_block {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;	
}
@media (max-width: 768px) {
	.popup_block {
		display: flex;
		justify-content: space-around;	
	}
}

.popup.show {
	opacity: 1;
	visibility: visible;
}

.popup-close {
	background: none;
	border: none;
	color: rgba(255, 255, 255, 0.476);
	font-size: 20px;
	cursor: pointer;
	position: absolute;
	right: 10px;
	top: 6px;
}
@media (max-width: 768px) {
	.popup-close {
		font-size: 16px;
		right: 6px;
		top: 3px;
	}
}
.block_txt {
	width: 40%;
	display: flex;
	align-items: center;
	flex-direction: column;
	text-align: center;
}
.block_txt span {
	font-size: 35px;
	color: #ffffff;
	font-weight: 700;
}
@media (max-width: 768px) {
	.block_txt span {
		font-size: 24px;
	}
}
.block_txt p {
	color: #ffffff;
	font-size: 18px;
}
@media (max-width: 768px) {
	.block_txt p {
		font-size: 14px;
	}
}
.block_btn {
	text-transform: uppercase;
	font-weight: bold;
	font-size: 18px;
}
@media (max-width: 768px) {
	.block_btn {
		font-size: 14px;
	}
}

/* Дополнительные стили для сгенерированного контента */
h3 {
  font-size: 24px;
  font-weight: bold;
  margin-top: 20px;
  margin-bottom: 15px;
}

ul, ol {
  padding-left: 20px;
  margin-bottom: 15px;
}

li {
  font-size: 14px;
  margin-bottom: 8px;
  line-height: 1.4;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  font-size: 14px;
}

th, td {
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 10px;
  text-align: left;
}

th {
  background-color: rgba(0, 0, 0, 0.2);
  font-weight: bold;
}
/* ===== FIX: отступы под фиксированные header + nav, адаптив ===== */

/* Переменные высот (на десктопе меню не переносится) */
:root {
  --header-h: 64px;  /* фактическая высота шапки */
  --nav-gap: 8px;    /* визуальный зазор между шапкой и меню */
  --nav-h: 48px;     /* высота навигации в одну строку (десктоп) */
}

/* Базовый отступ контента: шапка + зазор + меню */
html {
  /* если есть якорные ссылки, страница будет прокручивать с учётом фиксированных блоков */
  scroll-padding-top: calc(var(--header-h) + var(--nav-gap) + var(--nav-h));
}
body {
  padding-top: calc(var(--header-h) + var(--nav-gap) + var(--nav-h)) !important;
}

/* Шапка фиксированной высоты и выравнивание содержимого по центру */
header {
  min-height: var(--header-h);
  display: flex;
  align-items: center;
  z-index: 1000;
}

/* Исправление опечатки класса без изменения HTML */
.header_conteiner,
.header_conatiner { /* поддержим оба варианта на всякий случай */
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

/* Навигация сразу под шапкой на десктопе (фиксированная) */
.navigation {
  position: fixed;
  top: calc(var(--header-h) + var(--nav-gap));
  left: 0;
  width: 100%;
  margin-top: 0 !important;  /* фикс не нуждается в внешнем отступе */
  z-index: 999;              /* ниже шапки, выше контента */
  /* слегка затемним фон, чтобы текст читался на фото под ним */
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* На широких — в одну строку, чтобы высота была предсказуемой */
.nav_conteiner {
  justify-content: center;
  gap: 30px;
  flex-wrap: nowrap;
  min-height: var(--nav-h);
}

/* ===== Адаптив: если линки могут переноситься — делаем меню sticky ===== */
@media (max-width: 1100px) {
  /* на средних и ниже меню переходит в поток и липнет под шапкой */
  .navigation {
    position: sticky;
    top: var(--header-h);
  }
  /* теперь отступу достаточно учитывать только высоту шапки */
  html {
    scroll-padding-top: var(--header-h);
  }
  body {
    padding-top: var(--header-h) !important;
  }
  /* на этих ширинах разрешаем перенос ссылок */
  .nav_conteiner {
    flex-wrap: wrap;
    gap: 14px;
    padding: 10px 12px;
    min-height: auto; /* высота по содержимому */
  }
}

/* Доп. мелкие правки для мобильных */
@media (max-width: 768px) {
  :root {
    --header-h: 64px; /* шапка остаётся компактной */
  }
  .header_button { gap: 8px; }
  .nav-link {
    font-size: 13px;
    padding: 6px 10px;
  }
}

/* Небольшая страховка: чтобы контент точно не залезал под фикс-слои */
main, .main_conteiner {
  position: relative;
}

/* Чуть компактнее логотип в шапке, чтобы шапка влезала в заданную высоту */
.header_logo img {
  height: 40px !important;
  width: auto !important;
}
/* === OVERRIDES: без перекрытий, без правок HTML === */

/* 1) Никаких жёстких отступов у body */
body {
  padding-top: 0 !important;
}

/* 2) Шапка возвращается в поток (не fixed) */
header {
  position: relative !important; /* была fixed */
  top: auto !important;
  left: auto !important;
  width: 100%;
  z-index: 1000; /* остаётся поверх контента */
  padding: 10px 0; /* можно оставить как было */
}

/* Поддержка правильного класса без смены HTML */
.header_conteiner,
.header_conatiner {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

/* Лого компактнее, чтобы высота хедера не распухала */
.header_logo img {
  height: 40px !important;
  width: auto !important;
}

/* 3) Навигация липкая (sticky), остаётся в потоке ⇒ ничего не перекрывает */
.navigation {
  position: -webkit-sticky !important;
  position: sticky !important; /* была fixed */
  top: 0 !important;           /* прилипает к верху в момент скролла */
  margin-top: 0 !important;    /* внешний отступ для fixed был лишним */
  z-index: 999 !important;
  padding: 10px 0;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* 4) Линки могут переноситься, и высота меню растёт без проблем */
.nav_conteiner {
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;   /* разрешаем перенос на 2+ строки */
  padding: 10px 12px !important;
  min-height: auto !important;  /* высота по содержимому */
}

/* 5) Якоря не заезжают под липкое меню */
html {
  scroll-padding-top: 64px; /* примерная высота меню; поправь при желании */
}

/* 6) Мобилки: чуть мельче ссылки, чтобы меньше ломалась строка */
@media (max-width: 768px) {
  .nav-link {
    font-size: 13px !important;
    padding: 6px 10px !important;
  }
  .header_button { gap: 8px !important; }
}
 .popup {
   width: 470px;
   position: fixed;
   bottom: 20px;
   left: 50%;
   transform: translateX(-50%);
   background: #404659;
   color: #ffffff;
   border-radius: 20px;
   padding: 20px 25px;
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
   display: flex;
   align-items: center;
   gap: 20px;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
  z-index: 2147483000; /* всегда поверх контента/нави/хедера */
 }

/* === FIX 1: глобально убираем горизонтальный скролл страницы === */
html, body {
  max-width: 100%;
  overflow-x: clip; /* безопаснее, чем hidden */
}

/* === FIX 2: картинки не выходят за экран (у вас img внутри main был flex) === */
img { max-width: 100%; height: auto; }
main img { display: block; }

/* === FIX 3: всплывашка .popup не шире экрана (переопределяем финальное правило) === */
.popup {
  width: min(470px, 95vw);      /* 470px на десктопе, 95vw на мобилке */
  left: 50%;
  transform: translateX(-50%);
  padding: clamp(10px, 3vw, 20px) clamp(12px, 3vw, 25px);
  border-radius: 12px;
  z-index: 2147483000;          /* без лишнего символа '+' */
}

/* === FIX 4: навигация — не даём вылезать за границы === */
.navigation { width: 100%; overflow-x: clip; }
.nav_conteiner {
  max-width: 100%;
  flex-wrap: wrap;              /* разрешаем перенос */
  gap: 12px;
  padding: 10px 12px;
}
/* На сверхузких экранах — горизонтальный скролл только внутри меню (а не всей страницы) */
@media (max-width: 380px) {
  .nav_conteiner {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .nav_conteiner::-webkit-scrollbar { display: none; }
  .nav-link { white-space: nowrap; }
}

/* === FIX 5: таблицы — фиксированный лайаут + перенос слов + локальный скролл === */
table {
  table-layout: fixed;
  width: 100%;
}
th, td {
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
}
@media (max-width: 768px) {
  table {
    display: block;                 /* чтобы заработал локальный скролл */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* === Небольшие косметические сжатия для мобилок === */
@media (max-width: 768px) {
  .nav-link { font-size: 13px; padding: 6px 10px; }
  th, td { padding: 8px; font-size: 13px; }
}
/* === FIX: иконка в попапе вместо «чёрного квадрата» === */

/* Центровка контейнера с иконкой */
.popup .block_img {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Сбрасываем всё «опасное» + ограничиваем размеры */
.popup .block_img img {
  display: block;
  max-width: min(72px, 22vw);
  max-height: 64px;
  width: auto;
  height: auto;

  background: transparent !important;
  box-shadow: none !important;

  filter: none !important;
  -webkit-filter: none !important;

  mix-blend-mode: normal !important;

  /* если где-то глобально применяли маски — снимем */
  -webkit-mask: none !important;
  mask: none !important;
}

/* На очень тёмных темах можно добавить едва заметный светлый обвод,
   чтобы цветная иконка не «терялась» (не влияет на сам SVG) */
/*
.popup .block_img img {
  filter: drop-shadow(0 0 0.01px rgba(255,255,255,0.01));
}
*/
