/* Public blog — compact flat magazine (Mini Blog structure × Royal / storefront tokens) */

.blog-royal {
  --br-ink: var(--da-ink, var(--clinic-ink, var(--text, #1e293b)));
  --br-body: var(--da-body, var(--text, #334155));
  --br-muted: var(--da-muted, var(--clinic-muted, var(--text-muted, #64748b)));
  --br-faint: var(--da-faint, #94a3b8);
  --br-canvas: var(--da-canvas, var(--clinic-page-bg, var(--bg, #f8fafc)));
  --br-surface: var(--da-surface, var(--clinic-surface, var(--card-bg, #fff)));
  --br-sand: var(--da-sand, #f1f5f9);
  --br-line: var(--da-line, var(--clinic-line, var(--card-border, #e2e8f0)));
  --br-primary: var(--da-primary, var(--clinic-teal, var(--primary, #1e4142)));
  --br-accent: var(--da-accent, var(--clinic-accent, var(--primary-hover, #b04e30)));
  --br-sage: var(--da-sage, #e2e8f0);
  --br-blush: var(--da-blush, #f3d7c8);
  --br-sans: var(--da-font-sans, Inter, "Noto Sans Bengali", system-ui, sans-serif);
  --br-serif: var(--da-font-serif, "Fraunces", Georgia, "Times New Roman", serif);
  font-family: var(--br-sans);
  color: var(--br-body);
  background: var(--br-canvas);
  min-height: 40vh;
}
.blog-royal a { color: var(--br-primary); }
.blog-royal a:focus-visible {
  outline: 2px solid var(--br-accent);
  outline-offset: 2px;
}
.blog-royal .br-wrap {
  max-width: 1140px;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
.blog-royal .br-wrap--tight {
  padding-top: .65rem;
}
@media (min-width: 768px) {
  .blog-royal .br-wrap--tight { padding-top: .85rem; }
}
.blog-royal.blog-royal--home {
  padding-top: 0;
}
.blog-royal .br-serif { font-family: var(--br-serif); }

/* Thin content separator (replaces mb-sec-head titles) */
.blog-royal .mb-rule {
  height: 0;
  border: 0;
  border-top: 1px solid var(--br-line);
  margin: .85rem 0 1rem;
}
.blog-royal .mb-rule-label {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--br-faint);
  margin: 0 0 .75rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--br-ink);
}

.blog-royal .mb-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  border-radius: 8px;
  font-weight: 600;
  font-size: .85rem;
  padding: .5rem 1rem;
  min-height: 2.35rem;
  border: 1px solid transparent;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
}
.blog-royal .mb-btn-primary {
  background: var(--br-primary);
  color: #fff;
}
.blog-royal .mb-btn-primary:hover { filter: brightness(.92); color: #fff; }
.blog-royal .mb-btn-outline {
  background: var(--br-surface);
  border-color: var(--br-line);
  color: var(--br-ink);
}
.blog-royal .mb-btn-outline:hover {
  border-color: var(--br-primary);
  color: var(--br-primary);
}

/* Compact search toolbar (replaces catnav + big intro) */
.blog-royal .mb-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  margin-bottom: 1.25rem;
}
.blog-royal .mb-toolbar--simple {
  justify-content: space-between;
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--br-line);
  margin-bottom: 1.15rem;
}
.blog-royal .mb-toolbar-search {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex: 1 1 16rem;
  max-width: 28rem;
  margin-left: auto;
  position: relative;
}
.blog-royal .mb-toolbar-search > i {
  position: absolute;
  left: .85rem;
  color: var(--br-faint);
  font-size: .9rem;
  pointer-events: none;
}
.blog-royal .mb-toolbar-search input {
  flex: 1;
  border: 1px solid var(--br-line);
  border-radius: 8px;
  padding: .5rem .9rem .5rem 2.15rem;
  background: var(--br-surface);
  font-size: .9rem;
  color: var(--br-ink);
  min-height: 2.35rem;
}
.blog-royal .mb-toolbar-search input:focus {
  outline: 2px solid color-mix(in srgb, var(--br-primary) 35%, transparent);
  border-color: var(--br-primary);
}
.blog-royal .mb-filter-note {
  font-size: .9rem;
  color: var(--br-muted);
  margin: 0 0 1rem;
}
.blog-royal .mb-sec-head {
  margin-bottom: .85rem;
}
.blog-royal .mb-cat-page-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem 1rem;
  margin-bottom: 1rem;
}

/* Featured mosaic — compact, tight to categories */
.blog-royal .mb-feat { margin-bottom: .45rem; }
.blog-royal .mb-mosaic {
  display: grid;
  gap: .4rem;
  grid-template-columns: 1fr;
  grid-template-areas:
    "a"
    "b"
    "c"
    "d"
    "e";
}
@media (min-width: 576px) {
  .blog-royal .mb-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "a b"
      "c d"
      "e e";
  }
}
@media (min-width: 768px) {
  .blog-royal .mb-mosaic {
    grid-template-columns: 1fr 1.2fr 1fr;
    grid-template-rows: 78px 78px;
    grid-template-areas:
      "a c d"
      "b c e";
    min-height: 160px;
    height: 160px;
  }
  .blog-royal .mb-mosaic:has(.mb-tile:nth-child(1):last-child) {
    grid-template-columns: 1fr;
    grid-template-rows: 120px;
    grid-template-areas: "a";
    height: 120px;
    min-height: 120px;
  }
  .blog-royal .mb-mosaic:has(.mb-tile:nth-child(2):last-child) {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 120px;
    grid-template-areas: "a b";
    height: 120px;
    min-height: 120px;
  }
  .blog-royal .mb-mosaic:has(.mb-tile:nth-child(3):last-child) {
    grid-template-columns: 1fr 1.25fr;
    grid-template-rows: 72px 72px;
    grid-template-areas:
      "a c"
      "b c";
    height: 148px;
    min-height: 148px;
  }
}
.blog-royal .mb-tile {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 6px;
  background: var(--br-primary);
  text-decoration: none;
  color: #fff;
  min-height: 96px;
  border: 1px solid transparent;
}
@media (min-width: 768px) {
  .blog-royal .mb-tile { min-height: 0; height: 100%; }
}
.blog-royal .mb-tile--a { grid-area: a; }
.blog-royal .mb-tile--b { grid-area: b; }
.blog-royal .mb-tile--c { grid-area: c; }
.blog-royal .mb-tile--d { grid-area: d; }
.blog-royal .mb-tile--e { grid-area: e; }
.blog-royal .mb-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.blog-royal .mb-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,23,42,.15) 0%, rgba(15,23,42,.78) 100%);
  pointer-events: none;
}
.blog-royal .mb-tile:hover img { transform: scale(1.04); }
.blog-royal .mb-tile:focus-visible { outline: 2px solid var(--br-accent); outline-offset: 2px; }
.blog-royal .mb-tile-body {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 1;
  padding: .45rem .55rem .5rem;
}
.blog-royal .mb-tile-cat {
  display: inline-block;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: rgba(255,255,255,.85);
  margin-bottom: .1rem;
}
.blog-royal .mb-tile-title {
  font-family: var(--br-serif);
  font-weight: 600;
  font-size: .82rem;
  line-height: 1.2;
  letter-spacing: -0.015em;
  margin: 0 0 .1rem;
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-royal .mb-tile--c .mb-tile-title {
  font-size: clamp(.9rem, 1.35vw, 1.05rem);
  -webkit-line-clamp: 2;
}
.blog-royal .mb-tile-date {
  font-size: .62rem;
  color: rgba(255,255,255,.65);
  margin: 0;
}

/* Category cards — image cover tiles, flush under mosaic */
.blog-royal .mb-cats { margin-bottom: 0; }
.blog-royal .mb-cat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .4rem;
}
@media (min-width: 576px) {
  .blog-royal .mb-cat-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
  .blog-royal .mb-cat-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 992px) {
  .blog-royal .mb-cat-grid { grid-template-columns: repeat(5, 1fr); }
}
.blog-royal .mb-cat-grid--compact {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 576px) {
  .blog-royal .mb-cat-grid--compact { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 768px) {
  .blog-royal .mb-cat-grid--compact { grid-template-columns: repeat(4, 1fr); }
}
.blog-royal .mb-cat-card {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .7rem .8rem;
  background: var(--br-surface);
  border: 1px solid var(--br-line);
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s, background .15s, box-shadow .15s;
  min-height: 3.25rem;
}
.blog-royal .mb-cat-card--cover {
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
  min-height: 0;
  border-radius: 6px;
}
.blog-royal .mb-cat-card--cover:hover,
.blog-royal .mb-cat-card--cover.is-active {
  border-color: var(--br-primary);
  background: var(--br-surface);
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
}
.blog-royal .mb-cat-card__cover {
  display: block;
  aspect-ratio: 16 / 10;
  background: linear-gradient(145deg, var(--br-primary), color-mix(in srgb, var(--br-accent) 40%, var(--br-primary)));
  overflow: hidden;
}
.blog-royal .mb-cat-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}
.blog-royal .mb-cat-card--cover:hover .mb-cat-card__cover img { transform: scale(1.04); }
.blog-royal .mb-cat-card__ph {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.75);
  font-size: 1.35rem;
}
.blog-royal .mb-cat-card__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .5rem .65rem;
  background: var(--br-surface);
  border-top: 1px solid var(--br-line);
}
.blog-royal .mb-cat-card:hover,
.blog-royal .mb-cat-card.is-active {
  border-color: var(--br-primary);
  background: color-mix(in srgb, var(--br-primary) 6%, var(--br-surface));
  color: inherit;
}
.blog-royal .mb-cat-card.is-active {
  box-shadow: inset 0 0 0 1px var(--br-primary);
}
.blog-royal .mb-cat-card__icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--br-primary) 10%, transparent);
  color: var(--br-primary);
  font-size: .95rem;
}
.blog-royal .mb-cat-card__media {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--br-line);
  background: var(--br-sand);
}
.blog-royal .mb-cat-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.blog-royal .mb-cat-card--img {
  padding-top: .6rem;
  padding-bottom: .6rem;
}
.blog-royal .mb-cat-card__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .1rem;
}
.blog-royal .mb-cat-card__name {
  font-size: .82rem;
  font-weight: 600;
  color: var(--br-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.blog-royal .mb-cat-card__count {
  flex-shrink: 0;
  font-size: .68rem;
  font-weight: 600;
  color: var(--br-faint);
  background: var(--br-sand);
  border-radius: 999px;
  padding: .15rem .45rem;
  min-width: 1.5rem;
  text-align: center;
}
.blog-royal .mb-cat-card__arrow {
  color: var(--br-faint);
  font-size: .8rem;
  flex-shrink: 0;
}
.blog-royal .mb-cat-card:hover .mb-cat-card__arrow { color: var(--br-accent); }

/* Section titles (category / detail pages) */
.blog-royal .mb-section-title {
  font-family: var(--br-serif);
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--br-ink);
  margin: 0 0 .85rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--br-ink);
}

/* Recent posts — denser */
.blog-royal .mb-entry {
  display: grid;
  gap: .85rem 1rem;
  margin-bottom: 1.15rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--br-line);
  grid-template-columns: 96px 1fr;
  align-items: start;
}
@media (min-width: 576px) {
  .blog-royal .mb-entry { grid-template-columns: 140px 1fr; }
}
@media (min-width: 992px) {
  .blog-royal .mb-entry { grid-template-columns: 168px 1fr; }
}
.blog-royal .mb-entry-media {
  display: block;
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--br-sand);
  border: 1px solid var(--br-line);
}
.blog-royal .mb-entry-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}
.blog-royal .mb-entry:hover .mb-entry-media img { transform: scale(1.03); }
.blog-royal .mb-entry-cat {
  display: inline-block;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--br-accent);
  text-decoration: none;
  margin-bottom: .25rem;
}
.blog-royal .mb-entry-title {
  font-family: var(--br-serif);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.015em;
  margin: 0 0 .3rem;
}
.blog-royal .mb-entry-title a {
  color: var(--br-ink);
  text-decoration: none;
}
.blog-royal .mb-entry-title a:hover { color: var(--br-accent); }
.blog-royal .mb-entry-meta {
  font-size: .75rem;
  color: var(--br-faint);
  margin-bottom: .4rem;
}
.blog-royal .mb-entry-excerpt {
  font-size: .88rem;
  line-height: 1.5;
  color: var(--br-muted);
  margin: 0 0 .5rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 575.98px) {
  .blog-royal .mb-entry-excerpt { -webkit-line-clamp: 3; }
}
.blog-royal .mb-entry-more {
  font-size: .8rem;
  font-weight: 600;
  color: var(--br-accent);
  text-decoration: none;
}
.blog-royal .mb-entry-more:hover { text-decoration: underline; }
.blog-royal .mb-entry-more i { display: inline-block; transition: transform .15s; }
.blog-royal .mb-entry-more:hover i { transform: translateX(2px); }

/* Sidebar — flat */
.blog-royal .mb-aside { position: sticky; top: 5.5rem; }
.blog-royal .mb-widget {
  background: var(--br-surface);
  border: 1px solid var(--br-line);
  border-radius: 8px;
  padding: 1rem 1.1rem;
  margin-bottom: .9rem;
}
.blog-royal .mb-widget h3 {
  font-family: var(--br-serif);
  font-size: .95rem;
  font-weight: 600;
  color: var(--br-ink);
  margin: 0 0 .75rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--br-line);
}
.blog-royal .mb-pop {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: .6rem;
  text-decoration: none;
  color: inherit;
  margin-bottom: .7rem;
  align-items: start;
}
.blog-royal .mb-pop:last-child { margin-bottom: 0; }
.blog-royal .mb-pop-thumb {
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 1;
  background: var(--br-sand);
  border: 1px solid var(--br-line);
}
.blog-royal .mb-pop-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.blog-royal .mb-pop-title {
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--br-ink);
  margin: 0 0 .15rem;
}
.blog-royal .mb-pop:hover .mb-pop-title { color: var(--br-accent); }
.blog-royal .mb-pop-date {
  font-size: .68rem;
  color: var(--br-faint);
  margin: 0;
}
.blog-royal .mb-widget-sub p,
.blog-royal .mb-widget-about p {
  font-size: .85rem;
  color: var(--br-muted);
  line-height: 1.5;
  margin: 0 0 .85rem;
}
.blog-royal .mb-widget-about p { margin: 0; }
.blog-royal .mb-widget-cats a {
  display: flex;
  justify-content: space-between;
  padding: .35rem 0;
  text-decoration: none;
  color: var(--br-ink);
  font-size: .85rem;
  border-bottom: 1px solid var(--br-line);
}
.blog-royal .mb-widget-cats a:last-child { border-bottom: 0; }
.blog-royal .mb-widget-cats a:hover { color: var(--br-accent); }
.blog-royal .mb-widget-cats span { color: var(--br-faint); font-size: .75rem; }

.blog-royal .mb-empty {
  text-align: center;
  padding: 2.25rem 1.25rem;
  background: var(--br-surface);
  border: 1px dashed var(--br-line);
  border-radius: 8px;
  color: var(--br-muted);
}
.blog-royal .mb-empty i {
  font-size: 1.75rem;
  color: var(--br-sage);
  display: block;
  margin-bottom: .5rem;
}
.blog-royal .mb-pager {
  display: flex;
  justify-content: center;
  gap: .4rem;
  flex-wrap: wrap;
  margin-top: .25rem;
  padding-top: .75rem;
}
.blog-royal .mb-pager a,
.blog-royal .mb-pager span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.2rem;
  height: 2.2rem;
  padding: 0 .55rem;
  border-radius: 6px;
  border: 1px solid var(--br-line);
  background: var(--br-surface);
  color: var(--br-ink);
  text-decoration: none;
  font-weight: 600;
  font-size: .85rem;
}
.blog-royal .mb-pager a:hover,
.blog-royal .mb-pager .is-active {
  background: var(--br-primary);
  border-color: var(--br-primary);
  color: #fff;
}

/* Article detail */
.blog-royal.blog-royal--article .mb-hero-img {
  width: 100%;
  max-height: min(48vh, 360px);
  object-fit: cover;
  display: block;
  background: var(--br-primary);
}
.blog-royal .mb-article {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 1rem;
}
.blog-royal .mb-article-title {
  font-family: var(--br-serif);
  font-size: clamp(1.65rem, 3.5vw, 2.35rem);
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--br-ink);
  margin: 0 0 .85rem;
}
.blog-royal .mb-article-dek {
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--br-muted);
  margin-bottom: 1rem;
}
.blog-royal .mb-prose {
  font-size: 1.02rem;
  line-height: 1.8;
  color: var(--br-body);
}
.blog-royal .mb-prose h2,
.blog-royal .mb-prose h3 {
  font-family: var(--br-serif);
  font-weight: 600;
  color: var(--br-ink);
  margin-top: 1.75rem;
}
.blog-royal .mb-prose p:first-of-type::first-letter {
  float: left;
  font-family: var(--br-serif);
  font-size: 2.85rem;
  line-height: .85;
  padding: .08em .1em 0 0;
  font-weight: 600;
  color: var(--br-accent);
}
.blog-royal .mb-prose blockquote {
  border-left: 3px solid var(--br-line);
  padding-left: 1rem;
  margin: 1.25rem 0;
  color: var(--br-muted);
  font-style: italic;
}
.blog-royal .mb-prose img { max-width: 100%; height: auto; border-radius: 8px; }
.blog-royal .mb-prose a { color: var(--br-accent); }
.blog-royal .mb-related {
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) {
  .blog-royal .mb-related { grid-template-columns: 1fr 1fr; }
}
.blog-royal .mb-related a {
  text-decoration: none;
  color: inherit;
  background: var(--br-surface);
  border: 1px solid var(--br-line);
  border-radius: 8px;
  overflow: hidden;
  transition: border-color .15s;
}
.blog-royal .mb-related a:hover { border-color: var(--br-primary); }
.blog-royal .mb-related img {
  aspect-ratio: 16/10;
  object-fit: cover;
  width: 100%;
  display: block;
}
.blog-royal .mb-related h3 {
  font-family: var(--br-serif);
  font-size: 1rem;
  font-weight: 600;
  color: var(--br-ink);
  margin: 0 0 .3rem;
  padding: .85rem 1rem 0;
}
.blog-royal .mb-related p {
  font-size: .82rem;
  color: var(--br-muted);
  margin: 0;
  padding: 0 1rem 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .blog-royal .mb-tile img,
  .blog-royal .mb-entry-media img,
  .blog-royal .mb-entry-more i,
  .blog-royal .mb-cat-card__cover img {
    transition: none !important;
  }
  .blog-royal .mb-tile:hover img,
  .blog-royal .mb-entry:hover .mb-entry-media img,
  .blog-royal .mb-cat-card--cover:hover .mb-cat-card__cover img { transform: none !important; }
}
