/* Сброс стандартных отступов и полей */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Базовые стили для body */
body {
	font-family: Arial, sans-serif;
	line-height: 1.6;
	color: #333;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* Шапка сайта */
header {
	background-color: #2c3e50;
	color: white;
	padding: 1rem 2rem;
	text-align: center;
}

header h1 {
	font-size: 1.8rem;
}

/* Стили для выпадающего меню в шапке */
.dropdown {
	position: relative;
	display: inline-block;
	margin-top: 1rem;
}

.dropbtn {
	background-color: #4CAF50;
	color: white;
	padding: 12px 24px;
	font-size: 16px;
	border: none;
	cursor: pointer;
	border-radius: 4px;
	transition: background-color 0.3s;
}

.dropdown-content {
	display: none;
	position: absolute;
	background-color: #f9f9f9;
	min-width: 200px;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	z-index: 1000;
	border-radius: 4px;
	overflow: hidden;
}

.dropdown-content a {
	color: #333;
	padding: 12px 16px;
	text-decoration: none;
	display: block;
	transition: background-color 0.3s;
}

.dropdown-content a:hover {
	background-color: #4CAF50;
	color: white;
}

.dropdown:hover .dropdown-content {
	display: block;
}

.dropdown:hover .dropbtn {
	background-color: #3e8e41;
}

/* Основной контейнер с сеткой */
.container {
	flex: 1;
	display: grid;
	grid-template-areas:
	"sidebar content"
	"footer footer";
	grid-template-columns: 250px 1fr; /* левая колонка 250px, середина резиновая */
	grid-template-rows: 1fr auto;
	min-height: 0; /* важно для корректной работы в flex-контейнере */
}

/* Левая колонка */
.sidebar {
	grid-area: sidebar;
	background-color: #34495e;
	color: white;
	padding: 1.5rem;
	overflow-y: auto; /* прокрутка, если контента много */
}

.sidebar h2 {
	margin-bottom: 1rem;
	font-size: 1.3rem;
}

.sidebar ul {
	list-style: none;
}

.sidebar li {
	margin-bottom: 0.8rem;
}

.sidebar a {
	color: #ddd;
	text-decoration: none;
	transition: color 0.3s;
}

.sidebar a:hover {
	color: white;
}

/* Центральная часть (резиновая) */
.content {
	grid-area: content;
	padding: 1.5rem;
	background-color: #ecf0f1;
	min-height: 0; /* предотвращает переполнение */
}

.content h2 {
	margin-bottom: 1rem;
	color: #2c3e50;
}

.content p {
	margin-bottom: 1rem;
}

/* Подвал сайта */
footer {
	grid-area: footer;
	background-color: #1a252f;
	color: white;
	text-align: center;
	padding: 1rem 2rem;
	margin-top: auto; /* прижимает подвал к низу */
}

footer p {
	font-size: 0.9rem;
}

/* Адаптивность для планшетов (768px и ниже) */
@media (max-width: 768px) {
	.container {
		grid-template-areas:
		"sidebar"
		"content"
		"footer";
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
	}

	.sidebar {
		width: 100%;
		max-width: none;
	}

	/* Адаптация выпадающего меню для планшетов */
	.dropdown-content {
		min-width: 100%;
		position: static;
		margin-top: 0.5rem;
	}
}

/* Адаптивность для мобильных устройств (480px и ниже) */
@media (max-width: 480px) {
	header {
		padding: 1rem;
	}

	header h1 {
		font-size: 1.4rem;
	}

	.dropbtn {
		padding: 10px 16px;
		font-size: 14px;
	}

	.sidebar, .content {
		padding: 1rem;
	}

	.content h2 {
		font-size: 1.2rem;
	}

	footer {
		padding: 0.8rem 1rem;
	}

	footer p {
		font-size: 0.8rem;
	}
}

/* Дополнительные улучшения для очень маленьких экранов */
@media (max-width: 360px) {
	header h1 {
		font-size: 1.2rem;
	}

	.sidebar li {
		margin-bottom: 0.5rem;
	}

	.sidebar a {
		font-size: 0.9rem;
	}

	.dropbtn {
		font-size: 13px;
		padding: 8px 12px;
	}
}
