/* Blog Single - Modern Theme */
/* Variables */
body.theme-modern {
  --accent: #0d6efd;
  --accent-soft: rgba(13, 110, 253, 0.08);
  --text-muted: #6c757d;
  --banner-overlay: rgba(13, 110, 253, 0.08);
  --blockquote-border: #e9ecef;
  --quote-color: #0d6efd;
  --card-border: #e5e7eb;
}

.accent-bg { background: var(--accent); color: #fff; }
.accent-soft-bg { background: var(--accent-soft); }
.accent-text { color: var(--accent); }
.muted-text { color: var(--text-muted); }

/* Banner */
.page-banner-single {
  position: relative;
  background: url('../images/topcon-technology-detail.jpg') center/cover no-repeat;
  min-height: 280px;
  display: grid;
  place-items: center;
  color: #fff;
}
.page-banner-single::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0.35)), var(--banner-overlay);
}
.page-banner-single .banner-content { position: relative; z-index: 1; }

/* Article */
.article-card {
  border: 1px solid var(--card-border);
  border-radius: .75rem;
  overflow: hidden;
  background: #fff;
}
.article-header { padding: 1.25rem 1.25rem 0; }
.article-meta { font-size: .9rem; }
.article-hero img { width: 100%; height: auto; display: block; }
.article-content { padding: 1.25rem; }
.article-content h2, .article-content h3 { margin-top: 1.25rem; }
.article-content blockquote {
  padding: 1rem 1.25rem; border-left: 4px solid var(--blockquote-border);
  background: #fff; position: relative; margin: 1rem 0;
}
.article-content blockquote .bi-quote {
  color: var(--quote-color); font-size: 1.25rem; margin-right: .5rem;
}

/* Sidebar widgets */
.sidebar .widget { border: 1px solid var(--card-border); border-radius: .75rem; background: #fff; }
.sidebar .widget-header { padding: .75rem 1rem; border-bottom: 1px solid var(--card-border); }
.sidebar .widget-body { padding: 1rem; }

/* Prev/Next nav */
.post-nav { border-top: 1px solid var(--card-border); }
.post-nav .card { border: 1px solid var(--card-border); }

/* Comments */
.comment { border-bottom: 1px dashed var(--card-border); padding-bottom: .75rem; margin-bottom: .75rem; }

/* Tag pills */
.tag-pill { border: 1px solid var(--card-border); background: var(--accent-soft); color: var(--accent); }

/* Responsive adjustments */
@media (max-width: 768px) {
  .page-banner-single { min-height: 240px; padding: 2rem 0; }
  .page-banner-single .banner-content .display-6 { font-size: 1.75rem; }
  .page-banner-single .banner-content p { font-size: 1rem; }
  main.py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
  .article-header { padding: 1rem 1rem 0; }
  .article-content { padding: 1rem; }
  .post-nav .card-body { padding: .75rem 1rem; }
}

@media (max-width: 576px) {
  .page-banner-single { min-height: 220px; }
  .article-meta { font-size: .85rem; }
  .comment img { width: 32px; height: 32px; }
  .sidebar .widget { margin-top: .25rem; }
}