/* buttons hover effect */
.button,
.added_to_cart,
[type="submit"] {
	right: var(--has-effect, 0);
	bottom: var(--has-effect, 0);
	position: var(--has-effect, relative);
	box-shadow: var(--has-effect, 7px 7px 0px 0px var(--theme-button-shadow-color, var(--theme-palette-color-4))) !important;
	transition: all 0.12s cubic-bezier(.45,.05,.55,.95);
}


.ct-contact-wpforms,
.home-products-shortcode .ct-woo-card-actions {
	--display: inline-flex;
	--theme-button-text-initial-color: #fff;
	--theme-button-background-initial-color: var(--theme-palette-color-4);
	--theme-button-background-hover-color: #03070a;
	--theme-button-border: 2px solid var(--theme-palette-color-3);
	--theme-button-border-hover-color: var(--theme-palette-color-3);
	--theme-button-shadow-color: var(--theme-palette-color-3);
}

/* remove button hover effect from certain elements */
.ct-cart-actions,
.select2-search__field,
.woocommerce-message {
	--has-effect: var(--false);
}



/* home products shortcode */
.home-products-shortcode .woocommerce-loop-product__title {
	color: #fff;
}

.home-products-shortcode .price {
	color: rgba(255, 255, 255, 0.5)
}


/* contact form */
.ct-contact-wpforms {
	--theme-form-text-initial-color: var(--theme-palette-color-5);
	--theme-form-text-focus-color: var(--theme-palette-color-6);
	--theme-form-field-border-initial-color: var(--theme-palette-color-3);
}

/* ── 輪播外層容器 ── */
.jz-slider-container {
    position: relative;
    width: 100%;
    min-height: 320px; /* 垂直空間，容納箭頭滑行軌跡 */
    display: flex;
    flex-direction: column;
    justify-content: flex-end; 
    align-items: center;
    overflow: visible; 
    font-family: 'Noto Sans TC', sans-serif; /* ★ 修正為黑體 Noto Sans TC */
    box-sizing: border-box;
    padding-bottom: 30px;
}

/* ── 由上往下滑動的黑色三角形軌跡 ── */
.jz-slider-arrow-track {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 120px; 
    z-index: 10;   /* 確保在最頂層，不被光暈遮擋 */
}

/* 黑色三角形本體 */
.jz-slider-arrow {
    width: 0;
    height: 0;
    border-left: 7px solid transparent;  
    border-right: 7px solid transparent; 
    border-top: 10px solid #1A1A1A; 
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    animation: jzSlideDown 2.2s cubic-bezier(0.25, 1, 0.5, 1) infinite; 
}

/* 軌跡：一路向下深入到文字上方 5px */
@keyframes jzSlideDown {
    0% {
        top: 0;
        opacity: 0;
    }
    10% {
        opacity: 1; 
    }
    85% {
        top: 100px; /* 停在文字上方 5px */
        opacity: 1;
    }
    100% {
        top: 112px; 
        opacity: 0; 
    }
}

/* ── 背景圓形光暈 ── */
.jz-slider-glow {
    position: absolute;
    width: 180px;      
    height: 180px;     
    background-color: #FFECCA; /* ★ 修正光暈顏色為 #FFECCA */
    border-radius: 50%; 
    top: 60%; 
    left: 50%;
    transform: translate(-50%, -50%);
    filter: blur(40px); 
    opacity: 0.85;       /* 稍微提高一點透明度，讓鵝黃色光暈層次更漂亮 */
    z-index: 1;         /* 降到最底層 */
    pointer-events: none;
}

/* ── 輪播文字包覆區 ── */
.jz-slider-wrapper {
    position: relative;
    width: 100%;
    z-index: 5; 
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80px; 
    margin-top: 20px; 
}

/* ── 單個 Slogan 文字樣式 ── */
.jz-slide {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s;
    text-align: center;
    color: #2C2416;
    letter-spacing: 0.05em;
    line-height: 1.5;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}

.jz-slide.active {
    position: relative; 
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* ── 底部導航點點區 ── */
.jz-slider-dots {
    display: flex;
    gap: 10px;
    margin-top: 25px;
    z-index: 5;
}

/* 點點：未播放為灰色 */
.jz-dot {
    width: 7px;
    height: 7px;
    background-color: #BDBDBD; 
    border-radius: 50%;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

/* 點點：播放中為黑色 */
.jz-dot.active {
    background-color: #1A1A1A; 
    transform: scale(1.1);
}

/* ── RWD 手機版響應式微調 ── */
@media (max-width: 767px) {
    .jz-slider-container { min-height: 260px; }
    .jz-slider-glow { width: 140px; height: 140px; filter: blur(35px); }
    .jz-slider-arrow-track { height: 85px; }
    @keyframes jzSlideDown {
        0% { top: 0; opacity: 0; }
        10% { opacity: 1; }
        85% { top: 70px; opacity: 1; }
        100% { top: 78px; opacity: 0; }
    }
}

/* 標籤群組外層容器 */
.dd-global-tags-container {
    display: flex;
    flex-wrap: wrap;          /* 寬度不夠時自動優雅換行 */
    justify-content: center;   /* 居中對齊（適合顧問名片下方） */
    gap: 8px 12px;            /* 標籤與標籤之間的上下、左右間距 */
    margin: 10px 0;
    width: 100%;
}

/* 原始標籤樣式（保持您的 #FFDC7A 核心色彩與微框質感） */
a.dd-global-custom-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 10px;
    border: 1px solid #FFDC7A;
    background-color: transparent;
    color: #FFDC7A !important;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none !important;
    letter-spacing: 0.05em;
    border-radius: 2px;
    transition: all 0.3s ease;
    cursor: pointer;
}

a.dd-global-custom-tag:hover {
    background-color: #FFDC7A;
    color: #111111 !important;
    box-shadow: 0 2px 8px rgba(255, 220, 122, 0.3);
}

a.dd-global-custom-tag .dd-tag-hash {
    margin-right: 2px;
    font-weight: 700;
}

/* 🔥 強制防切：讓引導線組件的外部大容器允許溢出顯示 */
.elementor-widget-html,
.jozo-scroll-guide-outer-wrapper {
    overflow: visible !important;
}

/* 額外防呆：確保父層 Elementor 欄位也允許內容溢出 */
.elementor-column-wrap,
.elementor-widget-wrap {
    overflow: visible !important;
}