:root{
      --max-w:800px;
      --accent:#1f6feb;
      --muted:#666;
      --bg:#fbfbfc;
      --pdf-red:#d9534f;
      --radius:12px;
      font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    }
    html,body{height:100%;background:var(--bg);margin:0}
    .container{max-width:var(--max-w);margin:28px auto;padding:24px;background:#fff;border-radius:14px;box-shadow:0 6px 24px rgba(17,24,39,0.06);}

    /* Header / nav */
    .topbar{display:flex;flex-direction:column;gap:12px}
    .brand{display:flex;align-items:center;gap:12px}
    .brand h1{margin:0;font-size:18px;color:#0f172a}
    .brand .subtitle{font-size:12px;color:var(--muted)}

    nav.main{display:flex;flex-wrap:wrap;gap:8px;align-items:center;position:relative}
    nav.main a,
    nav.main .dropdown{display:inline-block;padding:8px 12px;border-radius:8px;text-decoration:none;color:var(--accent);background:transparent;font-size:14px;cursor:pointer}
    nav.main a:hover,
    nav.main .dropdown:hover{background:#f1f8ff}

    /* Dropdown */
    .dropdown-wrapper{position:relative}
    .dropdown-menu{
      display:none;
      position:absolute;
      left:0;
      top:100%; /* меню примыкает к низу кнопки */
      margin-top:0; /* убираем внешний зазор */
      padding:10px 10px 10px 10px; /* внутренний отступ */
      border-radius:10px;
      background:#fff;
      box-shadow:0 8px 20px rgba(2,6,23,0.06);
      min-width:220px;
      border:1px solid #eef3ff;
      z-index:100;
    }
    .dropdown-menu a{
      display:block;
      padding:6px 8px;
      color:#0f172a;
      text-decoration:none;
      border-radius:6px;
      font-size:14px;
    }
    .dropdown-menu a:hover{background:#f7fbff}
    .dropdown-wrapper:hover .dropdown-menu{display:block}

    /* Article header */
    .article-head{margin-top:18px;border-left:4px solid var(--accent);padding:14px 18px;background:linear-gradient(180deg,#ffffff,#fbfdff);border-radius:10px}
    .article-head h2{margin:0;font-size:20px;color:#08203a; margin-top: 10px;}
    .meta{margin-top:8px;color:var(--muted);font-size:13px}

    /* Download area */
    .downloads{display:flex;flex-direction:column;gap:10px;margin:18px 0}
    .pdf-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;background:#fff;border:1px solid #f0f4fb}
    .pdf-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;width:100%; cursor: pointer;}
    .pdf-icon{width:56px;height:64px;flex:0 0 56px;display:flex;align-items:center;justify-content:center}
    .pdf-icon .doc{width:40px;height:52px;border-radius:6px;background:linear-gradient(180deg,#fff,#fff);border:2px solid var(--pdf-red);position:relative;box-shadow:0 6px 18px rgba(217,83,79,0.08)}
    .pdf-icon .doc::after{content:"PDF";position:absolute;right:4px;bottom:4px;font-weight:700;color:var(--pdf-red);font-size:10px}
    .pdf-icon .doc .title{margin-top: 10px; font-size: 12px; text-align: center; color: var(--pdf-red); font-weight: 500;}
/*    .pdf-meta{flex:1;min-width:0; word-break: break-word;}*/
    .pdf-meta {
  flex: 1;
  min-width: 0;               /* важно для flex */
  word-break: normal;         /* сброс break-word */
  overflow-wrap: break-word;  /* перенос слов */
  white-space: normal;        /* ключевое! */
}

    .pdf-meta .name{font-weight:600;color:#07203a;font-size:15px;word-break:break-word}
    .pdf-meta .desc{color:var(--muted);font-size:13px;margin-top:6px; overflow-wrap: break-word;
      display: block;          /* ключевое! */
  white-space: normal;
  overflow-wrap: break-word;
}
    .pdf-actions{flex:0 0 auto}
    .btn-download{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:var(--pdf-red);color:#fff;text-decoration:none;font-weight:600}

.pdf-meta .desc a {
  display: inline;       
  color: var(--accent);  
  text-decoration: underline;
  white-space: normal;   /* обязательно */
}


    /* Article body */
    article{margin-top:18px;line-height:1.6;color:#0b233a}
    article h3{color:#0b233a}
    .lead{font-size:15px;color:#11324d;margin-top:6px}
    .example{background:#f7fbff;padding:12px;border-radius:8px;margin:10px 0;border:1px solid #e6f0ff}

    /* Footer links */
    .footer-links{margin-top:20px;border-top:1px dashed #eef3ff;padding-top:14px;display:flex;flex-wrap:wrap;gap:8px; align-items: center; justify-content: center;}
    .footer-links a{font-size:13px;color:var(--accent);text-decoration:none;padding:6px 8px;border-radius:6px}

    /* Responsive */
    @media (max-width:520px){.pdf-row{flex-direction:row;gap:8px}.brand h1{font-size:16px}}


    /* Common */
    a.material-link {color:var(--accent); text-decoration: none; border-bottom: 1px dashed var(--accent); transition: all 0.3s;}
    a.material-link:hover {color:brown; border-bottom: none;}

    a.category-link {color:var(--accent); text-decoration: none; border-bottom: 1px dashed var(--accent); transition: all 0.3s;}
    a.category-link:hover {color:brown; border-bottom: none;}

    a:hover{color:brown;}
    a.back-link {
        color: white;
        text-decoration: none;
        border: 1px dashed var(--accent);
        background: var(--accent);
        padding: 4px 10px;
        border-radius: 9px;
        transition: all 0.3s;
    }
    a.back-link:hover{
      color: var(--accent);
      background: white;
    }

    .materials-list{
      line-height: 1.7;
    }

    .download-ul{ 
      text-align: center; 
      margin: 10px auto;
      font-size: 18px;
    }

    .download-ul span{ 
      display: inline-block;
      padding: 0 5px;
    }

/* Таймер */
    #download-timer-modal {
  display: none;
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background: rgba(0,0,0,0.6);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#download-timer-modal div {
  background:#fff;
  padding:30px 40px;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,0.3);
  max-width:400px;
  width:90%;
}

#download-timer-modal h2 {
  margin-bottom:20px;
}

#timer-count {
  font-weight: 700;
  color: var(--pdf-red);
}

#countdown{
  background-color: var(--pdf-red);
  padding: 5px;
  color: white;
  border-radius: 5px;
}

.index-theme__container{
    max-width: 100%;
    margin: 0 auto 2rem;
}

.index-theme__header{
    background: linear-gradient(135deg, var(--accent), var(--accent));
    border-left: 5px solid var(--accent);
    font-size: 1.4rem;
    padding: 0.8rem 1.2rem;
    margin: 0 0 0.5rem;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 8px;
    font-weight: 400;
    color: white;
}

.index-theme__card-container{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
}
.index-theme__card-link {
    flex-basis: calc(100% / 3 - 1rem);
}
.index-theme__card-link:hover h3{
    color: white;
}

.index-theme__card-link h3{
    margin: 0 0 0.4rem;
    color: var(--accent);
}

.index-theme__card-link p{
    margin: 0;
    color: inherit;
}

.index-theme__card-link {
    background-color: #ffffff;
    border: 1px solid var(--accent);
    border-left: 5px solid var(--accent);
    border-radius: 10px;
    padding: 1rem;
    flex: 1 1 220px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    transition: background-color 0.3s, color 0.3s;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
    flex: 1 1 220px;
}

.index-theme__card-link:hover {
    text-decoration: none;
    background-color: var(--accent);
    color: white;
    border: 1px solid var(--accent);
    border-left: 5px solid var(--accent);
}


