/*
 * VibeCMS Theme 2026 Modern — canonical article editorial layer
 * v2.22.69
 *
 * Scope: article detail only. This file intentionally loads after the global
 * article contract and before Website Custom CSS. Homepage/category UI is out
 * of scope. Keep all selectors under body.theme-2026.article-page--2026.
 */

body.theme-2026.article-page--2026{
  --t26-modern-caption:#737982;
  --t26-modern-border:#e3e8ef;
  --t26-modern-soft:#f7f9fb;
}

/* Featured media: one clean visual unit; caption overlays only when present. */
body.theme-2026.article-page--2026 .t26-article-featured{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  margin:0 0 16px!important;
  overflow:hidden!important;
  border-radius:7px!important;
  background:#eef2f7!important;
}
body.theme-2026.article-page--2026 .t26-article-featured>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border-radius:0!important;
  object-fit:cover!important;
}
body.theme-2026.article-page--2026 .t26-article-featured>.t26-article-caption{
  position:absolute!important;
  z-index:1!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:28px 12px 10px!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(to top,rgba(8,12,18,.82) 0%,rgba(8,12,18,.42) 58%,rgba(8,12,18,0) 100%)!important;
  color:rgba(255,255,255,.94)!important;
  font-size:11.5px!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.42!important;
  text-align:left!important;
  text-shadow:0 1px 2px rgba(0,0,0,.28)!important;
}

/* Reading rhythm and stable heading hierarchy. */
body.theme-2026.article-page--2026 .t26-article-body{
  font-size:var(--t26-article-font-size,16px)!important;
  line-height:1.62!important;
  color:#2f3742!important;
  overflow-wrap:anywhere;
}
body.theme-2026.article-page--2026 .t26-article-body p{
  margin:0 0 16px!important;
}
body.theme-2026.article-page--2026 .t26-article-body h2,
body.theme-2026.article-page--2026 .t26-article-body h3,
body.theme-2026.article-page--2026 .t26-article-body h4{
  color:#18202b!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:-.012em!important;
}
body.theme-2026.article-page--2026 .t26-article-body h2{
  margin:34px 0 12px!important;
  font-size:28px!important;
  line-height:1.23!important;
}
body.theme-2026.article-page--2026 .t26-article-body h3{
  margin:28px 0 10px!important;
  font-size:23px!important;
  line-height:1.28!important;
}
body.theme-2026.article-page--2026 .t26-article-body h4{
  margin:23px 0 9px!important;
  font-size:19px!important;
  line-height:1.32!important;
}

/* Inline editorial media. */
body.theme-2026.article-page--2026 .t26-article-body figure{
  display:block;
  max-width:100%;
  margin:25px 0!important;
}
body.theme-2026.article-page--2026 .t26-article-body figure>img,
body.theme-2026.article-page--2026 .t26-article-body p>img,
body.theme-2026.article-page--2026 .t26-article-body .vgb-inline-image img{
  display:block;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  border-radius:6px!important;
}
body.theme-2026.article-page--2026 .t26-article-body :is(
  figcaption,
  .vgb-inline-caption,
  .vgb-gallery-caption,
  .vgb-slider__caption,
  .wp-caption-text,
  .t26-modern-legacy-caption
){
  position:relative!important;
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  margin:7px 0 0!important;
  padding:0 0 0 13px!important;
  border:0!important;
  background:transparent!important;
  color:var(--t26-modern-caption)!important;
  font-size:11.5px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1.42!important;
  letter-spacing:0!important;
  text-align:left!important;
  text-transform:none!important;
}
body.theme-2026.article-page--2026 .t26-article-body :is(
  figcaption,
  .vgb-inline-caption,
  .vgb-gallery-caption,
  .vgb-slider__caption,
  .wp-caption-text,
  .t26-modern-legacy-caption
)::before{
  content:"";
  position:absolute;
  left:0;
  top:2px;
  width:6px;
  height:6px;
  border-left:1.5px solid #a8b0ba;
  border-bottom:1.5px solid #a8b0ba;
}
body.theme-2026.article-page--2026 .t26-article-body p.t26-modern-legacy-caption{
  margin-top:-18px!important;
  margin-bottom:25px!important;
}

/* Lists: readable indentation and restrained accent markers. */
body.theme-2026.article-page--2026 .t26-article-body ul,
body.theme-2026.article-page--2026 .t26-article-body ol{
  margin:19px 0 20px 1.35em!important;
  padding-left:.75em!important;
}
body.theme-2026.article-page--2026 .t26-article-body li{
  margin:0 0 7px!important;
  padding-left:.15em!important;
  line-height:1.55!important;
}
body.theme-2026.article-page--2026 .t26-article-body li::marker{
  color:var(--article-accent,#2563eb);
  font-weight:700;
}
body.theme-2026.article-page--2026 .t26-article-body li>ul,
body.theme-2026.article-page--2026 .t26-article-body li>ol{
  margin-top:7px!important;
  margin-bottom:7px!important;
}

/* Editorial quote: quiet, not a coloured callout box. */
body.theme-2026.article-page--2026 .t26-article-body blockquote{
  margin:26px 0!important;
  padding:3px 0 3px 17px!important;
  border:0!important;
  border-left:3px solid var(--article-accent,#2563eb)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#3d4652!important;
  font-size:calc(var(--t26-article-font-size,16px) + 1px)!important;
  font-style:normal!important;
  line-height:1.58!important;
}
body.theme-2026.article-page--2026 .t26-article-body blockquote>:last-child{
  margin-bottom:0!important;
}

/* Table: preserve readable columns and contain horizontal scroll locally. */
body.theme-2026.article-page--2026 .t26-article-body :is(
  .t26-modern-table-scroll,
  .table-responsive,
  .vcm-article-table-scroll
){
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:24px 0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--t26-modern-border)!important;
  border-radius:6px!important;
  background:#fff!important;
}
body.theme-2026.article-page--2026 .t26-article-body :is(
  .t26-modern-table-scroll,
  .table-responsive,
  .vcm-article-table-scroll
)>table{
  width:100%!important;
  min-width:560px!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  font-size:14.5px!important;
  line-height:1.45!important;
}
body.theme-2026.article-page--2026 .t26-article-body table th{
  background:#f2f5f8!important;
  color:#202936!important;
  font-weight:700!important;
}
body.theme-2026.article-page--2026 .t26-article-body table th,
body.theme-2026.article-page--2026 .t26-article-body table td{
  padding:10px 12px!important;
  border:0!important;
  border-right:1px solid var(--t26-modern-border)!important;
  border-bottom:1px solid var(--t26-modern-border)!important;
  font-size:inherit!important;
  vertical-align:top!important;
}
body.theme-2026.article-page--2026 .t26-article-body table tr>:last-child{border-right:0!important}
body.theme-2026.article-page--2026 .t26-article-body table tbody tr:nth-child(even){background:#fafbfc!important}

/* Embeds/media: no page overflow; video providers keep a stable ratio. */
body.theme-2026.article-page--2026 .t26-article-body :is(iframe,video,embed,object){
  display:block;
  max-width:100%!important;
  margin:25px auto!important;
  border:0;
  border-radius:6px;
}
body.theme-2026.article-page--2026 .t26-article-body iframe:is(
  [src*="youtube.com"],
  [src*="youtu.be"],
  [src*="vimeo.com"]
),
body.theme-2026.article-page--2026 .t26-article-body video{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
}
body.theme-2026.article-page--2026 .t26-article-body hr{
  height:0!important;
  margin:31px 0!important;
  border:0!important;
  border-top:1px solid #e3e7ec!important;
  background:transparent!important;
}

@media(max-width:768px){
  body.theme-2026.article-page--2026 .t26-article-featured{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
    border-radius:0!important;
  }
  body.theme-2026.article-page--2026 .t26-article-featured>.t26-article-caption{
    padding:26px 12px 9px!important;
    font-size:11px!important;
  }
  body.theme-2026.article-page--2026 .t26-article-body h2{margin-top:30px!important;font-size:24px!important}
  body.theme-2026.article-page--2026 .t26-article-body h3{margin-top:25px!important;font-size:20.5px!important}
  body.theme-2026.article-page--2026 .t26-article-body h4{margin-top:21px!important;font-size:18px!important}
  body.theme-2026.article-page--2026 .t26-article-body :is(.t26-modern-table-scroll,.table-responsive,.vcm-article-table-scroll){
    width:calc(100% + 2px)!important;
    margin-left:-1px!important;
    border-radius:4px!important;
  }
}

@media(max-width:430px){
  body.theme-2026.article-page--2026 .t26-article-body{line-height:1.58!important}
  body.theme-2026.article-page--2026 .t26-article-body p{margin-bottom:15px!important}
  body.theme-2026.article-page--2026 .t26-article-body figure{margin:22px 0!important}
  body.theme-2026.article-page--2026 .t26-article-body :is(
    figcaption,.vgb-inline-caption,.vgb-gallery-caption,.vgb-slider__caption,.wp-caption-text,.t26-modern-legacy-caption
  ){
    font-size:11px!important;
    line-height:1.4!important;
  }
  body.theme-2026.article-page--2026 .t26-article-body blockquote{margin:23px 0!important;padding-left:14px!important}
}
