/**
 * Hub — Single Post Content Styles
 * Стили контента статьи: таблицы, списки, типографика,
 * изображения, blockquote, code, hr.
 */

/* ===== TABLES ===== */
.blog-post__content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1em;
  display: table !important;
  overflow: visible !important;
}
.blog-post__content table th,
.blog-post__content table td {
  padding: 8px;
  border: 1px solid #ddd;
  text-align: left;
  vertical-align: middle;
  white-space: normal;
  width: auto;
}
.blog-post__content table th {
  background-color: #f9f9f9;
  color: #333;
  font-weight: bold;
}
.blog-post__content table tr:nth-child(even) {
  background-color: #f2f2f2;
}

/* ===== LISTS ===== */
.blog-post__content ol,
.blog-post__content ul {
  margin: 1em 0 !important;
  padding-left: 40px !important;
}
.blog-post__content li {
  margin-bottom: 0.5em !important;
  display: list-item;
  line-height: 1.6 !important;
}
.blog-post__content li::before {
  content: none !important;
}
.blog-post__content ul li {
  list-style-type: disc !important;
  color: inherit !important;
}
.blog-post__content ol li {
  list-style-type: decimal !important;
  color: inherit !important;
}

/* ===== TYPOGRAPHY ===== */
.blog-post__content {
  font-family: inherit !important;
  line-height: 1.6 !important;
  font-size: inherit !important;
  color: inherit !important;
}
.blog-post__content p {
  margin-bottom: 1em !important;
  text-align: left !important;
  text-indent: 0 !important;
}
.blog-post__content h1,
.blog-post__content h2,
.blog-post__content h3,
.blog-post__content h4,
.blog-post__content h5,
.blog-post__content h6 {
  font-family: inherit !important;
  font-weight: 700 !important;
  color: inherit !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
  line-height: 1.3 !important;
  text-align: left !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.blog-post__content h1 { font-size: 2.5rem !important; }
.blog-post__content h2 { font-size: 2.2rem !important; }
.blog-post__content h3 { font-size: 1.8rem !important; }
.blog-post__content h4 { font-size: 1.5rem !important; }

/* ===== LINKS ===== */
.blog-post__content a {
  color: #007bff !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}
.blog-post__content a:hover {
  color: #0056b3 !important;
  text-decoration: underline !important;
}

/* ===== BOLD / ITALIC ===== */
.blog-post__content strong,
.blog-post__content b {
  font-weight: 700 !important;
  color: inherit !important;
  background-color: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}
.blog-post__content em,
.blog-post__content i {
  font-style: italic !important;
  color: inherit !important;
}

/* ===== BLOCKQUOTE ===== */
.blog-post__content blockquote {
  border-left: 4px solid #ccc !important;
  background-color: transparent !important;
  padding: 10px 20px !important;
  margin: 1em 0 !important;
  font-style: italic !important;
  font-size: inherit !important;
  color: inherit !important;
  box-shadow: none !important;
}
.blog-post__content blockquote p {
  margin-bottom: 0 !important;
  text-indent: 0 !important;
}

/* ===== IMAGES ===== */
.blog-post__content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 1em 0 !important;
  display: block !important;
}
.blog-post__content img.alignleft {
  float: left !important;
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.blog-post__content img.alignright {
  float: right !important;
  margin-left: 1em !important;
  margin-bottom: 1em !important;
}
.blog-post__content img.aligncenter {
  display: block !important;
  margin: 1em auto !important;
}
.blog-post__content .wp-caption {
  max-width: 100% !important;
  margin: 1em 0 !important;
}
.blog-post__content .wp-caption-text {
  font-size: 14px !important;
  color: inherit !important;
  text-align: center !important;
  font-style: italic !important;
  margin-top: 5px !important;
}

/* ===== CODE / PRE ===== */
.blog-post__content pre {
  background-color: #f4f4f4 !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  padding: 1em !important;
  overflow-x: auto !important;
  font-family: 'Courier New', monospace !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 1em 0 !important;
}
.blog-post__content code {
  background-color: #f4f4f4 !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  padding: 2px 4px !important;
  font-family: 'Courier New', monospace !important;
  font-size: 14px !important;
  color: inherit !important;
}

/* ===== HR ===== */
.blog-post__content hr {
  border: none !important;
  height: 1px !important;
  background: #ccc !important;
  margin: 2em 0 !important;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
  .blog-post__content {
    font-size: inherit !important;
    line-height: 1.6 !important;
  }
  .blog-post__content p {
    text-indent: 0 !important;
    margin-bottom: 1em !important;
  }
  .blog-post__content h1 { font-size: 2rem !important; margin-top: 1.5em !important; }
  .blog-post__content h2 { font-size: 1.8rem !important; margin-top: 1.5em !important; }
  .blog-post__content h3 { font-size: 1.5rem !important; margin-top: 1.5em !important; }
  .blog-post__content h4 { font-size: 1.3rem !important; margin-top: 1.5em !important; }
  .blog-post__content blockquote {
    padding: 10px 15px !important;
    margin: 1em 0 !important;
  }
  .blog-post__content ul,
  .blog-post__content ol {
    padding-left: 30px !important;
    margin: 1em 0 !important;
  }
  .blog-post__content img {
    margin: 1em 0 !important;
  }
  .blog-post__content img.alignleft,
  .blog-post__content img.alignright {
    float: none !important;
    margin: 1em auto !important;
    display: block !important;
  }
}
