
/* =========================================================
   TVT ARCHIVE / CATEGORY
   ========================================================= */

.tk-tvt-page {
  background: #050505;
  color: #fff;
  min-height: 100vh;
  margin-top: 0 !important;
}

.tk-tvt-container {
  width: 100%;
  max-width: 1540px;
  margin: 0 auto;
  padding-left: 6.5%;
  padding-right: 6.5%;
  box-sizing: border-box;
}


/* =========================================================
   HERO
   ========================================================= */

.tk-tvt-hero {
  position: relative;
  min-height: 390px;
  display: flex;
  align-items: center;
  overflow: hidden;

  background:
    radial-gradient(
      circle at 72% 45%,
      rgba(200, 164, 93, 0.12),
      transparent 24%
    ),
    linear-gradient(
      110deg,
      #050505 0%,
      #111 48%,
      #050505 100%
    );
}

.tk-tvt-hero::before {
  content: "TVT";
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);

  font-family: Georgia, serif;
  font-size: clamp(150px, 20vw, 330px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -15px;

  color: rgba(255, 255, 255, 0.025);

  pointer-events: none;
  user-select: none;
}

.tk-tvt-hero-overlay {
  position: absolute;
  inset: 0;

  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.92) 0%,
    rgba(0, 0, 0, 0.55) 55%,
    rgba(0, 0, 0, 0.25) 100%
  );
}

.tk-tvt-hero-content {
  position: relative;
  z-index: 2;

  max-width: 780px;
  padding: 50px 0;
}

.tk-tvt-kicker {
  display: block;

  color: #c8a45d;

  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 1.8px;
  text-transform: uppercase;

  margin-bottom: 16px;
}

.tk-tvt-hero h1 {
  margin: 0 0 28px;

  color: #fff;

  font-family: Georgia, serif;
  font-size: clamp(62px, 8vw, 116px) !important;
  font-weight: 400;
  line-height: 0.9 !important;
}

.tk-tvt-hero p,
.tk-tvt-term-description {
  max-width: 660px;

  margin: 0;

  color: #e3e3e3;

  font-size: 18px;
  line-height: 1.75;
}

.tk-tvt-term-description p {
  margin-top: 0;
  margin-bottom: 0;
}


/* =========================================================
   FILTERS
   ========================================================= */

.tk-tvt-filter {
  position: relative;
  z-index: 5;

  background: #030303;

  border-top: 1px solid rgba(200, 164, 93, 0.18);
  border-bottom: 1px solid rgba(200, 164, 93, 0.18);
}

.tk-tvt-filter-inner {
  min-height: 80px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 30px;

  padding-top: 15px;
  padding-bottom: 15px;
}

.tk-tvt-categories {
  min-width: 0;

  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 12px;
}

.tk-tvt-filter-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 42px;

  padding: 10px 18px;

  color: #ddd;

  border: 1px solid rgba(200, 164, 93, 0.28);
  background: transparent;

  font-size: 13px;
  line-height: 1.2;

  text-decoration: none;

  transition:
    color 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease;
}

.tk-tvt-filter-link:hover,
.tk-tvt-filter-link.active {
  color: #c8a45d;

  border-color: #c8a45d;
  background: rgba(200, 164, 93, 0.08);
}


/* =========================================================
   VIEW SWITCHER
   ========================================================= */

.tk-tvt-view-switcher {
  flex: 0 0 auto;

  display: flex;
  align-items: center;

  gap: 10px;
}

.tk-tvt-view-button {
  width: 44px;
  height: 44px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 0;

  background: transparent;
  border: 1px solid rgba(200, 164, 93, 0.4);

  color: #fff;

  font-family: Arial, sans-serif;
  font-size: 18px;
  line-height: 1;

  cursor: pointer;

  transition:
    color 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease;
}

.tk-tvt-view-button:hover,
.tk-tvt-view-button.active {
  color: #c8a45d;

  background: rgba(200, 164, 93, 0.1);
  border-color: #c8a45d;
}


/* =========================================================
   LISTING
   ========================================================= */

.tk-tvt-listing {
  padding: 68px 0 90px;
}

.tk-tvt-grid {
  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 22px;
}


/* =========================================================
   CARD
   ========================================================= */

.tk-tvt-card {
  min-width: 0;

  display: flex;
  flex-direction: column;

  background: linear-gradient(
    180deg,
    #111 0%,
    #080808 100%
  );

  border: 1px solid rgba(200, 164, 93, 0.2);

  overflow: hidden;

  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.tk-tvt-card:hover {
  transform: translateY(-5px);

  border-color: rgba(200, 164, 93, 0.55);

  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.32);
}


/* =========================================================
   CARD IMAGE
   ========================================================= */

.tk-tvt-card-image {
  position: relative;

  display: block;

  width: 100%;
  aspect-ratio: 16 / 9;

  overflow: hidden;

  background: #111;
}

.tk-tvt-card-image img {
  width: 100%;
  height: 100%;

  display: block;

  object-fit: cover;

  transition: transform 0.45s ease;
}

.tk-tvt-card:hover .tk-tvt-card-image img {
  transform: scale(1.035);
}


/* =========================================================
   FALLBACK / PLACEHOLDER
   ========================================================= */

.tk-tvt-image-placeholder {
  width: 100%;
  height: 100%;

  display: flex;
  align-items: center;
  justify-content: center;

  background:
    radial-gradient(
      circle at 50% 40%,
      rgba(200, 164, 93, 0.09),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      #181818 0%,
      #080808 100%
    );
}

.tk-tvt-placeholder-brand {
  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 8px;

  text-align: center;

  opacity: 0.75;
}

.tk-tvt-placeholder-brand strong {
  color: rgba(255, 255, 255, 0.12);

  font-family: Georgia, serif;
  font-size: clamp(56px, 6vw, 90px);
  font-weight: 400;
  line-height: 1;
}

.tk-tvt-placeholder-brand span {
  color: #c8a45d;

  font-size: 10px;
  line-height: 1.3;
  letter-spacing: 1.6px;
  text-transform: uppercase;
}


/* =========================================================
   PLAY BUTTON
   ========================================================= */

.tk-tvt-play {
  position: absolute;

  left: 50%;
  top: 50%;

  width: 62px;
  height: 62px;

  transform: translate(-50%, -50%);

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  border: 1px solid rgba(255, 255, 255, 0.75);

  background: rgba(0, 0, 0, 0.55);

  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);

  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
}

.tk-tvt-play span {
  width: 0;
  height: 0;

  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 13px solid #c8a45d;

  margin-left: 4px;

  transition: border-color 0.25s ease;
}

.tk-tvt-card:hover .tk-tvt-play {
  background: #c8a45d;
  border-color: #c8a45d;

  transform:
    translate(-50%, -50%)
    scale(1.06);
}

.tk-tvt-card:hover .tk-tvt-play span {
  border-left-color: #050505;
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.tk-tvt-card-body {
  flex: 1;

  display: flex;
  flex-direction: column;

  padding: 24px;
}

.tk-tvt-card-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 14px;

  margin-bottom: 13px;

  color: #c8a45d;

  font-size: 11px;
  line-height: 1.45;
  letter-spacing: 0.7px;
}

.tk-tvt-card-category {
  min-width: 0;
}

.tk-tvt-card-meta time {
  flex: 0 0 auto;

  white-space: nowrap;
}

.tk-tvt-card h2 {
  margin: 0 0 14px;

  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
}

.tk-tvt-card h2 a {
  color: #fff;

  text-decoration: none;

  transition: color 0.2s ease;
}

.tk-tvt-card h2 a:hover {
  color: #c8a45d;
}

.tk-tvt-card p {
  margin: 0 0 22px;

  color: #cfcfcf;

  font-size: 14px;
  line-height: 1.7;

  display: -webkit-box;

  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;

  overflow: hidden;
}

.tk-tvt-view {
  align-self: flex-start;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-top: auto;

  padding: 11px 17px;

  color: #c8a45d;

  border: 1px solid rgba(200, 164, 93, 0.65);

  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.8px;

  text-decoration: none;

  transition:
    color 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease;
}

.tk-tvt-view:hover {
  color: #050505;

  background: #c8a45d;
  border-color: #c8a45d;
}


/* =========================================================
   PAGINATION
   ========================================================= */

.tk-tvt-pagination {
  display: flex;
  justify-content: center;

  margin-top: 55px;
}

.tk-tvt-pagination .navigation {
  width: auto;
}

.tk-tvt-pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;

  gap: 8px;
}

.tk-tvt-pagination .page-numbers {
  min-width: 42px;
  height: 42px;

  padding: 0 12px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(200, 164, 93, 0.35);

  color: #ddd;

  font-size: 13px;

  text-decoration: none;

  transition:
    color 0.2s ease,
    background 0.2s ease,
    border-color 0.2s ease;
}

.tk-tvt-pagination .page-numbers.current,
.tk-tvt-pagination a.page-numbers:hover {
  background: #c8a45d;

  color: #050505;

  border-color: #c8a45d;
}


/* =========================================================
   EMPTY
   ========================================================= */

.tk-tvt-empty {
  padding: 90px 20px;

  text-align: center;

  color: #ccc;
}

.tk-tvt-empty h2 {
  margin: 0 0 15px;

  color: #fff;

  font-family: Georgia, serif;
  font-size: 32px;
  font-weight: 400;
}

.tk-tvt-empty p {
  margin: 0;

  color: #aaa;
}


/* =========================================================
   PERSIAN / RTL
   ========================================================= */

html[dir="rtl"] .tk-tvt-page {
  direction: rtl;
}

html[dir="rtl"] .tk-tvt-hero::before {
  right: auto;
  left: 5%;

  letter-spacing: -15px;
}

html[dir="rtl"] .tk-tvt-hero-overlay {
  background: linear-gradient(
    270deg,
    rgba(0, 0, 0, 0.92) 0%,
    rgba(0, 0, 0, 0.55) 55%,
    rgba(0, 0, 0, 0.25) 100%
  );
}

html[dir="rtl"] .tk-tvt-kicker {
  letter-spacing: 0;
  text-transform: none;
}

html[dir="rtl"] .tk-tvt-hero h1 {
  font-family: inherit;
}

html[dir="rtl"] .tk-tvt-placeholder-brand span {
  letter-spacing: 0;
  text-transform: none;
}

html[dir="rtl"] .tk-tvt-card h2 {
  font-family: inherit;

  line-height: 1.65;
}

html[dir="rtl"] .tk-tvt-card-meta {
  letter-spacing: 0;
}

html[dir="rtl"] .tk-tvt-view {
  align-self: flex-start;

  letter-spacing: 0;
}

html[dir="rtl"] .tk-tvt-play span {
  /*
   * Play icon remains pointing right intentionally,
   * because video playback direction is not RTL.
   */
}


/* =========================================================
   RESPONSIVE - TABLET
   ========================================================= */

@media (max-width: 1100px) {

  .tk-tvt-container {
    padding-left: 4.5%;
    padding-right: 4.5%;
  }

  .tk-tvt-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}


/* =========================================================
   RESPONSIVE - SMALL TABLET
   ========================================================= */

@media (max-width: 780px) {

  .tk-tvt-hero {
    min-height: 340px;
  }

  .tk-tvt-hero-content {
    padding: 65px 0;
  }

  .tk-tvt-hero::before {
    font-size: 180px;
  }

  .tk-tvt-filter-inner {
    align-items: flex-start;

    gap: 15px;
  }

  .tk-tvt-categories {
    flex: 1 1 auto;

    flex-wrap: nowrap;

    overflow-x: auto;

    padding-bottom: 4px;

    scrollbar-width: thin;
  }

  .tk-tvt-filter-link {
    flex: 0 0 auto;
  }

  .tk-tvt-view-switcher {
    flex: 0 0 auto;
  }

}


/* =========================================================
   RESPONSIVE - MOBILE
   ========================================================= */

@media (max-width: 650px) {

  .tk-tvt-container {
    padding-left: 20px;
    padding-right: 20px;
  }

  .tk-tvt-hero {
    min-height: 310px;
  }

  .tk-tvt-hero-content {
    padding: 55px 0;
  }

  .tk-tvt-hero h1 {
    font-size: 58px !important;

    margin-bottom: 20px;
  }

  .tk-tvt-hero p,
  .tk-tvt-term-description {
    font-size: 15px;
    line-height: 1.75;
  }

  .tk-tvt-hero::before {
    font-size: 150px;

    opacity: 0.8;
  }

  .tk-tvt-filter-inner {
    min-height: auto;

    flex-direction: column;

    align-items: stretch;

    padding-top: 14px;
    padding-bottom: 14px;
  }

  .tk-tvt-categories {
    width: 100%;
  }

  .tk-tvt-view-switcher {
    width: 100%;

    justify-content: flex-end;
  }

  html[dir="rtl"] .tk-tvt-view-switcher {
    justify-content: flex-start;
  }

  .tk-tvt-listing {
    padding-top: 42px;
    padding-bottom: 65px;
  }

  .tk-tvt-grid {
    grid-template-columns: 1fr;

    gap: 20px;
  }

  .tk-tvt-card-body {
    padding: 20px;
  }

  .tk-tvt-card h2 {
    font-size: 22px;
  }

  .tk-tvt-card-meta {
    flex-wrap: wrap;
  }

}


/* =========================================================
   RESPONSIVE - VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 400px) {

  .tk-tvt-container {
    padding-left: 16px;
    padding-right: 16px;
  }

  .tk-tvt-filter-link {
    padding-left: 14px;
    padding-right: 14px;
  }

  .tk-tvt-card-body {
    padding: 18px;
  }

  .tk-tvt-play {
    width: 54px;
    height: 54px;
  }

}
/* =========================================================
   TVT ARCHIVE - LAYOUT FIX
   Must stay AFTER all previous TVT styles
   ========================================================= */


/* ---------- BREAK OUT OF THE THEME CONTENT WIDTH ---------- */

body.post-type-archive-tvt main.tk-tvt-page,
body.tax-tvt_category main.tk-tvt-page {
    width: 100vw !important;
    max-width: none !important;

    position: relative;
    left: 50%;
    right: 50%;

    margin-left: -50vw !important;
    margin-right: -50vw !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box;
}


/* ---------- FULL-WIDTH TVT CONTENT ---------- */

body.post-type-archive-tvt .tk-tvt-container,
body.tax-tvt_category .tk-tvt-container {
    width: 100% !important;
    max-width: 1600px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: clamp(28px, 6vw, 110px) !important;
    padding-right: clamp(28px, 6vw, 110px) !important;

    box-sizing: border-box !important;
}


/* ---------- GRID ---------- */

body.post-type-archive-tvt .tk-tvt-grid,
body.tax-tvt_category .tk-tvt-grid {
    width: 100% !important;

    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 28px !important;

    align-items: stretch !important;
}


/* ---------- CARD RESET ---------- */

body.post-type-archive-tvt article.tk-tvt-card,
body.tax-tvt_category article.tk-tvt-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: column !important;

    box-sizing: border-box !important;

    float: none !important;
}


/* ---------- IMAGE ---------- */

body.post-type-archive-tvt .tk-tvt-card-image,
body.tax-tvt_category .tk-tvt-card-image {
    width: 100% !important;
    max-width: none !important;

    display: block !important;

    aspect-ratio: 16 / 9 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
}

body.post-type-archive-tvt .tk-tvt-card-image > img,
body.tax-tvt_category .tk-tvt-card-image > img {
    width: 100% !important;
    height: 100% !important;

    max-width: none !important;

    object-fit: cover !important;

    margin: 0 !important;
}


/* ---------- PLACEHOLDER ---------- */

body.post-type-archive-tvt .tk-tvt-image-placeholder,
body.tax-tvt_category .tk-tvt-image-placeholder {
    width: 100% !important;
    height: 100% !important;

    min-height: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}


/* ---------- CARD BODY ---------- */

body.post-type-archive-tvt .tk-tvt-card-body,
body.tax-tvt_category .tk-tvt-card-body {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    flex: 1 1 auto !important;

    display: flex !important;
    flex-direction: column !important;

    padding: 24px !important;
    margin: 0 !important;

    box-sizing: border-box !important;

    float: none !important;
}


/* ---------- META ---------- */

body.post-type-archive-tvt .tk-tvt-card-meta,
body.tax-tvt_category .tk-tvt-card-meta {
    width: 100% !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;

    gap: 16px !important;

    margin: 0 0 14px !important;
}

body.post-type-archive-tvt .tk-tvt-card-meta > *,
body.tax-tvt_category .tk-tvt-card-meta > * {
    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
}


/* ---------- TITLE ---------- */

body.post-type-archive-tvt .tk-tvt-card h2,
body.tax-tvt_category .tk-tvt-card h2 {
    width: 100% !important;
    max-width: none !important;

    display: block !important;

    margin: 0 0 14px !important;

    font-size: clamp(20px, 1.45vw, 25px) !important;
    line-height: 1.35 !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;

    text-transform: none !important;
}

body.post-type-archive-tvt .tk-tvt-card h2 a,
body.tax-tvt_category .tk-tvt-card h2 a {
    width: auto !important;
    max-width: none !important;

    display: inline !important;

    word-break: normal !important;
    overflow-wrap: normal !important;
    white-space: normal !important;
}


/* ---------- SUMMARY ---------- */

body.post-type-archive-tvt .tk-tvt-card-body > p,
body.tax-tvt_category .tk-tvt-card-body > p {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 22px !important;

    word-break: normal !important;
    overflow-wrap: break-word !important;
}


/* ---------- VIEW BUTTON ---------- */

body.post-type-archive-tvt .tk-tvt-view,
body.tax-tvt_category .tk-tvt-view {
    width: auto !important;
    max-width: none !important;

    align-self: flex-start !important;

    margin-top: auto !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    body.post-type-archive-tvt .tk-tvt-grid,
    body.tax-tvt_category .tk-tvt-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 680px) {

    body.post-type-archive-tvt .tk-tvt-container,
    body.tax-tvt_category .tk-tvt-container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body.post-type-archive-tvt .tk-tvt-grid,
    body.tax-tvt_category .tk-tvt-grid {
        grid-template-columns: 1fr !important;
    }

}

/* =========================================================
   TVT EDITORIAL / NEWS VIEW
   Add after ALL existing TVT styles and fixes
   ========================================================= */

#tk-tvt-programs.tk-tvt-editorial-view {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
}


/* ---------------------------------------------------------
   First / Latest Program
   --------------------------------------------------------- */

#tk-tvt-programs.tk-tvt-editorial-view .tk-tvt-card:first-child {
  grid-column: 1 / -1;

  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, .75fr) !important;

  min-height: 440px;

  background: #080808;
}


/* Featured image */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:first-child
.tk-tvt-card-image {
  width: 100% !important;
  height: 100% !important;
  min-height: 440px;

  aspect-ratio: auto !important;
}


/* Featured content */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:first-child
.tk-tvt-card-body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;

  padding: clamp(32px, 4vw, 62px) !important;
}


/* Featured title */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:first-child
h2 {
  margin-bottom: 20px !important;

  font-size: clamp(30px, 3vw, 48px) !important;
  line-height: 1.18 !important;
}


/* Featured summary */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:first-child
.tk-tvt-card-body > p {
  display: block !important;

  margin-bottom: 28px !important;

  font-size: 16px !important;
  line-height: 1.8 !important;

  overflow: visible !important;

  -webkit-line-clamp: unset !important;
}


/* ---------------------------------------------------------
   Remaining Programs
   --------------------------------------------------------- */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:not(:first-child) {
  display: grid !important;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr) !important;

  min-height: 250px;

  background: #080808;
}


/* Images */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:not(:first-child)
.tk-tvt-card-image {
  width: 100% !important;
  height: 100% !important;
  min-height: 250px;

  aspect-ratio: auto !important;
}


/* Content */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:not(:first-child)
.tk-tvt-card-body {
  display: flex !important;
  flex-direction: column !important;

  padding: 25px !important;
}


/* Titles */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:not(:first-child)
h2 {
  margin-bottom: 12px !important;

  font-size: clamp(20px, 1.5vw, 26px) !important;
  line-height: 1.35 !important;
}


/* Summary */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:not(:first-child)
.tk-tvt-card-body > p {
  margin-bottom: 18px !important;

  -webkit-line-clamp: 3 !important;
}


/* ---------------------------------------------------------
   Editorial Meta
   --------------------------------------------------------- */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card-meta {
  justify-content: flex-start !important;
  flex-wrap: wrap !important;

  gap: 8px 18px !important;

  margin-bottom: 14px !important;
}


/* ---------------------------------------------------------
   Editorial button
   --------------------------------------------------------- */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-view {
  margin-top: auto !important;
}


/* ---------------------------------------------------------
   Images always cover available editorial area
   --------------------------------------------------------- */

#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card-image img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
}


/* ---------------------------------------------------------
   RTL / Persian
   --------------------------------------------------------- */

html[dir="rtl"]
#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:first-child
h2 {
  line-height: 1.55 !important;
}

html[dir="rtl"]
#tk-tvt-programs.tk-tvt-editorial-view
.tk-tvt-card:not(:first-child)
h2 {
  line-height: 1.6 !important;
}


/* =========================================================
   EDITORIAL RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {

  #tk-tvt-programs.tk-tvt-editorial-view {
    grid-template-columns: 1fr !important;
  }

}


@media (max-width: 900px) {

  #tk-tvt-programs.tk-tvt-editorial-view
  .tk-tvt-card:first-child {
    grid-template-columns: 1fr !important;

    min-height: 0;
  }

  #tk-tvt-programs.tk-tvt-editorial-view
  .tk-tvt-card:first-child
  .tk-tvt-card-image {
    height: auto !important;
    min-height: 0;

    aspect-ratio: 16 / 9 !important;
  }

}


@media (max-width: 680px) {

  #tk-tvt-programs.tk-tvt-editorial-view
  .tk-tvt-card:not(:first-child) {
    grid-template-columns: 1fr !important;

    min-height: 0;
  }

  #tk-tvt-programs.tk-tvt-editorial-view
  .tk-tvt-card:not(:first-child)
  .tk-tvt-card-image {
    height: auto !important;
    min-height: 0;

    aspect-ratio: 16 / 9 !important;
  }

  #tk-tvt-programs.tk-tvt-editorial-view
  .tk-tvt-card:first-child
  .tk-tvt-card-body {
    padding: 26px !important;
  }

  #tk-tvt-programs.tk-tvt-editorial-view
  .tk-tvt-card:first-child
  h2 {
    font-size: 28px !important;
  }

}