/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Clean, academic style for schedules */
/* Apply to <table class="custom-table"> */

a {
  color: #2E87C7;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #1F6EA5;
  text-decoration: none;
}

.custom-table {
  width: 100%;
  border-collapse: separate;         /* allows subtle rounding */
  border-spacing: 0;
  background: #fff;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #222;
  border: 1px solid #e5e7eb;         /* light gray border */
  border-radius: 8px;
  overflow: hidden;                   /* clip rounded corners */
}

/* Header */
.custom-table thead th {
  background: #f6f8fa;               /* calm, non-flashy header */
  color: #111;
  font-weight: 600;
  text-align: left;
  padding: 12px 14px;
  border-bottom: 1px solid #e5e7eb;
}

/* Cells */
.custom-table td {
  padding: 12px 14px;
  vertical-align: top;
  border-bottom: 1px solid #f0f2f5;
}

/* Time column: slightly narrower and centered */
.custom-table tbody tr > td:first-child,
.custom-table thead tr > th:first-child {
  /* width: 22%; */
  white-space: nowrap;
  text-align: center;
  font-variant-numeric: tabular-nums; /* neat time alignment */
}

/* Zebra striping for readability */
.custom-table tbody tr:nth-child(odd) td {
  background: #fafafa;
}

/* Row hover (very subtle) */
.custom-table tbody tr:hover td {
  background: #f3f4f6;
}

/* Compact spacing for very short rows that act like section labels */
.custom-table tbody tr:has(td:empty) td + td,
.custom-table tbody tr td:empty + td {
  font-weight: 600;
  background: #f9fafb;
}

/* Links inside table (e.g., speakers) */
.custom-table a {
  color: #0f766e;                    /* muted teal, professional vibe */
  text-decoration: none;
}
.custom-table a:hover,
.custom-table a:focus {
  text-decoration: underline;
}

/* Small screens */
@media (max-width: 640px) {
  .custom-table {
    font-size: 0.9rem;
  }
  .custom-table thead {
    position: sticky;
    top: 0;
    z-index: 1;
  }
  .custom-table tbody tr > td:first-child {
    width: 30%;
  }
}

/* Print-friendly */
@media print {
  .custom-table {
    border-color: #bbb;
  }
  .custom-table thead th {
    background: #eee !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .custom-table tbody tr:nth-child(odd) td {
    background: #f6f6f6 !important;
  }
}

.t1 {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, 'Noto Sans KR', sans-serif;
  font-size: 14px;
  line-height: 1.5;
  /* 바깥 테두리 제거 */
  border: none;
  /* 테이블 최상단 굵은 푸른색 선 */
  border-top: 2px solid #3273be;
  /* 테이블 최하단 굵은 푸른색 선 */
  border-bottom: 2px solid #3273be;
}

.t1 th,
.t1 td {
  /* 모든 세로 테두리 제거 */
  border: none;
  /* 행 사이 연한 구분선 */
  border-bottom: 1px solid #f0f0f0;
  padding: 12px 10px;
}

.t1 thead th {
  background: #f8f9fb;
  color: #3273be;
  font-weight: bold;
  text-align: center;
  /* 제목행 아래 굵은 푸른색 선 */
  border-bottom: 2px solid #3273be;
}

.t1 tbody td {
  text-align: center;
  color: #333;
}

/* 마지막 행은 테이블 자체의 border-bottom과 겹치므로 선 제거 */
.t1 tbody tr:last-child td {
  border-bottom: none;
}

/* 너비 조절 */
.t1 thead th:nth-child(1) { width: 20%; }
.t1 thead th:nth-child(2) { width: 55%; }
.t1 thead th:nth-child(3) { width: 25%; }

/* 배경색 교차 효과 (이미지 느낌) */
.t1 tbody tr:nth-child(even) {
  background-color: #fcfcfc;
}