/* =========================================================
   program.css (프로그램 페이지 전용)

   ✅ 목표(UI)
   - "YYYY-MM-DD  프로그램명" 목록을 세로로 나열
   - 목록 클릭 → 프로그램 이미지(사진) 모달로 크게 보기
   - 항목별 "수정/삭제" 버튼
   - 맨 아래 검색 박스

   ✅ 참고
   - 상단 배너(subHero)는 subpage.css의 공통 배경을 그대로 사용합니다.
     (요청: 프로그램 페이지 상단에서 사진 배경 제거)
========================================================= */

/* 상단 버튼(추가) */
.programTools{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin: 2px 0 14px;
}

/* 큰 버튼(페이지 내 공통으로 쓰기 좋게) */
.btnMain{
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
  cursor:pointer;
}

.btnMain:hover{ border-color: rgba(0,0,0,.35); }

.btnMain--ghost{ background: transparent; }

/* 목록 안 작은 버튼(수정/삭제) */
.btnMini{
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  border-radius:12px;
  padding:8px 10px;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}

.btnMini:hover{ border-color: rgba(0,0,0,.35); }

.btnMini--danger{
  border-color: rgba(200, 40, 40, .45);
  color: rgba(200, 40, 40, 1);
}

.btnMini--danger:hover{ border-color: rgba(200, 40, 40, .85); }

/* ===== 프로그램 목록(세로 나열) ===== */
.programList{ display:grid; gap:10px; }

.programRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}

.programRow__link{
  flex:1;
  display:flex;
  gap:12px;
  align-items:baseline;
  text-align:left;
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  min-width:0;
}

.programRow__link:hover .programRow__title{ text-decoration: underline; }

.programRow__date{
  font-weight:900;
  font-size:14px;
  color: rgba(0,0,0,.85);
  white-space:nowrap;
}

.programRow__title{
  font-weight:900;
  font-size:15px;
  color: rgba(0,0,0,.88);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.programRow__actions{
  display:flex;
  gap:8px;
  flex-shrink:0;
}

@media (max-width: 520px){
  .programRow{ flex-direction:column; align-items:stretch; }
  .programRow__actions{ justify-content:flex-end; }
  .programRow__title{ white-space:normal; }
}

/* ===== 검색(맨 아래) ===== */
.programSearch{
  margin-top:18px;
  border-top:1px solid rgba(0,0,0,.08);
  padding-top:16px;
}

.programSearch__label{ display:block; font-weight:900; margin-bottom:8px; }

.programSearch__row{ display:flex; gap:10px; align-items:center; }

.programSearch__input{
  flex:1;
  border:1px solid rgba(0,0,0,.18);
  border-radius:14px;
  padding:10px 12px;
  font-size:14px;
}

.programSearch__hint{
  margin:10px 0 0;
  color: rgba(0,0,0,.65);
  font-size:13px;
  line-height:1.45;
}

.programSearch__count{ margin-left:6px; font-weight:900; }

.programEmpty{
  border:1px dashed rgba(0,0,0,.18);
  border-radius:16px;
  padding:16px;
  color: rgba(0,0,0,.65);
  background: rgba(0,0,0,.02);
}

/* ===== 모달(이미지 보기) ===== */
.programModal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:2000;
}

.programModal.is-open{ display:flex; }

.programModal__backdrop{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.55);
}

.programModal__panel{
  position:relative;
  width: min(980px, calc(100% - 24px));
  max-height: calc(100% - 24px);
  overflow:auto;
  background:#fff;
  border-radius:18px;
  box-shadow: 0 24px 90px rgba(0,0,0,.35);
}

.programModal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.programModal__title{ font-weight:900; font-size:15px; }

.programModal__close{
  width:36px;
  height:36px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.18);
  background:#fff;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}

.programModal__body{ padding:14px 16px; }

.programModal__img{ width:100%; height:auto; border-radius:12px; display:block; }

.programModal__foot{
  padding:14px 16px;
  border-top: 1px solid rgba(0,0,0,.08);
  display:flex;
  justify-content:flex-end;
}


/* =========================================================
   ✅ (신규) ICL 2026 Agenda 페이지 전용 스타일
   - 이미지 표를 그대로 붙이는 대신, 웹에서 더 읽기 좋은 카드형 프로그램 표로 재디자인했습니다.
========================================================= */
.agendaHeroCard{
  padding:26px 28px;
  border-radius:24px;
  background:linear-gradient(135deg, #113d73 0%, #1a5ca3 100%);
  color:#fff;
  box-shadow:0 20px 44px rgba(10,39,77,.18);
}
.agendaHeroCard__title{
  font-size:34px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-0.03em;
}
.agendaMetaGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.agendaMetaItem{
  padding:14px 16px;
  border-radius:18px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
}
.agendaMetaItem__label{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.82;
}
.agendaMetaItem strong{
  font-size:18px;
  line-height:1.45;
}
.agendaBoard{
  margin-top:24px;
  border-radius:22px;
  overflow:hidden;
  border:1px solid rgba(9,18,37,.08);
  box-shadow:0 16px 38px rgba(9,18,37,.08);
  background:#fff;
}
.agendaBoard__header,
.agendaRow{
  display:grid;
  grid-template-columns:160px minmax(0,1.5fr) minmax(240px,1fr);
}
.agendaBoard__header{
  background:#0e3462;
  color:#fff;
  font-weight:900;
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.agendaBoard__header > div,
.agendaRow > div{
  padding:14px 16px;
}
.agendaRow{
  border-top:1px solid rgba(9,18,37,.08);
  align-items:center;
}
.agendaRow:nth-child(even):not(.agendaRow--session):not(.agendaRow--break):not(.agendaRow--opening){
  background:#fbfcfe;
}
.agendaTime{
  font-weight:800;
  color:#123d72;
}
.agendaTopic{
  color:#111827;
  line-height:1.6;
}
.agendaTopic strong{
  font-size:20px;
  color:#0d2f59;
}
.agendaSpeaker{
  color:#334155;
  line-height:1.6;
}
.agendaRow--session{
  background:linear-gradient(90deg, #d7edc6 0%, #bddd9d 100%);
}
.agendaRow--session .agendaTime,
.agendaRow--session .agendaSpeaker,
.agendaRow--session .agendaTopic{
  color:#18351a;
}
.agendaRow--break{
  background:linear-gradient(90deg, #fff47a 0%, #ffea00 100%);
}
.agendaRow--break .agendaTopic,
.agendaRow--break .agendaTime,
.agendaRow--break .agendaSpeaker{
  color:#4a4100;
}
.agendaRow--opening{
  background:linear-gradient(90deg, #d7eef9 0%, #c4e4f4 100%);
}
.agendaRow--opening .agendaTopic,
.agendaRow--opening .agendaTime,
.agendaRow--opening .agendaSpeaker{
  color:#12384c;
}
.agendaFootNote{
  margin:16px 4px 0;
  color:rgba(9,18,37,.58);
  font-size:13px;
}
@media (max-width: 980px){
  .agendaBoard__header,
  .agendaRow{
    grid-template-columns:120px minmax(0,1.2fr) minmax(180px,1fr);
  }
  .agendaHeroCard__title{ font-size:30px; }
}
@media (max-width: 760px){
  .agendaMetaGrid{ grid-template-columns:1fr; }
  .agendaBoard__header{ display:none; }
  .agendaRow{
    grid-template-columns:1fr;
    gap:0;
  }
  .agendaRow > div{ padding:10px 14px; }
  .agendaTime{ padding-bottom:2px; }
  .agendaSpeaker{ padding-top:0; }
  .agendaTopic strong{ font-size:18px; }
}
