/* =========================================================================
   Latest Posts (.post-round): lock circular thumbnail aspect ratio
   Native CSS gives .image border-radius:50% + overflow:hidden but no size,
   so portrait images stretch the container into tall ovals.
   ========================================================================= */
.post-round .image {
    aspect-ratio: 1 / 1;       /* perfect circle */
    width: 100%;
    overflow: hidden;
    border-radius: 50%;
}
.post-round .image a {
    display: block;
    width: 100%;
    height: 100%;
}
.post-round .image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 50%;
    transition: transform .5s ease-in-out;
}
.post-round .image:hover img { transform: scale(1.05); }

/* =========================================================================
   Rich text (.entry-content): comprehensive HTML formatting
   This template uses global "* { list-style: none !important }" which kills
   default list bullets — must override with !important inside .entry-content.
   ========================================================================= */
.entry-content {
    color: #2d3748;
    font-size: 16px;
    line-height: 1.8;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
/* Headings */
.entry-content h1 { font-size: 32px; line-height: 1.3;  margin: 32px 0 16px; font-weight: 700; color: #111; }
.entry-content h2 { font-size: 28px; line-height: 1.3;  margin: 28px 0 14px; font-weight: 700; color: #111; }
.entry-content h3 { font-size: 24px; line-height: 1.35; margin: 24px 0 12px; font-weight: 600; color: #111; }
.entry-content h4 { font-size: 20px; line-height: 1.4;  margin: 20px 0 10px; font-weight: 600; color: #111; }
.entry-content h5 { font-size: 18px; line-height: 1.4;  margin: 18px 0 10px; font-weight: 600; color: #111; }
.entry-content h6 { font-size: 16px; line-height: 1.4;  margin: 16px 0  8px; font-weight: 600; color: #111; }
/* Paragraphs */
.entry-content p { margin: 0 0 16px; color: #2d3748; }
/* Links */
.entry-content a {
    color: #ff4d6d; text-decoration: underline; text-underline-offset: 3px;
}
.entry-content a:hover { color: #d92b40; }
/* Lists — override global "* { list-style: none !important }" */
.entry-content ul, .entry-content ol {
    margin: 0 0 16px !important;
    padding-left: 28px !important;
}
.entry-content ul li {
    list-style: disc !important;
    display: list-item !important;
    margin-bottom: 8px;
}
.entry-content ol li {
    list-style: decimal !important;
    display: list-item !important;
    margin-bottom: 8px;
}
.entry-content ul ul, .entry-content ol ol { margin: 8px 0 !important; }
.entry-content ul li::marker { color: #ff4d6d; }
/* Blockquote */
.entry-content blockquote {
    margin: 24px 0;
    padding: 20px 24px;
    background: #f8f9fc;
    border-left: 4px solid #ff4d6d;
    border-radius: 6px;
    color: #4a5568;
    font-style: italic;
}
.entry-content blockquote p { margin-bottom: 0; color: #4a5568; }
/* Tables — wrap with .np-table-wrap (JS-injected) for horizontal scroll */
.np-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
    margin: 20px 0;
    border-radius: 6px;
}
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}
.entry-content table thead { background: #f1f4ff; }
.entry-content table th,
.entry-content table td {
    padding: 10px 14px;
    border: 1px solid #e5e7eb;
    text-align: left;
    vertical-align: top;
    font-size: 14px;
}
.entry-content table th {
    font-weight: 600; color: #111;
    background: #f1f4ff; white-space: nowrap;
}
.entry-content table tr:nth-child(even) td { background: #fafbfd; }
/* Inline code */
.entry-content code {
    background: #f1f4ff;
    color: #d92b40;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: 'Menlo','Monaco','Courier New',monospace;
    font-size: .9em;
}
/* Code block */
.entry-content pre {
    background: #1a2952;
    color: #e5e9f7;
    padding: 16px 20px;
    border-radius: 8px;
    overflow-x: auto;
    margin: 20px 0;
    font-size: 13.5px;
    line-height: 1.6;
    -webkit-overflow-scrolling: touch;
}
.entry-content pre code { background: transparent; color: inherit; padding: 0; border-radius: 0; }
/* Horizontal rule */
.entry-content hr { border: 0; height: 1px; background: #e5e7eb; margin: 32px 0; }
/* Image responsive */
.entry-content img { max-width: 100%; height: auto; border-radius: 6px; margin: 16px 0; display: block; }
/* Strong/em */
.entry-content strong { font-weight: 700; color: #111; }
.entry-content em { font-style: italic; }

/* ===== Rich text dark mode (this template uses .dark class) ===== */
.dark .entry-content { color: #d1d5db; }
.dark .entry-content h1,
.dark .entry-content h2,
.dark .entry-content h3,
.dark .entry-content h4,
.dark .entry-content h5,
.dark .entry-content h6 { color: #fff !important; }
.dark .entry-content p { color: #d1d5db; }
.dark .entry-content a { color: #ff6b8b; }
.dark .entry-content a:hover { color: #ff9aaa; }
.dark .entry-content blockquote { background: #1a2952; color: #d1d5db; border-left-color: #ff4d6d; }
.dark .entry-content blockquote p { color: #d1d5db; }
.dark .entry-content table thead,
.dark .entry-content table th { background: #1a2952; color: #fff; }
.dark .entry-content table th,
.dark .entry-content table td { border-color: rgba(255,255,255,.08); color: #d1d5db; }
.dark .entry-content table tr:nth-child(even) td { background: rgba(255,255,255,.02); }
.dark .entry-content code { background: #1a2952; color: #ffb3c1; }
.dark .entry-content pre { background: #0a0f1f; color: #e5e9f7; }
.dark .entry-content hr { background: rgba(255,255,255,.1); }
.dark .entry-content strong { color: #fff; }
.dark .entry-content ul li::marker { color: #ff4d6d; }
