/* Prism blog list (themes/prism/list.php): each post a white card on
   the off-white ground, its picture in a rounded well and the date under
   a hairline; the head has a short accent bar under it. */
.psm-blog { max-width: 72rem; margin: 0 auto; padding: 2.5rem 1rem 4rem; color: var(--ink); }
.psm-blog--single { max-width: 48rem; }
.psm-blog__head { position: relative; margin-bottom: 2.2rem; padding-bottom: 1.4rem; }
.psm-blog__head::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--rule); }
.psm-blog__head::before { content: ''; position: absolute; bottom: -1px; inset-inline-start: 0; width: 64px; height: 3px; border-radius: 3px; background: var(--psm-accent); }
.psm-blog__title { margin: 0; font-family: var(--font-display); font-size: clamp(2.4rem, 6vw, 3.6rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.02; color: var(--ink); overflow-wrap: normal; text-wrap: balance; }
html:is(:lang(ar), :lang(ur), :lang(bn), :lang(zh)) .psm-blog__title { letter-spacing: 0; line-height: 1.25; }
.psm-blog__back { display: inline-flex; gap: .35rem; margin-top: .6rem; font-size: .92rem; font-weight: 600; color: var(--psm-accent-text); text-decoration: none; }
.psm-blog__back:hover { text-decoration: underline; text-underline-offset: 4px; }
[dir="rtl"] .psm-flip-rtl { display: inline-block; transform: scaleX(-1); }
.psm-blog__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.6rem 1.4rem; }
@media (min-width: 640px) { .psm-blog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .psm-blog__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.psm-post {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  background: var(--paper-2);
  border: 1px solid var(--rule);
  border-radius: var(--radius); box-shadow: var(--shadow);
  color: var(--ink); text-decoration: none;
  transition: transform .35s cubic-bezier(.2, .8, .3, 1), box-shadow .3s ease, border-color .2s ease;
}
.psm-post::after { display: none; }
.psm-post:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); border-color: var(--psm-accent-line); }
.psm-post__pic { display: block; aspect-ratio: 16 / 9; overflow: hidden; margin: 8px 8px 0; border-radius: calc(var(--radius) - 8px); background: var(--paper-3); }
.psm-post__pic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2, .8, .3, 1); }
.psm-post:hover .psm-post__pic img { transform: scale(1.04); }
.psm-post__none { display: grid; place-items: center; width: 100%; height: 100%; font-size: 1.6rem; color: var(--psm-accent); background: radial-gradient(60% 60% at 50% 50%, var(--psm-accent-soft), transparent 70%); }
.psm-post__body { position: relative; display: flex; flex-direction: column; gap: .4rem; padding: 1rem 1.25rem 1.25rem; }
.psm-post__cat { font-size: 12px; font-weight: 600; letter-spacing: .04em; color: var(--psm-accent-text); }
.psm-post__title { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; overflow-wrap: normal; text-wrap: balance; }
.psm-post__excerpt { font-size: .93rem; line-height: 1.6; color: var(--ink-soft); }
.psm-post__date { position: relative; margin-top: .5rem; padding-top: .8rem; font-family: var(--font-num); font-weight: 500; font-size: .8rem; color: var(--ink-soft); border-top: 1px solid var(--rule-soft); }
.psm-blog__pages { display: flex; justify-content: center; gap: .5rem; margin-top: 2.5rem; }
.psm-blog__pages .page-link { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; color: var(--ink); text-decoration: none; border: 1px solid var(--rule); border-radius: 999px; background: var(--paper-2); font-family: var(--font-num); font-weight: 600; box-shadow: none; }
.psm-blog__pages .page-link:hover { border-color: var(--psm-accent-line); }
.psm-blog__pages .page-link.active, .psm-blog__pages .page-link[aria-current="page"] { color: var(--btn-ink); background: var(--btn-bg); border-color: transparent; box-shadow: var(--btn-shadow); }
@media (prefers-reduced-motion: reduce) { .psm-post, .psm-post__pic img { transition: none; } .psm-post:hover, .psm-post:hover .psm-post__pic img { transform: none; } }
