:root{
  --bg:#ffffff;
  --text:#1a1a1a;
  --muted:#666666;
  --border:#e5e7eb;
  --primary:#003e76; /* академический синий */
  --primary-600:#1a5fd1;
  --surface:#f7f8fa;
}

h2 {
    margin-block-start: 0.0em;
    margin-block-end: 0.0em;
}

h3 {
    margin-block-start: 0.0em;
    margin-block-end: 0.0em;
}

h4 {
    margin-block-start: 0.0em;
    margin-block-end: 0.5em;
}

.title-3d {
    font-size: 20px;
    font-weight: 800;
    font-family: Arial, sans-serif;
    color: #ffffff; /* белый текст */
    text-shadow:
        1px 1px 0 #e0e0e0,
        1px 1px 0 #c9c9c9,
        1px 1px 0 #b6b6b6;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.title {
    display: inline-block;          /* чтобы фон был только вокруг текста */
    background-color: #003e76;      /* синий фон */
    padding: 8px 22px;              /* отступы вокруг текста */
    border-radius: 20px;
}


*{box-sizing:border-box}
html{font-family:Montserrat, system-ui, -apple-system, Segoe UI, Helvetica, Arial, sans-serif; color:var(--text); background:var(--bg)}
body{margin:0; line-height:1.6}

.container{max-width:1100px; margin:0 auto; padding:0 16px}

.site-header{
    border-bottom:1px solid var(--border); 
    background:#fff; 
    position:sticky; 
    top:0; 
    z-index:100
}

.logo{display:inline-flex; align-items:center; text-decoration:none; text-decoration:none; color:var(--text); font-weight:700; font-size:20px}
.logo img{height:70px; width:auto; display:block}

.header-grid{display:flex; align-items:center; gap:16px; height:84px}
.nav{display:flex; gap:12px; margin-left:auto}
.nav a{color:var(--muted); text-decoration:none; padding:8px 10px; border-radius:8px}
.nav a:hover{
  color: #1a1a1a; 
  background:var(--surface);
}
.nav .active{
  color: #101010; 
  font-size: large;
  background:var(--surface);
}
.nav-toggle{display:none; border:none; background:none; margin-left:auto; cursor:pointer}
/* .nav-toggle span{display:block; width:22px; height:2px; background:var(--text); margin:5px 0} */

.hero{padding:20px 0 60px 20px}
.subtitle{color:var(--muted)}
.hero-actions{display:flex; gap:12px; margin-top:16px}

.btn{
    display:inline-flex; 
    align-items:center; 
    justify-content:center; 
    padding:10px 14px; 
    border-radius:15px; 
    text-decoration:none; 
    cursor:pointer; 
    border:1px solid transparent
}

.btn-primary{
    background:var(--primary); 
    color:#fff;
    transition: all 0.2s ease-in;
    border: solid var(--primary);
}
.btn-primary:hover{
    background-color: #fff;
    color: var(--primary);
}

.btn-outline{
  border-color:var(--border); 
  color:var(--text); 
  background:#fff;
  transition: all 0.2s ease-in;
}
.btn-outline:hover{border-color:var(--primary); color:var(--primary)}

.page-header{padding:24px 15px; border-bottom:1px solid var(--border); margin-bottom:16px}

.grid-3{
  display:grid; 
  grid-template-columns:repeat(3,1fr); 
  gap:20px;
  padding:0px 30px 30px 10px;
 }
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:16px}
.cards-list{
  display:grid; 
  grid-template-columns:repeat(3,1fr); 
  margin-left: 15px;
  margin-right: 15px;
  gap:16px
}

.card{
    background:#fff; 
    border:1px solid var(--border); 
    border-radius:12px; 
    padding:16px;
    box-shadow: 0px 10px 20px rgba(126, 155, 189, 0.40);
}

.search-text {
  box-shadow: 0px 10px 30px rgba(126, 155, 189, 0.40);
}

#quizQuestions .card {
  margin:16px;
}

/* .card:hover {
    transform: translateY(-10px);
} */

.link{color:var(--primary); text-decoration:none}
.link:hover{text-decoration:underline}

.filters{margin:20px 20px}
.filters-grid{
  display:grid; 
  grid-template-columns:200px 200px 300px 1fr; 
  gap:12px;
}
.filters .grow{grid-column:3}

input[type="search"], input[type="text"], input[type="email"], input[type="url"], select, textarea{
  width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text)
}
label{
  margin-left:10px;
  margin-bottom:6px;
  font-size:16px;
}

.form-grid{
  display:grid; 
  grid-template-columns:1fr 1fr; 
  gap:12px;
}
.form-grid .full{grid-column:1 / -1}
.form-status{color:var(--muted); margin-top:8px}

.quiz-runner .card{max-width:800px; margin:0 auto}
.quiz-actions{display:flex; gap:12px; margin-top:12px}
.quiz-result{margin-top:12px; font-weight:500}

.search-wide{
  margin-top:24px;
  padding:0px 20px 10px 20px;
}
.searchbar{
  display:flex; 
  gap:8px;
  padding:20px 20px 0px 0px;
}
.search-results{
  margin-top:32px;
}
.list{list-style:none; padding:0; margin:0}
.list li{padding:8px 0; border-bottom:1px solid var(--border)}

.site-footer{
  border-top:1px solid var(--border); 
  background:#fff; 
  margin-top:40px;
  padding:0px 30px 0px 30px
}
.footer-grid{
  display:flex; 
  justify-content:space-between;
  padding:20px 0;
}

.hidden{display:none !important}

/* Адаптивность */
@media (max-width:900px){
  .grid-3{grid-template-columns:1fr 1fr}
  .cards-list{grid-template-columns:1fr 1fr}
  .filters-grid{grid-template-columns:1fr 1fr}
  .filters .grow{grid-column:1 / -1}
}

/* Появление бургера при низкой ширине сайта */
@media (max-width:792px){
  .header-grid{height:auto; padding:10px 0;}
  .nav{display:none; flex-direction:column;}
  .nav.open{display:flex; width:100%}
  .nav a{padding:12px}
  .nav-toggle{display:block}
  .grid-3,.grid-2,.cards-list{grid-template-columns:1fr}
  .filters-grid{grid-template-columns:1fr}
}