

  body { 
    background-color: #f7f9fc; /* 홈페이지 배경에 맞춰 수정 가능 */
    padding: 2rem 1rem; 
  }

  /* 프로그램 래퍼 (여러 카드를 감싸는 영역) */
  .program-wrapper {
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 3rem; /* 카드 사이 간격 */
    padding-bottom:4rem;
    max-width:1020px;
  }
  /* 전체 카드 컨테이너 */
  .program-card {
    border: 1px solid rgb(115 117 119 / 26%);
    overflow: hidden;
    background-color: #ffffff;
  }

  /* --- 상단 헤더 영역 (노란색 배경) --- */
  .card-header {
    background-color: #fffae2;
    padding: 1.5rem 1.5rem 1.2rem 1.5rem;
    box-shadow: rgb(59 55 26 / 10%) 0px 3px 12px;
  }

  .header-time {
    font-size: 0.95rem;
    color: #347cb9;
    margin-bottom: 0.3rem;
  }

  .header-type {
    font-size: 1.1rem;
    color: #111;
    margin-bottom: 0.3rem;
  }

  .header-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    line-height: 1.5;
  }

    .header-title > p {font-size:1rem; margin-bottom: 0; color:#347cb9;}


  /* 헤더 내 좌장(Chair) 영역 */
  .header-chairs {
    display: flex;
    align-items: flex-start;
    border-top: 1px solid rgba(0, 0, 0, 0.08); /* 은은한 구분선 */
    padding-top: 1.2rem;
  }

  .chair-badge {
    background-color: #87b8db; /* 파란색 배지 */
    color: #fff;
    padding: 0 10px;
    font-weight: 600;
    font-size: 0.8rem;
    margin-right: 1rem;
    flex-shrink: 0;
    margin-top: 0.1rem;
  }

  .chair-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
  }

  .chair-info {
    color: #343434;
  }

  /* --- 하단 세부 일정 영역 (흰색 배경) --- */
  .card-body {
    display: flex;
    flex-direction: column;
  }

  .program-row {
    display: flex;
    border-bottom: 1px solid #ebebeb;
  }

  .program-row:last-child {
    border-bottom: none; /* 마지막 줄은 테두리 제거 */
  }

  /* 시간 컬럼 */
  .row-time {
    max-width: 112px;
    width:100%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #ebebeb;
    padding: 1rem;
    font-size: 0.95rem;
  }

  /* 세션 내용 컬럼 */
  .row-details {
    flex-grow: 1;
    padding: 1rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .talk-title {
    font-weight: 500;
    font-size: 1.05rem;
    line-height: 1.4;
    margin-bottom: 3px;
  }

  .talk-speaker {
    font-size: 0.95rem;
    color: #555;
  }

  /* --- 모바일 반응형 처리 --- */
  @media (max-width: 640px) {
    .program-wrapper {padding-top:2rem;}
     .card-header {padding:1rem 1.3rem;}
    .header-chairs {flex-direction: column; padding-top: .8rem;gap: 0.5rem;}
    .header-title {line-height: 1.4; font-size: 1rem; margin-bottom: .8rem;}
    .row-time {font-size: 0.9rem; line-height: 1.3;
      width: 100%; max-width: 68px; align-items: flex-start;
      border-right: 1px dashed #ebebeb;
      padding: 1rem .8rem;
      justify-content: flex-start;
      font-weight: 600;
      color: #0056b3; 
    }
    .row-details {padding: 1rem ;}
    .talk-title {font-size: .9rem;line-height: 1.3;margin-bottom: 8px;}
    .talk-speaker {font-size: 0.8rem;}
  }