@font-face {
	font-family: 'Montserrat';
	font-weight: normal;
	font-style: normal;
	src: url('../font/Montserrat-Regular.ttf');
}

@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: bold;
	src: url('../font/Montserrat-Bold.ttf');
}

@font-face {
	font-family: 'Montserrat';
	font-weight: normal;
	font-style: italic;
	src: url('../font/Montserrat-Italic.ttf');
}

@font-face {
	font-family: 'Montserrat';
	font-weight: bold;
	font-style: italic;
	src: url('../font/Montserrat-BoldItalic.ttf');
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #f5f5f5;
  color: #222;
}

/* Шапка */
.page-header {
  background: #1a2744;
  padding: 24px;
}

.header-inner {
  max-width: 1400px;
  margin: 0 auto;
}

.back-link {
    font-family: montserrat;
  display: inline-block;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  font-size: 0.8rem;
  margin-bottom: 12px;
}

.back-link:hover {
  color: #fff;
}

.section-tag {
    font-family: montserrat;
  display: block;
  font-size: 0.75rem;
  color: #d4a843;
  margin-bottom: 8px;
  letter-spacing: 0.05em;
}

.page-title {
    font-family: montserrat;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
}

/* Основной контент */
.main {
  max-width: 1400px;
  margin: 0 auto;
  padding: 36px 24px 60px;
}

/* Текстовый блок */
.text-block {
  font-family: montserrat;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 32px 36px;
  margin-bottom: 24px;
}

.text-block h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a2744;
  margin-bottom: 18px;
}

.text-block p {
  font-size: 0.95rem;
  line-height: 1.85;
  color: #333;
  margin-bottom: 14px;
}

.text-block p:last-child {
  margin-bottom: 0;
}

/* Навигация */
.nav-footer {
    font-family: montserrat;
  display: flex;
  justify-content: space-between;
}

.nav-btn-link {
  display: inline-block;
  padding: 10px 20px;
  background: #1a2744;
  color: #fff;
  text-decoration: none;
  border-radius: 3px;
  font-size: 0.85rem;
}

.nav-btn-link:hover {
  background: #243260;
}

.task-card {
  max-width: 700px;
  margin: 0 auto;
}
 
.task-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
 
.icon-placeholder {
  width: 25px;
  height: 25px;
  border: 2px dashed #aaa;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-shrink: 0;
}
 
.task-title {
  font-size: 1rem;
  font-weight: 700;
}

/* Мобильная адаптация */
@media (max-width: 600px) {
  .page-title {
    font-size: 1.15rem;
  }

  .text-block {
    padding: 20px 18px;
  }
}

/* светофор */
.traffic-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.traffic-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.95rem;
  font-weight: 700;
}

.circle {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  flex-shrink: 0;
}

.red    { background: #e02020; }
.yellow { background: #f0c020; }
.green  { background: #28a028; }