/* Thành Vinh — Tin liên quan. Isolated from the former Hoàng Hùng card CSS.
   Default desktop geometry comes from Các bài viết liên quan.svg (1920 × 877). */
.dc-tv-related,
.dc-tv-related *,
.dc-tv-related *::before,
.dc-tv-related *::after { box-sizing:border-box; }
.dc-tv-related {
    width:100%; min-width:0; max-width:100%;
    padding:88px 24px 84px;
    background:#f4f7fa;
    color:#333;
}
.dc-tv-related__inner { width:100%; max-width:1320px; min-width:0; margin-inline:auto; }
.dc-tv-related__header { display:flex; gap:24px; align-items:flex-end; justify-content:space-between; margin-bottom:40px; min-width:0; }
.dc-tv-related__headings { flex:1 1 auto; min-width:0; max-width:100%; }
.dc-tv-related__eyebrow { display:flex; align-items:center; column-gap:8px; min-width:0; color:#c8010a; font-size:16px; font-weight:600; line-height:1.35; margin-bottom:10px; overflow-wrap:anywhere; }
.dc-tv-related__dot { display:inline-block; flex:0 0 auto; width:7px; aspect-ratio:1; border-radius:100%; background:currentColor; }
.dc-tv-related__title { margin:0; padding:0; color:#051a53; font-size:40px; font-weight:750; line-height:1.2; letter-spacing:-.01em; overflow-wrap:anywhere; }
/* CTA is a real anchor. No fake button/selected state and no Elementor button classes. */
.dc-tv-related .dc-tv-related__view {
    display:inline-flex; flex:0 0 auto; align-items:center; justify-content:space-between;
    min-height:48px; max-width:100%; gap:10px; padding:4px 4px 4px 24px;
    border:1px solid #080977; border-radius:100px; background-color:var(--dc-tv-view-bg,#080977);
    color:var(--dc-tv-view-color,#fff); font-size:16px; font-weight:600; line-height:1.25;
    text-decoration:none; box-shadow:none; transform:none;
    transition:background-color .27s ease,color .27s ease,border-color .27s ease;
}
.dc-tv-related .dc-tv-related__view:hover,
.dc-tv-related .dc-tv-related__view:focus-visible { background-color:var(--dc-tv-view-bg-hover,#fff); color:var(--dc-tv-view-color-hover,#080977); border-color:#080977; text-decoration:none; }
.dc-tv-related__view-label { min-width:0; overflow-wrap:anywhere; }
.dc-tv-related__view-circle { flex:0 0 auto; width:40px; aspect-ratio:1; display:grid; place-items:center; position:relative; border-radius:50%; background:var(--dc-tv-view-circle-bg,#fff); color:var(--dc-tv-view-circle-color,#080977); transition:background-color .27s ease,color .27s ease; }
.dc-tv-related__view:hover .dc-tv-related__view-circle,
.dc-tv-related__view:focus-visible .dc-tv-related__view-circle { background:var(--dc-tv-view-circle-bg-hover,#080977); color:var(--dc-tv-view-circle-color-hover,#fff); }
.dc-tv-related__view-icon { position:absolute; inset:0; display:grid; place-items:center; font-size:19px; line-height:1; transition:opacity .25s ease, transform .3s ease; }
.dc-tv-related__view-icon--normal { opacity:1; transform:translateX(0); }
.dc-tv-related__view-icon--hover { opacity:0; transform:translateX(-4px); }
.dc-tv-related__view:hover .dc-tv-related__view-icon--normal,
.dc-tv-related__view:focus-visible .dc-tv-related__view-icon--normal { opacity:0; transform:translateX(4px); }
.dc-tv-related__view:hover .dc-tv-related__view-icon--hover,
.dc-tv-related__view:focus-visible .dc-tv-related__view-icon--hover { opacity:1; transform:none; }
.dc-tv-related__view-icon svg, .dc-tv-related__view-icon img { display:block; width:1em; height:1em; max-width:100%; max-height:100%; object-fit:contain; }
.dc-tv-related__view-icon i { display:inline-block; font-size:1em; }
.dc-tv-related__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:36px; row-gap:36px; min-width:0; max-width:100%; align-items:start; }
.dc-tv-related-card { min-width:0; max-width:100%; width:100%; display:flex; flex-direction:column; align-items:stretch; }
.dc-tv-related-card__media { display:block; position:relative; overflow:hidden; width:100%; height:283px; aspect-ratio:416 / 283; border-radius:16px; background:#e2eaf1; margin-bottom:16px; }
.dc-tv-related-card__image,
.elementor .dc-tv-related-card__image,
.dc-tv-related-card__media > img { display:block; width:100%; height:100%; min-height:100%; max-width:100%; object-fit:cover; object-position:center; transform:none; filter:none; }
.dc-tv-related-card__placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,#e0e9f1,#ccd9e6); }
.dc-tv-related-card__date { display:flex; flex-wrap:nowrap; align-items:center; gap:0; min-width:0; width:100%; padding:0 0 16px; margin:0 0 18px; border:0; border-bottom:1px solid rgba(0,0,0,.08); color:#667085; font-size:14px; line-height:1.45; }
.dc-tv-related-card__date-line { display:inline-flex; gap:8px; align-items:center; min-width:0; flex-wrap:nowrap; }
.dc-tv-related-card__date time { min-width:0; overflow-wrap:anywhere; }
.dc-tv-related-card__date-icon { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; color:#080977; width:1em; height:1em; font-size:15px; line-height:1; }
.dc-tv-related-card__date-icon svg, .dc-tv-related-card__date-icon img { display:block; width:1em; height:1em; max-width:100%; object-fit:contain; }
.dc-tv-related-card__title { margin:0 0 6px; padding:0; color:#051a53; font-size:19px; line-height:1.35; font-weight:700; overflow-wrap:anywhere; }
.dc-tv-related-card__title a,
.dc-tv-related-card__title a:visited { text-decoration:none; color:#051a53; transition:color .2s ease; overflow-wrap:anywhere; }
.dc-tv-related-card__title a:hover,.dc-tv-related-card__title a:focus-visible { color:#c8010a; }
.dc-tv-related-card__excerpt { margin:0 0 14px; padding:0; color:#333; font-size:16px; font-weight:400; line-height:1.5; min-width:0; overflow-wrap:anywhere; }
.dc-tv-related-card__excerpt p { margin:0; padding:0; max-width:100%; overflow-wrap:anywhere; }
.dc-tv-related-card__excerpt p + p { margin-top:12px; }
.dc-tv-related .dc-tv-related-card__more { display:inline-flex; gap:8px; align-items:center; align-self:flex-start; min-height:44px; max-width:100%; color:#080977; font-weight:600; font-size:16px; line-height:1.3; text-decoration:none; transition:color .2s ease; }
.dc-tv-related .dc-tv-related-card__more:hover,
.dc-tv-related .dc-tv-related-card__more:focus-visible { color:#c8010a; text-decoration:none; }
.dc-tv-related-card__more-icon { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; font-size:16px; line-height:1; transform:none; transition:transform .25s ease; }
.dc-tv-related-card__more-icon svg,.dc-tv-related-card__more-icon img { display:block; width:1em; height:1em; max-width:100%; object-fit:contain; }
.dc-tv-related-card__more:hover .dc-tv-related-card__more-icon,
.dc-tv-related-card__more:focus-visible .dc-tv-related-card__more-icon { transform:translate(2px,-2px); }
.dc-tv-related a:focus-visible { outline:2px solid #080977; outline-offset:4px; }
.dc-tv-related__empty { padding:24px 0; color:#667085; }
/* Entrance start-state exists on initial paint. The JS handles intersection and image readiness. */
.dc-tv-related.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) cubic-bezier(.2,.65,.25,1),transform var(--dc-hhn-duration,650ms) cubic-bezier(.2,.65,.25,1); animation:dc-tv-related-reveal-failsafe 0s linear 2.8s forwards; }
.dc-tv-related.dc-hhn--fade-left [data-dc-hhn-item] { transform:translate3d(var(--dc-hhn-distance,20px),0,0); }
.dc-tv-related.dc-hhn--fade-right [data-dc-hhn-item] { transform:translate3d(calc(-1 * var(--dc-hhn-distance,20px)),0,0); }
.dc-tv-related.dc-hhn--fade [data-dc-hhn-item] { transform:none; }
.dc-tv-related.dc-hhn--animate.is-visible [data-dc-hhn-item] { opacity:1;transform:none; }
.dc-tv-related.dc-hhn--animate .dc-tv-related-card[data-dc-hhn-item] { transition-delay:calc(var(--dc-hhn-index,1) * var(--dc-hhn-stagger,70ms)); }
@keyframes dc-tv-related-reveal-failsafe { to { opacity:1; transform:none; } }
body.elementor-editor-active .dc-tv-related.dc-hhn--animate [data-dc-hhn-item],
.elementor-editor-active .dc-tv-related.dc-hhn--animate [data-dc-hhn-item] { opacity:1;transform:none;animation:none;transition:none; }
@media (max-width:1199px) {
    .dc-tv-related__title { font-size:34px; }
    .dc-tv-related__grid { column-gap:24px; }
    .dc-tv-related-card__media { height:auto; aspect-ratio:416 / 283; }
}
@media (max-width:1024px) {
    .dc-tv-related { padding:64px 22px; }
    .dc-tv-related__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .dc-tv-related__header { gap:20px; }
}
@media (max-width:767px) {
    .dc-tv-related { padding:48px 16px 50px; }
    .dc-tv-related__header { align-items:flex-start; flex-wrap:wrap; margin-bottom:28px; gap:20px; }
    .dc-tv-related__title { font-size:clamp(24px,6.5vw,32px); }
    .dc-tv-related__grid { grid-template-columns:minmax(0,1fr); row-gap:32px; }
    .dc-tv-related__view { align-self:flex-start; }
    .dc-tv-related-card__media { height:auto; aspect-ratio:416 / 283; }
}
@media (prefers-reduced-motion:reduce) {
    .dc-tv-related.dc-hhn--animate [data-dc-hhn-item] { opacity:1;transform:none;animation:none;transition:none; }
    .dc-tv-related__view,.dc-tv-related__view-circle,.dc-tv-related__view-icon,
    .dc-tv-related-card__title a,.dc-tv-related-card__more,.dc-tv-related-card__more-icon { transition:none;transform:none; }
}

/* v1.8.6 — Image overlay/zoom clipped by image owner; full-card hover states. */
.dc-tv-related .dc-tv-related-card__media {isolation:isolate;overflow:hidden;}
.dc-tv-related .dc-tv-related-card__media::after {content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:var(--dc-tv-card-overlay,rgba(0,0,0,.4));border-radius:inherit;transition:opacity .34s ease;}
.dc-tv-related .dc-tv-related-card .dc-tv-related-card__image,
.elementor .dc-tv-related .dc-tv-related-card .dc-tv-related-card__image {transform:scale(1);transition:transform .48s cubic-bezier(.2,.65,.25,1);}
.dc-tv-related .dc-tv-related-card:is(:hover,:focus-within) .dc-tv-related-card__image {transform:scale(var(--dc-tv-card-zoom,1.065));}
.dc-tv-related .dc-tv-related-card:is(:hover,:focus-within) .dc-tv-related-card__media::after {opacity:1;}
.dc-tv-related .dc-tv-related-card__date {transition:color .24s ease,border-color .24s ease;}
.dc-tv-related .dc-tv-related-card__date-icon {transition:color .24s ease;}
.dc-tv-related .dc-tv-related-card:is(:hover,:focus-within) .dc-tv-related-card__date,
.dc-tv-related .dc-tv-related-card:is(:hover,:focus-within) .dc-tv-related-card__date-icon {color:var(--dc-tv-card-hover-accent,#c8010a);}
.dc-tv-related .dc-tv-related-card:is(:hover,:focus-within) .dc-tv-related-card__date {border-bottom-color:var(--dc-tv-card-hover-accent,#c8010a);}
.dc-tv-related .dc-tv-related-card:is(:hover,:focus-within) .dc-tv-related-card__title a,
.dc-tv-related .dc-tv-related-card:is(:hover,:focus-within) .dc-tv-related-card__title a:visited {color:var(--dc-tv-card-hover-title,#c8010a);}
@media (prefers-reduced-motion:reduce){.dc-tv-related .dc-tv-related-card__image,.dc-tv-related .dc-tv-related-card__media::after{transition:none;}}

/* v1.8.7 – Unified aligned calendar state across every editorial card. */
.dc-tv-calendar-stack {
  display: inline-grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  place-items: center;
  position: relative;
  flex: 0 0 auto;
  vertical-align: middle;
  line-height: 1;
  margin: 0;
  padding: 0;
  text-align: center;
}
.dc-tv-calendar-stack > .dc-tv-calendar-state {
  grid-area: 1 / 1;
  width: 100%; height: 100%;
  min-width: 0; min-height: 0;
  display: inline-flex; align-items: center; justify-content: center;
  line-height: 1;
  transition: opacity .22s ease;
}
.dc-tv-calendar-stack .dc-tv-calendar-glyph {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; height: 100%;
  font-size: inherit; line-height: 1;
}
.dc-tv-calendar-stack :is(i,svg,img) { display:block; flex:0 0 auto; max-width:100%; max-height:100%; vertical-align:middle; }
.dc-tv-calendar-stack svg, .dc-tv-calendar-stack img { width:100%; height:100%; object-fit:contain; }
.dc-tv-calendar-stack .dc-tv-calendar-state--hover {opacity:0;}
:is(.dc-tv-news__card,.dc-tv-legal__card,.dc-tv-related-card,.dc-hhn-card,.dc-hhn-list-card):is(:hover,:focus-within) .dc-tv-calendar-state--normal {opacity:0;}
:is(.dc-tv-news__card,.dc-tv-legal__card,.dc-tv-related-card,.dc-hhn-card,.dc-hhn-list-card):is(:hover,:focus-within) .dc-tv-calendar-state--hover {opacity:1;}
.dc-hhn--tv .dc-tv-news__date-icon {align-self:center;}
.dc-tv-legal .dc-tv-legal__date-icon {align-self:center; width:15px; height:15px;}
.dc-tv-related-card__date-icon {align-self:center; width:1em; height:1em;}
.dc-hhn-list-card__date-icon {align-self:center; width:1em; height:1em;}
.dc-hhn-card__date-icon {align-self:center; width:1em; height:1em;}
@media(prefers-reduced-motion:reduce){.dc-tv-calendar-stack .dc-tv-calendar-state{transition:none;}}
