/* Bloom Cards — soft tinted cards */
.epg-bloom__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.epg-bloom__card { display: flex; flex-direction: column; padding: 12px; border-radius: 26px; background: color-mix(in srgb, var(--accent) 9%, var(--bg-body)); transition: transform .3s ease, box-shadow .3s ease; }
.epg-bloom__card:nth-child(3n+2) { background: color-mix(in srgb, #f59e0b 10%, var(--bg-body)); }
.epg-bloom__card:nth-child(3n+3) { background: color-mix(in srgb, #60a5fa 11%, var(--bg-body)); }
.epg-bloom__card:hover { transform: translateY(-5px); box-shadow: 0 24px 50px color-mix(in srgb, var(--accent) 16%, transparent); }
.epg-bloom__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 18px; }
.epg-bloom__media img, .epg-bloom__media .epj-ph { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.epg-bloom__card:hover .epg-bloom__media img { transform: scale(1.05); }
.epg-bloom__body { display: flex; flex: 1; flex-direction: column; padding: 18px 12px 8px; }
.epg-bloom__cat { align-self: flex-start; margin-bottom: 12px; padding: 6px 12px; border-radius: 999px; background: var(--bg-body); color: var(--accent-text, var(--accent)) !important; font-size: 12px; font-weight: 700; line-height: 1; }
.epg-bloom__title { margin: 0 0 10px; font-size: 1.22rem; font-weight: 800; line-height: 1.3; letter-spacing: -.3px; }
.epg-bloom__title a { color: var(--text-main); transition: color .2s; }
.epg-bloom__title a:hover { color: var(--accent-text, var(--accent)); }
.epg-bloom__excerpt { margin: 0 0 16px; font-size: 14.5px; line-height: 1.6; color: color-mix(in srgb, var(--text-main) 65%, transparent); }
.epg-bloom__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
.epg-bloom__go { display: flex; flex-shrink: 0; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--accent-fill, var(--accent)); color: var(--on-accent-fill, #fff) !important; font-size: 18px; transition: transform .25s; }
.epg-bloom__card:hover .epg-bloom__go { transform: rotate(45deg); }
@media (max-width: 992px) { .epg-bloom__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .epg-bloom__grid { grid-template-columns: minmax(0, 1fr); } }
