/* ─── 홈 페이지 카드 가시성 개선 ─── */

/* 1. 그리드 컨테이너 설정 */
.md-typeset .grid.cards > ul,
.md-typeset .grid.cards > ol {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 2. 개별 카드 스타일 (li) */
.md-typeset .grid.cards > ul > li,
.md-typeset .grid.cards > ol > li {
  margin: 0 !important; /* Grid gap을 사용하므로 margin 제거 */
  border: 1px solid var(--md-default-fg-color--lighter);
  border-radius: 0.4rem;
  padding: 1.25rem;
  background-color: var(--md-default-bg-color);
  transition: all 0.3s ease;
  display: flex !important;
  flex-direction: column;
  height: 100%; /* 카드 높이 균일화 */
}

/* 카드 호버 효과 */
.md-typeset .grid.cards > ul > li:hover,
.md-typeset .grid.cards > ol > li:hover {
  border-color: var(--md-accent-fg-color);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
}

/* 3. 카드 내부 요소 스타일 */
.md-typeset .grid.cards li strong {
  font-size: 1.1rem;
  color: var(--md-primary-fg-color);
  display: flex !important; /* inline-flex에서 flex로 변경 */
  align-items: flex-start !important; /* 중앙 정렬에서 상단 정렬로 변경 */
  gap: 0.75rem !important; /* 아이콘과 제목 사이 간격 확대 */
  margin-bottom: 0.2rem;
  line-height: 1.3;
}

.md-typeset .grid.cards li strong .twemoji,
.md-typeset .grid.cards li strong .octicons,
.md-typeset .grid.cards li strong svg {
  width: 1.1rem !important;
  height: 1.1rem !important;
  flex-shrink: 0 !important;
  margin-top: 0.1rem !important; /* 제목 첫 줄과 높이 맞춤 */
}

.md-typeset .grid.cards li p {
  font-size: 0.85rem;
  color: var(--md-default-fg-color--light);
  line-height: 1.6;
  margin: 0.5rem 0 !important;
}

.md-typeset .grid.cards li hr {
  margin: 0.5rem 0;
  border: none;
  border-bottom: 0.05rem solid var(--md-default-fg-color--lighter);
  opacity: 0.5;
}

/* 4. 카드 내부 리스트 (링크 목록) */
.md-typeset .grid.cards li ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0.5rem 0 0 0 !important;
  display: block !important; /* 리스트가 그리드로 변하지 않도록 고정 */
}

.md-typeset .grid.cards li ul li {
  border: none !important;
  padding: 0.2rem 0 !important;
  margin: 0 !important;
  background: transparent !important;
  font-size: 0.85rem;
}

.md-typeset .grid.cards li ul li a {
  color: var(--md-default-fg-color);
  transition: color 0.2s;
  display: flex !important;
  align-items: flex-start !important; /* 강제 상단 정렬 */
  line-height: 1.5; /* 줄 높이 고정 */
}

/* 아이콘 위치 미세 조정 (첫 줄 텍스트와 높이 맞춤) */
.md-typeset .grid.cards li ul li a .octicons,
.md-typeset .grid.cards li ul li a svg {
  margin-top: 0.15rem !important; /* 상단 미세 위치 조정 */
  margin-right: 0.75rem !important;
  flex-shrink: 0 !important;
  width: 1rem !important;
  height: 1rem !important;
  vertical-align: top !important;
}

.md-typeset .grid.cards li ul li a:hover {
  color: var(--md-accent-fg-color);
}

/* 다크 모드 최적화 */
[data-md-color-scheme="slate"] .md-typeset .grid.cards > ul > li {
  background-color: #2e303e;
  border-color: #40415a;
}

[data-md-color-scheme="slate"] .md-typeset .grid.cards li strong {
  color: var(--md-accent-fg-color);
}

/* 상단 버튼 */
.md-typeset .md-button {
  margin: 0.2rem 0.4rem 0.2rem 0;
  border-radius: 2rem;
  padding: 0.4em 1.2em;
}
