/* =========================================================================
   TOJ ACADEMY — base stylesheet
   Токены дизайна:
   Цвет:   --toj-blue (шапка/футер), --toj-blue-dark (полоса навигации),
           --toj-blue-darker (нижняя плашка футера), --toj-gold (акцент/hover)
   Шрифт:  Roboto Condensed — заголовок/меню (жирный, сжатый, "официальный"),
           PT Sans — текст (нейтральный, читаемый, кириллица)
   Приём:  тонкий силуэт колоннады/купола под заголовком шапки и в футере —
           единственный декоративный элемент темы, отсылка к зданию Маджлиси
   ========================================================================= */

:root {
	--toj-blue: #4D86B1;
	--toj-blue-dark: linear-gradient(90deg, #2CA5E0 0%, #67C9F5 100%);
	--toj-blue-darker: #2C4B5F;
	--toj-gold: #f0eee9;
	--toj-text: #1F2733;
	--toj-text-muted: #66727D;
	--toj-bg-light: #F3F5F7;
	--toj-white: #FFFFFF;
	--toj-border: #E1E6EA;

        --font-display: 'Montserrat', 'Roboto Condensed', 'Arial Narrow', sans-serif;
        --font-body: 'Montserrat', 'PT Sans', Arial, sans-serif;

	--container-width: 1500px;
	--header-nav-height: 74px;
}

/* ---------- Reset / base ---------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: var(--font-body);
	color: var(--toj-text);
	background: var(--toj-white);
	line-height: 1.5;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: inherit;
	text-decoration: none;
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

button {
	font-family: inherit;
	cursor: pointer;
}

:focus-visible {
	outline: 2px solid var(--toj-gold);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
	}
}

.container {
	max-width: var(--container-width);
	margin-inline: auto;
	padding-inline: 24px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.skip-link {
	position: absolute;
	top: -60px;
	left: 12px;
	z-index: 10000;
	background: var(--toj-blue-darker);
	color: #fff;
	padding: 10px 16px;
	border-radius: 0 0 6px 6px;
	transition: top .15s ease;
}

.skip-link:focus {
	top: 0;
}
html {
	height: 100%;
}

body {
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

#main-content {
	flex: 1 0 auto;
}

.site-footer {
	margin-top: auto; 
}