:root {
  --color-bg-soft: #FFFEFA;
  --color-bg-highlight: #F7F5E8;
  --color-bg-calm: rgba(210, 215, 230, 0.15);
  --color-bg-warm: rgba(251, 245, 231, 0.3); 
  --color-footer-top: #F5F4EC;
  --color-footer-top-text: #AAA88F; 
  --color-footer-bottom: #5E5B3A;
  --color-footer-bottom-text: #FFFFFF;
  --color-footer-bottom-designer-text: #D4D0A6;
  --color-footer-bottom-designer-hover-text: #FFFFFF; 
  --color-text-main: #364038;
  --color-text-secondary: #6D766E;
  --color-text-light: #A29F85;
  --color-primary: #D4B839;
	--color-accent: #4C6280;        /* 深灰藍提升明度與彩度，有存在感又不刺眼 */
	--color-accent-text: #2D3E55;   /* 靛灰藍，閱讀性強，作為文字色佳 */
	--color-accent-action: #89A4BD; /* 淡霧藍灰，hover 時亮一階，具跳色感 */
  --color-label-text: #2A2A2A;
  --color-divider: #E5E4D4;
  --color-hero-home-bg: #FFFFFF;
  --color-hero-home-text: #3C3A2B;
  --color-hero-home-btn-bg: var(--color-primary);
  --color-hero-home-btn-text: #3C3A2B;
  --color-hero-about-bg: var(--color-bg-soft);
  --color-hero-about-card-bg: #FFFFFF;  
  --color-menu-bg-mobile: #fff;
  --color-menu-text: var(--color-text-main);
  --color-menu-hover: var(--color-primary);
  --color-header-bg: #FFFFFF;
  --color-btn-bg: var(--color-primary);
  --color-btn-border: var(--color-primary);
  --color-btn-outline: var(--color-primary);
  --color-btn-outline-bg-hover: var(--color-primary);

  --color-top-bar: var(--color-primary);
}


:root {

--font-sans: 'Noto Sans TC', sans-serif;
--font-serif: 'Noto Serif TC', serif;
    
--font-size-menu: 14px;
--font-size-menu-mobile: 18px;    
--font-weight-menu: 300;
--letter-spacing-menu: 0.03em;

--font-size-submenu: 14px;
--font-size-submenu-mobile: 17px;    
--font-weight-submenu: 300;
--letter-spacing-menu: 0.03em;
--taxonomy-letter-spacing: 0.05em;  

--menu-spacing: 1.2rem;
--btn-font-color: #fff; 

   
--btn-font-weight: 500;
--btn-letter-spacing: 1px;
--btn-font-size-desktop: 17px;
--btn-font-size-mobile: 16px;
--btn-padding-desktop: 12px 36px;
--btn-padding-mobile: 12px 28px;
--btn-radius: 15px;

--btn-shadow: 0 4px 12px rgba(135, 183, 208, 0.25);
--btn-shadow-hover: 0 6px 18px rgba(135, 183, 208, 0.35);

--btn-outline-text-hover: #fff;

--btn-secondary-font-size: 15px;
--btn-secondary-shadow: 0 3px 10px rgba(135, 183, 208, 0.18);
--btn-secondary-shadow-hover: 0 5px 14px rgba(135, 183, 208, 0.28);

--btn-course-radius: 12px;
--btn-course-padding-desktop: 14px 40px;

--card-bg: #ffffff;
--card-bg-soft: var(--color-bg-soft);
--card-radius: 15px;
--card-radius-round: 20px;
--card-padding: 24px;
--card-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
--card-shadow-hover: 0 12px 24px rgba(0, 0, 0, 0.12);
--card-border: 1px solid #D1D8D3;
--card-border-subtle: 1px solid #CCC;
--card-gradient: linear-gradient(45deg, var(--color-bg-soft), #FFFFFF);
--card-shadow-light: 0 2px 4px rgba(0, 0, 0, 0.02);
--card-shadow-review: 0 4px 12px rgba(0, 0, 0, 0.06);
--card-shadow-review-hover: 0 8px 20px rgba(0, 0, 0, 0.10);

--text-body-size: 16px;
--text-body-size-mobile: 16px;
--text-body-weight: 300;
--text-body-line-height: 1.8;
--text-body-color: var(--color-text-secondary);
--text-body-letter-spacing: 0.05em;  
    
--font-size-h1: 30px;
--font-size-h2: 24px;
--font-size-h3: 20px;
--font-size-h4: 19px;
--font-size-h5: 18px;
--font-size-h6: 17px;    

--heading-card-size: 22px;
--heading-card-size-mobile: 21px;    
--heading-card-weight: 600;
--heading-card-line-height: 1.3;

--heading-sub-size: 19px;
--heading-sub-weight: 700;
--heading-sub-line-height: 1.4;

--heading-section-size: 27px;
--heading-section-size-mobile: 24px;

--heading-page-size: 30px;
--heading-page-size-mobile: 27px;
    
--font-heading-hero: var(--font-serif);
--font-heading-blog: var(--font-serif);
--font-heading-page: var(--font-serif);
--font-heading-section: var(--font-serif);
--font-heading-card: var(--font-sans);
--font-heading-sub: var(--font-sans);
--text-body-font-family: var(--font-sans);
--text-head-editor-font-family: var(--font-sans);    
--btn-font-family: var(--font-sans);
--font-menu: var(--font-sans);
--font-submenu: var(--font-sans);  
    
--aos-type: fade-up; 
--fallback-p:  var(--color-primary);   

}


/* =======================================
   系統層級
======================================= */

/*Top Bar*/
/*
.ct-header [data-row*="top"] {
    background-image: linear-gradient(0deg, #ffffff 0%, var(--color-top-bar) 100%)!important;
    --height: 40px!important;
}
*/
/*
[data-row="top"] {
	background-color: var(--color-primary) !important;
}
*/

selection {
  background: var(--color-primary)!important;
  color: #fff!important;
}

/* =======================================
   影片系統
======================================= */

/*
.pc-add-to-cart-link{
    background-color: var(--color-primary)!important;
}
*/

/* =======================================
   結帳/購物車
======================================= */
/*
#payment ul.payment_methods > li.wc_payment_method > label::before {
    border: 1px solid var(--color-accent)!important;
}*/

/*
.woocommerce-MyAccount-navigation ul li:hover a,.woocommerce-MyAccount-navigation ul li.is-active a {
    color: #ffffff!important;
    background: var(--color-primary)!important;

}

.woocommerce-MyAccount-navigation ul li a {
    color: var(--color-text-secondary)!important;
}

.ct-acount-nav {
    background: #fcfcfc!important;
}

.add_to_cart_button{
    background-color:white!important;
    color:var(--color-accent)!important;
    border: 1.5px solid!important;
    border-color:var(--color-accent)!important;
}

.single_add_to_cart_button{
    border-radius:25px!important;
}

.orderby{
    broder:1px solid;
    border-color:var(--color-accent);
}

div.quantity input[type=number] {
    border-color:var(--color-primary)!important;
}

.ct-order-review {
	border: 2px solid var(--color-primary)!important;
}

#payment ul.payment_methods>li.wc_payment_method {
    border: 1px solid var(--color-accent)!important
}
*/    

/* =======================================
   文字編輯器控制
======================================= */

/*
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
  font-family: var(--text-body-font-family) !important;  
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  color: var(--text-body-color) !important;
  font-weight: var(--text-body-weight) !important;  
  margin-bottom: 1em !important;
  letter-spacing: var(--text-body-letter-spacing)!important;  
}


.elementor-widget-text-editor h1 {
  font-family: var(--text-head-editor-font-family) !important;  
  font-size: var(--font-size-h1) !important;
  color: var(--color-text-main) !important;
  margin: 1.5em 0 1em !important;
  font-weight: 700 !important;  
}

.elementor-widget-text-editor h2 {
  font-family: var(--text-head-editor-font-family) !important;  
  font-size: var(--font-size-h2) !important;
  color: var(--color-text-main) !important;
  margin: 1.5em 0 1em !important; 
  font-weight: 600 !important;  
}

.elementor-widget-text-editor h3 {
  font-family: var(--text-head-editor-font-family) !important;  
  font-size: var(--font-size-h3) !important;
  color: var(--color-text-main) !important;
  margin: 1.5em 0 0.5em !important;
  font-weight: 500 !important;  
}

.elementor-widget-text-editor h4 {
  font-family: var(--text-head-editor-font-family) !important;  
  font-size: var(--font-size-h4) !important;
  color: var(--color-text-main) !important;  
  margin: 1.25em 0 0.5em !important;
  font-weight: 500 !important;  
}
.elementor-widget-text-editor h5 {
  font-family: var(--text-head-editor-font-family) !important;  
  font-size: var(--font-size-h5) !important;
  color: var(--color-text-main) !important;  
  margin: 1em 0 0.5em !important;
  font-weight: 400 !important;  
}

.elementor-widget-text-editor h6 {
  font-family: var(--text-head-editor-font-family) !important;  
  font-size: var(--font-size-h6) !important;
  color: var(--color-text-main) !important;  
  margin: 0.75em 0 0.5em !important;
  font-weight: 400 !important; 
}

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol {
  padding-left: 1.5em !important;
  margin-bottom: 1.5em !important;
}

.elementor-widget-text-editor li {
  margin-bottom: 0.5em !important;
}

.elementor-widget-text-editor a {
  color: var(--color-accent) !important;
  text-decoration: underline !important;
  transition: color 0.3s ease !important;
}

.elementor-widget-text-editor a:hover {
  color: var(--color-primary) !important;
}

.elementor-widget-text-editor strong {
  font-weight: 600 !important;
  color: inherit !important;  
}

.elementor-widget-text-editor em {
  font-style: italic !important;
}

*/

/* =======================================
   動畫
======================================= */

/* 把自訂 class 轉換成 AOS 標準屬性 */
.aos-fade-up {
  opacity: 0; /* 編輯器可見性處理 */
}
.aos-fade-up[data-aos] {
  opacity: 1;
}

/* 在 Elementor 編輯器中，強制顯示所有 AOS 元素 */
body.elementor-editor-active .aos-fade-up {
  opacity: 1 !important;
  transform: none !important;
}


/* =======================================
   背景
======================================= */

.bg-white {
  background-color: #FFFFFF !important;
}

.bg-soft {
  background-color: var(--color-bg-soft) !important;
}

.bg-gradient-soft {
  background: linear-gradient(45deg, var(--color-bg-soft), #FFFFFF) !important;
}

.bg-gradient-calm {
  background: linear-gradient(60deg, var(--color-bg-calm), #FFFFFF) !important;
}

.bg-gradient-warm {
  background: linear-gradient(90deg, var(--color-bg-warm), #FFFFFF) !important;
}

.bg-hero-home {
  background-color: var(--color-hero-home-bg) !important;
}

.bg-hero-about {
  background-color: var(--color-hero-about-bg) !important;
}

.bg-hero-about-card{
    background: linear-gradient(90deg, var(--color-hero-about-card-bg), #FFFFFF) !important;
}

.bg-clam {
  background-color: var(--color-bg-calm) !important;
}

.bg-warm {
  background-color: var(--color-bg-warm) !important;
}

.bg-highlight {
  background-color: var(--color-bg-highlight) !important;
}


.custom-divider .elementor-divider-separator {
  border-block-start: none !important;  
  border-top: 1px solid var(--color-divider) !important; /* 柔紫灰色 */
  width: 120px !important;
  margin: 48px auto !important;
  opacity: 0.7 !important;
  transition: all 0.3s ease-in-out !important;
}

.custom-divider .elementor-divider-separator:hover {
  width: 160px !important;
  opacity: 1 !important;
  border-color: var(--color-primary) !important; /* 主色變化 */
}

.custom-divider-long .elementor-divider-separator {
  border-block-start: none !important;
  display: block !important;
  width: 100% !important;
  height: 1px !important;
  background-color: var(--color-divider) !important;
  margin: 32px auto !important;
  opacity: 0.6 !important;
  transition: all 0.3s ease !important;
}

.custom-divider-long:hover .elementor-divider-separator {
  background-color: var(--color-divider) !important; /* 同底色、保持一致性 */
  opacity: 0.9 !important; /* 只稍微變亮 */
}

/* =======================================
   影片區塊
======================================= */
.video_916 {
    width: 40% !important;
    margin-left: 30% !important;
    margin-right: 30% !important;
}

.video_169{
}

@media screen and (max-width: 767px) {
    .video_916 {
        width: 90% !important;
        margin-left: 5% !important;
        margin-right: 5% !important;
	}
}
/* =======================================
   圖文區塊
======================================= */
.page-event-pricenote-block .e-n-accordion-item-title-text {
  
  font-family: var(--font-heading-sub) !important;
  font-size: var(--heading-sub-size) !important;
  font-weight: var(--heading-sub-weight) !important;
  line-height: var(--heading-sub-line-height) !important;
  color: var(--color-text-main) !important;
  
  /* 
  color: var(--color-text-main) !important;
  font-family: var(--font-heading-section) !important;
  font-weight: 700 !important;
  font-size: var(--heading-section-size) !important;
  line-height: 1.7 !important;
  */  
 
  
}

/* 🌟 外層卡片結構（不覆蓋 display） */
.page-event-imagetext-left-item,
.page-event-imagetext-right-item {
  background-color: var(--color-bg-soft) !important;
  border-radius: 2px !important;
  padding: 0px !important;
  margin-bottom: 10px !important;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.02) !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 16px !important;
}

.page-event-imagetext-left-item .e-con-inner,
.page-event-imagetext-right-item .e-con-inner {
  background-color: var(--color-bg-soft) !important;
}


/* 🖼️ 圖片區容器 */
.page-event-imagetext-image-block,
.page-event-imagetext-image-block-right {
  flex: 1 1 45% !important;
  max-width: 45% !important;
}

.page-event-imagetext-image-block img,
.page-event-imagetext-image-block-right img {
  width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  display: block !important;
}

/* 📝 文字區塊（外層） */
.page-event-imagetext-text-block,
.page-event-image-text-block-right {
  display: flex !important;
  align-items: center !important;      /* 垂直置中 */
  justify-content: flex-start !important;
  flex: 1 1 50% !important;
  max-width: 50% !important;
}

.page-event-imagetext-title .jet-listing-dynamic-field__content {
  font-family: var(--font-heading-sub) !important;
  font-size: var(--heading-sub-size) !important;
  font-weight: var(--heading-sub-weight) !important;
  line-height: var(--heading-sub-line-height) !important;
  color: var(--color-text-main) !important;
  margin-bottom: 0.5em !important;
}

/* 🧾 文字內容本體樣式 */
.page-event-imagetext-text .jet-listing-dynamic-field__content {
  font-family: var(--text-body-font-family) !important;
  font-size: var(--text-body-size) !important;
  font-weight: var(--text-body-weight) !important;
  line-height: var(--text-body-line-height) !important;
  color: var(--text-body-color) !important;
  margin: 0 !important;
  padding: 0 30px 30px 30px !important;
  letter-spacing: var(--text-body-letter-spacing)!important;  
}

/* 🧾 若內文為段落 p，加段落間距 */
.page-event-imagetext-text .jet-listing-dynamic-field__content p {
  margin-bottom: 1em !important;
}

/* 🌟 限制圖文寬度（僅桌面版） */
@media (min-width: 1024px) {
  .page-event-imagetext-left-item,
  .page-event-imagetext-right-item {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* 📱 手機 RWD */
@media screen and (max-width: 768px) {
    
  .page-event-imagetext-title .jet-listing-dynamic-field__content {
  	margin-top: 1em !important;
  }  
  .page-event-imagetext-left-item,
  .page-event-imagetext-right-item {
    flex-direction: column !important;
  }

  .page-event-imagetext-image-block,
  .page-event-imagetext-image-block-right,
  .page-event-imagetext-text-block,
  .page-event-image-text-block-right {
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}


/* =======================================
   Faq
======================================= */

/* 📦 FAQ 卡片外框 */
.page-event-faq-item {
  background: var(--color-bg-soft) !important;
  border-radius: 5px !important;
  padding: 5px !important;
  box-shadow: var(--card-shadow-light) !important;
  margin: 8px !important;
  transition: box-shadow 0.3s ease !important;
}

.page-event-faq-item:hover {
  box-shadow: var(--card-shadow-review-hover) !important;
}

/* 🔠 FAQ 問題標題 */
.page-event-faq-title .e-n-accordion-item-title-text {
  font-family: var(--font-heading-sub) !important;
  /*font-size: var(--heading-sub-size) !important;*/
  font-size: 17px!important;  
  font-weight: 500 !important;
  line-height: var(--heading-card-line-height) !important;
  color: var(--color-text-main) !important;
  padding: 12px 0 !important;
  cursor: pointer !important;
}

/* 📝 FAQ 描述文字 */
.page-event-faq-description {
  font-family: var(--text-body-font-family) !important;
  font-size: var(--text-body-size) !important;
  font-weight: var(--text-body-weight) !important;
  line-height: var(--text-body-line-height) !important;
  color: var(--text-body-color) !important;
  padding: 0 0 8px !important;
  margin-top: 8px !important;
  letter-spacing: var(--text-body-letter-spacing)!important;  
}

/* ➕➖ Accordion icon 微動畫 */
/*
.e-n-accordion-item-title-icon {
  transition: transform 0.3s ease !important;
}
.e-n-accordion[open] .e-n-accordion-item-title-icon .e-opened {
  transform: rotate(0deg) !important;
}
.e-n-accordion .e-n-accordion-item-title-icon .e-closed {
  transform: rotate(90deg) !important;
}*/

/* 📱 手機版調整：以 *_mobile 變數為主 */
@media screen and (max-width: 767px) {
  .page-event-faq-item {
    /*  
    padding: 5px !important;
    margin: 5px !important;
    */  
  }

  .page-event-faq-title .e-n-accordion-item-title-text {
    /*  
    font-size: var(--heading-sub-size) !important;
    line-height: var(--heading-card-line-height) !important;
    */  
    padding: 10px 0 !important;
  }

  .page-event-faq-description {
    font-size: var(--text-body-size-mobile) !important;
    /*line-height: var(--text-body-line-height) !important;*/
    padding-bottom: 6px !important;
    /*letter-spacing: var(--text-body-letter-spacing)!important; */ 
  }
}




/* =======================================
   Footer1
======================================= */
/*
[data-footer*="type-1"] .ct-footer [data-row*="middle"] > div{
    background-color: var(--color-footer-top) !important;
}

[data-row*="middle"] .ct-container-fluid {
    width: 100%!important;
    height: 48px !important;
  	line-height: 48px !important; 
  	overflow: hidden !important; 
}

@media (max-width: 689.98px) {
    [data-row*="middle"] .ct-container-fluid {
        height: 48px !important;
        line-height: 48px !important;
    }
}
*/
/*
.footer-menu-inline .ct-menu-link {
  color: var(--color-footer-top-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;  
  text-decoration: none !important;
  transition: color 0.3s ease !important;
  line-height: 1.2 !important;
  padding: 0px 15px !important;
}

.footer-menu-inline .ct-menu-link:hover {
  color: var(--color-primary) !important;
}*/


/* =======================================
   Footer2
======================================= */

/*
[data-footer*="type-1"] .ct-footer [data-row*="bottom"] {
    background-color: var(--color-footer-bottom) !important;
}
*/    

/* Footer 文字樣式設定 */
.footer-copyright .copyright-main {
  font-family: var(--font-heading-sub) !important;  
  color: var(--color-footer-bottom-text) !important;
  font-weight: 400 !important;
  font-size: 15px !important;  
  margin: 0.5rem 0 !important;
}

/*
[data-row*="bottom"] .footer-menu-inline .ct-menu-link {
  font-family: var(--font-heading-sub) !important;  
  color: var(--color-footer-bottom-designer-text) !important;
  font-size: 14px !important;
  font-weight: 400 !important;  
  text-decoration: none !important;
  transition: color 0.3s ease !important;
  line-height: 1.2 !important;
  padding: 0px 15px !important;
}

@media (max-width: 689.98px) {
    .footer-copyright .copyright-main {
        font-size: 16px !important;
    }
    
    [data-row*="bottom"] .footer-menu-inline .ct-menu-link {
        padding: 0px 5px !important;
    }
}

[data-row*="bottom"] .footer-menu-inline .ct-menu-link:hover {
  color: var(--color-footer-bottom-designer-hover-text) !important;
}
*/

/* Footer 設計者連結樣式 */

/*
.footer-copyright .copyright-credit a {
  font-family: var(--font-heading-sub) !important;  
  color: var(--color-footer-bottom-designer-text) !important;
  transition: color 0.3s ease !important;
}*/



/* =======================================
   Header
======================================= */

/* Header 背景 */

/*
[data-row="middle"] {
  background-color: var(--color-header-bg) !important;
}*/

/* 主選單文字樣式 */
/*
.ct-header .menu > li > a,
.ct-header .menu > li > .ct-menu-link {
  font-family: var(--font-menu) !important;
  font-size: var(--font-size-menu) !important;
  font-weight: var(--font-weight-menu) !important;
  letter-spacing: var(--letter-spacing-menu) !important;  
  color: var(--color-menu-text) !important;
  padding-left: var(--menu-spacing) !important;
  padding-right: var(--menu-spacing) !important;
  transition: color 0.3s ease !important;
}
  */

/* 主選單 hover */
/*
.ct-header .menu > li > a:hover {
  color: var(--color-menu-hover) !important;
}*/

/* 子選單文字樣式 */
/*
.ct-header .sub-menu a {
  font-family: var(--font-submenu) !important;
  font-size: var(--font-size-submenu) !important;
  font-weight: var(--font-weight-submenu) !important;
  letter-spacing: var(--letter-spacing-submenu) !important;  
  color: var(--color-menu-text) !important;
  transition: color 0.3s ease !important;
}*/

/* 子選單 hover */
/*
.ct-header .sub-menu a:hover {
  color: var(--color-menu-hover) !important;
}

@media (max-width: 689.98px) {
  [data-header*="type-1"] #offcanvas .ct-panel-inner {
    background-color: var(--color-menu-bg-mobile) !important;
  }
}*/

/* 手機選單主項 */
/*
.mobile-menu .ct-menu-link {
  font-family: var(--font-menu) !important;
  font-size: var(--font-size-menu-mobile) !important;
  font-weight: var(--font-weight-menu) !important;
  letter-spacing: var(--letter-spacing-menu) !important;
  color: var(--color-menu-text) !important;
  padding-left: var(--menu-spacing) !important;
  padding-right: var(--menu-spacing) !important;
  transition: color 0.3s ease !important;
}*/

/* 手機選單子項目 */
/*
.mobile-menu .sub-menu .ct-menu-link {
  font-family: var(--font-submenu) !important;
  font-size: var(--font-size-submenu-mobile) !important;
  font-weight: var(--font-weight-submenu) !important;
  letter-spacing: var(--letter-spacing-submenu) !important;
  color: var(--color-menu-text) !important;
}

.ct-header .menu > li.current-menu-item > a,
.ct-header .menu > li.current-menu-ancestor > a {
  color: var(--color-menu-hover) !important;
  font-weight: var(--font-weight-menu) !important;
}

.mobile-menu .menu-item.current-menu-item > .ct-menu-link,
.mobile-menu .menu-item.current-menu-ancestor > .ct-menu-link {
  color: var(--color-menu-hover) !important;
  font-weight: var(--font-weight-menu) !important;
}
*/
/* =======================================
   部落格 目錄頁面 麵包屑
======================================= */

/*
.ct-breadcrumbs {
  display: none !important;
}*/

/* =======================================
   部落格 目錄頁面 sidebar
======================================= */

/* === 側邊欄外框間距 === */
/*
#sidebar {
  padding: 20px 0 !important;
}*/

/* === 側邊欄每個 Widget 卡片化 === */
/*
.ct-sidebar .ct-widget {
  background-color: #FFFFFF !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
  padding: 20px !important;
  margin-bottom: 24px !important;
  transition: all 0.3s ease;
}*/

/* === Widget 標題樣式 === */
/*
.ct-sidebar .widget-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--color-text-main) !important;
  margin-bottom: 16px !important;
  border-left: 4px solid var(--color-primary) !important;
  padding-left: 12px !important;
}*/

/* === 搜尋框樣式 === */
/*
.ct-search-form input[type="search"] {
  width: 100% !important;
  font-size: 15px !important;
  border-radius: 10px !important;
  border: 1px solid #DDD !important;
  margin-bottom: 10px !important;
  margin-right: 5px !important;  
  background-color: #F9F9FA !important;
  height: 40px !important;
  padding: 0 16px !important;
  line-height: 1 !important;  
}*/

/*
.ct-search-form button:hover {
  background-color: #5e1f68 !important;
}*/

/* 1️⃣ 限制按鈕容器（包含 icon/loader）的尺寸 */
/*
.ct-search-form .ct-search-form-controls {
  display: flex !important;
  align-items: center !important;
  height: 40px !important;
}*/
/*
.ct-search-form button[type="submit"] {
  background-color: var(--color-primary) !important;
  color: #fff !important;
  border: none !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 12px !important;
  border-radius: 10px !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}*/


/*  限制圖示大小 */
/*
.ct-search-form button svg,
.ct-search-form button .ct-icon {
  width: 16px !important;
  height: 16px !important;
}*/




/* === 一般列表樣式（近期文章、彙整、分類） === */
/*
.ct-widget ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.ct-widget ul li {
  margin-bottom: 10px !important;
}

.ct-widget ul li a {
  font-size: 15px !important;
  color: var(--color-text-secondary) !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.ct-widget ul li a:hover {
  color: var(--color-primary) !important;
  text-decoration: underline !important;
}*/

/* =======================================
   部落格 清單目錄
======================================= */

/* === 卡片外觀設定 === */
/*
.entries .entry-card {
  background-color: #FFFFFF !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden !important;
  margin-bottom: 32px !important;
  transition: all 0.3s ease !important;
}

.entries .entry-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10) !important;
}*/

/* === 卡片圖片樣式 === */
/*
.entries .entry-card .ct-media-container img {
  width: 100% !important;
  display: block !important;
  object-fit: cover !important;
  aspect-ratio: 4 / 3 !important;
  margin-left:0px!important;  
}*/

/* === 卡片內文字區塊 === */
/*
.entries .entry-card .card-content {
  padding: 20px !important;
}*/

/* === 標題樣式 === */
/*
.entries .entry-card .entry-title {
  font-size: 20px !important;
  font-family: var(--font-heading-blog) !important;  
  font-weight: 600 !important;
  color: var(--color-text-main) !important;
  line-height: 1.5 !important;
  margin: 16px 0 12px !important;
}

.entries .entry-card .entry-title a {
  color: inherit !important;
  text-decoration: none !important;
}*/

/* === 摘要樣式 === */
/*
.entries .entry-card .entry-excerpt p {
  font-family: var(--text-body-font-family) !important;  
  font-size: var(--text-body-size) !important;
  font-weight: var(--text-body-weight) !important;
  color: var(--color-text-secondary) !important;
  line-height: 1.8 !important;
  margin-bottom: 16px !important;
  letter-spacing: var(--text-body-letter-spacing)!important;  
}*/

/* === Meta 資訊（作者／分類／日期） === */
/*
.entries .entry-card .entry-meta {
  font-size: 14px !important;
  color: #888 !important;
  margin-bottom: 12px !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}*/

/* === 閱讀全文按鈕 === */
/*
.entries .entry-card .entry-button {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--color-primary) !important;
  padding: 5px 15px !important;
  border: 1px solid var(--color-primary) !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

.entries .entry-card .entry-button:hover {
  background-color: var(--color-primary) !important;
  color: #fff !important;
}*/

/* =======================================
   首頁 文章卡片
======================================= */
/*
.elementor-post__read-more{
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--color-primary) !important;
}*/

/* =======================================
   部落格 單篇文章
======================================= */

/* === 單篇文章標題區塊（背景＋置中）=== ✅《新增》 */
/*
.single-post .hero-section {
  background-color: var(--color-bg-soft) !important;
  padding: 60px 20px !important;
  text-align: center !important;
}

.hero-section[data-type=type-1] {
  max-width: 100% !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
}*/

/* === 單篇文章資訊列（置中＋灰色小字）=== ✅《新增》 */
/*
.single-post .entry-meta {
  display: flex !important;
  justify-content: center !important;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 14px !important;
  color: #888 !important;
}*/

/* === 精選圖片樣式（適中寬度、圓角＋陰影）=== ✅《新增》 */
/*
.single-post .ct-featured-image {
  max-width: 960px !important;
  overflow: hidden !important; 
}

.single-post .ct-featured-image img {
  display: block!important;
  object-fit: cover!important;
  width: 100%!important;
  height: auto!important;
  border-radius: 12px!important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06) !important;  
}*/

/* === 單篇文章標題 === */
/*
.single-post .entry-header .page-title {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--color-text-main) !important;
  line-height: 1.4 !important;
  margin-bottom: 24px !important;
  font-family: var(--font-heading-blog) !important;  
}*/

/* 讓 Elementor 文章內容容器變寬（大約 70% 螢幕） */
/*
.single-post .entry-content .e-con-inner {
  max-width: 70vw !important;
  margin: 0 auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

@media (max-width: 768px) {
  .single-post .entry-content .e-con-inner {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}*/

/* === 文章段落文字（Elementor 編輯區）=== */
/*
.single-post .entry-content p {
  font-size: 16px !important;
  font-weight: 300 !important;  
  font-family: var(--text-body-font-family) !important;  
  color: var(--color-text-secondary) !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}*/

/* === H2 H3 標題層級 === */
/*
.single-post .entry-content h2 {
  font-size: 24px !important;
  color: var(--color-text-main) !important;
  font-weight: 600 !important;
  margin: 32px 0 16px !important;
}

.single-post .entry-content h3 {
  font-size: 20px !important;
  color: var(--color-text-main) !important;
  font-weight: 600 !important;
  margin: 28px 0 14px !important;
}
*/
/* === 引用區塊樣式（blockquote）=== */
/*
.single-post blockquote {
  border-left: 4px solid var(--color-accent) !important;
  padding-left: 16px !important;
  color: var(--color-primary) !important;
  font-style: italic !important;
  margin: 24px 0 !important;
}*/

/* === 清單樣式（ul, ol）=== */
/*
.single-post .entry-content ul,
.single-post .entry-content ol {
  margin: 16px 0 24px 24px !important;
  color: var(--color-text-secondary) !important;
  line-height: 1.8 !important;
}*/

/* === 超連結樣式 === */
/*
.single-post .entry-content a {
  color: var(--color-primary) !important;
  text-decoration: underline !important;
  transition: color 0.3s ease;
}*/
/*
.single-post .entry-content a:hover {
  color: var(--color-text-main) !important;
}*/


/* === 加強圖片與段落間距（若圖片為段落中插入）=== */
/*
.single-post .entry-content img {
  max-width: 100% !important;
  border-radius: 12px !important;
  margin: 24px 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

[data-prefix="single_blog_post"] .ct-related-posts-container {
  background-color: var(--color-bg-soft) !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}*/

/* === 相關文章卡片 === */
/*
.ct-related-posts-items article {
  background-color: #FFFFFF !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  margin-bottom: 32px !important;
}

.ct-related-posts-items article:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.10) !important;
}*/


/* === 圖片樣式 === */
/*
.ct-related-posts-items article img {
  width: 100% !important;
  display: block !important;
  object-fit: cover !important;
  aspect-ratio: 16 / 9 !important;
}*/

/* === 標題區塊樣式 === */
/*
.ct-related-posts-items .related-entry-title {
  font-family: var(--font-heading-blog) !important;  
  text-align: center !important;  
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--color-text-main) !important;
  margin: 16px 20px 8px 20px !important;
  line-height: 1.5 !important;
}

.ct-related-posts-items .related-entry-title a {
  text-decoration: none !important;
  color: inherit !important;
}*/

/* === 日期 / meta 資訊 === */
/*
.ct-related-posts-items .entry-meta {
  font-size: 14px !important;
  color: #888 !important;
  margin: 0 20px 20px 20px !important;
  padding: 0 !important;
}*/

/* 相關文章容器整體寬度 */
/*
.ct-related-posts-container .ct-container {
  max-width: 70vw !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

@media (max-width: 768px) {

  .ct-related-posts-container .ct-container {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}*/

/* 上下篇文章導航區塊，改為 70% 寬度 */
/*
.post-navigation.is-width-constrained {
  max-width: 70vw !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

@media (max-width: 768px) {

  .post-navigation.is-width-constrained {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}*/

/* 新增 hover 遮罩 */
/*
.post-navigation figure:after {
    content: "";
    z-index: 2;
    inset: 0;
    background: var(--image-overlay-color, var(--color-primary))!important;
}

.ct-load-more {
  font-family: var(--btn-font-family) !important;
  font-weight: var(--btn-font-weight) !important;
  font-size: var(--btn-font-size-desktop) !important;
  letter-spacing: var(--btn-letter-spacing) !important;
  padding: var(--btn-padding-desktop) !important;
  border-radius: var(--btn-radius) !important;
  color: var(--btn-font-color) !important;
  background-color: var(--color-btn-bg) !important;
  border: 1px solid var(--color-btn-border) !important;
  box-shadow: var(--btn-shadow) !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.ct-load-more:hover {
  box-shadow: var(--btn-shadow-hover) !important;
  background-color: var(--color-btn-outline-bg-hover) !important;
  color: var(--btn-outline-text-hover) !important;
}*/


/* =======================================
   文章 elementor widget
======================================= */
/* === 外層 Widget 加 .blog-card 時套用以下樣式 === */
/*
.blog-card .elementor-post__card {
  background-color: #FFFFFF !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.02) !important;
  padding: 24px !important;
  transition: all 0.3s ease !important;
  position: relative !important;
}

.blog-card .elementor-post__card:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12) !important;
}*/

/* === 分類 badge === */
/*
.blog-card .elementor-post__badge {
  display: inline-block !important;
  background-color: var(--color-accent) !important;
  color: var(--color-label-text) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 8px 16px !important;
  border-radius: 20px !important;
  margin-bottom: 12px !important;
}*/

/* === 標題文字 === */
/*
.blog-card .elementor-post__title a {
  font-family: var(--font-heading-blog) !important;  
  font-size: 20px !important;
  font-weight: 600 !important;
  color: var(--color-text-main) !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.blog-card .elementor-post__title a:hover {
  color: var(--color-primary) !important;
}*/

/* === 摘要文字 === */
/*/
.blog-card .elementor-post__excerpt p{
  font-family: var(--text-body-font-family) !important;  
  font-size: var(--text-body-size) !important;
  font-weight: var(--text-body-weight) !important;
  color: var(--color-text-secondary) !important;
  line-height: 1.7 !important;
  margin-top: 12px !important;
  margin-bottom: 16px !important;
  letter-spacing: var(--text-body-letter-spacing)!important;  
}*/

/* === meta 資訊（如日期） === */
/*
.blog-card .elementor-post__meta-data {
  font-size: 13px !important;
  color: var(--color-primary) !important;
  margin-top: 10px !important;
}*/

/* === 作者頭像（選用） === */
/*
.blog-card .elementor-post__avatar {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

.blog-card .elementor-post__avatar img {
  width: 100% !important;
  height: auto !important;
  border-radius: 50% !important;
}*/

/* =======================================
   Card專區 Start
======================================= */

.service-card {
  background-color: var(--color-bg-warm);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  margin-bottom: 32px;
  transition: all 0.3s ease;
  box-shadow: var(--card-shadow);
  overflow: hidden;
}

.service-card img {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  margin-bottom: 16px;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--card-shadow-hover);
}

/* ✅ 課程卡片 */
.course-card {
  background-color: var(--color-bg-calm);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  margin-bottom: 32px;
  transition: all 0.3s ease;
  box-shadow: var(--card-shadow);
  overflow: hidden;
}

.course-card img {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  margin-bottom: 16px;
}

.course-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--card-shadow-hover);
}

.product-card {
  background-color: var(--color-bg-warm);
  border-radius: var(--card-radius);
  padding: var(--card-padding);
  margin-bottom: 32px;
  transition: all 0.3s ease;
  box-shadow: var(--card-shadow);
  overflow: hidden;
}

.product-card img {
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  margin-bottom: 16px;
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--card-shadow-hover);
}

/* ✅ 單元卡片 */
.session-card {
  border-radius: var(--card-radius) !important;
  background: var(--color-bg-calm) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  box-shadow: var(--card-shadow) !important;
  border: var(--card-border-subtle) !important;
}

.session-card:hover {
  box-shadow: var(--card-shadow-hover) !important;
  /*border-color: var(--color-accent) !important;*/
}

.topic-card {
  border-radius: var(--card-radius) !important;
  background: var(--color-bg-warm) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  box-shadow: var(--card-shadow) !important;
  border: var(--card-border-subtle) !important;
}

.topic-card:hover {
  box-shadow: var(--card-shadow-hover) !important;
  /*border-color: var(--color-accent) !important;*/
}

/* ✅ 活動卡片 */
.event-card {
  border: var(--card-border) !important;
  border-radius: 5px 5px var(--card-radius) var(--card-radius) !important;
  background-color: var(--card-bg) !important;
  overflow: hidden !important;
  transition: all 0.3s ease !important;
  box-shadow: var(--card-shadow) !important;
}

.event-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--card-shadow-hover) !important;
}

/* ✅ Review 卡片 */
.review-card {
  margin: 15px 10px 10px 0px !important;
  padding: 28px !important;
  border: var(--card-border) !important;
  border-radius: var(--card-radius-round) !important;
  background-color: var(--card-bg) !important;
  box-shadow: var(--card-shadow-review) !important;
  transition: all 0.3s ease !important;
}

.review-card:hover {
  box-shadow: var(--card-shadow-review-hover) !important;
}

/* ✅ 教師卡片 */
.card-teacher {
  border-radius: 16px !important;
  box-shadow: var(--card-shadow-light) !important;
  background-color: var(--card-bg) !important;
  padding: var(--card-padding) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  height: 100% !important;
  transition: all 0.3s ease !important;
}

.card-teacher:hover {
  /*box-shadow: var(--card-shadow-hover) !important;*/
}

/* =======================================
   關於我專區 Start
======================================= */
/* 外層全寬區塊：背景全螢幕 */

/*
.teacher-certification-block {
  margin: 64px auto !important; 
  padding: 0 24px !important;  
  max-width: 860px !important;  
  text-align: left !important;  
}*/


.teacher-row-name .elementor-heading-title {
  color: var(--color-text-main) !important;
  font-family: var(--font-heading-page) !important;
  font-weight: 700 !important;
  font-size: 17px !important;
  line-height: 1.4 !important;
  margin-top: -13px !important;
  margin-bottom: -17px !important;  
  text-align: left !important;
}

@media (max-width: 768px) {
  .teacher-row-name.elementor-heading-title {
    font-size: 17px !important;  
  }
}

.teacher-row-note .elementor-heading-title {
  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  text-align: left !important;
  margin-top: -6px !important; /* 上邊距 */
  margin-bottom: -6px !important; /* 下邊距 */  
}

@media (max-width: 768px) {
  .teacher-row-note.elementor-heading-title {
    font-size: 15px !important;
  }
}

.teacher-row-block {
    display: flex !important;
    align-items: center !important; /* 垂直居中 */
    justify-content: flex-start !important;
    width: 100% !important; /* 讓父容器寬度最大化 */
    border: var(--card-border) !important; /* 外框設置 */
    border-radius: 8px !important; /* 圓角外框 */
    box-shadow: var(--card-shadow) !important; /* 外陰影 */
    padding: 10px !important; /* 外邊距 */
}

.teacher-row-block:hover {
  transform: translateY(-5px);
  box-shadow: var(--card-shadow-hover);
}

/* 圖片設置 */
.teacher-row-image {
    flex: 0 0 25% !important; /* 圖片佔 20% */
    max-width: 25% !important; /* 確保圖片不會超過 20% */
    object-fit: cover !important; /* 圖片填充但不變形 */
    border-radius: 2px !important; /* 圓角圖片 */
    margin-right: 2px !important; /* 文字與圖片之間的間距 */
}

/* 文字設置 */
.teacher-row-text {
    flex: 1 !important; /* 文字佔剩下的空間 */
    padding-left: 10px !important; /* 適當的間距，避免文字貼邊 */
    padding-bottom:10px !important;
}



/* 整體卡片樣式 */
.teacher-certification {
  /*background-color: #fff !important;*/
  border-radius: 12px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
  padding: 24px 24px 20px !important;
  margin-bottom: 24px !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* 認證標題 */
.teacher-certification-item-title .jet-listing-dynamic-field__content {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: var(--color-text-main) !important;
  position: relative !important;
  padding-left: 28px !important;
}

.teacher-certification-item-title .jet-listing-dynamic-field__content::before {
  content: "📜";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
}

.teacher-certification-item-description .jet-listing-dynamic-field__content {
  font-size: var(--text-body-size) !important;
  color: var(--text-body-color) !important;
  font-weight: var(--text-body-weight) !important;
  line-height: var(--text-body-line-height) !important;
  font-family: var(--text-body-font-family) !important;
  padding-left: 28px !important; /* 非語意內屬性，保留個別樣式 */
  letter-spacing: var(--text-body-letter-spacing)!important;  
}

.teacher-expertise-item {
  flex: 1 1 calc(33.33% - 16px)!important;;
  /*display: flex !important;*/
  justify-content: center !important;
}

.teacher-expertise .jet-listing-dynamic-field__content {
  background-color: #fff !important;
  border: 2px solid var(--color-accent) !important;
  color: var(--color-text-main) !important;
  padding: 20px 16px !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  text-align: center !important;
  min-width: 120px !important;
  display: flex !important;
  height: 100% !important;  
}

.teacher-slogan h3{
  color: var(--color-accent) !important;
  font-weight: 500 !important;
  font-family: var(--font-heading-sub) !important;
  line-height: 1.6 !important;
  font-size: 19px !important; /* 桌機版 */
  text-align: center !important;  
  letter-spacing: 0.05em;!important;
}

/* 手機 */
@media (max-width: 768px) {
  .teacher-slogan h3{
    font-size: 19px !important;  
  }
}

.teacher-character h3{
  color: var(--color-accent-text) !important;
  font-weight: 500 !important;
  font-family: var(--font-heading-sub) !important;
  line-height: 1.2 !important;
  font-size: 16px !important; /* 桌機版 */
  text-align: center !important;  
  letter-spacing: 0.05em;!important;
}

/* 手機 */
@media (max-width: 768px) {
  .teacher-character h3{
    font-size: 16px !important;  
  }
}

/* === .teacher-repeater-title ===*/

.teacher-repeater-title .jet-listing-dynamic-field__content{
  color: var(--color-text-main) !important;
  font-weight: 700 !important;
  font-family: var(--font-heading-sub) !important;
  text-align: center !important;
  line-height: 1.5em !important;
  font-size: 20px !important; /* 桌機版 */
}

/* 平板 */
@media (max-width: 1024px) {
  .teacher-repeater-title .jet-listing-dynamic-field__content{
    font-size: 20px !important;
  }
}

/* 手機 */
@media (max-width: 768px) {
  .teacher-repeater-title .jet-listing-dynamic-field__content{
    font-size: 19px !important;
  }
}

/* === .teacher-repeater-description ===*/

.teacher-repeater-description .jet-listing-dynamic-field__content {
  font-size: var(--text-body-size) !important;
  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  line-height: var(--text-body-line-height) !important;
  text-align: left !important; /* 自由控制 */
  margin-left: auto !important;
  margin-right: auto !important;
  letter-spacing: var(--text-body-letter-spacing)!important;
}

/* 📱 手機版 */
@media (max-width: 768px) {
  .teacher-repeater-description .jet-listing-dynamic-field__content {
    font-size: var(--text-body-size-mobile) !important
    margin-top: 16px !important;
  }
}

/* === .heading-course-main-section ===*/

/*
.heading-course-main-section h2{
  color: var(--color-text-main) !important;
  font-weight: 700 !important;
  font-family: 'Noto Serif TC', serif !important;
  text-align: left !important;
  line-height: 1.5em !important;
  font-size: 35px !important; /* 桌機版 */
}

/* 手機 */
@media (max-width: 768px) {
  .heading-course-main-section h2{
    text-align: center !important;
    font-size: 32px !important;
    margin-top: 100px !important;
  }
}
*/

.heading-recap-main-description {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;

  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;
  text-align: left !important;

  padding: 10px 0 10px 10px !important;
  max-width: 720px !important;
  /*border-left: 2px solid var(--color-accent) !important;*/
}

@media (max-width: 768px) {
  .heading-recap-main-description {
    font-size: var(--text-body-size-mobile) !important;
    padding-left: 16px !important;
    border-left: 2px solid var(--color-accent) !important;
  }
}

.heading-course-main-description {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;

  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;
  text-align: left !important;

  padding: 24px 0 24px 80px !important;
  max-width: 720px !important;
  border-left: 2px solid var(--color-accent) !important;
}

@media (max-width: 768px) {
  .heading-course-main-description {
    font-size: var(--text-body-size-mobile) !important;
    padding-left: 16px !important;
    border-left: 2px solid var(--color-accent) !important;
  }
}

.description-margin-24 {
  margin: 24px auto !important;
}

.description-margin-48 {
  margin: 48px auto !important;
}

.heading-course-intro-description {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;

  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;
  text-align: left !important;

  padding: 24px 0 24px 80px !important;
  max-width: 720px !important;
  border-left: 2px solid var(--text-body-color) !important;
}

@media (max-width: 768px) {
  .heading-course-intro-description {
    font-size: var(--text-body-size-mobile) !important;
    padding-left: 16px !important;
    border-left: 2px solid var(--text-body-color) !important;
  }
}

.heading-home-banner-text .elementor-heading-title{
  color: var(--color-hero-home-text) !important;
  font-family: var(--font-heading-hero) !important;
  font-size: 35px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.06em !important;
}

@media (max-width: 768px) {
  .heading-home-banner-text .elementor-heading-title {
    font-size: 30px !important;
  }
}

.heading-home-banner-sub-text .elementor-heading-title{
  color: var(--color-accent) !important;
  font-family: var(--font-heading-sub) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.06em !important;
}

@media (max-width: 768px) {
  .heading-home-banner-sub-text .elementor-heading-title {
    font-size: 19px !important;
  }
}

.heading-home-intro-section h2{
  color: var(--color-text-main) !important;
  font-weight: 600 !important;
  font-family: var(--font-heading-hero) !important;
  line-height: 1.2 !important;
  font-size: 29px !important; /* 桌機版 */
  letter-spacing: 0.05em;!important;
}

/* 手機 */
@media (max-width: 768px) {
  .heading-home-intro-section h2{
    font-size: 26px !important;  
  }
}

/* === heading-home-intro-slogan ===*/

.heading-home-intro-slogan h3{
  color: var(--color-accent) !important;
  font-weight: 500 !important;
  font-family: var(--font-heading-sub) !important;
  line-height: 1.2 !important;
  font-size: 20px !important; /* 桌機版 */
  letter-spacing: 0.05em;!important;
}


/* 手機 */
@media (max-width: 768px) {
  .heading-home-intro-slogan h3{
    font-size: 19px !important;  
  }
}

/*
.heading-home-intro-section h3{
  color: var(--color-text-main) !important;
  font-weight: 500 !important;
  font-family: 'Noto Serif TC', serif !important;
  line-height: 1.2 !important;
  font-size: 20px !important;
  letter-spacing: 0.05em;!important;
}


@media (max-width: 768px) {
  .heading-home-intro-section h2{
    font-size: 26px !important;  
  }
}*/


/* === .heading-about-main-section ===*/

/*
.heading-about-banner-text .elementor-heading-title{
  color: var(--color-text-main) !important;
  font-family: var(--font-heading-hero) !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.06em !important;
}

@media (max-width: 768px) {
  .heading-about-banner-text .elementor-heading-title{
    font-size: 25px !important;  
  }
}
*/

/*
.heading-about-banner-sub-text .elementor-heading-sub-title{
  color: var(--color-accent) !important;
  font-family: var(--font-heading-sub) !important;
  font-size: 100px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.06em !important;
}

@media (max-width: 768px) {
  .heading-about-banner-text .elementor-heading-title{
    font-size: 19px !important;  
  }
}
*/
/*
.heading-about-banner-text h2{
  color: var(--color-text-main) !important;
  font-weight: 700 !important;
  font-family: var(--font-heading-hero) !important;
  text-align: center !important;
  line-height: 1.5em !important;
  font-size: 25px !important; 
}

@media (max-width: 768px) {
  .heading-about-banner-text h2{
    font-size: 24px !important;
    margin-bottom: 22px !important;
  }
}
*/

/* === heading-about-main-description ===*/

.heading-about-main-description {
  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 📱 手機版 */
@media (max-width: 768px) {
  .heading-about-main-description {
    font-size: var(--text-body-size-mobile) !important;
    margin-top: 12px !important;
  }
}

/* =======================================
   標題專區 End
======================================= */

/* =======================================
   按鈕專區 Start
======================================= */


.btn-hero-home .elementor-button,
 {
  background-color: var(--color-hero-home-btn-bg) !important;
  color: var(--color-hero-home-btn-text) !important;
  font-family: var(--btn-font-family) !important;
  font-size: var(--btn-font-size-desktop) !important;
  font-weight: var(--btn-font-weight) !important;
  letter-spacing: var(--btn-letter-spacing) !important;
  padding: var(--btn-padding-desktop) !important;
  border: 2px solid var(--color-btn-border) !important;
  border-radius: var(--btn-radius) !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  box-shadow: var(--btn-shadow) !important;
  display: inline-block !important;
  line-height: 1.2 !important;
}

/* ✅ 共用樣式：實心按鈕 */
.btn-primary .elementor-button,
.btn-course .elementor-button,
.btn-secondary .elementor-button {
  background-color: var(--color-btn-bg) !important;
  color: var(--btn-font-color) !important;
  font-family: var(--btn-font-family) !important;
  font-size: var(--btn-font-size-desktop) !important;
  font-weight: var(--btn-font-weight) !important;
  letter-spacing: var(--btn-letter-spacing) !important;
  padding: var(--btn-padding-desktop) !important;
  border: 2px solid var(---color-btn-border) !important;
  border-radius: var(--btn-radius) !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  box-shadow: var(--btn-shadow) !important;
  display: inline-block !important;
  line-height: 1.2 !important;
}

/* ✅ 特例：btn-course 需自訂 padding 與 radius */
.btn-course .elementor-button {
  padding: var(--btn-course-padding-desktop) !important;
  border-radius: var(--btn-course-radius) !important;
}

.btn-secondary .elementor-button {
  font-size: var(--btn-secondary-font-size) !important;
  box-shadow: var(--btn-secondary-shadow) !important;
}

/* ✅ Hover 狀態（實心按鈕） */
.btn-primary .elementor-button:hover,
.btn-course .elementor-button:hover {
  box-shadow: var(--btn-shadow-hover) !important;
  transform: scale(1.05) !important;
}

.btn-secondary .elementor-button:hover {
  box-shadow: var(--btn-secondary-shadow-hover) !important;
  transform: scale(1.05) !important;
}

/* ✅ Outline 按鈕共用樣式 */
.btn-primary-outline .elementor-button,
.btn-course-outline .elementor-button,
.btn-secondary-outline .elementor-button {
  background-color: transparent !important;
  color: var(--color-btn-outline) !important;
  font-family: var(--btn-font-family) !important;
  font-size: var(--btn-font-size-desktop) !important;
  font-weight: var(--btn-font-weight) !important;
  letter-spacing: var(--btn-letter-spacing) !important;
  padding: var(--btn-padding-desktop) !important;
  border: 2px solid var(--color-btn-outline) !important;
  border-radius: var(--btn-radius) !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  box-shadow: none !important;
  line-height: 1.6; !important;
}

/* ✅ Hover 狀態（Outline） */
.btn-primary-outline .elementor-button:hover,
.btn-course-outline .elementor-button:hover,
.btn-secondary-outline .elementor-button:hover {
  background-color: var(--color-btn-outline-bg-hover) !important;
  color: var(--btn-outline-text-hover) !important;
  transform: scale(1.05) !important;
}

/* ✅ 響應式：手機版共用 */
@media (max-width: 768px) {
  .btn-primary .elementor-button,
  .btn-course .elementor-button,
  .btn-secondary .elementor-button,
  .btn-primary-outline .elementor-button,
  .btn-course-outline .elementor-button,
  .btn-secondary-outline .elementor-button {
    font-size: var(--btn-font-size-mobile) !important;
    padding: var(--btn-padding-mobile) !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
}



/* =======================================
   按鈕專區 End
======================================= */

/* =======================================
   標題專區 Start
   這裡放所有標題、描述樣式
======================================= */

.heading-section h2 {
  color: var(--color-text-main) !important;
  font-family: var(--font-heading-section) !important;
  font-weight: 700 !important;
  font-size: var(--heading-section-size) !important;
  line-height: 1.7 !important;

  text-align: center !important;
  margin-bottom: 40px !important;
}

@media (max-width: 768px) {
  .heading-section h2 {
    font-size: var(--heading-section-size-mobile) !important;
    margin-bottom: 32px !important;
  }
}


.heading-home-hero-description {
  color: var(--color-text-secondary) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;

  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  /* text-align: center; */ /* 可自由啟用 */
}

/* 📱 手機版 */
@media (max-width: 768px) {
  .heading-home-hero-description {
    font-size: var(--text-body-size-mobile) !important;
    margin-top: 12px !important;
  }
}

/* === heading-description ===*/

.heading-description {
  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;

  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  /* text-align: center; */ /* 可自由啟用 */
}

/* 📱 手機版 */
@media (max-width: 768px) {
  .heading-description {
    font-size: var(--text-body-size-mobile) !important;
    margin-top: 12px !important;
  }
}

/* =======================================
   Page
======================================= */

.page-product-hero-image img {
  border-radius: 0px !important;  
  /*  
  border-top-left-radius: 16px !important;
  border-top-right-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
  border-bottom-left-radius: 16px !important;
  */  
  box-shadow: 0 4px 12px rgba(0,0,0,0.08)!important;
  max-width: 60% !important;
  height: auto!important;
  object-fit: cover!important;
  aspect-ratio: 1076 / 1522!important;
}

@media (max-width: 768px) {
  .page-product-hero-image img {
    border-radius: 0px !important;  
    max-width: 100% !important;
  }
}

.page-about-story {
  /*background-color: var(--color-bg-warm); !important;*/
  padding: 80px 20px !important;
  display: flex !important;
  justify-content: center !important;
}

.page-about-story .e-con-inner {
  max-width: 800px !important;
  background-color: var(--color-bg-soft); !important;
  border-radius: 16px !important;
  padding: 48px 40px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.04) !important;
  border-left: 4px solid var(--color-primary) !important;
}

.page-about-story h2 {
  font-size: 28px !important;
  font-family: var(--font-heading-hero) !important;
  font-weight: 700 !important;
  margin-bottom: 24px !important;
  line-height: 1.5 !important;  
  color: var(--color-text-main) !important;
}

.page-about-story .page-about-story-description p {
  font-size: var(--text-body-size) !important;
  font-weight: var(--text-body-weight) !important;
  font-family: var(--text-body-font-family) !important;
  line-height: var(--text-body-line-height) !important;
  color: var(--text-body-color) !important;
  margin-bottom: 20px !important;
  letter-spacing: var(--text-body-letter-spacing)!important;  
}

.page-about-story .page-about-story-description strong {
  font-weight: 500 !important;
  color: var(--color-accent) !important; /* 主色強調 */
}


@media (max-width: 768px) {
  .page-about-story h2 {
    font-size: 22px !important;
    text-align: center !important;
    margin-left: 15px!important;  
  }

  .page-about-story .e-con-inner {
    padding: 24px 20px !important;
  }

  .page-about-story .page-about-story-description p {
    font-size: var(--text-body-size-mobile) !important;
    line-height: var(--text-body-line-height) !important;
    padding: 0 12px !important;
    text-align: justify !important;
    letter-spacing: var(--text-body-letter-spacing)!important;  
  }
}

.page-about-home {

}

.page-about-home-textbox {
  /*background: rgba(255, 255, 255, 0.9) !important;*/
  border-radius: 8px !important;
  padding: 40px 32px !important;
  max-width: 560px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
  backdrop-filter: blur(3px) !important;
  transition: all 0.3s ease !important;
}

.page-about-hero {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 32px !important; /* 控制兩欄之間的間距 */
  padding: 32px 32px !important;
  flex-wrap: wrap !important; /* 手機可自動換行 */
}


.page-about-hero-image img {
  width: 100% !important;
  border-radius: 5px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06) !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1 !important;
}

@media (max-width: 768px) {
  .page-about-hero {
    padding: 0 !important;
    gap: 0px !important; /* 控制兩欄之間的間距 */  
  }
/*
  .page-about-hero-image {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 auto !important;
  }
*/    

  .page-about-hero-image img {
    width: 100vw !important;
    max-width: 100vw !important;
    border-radius: 0 !important;
    display: block !important;
    aspect-ratio: 1 / 1 !important;  
  }
}

.page-about-hero-textbox {
  /*background: rgba(255, 255, 255, 0.9) !important;*/
  border-radius: 8px !important;
  padding: 40px 32px !important;
  max-width: 560px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
  backdrop-filter: blur(3px) !important;
  transition: all 0.3s ease !important;
}

.page-about-hero-textbox h2 {
  font-size: 30px !important;
  font-family: var(--font-heading-hero) !important;
  font-weight: 700 !important;
  color: var(--color-text-main) !important;
  line-height: 1.5 !important; 
  margin-bottom: 16px !important;
  text-align: left !important;  
}

/*
.page-about-hero-textbox h3 {
  font-size: 20px !important;
  font-family: var(--font-heading-sub) !important;
  font-weight: 400 !important;
  color: var(--color-accent) !important;
  line-height: 1.2 !important;
  text-align: left !important;    
}
*/

.page-about-hero-sub-text .elementor-heading-title{
  font-size: 20px !important;
  font-family: var(--font-heading-sub) !important;
  font-weight: 400 !important;
  color: var(--color-accent) !important;
  line-height: 1.2 !important;
  text-align: left !important;  
}

.page-about-hero-textbox .p1 {
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;
  color: var(--color-text-secondary) !important;
}


@media (max-width: 768px) {
    
.page-about-hero-textbox {
  border-radius: 8px !important;
  padding: 40px 16px !important;
}    
    
.page-about-hero-textbox h2 {
  font-size: 28px !important;
  text-align: center !important;    
}

.page-about-hero-sub-text .elementor-heading-title{
  font-size: 19px !important;
  text-align: center !important;  

}
    
}

/* =======================================
   活動、課程
======================================= */

.page-event-pricing-item{
  /*  
  border-left: 4px solid var(--color-primary) !important;
  background-color: #ffffff !important;
  padding: 16px 20px !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  margin-bottom: 16px !important;
  */
  padding: 1.5rem !important;
  background-color: #fff !important;
  border-radius: 12px !important;
  margin-bottom: 1.5rem !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;  
  width: 500px !important;
  max-width: 100% !important; /* 保持 RWD 兼容 */
  margin-left: auto !important;
  margin-right: auto !important; /* 置中 */  
}

.page-event-pricing-title .jet-listing-dynamic-field__content {
  font-size: 1.25rem !important;         /* 約 20px */
  font-weight: 600 !important;
  color: var(--color-text-main) !important; /* #364038 */
  margin-bottom: 0.5rem !important;
  font-family: var(--font-heading-sub) !important;
}

.page-event-pricing-period .jet-listing-dynamic-field__content {
  font-size: 1rem !important;
  font-weight: 400 !important;
  color: var(--color-text-secondary) !important; /* #6D766E */
  margin-bottom: 0.3rem !important;
  font-family: var(--font-heading-sub) !important;
}

.page-event-pricing-pricing .jet-listing-dynamic-field__content {
  font-size: 1.15rem !important;
  font-weight: 500 !important;
  color: var(--color-primary) !important; /* #7A9C6D */
  margin-bottom: 0.3rem !important;
  font-family: var(--font-heading-sub) !important;
}

.page-event-pricing-market .jet-listing-dynamic-field__content {
  font-size: 0.95rem !important;
  color: var(--color-text-light) !important; /* #A4ADA6 */
  font-family: var(--font-heading-sub) !important;
}


.page-event-notice-item {  
  background-color: var(--color-bg-highlight) !important;
  padding: 20px 20px !important;
  border-radius: 8px !important;
  border: var(--card-border) !important;  
  margin-bottom: 10px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06) !important;

  width: 600px !important;
  max-width: 100% !important; /* 防止超出容器 */
  margin-left: auto !important;
  margin-right: auto !important; /* 置中 */
}

.page-event-notice .jet-listing-dynamic-field__content {
  font-size: 18px !important;
  font-family: var(--font-heading-sub) !important;
  color: var(--color-text-primary) !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}

@media (max-width: 768px) {
    .page-event-notice .jet-listing-dynamic-field__content{
        font-size: 17px !important;
    }
}

.page-event-audience-item {
  border-left: 4px solid var(--color-primary) !important;
  background-color: #ffffff !important;
  padding: 16px 20px !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  margin-bottom: 8px !important;
    
  width: 500px !important;
  max-width: 100% !important; /* 保持 RWD 兼容 */
  margin-left: auto !important;
  margin-right: auto !important; /* 置中 */  
}

.page-event-audience .jet-listing-dynamic-field__content {
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: var(--color-text-main) !important;
}

.page-event-feature-title {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: var(--color-text-main) !important;
  font-family: var(--font-heading-sub) !important;
}

.page-event-feature-desc {
  font-size: 15px !important;
  font-weight: var(--text-body-weight) !important;  
  color: var(--text-body-color) !important;
  line-height: 1.6 !important;
  font-family: var(--text-body-font-family) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;   
}

.page-event-feature-item {
  /*background-color: #fff!important;*/
  border-radius: 12px!important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04)!important;
  padding: 24px!important;
  transition: all 0.3s ease!important;
  height: 100%!important;
  display: flex!important;
  flex-direction: column!important;
  gap: 12px!important;
}

.cpage-event-feature-item:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08)!important;
}


.page-event-title .elementor-heading-title {
  color: var(--color-text-main) !important;
  font-family: var(--font-heading-page) !important;
  font-weight: 700 !important;
  font-size: var(--heading-page-size) !important;
  line-height: 1.4 !important;

  text-align: center !important;
  /* margin-bottom 可視需求補上 */
}

@media (max-width: 768px) {
  .page-event-title .elementor-heading-title {
    font-size: var(--heading-page-size-mobile) !important;
    padding-top: 25px !important;    
    text-align: center !important;
  }
}

.page-event-price h4 {
  position: relative !important; /* ✨ 確保 ::before 依附此元素定位 */ 
  /*padding-left: 28px !important;*/ /* 留出 icon 空間 */  
  color: var(--color-text-main) !important; /* 次文字色：#4A4A4A，與描述一致 */
  font-family: var(--font-heading-sub) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-align: left !important; /* 改為與資訊區整體左對齊 */
  font-size: 20px !important;
  margin: 0 0 20px 0 !important; /* 下方間距，與按鈕拉開 */
}

/* 圖示前綴 */
/*
.page-event-price h4::before {
  content: "💰";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
  line-height: 1.5;
}*/

@media (max-width: 768px) {
  .page-event-price h4 {
    font-size: 20px !important;
  }
}

.page-event-marketing h4 { 
  color: var(--color-accent) !important;
  font-family: var(--font-heading-sub) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-align: center !important; /* 改為與資訊區整體左對齊 */
  font-size: 18px !important;
  /*margin: 0 0 20px 0 !important;*/ /* 下方間距，與按鈕拉開 */
}

@media (max-width: 768px) {
  .page-event-marketing h4 {
    font-size: 19px !important;
    text-align: center !important;  
  }
}

.page-event-place h4 {
  position: relative !important; /* ✨ 確保 ::before 依附此元素定位 */ 
  padding-left: 10px !important; 
  color: var(--color-text-secondary) !important; /* 次文字色：#4A4A4A，與描述一致 */
  font-family: var(--font-heading-sub) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: left !important; /* 改為與資訊區整體左對齊 */
  font-size: 18px !important;
  margin-top: -10px !important;  
  /*margin: 0 0 20px 0 !important;*/ /* 下方間距，與按鈕拉開 */
}

.page-event-note h4 {
  position: relative !important; 
  /*padding-left: 10px !important;*/ 
  color: var(--color-text-secondary) !important; 
  font-family: var(--font-heading-sub) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: center !important; 
  font-size: 17px !important;
  margin-top: -10px !important;  
}

/* 圖示前綴 */
/*
.page-event-place h4::before {
  content: "📍";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
  line-height: 1.5;
}*/

@media (max-width: 768px) {
  .page-event-place h4 {
    padding-left: 0px !important;   
    font-size: 18px !important;
  }
}

/* 🎯 標籤樣式（桌機版） */
.page-event-taxonomy .jet-listing-dynamic-terms__link {
  display: inline-block !important;
  padding: 6px 16px !important;
  margin: 4px !important;
  border: none !important;
  border-radius: 20px !important;
  background-color: var(--color-accent) !important;
  font-weight: 500 !important;
  font-family: var(--font-heading-sub) !important;
  font-size: 16px !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  line-height: 1.4 !important;
  letter-spacing: var(--taxonomy-letter-spacing)!important;
	color: #fff !important;
}

/* 🖱️ Hover 效果 */
.page-event-taxonomy .jet-listing-dynamic-terms__link:hover {
  background-color: var(--color-primary) !important; /* 主色 */
  color: #fff !important;
}

/* 📱 平板調整 */
@media (max-width: 1024px) {
  .page-event-taxonomy .jet-listing-dynamic-terms__link {
    font-size: 15px !important;
    padding: 5px 14px !important;
  }
}

/* 📱 手機調整 */
@media (max-width: 768px) {
  .page-event-taxonomy .jet-listing-dynamic-terms__link {
    font-size: 16px !important;
    padding: 5px 12px !important;
  }
}

.page-event-date {
  position: relative !important; /* ✨ 確保 ::before 依附此元素定位 */ 
  padding-left: 10px !important;   
  color: var(--color-accent-text) !important; /* 次文字色，提升閱讀性 */
  font-family: var(--font-heading-sub) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  font-size: 19px !important; /* 調整為資訊級大小 */
  margin-bottom: 0px !important; /* 與下方按鈕或內容分隔 */
}

@media (max-width: 768px) {
  .page-event-date {
    padding-left: 0px !important;  
    font-size: 18px !important;
  }
}

.page-event-date-hightlight {
  position: relative !important; /* ✨ 確保 ::before 依附此元素定位 */ 
  padding-left: 10px !important;   
  color: var(--color-accent-text) !important; /* 次文字色，提升閱讀性 */
  font-family: var(--font-heading-sub) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-align: left !important;
  font-size: 19px !important; /* 調整為資訊級大小 */
  margin-bottom: 0px !important; /* 與下方按鈕或內容分隔 */
}

@media (max-width: 768px) {
  .page-event-date-hightlight {
    padding-left: 0px !important;  
    font-size: 18px !important;
  }
}

.page-event-hero-image img {
  border-radius: 0px !important;  
  /*  
  border-top-left-radius: 16px !important;
  border-top-right-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
  border-bottom-left-radius: 16px !important;
  */  
  box-shadow: 0 4px 12px rgba(0,0,0,0.08)!important;
  max-width: 80% !important;
  height: auto!important;
  object-fit: cover!important;
  /*aspect-ratio: 2.5 / 1!important;*/
}

@media (max-width: 768px) {
  .page-event-hero-image img {
    border-radius: 0px !important;  
    max-width: 100% !important;
  }
}

.page-hero{
    padding:0px;important!
    margin:0px;important!
    gap: 0px !important;
}

.page-event-hero{
    padding:0px;important!
    margin:0px;important!
    
    gap: 0px !important;
}

@media (min-width: 1024px) {
  .page-event-hero{
    margin-bottom:5%;important!
  }
}


/* === Hero 右側文字區塊 === */
.page-event-hero-textbox {
  /*background: rgba(255, 255, 255, 0.88)!important;*/
  /*  
  border-top-left-radius: 16px !important;
  border-top-right-radius: 16px !important;
  border-bottom-right-radius: 16px !important;
  border-bottom-left-radius: 16px !important;
  */
  border-radius: 0px !important;  
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06)!important;
  padding: 20px 64px!important;
  max-width: 40% !important;
  backdrop-filter: blur(4px)!important;
  transition: all 0.3s ease!important;
  max-width: 40% !important;  
}

/* 響應式：手機時放寬限制 */
@media (max-width: 768px) {
  .page-event-hero-textbox {
    max-width: 100%!important;
    padding: 32px 16px!important;
    margin: 0 auto !important; /* ✅ 關鍵：讓陰影區塊水平置中 */  
  }
}
/* =======================================
   卡片專區 Start
   這裡放所有卡片
======================================= */

/* === card-review=== */

.card-review-content {
  color: var(--color-text-secondary) !important; /* 次要文字色 */
  font-family: var(--text-body-font-family) !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  text-align: left; /* 卡片內文字預設左對齊 */
  font-size: 16px !important;
  margin-bottom: 10px !important;  
}

/* 平板 */
@media (max-width: 1024px) {
  .card-review-content {
    font-size: 16px !important;
  }
}

/* 手機 */
@media (max-width: 768px) {
  .card-review-content {
    font-size: 16px !important;
  }
}

.btn-review-label .elementor-button {
  background-color: var(--color-accent) !important; /* 固定底色 */
  color: var(--color-label-text)  !important; 
  font-family: var(--btn-font-family) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: var(--taxonomy-letter-spacing)!important;
  padding: 6px 15px !important;
  border: 2px solid var(--color-accent)  !important; /* 邊框跟底色一樣 */
  border-radius: 15px !important;
  text-align: center !important;
  transition: none !important; /* 移除動畫 */
  line-height: 1.5 !important;  
}

/* Hover 狀態：不改變任何東西（也可以不寫） */
.btn-review-label .elementor-button:hover {
  background-color: var(--color-accent)  !important;
  color: var(--color-primary)  !important;
  border-color: var(--color-accent)  !important;
}

.card-review-name h4 {
  color: var(--color-text-main) !important; /* 主要文字色 */
  font-family: var(--font-heading-sub) !important; /* 卡片內用Noto Sans，跟描述一致 */
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  font-size: 15px !important; /* 桌機版 */
}

/* 平板 */
@media (max-width: 1024px) {
  .card-review-name h4 {
    font-size: 15px !important;
  }
}

/* 手機 */
@media (max-width: 768px) {
  .card-review-name h4 {
    font-size: 15px !important;
  }
}

.card-review-title h5 {
  color: var(--color-text-light) !important; 
  font-family: var(--font-heading-card) !important; 
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  font-size: 13px !important; /* 桌機版 */
}

/* 平板 */
@media (max-width: 1024px) {
  .card-review-title h5 {
    font-size: 13px !important;
  }
}

/* 手機 */
@media (max-width: 768px) {
  .card-review-title h4 {
    font-size: 13px !important;
  }
}

/* === card-teacher=== */

.card-teacher-photo img {
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
}

.card-teacher-title h3 {
  font-family: var(--font-heading-card) !important;
  font-size: var(--heading-card-size) !important;
  font-weight: var(--heading-card-weight) !important;
  line-height: var(--heading-card-line-height) !important;
  color: var(--color-text-main) !important;

  margin-bottom: 8px !important;
}

@media (max-width: 768px) {
  .card-teacher-title h3 {
    font-size: var(--heading-card-size-mobile) !important;
    margin-bottom: 10px !important;
  }
}


.card-teacher-character h3 {
  color: var(--color-accent)  !important; /* 主要文字色 */
  font-family: var(--font-heading-card) !important; 
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-bottom: 10px !important;
  font-size: 17px !important; /* 桌機版 */
}

/* 手機 */
@media (max-width: 768px) {
  .card-teacher-character h3 {
    font-size: 17px !important;
  }
}


.card-teacher-solgan h4 {
  color: var(--color-accent)  !important; /* 主要文字色 */
  font-family: var(--font-heading-card) !important; 
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  margin-bottom: 10px !important;
  font-size: 20px !important; /* 桌機版 */
}

/* 手機 */
@media (max-width: 768px) {
  .card-teacher-solgan h4 {
    font-size: 18px !important;
  }
}



.card-teacher-description {
  font-size: var(--text-body-size) !important;
  font-weight: var(--text-body-weight) !important;
  font-family: var(--text-body-font-family) !important;
  color: var(--text-body-color) !important;

  max-width: 780px !important;
  line-height: 2 !important; /* 特別放鬆版面感，保留個別設定 */
  letter-spacing: var(--text-body-letter-spacing)!important;
}

/* 📱 手機版 */
@media (max-width: 768px) {
  .card-teacher-description {
    font-size: var(--text-body-size-mobile) !important;
  }
}

/* === card-event=== */

.card-event-marketing h4 { 
  color: var(--color-accent) !important;
  font-family: var(--font-heading-card) !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  text-align: center !important; /* 改為與資訊區整體左對齊 */
  font-size: 16px !important;
  /*margin: 0 0 20px 0 !important;*/ /* 下方間距，與按鈕拉開 */
}

@media (max-width: 768px) {
  .card-event-marketing h4 {
    font-size: 14px !important;
  }
}

.teacher-event-taxonomy .jet-listing-dynamic-terms__link {
  display: inline-block!important;
  padding: 0px 15px!important;
  /*margin: 10px 4px 4px 4px !important;*/ 
  border: 2px solid var(--color-accent-text)!important;
  border-radius: 20px!important;
  background-color: var(--color-accent-text)!important;
  color: #fff!important;
  font-weight: 400!important;
  font-family: var(--font-heading-sub)!important;
  font-size: 14px!important;
  text-align: center!important;
  text-decoration: none!important;
  transition: all 0.3s ease!important;
  letter-spacing: var(--taxonomy-letter-spacing)!important;  
}

/* 滑鼠懸停效果 */
.teacher-event-taxonomy .jet-listing-dynamic-terms__link:hover {
  background-color: var(--color-accent)!important;
  border: 2px solid var(--color-accent)!important; 
  color: #fff!important;
}

/* 手機 */
@media (max-width: 768px) {
  .teacher-event-taxonomy .jet-listing-dynamic-terms__link {
    font-size: 14px!important;
    padding: 0px 3px!important;
  }
}

.card-event-taxonomy .jet-listing-dynamic-terms__link {
  display: inline-block!important;
  padding: 0px 15px!important;
  margin: 10px 4px 4px 4px !important; 
  border: 2px solid var(--color-accent)!important;
  border-radius: 20px!important;
  background-color: var(--color-accent)!important;
  color: #fff!important;
  font-weight: 400!important;
  font-family: var(--font-heading-sub)!important;
  font-size: 14px!important;
  text-align: center!important;
  text-decoration: none!important;
  transition: all 0.3s ease!important;
  letter-spacing: var(--taxonomy-letter-spacing);  
}

/* 滑鼠懸停效果 */
.card-event-taxonomy .jet-listing-dynamic-terms__link:hover {
  background-color: var(--color-accent)!important;
  color: #fff!important;
}

/* 手機 */
@media (max-width: 768px) {
  .card-event-taxonomy .jet-listing-dynamic-terms__link {
    font-size: 16px!important;
    padding: 5px 10px!important;
  }
}


.card-event-cta h4 {
  color: var(--color-primary)  !important; 
  font-family: var(--font-heading-sub) !important; 
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  /*margin-top: 10px !important;*/
  font-size: 16px !important; /* 桌機版 */
}

/* 平板 */
@media (max-width: 1024px) {
  .card-event-cta h4 {
    font-size: 16px !important;
  }
}

/* 手機 */
@media (max-width: 768px) {
  .card-event-cta h4 {
    font-size: 16px !important;
  }
}

.card-event-price h4 {
  color: var(--color-text-main)  !important; 
  font-family: var(--font-heading-sub) !important; 
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  font-size: 16px !important; /* 桌機版 */
  margin-top: -10px !important  
}

/* 手機 */
@media (max-width: 768px) {
  .card-event-price h4 {
    font-size: 16px !important;
  }
}

.card-event-item h4 {
  color: var(--color-text-secondary)  !important; 
  font-family: var(--font-heading-sub) !important; 
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  font-size: 16px !important; /* 桌機版 */
  margin-top: -12px !important  
}

/* 手機 */
@media (max-width: 768px) {
  .card-event-item h4 {
    font-size: 16px !important;
  }
}

.card-event-place h4 {
  color: var(--color-text-main)  !important; 
  font-family: var(--font-heading-sub) !important; 
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  font-size: 15px !important; /* 桌機版 */
  margin-top: -12px !important  
}

/* 手機 */
@media (max-width: 768px) {
  .card-event-place h4 {
    font-size: 15px !important;
  }
}

.card-event-description {
  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;
  text-align: left !important;
}

/* 📱 手機 */
@media (max-width: 768px) {
  .card-event-description {
    font-size: var(--text-body-size-mobile) !important;
  }
}

.card-event-note .elementor-heading-title {
  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  text-align: center !important;
  margin-top: -5px !important;
  margin-bottom: -5px !important;
  letter-spacing: var(--text-body-letter-spacing)!important;  
}

/* 📱 手機 */
@media (max-width: 768px) {
  .card-event-note .elementor-heading-title {
    font-size: var(--text-body-size-mobile) !important;
    text-align: center !important;  
  }
}


.card-event-subtitle h4 { 
  color: var(--color-accent-action) !important;
  font-family: var(--font-heading-sub) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: center !important; /* 改為與資訊區整體左對齊 */
  font-size: 18px !important;
  /*margin: 0 0 20px 0 !important;*/ /* 下方間距，與按鈕拉開 */
}

@media (max-width: 768px) {
  .card-event-subtitle h4 {
    font-size: 18px !important;
  }
}
.card-event-date {
  color: var(--color-primary) !important; 
  font-family: var(--font-heading-sub) !important; 
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  /*margin-top: -8px !important;*/  
  font-size: 18px !important; /* 桌機版 */
}

/* 手機 */
@media (max-width: 768px) {
  .card-event-date {
    font-size: 18px !important;
  }
}

.card-event-title h3 {
  color: var(--color-text-main) !important;
  font-family: var(--font-heading-card) !important;
  font-weight: var(--heading-sub-weight) !important;
  font-size: var(--heading-card-size) !important;
  line-height: var(--heading-sub-line-height) !important;

  text-align: center !important;
  margin-top: -10px !important;
}

/* 📱 手機 */
@media (max-width: 768px) {
  .card-event-title h3 {
    font-size: var(--heading-card-size-mobile) !important;
  }
}


/* === card-course=== */

.card-course-title h3 {
  color: var(--color-text-main) !important;
  font-family: var(--font-heading-card) !important;
  font-weight: var(--heading-card-weight) !important;
  font-size: var(--heading-card-size) !important;
  line-height: var(--heading-card-line-height) !important;

  text-align: center !important;
  margin-bottom: 16px !important;
}

/* 📱 手機版 */
@media (max-width: 768px) {
  .card-course-title h3 {
    font-size: var(--heading-card-size) !important;
    margin-bottom: 12px !important;
  }
}

.card-course-description {
  color: var(--text-body-color) !important;
  font-family: var(--text-body-font-family) !important;
  font-weight: var(--text-body-weight) !important;
  font-size: var(--text-body-size) !important;
  line-height: var(--text-body-line-height) !important;
  letter-spacing: var(--text-body-letter-spacing)!important;
  text-align: left !important;
}

/* 📱 手機 */
@media (max-width: 768px) {
  .card-course-description {
    font-size: var(--text-body-size-mobile) !important;
  }
}


/* =======================================
   卡片專區 End
======================================= */

/* 讓按鈕不用滑鼠懸停 就可以上下晃動 */
/*
.elementor-animation-bob {
    animation-name: elementor-animation-bob-float,elementor-animation-bob;
    animation-duration: .3s,1.5s;
    animation-delay: 0s,.3s;
    animation-timing-function: ease-out,ease-in-out;
    animation-iteration-count: 1,infinite;
    animation-fill-mode: forwards;
    animation-direction: normal,alternate;
}*/

/*螢光效果*/
/*
.highlight {
    background: linear-gradient(transparent 65%, #FFED00 65%, #FFED00 94%,transparent 94%, transparent 100%);
    background: -webkit-linear-gradient(transparent 65%, #FFED00 65%, #FFED00 94%,transparent 94%, transparent 100%);
}*/

/*隱藏 描述 兩個字*/
/*
.single-product .tabs.wc-tabs {
    display: none !important;
}*/

/*單一商品頁微調*/
/*
@media (max-width: 999.98px) {
.single-product div.woocommerce-product-gallery {
    margin-bottom: 1em;
}
}

.woocommerce-loop-product__title{
    margin-top:20px;
}

.widget_recently_viewed_products .widget-title{
    font-size:17px;
    font-weight:500;
}

.wc-block-product-categories-list-item a,.wc-block-product-categories-list-item{
    color:#515962;
}*/

/*
#footer .widget-title{
    color:var(--color-accent)!important;
}
*/
/*隱藏product add-on 產品選單 計算價格*/
/*
#pewc-per-product-label,#pewc-options-total,#pewc-options-total-label,#pewc-per-product-total,#pewc-grand-total-label{
    display:none;
}*/
/*調整product add-on 選單字體*/
/*
.pewc-group-heading-wrapper h3{
    margin-bottom: 5px;
    font-size:18px;
    color:var(--color-accent);
}
.pewc-field-label{
    font-size:16px;
}

.pewc-radio-form-label,.pewc-checkbox-form-label{
 color:#28292a;
}

.pewc-field-label{
 color:#767676
}

#pewc-grand-total{
 font-size:25px;
 color:var(--color-accent);
}

.pewc-total-field-wrapper {
    margin-bottom: 4em;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}*/

/* 小字 + 整句放大用 inline-block 包起來 */
/*
.copyright-credit {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 4px;
  transition: all 0.3s ease;
  display: inline-block;
}*/

/* hover 整個 p 時效果觸發 */
/*
.copyright-credit:hover {
  transform: scale(1.05);
  color: #FFFFFF;
}
*/

/* a 的樣式維持一致即可 */
/*
.copyright-credit a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.3s ease;
}

.copyright-credit:hover a {
  color: #FFFFFF;
}
*/
/*
#payment ul.payment_methods>li.wc_payment_method>label {
    margin-bottom: 10px!important;
}
*/
}
