/* Карточка описания (под post-card) */
.desc-card{
  margin-top:14px;
  background:#ffffff;
  border-radius:12px;
  overflow:hidden;
  box-sizing:border-box;
  border:1px solid rgba(0,0,0,.06);
}

/* Шапка */
.desc-card__head{
  padding:14px 16px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
  border-bottom:1px solid rgba(0,0,0,.06);
  position:relative;
}

.desc-card__head:after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:-1px;
  height:3px;
  background:linear-gradient(90deg, #2dc26b 0%, #2dc26b 40%, rgba(45,194,107,0) 100%);
  border-radius:999px;
}

.desc-card__title{
  margin:0;
  font-size:1.25rem;
  line-height:1.25;
  font-weight:800;
  color:#2c3e50;
}

/* Реклама (если есть) */
.desc-card__ad{
  padding:12px 16px 0;
}

/* Тело описания */
.desc-card__body{
  padding:14px 16px 16px;
  color:#1f2d3d;
  font-size:16px;
  line-height:1.65;
}

/* Типографика внутри full-story */
.desc-card__body p{
  margin:0 0 12px;
}

.desc-card__body h3,
.desc-card__body h4{
  margin:18px 0 10px;
  line-height:1.25;
  color:#2c3e50;
}

.desc-card__body a{
  color:#1e88e5;
  text-decoration:none;
  border-bottom:1px dashed rgba(30,136,229,.35);
}

.desc-card__body a:hover{
  border-bottom-style:solid;
}

.desc-card__body ul,
.desc-card__body ol{
  margin:0 0 12px 20px;
}

.desc-card__body li{
  margin:6px 0;
}

.desc-card__body img{
  max-width:100%;
  height:auto;
  display:block;
  margin:12px auto;
  border-radius:12px;
}

.desc-card__body blockquote{
  margin:12px 0;
  padding:12px 14px;
  background:#f6fbf8;
  border-left:4px solid #2dc26b;
  border-radius:10px;
}

/* Если внутри описания случайно прилетят таблицы */
.desc-card__body table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  margin:12px 0;
}

.desc-card__body td,
.desc-card__body th{
  padding:10px 12px;
  border-bottom:1px solid rgba(0,0,0,.06);
}

.desc-card__body tr:last-child td,
.desc-card__body tr:last-child th{
  border-bottom:none;
}

/* Мобилка */
@media (max-width: 480px){
  .desc-card__head{ padding:12px 12px; }
  .desc-card__head:after{ left:12px; right:12px; }
  .desc-card__ad{ padding:10px 12px 0; }
  .desc-card__body{ padding:12px; font-size:15px; }
  .desc-card__title{ font-size:1.15rem; }
}

/* -------------------------
   БАЗА для описания
------------------------- */
.desc-card__body{
  color:#1f2d3d;
  font-size:16px;
  line-height:1.65;
}

.desc-card__body p{ margin:0 0 12px; }

.desc-card__body h3,
.desc-card__body h4{
  margin:18px 0 10px;
  line-height:1.25;
  color:#2c3e50;
}

.desc-card__body hr{
  border:none;
  height:1px;
  background:rgba(0,0,0,.08);
  margin:16px 0;
}

/* Ссылки */
.desc-card__body a{
  color:#1e88e5;
  text-decoration:none;
  border-bottom:1px dashed rgba(30,136,229,.35);
}
.desc-card__body a:hover{ border-bottom-style:solid; }

/* Списки */
.desc-card__body ul,
.desc-card__body ol{
  margin:0 0 12px 20px;
}
.desc-card__body li{ margin:6px 0; }

/* Картинки/скрины */
.desc-card__body img{
  max-width:100%;
  height:auto;
  display:block;
  margin:12px auto;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

/* Если внутри описания есть блоки типа full_img */
.desc-card__body .full_img{
  text-align:center;
  margin:12px 0;
}

/* -------------------------
   СПОЙЛЕРЫ: несколько популярных вариантов разметки
------------------------- */

/* Вариант 1: HTML details/summary (если где-то используется) */
.desc-card__body details{
  margin:12px 0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.desc-card__body details > summary{
  cursor:pointer;
  user-select:none;
  padding:12px 14px;
  font-weight:800;
  color:#2c3e50;
  background:linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
  list-style:none;
}
.desc-card__body details > summary::-webkit-details-marker{ display:none; }
.desc-card__body details[open] > summary{
  border-bottom:1px solid rgba(0,0,0,.08);
}
.desc-card__body details > *:not(summary){
  padding:12px 14px 14px;
}

/* Вариант 2: DLE/разные движки: .spoiler, .dle_spoiler и т.п. */
.desc-card__body .spoiler,
.desc-card__body .dle_spoiler,
.desc-card__body .dle-spoiler{
  margin:12px 0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

/* Заголовки спойлера (подстраховка под разные классы/структуры) */
.desc-card__body .spoiler .title,
.desc-card__body .spoiler_title,
.desc-card__body .dle_spoiler .title,
.desc-card__body .dle-spoiler .title,
.desc-card__body .dle_spoiler_title{
  padding:12px 14px;
  font-weight:800;
  color:#2c3e50;
  background:linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
  border-bottom:1px solid rgba(0,0,0,.08);
}

/* Тело спойлера */
.desc-card__body .spoiler .text,
.desc-card__body .spoiler_text,
.desc-card__body .dle_spoiler .text,
.desc-card__body .dle-spoiler .text,
.desc-card__body .dle_spoiler_text{
  padding:12px 14px 14px;
}

/* -------------------------
   КОД: inline + блоки
------------------------- */

/* inline code */
.desc-card__body :not(pre) > code{
  background:#f3f6f9;
  border:1px solid rgba(0,0,0,.08);
  padding:2px 6px;
  border-radius:8px;
  font-size:.95em;
}

/* pre code */
.desc-card__body pre,
.desc-card__body .dle_code,
.desc-card__body .dle-code,
.desc-card__body .code,
.desc-card__body .prettyprint{
  margin:12px 0;
  background:#0f172a;               /* тёмный */
  color:#e5e7eb;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  box-shadow:0 8px 22px rgba(0,0,0,.14);
}

/* если это именно pre */
.desc-card__body pre{
  padding:14px;
}

/* если движок кладёт код внутрь pre/code */
.desc-card__body pre code{
  background:transparent;
  border:none;
  padding:0;
  color:inherit;
  font-size:14px;
  line-height:1.6;
  display:block;
  white-space:pre;
}

/* Убираем “адский” перенос в коде */
.desc-card__body pre{ white-space:pre; }

/* -------------------------
   Таблицы (на всякий случай)
------------------------- */
.desc-card__body table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
  margin:12px 0;
}
.desc-card__body td,
.desc-card__body th{
  padding:10px 12px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.desc-card__body tr:last-child td,
.desc-card__body tr:last-child th{ border-bottom:none; }

/* -------------------------
   Мобилка
------------------------- */
@media (max-width: 480px){
  .desc-card__body{ font-size:15px; }
  .desc-card__body pre code{ font-size:13px; }
}


/* Спойлеры формата: .title_spoiler + .text_spoiler */
.desc-card__body .title_spoiler{
  margin:12px 0 0;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
  display:flex;
  align-items:center;
  gap:10px;

  cursor:pointer;
  user-select:none;
}

/* ссылки внутри заголовка — визуально как обычный текст */
.desc-card__body .title_spoiler a{
  color:#2c3e50;
  text-decoration:none;
  border-bottom:none;
  font-weight:800;
}

/* чтобы кликом по ссылке не было “синих подчеркиваний/фокусов” */
.desc-card__body .title_spoiler a:focus{
  outline:none;
}

/* иконка-стрелка */
.desc-card__body .title_spoiler svg{
  display:block;
  transition:transform .18s ease;
  color:#2dc26b;
  flex:0 0 auto;
}

/* когда открыт */
.desc-card__body .title_spoiler.is-open{
  background:#f6fbf8;
  border-color:rgba(45,194,107,.35);
}

.desc-card__body .title_spoiler.is-open svg{
  transform:rotate(180deg);
}

/* тело спойлера */
.desc-card__body .text_spoiler{
  margin:0 0 12px;
  padding:12px 14px 14px;
  border:1px solid rgba(0,0,0,.08);
  border-top:none;
  border-radius:0 0 12px 12px;
  background:#ffffff;
}

/* аккуратнее последний абзац */
.desc-card__body .text_spoiler > p:last-child{
  margin-bottom:0;
}

/* quote_block из DLE/шаблона внутри описания */
.desc-card__body .quote_block{
  margin:12px 0;
}

.desc-card__body .quote{
  background:#fff7f7;
  border:1px solid rgba(224,62,45,.22);
  border-left:4px solid #e03e2d;
  border-radius:12px;
  padding:12px 14px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.desc-card__body .quote_body{
  color:#2c3e50;
}

.desc-card__body{
  line-height:1.65;
}
.desc-card__body p{
  margin:0 0 12px;
}

/* Open Sans + более “сайтный” тон */
.desc-card__body{
  font-family: "Open Sans", Arial, sans-serif;
  font-size:16px;
  line-height:1.75;
  color:#22313f;
}

/* Заголовки внутри описания */
.desc-card__body h3,
.desc-card__body h4{
  font-family: "Open Sans", Arial, sans-serif;
  font-weight:800;
  letter-spacing:.1px;
}

/* Жирный текст */
.desc-card__body b,
.desc-card__body strong{
  font-weight:800;
  color:#1d2a36;
}

/* Курсив/второстепенный текст */
.desc-card__body i,
.desc-card__body em{
  color:#546574;
}

/* Переносы из <br> — аккуратно, без “простыни” */
.desc-card__body br{
  display:block;
  margin:5px 0;
  content:none;
}

.desc-card{
  border:1px solid rgba(0,0,0,.07);
  box-shadow:0 12px 34px rgba(0,0,0,.07);
}

.desc-card__title{
  font-family: "Open Sans", Arial, sans-serif;
  font-weight:900;
}