.elementor-2259 .elementor-element.elementor-element-3c65040{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-d373925{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-91da907{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-5a48d6a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-9372e90{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-93c56e7 .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-2259 .elementor-element.elementor-element-69b936e{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-2259 .elementor-element.elementor-element-69b936e .elementor-divider-separator{width:100%;}.elementor-2259 .elementor-element.elementor-element-69b936e .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-2259 .elementor-element.elementor-element-7ec1117{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-9f201df{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-650b990 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}.elementor-2259 .elementor-element.elementor-element-66adf36 > .elementor-widget-container > .jet-listing-grid > .jet-listing-grid__items{--columns:1;}.elementor-2259 .elementor-element.elementor-element-4cf9225{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-c99056f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-5f44352{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2259 .elementor-element.elementor-element-1d7c7b5 .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-2259 .elementor-element.elementor-element-69b9cac{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-2259 .elementor-element.elementor-element-69b9cac .elementor-divider-separator{width:100%;}.elementor-2259 .elementor-element.elementor-element-69b9cac .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-2259 .elementor-element.elementor-element-74fadb0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-ed5e4d8 *//* =========================================================
   District Calendar Hero
   ========================================================= */

.calendar-hero,
.calendar-hero * {
  box-sizing: border-box;
}

.calendar-hero {
  width: 100%;

  padding: 44px 40px 32px;

  color: #FFFFFF;
  background: #1A458B;

  font-family: "Noto Sans TC", sans-serif;
}

.calendar-hero__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: min(100%, 1100px);
  min-height: 117px;

  margin-inline: auto;

  gap: 16px;

  text-align: center;
}

.rotary-page .calendar-hero h1.calendar-hero__title,
.calendar-hero h1.calendar-hero__title {
  width: 100%;

  margin: 0 !important;
  padding: 0 !important;

  color: #FFFFFF !important;

  font-family: "Noto Sans TC", sans-serif !important;
  font-size: 48px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 77px !important;
  letter-spacing: 0.16em !important;

  text-align: center !important;

  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.rotary-page .calendar-hero p.calendar-hero__description,
.calendar-hero p.calendar-hero__description {
  width: 100%;
  max-width: 1100px;

  margin: 0 !important;
  padding: 0 !important;

  color: #FFFFFF !important;

  font-family: "Noto Sans TC", sans-serif !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 24px !important;
  letter-spacing: 0.11em !important;

  text-align: center !important;
  white-space: nowrap;
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {
  .calendar-hero {
    padding: 40px 3px 30px;
  }

  .rotary-page .calendar-hero h1.calendar-hero__title,
  .calendar-hero h1.calendar-hero__title {
    font-size: 40px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.14em !important;
  }

  .rotary-page .calendar-hero p.calendar-hero__description,
  .calendar-hero p.calendar-hero__description {
    max-width: 900px;
    white-space: normal;

    font-size: 17px !important;
    line-height: 1.7 !important;
    letter-spacing: 0.08em !important;
  }
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {
  .calendar-hero {
    padding: 36px 20px 32px;
  }

  .calendar-hero__inner {
    min-height: 0;

    gap: 12px;
  }

  .rotary-page .calendar-hero h1.calendar-hero__title,
  .calendar-hero h1.calendar-hero__title {
    font-size: 32px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.12em !important;
  }

  .rotary-page .calendar-hero p.calendar-hero__description,
  .calendar-hero p.calendar-hero__description {
    font-size: 15px !important;
    line-height: 1.8 !important;
    letter-spacing: 0.06em !important;
  }
  
  .rotary-page .calendar-hero p.calendar-hero__description,
  .calendar-hero p.calendar-hero__description {
    max-width: 100%;
    white-space: normal;
  }
}


/* =========================================================
   Small Mobile
   ========================================================= */

@media (max-width: 420px) {
  .calendar-hero {
    padding-inline: 16px;
  }

  .rotary-page .calendar-hero h1.calendar-hero__title,
  .calendar-hero h1.calendar-hero__title {
    font-size: 28px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9372e90 */.rotary-page .section-heading-group {
  width: fit-content;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
}/* End custom CSS */
/* Start custom CSS for jet-listing-grid, class: .elementor-element-66adf36 *//* =========================================================
   Past Events Style
   ========================================================= */

.past-events-grid .annual-event-row {
  background: #F5F6F8 !important;
}

.past-events-grid .annual-event-cell,
.past-events-grid .annual-event-cell *,
.past-events-grid .jet-listing-dynamic-field__content {
  color: #A6ADB7 !important;
}

/* 已過期標籤 */
.past-events-grid .annual-event-content-text
.jet-listing-dynamic-field__content::after {
  content: "已過期";

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-left: 10px;
  padding: 3px 9px;

  color: #8A919A !important;
  background: #E3E5E8;

  border-radius: 999px;

  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  letter-spacing: 0.04em !important;

  vertical-align: middle;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5f44352 */.rotary-page .section-heading-group {
  width: fit-content;
  max-width: 100%;
  flex: 0 0 auto;
  align-self: flex-start;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-eaf7f11 *//* =========================================================
   Google Calendar Section
   ========================================================= */

.calendar-section,
.calendar-section *,
.calendar-section *::before,
.calendar-section *::after {
  box-sizing: border-box;
}

.calendar-section {
  width: 100%;
  padding: 80px 0;

  background: #FAFAFA;
}

.calendar-section .rotary-container {
  display: flex;
  flex-direction: column;
  align-items: stretch;

  width: min(calc(100% - 80px), 1320px);
  margin-inline: auto;

  gap: 60px;
}


/* =========================================================
   Google Calendar Wrapper
   ========================================================= */

.rotary-calendar {
  position: relative;

  width: 100%;
  height: 790px;
  overflow: hidden;

  background: #FFFFFF;

  border: 1px solid #E2E8F0;
  border-radius: 12px;

  box-shadow: 0 4px 16px rgba(14, 28, 56, 0.08);
}

.rotary-calendar iframe {
  display: block;

  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
}


/* =========================================================
   Laptop
   ========================================================= */

@media (max-width: 1280px) {

  .calendar-section .rotary-container {
    width: calc(100% - 64px);
  }

  .rotary-calendar {
    height: 720px;
  }
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

  .calendar-section {
    padding: 64px 0;
  }

  .calendar-section .rotary-container {
    width: calc(100% - 48px);
    gap: 48px;
  }

  .rotary-calendar {
    height: 680px;
    border-radius: 10px;
  }
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

  .calendar-section {
    padding: 48px 0;
  }

  .calendar-section .rotary-container {
    width: calc(100% - 40px);
    gap: 36px;
  }

  .rotary-calendar {
    height: 620px;
    overflow: hidden;

    border-radius: 10px;
  }

  .rotary-calendar iframe {
    width: 100% !important;
    min-width: 100% !important;
    height: 620px !important;
  }
}


/* =========================================================
   Small Mobile
   ========================================================= */

@media (max-width: 420px) {

  .calendar-section .rotary-container {
    width: calc(100% - 32px);
  }

  .rotary-calendar,
  .rotary-calendar iframe {
    height: 580px !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   Annual Events Section
   ========================================================= */

.annual-events-section,
.annual-events-section *,
.annual-events-section *::before,
.annual-events-section *::after {
  box-sizing: border-box;
}

.annual-events-section {
  width: 100%;
  padding: 80px 0;

  background: #FAFAFA;
}

.annual-events-section .rotary-container {
  display: flex;
  flex-direction: column;

  width: min(calc(100% - 80px), 1320px);
  margin-inline: auto;

  gap: 60px;
}


/* =========================================================
   Table Wrapper
   ========================================================= */

.annual-events-table {
  width: 100%;
  overflow: hidden;

  background: #FFFFFF;

  border: 1px solid #E2E8F0;
  border-radius: 12px;
}


/* =========================================================
   Table Header
   ========================================================= */

.annual-events-header {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr) 360px;

  width: 100%;

  padding: 20px;

  background: #1A458B;
}

.annual-events-header > div {
  display: flex;
  align-items: center;

  min-width: 0;

  padding: 16px 24px;

  color: #FFFFFF;

  font-family: "Noto Sans TC", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 29px;
  letter-spacing: 0.12em;
}


/* =========================================================
   JetEngine Listing Base
   ========================================================= */

.annual-events-table .jet-listing-grid,
.annual-events-table .jet-listing-grid__items {
  width: 100%;
}

.annual-events-table .jet-listing-grid__items {
  display: block;
}

.annual-events-table .jet-listing-grid__item {
  display: block;

  width: 100%;

  padding: 0;
  margin: 0;
}

.annual-events-table .jet-listing-grid__item > .elementor {
  width: 100%;
}


/* =========================================================
   Event Row
   ========================================================= */

.annual-event-row {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr) 360px;
  align-items: stretch;

  width: 100%;
  min-width: 0;

  padding: 0px 20px;

  background: #FFFFFF;

  border-bottom: 2px solid #E2E8F0;

  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    opacity 0.25s ease;
}

.annual-events-table
.jet-listing-grid__item:last-child
.annual-event-row {
  border-bottom: 0;
}


/* =========================================================
   Event Cells
   ========================================================= */

.annual-event-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;

  width: 100%;
  min-width: 0;
  min-height: 90px;

  padding: 16px 24px;
  margin: 0;
}

.annual-event-cell > .elementor-element,
.annual-event-cell .elementor-widget,
.annual-event-cell .elementor-widget-container,
.annual-event-cell .jet-listing,
.annual-event-cell .jet-listing-dynamic-field,
.annual-event-cell .jet-listing-dynamic-field__inline-wrap {
  width: 100%;
  min-width: 0;

  margin: 0;
  padding: 0;
}

.annual-event-cell .jet-listing-dynamic-field__content {
  display: block;

  width: 100%;
  min-width: 0;

  margin: 0;
  padding: 0;

  color: #333333 !important;

  font-family: "Noto Sans TC", sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 29px !important;
  letter-spacing: 0.12em !important;

  white-space: normal;
  overflow-wrap: anywhere;
}

.annual-event-meta {
  gap: 8px;
}

.annual-event-meta > .elementor-element,
.annual-event-meta > .elementor-widget {
  width: 100%;

  margin: 0;
}


/* =========================================================
   Hidden Date Fields
   ========================================================= */

.annual-event-end-date,
.annual-event-start-date {
  display: none !important;
}


/* =========================================================
   Past Events Divider
   ========================================================= */

.annual-events-past-heading {
  display: flex;
  align-items: center;

  width: 100%;

  padding: 12px 24px;

  color: #1A458B;
  background: #F1F3F5;

  font-family: "Noto Sans TC", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.annual-events-past-heading::before,
.annual-events-past-heading::after {
  content: "";

  display: block;

  width: 20px;
  height: 1px;

  background: #1A458B;
}

.annual-events-past-heading span {
  margin-inline: 8px;
}


/* =========================================================
   Past Events Grid
   ========================================================= */

.past-events-grid .annual-event-row,
.annual-event-row.is-past {
  background: #F5F6F8 !important;
}

.past-events-grid .annual-event-cell .jet-listing-dynamic-field__content,
.annual-event-row.is-past
.annual-event-cell
.jet-listing-dynamic-field__content {
  color: #A6ADB7 !important;
}


/* 已過期標籤 */

.past-events-grid
.annual-event-content-text
.jet-listing-dynamic-field__content::after,
.annual-event-row.is-past
.annual-event-content-text
.jet-listing-dynamic-field__content::after {
  content: "已過期";

  display: inline-flex;
  align-items: center;
  justify-content: center;

  margin-left: 10px;
  padding: 3px 9px;

  color: #8A919A !important;
  background: #E3E5E8;

  border-radius: 999px;

  font-family: "Noto Sans TC", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  letter-spacing: 0.04em !important;

  vertical-align: middle;
}


/* =========================================================
   Laptop
   ========================================================= */

@media (max-width: 1280px) {

  .annual-events-section .rotary-container {
    width: calc(100% - 64px);
  }

  .annual-events-header,
  .annual-event-row {
    grid-template-columns: 280px minmax(0, 1fr) 300px;
  }

  .annual-events-header > div {
    padding: 14px 20px;

    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }

  .annual-event-cell {
    padding: 14px 20px;
  }

  .annual-event-cell .jet-listing-dynamic-field__content {
    font-size: 18px !important;
    line-height: 1.5 !important;
    letter-spacing: 0.08em !important;
  }
}


/* =========================================================
   Tablet
   ========================================================= */

@media (max-width: 1024px) {

  .annual-events-section {
    padding: 64px 0;
  }

  .annual-events-section .rotary-container {
    width: calc(100% - 48px);

    gap: 48px;
  }

  .annual-events-header,
  .annual-event-row {
    grid-template-columns: 220px minmax(0, 1fr) 240px;
  }

  .annual-events-header {
    padding: 14px;
  }

  .annual-event-row {
    padding: 14px;
  }

  .annual-events-header > div,
  .annual-event-cell {
    padding: 12px 14px;
  }

  .annual-events-header > div {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.06em;
  }

  .annual-event-cell {
    min-height: 80px;
  }

  .annual-event-cell .jet-listing-dynamic-field__content {
    font-size: 16px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.06em !important;
  }
}


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 767px) {

  .annual-events-section {
    padding: 48px 0;
  }

  .annual-events-section .rotary-container {
    width: calc(100% - 40px);

    gap: 36px;
  }


  /* 隱藏桌機版表頭 */

  .annual-events-header {
    display: none !important;
  }


  /* 移除桌機表格外框 */

  .annual-events-table {
    overflow: visible;

    background: transparent;

    border: 0;
    border-radius: 0;
  }


  /* Listing 垂直排列 */

  .annual-events-table .jet-listing-grid,
  .annual-events-table .jet-listing-grid__items {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;

    gap: 16px !important;
  }

  .annual-events-table .jet-listing-grid__item {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    padding: 0 !important;
    margin: 0 !important;
  }

  .annual-events-table .jet-listing-grid__item > .elementor {
    width: 100% !important;
  }


  /* 活動卡片 */

  .annual-event-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;

    padding: 20px 24px !important;
    gap: 0 !important;

    background: #FFFFFF;

    border: 1px solid #E2E8F0 !important;
    border-radius: 10px !important;

    box-shadow: 0 3px 10px rgba(16, 24, 40, 0.06);
  }


  /* 活動欄位 */

  .annual-event-cell {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;

    padding: 14px 0 !important;
    margin: 0 !important;
    gap: 6px !important;
  }

  .annual-event-cell:first-child {
    padding-top: 4px !important;
  }

  .annual-event-cell:last-child {
    padding-bottom: 4px !important;
  }

  .annual-event-cell + .annual-event-cell {
    border-top: 1px solid #E2E8F0;
  }


  /* 手機版欄位標題 */

  .annual-event-date::before,
  .annual-event-content::before,
  .annual-event-meta::before {
    display: block !important;

    width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    color: #1A458B !important;

    font-family: "Noto Sans TC", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    letter-spacing: 0.08em !important;
  }

  .annual-event-date::before {
    content: "日期";
  }

  .annual-event-content::before {
    content: "活動內容";
  }

  .annual-event-meta::before {
    content: "舉辦地點／主辦社";
  }


  /* 清除 Elementor 與 JetEngine 內層尺寸 */

  .annual-event-cell > .elementor-element,
  .annual-event-cell .elementor-widget,
  .annual-event-cell .elementor-widget-container,
  .annual-event-cell .jet-listing,
  .annual-event-cell .jet-listing-dynamic-field,
  .annual-event-cell .jet-listing-dynamic-field__inline-wrap,
  .annual-event-cell .jet-listing-dynamic-field__content {
    position: static !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
  }


  /* 動態文字 */

  .annual-event-cell .jet-listing-dynamic-field__content {
    color: #333333 !important;

    font-family: "Noto Sans TC", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.65 !important;
    letter-spacing: 0.05em !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }


  /* 日期文字 */

  .annual-event-date
  .jet-listing-dynamic-field__content {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }


  /* 活動內容 */

  .annual-event-content
  .jet-listing-dynamic-field__content {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }


  /* 地點、主辦單位 */

  .annual-event-meta {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    gap: 8px !important;
  }

  .annual-event-meta > .elementor-element,
  .annual-event-meta > .elementor-widget {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .annual-event-meta
  .jet-listing-dynamic-field__content {
    display: block !important;

    width: 100% !important;
    line-height: 1.65 !important;
  }


  /* 已過期區段標題 */

  .annual-events-past-heading {
    justify-content: flex-start;

    width: 100%;

    padding: 14px 24px;
    margin: 0;

    font-size: 14px;
    line-height: 1.5;
  }


  /* 過期活動 */

  .past-events-grid .annual-event-row,
  .annual-event-row.is-past {
    background: #F5F6F8 !important;
  }

  .past-events-grid
  .annual-event-cell
  .jet-listing-dynamic-field__content,
  .annual-event-row.is-past
  .annual-event-cell
  .jet-listing-dynamic-field__content {
    color: #A6ADB7 !important;
  }


  /* 已過期標籤 */

  .past-events-grid
  .annual-event-content-text
  .jet-listing-dynamic-field__content::after,
  .annual-event-row.is-past
  .annual-event-content-text
  .jet-listing-dynamic-field__content::after {
    display: inline-flex;

    margin-top: 6px;
    margin-left: 8px;

    vertical-align: middle;
  }
}


/* =========================================================
   Small Mobile
   ========================================================= */

@media (max-width: 420px) {

  .annual-events-section .rotary-container {
    width: calc(100% - 32px);
  }

  .annual-event-row {
    padding: 18px 20px !important;
  }

  .annual-events-past-heading {
    padding-inline: 20px;
  }
}


/* =========================================================
   Annual Events Mobile Fix
   ========================================================= */

@media (max-width: 767px) {

  .annual-events-table {
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .annual-events-header {
    display: none !important;
  }

  .annual-events-table .jet-listing-grid,
  .annual-events-table .jet-listing-grid__items {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 16px !important;
  }

  .annual-events-table .jet-listing-grid__item,
  .annual-events-table .jet-listing-grid__item > .elementor {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 每張活動卡片 */
  .annual-event-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;

    padding: 18px 20px !important;
    gap: 0 !important;

    background: #FFFFFF !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 10px !important;
    box-shadow: 0 3px 10px rgba(16, 24, 40, 0.06) !important;
  }

  /* 三個欄位 */
  .annual-event-row > .annual-event-cell {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 14px 0 !important;
    gap: 6px !important;
  }

  .annual-event-row > .annual-event-cell:first-child {
    padding-top: 0 !important;
  }

  .annual-event-row > .annual-event-cell:last-of-type {
    padding-bottom: 0 !important;
  }

  .annual-event-row > .annual-event-cell + .annual-event-cell {
    border-top: 1px solid #E2E8F0 !important;
  }

  /* 欄位標題 */
  .annual-event-date::before,
  .annual-event-content::before,
  .annual-event-meta::before {
    display: block !important;
    position: static !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 0 2px !important;
    padding: 0 !important;

    color: #1A458B !important;

    font-family: "Noto Sans TC", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 20px !important;
    letter-spacing: 0.06em !important;
  }

  .annual-event-date::before {
    content: "日期";
  }

  .annual-event-content::before {
    content: "活動內容";
  }

  .annual-event-meta::before {
    content: "舉辦地點／主辦社";
  }

  /* 清除 Elementor、JetEngine 的內層尺寸 */
  .annual-event-cell > .elementor-element,
  .annual-event-cell > .elementor-widget,
  .annual-event-cell .elementor-widget-container,
  .annual-event-cell .jet-listing,
  .annual-event-cell .jet-listing-dynamic-field,
  .annual-event-cell .jet-listing-dynamic-field__inline-wrap,
  .annual-event-cell .jet-listing-dynamic-field__content {
    position: static !important;

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    transform: none !important;
  }

  /* 一般文字 */
  .annual-event-cell .jet-listing-dynamic-field__content {
    color: #333333 !important;

    font-family: "Noto Sans TC", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    letter-spacing: 0.04em !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  /* 日期稍微加大 */
  .annual-event-date .jet-listing-dynamic-field__content {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }

  /* 地點與主辦單位 */
  .annual-event-meta {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }

  .annual-event-meta > .elementor-element,
  .annual-event-meta > .elementor-widget {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 隱藏判斷日期 */
  .annual-event-end-date,
  .annual-event-start-date {
    display: none !important;
  }

  /* 過期分隔列 */
  .annual-events-past-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 14px 20px !important;
  }

  /* 過期活動 */
  .past-events-grid .annual-event-row {
    background: #F5F6F8 !important;
  }

  .past-events-grid
  .annual-event-cell
  .jet-listing-dynamic-field__content {
    color: #A6ADB7 !important;
  }

  /* 過期標籤 */
  .past-events-grid
  .annual-event-content-text
  .jet-listing-dynamic-field__content::after {
    content: "已過期";

    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    margin: 5px 0 0 8px !important;
    padding: 3px 8px !important;

    color: #8A919A !important;
    background: #E3E5E8;

    border-radius: 999px;

    font-size: 11px !important;
    line-height: 17px !important;
    letter-spacing: 0.03em !important;

    vertical-align: middle;
  }
}

/* =========================================================
   JetEngine Listing Margin Fix
   ========================================================= */

.annual-events-table .jet-listing-grid__items {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.annual-events-table .jet-listing-grid__item {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.annual-events-table
.jet-listing-grid__item
> .elementor {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}

.annual-events-table .annual-event-row {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
}/* End custom CSS */