/* PROGRAMME
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.programme-section { padding: 5rem 0 6rem; background-color: var(--color-white); }
.programme-heading { margin-bottom: 2rem; }
.programme-heading .section-title { margin-bottom: 1rem; }
.programme-heading p { margin: 0; color: var(--color-text-muted); }

@media (max-width: 991.98px) {
   .programme-section { padding: 4rem 0 5rem; }
}

@media (max-width: 575.98px) {
   .programme-section { padding: 3.5rem 0 4rem; }
}


/* PROGRAMME NOTICE
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.programme-notice {
   display: flex;
   align-items: flex-start;
   gap: 1rem;
   margin-bottom: 2.5rem;
   padding: 1.25rem 1.5rem;
   border-left: 4px solid var(--color-accent);
   border-radius: var(--border-radius-md);
   background-color: rgba(226, 173, 47, 0.08);
}

.programme-notice > i { margin-top: 0.2rem; color: var(--color-accent); }

.programme-notice strong {
   display: block;
   margin-bottom: 0.15rem;
   color: var(--color-primary-deep);
}

.programme-notice p { margin: 0; color: var(--color-text-muted); }

@media (max-width: 575.98px) {
   .programme-notice { padding: 1rem 1.15rem; }
}


/* PROGRAMME TABS
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.programme-tabs-wrap {
   margin-bottom: 2rem;
   overflow-x: auto;
   scrollbar-width: thin;
}

.programme-tabs {
   display: flex;
   flex-wrap: nowrap;
   gap: 0.75rem;
   min-width: max-content;
   padding-bottom: 0.25rem;
}

.programme-tabs .nav-link {
   min-width: 165px;
   padding: 0.85rem 1.25rem;
   border: var(--border-width) solid var(--color-border);
   border-radius: var(--border-radius-md);
   text-align: left;
   color: var(--color-primary-deep);
   background-color: var(--color-white);
   transition: color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);
}

.programme-tabs .nav-link span {
   display: block;
   font-weight: var(--font-weight-bold);
}

.programme-tabs .nav-link small {
   display: block;
   margin-top: 0.1rem;
   color: var(--color-text-muted);
}

.programme-tabs .nav-link:hover {
   border-color: var(--color-primary);
   color: var(--color-primary);
}

.programme-tabs .nav-link.active {
   border-color: var(--color-primary);
   color: var(--color-white);
   background: linear-gradient(135deg, var(--color-primary-deep), var(--color-primary));
   box-shadow: 0 8px 20px rgba(23, 25, 71, 0.16);
}

.programme-tabs .nav-link.active small { color: rgba(255, 255, 255, 0.72); }

@media (max-width: 575.98px) {
   .programme-tabs { gap: 0.5rem; }
   .programme-tabs .nav-link { min-width: 145px; padding: 0.75rem 1rem; }
}


/* MOBILE SCROLL NOTE
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.programme-scroll-note { display: none; }

@media (max-width: 991.98px) {
   .programme-scroll-note {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.6rem;
      margin: -0.75rem 0 1rem;
      color: var(--color-text-muted);
      font-size: var(--font-size-sm);
   }

   .programme-scroll-note i { color: var(--color-primary); }
}


/* PROGRAMME BOARD
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.programme-board { overflow: hidden; }

.programme-day-header {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 2rem;
   padding: 1.5rem 1.75rem;
   color: var(--color-white);
   background: linear-gradient(135deg, var(--color-primary-deep), var(--color-primary));
}

.programme-day-header > div:first-child > span { font-weight: var(--font-weight-semibold); color: var(--color-accent-light); }
.programme-day-header h3 { margin: 0.2rem 0 0; color: var(--color-white); }

.programme-day-date {
   display: flex;
   align-items: center;
   gap: 0.6rem;
   flex: 0 0 auto;
   font-weight: var(--font-weight-semibold);
}

.programme-day-date i { color: var(--color-accent-light); }

@media (max-width: 575.98px) {
   .programme-day-header {
      flex-direction: column;
      align-items: flex-start;
      gap: 0.6rem;
      padding: 1.25rem;
   }
}


/* PROGRAMME TABLE
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.programme-table-wrap { width: 100%; overflow-x: auto; }

.programme-table {
   width: 100%;
   min-width: 900px;
   border-collapse: collapse;
   table-layout: fixed;
}

.programme-table-single { min-width: 650px; }

.programme-table th, .programme-table td {
   border-right: var(--border-width) solid var(--color-border-light);
   border-bottom: var(--border-width) solid var(--color-border-light);
}

.programme-table th:last-child, .programme-table td:last-child { border-right: 0; }
.programme-table tbody tr:last-child td { border-bottom: 0; }

.programme-table th {
   padding: 1rem;
   text-align: center;
   font-weight: var(--font-weight-bold);
   color: var(--color-white);
   background-color: var(--color-primary);
}

.programme-table th:nth-child(1), .programme-table th:nth-child(2) { width: 90px; }
.programme-table th:nth-child(3) { width: 100px; }
.programme-table-single th:nth-child(4) { width: auto; }

.programme-table td {
   padding: 1rem;
   vertical-align: middle;
   background-color: var(--color-white);
}

.programme-time {
   text-align: center;
   font-weight: var(--font-weight-semibold);
   color: var(--color-primary-deep);
}

.programme-duration { text-align: center; color: var(--color-text-muted); }

@media (max-width: 767.98px) {
   .programme-table { min-width: 820px; }
   .programme-table-single { min-width: 620px; }
   .programme-table th, .programme-table td { padding: 0.85rem; }
}


/* PROGRAMME SESSIONS
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

.session {
   position: relative;
   text-align: center;
   font-weight: var(--font-weight-semibold);
   color: var(--color-primary-deep);
}

.session small {
   display: block;
   margin-top: 0.25rem;
   font-weight: var(--font-weight-regular);
   color: inherit;
   opacity: 0.75;
}

.session-empty          { background-color: #f1f2f5 !important; }
.session-registration   { background-color: rgba(47, 49, 146, 0.06) !important; }

.session-academic       { color: #55238d; background-color: rgba(111, 45, 168, 0.12) !important; }
.session-symposium      { color: #173e9f; background-color: rgba(34, 83, 210, 0.11) !important; }
.session-presentation   { color: #815700; background-color: rgba(226, 173, 47, 0.18) !important; }
.session-break          { color: #17645f; background-color: rgba(12, 140, 133, 0.10) !important; }
.session-ceremony       { color: #756000; background-color: rgba(255, 220, 0, 0.18) !important; }
.session-demo           { color: #5d5900; background-color: rgba(150, 146, 0, 0.15) !important; }
.session-debate         { color: #8a164b; background-color: rgba(164, 24, 91, 0.12) !important; }
.session-case           { color: #086b26; background-color: rgba(23, 145, 55, 0.11) !important; }
.session-quiz           { color: #7d5a00; background-color: rgba(226, 173, 47, 0.14) !important; }
.session-plenary        { color: #006c88; background-color: rgba(0, 178, 220, 0.12) !important; }
.session-award          { color: #773b83; background-color: rgba(189, 100, 205, 0.13) !important; }
.session-special        { color: #b91414; background-color: rgba(226, 26, 26, 0.07) !important; }
.session-social         { color: #756000; background-color: rgba(255, 220, 0, 0.15) !important; }
.session-general        { color: #22263a; background-color: #f6f7fa !important; }
