/* =========================================
   SHARED CONTENT LIST PAGES
========================================= */

.content-page-base {
   padding-top: var(--dmafc-page-pad-top);
   padding-bottom: var(--dmafc-page-pad-bottom);
}

.content-page__header {
   max-width: 900px;
   margin: 0 auto 2rem;
}

.content-list {
   display: grid;
   gap: 1.5rem;
}

.content-card {
   background: var(--dmafc-color-surface);
   border: 1px solid var(--dmafc-color-border-soft);
   border-radius: var(--dmafc-radius-lg);
   box-shadow: var(--dmafc-shadow-sm);
   overflow: hidden;
}

.content-card__body,
.content-card .card-body {
   padding: 1.5rem;
}

.content-card__meta {
   margin-bottom: 0.65rem;
}

.content-card__meta p {
   margin: 0;
   color: var(--dmafc-color-text-soft);
   font-size: 0.92rem;
   line-height: 1.4;
}

.content-card__title,
.content-card h2,
.content-card h3,
.content-card h4 {
   margin: 0 0 0.7rem;
   color: var(--dmafc-color-text);
   font-size: clamp(1.3rem, 2.2vw, 1.65rem);
   font-style: italic;
   font-weight: 400;
   line-height: 1.28;
}

.content-card__subtitle {
   margin: -0.05rem 0 0.85rem;
   color: var(--dmafc-color-text-muted);
   font-style: italic;
   line-height: 1.5;
}

.content-card__description,
.content-card__description p,
.content-card p {
   color: var(--dmafc-color-text-muted);
   line-height: 1.65;
   font-size: 16px;
}

.content-card__description p:last-child,
.content-card p:last-child {
   margin-bottom: 0;
}

.content-empty-wrap {
   max-width: 760px;
   margin: 0 auto;
}

.content-card--empty,
.content-empty-state {
   text-align: center;
}

.content-card__body--empty {
   padding: 3rem 1.5rem;
}

.content-card--empty .content-card__title,
.content-empty-state h2,
.content-empty-state h3 {
   margin-bottom: 0.75rem;
   color: var(--dmafc-color-text);
}

.content-card--empty .content-card__description,
.content-empty-state p {
   margin-bottom: 0;
   color: var(--dmafc-color-text-muted);
   line-height: 1.55;
}

@media (max-width: 767px) {
   .content-page-base {
      padding-top: var(--dmafc-page-pad-top-mobile);
      padding-bottom: var(--dmafc-page-pad-bottom-mobile);
   }

   .content-page__header {
      margin-bottom: 1.5rem;
   }

   .content-card__body,
   .content-card .card-body {
      padding: 1rem;
   }

   .content-card__body--empty {
      padding: 2.25rem 1.25rem;
   }
}