.elementor-296 .elementor-element.elementor-element-92d1d94{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-296 .elementor-element.elementor-element-92d1d94:not(.elementor-motion-effects-element-type-background), .elementor-296 .elementor-element.elementor-element-92d1d94 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2C3E50;}.elementor-296 .elementor-element.elementor-element-9fb247b .elementor-repeater-item-eb437b5.elementor-social-icon{background-color:#F0902F;}.elementor-296 .elementor-element.elementor-element-9fb247b .elementor-repeater-item-f27e9bb.elementor-social-icon{background-color:#00B900;}.elementor-296 .elementor-element.elementor-element-9fb247b{--grid-template-columns:repeat(1, auto);text-align:center;bottom:10%;z-index:999;--grid-row-gap:7px;}body:not(.rtl) .elementor-296 .elementor-element.elementor-element-9fb247b{right:1%;}body.rtl .elementor-296 .elementor-element.elementor-element-9fb247b{left:1%;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-b3ec6f0 *//* ==========================================================================
   Site Footer Styles (Global)
   ========================================================================== */

.site-footer {
    background-color: #2c3e50; /* 深藍灰色背景 */
    color: #bdc3c7; /* 淺灰色文字 */
    padding: 50px 0 20px; /* 上下邊距 */
    font-size: 0.95em;
    line-height: 1.7;
}

.footer-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-main {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); /* RWD 網格 */
    gap: 30px; /* 欄位間距 */
    margin-bottom: 40px;
}

.footer-column h3,
.footer-column h4 {
    color: #ffffff; /* 白色標題 */
    font-size: 1.2em;
    margin-top: 0;
    margin-bottom: 20px;
    font-weight: 600;
}
.footer-column .footer-logo { /* 如果 h3 用作 logo 文字 */
    font-size: 1.8em;
    color: #e67e22; /* 品牌橘色 */
    font-weight: bold;
    margin-bottom: 15px;
}
.footer-column .footer-logo-img {
    max-width: 180px; /* 控制 logo 圖片大小 */
    margin-bottom: 15px;
}

.footer-tagline {
    margin-bottom: 20px;
    color: #ecf0f1; /* 更亮的灰色，易讀 */
}

.footer-social-icons a {
    display: inline-block;
    margin-right: 12px;
    color: #bdc3c7;
    font-size: 1.4em; /* 圖標大小 */
    text-decoration: none;
    transition: color 0.3s ease, transform 0.3s ease;
}
.footer-social-icons a:hover {
    color: #e67e22; /* 品牌橘色 */
    transform: scale(1.1);
}
/* 簡易文字圖標示意，建議使用 SVG 或圖標字型 */
.footer-social-icons i[class^="icon-social-"] {
    font-style: normal;
    font-weight: bold;
    padding: 3px 5px; /* 給文字圖標一點空間 */
    border: 1px solid transparent;
}

.footer-column.links-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column.links-column li {
    margin-bottom: 10px;
}

.footer-column.links-column a {
    color: #bdc3c7;
    text-decoration: none;
    transition: color 0.3s ease, padding-left 0.3s ease;
}

.footer-column.links-column a:hover {
    color: #e67e22; /* 品牌橘色 */
    padding-left: 5px; /* hover 時稍微位移 */
}

.footer-column.contact-column address {
    font-style: normal;
}
.footer-column.contact-column p {
    margin-bottom: 8px;
    display: flex; /* 讓圖標和文字對齊 */
    align-items: flex-start; /* 圖標頂部對齊 */
}
.footer-column.contact-column i[class^="icon-footer-"] {
    margin-right: 10px;
    color: #e67e22; /* 品牌橘色圖標 */
    font-style:normal; /* 如果用文字或 emoji */
    width: 18px; /* 固定圖標寬度，幫助對齊 */
    display: inline-block;
    text-align: center;
}
.footer-column.contact-column a {
    color: #bdc3c7;
    text-decoration: none;
}
.footer-column.contact-column a:hover {
    color: #e67e22;
    text-decoration: underline;
}

.footer-bottom {
    border-top: 1px solid #3e5771; /* 分隔線顏色 */
    padding-top: 25px;
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap; /* 在小螢幕時換行 */
    justify-content: space-between;
    align-items: center;
    text-align: center; /* 小螢幕時文字居中 */
}

.copyright {
    margin: 0;
    font-size: 0.9em;
    color: #95a5a6; /* 更淺的灰色 */
    flex-basis: 100%; /* 預設佔滿一行 */
    margin-bottom: 10px; /* 小螢幕時與下方連結的間距 */
}

.legal-links {
    flex-basis: 100%; /* 預設佔滿一行 */
}

.legal-links a {
    color: #95a5a6;
    text-decoration: none;
    margin: 0 8px;
    font-size: 0.9em;
    transition: color 0.3s ease;
}

.legal-links a:hover {
    color: #e67e22;
}

/* RWD for Footer */
@media (min-width: 768px) { /* 平板及以上 */
    .copyright {
        flex-basis: auto; /* 恢復自動寬度 */
        text-align: left;
        margin-bottom: 0;
    }
    .legal-links {
        flex-basis: auto; /* 恢復自動寬度 */
        text-align: right;
    }
    .footer-main {
        /* 調整網格欄位分佈，例如第一欄寬一點 */
        grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr;
    }
}

@media (max-width: 767px) { /* 手機 */
    .footer-main {
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* 手機上確保每欄至少250px寬，或單欄 */
    }
    .footer-column {
        margin-bottom: 20px; /* 增加手機上欄位之間的間距 */
        text-align: center; /* 手機上內容居中 */
    }
    .footer-column.contact-column p {
        justify-content: center; /* 手機上聯絡資訊圖標和文字也居中 */
    }
    .footer-social-icons {
        text-align: center; /* 社群圖標居中 */
    }
     .footer-bottom {
        flex-direction: column;
    }
    .copyright, .legal-links {
        text-align: center;
        margin-bottom: 10px;
    }
}


/* Optional: Back to Top Button Styles */
/*
#backToTopBtn {
    display: none;
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 99;
    border: none;
    outline: none;
    background-color: #e67e22;
    color: white;
    cursor: pointer;
    padding: 12px 15px;
    border-radius: 50%;
    font-size: 1.5em;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: background-color 0.3s, opacity 0.3s;
}

#backToTopBtn:hover {
    background-color: #d35400;
}
*/

/* Placeholder for icons if not using a font library */
/* You'd replace these with actual font icons or SVGs */
.icon-social-fb::before { content: "FB"; /* Or your icon */ }
.icon-social-ig::before { content: "IG"; }
.icon-social-line::before { content: "LN"; }
.icon-social-yt::before { content: "YT"; }

.icon-footer-phone::before { content: "📞"; }
.icon-footer-email::before { content: "✉️"; }
.icon-footer-clock::before { content: "🕒"; }
.icon-footer-address::before { content: "📍"; }/* End custom CSS */