/* Thành Vinh — Single Article v1.8.1. Self-contained; no legacy layout selectors. */
.dc-tv-article {
  --dc-tv-navy: #051a53;
  --dc-tv-red: #c8010a;
  --dc-tv-muted: #728098;
  width: 100%;
  padding: 56px 24px 64px;
  background: #fff;
  color: #3c4451;
  min-width: 0;
  overflow-wrap: anywhere;
  font-family: inherit;
}
.dc-tv-article, .dc-tv-article *, .dc-tv-article *::before, .dc-tv-article *::after { box-sizing: border-box; }
.dc-tv-article__inner { width: 100%; max-width: 1320px; min-width: 0; margin-inline: auto; }
.dc-tv-article__header { padding-bottom: 28px; margin-bottom: 28px; border-bottom: 1px solid #dde2ea; min-width: 0; }
.dc-tv-article__eyebrow { display: flex; align-items: center; gap: 9px; color: var(--dc-tv-red); font-size: 16px; font-weight: 700; line-height: 1.5; margin-bottom: 22px; }
.dc-tv-article__dot { flex: 0 0 8px; width: 8px; height: 8px; background: currentColor; border-radius: 50%; }
.dc-tv-article__title { margin: 0 0 20px; max-width: 100%; color: var(--dc-tv-navy); font-weight: 700; font-size: clamp(27px, 2.45vw, 44px); line-height: 1.2; letter-spacing: -.015em; overflow-wrap: anywhere; }
.dc-tv-article__meta { display: flex; align-items: center; flex-wrap: wrap; column-gap: 20px; row-gap: 8px; color: var(--dc-tv-muted); font-size: 14px; line-height: 1.5; }
.dc-tv-article__date { display: inline-flex; align-items: center; gap: 9px; min-width: 0; }
.dc-tv-article .dc-hhn-single__date-icon { display: inline-flex; flex: none; justify-content: center; align-items: center; width: 18px; height: 18px; font-size: 18px; color: currentColor; }
.dc-tv-article .dc-hhn-single__date-icon :is(svg,img,i) { display: block; width: 100%; height: 100%; object-fit: contain; }
.dc-tv-article .dc-hhn-single__date-icon svg.dc-hhn-inline-icon { fill: none; }
.dc-tv-article__meta-dot { font-size: 18px; line-height: 1; }
.dc-tv-article__body, .dc-tv-article__content { min-width: 0; max-width: 100%; }
.dc-tv-article__lead { font-size: 17px; font-weight: 600; line-height: 1.65; margin: 0 0 28px; color: #3c4451; }
.dc-tv-article__featured { width: 100%; margin: 0 0 32px; }
.dc-tv-article .dc-tv-article__featured img { display: block; width: 100%; max-width: 100%; height: 560px; object-fit: cover; object-position: center; border-radius: 20px; }
.dc-tv-article__content { font-size: 16px; line-height: 1.65; color: #3c4451; }
.dc-tv-article__content > :first-child { margin-top: 0; }
.dc-tv-article__content > :last-child { margin-bottom: 0; }
.dc-tv-article__content :is(p,ul,ol,table,pre,figure,blockquote) { max-width: 100%; }
.dc-tv-article__content p { margin: 0 0 18px; }
.dc-tv-article__content :is(h2,h3,h4,h5,h6) { color: var(--dc-tv-navy); line-height: 1.35; font-weight: 700; margin: 28px 0 12px; overflow-wrap: anywhere; }
.dc-tv-article__content h2 { font-size: clamp(21px,1.6vw,26px); }
.dc-tv-article__content h3 { font-size: clamp(18px,1.35vw,22px); }
.dc-tv-article__content :is(h4,h5,h6) { font-size: 18px; }
.dc-tv-article__content a { color: #080977; text-decoration: underline; text-underline-offset: 3px; transition: color .2s ease; }
.dc-tv-article__content a:hover, .dc-tv-article__content a:focus-visible { color: #c8010a; }
.dc-tv-article__content :is(ol,ul) { padding-left: 1.4em; margin-bottom: 20px; }
.dc-tv-article__content li + li { margin-top: 6px; }
.dc-tv-article__content :is(figure,.wp-block-image,.wp-block-gallery,.wp-block-video,.wp-block-embed) { margin: 24px 0; width: 100%; min-width: 0; }
.dc-tv-article__content :is(img,svg,video,iframe,embed,object), .dc-tv-article__featured img { max-width: 100%; }
.dc-tv-article__content img { height: auto; border-radius: 20px; }
.dc-tv-article__content :is(iframe,video,embed) { display: block; width: 100%; }
.dc-tv-article__content .wp-block-embed__wrapper { min-width: 0; max-width: 100%; }
.dc-tv-article__content .wp-block-gallery, .dc-tv-article__content .blocks-gallery-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: start; }
.dc-tv-article__content .wp-block-gallery > *, .dc-tv-article__content .blocks-gallery-grid > * { min-width: 0; max-width: 100%; }
.dc-tv-article__content :is(.wp-block-gallery,.blocks-gallery-grid) img { display: block; width: 100%; height: auto; aspect-ratio: 1.8; object-fit: cover; }
.dc-tv-article__content .wp-block-gallery :is(figure,.wp-block-image), .dc-tv-article__content .blocks-gallery-grid :is(figure,.blocks-gallery-item) { margin: 0; }
.dc-tv-article__featured figcaption, .dc-tv-article__content figcaption { color: #728098; font-size: 13px; line-height: 1.5; text-align: center; margin-top: 10px; overflow-wrap: anywhere; }
/* This is the only owner of the vertical red line: the editorial Quote block. */
.dc-tv-article__content blockquote {
  display: block; position: relative; min-width: 0; max-width: 100%;
  background: #f4f7fa; border: 0; border-left: 3px solid var(--dc-tv-red);
  padding: 18px 24px; margin: 24px 0; border-radius: 0;
  color: var(--dc-tv-navy); font-size: 16px; font-weight: 700; line-height: 1.65;
  font-style: normal; quotes: none; overflow-wrap: anywhere;
}
.dc-tv-article__content blockquote::before, .dc-tv-article__content blockquote::after { content: none; }
.dc-tv-article__content blockquote :is(p,cite) { color: inherit; font: inherit; line-height: inherit; }
.dc-tv-article__content blockquote p { margin: 0; }
.dc-tv-article__content blockquote p + p { margin-top: 10px; }
.dc-tv-article__content blockquote cite { display: block; font-size: .9em; font-weight: 500; margin-top: 8px; }
.dc-tv-article__content :is(.wp-block-pullquote,.wp-block-quote) { max-width: 100%; }
.dc-tv-article__content .wp-block-pullquote { padding: 0; border: 0; }
.dc-tv-article__content .wp-block-pullquote blockquote { margin: 0; }
.dc-tv-article__content :is(table) { width: 100%; border-collapse: collapse; }
.dc-tv-article__content :is(pre,code) { max-width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; }
.dc-tv-article__content pre, .dc-tv-article__content .wp-block-table, .dc-tv-article__content .wp-block-embed__wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dc-tv-article__source { color: #728098; font-size: 13px; margin: 26px 0 18px; line-height: 1.6; }
.dc-tv-article__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px 28px; border-top: 1px solid #cfd5dd; padding-top: 18px; margin-top: 24px; color: #586477; }
.dc-tv-article__tags, .dc-tv-article__share { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; min-width: 0; }
.dc-tv-article__footer-label { margin-right: 4px; color: #586477; font-size: 13px; }
.dc-tv-article__tag { border-radius: 8px; background: rgba(8,9,119,.1); color: #080977; font-size: 13px; text-decoration: none; min-height: 37px; display: inline-flex; align-items: center; padding: 8px 16px; max-width: 100%; overflow-wrap: anywhere; transition: opacity .2s ease; }

.dc-tv-article .dc-tv-article__share-link { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; min-height: 44px; background: #fff; border: 1px solid #e1e6ef; border-radius: 50%; padding: 10px; margin: 0; color: #080977; text-decoration: none; cursor: pointer; box-shadow: none; line-height: 1; transition: background-color .18s ease,border-color .18s ease; }
.dc-tv-article .dc-tv-article__share-link:hover, .dc-tv-article .dc-tv-article__share-link:focus-visible { background: #f4f7fa; border-color: #080977; color: #080977; }
.dc-tv-article .dc-tv-article__share-link svg { display: block; width: 20px; height: 20px; }

.dc-tv-article :is(a,button):focus-visible { outline: 2px solid #080977; outline-offset: 3px; }
.dc-tv-article.dc-hhn--animate [data-dc-hhn-item] { opacity: 0; transform: translate3d(0,var(--dc-hhn-distance,20px),0); transition: opacity var(--dc-hhn-duration,650ms) ease, transform var(--dc-hhn-duration,650ms) cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--dc-hhn-index,0) * var(--dc-hhn-stagger,80ms)); }
.dc-tv-article.dc-hhn--animate.dc-hhn--fade-left [data-dc-hhn-item] { transform: translate3d(calc(var(--dc-hhn-distance,20px) * -1),0,0); }
.dc-tv-article.dc-hhn--animate.dc-hhn--fade-right [data-dc-hhn-item] { transform: translate3d(var(--dc-hhn-distance,20px),0,0); }
.dc-tv-article.dc-hhn--animate.dc-hhn--fade [data-dc-hhn-item] { transform: none; }
.dc-tv-article.dc-hhn--animate.dc-hhn--soft-zoom [data-dc-hhn-item] { transform: scale(.985); }
.dc-tv-article.dc-hhn--animate.is-visible [data-dc-hhn-item], body.elementor-editor-active .dc-tv-article.dc-hhn--animate [data-dc-hhn-item],.elementor-editor-active .dc-tv-article.dc-hhn--animate [data-dc-hhn-item] { opacity: 1; transform: none; }
.dc-tv-article__editor-notice, .dc-hhn-single__editor-notice { padding: 12px 16px; border: 1px dashed #728098; background: #fff; color: #051a53; }
@media (max-width: 1024px) { .dc-tv-article { padding: 40px 20px 48px; } .dc-tv-article .dc-tv-article__featured img { height: 400px; } }
@media (max-width: 767px) {
  .dc-tv-article { padding: 28px 16px 36px; }
  .dc-tv-article__header { margin-bottom: 22px; padding-bottom: 20px; }
  .dc-tv-article__title { font-size: clamp(25px, 6vw, 34px); }
  .dc-tv-article__eyebrow { margin-bottom: 14px; }
  .dc-tv-article .dc-tv-article__featured img { height: 260px; }
  .dc-tv-article__content :is(.wp-block-gallery,.blocks-gallery-grid) { grid-template-columns: minmax(0,1fr); }
  .dc-tv-article__content blockquote { padding: 16px; }
  .dc-tv-article__footer { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .dc-tv-article.dc-hhn--animate [data-dc-hhn-item] { transition: none; opacity: 1; transform: none; }
  .dc-tv-article * { scroll-behavior: auto; }
}

/* v1.8.6: editorial tags are not links; scoped styles beat theme/global anchor rules. */
.dc-tv-article__tag { cursor:default; user-select:text; }
.dc-tv-article__share-icon { display:inline-flex; align-items:center; justify-content:center; font-size:20px; line-height:1; width:1em; height:1em; }
.dc-tv-article .dc-tv-article__share-icon :is(svg,img) { display:block; width:1em; height:1em; max-width:100%; max-height:100%; object-fit:contain; }
.dc-tv-article .dc-tv-article__share-icon i { font-size:1em; line-height:1; }
.dc-tv-article__zalo-mark { font-size:.52em; font-weight:800; letter-spacing:-.06em; white-space:nowrap; }
.dc-tv-article__toast[hidden] { display:none; }
.dc-tv-article .dc-tv-article__toast { position:fixed; z-index:2147483000; left:50%; bottom:max(24px,env(safe-area-inset-bottom)); transform:translate(-50%,12px); opacity:0; visibility:hidden; max-width:min(420px,calc(100vw - 32px)); padding:12px 18px; border-radius:12px; background-color:#051a53; box-shadow:0 12px 32px rgba(0,0,0,.2); color:#fff; font-size:14px; line-height:1.5; text-align:center; pointer-events:none; transition:opacity .24s ease, transform .24s ease, visibility .24s ease; }
.dc-tv-article .dc-tv-article__toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }
@media (prefers-reduced-motion:reduce) { .dc-tv-article .dc-tv-article__toast { transition:none; } }
