/* ============================================================
   Shared card + grid styles (home blocks + archives). Enqueued globally.
   ============================================================ */
.bir-post-grid, .bir-portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }

.bir-card {
	background: var(--bir-card-bg); border: 1px solid var(--bir-border); border-radius: var(--bir-radius);
	overflow: hidden; display: flex; flex-direction: column; box-shadow: var(--bir-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.bir-card:hover { transform: translateY(-4px); box-shadow: var(--bir-shadow-lg); }
.bir-card__media { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--bir-bg-subtle); }
.bir-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.bir-card:hover .bir-card__media img { transform: scale(1.05); }
.bir-card__placeholder { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--bir-bg-subtle), #dbe4ef); }
.bir-card__tag {
	position: absolute; top: 12px; right: 12px; background: var(--bir-accent); color: #fff;
	font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
	padding: 5px 12px; border-radius: 20px;
}
.bir-card__body { padding: 22px; display: flex; flex-direction: column; flex: 1 1 auto; }
.bir-card__title { font-size: 1.15rem; margin: 0 0 12px; }
.bir-card__title a { color: var(--bir-text-strong); }
.bir-card__title a:hover { color: var(--bir-primary); }
.bir-card__excerpt { color: var(--bir-text); font-size: .92rem; margin: 0 0 16px; }
.bir-card__meta { list-style: none; margin: 0 0 16px; padding: 0; font-size: .9rem; display: grid; gap: 4px; }
.bir-card__meta strong { color: var(--bir-text-strong); }
.bir-card__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--bir-border); }
.bir-card__more { color: var(--bir-primary); font-weight: 600; font-size: .9rem; }
.bir-card__date { color: var(--bir-text-muted); font-size: .82rem; }

@media (max-width: 980px) { .bir-post-grid, .bir-portfolio-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .bir-post-grid, .bir-portfolio-grid { grid-template-columns: 1fr; } }
