/* 공통 페이지 스타일 */
@import url('variables.css');
@import url('components.css');

/* 페이지 타이틀 */
.page-title {
  font-size: 2.5rem;
  font-weight: 800;
  margin-bottom: var(--spacing-2xl);
  background: var(--gradient-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.page-subtitle {
  font-size: 1.1rem;
  color: var(--text-secondary);
  margin-bottom: var(--spacing-xl);
}

/* 컨텐츠 래퍼 */
.content-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: var(--spacing-xl);
}

/* 세미나 전체 일정 페이지의 content-wrapper padding (데스크톱) */
.content-wrapper:has(.content_list:has(#schedule_table)),
.content-wrapper:has(#schedule_table) {
  padding: 8px;
}

/* 섹션 */
.section {
  margin-bottom: var(--spacing-2xl);
}

.section-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: var(--spacing-lg);
  color: var(--text-primary);
  padding-bottom: var(--spacing-md);
  border-bottom: 3px solid var(--primary-color);
}

/* 빈 상태 */
.empty-state {
  text-align: center;
  padding: var(--spacing-2xl);
  color: var(--text-secondary);
}

.empty-state-icon {
  font-size: 4rem;
  margin-bottom: var(--spacing-lg);
  opacity: 0.5;
}

.empty-state-text {
  font-size: 1.1rem;
}

/* 로딩 상태 */
.loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-2xl);
  color: var(--text-secondary);
}

/* 반응형 유틸리티 */
.hide-mobile {
  display: block;
}

.show-mobile {
  display: none;
}

@media (max-width: 768px) {
  .hide-mobile {
    display: none;
  }
  
  .show-mobile {
    display: block;
  }
  
  .page-title {
    font-size: 1.75rem;
  }
  
  .content-wrapper {
    padding: 5px;
  }
  
  /* 세미나 전체 일정 페이지의 content-wrapper padding (모바일) */
  .content-wrapper:has(.content_list:has(#schedule_table)),
  .content-wrapper:has(#schedule_table) {
    padding: 5px;
  }
}
