/* Simple Post Grid - minimal, modern, responsive */
.spg-grid {
    --spg-gap: 16px;
    display: grid;
    gap: var(--spg-gap);
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin: 0 auto;
}

/* Width options - シンプル化 */
.spg-width-full { width: 100% !important; max-width: none !important; }
.spg-width-wide { width: 100% !important; max-width: 1400px !important; }
.spg-width-content { width: 100% !important; max-width: 1200px !important; }
.spg-width-compact { width: 100% !important; max-width: 900px !important; }

/* レスポンシブル（3→1カラム、2カラムは無し） */
@media (min-width: 768px) {
    .spg-grid.spg-cols-2 { grid-template-columns: repeat(2, 1fr); }
    .spg-grid.spg-cols-3 { grid-template-columns: repeat(3, 1fr); }
    .spg-grid.spg-cols-4 { grid-template-columns: repeat(4, 1fr); }
    .spg-grid.spg-cols-5 { grid-template-columns: repeat(5, 1fr); }
    .spg-grid.spg-cols-6 { grid-template-columns: repeat(6, 1fr); }
}

/* カード */
.spg-card {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    transition: transform .15s ease, box-shadow .15s ease;
}
.spg-card:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,0.12); }

/* サムネイル */
.spg-thumb { display: block; position: relative; aspect-ratio: 16/9; background: #f2f2f2; }
.spg-img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* コンテンツ */
.spg-body { padding: 12px 14px 16px; }
.spg-title { margin: 8px 0 6px; font-size: 1rem; line-height: 1.35; }
.spg-title a { color: #222; text-decoration: none; }
.spg-title a:hover { text-decoration: underline; }
.spg-meta { font-size: 12px; color: #666; display: flex; gap: 8px; flex-wrap: wrap; }
.spg-excerpt { margin: 8px 0 0; color: #444; font-size: 0.95rem; line-height: 1.5; }
.spg-empty { padding: 24px; background: #fafafa; border: 1px dashed #e1e1e1; border-radius: 10px; text-align: center; color: #777; }