/**
 * SemiConecta — Rejilla de grupos de trabajo (shortcodes).
 */
.sc-grupos-grid {
	display: grid;
	grid-template-columns: repeat(var(--sc-grupos-cols, 3), 1fr);
	gap: 20px;
}
.sc-grupo-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 24px;
	background: var(--white);
	border: 1px solid var(--gray-200);
	transition: transform .2s var(--sc-ease-tech, ease), box-shadow .2s, border-color .2s;
}
.sc-grupo-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); border-color: var(--gray-300); }
.sc-grupo-card::before {
	content: "";
	position: absolute; left: 0; top: 0;
	width: 100%; height: 3px;
	background: var(--yellow);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .28s var(--sc-ease-tech, ease);
}
.sc-grupo-card:hover::before { transform: scaleX(1); }

.sc-grupo-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.sc-grupo-tag { background: var(--grafito); color: var(--yellow); font-family: var(--font-mono, monospace); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; }
.sc-grupo-node { width: 9px; height: 9px; border-radius: 50%; background: var(--yellow); box-shadow: 0 0 0 4px rgba(255,213,0,.18); }

.sc-grupo-title { font-size: 1.15rem; line-height: 1.28; margin: 0 0 10px; }
.sc-grupo-title a { color: var(--ink); text-decoration: none; }
.sc-grupo-title a:hover { color: var(--yellow-dark); }
.sc-grupo-desc { color: var(--gray-600); font-size: .92rem; line-height: 1.55; margin: 0 0 16px; flex: 1; }
.sc-grupo-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .8rem; color: var(--gray-500); font-weight: 700; margin-bottom: 16px; font-family: var(--font-mono, monospace); }
.sc-grupo-link { font-weight: 800; font-size: .88rem; color: var(--ink-strong); border-bottom: 2px solid var(--yellow); padding-bottom: 2px; align-self: flex-start; text-decoration: none; }

@media (max-width: 900px) { .sc-grupos-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .sc-grupos-grid { grid-template-columns: 1fr; } }
