/* ============================================================
   DrSmart Blog - Front-office styles
   Class prefix: .drsmartblog (top-level) + .drsmartblog__<element>
   Mobile-first. Geen heavy animations.
   ============================================================ */

.drsmartblog { max-width: 1200px; margin: 0 auto; padding: 16px 0; }.drsmartblog *,
.drsmartblog *::before,
.drsmartblog *::after { box-sizing: border-box; }/* Headings ---------------------------------------------------- */
.drsmartblog__h1 { font-size: 1.75rem; line-height: 1.2; margin: 0 0 12px; font-weight: 700; color: #1a1a1a; }.drsmartblog__h2 { font-size: 1.35rem; line-height: 1.25; margin: 24px 0 12px; font-weight: 700; color: #1a1a1a; }.drsmartblog__lead { font-size: 1rem; color: #4a4a4a; margin: 0 0 20px; }/* Breadcrumb -------------------------------------------------- */
.drsmartblog__breadcrumb { font-size: 0.85rem; color: #6b6b6b; margin: 0 0 16px; }.drsmartblog__breadcrumb ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }.drsmartblog__breadcrumb li { display: inline-flex; align-items: center; }.drsmartblog__breadcrumb li:not(:last-child)::after { content: "›"; margin-left: 6px; color: #b0b0b0; }.drsmartblog__breadcrumb a { color: #6b6b6b; text-decoration: none; }.drsmartblog__breadcrumb a:hover { text-decoration: underline; }.drsmartblog__breadcrumb [aria-current="page"] { color: #1a1a1a; font-weight: 500; }/* Grid -------------------------------------------------------- */
.drsmartblog__grid {
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr;
}
@media (min-width: 600px) {.drsmartblog__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) {.drsmartblog__grid { grid-template-columns: repeat(3, 1fr); } }.drsmartblog__products-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
}
@media (min-width: 600px) {.drsmartblog__products-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) {.drsmartblog__products-grid { grid-template-columns: repeat(4, 1fr); } }/* Card -------------------------------------------------------- */
.drsmartblog__card {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .15s ease, transform .15s ease;
}.drsmartblog__card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); transform: translateY(-1px); }.drsmartblog__card-media { display: block; aspect-ratio: 16/9; overflow: hidden; background: #f3f3f3; }.drsmartblog__card-media img { width: 100%; height: 100%; object-fit: cover; display: block; }.drsmartblog__card-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }.drsmartblog__card-title { font-size: 1.05rem; line-height: 1.3; margin: 0; font-weight: 600; }.drsmartblog__card-title a { color: #1a1a1a; text-decoration: none; }.drsmartblog__card-title a:hover { color: #d2231e; }.drsmartblog__card-excerpt {
  color: #555; font-size: 0.92rem; line-height: 1.45; margin: 0;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}.drsmartblog__card-meta { margin-top: auto; font-size: 0.8rem; color: #888; display: flex; gap: 10px; flex-wrap: wrap; }/* Hero / Header ----------------------------------------------- */
.drsmartblog__hero { padding: 8px 0; }.drsmartblog__cat-hero { padding: 8px 0 16px; }/* Featured strip ---------------------------------------------- */
.drsmartblog__featured { margin: 16px 0 28px; }.drsmartblog__grid--featured { margin-top: 8px; }/* Category pills ---------------------------------------------- */
.drsmartblog__cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 24px; }.drsmartblog__cat-pill {
  display: inline-block; padding: 6px 12px; border-radius: 999px;
  background: #f4f4f6; color: #1a1a1a; text-decoration: none; font-size: 0.88rem;
  border: 1px solid #ececef;
}.drsmartblog__cat-pill:hover { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }/* SEO intro / description ------------------------------------- */
.drsmartblog__seo-intro { color: #444; font-size: 1rem; line-height: 1.6; margin: 0 0 16px; max-width: 820px; }.drsmartblog__seo-intro p { margin: 0 0 12px; }.drsmartblog__cat-desc { color: #333; font-size: 0.98rem; line-height: 1.65; margin: 28px 0 8px; }/* Pagination -------------------------------------------------- */
.drsmartblog__pagination { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin: 24px 0; align-items: center; }.drsmartblog__pagination a,
.drsmartblog__pagination .drsmartblog__pagination-info {
  min-height: 38px; padding: 8px 14px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid #e0e0e0; border-radius: 8px; text-decoration: none; color: #1a1a1a; font-size: 0.92rem;
}.drsmartblog__pagination a:hover { background: #f4f4f6; }.drsmartblog__pagination-info { border-color: transparent; color: #6b6b6b; }/* Post detail ------------------------------------------------- */
.drsmartblog--post { max-width: 820px; }.drsmartblog__post-header { margin-bottom: 20px; }.drsmartblog__post-meta { font-size: 0.88rem; color: #6b6b6b; display: flex; gap: 6px; flex-wrap: wrap; }.drsmartblog__featured-image { margin: 16px 0 24px; border-radius: 12px; overflow: hidden; background: #f3f3f3; }.drsmartblog__featured-image img { width: 100%; height: auto; display: block; }/* Content ----------------------------------------------------- */
.drsmartblog__content { font-size: 1rem; line-height: 1.65; color: #1a1a1a; }.drsmartblog__content h2 { font-size: 1.5rem; margin: 28px 0 12px; line-height: 1.25; }.drsmartblog__content h3 { font-size: 1.2rem; margin: 22px 0 10px; line-height: 1.3; }.drsmartblog__content p { margin: 0 0 14px; }.drsmartblog__content ul,
.drsmartblog__content ol { margin: 0 0 14px; padding-left: 22px; }.drsmartblog__content li { margin-bottom: 4px; }.drsmartblog__content a { color: #d2231e; text-decoration: underline; }.drsmartblog__content img { max-width: 100%; height: auto; border-radius: 8px; }.drsmartblog__content blockquote {
  border-left: 4px solid #d2231e; margin: 16px 0; padding: 8px 16px;
  background: #fafafa; color: #333; font-style: italic;
}/* Table of contents ------------------------------------------ */
.drsmartblog__toc {
  background: #fafafa; border: 1px solid #ececec; border-radius: 10px;
  padding: 14px 18px; margin: 0 0 20px;
}.drsmartblog__toc-title { font-size: 0.95rem; font-weight: 600; margin: 0 0 8px; color: #1a1a1a; }.drsmartblog__toc ol { list-style: decimal; padding-left: 20px; margin: 0; }.drsmartblog__toc-h3 { margin-left: 16px; font-size: 0.92rem; }.drsmartblog__toc a { color: #333; text-decoration: none; font-size: 0.92rem; }.drsmartblog__toc a:hover { color: #d2231e; text-decoration: underline; }/* FAQ --------------------------------------------------------- */
.drsmartblog__faq { margin: 28px 0; }.drsmartblog__faq-item {
  border: 1px solid #e6e6e6; border-radius: 10px; padding: 0; margin-bottom: 8px; background: #fff;
}.drsmartblog__faq-item summary {
  cursor: pointer; padding: 12px 16px; font-weight: 600; list-style: none; position: relative;
  outline-offset: 2px;
}.drsmartblog__faq-item summary::-webkit-details-marker { display: none; }.drsmartblog__faq-item summary::after { content: "+"; position: absolute; right: 16px; top: 12px; color: #888; font-size: 1.2rem; }.drsmartblog__faq-item[open] summary::after { content: "−"; }.drsmartblog__faq-answer { padding: 0 16px 14px; color: #444; line-height: 1.55; }/* Layout variants for hook blocks ----------------------------- */
.drsmartblog--layout-list .drsmartblog__grid { grid-template-columns: 1fr; }.drsmartblog--layout-list .drsmartblog__card { flex-direction: row; }.drsmartblog--layout-list .drsmartblog__card-media { width: 35%; min-width: 140px; aspect-ratio: 4/3; }.drsmartblog--layout-carousel .drsmartblog__grid {
  display: flex;
  overflow-x: auto;
  gap: 14px;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  grid-template-columns: none;
}.drsmartblog--layout-carousel .drsmartblog__card {
  flex: 0 0 280px;
  scroll-snap-align: start;
}/* Related blocks on product/category pages -------------------- */
.drsmartblog--product-related,
.drsmartblog--category-related {
  margin: 32px 0 12px; padding: 20px 0;
  border-top: 1px solid #ececec;
}/* Empty state ------------------------------------------------- */
.drsmartblog__empty { padding: 24px; text-align: center; color: #888; background: #fafafa; border-radius: 10px; }/* Search form ------------------------------------------------ */
.drsmartblog__search-form { display: flex; gap: 8px; margin: 16px 0 20px; max-width: 720px; }.drsmartblog__search-input {
  flex: 1; padding: 10px 14px;
  border: 1px solid #d0d0d4; border-radius: 8px;
  font-size: 1rem; outline: none;
}.drsmartblog__search-input:focus { border-color: #d2231e; }.drsmartblog__search-btn {
  padding: 10px 18px;
  background: #1a1a1a; color: #fff;
  border: 0; border-radius: 8px;
  font-size: 0.95rem; cursor: pointer;
}.drsmartblog__search-btn:hover { background: #d2231e; }.drsmartblog__search-summary { color: #555; font-size: 0.95rem; margin: 12px 0 16px; }/* ============================================================
   DrSmart Blog v1.0.6 - readable post detail hardening
   Purpose: render sanitized HTML as readable editorial content.
   Prefix: .drsmartblog__ BEM only (legacy .drsb- selectors removed in v1.2.2).
   ============================================================ */

.drsmartblog--post {
  max-width: 1120px;
  margin: 0 auto;
  padding: 32px 16px 56px;
}.drsmartblog--post .drsmartblog__h1 {
  font-size: 34px;
  line-height: 1.2;
  color: #111827;
  margin: 0 0 10px;
  font-weight: 700;
}.drsmartblog--post .drsmartblog__post-meta {
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 22px;
}.drsmartblog--post .drsmartblog__featured-image {
  margin: 24px 0 32px;
  border-radius: 14px;
  overflow: hidden;
  background: #f3f4f6;
}.drsmartblog--post .drsmartblog__featured-image img {
  width: 100%;
  height: auto;
  display: block;
}.drsmartblog--post .drsmartblog__content {
  font-size: 17px;
  line-height: 1.8;
  color: #263241;
}.drsmartblog--post .drsmartblog__content p {
  margin: 0 0 18px;
}.drsmartblog--post .drsmartblog__content h2 {
  font-size: 25px;
  line-height: 1.35;
  color: #0f172a;
  margin: 38px 0 14px;
  font-weight: 700;
}.drsmartblog--post .drsmartblog__content h3 {
  font-size: 21px;
  line-height: 1.35;
  color: #0f172a;
  margin: 28px 0 12px;
  font-weight: 700;
}.drsmartblog--post .drsmartblog__content ul,
.drsmartblog--post .drsmartblog__content ol {
  margin: 0 0 18px;
  padding-left: 24px;
}.drsmartblog--post .drsmartblog__content li {
  margin-bottom: 7px;
}.drsmartblog--post .drsmartblog__content a {
  color: #1f55b5;
  text-decoration: underline;
  text-underline-offset: 2px;
}.drsmartblog--post .drsmartblog__content blockquote {
  border-left: 4px solid #2f5bb7;
  margin: 24px 0;
  padding: 14px 18px;
  background: #f8fafc;
  color: #334155;
  font-style: italic;
  border-radius: 0 10px 10px 0;
}.drsmartblog--post .drsmartblog__faq {
  margin-top: 40px;
}.drsmartblog--post .drsmartblog__faq h2 {
  font-size: 26px;
  color: #111827;
  margin-bottom: 18px;
}.drsmartblog--post .drsmartblog__faq-item {
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  margin-bottom: 10px;
  background: #fff;
  overflow: hidden;
}.drsmartblog--post .drsmartblog__faq-item summary {
  width: 100%;
  padding: 16px 18px;
  font-weight: 600;
  color: #111827;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
}.drsmartblog--post .drsmartblog__faq-answer {
  padding: 0 18px 18px;
  color: #374151;
  font-size: 16px;
  line-height: 1.7;
}.drsmartblog--post .drsmartblog__toc {
  margin: 0 0 28px;
}.drsmartblog--post .drsmartblog__related-products,
.drsmartblog--post .drsmartblog__related-posts {
  margin-top: 42px;
}

@media (max-width: 768px) {.drsmartblog--post {
    padding: 22px 14px 42px;
  }.drsmartblog--post .drsmartblog__h1 {
    font-size: 27px;
  }.drsmartblog--post .drsmartblog__content {
    font-size: 16px;
  }.drsmartblog--post .drsmartblog__content h2 {
    font-size: 22px;
  }.drsmartblog--post .drsmartblog__content h3 {
    font-size: 19px;
  }
}/* ============================================================
   DrSmart Blog v1.0.7 - global readability upgrade
   Applied inside module CSS so blog home/category/post/cards use
   stronger contrast and professional DrPhone editorial layout.
   ============================================================ */

.drsmartblog,
.drsmartblog--home,
.drsmartblog--category,
.drsmartblog--post,
.drsmartblog--post {
  color: #1f2937 !important;
}.drsmartblog {
  max-width: 1180px !important;
  padding: 32px 16px 56px !important;
}.drsmartblog--post {
  max-width: 900px !important;
}.drsmartblog__h1,
.drsmartblog--post .drsmartblog__h1 {
  color: #0f172a !important;
  font-size: 34px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  margin: 0 0 16px !important;
}.drsmartblog__lead,
.drsmartblog__seo-intro,
.drsmartblog__cat-desc {
  color: #2f3a4a !important;
  font-size: 16.5px !important;
  line-height: 1.75 !important;
  max-width: 920px !important;
  font-weight: 400 !important;
}.drsmartblog__seo-intro p,
.drsmartblog__cat-desc p {
  color: #2f3a4a !important;
  font-size: 16.5px !important;
  line-height: 1.75 !important;
  margin: 0 0 18px !important;
}.drsmartblog__content,
.drsmartblog--post .drsmartblog__content {
  color: #2f3a4a !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
  font-weight: 400 !important;
}.drsmartblog__content p,
.drsmartblog--post .drsmartblog__content p {
  color: #2f3a4a !important;
  font-size: 17px !important;
  line-height: 1.82 !important;
  margin: 0 0 20px !important;
}.drsmartblog__content h2,
.drsmartblog--post .drsmartblog__content h2 {
  color: #0f172a !important;
  font-size: 27px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin: 42px 0 16px !important;
  letter-spacing: -0.01em !important;
}.drsmartblog__content h3,
.drsmartblog--post .drsmartblog__content h3 {
  color: #0f172a !important;
  font-size: 22px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  margin: 32px 0 14px !important;
}.drsmartblog__content ul,
.drsmartblog__content ol,
.drsmartblog--post .drsmartblog__content ul,
.drsmartblog--post .drsmartblog__content ol {
  color: #2f3a4a !important;
  font-size: 17px !important;
  line-height: 1.8 !important;
  margin: 0 0 20px !important;
  padding-left: 26px !important;
}.drsmartblog__content li,
.drsmartblog--post .drsmartblog__content li {
  color: #2f3a4a !important;
  margin-bottom: 8px !important;
}.drsmartblog__breadcrumb,
.drsmartblog__breadcrumb a,
.drsmartblog__breadcrumb span {
  color: #64748b !important;
  font-size: 13px !important;
}.drsmartblog__post-meta,
.drsmartblog__card-meta {
  color: #64748b !important;
  font-size: 14px !important;
}.drsmartblog__card {
  border: 1px solid #e5e7eb !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}.drsmartblog__card-title,
.drsmartblog__card-title a {
  color: #0f172a !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}.drsmartblog__card-title a:hover {
  color: #2563eb !important;
}.drsmartblog__card-excerpt,
.drsmartblog__card p {
  color: #374151 !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
}.drsmartblog__featured-image,
.drsmartblog--post .drsmartblog__featured-image {
  border-radius: 14px !important;
  margin: 24px 0 34px !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}.drsmartblog__featured-image img,
.drsmartblog--post .drsmartblog__featured-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}.drsmartblog__faq,
.drsmartblog--post .drsmartblog__faq {
  margin-top: 42px !important;
}.drsmartblog__faq h2,
.drsmartblog--post .drsmartblog__faq h2 {
  color: #0f172a !important;
  font-size: 27px !important;
  line-height: 1.35 !important;
  margin-bottom: 18px !important;
}.drsmartblog__faq-answer,
.drsmartblog--post .drsmartblog__faq-answer {
  color: #2f3a4a !important;
  font-size: 16.5px !important;
  line-height: 1.75 !important;
}.drsmartblog__empty {
  color: #374151 !important;
  font-size: 16px !important;
}

@media (max-width: 768px) {.drsmartblog,
.drsmartblog--post {
    padding: 24px 16px 42px !important;
  }.drsmartblog__h1,
.drsmartblog--post .drsmartblog__h1 {
    font-size: 28px !important;
  }.drsmartblog__content,
.drsmartblog__content p,
.drsmartblog--post .drsmartblog__content,
.drsmartblog--post .drsmartblog__content p,
.drsmartblog__lead,
.drsmartblog__seo-intro,
.drsmartblog__cat-desc {
    font-size: 16.5px !important;
    line-height: 1.75 !important;
  }.drsmartblog__content h2,
.drsmartblog--post .drsmartblog__content h2 {
    font-size: 23px !important;
  }.drsmartblog__content h3,
.drsmartblog--post .drsmartblog__content h3 {
    font-size: 20px !important;
  }
}/* ============================================================
   DrSmart Blog v1.0.9 - sharper related-post card images
   Use proper card image ratio and prevent thumbnail upscaling artifacts.
   ============================================================ */
.drsmartblog__card-media {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #f3f4f6 !important;
}.drsmartblog__card-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}.drsmartblog--product-related .drsmartblog__card,
.drsmartblog--category-related .drsmartblog__card {
  max-width: 360px;
}.drsmartblog--product-related .drsmartblog__grid,
.drsmartblog--category-related .drsmartblog__grid {
  align-items: stretch;
}

@media (max-width: 768px) {.drsmartblog--product-related .drsmartblog__card,
.drsmartblog--category-related .drsmartblog__card {
    max-width: 100%;
  }
}/* Theme-agnostische product card (related products) ---------- */
.drsmartblog__products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 16px;
  margin: 16px 0;
}.drsmartblog__product-card {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  transition: box-shadow .15s ease;
}.drsmartblog__product-card:hover {
  box-shadow: 0 4px 14px rgba(0,0,0,.08);
}.drsmartblog__product-card-link {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: #1f2937;
  height: 100%;
}.drsmartblog__product-card-media {
  display: block;
  aspect-ratio: 1 / 1;
  background: #f9fafb;
}.drsmartblog__product-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}.drsmartblog__product-card-title {
  display: block;
  padding: 10px 12px 4px;
  font-size: .92rem;
  line-height: 1.35;
  font-weight: 600;
}.drsmartblog__product-card-price {
  display: block;
  padding: 0 12px 12px;
  font-size: .95rem;
  color: #d2231e;
  font-weight: 700;
}
