/* ── Blog Styles – BYD HC อ้อมน้อย ── */
.blog-article { padding: 0 0 80px; background: var(--body-bg,#f4f7fb); }
.blog-layout { display: grid; grid-template-columns: 1fr 300px; gap: 48px; padding-top: 48px; align-items: start; }
.blog-header { margin-bottom: 36px; }
.blog-cats { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.blog-cat { background: #eff6ff; color: var(--blue,#0057ff); font-size: .75rem; font-weight: 700; padding: 4px 12px; border-radius: 50px; text-transform: uppercase; letter-spacing: .5px; }
.blog-header h1 { font-size: clamp(1.5rem,3vw,2.2rem); font-weight: 900; color: var(--navy2,#0a1628); line-height: 1.25; margin-bottom: 14px; }
.blog-meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: .82rem; color: var(--gray,#8b9ab5); margin-bottom: 18px; }
.blog-intro { font-size: 1.05rem; color: #475569; line-height: 1.8; padding: 18px 20px; background: white; border-left: 4px solid var(--blue,#0057ff); border-radius: 0 8px 8px 0; }

/* Article body */
.blog-main h2 { font-size: 1.4rem; font-weight: 800; color: var(--navy2,#0a1628); margin: 36px 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--gray-lt,#dde6f0); }
.blog-main h3 { font-size: 1.1rem; font-weight: 700; color: var(--navy2,#0a1628); margin: 24px 0 8px; }
.blog-main p { font-size: .97rem; color: #374151; line-height: 1.85; margin-bottom: 16px; }
.blog-main a { color: var(--blue,#0057ff); text-decoration: underline; text-decoration-color: rgba(0,87,255,.3); }
.blog-main a:hover { text-decoration-color: var(--blue,#0057ff); }

/* Image slots */
.img-slot { margin: 28px 0; background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.img-slot-img { width: 100%; max-height: 400px; object-fit: contain; background: linear-gradient(145deg,#e8f0fe,#d0e4fc); padding: 20px; display: block; }
.img-slot-placeholder {
  background: linear-gradient(145deg,#f0f4ff,#e4ecfe);
  border: 2px dashed #a0b8f0; border-radius: 10px;
  min-height: 240px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; color: #6080b0; padding: 32px;
  font-size: .95rem; font-weight: 600;
}
.img-slot-placeholder span { font-size: 1.5rem; margin-bottom: 10px; display: block; }
.img-slot-placeholder p { font-size: .8rem; color: #8090b0; margin: 0; font-weight: 400; }
.img-caption { font-size: .8rem; color: var(--gray,#8b9ab5); padding: 8px 14px 10px; text-align: center; font-style: italic; }

/* Tables */
.price-table-wrap, .spec-table-wrap { overflow-x: auto; margin: 20px 0; }
.blog-table { width: 100%; border-collapse: collapse; font-size: .88rem; background: white; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.07); }
.blog-table th { background: var(--navy2,#0a1628); color: white; padding: 12px 14px; text-align: left; font-size: .82rem; }
.blog-table td { padding: 10px 14px; border-bottom: 1px solid #f0f4f8; }
.blog-table tr:hover td { background: #f8faff; }
.blog-table a { color: var(--blue,#0057ff); text-decoration: none; font-weight: 600; }

/* Lists */
.blog-list { padding-left: 0; list-style: none; margin: 16px 0 24px; }
.blog-list li { padding: 8px 0 8px 28px; position: relative; border-bottom: 1px solid #f0f4f8; font-size: .95rem; color: #374151; }
.blog-list li::before { content: '✓'; position: absolute; left: 0; color: var(--blue,#0057ff); font-weight: 800; }

/* Callout boxes */
.callout { padding: 18px 22px; border-radius: 10px; margin: 24px 0; font-size: .93rem; line-height: 1.7; }
.callout-blue { background: #eff6ff; border-left: 4px solid var(--blue,#0057ff); color: #1e3a5f; }
.callout-green { background: #f0fdf4; border-left: 4px solid #16a34a; color: #14532d; }
.callout-orange { background: #fff7ed; border-left: 4px solid #ea580c; color: #7c2d12; }
.callout-cyan { background: #ecfeff; border-left: 4px solid #0891b2; color: #164e63; }

/* CTA in article */
.blog-cta { background: linear-gradient(135deg,var(--navy2,#0a1628),#0e2040); border-radius: 14px; padding: 32px; text-align: center; margin: 36px 0; }
.blog-cta h3 { color: white; font-size: 1.3rem; font-weight: 800; margin-bottom: 8px; }
.blog-cta p { color: rgba(255,255,255,.6); margin-bottom: 20px; }
.blog-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Related articles */
.blog-related { margin-top: 40px; padding-top: 32px; border-top: 2px solid var(--gray-lt,#dde6f0); }
.blog-related h3 { font-size: 1.1rem; font-weight: 800; color: var(--navy2,#0a1628); margin-bottom: 16px; }
.related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.related-card { display: flex; align-items: center; gap: 10px; background: white; border: 1px solid var(--gray-lt,#dde6f0); border-radius: 8px; padding: 12px 14px; font-size: .88rem; font-weight: 600; color: var(--navy2,#0a1628); text-decoration: none; transition: all .2s; }
.related-card:hover { background: #eff6ff; border-color: var(--blue,#0057ff); color: var(--blue,#0057ff); text-decoration: none; }

/* Sidebar */
.blog-sidebar { position: sticky; top: 80px; }
.sidebar-card { background: white; border: 1px solid var(--gray-lt,#dde6f0); border-radius: 12px; padding: 22px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.sidebar-card h4 { font-size: .9rem; font-weight: 800; color: var(--navy2,#0a1628); margin-bottom: 14px; }
.sidebar-links { list-style: none; padding: 0; }
.sidebar-links li { padding: 6px 0; border-bottom: 1px solid #f0f4f8; }
.sidebar-links a { font-size: .85rem; color: var(--blue,#0057ff); text-decoration: none; font-weight: 600; }
.sidebar-links a:hover { text-decoration: underline; }
.sidebar-cta { background: linear-gradient(135deg,var(--navy2,#0a1628),#0e2040); border: none; }
.sidebar-cta h4 { color: white; }
.sidebar-cta p { font-size: .85rem; color: rgba(255,255,255,.6); margin-bottom: 14px; }

/* Comparison table */
.compare-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.compare-table th { background: var(--blue,#0057ff); color: white; padding: 10px 12px; }
.compare-table td { padding: 9px 12px; border-bottom: 1px solid #f0f4f8; background: white; }
.compare-table tr:nth-child(even) td { background: #f8faff; }
.compare-table .winner { color: #16a34a; font-weight: 700; }

@media (max-width: 900px) {
  .blog-layout { grid-template-columns: 1fr; }
  .blog-sidebar { position: static; }
  .related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .blog-cta-btns { flex-direction: column; align-items: stretch; }
}
