.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-9939 .elementor-element.elementor-element-1cbbac0{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;color:#000000;}.elementor-9939 .elementor-element.elementor-element-95a2837{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;color:#000000;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-9939 .elementor-element.elementor-element-0d874dc{font-family:"Roboto", Sans-serif;font-size:18px;font-weight:400;color:#000000;}/* Start custom CSS for html, class: .elementor-element-d171b51 */<style>
  /* --- สไตล์ตารางพื้นฐาน --- */
  .event-schedule-table {
    width: 100%;
    border-collapse: collapse;
    margin: 25px 0;
    font-family: 'Tahoma', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 14px;
    overflow: hidden;
    border-radius: 8px;
    border: 1px solid #ddd;
  }

  /* --- การจัดตำแหน่งและการเว้นวรรคเริ่มต้นสำหรับ th, td ทั้งหมด --- */
  .event-schedule-table th,
  .event-schedule-table td {
    border: 1px solid #ddd;
    padding: 14px 16px;
    vertical-align: middle;
    text-align: center;
  }

  /* --- ส่วนหัวตาราง --- */
  .event-schedule-table thead th {
    background-color: #952684;
    color: #ffffff;
    font-weight: bold;
    vertical-align: middle;
    border-bottom: 2px solid #001a33;
    font-size: 16px;
    white-space: nowrap;
    text-align: center;
  }
  .event-schedule-table thead th i.fas {
    margin-right: 6px;
  }

  /* --- ส่วนหัววันที่ --- */
  .event-schedule-table .date-header {
    background-color: #f7edc8;
    color: #333;
    font-weight: bold;
    text-align: center;
    font-size: 17px;
    border-top: 1px solid #e0d5b0;
    border-bottom: 1px solid #e0d5b0;
  }

  /* --- สีสลับแถว และ Hover Effect (Desktop) --- */
   .event-schedule-table tbody tr:nth-child(even) {
    background-color: #f8f9fa;
  }
  .event-schedule-table tbody tr:nth-child(odd) {
    background-color: #ffffff;
  }
  @media (min-width: 769px) {
    .event-schedule-table tbody tr:hover {
        background-color: #fff8e1;
    }
  }

  /* --- สไตล์เซลล์เฉพาะ (Desktop) --- */
   .event-schedule-table .image-cell {
    width: 150px;
    padding: 5px;
     line-height: 0;
     vertical-align: middle;
     text-align: center;
  }
  .image-popup-link {
      display: inline-block;
      line-height: 0;
      text-decoration: none;
  }
  .image-popup-link:hover {
      opacity: 0.8;
  }
  .event-schedule-table .image-cell img {
      width: 100%;
      height: auto;
      max-width: 100%;
      display: block;
      margin: 0 auto;
      border-radius: 4px;
  }
  .event-schedule-table .time {
    white-space: nowrap;
    font-weight: 500;
    width: 100px;
    color: #333;
  }
  .event-schedule-table td.activity {
      padding: 14px 16px;
      font-weight: bold;
      color: #952684;
      vertical-align: middle;
  }
  .event-schedule-table td.activity .description {
      display: block;
      font-size: 13px;
      font-weight: normal;
      color: #555;
      margin-top: 5px;
  }
   .event-schedule-table .speakers {
    font-size: 14px;
    color: #555;
    vertical-align: middle;
    text-align: left; /* ชิดซ้ายสำหรับ Desktop */
  }
  .event-schedule-table .speakers ul {
      list-style: none; margin: 0; padding: 0;
      /* display: inline-block; เอาออก */
      text-align: left;
  }
   .event-schedule-table .speakers li {
       margin: 0; padding: 0;
   }
   .event-schedule-table .location {
    font-style: italic;
     font-size: 14px;
     color: #777;
     text-transform: capitalize;
     vertical-align: middle;
  }
  .event-schedule-table .register-cell {
      vertical-align: middle;
      width: 100px;
      text-align: center;
  }
  .register-button {
      display: inline-block;
      background-color: #952684;
      color: #ffffff;
      padding: 12px 20px;
      border: none;
      border-radius: 25px;
      font-size: 12px;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
      white-space: nowrap;
      position: relative;
      overflow: hidden;
  }
  .register-button:hover {
      background-color: #952750;
      color: #ffffff;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
      transform: translateY(-2px);
  }
  .register-button:active {
       transform: translateY(0px);
       box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  }

/* ============================================ */
/* --- การปรับแก้สำหรับ Responsive (Stacking Rows) --- */
/* ============================================ */
@media (max-width: 768px) {

    .event-schedule-table {
        box-shadow: none; border: none; border-radius: 0;
        font-size: 15px; /* << ปรับ Font พื้นฐาน Mobile */
        margin-left: -10px; /* << ลองดึงตารางชิดซ้ายมากขึ้น (ถ้า theme มี padding เยอะ) */
        margin-right: -10px; /* << ลองดึงตารางชิดขวามากขึ้น */
        width: calc(100% + 20px); /* << ทำให้ตารางกว้างกว่า container เล็กน้อย */
    }

    /* ซ่อน Header หลัก */
    .event-schedule-table thead {
        border: none; clip: rect(0 0 0 0); height: 1px; margin: -1px;
        overflow: hidden; padding: 0; position: absolute; width: 1px;
    }

    /* จัดการแถว Date Header */
    .event-schedule-table tr:has(> td.date-header) {
        display: block; margin-bottom: 10px; border: none;
        padding-left: 10px; /* << ชดเชย margin ลบ */
        padding-right: 10px; /* << ชดเชย margin ลบ */
    }
     .event-schedule-table td.date-header {
        display: block; text-align: center; padding: 12px 10px; /* << ลด Padding ข้าง */ font-size: 16px;
        border: none; border-radius: 6px; margin-bottom: 5px;
        background-color: #f7edc8; color: #333; font-weight: bold;
    }

    /* ทำให้แถวข้อมูลเป็น Block */
    .event-schedule-table tbody tr:not(:has(> td.date-header)) {
        display: block; margin-bottom: 25px; /* << เพิ่มระยะห่างแถว */ border: 1px solid #ddd;
        border-radius: 8px; overflow: hidden; background-color: #fff;
        margin-left: 10px; /* << ชดเชย margin ลบ */
        margin-right: 10px; /* << ชดเชย margin ลบ */
    }

    /* ทำให้เซลล์ข้อมูล (<td>) เป็น Block และจัดกึ่งกลาง */
    .event-schedule-table td:not(.date-header) {
        display: block;
        text-align: center;
        font-size: 15px; /* << ใช้ขนาด Font พื้นฐาน Mobile */
        border: none; border-bottom: 1px dotted #eee;
        padding: 12px 15px; /* << ลด Padding ข้าง */
        position: relative; min-height: 30px;
        vertical-align: middle;
    }
    .event-schedule-table td:last-child:not(.date-header) {
        border-bottom: 0;
    }

    /* --- สร้าง Label (ชิดซ้าย) พร้อม Icon --- */
    .event-schedule-table td[data-label]::before {
        display: block;
        font-weight: bold; color: #333; margin-bottom: 8px;
        font-size: 13px; /* << เพิ่มขนาด Label */ text-transform: uppercase; opacity: 0.7;
        text-align: left;
    }
    .event-schedule-table td[data-label="เวลา"]::before { content: '🕒 ' attr(data-label); }
    .event-schedule-table td[data-label="กิจกรรม"]::before { content: '📋 ' attr(data-label); }
    .event-schedule-table td[data-label="วิทยากร/ผู้ดำเนินรายการ"]::before { content: '🎤 ' attr(data-label); }
    .event-schedule-table td[data-label="สถานที่"]::before { content: '📍 ' attr(data-label); }
     .event-schedule-table td.image-cell::before,
     .event-schedule-table td.register-cell::before {
         content: none;
     }

     /* --- จัดสไตล์เซลล์พิเศษใน Mobile --- */
     .event-schedule-table .image-cell {
        padding: 0px 0px; /* ลด Padding ข้าง */ border-bottom: 1px solid #eee; text-align: center;
     }
     .event-schedule-table .image-cell img {
         display: block; width: auto; /* ขนาดรูป */ height: auto; max-width: 270px;
         margin: 0 auto;
     }
      .event-schedule-table td.activity {
          padding: 12px 15px; /* ลด Padding ข้าง */ font-weight: bold; color: #0056b3; text-align: center;
      }
       .event-schedule-table td.activity .description {
           font-size: 14px; /* << เพิ่มขนาด */ margin-top: 5px; text-align: center; line-height: 1.5;
       }
     .event-schedule-table .time {
         width: auto; white-space: normal; font-weight: normal; text-align: center;
         font-size: 15px;
     }
     .event-schedule-table .speakers {
        font-size: 15px; /* << เพิ่มขนาด */ text-align: left; /* << ชิดซ้าย */ line-height: 1.5;
     }
      .event-schedule-table .speakers ul {
          display: block; text-align: left;
      }
     .event-schedule-table .location {
         font-size: 15px; /* << เพิ่มขนาด */ text-transform: capitalize; text-align: center;
     }
     .event-schedule-table .register-cell {
        width: auto; text-align: center; padding: 18px 15px; /* << เพิ่ม Padding บนล่าง */
     }
     .register-button {
        padding: 14px 25px; /* << เพิ่มขนาดปุ่ม */ font-size: 15px; /* << เพิ่มขนาด Font */
     }
      .register-button:hover {
          transform: none;
      }
}
</style>/* End custom CSS */