/*

TemplateMo 575 Leadership Event

https://templatemo.com/tm-575-leadership-event

*/


/*---------------------------------------
  CUSTOM PROPERTIES ( VARIABLES )             
-----------------------------------------*/
:root {
  --white-color:                  #ffffff;
  --primary-color:                #C39BD3;
  --secondary-color:              #8E44AD;
  --section-bg-color:             #f0f8ff;
  --dark-color:                   #000000;
  --navbar-bg-color:              #4A235A;
  --p-color:                      #212125;
  --highlight-icon-color:         #ff0100;

  --body-font-family:             'DM Sans', sans-serif;

  --h1-font-size:                 62px;
  --h2-font-size:                 48px;
  --h3-font-size:                 36px;
  --h4-font-size:                 32px;
  --h5-font-size:                 24px;
  --h6-font-size:                 22px;
  --p-font-size:                  18px;
  --menu-font-size:               16px;
  --copyright-text-font-size:     16px;

  --font-weight-normal:           400;
  --font-weight-medium:           500;
  --font-weight-bold:             700;
}

body {
    background: var(--white-color);
    font-family: var(--body-font-family); 
}


/*---------------------------------------
  TYPOGRAPHY               
-----------------------------------------*/

h2,
h3,
h4,
h5,
h6 {
  color: var(--dark-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--font-weight-bold);
  letter-spacing: -1px;
}

h1 {
  font-size: var(--h1-font-size);
  letter-spacing: -2px;
  text-transform: uppercase;
}

h2 {
  font-size: var(--h2-font-size);
  letter-spacing: -2px;
}

h3 {
  font-size: var(--h3-font-size);
}

h4 {
  font-size: var(--h4-font-size);
}

h5 {
  font-size: var(--h5-font-size);
  line-height: normal;
}

h6 {
  font-size: var(--h6-font-size);
}

p {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-normal);
}

ul li {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-normal);
}

a, 
button {
  touch-action: manipulation;
  transition: all 0.3s;
}

a {
  color: var(--p-color);
  text-decoration: none;
}

a:hover {
  color: var(--primary-color);
}

::selection {
  background: var(--primary-color);
  color: var(--white-color);
}

::-moz-selection {
  background: var(--primary-color);
  color: var(--white-color);
}

.section-padding {
  padding-top: 20px;
  padding-bottom: 20px;
}

.custom-border-radius {
  border-radius: 20px;
}

b,
strong {
  font-weight: var(--font-weight-bold);
}

.small-title {
  text-transform: uppercase;
}

.avatar-image {
  border: 2px solid var(--white-color);
  border-radius: 100px;
  width: 50px;
  height: 50px;
  object-fit: cover;
}

.avatar-image-left {
  position: relative;
  left: -10px;
}

.avatar-image-left + .avatar-image-left {
  left: -20px;
}

.avatar-image-left + .avatar-image-left + .avatar-image-left {
  left: -30px;
}

.avatar-image-left + .avatar-image-left + .avatar-image-left + .avatar-image-left {
  left: -40px;
}

.avatar-info {
  display: inline-block;
  vertical-align: top;
}


/*---------------------------------------
  CUSTOM ICON               
-----------------------------------------*/
.custom-icon {
  display: inline-block;
  height: 45px;
  width: 45px;
  line-height: 45px;
  border: 2px solid var(--white-color);
  text-align: center;
  border-radius: 50%;
  font-size: 20px;
  position: relative;
}

.custom-icon::before,
.custom-icon::after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 50%;
}

.custom-icon::before {
  border: 2px solid transparent;
}

.custom-icon::after {
  border: 0 solid transparent;
}

.custom-icon:hover {
  border-color: transparent;
}

.custom-icon:hover::before {
  border-top-color: var(--primary-color);
  border-right-color: var(--primary-color);
  border-bottom-color: var(--primary-color);
  transition: border-top-color .15s linear,border-right-color .15s linear .1s,border-bottom-color .15s linear .2s;
}

.custom-icon:hover::after {
  border-top: 2px solid var(--primary-color);
  border-left-width: 2px;
  border-right-width: 2px;
  transform: rotate(270deg);
  transition: transform .4s linear 0s,border-left-width 0s linear .35s;
}


/*---------------------------------------
  CUSTOM BUTTON               
-----------------------------------------*/
.custom-btn,
.navbar-expand-lg .navbar-nav .nav-link.custom-btn,
.navbar-nav .nav-link.custom-btn {
  background: var(--navbar-bg-color);
  border-radius: 100px;
  color: var(--white-color);
  font-size: var(--copyright-text-font-size);
  font-weight: var(--font-weight-bold);
  padding: 10px 20px;
}

.navbar-expand-lg .navbar-nav .nav-link.custom-btn,
.navbar-nav .nav-link.custom-btn {
  background: var(--secondary-color);
}

.navbar-expand-lg .navbar-nav .nav-link.custom-btn,
.navbar-nav .nav-link.custom-btn {
  margin-left: 20px;
}

.custom-border-btn {
  background: transparent;
  border: 2px solid var(--primary-color);
  color: var(--primary-color);
}

.custom-btn:hover,
.navbar-expand-lg .navbar-nav .nav-link.custom-btn:hover,
.navbar-nav .nav-link.custom-btn:hover {
  background: var(--primary-color);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.175);
  color: var(--white-color);
}


/*---------------------------------------
  NAVIGATION              
-----------------------------------------*/
.sticky-wrapper {
  background: var(--navbar-bg-color);
}

.navbar {
  background: var(--navbar-bg-color);
  z-index: 9;
  right: 0;
  left: 0;
  transition: all 0.3s;
  padding-top: 15px;
  padding-bottom: 15px;
}

.navbar-brand {
  font-size: 20px;
  line-height: 1.2rem;
  font-weight: var(--font-weight-bold);
  color: var(--primary-color);
  text-transform: uppercase;
}

.brand-logo {
  font-size: 38px;
}

.brand-text {
  display: inline-block;
  vertical-align: top;
}

.navbar-expand-lg .navbar-nav .nav-link {
  padding-right: 20px;
  padding-left: 20px;
}

.navbar-nav .nav-link {
  color: var(--white-color);
  font-size: var(--menu-font-size);
  font-weight: var(--font-weight-medium);
  padding-top: 15px;
  padding-bottom: 15px;
}

.navbar-nav .nav-link.active, 
.navbar-nav .nav-link:hover {
  color: var(--primary-color);
}

.navbar-toggler {
  border: 0;
  padding: 0;
  cursor: pointer;
  margin: 0;
  width: 30px;
  height: 35px;
  outline: none;
}

.navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background: transparent;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before,
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
  top: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
  transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  transform: rotate(-45deg);
}

.navbar-toggler .navbar-toggler-icon {
  background: var(--white-color);
  transition: background 10ms 300ms ease;
  display: block;
  width: 30px;
  height: 2px;
  position: relative;
}

.navbar-toggler .navbar-toggler-icon:before,
.navbar-toggler .navbar-toggler-icon:after {
  transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease, -webkit-transform 300ms 50ms ease;
  position: absolute;
  right: 0;
  left: 0;
  background: var(--white-color);
  width: 30px;
  height: 2px;
  content: '';
}

.navbar-toggler .navbar-toggler-icon::before {
  top: -8px;
}

.navbar-toggler .navbar-toggler-icon::after {
  top: 8px;
}


/*---------------------------------------
  HIGHLIGHT              
-----------------------------------------*/
.highlight {
  background: var(--navbar-bg-color);
  padding-bottom: 16px;
}

.highlight-thumb {
  position: relative;
  overflow: hidden;
  margin-top: 24px;
  margin-bottom: 24px;
}

.highlight-thumb::after {
  content: "";
  background: rgba(0, 0, 0, 0.45);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.highlight-thumb:hover .highlight-title {
  opacity: 0;
  visibility: hidden;
}

.highlight-thumb:hover .highlight-icon {
  opacity: 1;
  visibility: visible;
}

.highlight-thumb:hover .highlight-image {
  transform: scale(1.2);
}

.highlight-info {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

.highlight-image {
  display: block;
  width: 100%;
  transition: transform 2s;
}

.highlight-title {
  color: var(--white-color);
  transition: opacity 1s;
  margin-bottom: 0;
}

.highlight-icon {
  color: var(--highlight-icon-color);
  font-size: var(--h1-font-size);
  opacity: 0;
  transition: transform 1s;
  visibility: hidden;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.highlight-icon:hover {
  color: var(--white-color);
}


/*---------------------------------------
  HERO              
-----------------------------------------*/
.hero {
  position: relative;
  height: calc(90vh - 84px);
}

.hero::after {
  content: "";
  background: rgba(0, 0, 0, 0) linear-gradient(rgba(39, 48, 83, 0.1) 0%, rgb(39, 48, 83) 100%) repeat scroll 0% 0%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin-bottom: -5px;
}

.hero-text {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.hero .arrow-icon {
  position: relative;
  top: 50px;
}

.video-wrap {
  z-index: -100;
}

.custom-video {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.date-text,
.location-text {
  border: 1px solid var(--white-color);
  color: var(--white-color);
  display: inline-block;
  padding: 10px 20px;
}

.date-text {
  border-right: 0;
}


/*---------------------------------------
  SPEAKERS              
-----------------------------------------*/
.speakers {
  background: var(--section-bg-color);
}

.speakers-thumb {
  position: relative;
}

.speakers-thumb-small {
  margin-top: 24px;
}

.speakers-thumb:hover .speakers-info::before {
  background: var(--primary-color);
  width: 100%;
  padding: 15px;
}

.speakers-thumb:hover .speakers-title,
.speakers-thumb:hover .speakers-text {
  color: var(--white-color);
}

.speakers-info {
  background: var(--white-color);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.175);
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 20px;
  padding: 10px 15px;
}

.speakers-info::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background: var(--primary-color);
  width: 5px;
  height: 100%;
  transition: all 1s;
}

.speakers-image {
  width: 100%;
}

.speakers-text-info {
  padding: 100px;
}

.speakers-title,
.speakers-text {
  position: relative;
}

.speakers-title, .speakers-text, h5 {
  font-size: 18px;
}

.speakers-text {
  font-size: 12px;
  text-transform: uppercase;
}

.speakers-featured-text {
  background: var(--secondary-color);
  border-radius: 4px;
  color: var(--white-color);
  position: absolute;
  top: 0;
  right: 0;
  font-size: 12px;
  text-transform: uppercase;
  margin: 10px;
  padding: 4px 12px;
}

.speakers-thumb .social-icon {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 15px;
}

.speakers-thumb .social-icon {
  opacity: 0;
  transition: opacity all 1s;
}

.speakers-thumb:hover .social-icon {
  opacity: 1;
  transition-delay: 1s;
}

.sponsor-image {
  max-width: 130px;
  margin: 10px auto;
  height: auto;
}


/*---------------------------------------
  SCHEDULE              
-----------------------------------------*/
.nav-tabs {
  border-bottom: 0;
}

.nav-tabs .nav-link,
.nav-tabs .nav-link span {
  display: block;
  text-align: left;
}

.nav-tabs .nav-link span {
  display: block;
}

.nav-tabs .nav-link small {
  display: block;
  font-size: 18px;
  font-weight: normal;
  color: var(--p-color);
}

.nav-tabs .nav-link {
  background: var(--white-color);
  border-radius: 0;
  border: 0;
  border-left: 3px solid var(--section-bg-color);
  padding: 20px 30px;
  transition: all 0.3s;
  width: 25%;
}

.nav-tabs .nav-link:first-child {
  border-left-color: transparent;
}

.nav-tabs .nav-item.show .nav-link, 
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:focus, 
.nav-tabs .nav-link:hover {
  border-left-color: var(--primary-color);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.175);
}

.nav-tabs .nav-link.active h3,
.nav-tabs .nav-link:focus h3, 
.nav-tabs .nav-link:hover h3 {
  color: var(--primary-color);
}

.schedule-image {
  border-radius: 20px;
}


/*---------------------------------------
  CALL TO ACTION              
-----------------------------------------*/
.call-to-action {
  background-image: url('../images/terren-hurst-blgOFmPIlr0-unsplash.jpg');
  background-repeat: no-repeat;
  background-position: top;
  background-size: cover;
  background-attachment: fixed;
  position: relative;
}

.call-to-action::after {
  content: "";
  background: rgba(0, 0, 0, 0.45);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.call-to-action .row {
  position: relative;
  z-index: 2;
}

.call-to-action .custom-btn {
  background: var(--white-color);
  color: var(--dark-color);
}

.call-to-action .custom-btn:hover {
  background: var(--primary-color);
  color: var(--white-color);
}


/*---------------------------------------
  PRICING              
-----------------------------------------*/
.pricing-thumb {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.pricing-title-wrap,
.pricing-body {
  padding: 40px;
}

.pricing-title-wrap {
  background: var(--navbar-bg-color);
  padding: 20px 40px;
}

.pricing-title {
  color: var(--white-color);
}


/*---------------------------------------
  VENUE               
-----------------------------------------*/
.venue {
  background: var(--section-bg-color);
}

.venue-thumb {
  border-radius: 20px;
  position: relative;
  overflow: hidden;
}

.venue-info-title,
.venue-info-body {
  padding: 40px;
}

.venue-info-title {
  background: var(--navbar-bg-color);
  padding: 20px 40px;
}

.google-map {
  border-radius: 20px;
}


/*---------------------------------------
  CONTACT              
-----------------------------------------*/
.contact {
  background-image: url('../images/maria-stewart-p4tj0g-_aMM-unsplash.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}

.contact-form {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.contact-form h2 {
  background: var(--navbar-bg-color);
  color: var(--white-color);
  padding: 30px 50px;
}

.contact-form .row {
  padding: 50px;
}

.arrow-icon {
  background: var(--section-bg-color);
  border-radius: 100px;
  color: var(--dark-color);
  font-size: var(--h5-font-size);
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  display: inline-block;
  margin: auto;
}

.arrow-icon:hover {
  background: var(--primary-color);
  color: var(--white-color);
}


/*---------------------------------------
  CUSTOM FORM               
-----------------------------------------*/
.custom-form .form-control {
  background: var(--section-bg-color);
  border: 0;
  margin-bottom: 24px;
  padding-top: 13px;
  padding-bottom: 13px;
}

.custom-form button[type="submit"] {
  background: var(--primary-color);
  border-radius: 100px;
  color: var(--white-color);
  font-weight: var(--font-weight-bold);
  transition: all 0.3s;
  margin-bottom: 0;
}

.custom-form button[type="submit"]:hover,
.custom-form button[type="submit"]:focus {
  background: var(--navbar-bg-color);
}


/*---------------------------------------
  SITE FOOTER              
-----------------------------------------*/
.site-footer {
  padding-top: 100px;
  padding-bottom: 100px;
}

.site-footer .navbar-brand {
  color: var(--primary-color);
}

.site-footer .social-icon-link {
  font-size: var(--h6-font-size);
  width: 50px;
  height: 50px;
  line-height: 50px;
}

.site-footer .copyright-text {
  font-size: var(--copyright-text-font-size);
}

.footer-menu {
  margin: 0;
  padding: 0;
}

.footer-menu-item {
  list-style: none;
}

.footer-menu-link {
  font-size: var(--copyright-text-font-size);
  display: inline-block;
  vertical-align: top;
  margin-right: 20px;
}


/*---------------------------------------
  SOCIAL ICON               
-----------------------------------------*/
.social-icon {
  margin: 0;
  padding: 0;
}

.social-icon li {
  list-style: none;
  display: inline-block;
  vertical-align: top;
}

.social-icon-link {
  background: var(--white-color);
  border-radius: 100px;
  font-size: var(--p-font-size);
  color: var(--dark-color);
  display: inline-block;
  vertical-align: top;
  margin: 2px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
}

.social-icon-link:hover {
  background: var(--primary-color);
  color: var(--white-color);
}


/*---------------------------------------
  RESPONSIVE STYLES               
-----------------------------------------*/
@media screen and (max-width: 1500px) {
   .speakers-text-info {
    padding: 50px;
  }
}

@media screen and (max-width: 991px) {
  h1 {
    font-size: 38px;
  }

  h2 {
    font-size: 36px;
  }

  h3 {
    font-size: 32px;
  }

  h4 {
    font-size: 28px;
  }

  h5 {
    font-size: 15px;
  }

  h6 {
    font-size: 18px;
  }

  .speakers-title, .speakers-text, h5 {
  font-size: 15px;
}

  .section-padding,
  .site-footer {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .custom-btn {
    font-size: var(--copyright-text-font-size);
    padding: 8px 16px;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    padding-left: 0;
  }

  .navbar-nav .nav-link {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .hero {
    height: calc(75vh - 78.39px);
  }

  .nav-tabs .nav-link {
    width: 50%;
  }

  .copyright-text-wrap {
    margin-top: 20px;
  }
}

@media screen and (max-width: 480px) {
  h1 {
    font-size: 38px;
  }

  h2 {
    font-size: 32px;
  }

  h3 {
    font-size: 28px;
  }

  h4 {
    font-size: 24px;
  }

  h5 {
    font-size: 20px;
  }

  .navbar-brand {
    font-size: 16px;
  }

  .custom-btn {
    font-size: 13px;
    padding: 6px 12px;
  }

  .nav-tabs .nav-link {
    margin-right: 0;
    margin-left: 0;
    padding: 15px;
  }

  .hero-text {
    width: 100%;
  }

  .speakers-title, .speakers-text, h5 {
  font-size: 20px;
}

  .site-footer .social-icon-link {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }

  .footer-menu-link {
    margin-left: 10px;
    margin-right: 10px;
  }

  .footer-menu,
  .copyright-text-wrap {
    justify-content: center;
  }
}
.hero-text h1 {
    font-size: 40px;           /* Cỡ chữ mới */
    font-weight: 500;          /* Độ đậm mới (thanh thoát hơn) */
    text-transform: capitalize;  /* Viết hoa chữ cái đầu */
}

/* Chỉnh màu phần chữ được nhấn mạnh */
.hero-text h1 u {
    text-decoration: none;     /* Bỏ gạch chân */
    color: #FFD700;           /* Đổi thành màu vàng gold */
}
.topic-tag {
    background-color: #e9ecef; /* Màu nền xám nhạt */
    color: #495057; /* Màu chữ đậm */
    padding: 8px 16px;
    margin: 5px;
    border-radius: 20px; /* Bo tròn các góc */
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    border: 1px solid #dee2e6;
}

.topic-tag:hover {
    background-color: var(--primary-color); /* Đổi màu nền khi di chuột qua */
    color: var(--white-color); /* Đổi màu chữ khi di chuột qua */
    border-color: var(--primary-color);
    transform: translateY(-2px); /* Hiệu ứng nhấc lên một chút */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
#section_submission h2 {
    color: #ba3594;
}
.submission-step-header {
    background-color: var(--navbar-bg-color); /* Lấy màu xanh đậm của thanh menu */
    color: var(--white-color); /* Giữ chữ màu trắng */
}
.submission-step-header {
    background-color: var(--navbar-bg-color); /* Lấy màu xanh đậm của thanh menu */
}

/* Đặt màu chữ trắng cho tiêu đề h4 nằm bên trong header */
.submission-step-header h4 {
    color: var(--white-color);
}
/* === TẠO KHUNG NỀN CHO TIÊU ĐỀ ĐỂ NỔI BẬT HƠN === */

/* Tạo khung nền mờ */
.hero-text {
    background-color: rgba(0, 0, 0, 0.4);      /* Khung nền màu đen, mờ 60% */
    padding: 40px;                            /* Tạo khoảng trống xung quanh chữ */
    border-radius: 15px;                      /* Bo tròn các góc của khung */
    backdrop-filter: blur(5px);               /* Hiệu ứng kính mờ (rất hiện đại) */
    border: 1px solid rgba(255, 255, 255, 0.1); /* Thêm viền mờ tinh tế */
}

/* Làm nổi bật chữ tiêu đề */
.hero-text h1 {
    color: #FFFFFF; /* Chữ màu trắng tinh để có độ tương phản cao nhất */
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6); /* Thêm bóng đổ để chữ có chiều sâu */
}
/* === GIẢM KHOẢNG TRẮNG GIỮA PROGRAM VÀ SPEAKERS === */

#section_program {
    padding-bottom: 20px; /* Giảm khoảng đệm dưới của mục Program */
}

#section_3 {
    padding-top: 20px; /* Giảm khoảng đệm trên của mục Speakers */
}
/* === XÓA TRIỆT ĐỂ KHOẢNG TRẮNG GIỮA CÁC MỤC === */

/* Giảm khoảng cách dưới của mục Program */
#section_program {
    padding-bottom: 30px !important;
}

/* Giảm khoảng cách trên của mục Speakers */
#section_3 {
    padding-top: 20px !important;
}
/* === STYLE CHUYÊN NGHIỆP CHO NỘI DUNG TRANG HOME === */

/* --- Timeline cho các ngày quan trọng --- */
.timeline-list {
    list-style: none;
    padding: 0;
    position: relative;
}
.timeline-list::before {
    content: '';
    position: absolute;
    top: 0;
    left: 15px;
    height: 100%;
    width: 3px;
    background: #e9ecef;
}
.timeline-list li {
    padding-left: 40px;
    position: relative;
    margin-bottom: 25px;
}
.timeline-list li::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 8px;
    height: 15px;
    width: 15px;
    border-radius: 50%;
    background: var(--white-color);
    border: 3px solid var(--primary-color);
}
.timeline-list .timeline-date {
    font-weight: 700;
    color: var(--primary-color);
}
.timeline-list .timeline-event {
    font-weight: 500;
}

/* --- Khối tin tức nổi bật --- */
.news-box {
    background-color: #e3f2fd;
    border-left: 5px solid var(--primary-color);
    padding: 20px;
    border-radius: 5px;
}
.news-box h5 {
    color: var(--primary-color);
}

/* --- Khối nhà tổ chức --- */
.organizer-box {
    background-color: #f8f9fa;
    padding: 40px;
    border-radius: 10px;
    border: 1px solid #dee2e6;
}
.organizer-logo {
    max-height: 80px;
    transition: transform 0.3s ease;
}
.organizer-logo:hover {
    transform: scale(1.1);
}
/* === CĂN ĐỀU VÀ LÀM ĐẸP ĐOẠN VĂN GIỚI THIỆU === */
#home_content p {
    text-align: justify;
    line-height: 1.7; /* Tăng khoảng cách dòng để dễ đọc hơn */
}

/* === LÀM ĐẸP TÊN KEYNOTE SPEAKER === */
#section_3 .col-lg-7 h3 {
    color: var(--navbar-bg-color); /* Đổi màu chữ sang màu xanh đậm của theme */
    font-size: 32px;               /* Tăng nhẹ kích thước cho nổi bật */
    padding-bottom: 10px;          /* Thêm khoảng đệm dưới */
    border-bottom: 2px solid var(--primary-color); /* Thêm đường gạch chân trang trí */
    display: inline-block;         /* Để đường gạch chân chỉ dài bằng độ dài của chữ */
    margin-bottom: 15px !important; /* Tăng khoảng cách với dòng chức vụ bên dưới */
}

/* === XÓA KHOẢNG TRẮNG THỪA CỦA MỤC PROGRAM === */
#section_3 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    min-height: auto !important;
}
/* === STYLE CHUYÊN NGHIỆP CHO TIÊU ĐỀ MỤC SPEAKERS === */
.speaker-header-block {
    text-align: center;
    max-width: 700px; /* Giới hạn chiều rộng để dễ đọc */
    margin: 0 auto 60px auto; /* Tự động căn giữa */
}

.speaker-header-block h2 {
    font-weight: 700;
}

.speaker-header-block p {
    font-size: 18px;
    color: var(--p-color);
    line-height: 1.7;
}

.speaker-header-block .divider-line {
    width: 80px;
    height: 3px;
    background-color: var(--primary-color);
    margin: 25px auto 0 auto;
    border-radius: 5px;
}
/* === STYLE CHUYÊN NGHIỆP CHO PHẦN CALL FOR PAPERS === */

.topic-category {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.07);
    height: 100%;
}

.topic-category h5 {
    font-weight: 700;
    color: var(--primary-color);
    padding-bottom: 10px;
    border-bottom: 2px solid #e9ecef;
    margin-bottom: 20px;
}

.topic-list {
    list-style: none;
    padding-left: 0;
}

.topic-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.topic-list .bi-arrow-right-short {
    color: var(--primary-color);
    font-size: 24px;
    line-height: 1;
    margin-right: 10px;
}





/* === STYLE CHO KHỐI CHUYỂN TIẾP (CTA) === */
.section-transition-wrap {
    background-color: var(--navbar-bg-color);
    border-radius: 15px;
    padding: 40px;
    margin-top: 60px;
}

.section-transition-wrap h4 {
    color: var(--white-color);
    font-weight: 700;
}

.section-transition-wrap p {
    color: rgba(255, 255, 255, 0.8);
}



/* --- Khối chuyển tiếp dạng chia đôi --- */
.split-cta-section {
    padding: 0;
}
.split-cta-image {
    background-image: url('../images/111.jpg'); /* << THAY ẢNH CỦA BẠN VÀO ĐÂY */
    background-size: cover;
    background-position: center;
    min-height: 400px;
}
.split-cta-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px;
    min-height: 400px;
}
/*
=================================================================
=== STYLE CHUYÊN NGHIỆP CHO CHÂN TRANG (FOOTER) ===
=================================================================
*/

.site-footer-professional {
    background-color: var(--navbar-bg-color);
    color: rgba(255, 255, 255, 0.75);
    padding: 80px 0;
}

.site-footer-professional h5 {
    color: var(--white-color);
    font-weight: 700;
    margin-bottom: 20px;
}

.footer-contact-list {
    list-style: none;
    padding-left: 0;
}

.footer-contact-list li {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
}

.footer-contact-list .bi {
    font-size: 20px;
    color: var(--primary-color);
    margin-right: 15px;
    margin-top: 3px;
}

.footer-contact-list a {
    color: rgba(255, 255, 255, 0.75);
}

.footer-contact-list a:hover {
    color: var(--white-color);
}

.footer-bottom-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
    margin-top: 40px;
    text-align: center;
    font-size: 14px;
}
/* === LÀM ĐẸP CHỮ TIÊU ĐỀ TRONG KHUNG VENUE === */
.venue-info-title h2 {
    font-size: 28px; /* Tăng nhẹ kích thước chữ */
    letter-spacing: 0.5px; /* Tăng khoảng cách ký tự cho thoáng hơn */
    font-weight: 700;
}
/* === LÀM ĐẸP CHỮ ĐỊA CHỈ TRONG KHUNG VENUE === */
.venue-info-body h4 span {
    font-size: 25px;      /* Giảm kích thước chữ cho vừa vặn */
    font-weight: 500;     /* Giảm độ đậm cho thanh thoát hơn */
    line-height: 1.6;     /* Tăng khoảng cách dòng nếu địa chỉ bị xuống dòng */
}

/*
=================================================================
=== STYLE NÂNG CAO 4: THẺ LỊCH TRÌNH (SCHEDULE CARDS) ===
=================================================================
*/

.schedule-day-heading {
    font-weight: 700;
    margin-top: 50px;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e9ecef;
}
.schedule-day-heading:first-of-type {
    margin-top: 0;
}

.event-card-v2 {
    display: flex;
    background: var(--white-color);
    border-radius: 10px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.07);
    margin-bottom: 25px;
    overflow: hidden;
    transition: all 0.3s ease;
}
.event-card-v2:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

.event-card-v2 .time-section {
    background: #f8f9fa;
    padding: 20px;
    text-align: center;
    flex: 0 0 150px; /* Cố định độ rộng cột thời gian */
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid #e9ecef;
}
.event-card-v2 .time-section .time {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-color);
}
.event-card-v2 .time-section .event-type {
    font-size: 14px;
    color: var(--p-color);
}

.event-card-v2 .details-section {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-grow: 1;
}
.event-card-v2 .details-section h5 {
    margin-bottom: 0;
    font-size: 18px;
}
.event-card-v2 .details-section .location {
    color: var(--p-color);
    font-style: italic;
    white-space: nowrap;
    margin-left: 20px;
}
.event-card-v2 .details-section .bi {
    margin-right: 8px;
}

/* === CẢI THIỆN KHOẢNG CÁCH CHO ĐOẠN VĂN GIỚI THIỆU === */

.about-symposium-text p {
    line-height: 1.8;
    color: #555;
    text-align: justify;
    margin-bottom: 0; /* Bỏ margin mặc định cho tất cả các đoạn */
}

/* Chỉ thêm khoảng cách cho đoạn văn đầu tiên */
.about-symposium-text p:first-of-type {
    margin-bottom: 24px; /* Hoặc 1.5rem, tùy bạn muốn xa hay gần */
}
/* === CĂN CHỈNH THẲNG HÀNG CHO KHỐI ORGANIZERS === */

.organizer-item {
    text-align: center;
    padding: 20px;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    background-color: var(--white-color);
    height: 100%;
    transition: all 0.3s ease;
    /* Dùng Flexbox để căn chỉnh */
    display: flex;
    flex-direction: column;
}

.organizer-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-color: var(--primary-color);
}

/* === CĂN GIỮA NỘI DUNG TRONG THẺ ORGANIZERS === */

.organizer-item {
    text-align: center;
    padding: 30px 20px;
    border: 1px solid #e9ecef;
    border-radius: 10px;
    background-color: var(--white-color);
    height: 100%;
    transition: all 0.3s ease;
    
    /* Dùng Flexbox để căn giữa theo chiều dọc */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Căn giữa tất cả nội dung theo chiều dọc */
    align-items: center; /* Căn giữa theo chiều ngang */
}

.organizer-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    border-color: var(--primary-color);
}

/* Bỏ các thuộc tính không cần thiết của khung logo */
.organizer-item .logo-wrap {
    margin-bottom: 20px;
}

.organizer-item .logo-wrap img {
    max-height: 90px;
    width: auto;
}

.organizer-item .organizer-name {
    font-weight: 500;
    color: var(--p-color);
    font-size: 16px;
    margin-bottom: 0;
}
.event-card-v2 .time-section {
    background: #f8f9fa;
    padding: 20px;
    text-align: center;
    flex: 0 0 150px;
    border-right: 1px solid #e9ecef;

    /* === CÁC DÒNG QUAN TRỌNG ĐỂ CĂN CHỈNH === */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Căn giữa nội dung theo chiều dọc */
    align-items: center;     /* Căn giữa nội dung theo chiều ngang */
}
/* === SỬA MÀU CHỮ CHO DANH SÁCH LIÊN HỆ Ở FOOTER === */

.footer-contact-list li,
.footer-contact-list li a {
    color: var(--white-color); /* Đổi tất cả chữ và link thành màu trắng */
    opacity: 0.85;             /* Giảm độ chói một chút cho dịu mắt */
    transition: opacity 0.3s ease;
}

.footer-contact-list li a:hover {
    opacity: 1; /* Chữ sẽ sáng rực lên khi di chuột vào */
}
/*
=================================================================
=== STYLE NÂNG CAO 4: TIMELINE PHÂN LUỒNG & ANGLED CTA ===
=================================================================
*/

/* --- Timeline Phân luồng --- */
.schedule-timeline {
    position: relative;
    padding-left: 50px;
    border-left: 3px solid #e9ecef;
}
.timeslot {
    position: relative;
    margin-bottom: 40px;
}
.timeslot-icon {
    position: absolute;
    left: -64px;
    top: 5px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: var(--primary-color);
    color: var(--white-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}
.timeslot-time {
    font-weight: 700;
    color: var(--p-color);
    margin-bottom: 10px;
}
.timeslot-content {
    background: var(--white-color);
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.07);
}
.timeslot-content h5 {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 10px;
}
.timeslot-content p {
    margin-bottom: 0;
}
.track-title {
    font-weight: 700;
    color: var(--secondary-color);
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #eee;
}

/* --- Khối chuyển tiếp vát cạnh --- */
.angled-cta-section {
    padding: 120px 0;
    background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
    color: var(--white-color);
    transform: skewY(-2deg); /* Tạo hiệu ứng nghiêng */
}
.angled-cta-section .container {
    transform: skewY(2deg); /* Làm thẳng lại nội dung bên trong */
}
.angled-cta-section h2 {
    color: var(--white-color);
}
.angled-cta-section p {
    color: rgba(255,255,255,0.9);
}
/*
=================================================================
                  === GIAO DIỆN CHO PROGRAM ===
=================================================================
*/

/* --- Tùy chỉnh các nút Tab --- */
.program-tabs .nav-tabs {
    border-bottom: 2px solid #dee2e6;
    justify-content: center;
    margin-bottom: 40px;
}
.program-tabs .nav-link {
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--p-color);
    padding: 15px 25px;
    font-weight: 500;
    margin-bottom: -2px; /* Để đường gạch dưới đè lên viền chung */
}
.program-tabs .nav-link h3 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 0;
}
.program-tabs .nav-link small {
    font-size: 14px;
}
.program-tabs .nav-link.active,
.program-tabs .nav-link:hover {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}

/* --- Bảng lịch trình bên trong Tab --- */
.program-table {
    width: 100%;
    border-collapse: collapse;
}
.program-table th,
.program-table td {
    padding: 15px;
    text-align: left;
    border-bottom: 1px solid #e9ecef;
}
.program-table thead th {
    background-color: #f8f9fa;
    font-weight: 700;
    color: var(--dark-color);
    font-size: 14px;
}
.program-table .time-cell {
    font-weight: 700;
    color: var(--primary-color);
    width: 20%;
}
.program-table .event-cell h5 {
    font-size: 18px;
    margin-bottom: 5px;
}
.session-break td {
    background-color: #f8f9fa;
    font-weight: 500;
    text-align: center;
}
/* === ĐỔI MÀU TIÊU ĐỀ === */

.hero-text h1, .hero-text h1 u {
    color: #FFFFFF !important;  /* Buộc chữ phải là màu trắng */
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5); /* Giữ lại bóng đổ cho dễ đọc */
}

/* === TÙY CHỈNH MÀU SẮC CHO MENU === */

/* 1. Màu chữ mặc định của các mục menu */
.navbar-nav .nav-link {
    color: var(--white-color); /* Màu trắng */
}

/* 2. Màu chữ khi được chọn (active) hoặc khi di chuột vào (hover) */
.navbar-nav .nav-link.active, 
.navbar-nav .nav-link:hover {
    color: #C39BD3 !important; /* Màu tím nhạt bạn đã chọn */
}
/* === TIÊU ĐỀ MỤC === */

/* Áp dụng cho tiêu đề h2 trong các khối section-padding */
.section-padding h2 {
    font-weight: 700;
    color: #404040; /* Màu xám đậm cho chữ thường */
}

/* Tùy chỉnh riêng cho phần chữ được nhấn mạnh */
.section-padding h2 .text-info {
    color: #8A2BE2 !important; /* Màu Tím Nhạt Chuyên Nghiệp (BlueViolet) */
    text-decoration: none; /* Bỏ gạch chân mặc định */
    padding-bottom: 5px;
    border-bottom: 3px solid #8A2BE2; /* Thay bằng gạch chân trang trí */
}
/* === STYLE CHO KHỐI NỀN VÁT CẠNH (ANGLED) === */
.angled-section {
    position: relative;
    padding: 100px 0;
    overflow: hidden;
}

.angled-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: -5%;
    width: 110%;
    height: 100%;
    background: #4A235A; /* Màu tím đậm của theme */
    z-index: 1;
    transform: skewY(-3deg); /* Tạo độ nghiêng */
}

/* Đảm bảo nội dung (chữ, nút) nằm trên lớp nền */
.angled-section .container {
    position: relative;
    z-index: 2;
}

/* Chỉnh màu chữ và nút để nổi bật trên nền tím */
.angled-section h2,
.angled-section p {
    color: var(--white-color);
    text-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.angled-section .custom-btn {
    background: rgba(255, 255, 255, 0.9);
    color: #333;
}

.angled-section .custom-btn:hover {
    background: var(--white-color);
    color: var(--dark-color);
}
/* === CALL FOR PAPERS === */

.topic-category {
    background-color: #ffffff;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.07);
    height: 100%;
}

.topic-category h5 {
    font-weight: 700;
    color: var(--navbar-bg-color); /* Dùng màu tím đậm của theme */
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
    margin-bottom: 20px;
}

.topic-list {
    list-style: none;
    padding-left: 0;
}

.topic-list li {
    display: flex;
    align-items: flex-start; /* Căn chỉnh icon và chữ thẳng hàng */
    margin-bottom: 15px;
    font-size: 17px;
    color: var(--p-color);
}

.topic-list .bi-check-circle-fill {
    color: #C39BD3; /* Dùng màu tím nhạt của theme */
    margin-right: 12px;
    margin-top: 4px;
    font-size: 18px;
}
/* === TIÊU ĐỀ SUBMISSION === */
.submission-step-header h4 {
    color: var(--white-color);        /* Giữ chữ màu trắng */
    font-size: 20px;                  /* Chỉnh cỡ chữ nhỏ lại cho tinh tế */
    font-weight: 500;                 /* Giảm độ đậm một chút */
    text-transform: uppercase;        /* VIẾT HOA TẤT CẢ CÁC CHỮ */
    letter-spacing: 1px;              /* Tăng khoảng cách giữa các chữ cái */
    margin-bottom: 0 !important;      /* Bỏ khoảng cách thừa bên dưới */
}
.hero-text h1{
  text-transform: none !important;
}
/*BẢNG LỊCH TRÌNH (PROGRAM TABLE) === */

.program-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

/* Áp dụng cho tất cả các ô trong bảng */
.program-table th,
.program-table td {
    padding: 18px 15px; /* Tăng khoảng đệm cho thoáng hơn */
    border-bottom: 1px solid #e9ecef;
    text-align: left;
    vertical-align: middle !important; /* << DÒNG QUAN TRỌNG NHẤT: Căn giữa theo chiều dọc */
}

/* Định dạng cho hàng tiêu đề (Time, Event...) */
.program-table thead th {
    background-color: #f8f9fa;
    font-weight: 700;
    color: var(--dark-color);
    font-size: 13px;
    text-transform: uppercase;
}

/* Định dạng cho ô Thời gian */
.program-table .time-cell {
    font-weight: 700;
    color: var(--primary-color); /* Dùng màu tím nhạt của theme */
    width: 18%;
    font-size: 16px;
}

/* Định dạng cho ô Sự kiện */
.program-table .event-cell h5 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 5px;
}

.program-table .event-cell p,
.program-table .event-cell small {
    margin-bottom: 0;
    line-height: 1.6;
    color: var(--p-color);
}

.hero-text h1 {
    text-transform: none !important; 
}

.navbar-brand {
    color: var(--white-color);
    font-size: 24px;
    padding: 5px 0;
    border: none;
    background-color: transparent;
    transition: color 0.3s ease;
}

.navbar-brand:hover {
    color: var(--primary-color); /* Đổi sang màu tím nhạt khi di chuột */
    background-color: transparent;
}

.navbar-brand .logo-main {
    font-weight: 700; /* Chữ ISET in đậm */
    letter-spacing: 1px;
}

.navbar-brand .logo-year {
    font-weight: 400; /* Chữ 2025 mảnh hơn */
    opacity: 0.8;
    margin-left: 4px; /* Tạo khoảng cách nhỏ */
}
/* === STYLE CHO KHỐI VĂN BẢN GIỚI THIỆU "CALL FOR PAPERS" === */

.publication-notice {
    max-width: 850px; /* Giới hạn chiều rộng của khối */
    margin: 30px auto 50px auto; /* Căn giữa và tạo khoảng cách trên dưới */
    padding: 25px;
    padding-left: 30px;
    font-size: 18px;
    line-height: 1.8;
    color: #555;
    text-align: justify; /* Căn đều hai lề */
    background-color: #f8f9fa; /* Nền xám rất nhạt để nổi bật */
    border-left: 5px solid var(--primary-color); /* Đường kẻ trang trí màu tím nhạt */
    border-radius: 0 8px 8px 0;
}

/*
=================================================================
=== TẤT CẢ CÁC TÙY CHỈNH CSS CỦA BẠN ===
=================================================================
*/

/* --- STYLE CHUYÊN NGHIỆP CHO BẢNG LỊCH TRÌNH --- */
.program-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}

.program-table th,
.program-table td {
    padding: 18px 15px;
    border-bottom: 1px solid #e9ecef;
    text-align: left;
    vertical-align: middle !important;
}

.program-table thead th {
    background-color: #f8f9fa;
    font-weight: 700;
    color: var(--dark-color);
    font-size: 13px;
    text-transform: uppercase;
}

.program-table .time-cell {
    font-weight: 700;
    color: var(--primary-color);
    width: 18%;
    font-size: 16px;
}

.program-table .event-cell h5 {
    font-size: 18px;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 5px;
}

.program-table .event-cell p,
.program-table .event-cell small {
    margin-bottom: 0;
    line-height: 1.6;
    color: var(--p-color);
}

.program-table .host-cell,
.program-table .place-cell {
    font-size: 16px;
    color: #6c757d;
}

.session-break-row td {
    background-color: #f8f9fa;
    font-weight: 500;
    text-align: center;
    color: var(--p-color);
}

/* === STYLE CHUYÊN NGHIỆP CHO PHẦN VENUE === */

.venue-thumb {
    border-radius: 15px; /* Bo tròn mạnh hơn */
}

.venue-info-title {
    padding: 25px 30px;
    background: var(--navbar-bg-color); /* Nền màu tím đậm đồng bộ */
}

.venue-info-title h3 {
    font-size: 24px; /* Chỉnh lại cỡ chữ cho hợp lý */
    font-weight: 700;
}

.venue-info-body {
    padding: 30px;
}

/* Định dạng cho mỗi dòng thông tin (icon + chữ) */
.venue-info-body .venue-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

.venue-info-body .venue-item .bi {
    font-size: 22px;
    color: var(--primary-color); /* Icon màu tím nhạt */
}

.venue-info-body .venue-item span,
.venue-info-body .venue-item a {
    font-size: 18px;
    font-weight: 500;
    color: var(--p-color);
}
/* === STYLE CHO KHỐC CHUYỂN TIẾP DẠNG CHIA ĐÔI (SPLIT CTA) === */
.split-cta-section {
    padding: 0;
    background-color: #f8f9fa; /* Màu nền dự phòng */
}
.split-cta-image {
    background-size: cover;
    background-position: center;
    min-height: 400px;
}
.split-cta-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 50px;
    min-height: 400px;
}
/* === LÀM RÕ CHỮ GIỚI THIỆU VÀ BẢN QUYỀN Ở FOOTER === */

/* Chỉnh màu cho dòng giới thiệu dưới logo ISET */
.site-footer-professional .navbar-brand + p {
    color: var(--white-color);
    opacity: 0.9; /* Sáng hơn một chút so với các link */
}

/* Chỉnh màu cho dòng Copyright */
.footer-bottom-bar p {
    color: var(--white-color);
    opacity: 1; /* Sáng rõ nhất */
}
/* Styling cho tiêu đề mỗi ngày trong chương trình */
.day-header {
    text-align: center;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #eee;
}

.day-header h3 {
    display: inline-block;
    font-size: 1.75rem;
    font-weight: 600;
}

.day-header h3 span {
    color: var(--primary-color);
    margin-right: 10px;
}

.day-header h3 small {
    font-size: 1.1rem;
    font-weight: 400;
    color: var(--p-color);
}
/* =============================================
   Custom Styles for Invited Speakers
   ============================================= */

/* Style chung cho tiêu đề khu vực */
.section-title-container {
    margin-bottom: 2.5rem; /* 40px */
    text-align: center;
}

.section-title-container h3 {
    font-size: 1.875rem; /* 30px */
    font-weight: 700;
    margin-bottom: 0.5rem;
}

/* Thẻ diễn giả được mời */
.invited-speaker-thumb {
    background-color: #ffffff;
    border-radius: 0.75rem; /* 12px */
    border: 1px solid #e5e7eb; /* border-gray-200 */
    padding: 1.25rem; /* 20px */
    text-align: center;
    transition: all 0.3s ease-in-out;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    height: 100%; /* Đảm bảo các thẻ có chiều cao bằng nhau */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.invited-speaker-thumb:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

/* Ảnh diễn giả */
.invited-speaker-thumb .speaker-image {
    width: 120px;
    height: 120px;
    border-radius: 0.5rem; /* 8px */
    margin: 0 auto 1rem auto;
    object-fit: cover;
}

/* Thẻ "Chờ công bố" (TBA) */
.tba-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    background-color: #f3f4f6; /* bg-gray-100 */
    border-radius: 0.5rem;
    margin: 0 auto 1rem auto;
    color: #9ca3af; /* text-gray-400 */
}

.tba-placeholder svg {
    width: 40px;
    height: 40px;
    margin-bottom: 0.5rem;
}

/* Thông tin diễn giả */
.invited-speaker-info h5 {
    font-size: 1rem; /* 16px */
    font-weight: 600;
    color: #1f2937; /* text-gray-800 */
    line-height: 1.4;
}

.invited-speaker-info .speaker-title {
    font-size: 0.875rem; /* 14px */
    color: #4f46e5; /* text-indigo-600 */
    font-weight: 500;
}

.invited-speaker-info .tba-text {
    font-size: 1rem;
    font-weight: 500;
    color: #6b7280; /* text-gray-500 */
}

/* --- HÃY THỬ DÁN LẠI BẰNG ĐOẠN CODE NÀY --- */

.speakers-thumb {
    overflow: hidden; /* Ẩn những phần ảnh bị thừa ra ngoài */
    
    /* Đặt một chiều cao cố định cho khung chứa ảnh */
    /* BẠN CÓ THỂ THAY ĐỔI SỐ 400 NÀY cho đến khi thấy vừa ý */
    height: 400px; 
}

.speakers-thumb .speakers-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top; /* Ưu tiên hiển thị phần đầu của ảnh */
}
/* --- CSS nâng cấp cho khu vực Diễn giả nổi bật --- */

.featured-speaker-block {
    background-color: #ffffff;
    border-radius: 0.75rem; /* Bo tròn các góc */
    padding: 2rem;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08); /* Đổ bóng mềm mại */
    border: none !important; /* Bỏ đường gạch chân cũ */
    transition: all 0.3s ease;
}

.featured-speaker-block:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

/* Hiệu ứng cho ảnh */
.featured-speaker-block .featured-speaker-img {
    border-radius: 0.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Nâng cấp phần chữ */
.featured-speaker-block h4 {
    /* Biến chữ "Plenary Speaker" thành một cái tag đẹp mắt */
    display: inline-block;
    background-color: var(--primary-color);
    color: #fff;
    padding: 6px 18px;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.featured-speaker-block h3 {
    font-weight: 700;
    color: var(--dark-color);
    margin-top: 0.75rem;
}

.featured-speaker-block h5 {
    font-style: italic;
    color: #6c757d; /* Màu xám nhạt cho đỡ rối mắt */
    margin-bottom: 1.5rem;
}

.featured-speaker-block p {
    line-height: 1.8; /* Tăng khoảng cách dòng cho dễ đọc */
    color: #555;
      text-align: justify; /* Thêm dòng này để căn đều hai bên */
}
/* --- CSS ĐỂ LÀM ĐỀU CÁC ẢNH DIỄN GIẢ --- */

.featured-speaker-block img {
    width: 100%; /* Chiếm hết chiều rộng của cột chứa nó */
    max-width: 350px; /* Giới hạn chiều rộng tối đa để ảnh không quá lớn */
    
    /* Đây là phần quan trọng nhất để làm đều ảnh */
    height: 420px; /* Đặt một chiều cao CỐ ĐỊNH cho tất cả ảnh */
    object-fit: cover; /* Lấp đầy khung, cắt phần thừa, không làm méo ảnh */
    object-position: center top; /* Ưu tiên hiển thị phần mặt và vai của diễn giả */

    /* Phần trang trí thêm cho đẹp */
    border-radius: 0.75rem; /* Bo tròn các góc ảnh */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); /* Đổ bóng mềm mại cho ảnh */
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.logo-wrap {
    width: 180px;        /* chiều rộng cố định */
    height: 120px;       /* chiều cao cố định */
    display: flex;
    align-items: center; /* căn giữa theo chiều dọc */
    justify-content: center; /* căn giữa theo chiều ngang */
    margin: 0 auto;      /* căn giữa trong cột */
    overflow: hidden;    /* tránh ảnh tràn ra ngoài */
}

.logo-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* co ảnh cho vừa khung, giữ tỉ lệ */
}

.event-cell {
  font-size: 15px;
  line-height: 1.6;
}

.event-cell .talk {
  margin-bottom: 8px;
}

.event-cell .author {
  font-weight: 600;   /* in đậm tên tác giả */
  color: #222;        /* màu chữ tối, dễ đọc */
}

.event-cell .title {
  font-style: italic; /* in nghiêng tên bài báo */
  color: #444;        /* màu xám nhạt hơn để dịu mắt */
}


.program-table {
  table-layout: fixed;
  width: 100%;
}

.program-table th,
.program-table td {
  word-wrap: break-word;  /* hoặc: word-break: break-word; */
}

/* === CONFERENCE LITE (Bootstrap-compatible) === */

/* Fonts & basic colors */
body {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  background: #f9fafb;
  color: #212529;
  line-height: 1.6;
  margin: 0;
}

/* Container override */
.container {
  max-width: 1140px;
  padding: 1rem;
}

/* Navbar */
.navbar {
  background: #004080;
  padding: 0.75rem 1rem;
  color: #fff;
}
.navbar a {
  color: #fff;
  text-decoration: none;
  margin-right: 1rem;
  font-weight: 500;
}
.navbar a:hover {
  text-decoration: underline;
}

/* Buttons */
.btn {
  display: inline-block;
  font-weight: 500;
  border: none;
  border-radius: .3rem;
  padding: .5rem 1rem;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}
.btn-primary {
  background-color: #0d6efd;
  color: #fff;
}
.btn-primary:hover {
  background-color: #0b5ed7;
}
.btn-outline {
  border: 1px solid #0d6efd;
  color: #0d6efd;
  background: transparent;
}
.btn-outline:hover {
  background: #0d6efd;
  color: #fff;
}

/* Cards */
.card {
  background: #fff;
  border-radius: .5rem;
  box-shadow: 0 2px 5px rgba(0,0,0,0.08);
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.card-body {
  padding: 1rem 1.25rem;
}
.card-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: .5rem;
}

/* Section headers */
.section-title {
  text-align: center;
  margin: 3rem 0 1rem;
  font-size: 1.6rem;
  color: #004080;
  font-weight: 600;
}

/* Footer */
.footer {
  background: #002d5a;
  color: #fff;
  text-align: center;
  padding: 1rem;
  font-size: .9rem;
  margin-top: 3rem;
}

/* Responsive tweak */
@media (max-width: 768px) {
  .navbar {
    text-align: center;
  }
  .navbar a {
    display: block;
    margin: 0.5rem 0;
  }
}

/*
=================================================================
=== UPGRADED EVENT PROGRAM STYLES ===
=================================================================
*/

/* --- Main Table Styling --- */
.program-table {
    width: 100%;
    border-collapse: separate; /* Use separate to allow for border-radius */
    border-spacing: 0;
    margin-top: 25px;
    box-shadow: 0 8px
 30px rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    overflow: hidden; /* Important for border-radius to work on tables */
    font-size: 16px;
}

/* --- Table Header --- */
.program-table thead th {
    background-color: #f8f9fa;
    padding: 15px 20px;
    font-weight: 600;
    color: #495057;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #dee2e6;
}

/* --- Table Cells --- */
.program-table td {
    padding: 20px;
    border-bottom: 1px solid #e9ecef;
    vertical-align: top; /* Align content to the top */
    line-height: 1.7;
}

/* --- Remove border from the last row --- */
.program-table tbody tr:last-child td {
    border-bottom: none;
}

/* --- Time Column --- */
.program-table .time-cell {
    font-weight: 700;
    font-size: 17px;
    color: var(--primary-color);
    white-space: nowrap; /* Prevent time from wrapping */
    width: 15%; /* Assign a fixed width */
}

/* --- Event Details Column --- */
.event-cell h5 {
    font-size: 20px;
    font-weight: 700;
    color: var(--navbar-bg-color);
    margin-bottom: 15px;
}

.event-cell strong { /* For Session titles like (S1A) */
    font-size: 18px;
    font-weight: 700;
    color: var(--dark-color);
    display: block;
    margin-bottom: 15px;
}

.event-cell .talk {
    margin-bottom: 18px;
    padding-left: 15px;
    border-left: 3px solid #e9ecef;
}

.event-cell .talk:last-child {
    margin-bottom: 0;
}

.event-cell .author {
    font-weight: 600;
    color: #343a40;
}

.event-cell .title {
    font-style: italic;
    color: #6c757d;
    display: block; /* Make topic appear on a new line */
    margin-top: 4px;
}

/* --- Host & Place Columns --- */
.host-cell, .place-cell {
    font-size: 15px;
    color: #495057;
    font-style: italic;
}
.host-cell ul, .place-cell ul {
    padding-left: 0;
    list-style: none;
    margin: 0;
}
.host-cell ul li, .place-cell ul li {
    margin-bottom: 5px;
}

/* --- Styling for Break/Lunch Rows --- */
.session-break-row td {
    background-color: #f8f9fa;
}
.session-break-row h5 {
    font-weight: 600;
    color: var(--primary-color);
    margin-bottom: 0;
}

/* --- Day Headers --- */
.day-header {
    text-align: left;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 2px solid var(--primary-color);
}

.day-header h3 {
    display: inline-block;
    font-size: 2rem;
    font-weight: 700;
    margin: 0;
}

.day-header h3 span {
    color: var(--navbar-bg-color);
    margin-right: 15px;
}

.day-header h3 small {
    font-size: 1.2rem;
    font-weight: 400;
    color: var(--p-color);
}

/* --- TÙY CHỈNH BẢNG CHƯƠNG TRÌNH --- */

/* 1. Cài đặt chung cho các ô (cells) trong tbody */
.program-table tbody td {
    vertical-align: middle;  /* Căn giữa nội dung theo chiều dọc (RẤT QUAN TRỌNG cho rowspan) */
    padding-top: 18px;       /* Tăng khoảng đệm để dễ thở hơn */
    padding-bottom: 18px;
}

/* 2. Đường viền phân cách các hàng sự kiện thông thường */
.program-table tbody tr {
    /* Đường viền đứt nét để phân tách nhẹ nhàng các sự kiện */
    border-bottom: 1px dashed #ccc; 
}

/* 3. Làm nổi bật các hàng "Nghỉ giải lao" (Break rows) */
.program-table tbody tr.session-break-row {
    background-color: #f8f9fa; /* Một màu nền xám rất nhạt (màu Bootstrap) */
    border-top: 2px solid #e0e0e0;     /* Đường viền đậm hơn ở trên */
    border-bottom: 2px solid #e0e0e0;  /* và ở dưới để tạo khối phân cách */
}

.program-table tbody tr.session-break-row h5 {
    color: #343a40; /* Màu văn bản đậm hơn cho tiêu đề break */
    font-weight: 600;
    margin-bottom: 0; /* Xóa lề mặc định của h5 */
}

/* 4. Định dạng đặc biệt CHO Ô ĐƯỢC GỘP (rowspan) */
.program-table .time-cell[rowspan] {
    text-align: center;     /* Chỉ căn giữa các ô được gộp */
    border-right: 1px solid #eee;
}

/* 5. Định dạng cột "Event" để dễ đọc hơn */
.program-table .event-cell h5 {
    font-size: 1.1em;
    font-weight: 600;
    color: #333;
}
.program-table .event-cell strong {
    font-size: 1.05em;
    color: #222;
}

/* Định dạng cho từng bài nói (talk) */
.program-table .event-cell .talk {
    margin-top: 12px;
    padding-left: 15px; /* Thụt lề các bài nói */
    border-left: 3px solid #007bff; /* Thêm một đường viền trái màu xanh */
}

.program-table .event-cell .talk .author {
    display: block; /* Tác giả ở trên */
    font-weight: 600; /* In đậm tên tác giả */
    color: #444;
}

.program-table .event-cell .talk .title {
    display: block; /* Tiêu đề ở dưới */
    font-style: italic; /* In nghiêng tiêu đề */
    font-size: 0.95em;
    color: #666;
    line-height: 1.4;
}

/* 6. Định dạng cột "Place" (Địa điểm) */
.program-table .place-cell strong {
    font-weight: 600;
    color: #28a745; /* Màu xanh lá "success" của Bootstrap */
    font-size: 1.05em;
}

/* 7. Xóa đường viền ở hàng cuối cùng của bảng */
.program-table tbody tr:last-child {
    border-bottom: none;
}