@charset "utf-8";
@import url("reset.css");
@import url("loading.css");
@import url("fontawesome_all.css");
@import url("../aos-master/aos-master/dist/aos.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC&display=swap');

/* ----------------------------------------------------------------------------------------------------------------*/
/* ---------------------------------->>> Main <<<------------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------------------*/

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; letter-spacing:1px; }
html { height:100% }
body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; -webkit-text-size-adjust:none; font-size:12px; overflow-y:scroll; overflow-x:hidden; }
body, td, th,select,input {font-size: 12px;font-family: "文泉驛正黑", "WenQuanYi Zen Hei", "儷黑 Pro", "Microsoft JhengHei", "新細明體", "PMingLiU", sans-serif;color:#333333;}

/*簡易設定*/
.iframe_ch { display:none }
.middle { vertical-align:middle; }
.center { text-align:center; }
.w100{ width:100%; }

.editor {overflow: hidden;padding: 0px 10px;line-height: 30px;font-size: 16px;width: 100%;letter-spacing: 1px;}

/*fix safari*/
input, select, textarea{ -ms-box-sizing:content-box; -moz-box-sizing:content-box; box-sizing:content-box; -webkit-box-sizing:content-box;}


/* 重置iOS表單元件樣式 */
select, input, textarea, button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
}

/* 特別針對select元素 */
select {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="6"><path d="M0 0l6 6 6-6z" fill="%23000"/></svg>');
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px 6px;
  padding-right: 30px;
}

/* 針對iOS的input樣式 */
input[type="text"], 
input[type="email"], 
input[type="password"], 
input[type="number"],
input[type="tel"] {
  -webkit-appearance: none;
  border-radius: 0;
}

/*連結*/
a{color: #28231c;text-decoration:none;}
a:hover{ color:#578fa2; }

/*全營幕遮罩*/
.bg-overlay { display:block; position:fixed; left:0; top:0; background:rgba(0, 0, 0, 0.7); opacity:0; visibility:hidden; width:100%; height:100%; z-index:9999; transition: all 0.2s linear; }
.bg-overlay.visible { opacity:1; visibility:visible }

/*分頁*/
.pager {

  width: 100%;

  margin: 50px auto;

  text-align: center;

  font-size: 16px;

}

/*container*/
#wrapper {overflow:hidden;min-height: 600px;}
.container{width:100%;overflow:hidden;}
.container .wrap{position: relative;max-width: 1400px;overflow: hidden;margin: 0px auto;/* border-top: 1px solid; */}


/*麵包屑*/
#sitemap{width:100%;margin: 0 0 50px 0;padding:0 10px;box-sizing: border-box;letter-spacing:1px;color: #77787c;background: #f5fafe;text-align: left;}
#sitemap .wrap{width:100%;max-width:1400px;overflow:hidden;margin: 0 auto;padding: 20px 0px;color: #77787c;font-size: 14px;text-align: left;}
#sitemap .wrap i{ padding-right:5px; }
#sitemap .wrap a{color: #77787c;text-decoration:none;}
#sitemap .wrap a{ text-decoration:underline; }

/*內頁大標題*/
.m-title{position:relative;margin: 10px 0px 25px 0px;padding: 0px 0 0px 0px;color: #3e3e3e;font-size:24px;/* font-weight:bold; */border-bottom:1px solid #dbdbdb;}
.m-title:before{ content:""; }
.m-title span{display:inline-block;font-size: 20px;text-transform:uppercase;padding: 0px 0 10px 0px;border-bottom: 5px solid #79a9d7;min-width: 100px;}
.m-title span i{background: #68aeb8;color: #ffffff;padding: 6px 8px 6px 10px;font-size: 10px;border-radius: 50%;vertical-align: middle;margin-right: 5px;}

/*表格*/
#css-table,.css_table {display:table;width:100%;/* padding: 20px 0; */}
.css_table .css_tr {display: table-row;}
.css_table .css_th {display: table-cell;text-align: center;vertical-align:middle;padding: 8px 10px;box-sizing:border-box;letter-spacing:1px;font-size: 15px;border-bottom: 1px solid #ebebeb;font-weight:bold;color:#121212}
.css_table .css_td {display: table-cell;text-align:center;vertical-align:middle;padding: 0px 10px;box-sizing:border-box;letter-spacing:1px;font-size:14px;color:#121212;position: relative;}
.text-left{ text-align:left !important; }
.css_table .css_th.border-none , .css_table .css_td.border-none{ border:0 !important; }

.css-tr {display: table;}
.css-td {display: table-cell;text-align:left;vertical-align:middle;padding: 0px 10px;box-sizing:border-box;letter-spacing:1px;font-size: 13px;word-break: break-all;color:#121212;}
.css_table .css_tr.table-row-group {display: table-row-group !important;}
.css_table .css_tr.table-caption {display: table-caption !important;}
.css_tr.border-dash:after{content: " "; width: 96%; border-bottom:  1px dashed #aeaeae;display: block;height: 1px; margin: 0 auto; left:2%;position: absolute; margin-top:10px;}
.css_tr.border-dash{position: relative; }

.icon-store{
	content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512" ><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path fill="rgb(255,255,255)" d="M36.8 192H603.2c20.3 0 36.8-16.5 36.8-36.8c0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4L6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM64 224V384v80c0 26.5 21.5 48 48 48H336c26.5 0 48-21.5 48-48V384 224H320V384H128V224H64zm448 0V480c0 17.7 14.3 32 32 32s32-14.3 32-32V224H512z"/></svg>');
	width: 30px;
	height: 30px;
	fill: white;
}
.icon-trash{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M170.5 51.6L151.5 80h145l-19-28.4c-1.5-2.2-4-3.6-6.7-3.6H177.1c-2.7 0-5.2 1.3-6.7 3.6zm147-26.6L354.2 80H368h48 8c13.3 0 24 10.7 24 24s-10.7 24-24 24h-8V432c0 44.2-35.8 80-80 80H112c-44.2 0-80-35.8-80-80V128H24c-13.3 0-24-10.7-24-24S10.7 80 24 80h8H80 93.8l36.7-55.1C140.9 9.4 158.4 0 177.1 0h93.7c18.7 0 36.2 9.4 46.6 24.9zM80 128V432c0 17.7 14.3 32 32 32H336c17.7 0 32-14.3 32-32V128H80zm80 64V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16zm80 0V400c0 8.8-7.2 16-16 16s-16-7.2-16-16V192c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></svg>');
    width: 20px;
    height: 20px;
    fill: black;
}
.icon-del{
    content: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--!Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>');
    width: 20px;
    height: 20px;
    fill: black;
}


/*左右欄的頁面*/
.container .wrap .layout-left{width: 25%;float:left;box-sizing: border-box;padding: 0 30px 0 10px;margin: 0 0 50px 0;display: flex;align-items: flex-start;justify-content: center;}
.container .wrap .layout-right{width: 75%;float:left;box-sizing: border-box;padding: 1px 10px;}
.container .wrap .layout-all{ width:100%; }
.container .wrap .layout-right .end{margin-bottom: 50px;}

.container .wrap .layout-flex{ display:flex; }
.container .wrap .layout-news{ flex:2; }
.container .wrap .layout-quicklink{ flex:1; }

@media screen and (max-width : 900px) {
	.container .wrap .layout-flex{ display:block; }
}


/*回上頁 - 使用第二個固定按鈕*/
#fixed-nav-2 {
    display: none;
    transition: all 0.3s ease;
}

#fixed-nav-2.show-top {
    display: block;
}


/*固定導覽按鈕*/
.fixed-nav {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 15px;
    opacity: 1;
    visibility: visible;
    transition: all 0.4s ease;
}

.fixed-nav-item {
    display: block;
    width: 60px;
    height: 62px;
    background: #ffffff;
    border-radius: 50%;
    /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); */
    transition: all 0.3s ease;
    /* padding: 8px; */
    border: 2px solid #e5e5e5;
}

.fixed-nav-item:hover {
    /*transform: translateX(-5px);*/
    box-shadow: 0 6px 20px rgba(68, 146, 205, 0.3);
    border-color: #4492cd;
}

.fixed-nav-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: all 0.3s ease;
}

.fixed-nav-item:hover img {
    transform: scale(1.1);
}

/* 電腦版 - 只顯示 icon1 和 icon2 */
@media screen and (min-width: 769px) {
    #fixed-nav-3,
    #fixed-nav-4 {
        display: none !important;
    }
}

/* 手機版樣式調整 - 顯示全部四個按鈕 */
@media screen and (max-width: 768px) {
    .fixed-nav {
        right: 20px;
        gap: 3px;
        top: 80%;
    }

    .fixed-nav-item {
        width: 55px;
        height: 55px;
        /* padding: 6px; */
        opacity: 0.8;
    }

    /* 手機版顯示全部按鈕 */
    #fixed-nav-1,
    #fixed-nav-2,
    #fixed-nav-3,
    #fixed-nav-4 {
        display: block;
    }

    /* 手機版 top 按鈕邏輯保持不變 */
    #fixed-nav-2 {
        display: none;
    }

    #fixed-nav-2.show-top {
        display: block;
    }
}

/*========================================================================================*/
/*                                Utility Classes                                        */
/*========================================================================================*/

/* 圖片相關樣式 */
img {
  max-width: 100%;
  height: auto;
}

.img-responsive {
  max-width: 100%;
  height: auto;
  display: block;
}

/* 文字對齊 */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

/* 清除浮動 */
.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* 隱藏元素 */
.hidden { display: none !important; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

/* 間距工具 */
.mt-10 { margin-top: 10px; }
.mt-20 { margin-top: 20px; }
.mb-10 { margin-bottom: 10px; }
.mb-20 { margin-bottom: 20px; }
.pt-10 { padding-top: 10px; }
.pt-20 { padding-top: 20px; }
.pb-10 { padding-bottom: 10px; }
.pb-20 { padding-bottom: 20px; }

/*========================================================================================*/
/*                                Animation Utilities                                    */
/*========================================================================================*/

/* 通用過渡效果 */
.transition {
  transition: all 0.3s ease;
}

.transition-fast {
  transition: all 0.15s ease;
}

.transition-slow {
  transition: all 0.5s ease;
}

/* 常用動畫 */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in { animation: fadeIn 0.3s ease; }
.slide-down { animation: slideDown 0.3s ease; }

/*========================================================================================*/
/*                              Common Section Titles                                    */
/*========================================================================================*/

/* 共用區塊標題樣式 - 可在網站各處重複使用 */
.section-title-common {
    font-size: 20px;
    font-weight: 600;
    color: #4492cd;
    margin: 30px 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
    position: relative;
}

/* 小型版本 */
.section-title-common.small {
    font-size: 18px;
    margin: 25px 0 15px 0;
    padding-bottom: 12px;
}

/* 大型版本 */
.section-title-common.large {
    font-size: 24px;
    margin: 40px 0 25px 0;
    padding-bottom: 20px;
}

/* 響應式調整 */
@media (max-width: 768px) {
    .section-title-common {
        font-size: 18px;
        margin: 25px 0 15px 0;
        padding-bottom: 12px;
    }

    .section-title-common.small {
        font-size: 16px;
        margin: 20px 0 12px 0;
        padding-bottom: 10px;
    }

    .section-title-common.large {
        font-size: 20px;
        margin: 30px 0 18px 0;
        padding-bottom: 15px;
    }
}

@media (max-width: 480px) {
    .section-title-common {
        font-size: 16px;
        margin: 20px 0 12px 0;
        padding-bottom: 10px;
    }

    .section-title-common.small {
        font-size: 15px;
        margin: 18px 0 10px 0;
        padding-bottom: 8px;
    }

    .section-title-common.large {
        font-size: 18px;
        margin: 25px 0 15px 0;
        padding-bottom: 12px;
    }
}

/*========================================================================================*/
/*                                       Header                                          */
/*========================================================================================*/

/* line 84, scss/_header.scss */
#header { position: relative; z-index: 99; background: #ffffff; }

/* line 90, scss/_header.scss */
#header .wrap { padding: 0 20px; display: flex; align-items: center; justify-content: space-between; height: 80px; }

#header .wrap .logo { max-height: 60px; }

/* line 96, scss/_header.scss */
#header .nav { display: flex; align-items: center; gap: 30px; }

#header .nav a { color: #333; text-decoration: none; font-weight: 500; display: flex; align-items: center; gap: 8px; transition: color 0.3s; }

#header .nav a:hover { color: #90c31f; }

#header .nav img { width: 20px; height: 20px; }

/* line 104, scss/_header.scss */
#mobileMenu { display: none; width: 30px; height: 30px; position: relative; cursor: pointer; }

/* line 110, scss/_header.scss */
#mobileMenu span { display: block; width: 100%; height: 3px; background: #333; margin: 5px 0; transition: 0.3s; }

/* 電腦版主選單 */
#header ul {display: flex;list-style: none;margin: 0;padding: 0;/* background: #f8f9fa; */justify-content: center;}

#header ul li { position: relative; }

#header ul li > a { display: block; padding: 15px 25px; color: #333; text-decoration: none; font-weight: 500; transition: all 0.3s; }

#header ul li > a:hover { background: transparent; color: #4492cd; }

#header ul li ul { position: absolute; top: 100%; left: 0; background: white; min-width: 200px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); display: none; z-index: 1000; }

#header ul li:hover ul { display: block; }

#header ul li ul li a { padding: 12px 15px; border-bottom: 1px solid #eee; text-align: center; }

#header ul li ul li a:hover { background: #f0f7ff; color: #2c7ac7; }

/* ----------------------------------------------------------------------------------------------------------------*/
/* ------------------------------>>> Mobile Menu <<<----------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------------------*/


body { transition: background-color .2s; }
#wrapper { transition: margin-left .2s; }
.sidenav { display:flex; flex-direction: column; height: 100%;overflow:hidden;width: 0;position: fixed;z-index: 9999;top: 0;left: 0;background-color: rgba(255, 255, 255, 1);overflow-x: hidden;transition: 0.2s;/*padding-top: 60px;*/box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);}
.sidenav .closebtn {font-size: 25px;position: absolute;top: 30px;right: 10px;color: #4492cd;}
.sidenav .head {width:100%;position: relative;overflow:hidden;/* text-align: center; */padding: 15px 0 15px 5px;border-top: 3px solid #4492cd;border-bottom: 1px solid #ebebeb;background: #ffffff;}
.sidenav .head img{max-width: 260px;padding: 0 0 0 10px;}

.sidenav .menu-top{ }
.sidenav .menu-bottom{width: 100%;height: 100%;background: #ebebeb;padding: 20px 0 10px 0;display: flex;align-items: flex-end;justify-content: center;}
.sidenav .menu-bottom .search{padding:10px 20px;}
.sidenav .menu-bottom .search .items{
    margin: 20px 0;
    display:flex;
}
.sidenav .menu-bottom .search .items .lefter{
	flex: 1;
	width: 80px;
	font-size: 16px;
	color: #3c3c3c;
	display: flex;
	align-items:center;
	justify-content: center;
}
.sidenav .menu-bottom .search .items .lefter i{color: #4492cd;padding-right:8px;}
.sidenav .menu-bottom .search .items .righter{flex: 1;padding: 0 0 0 10px;}
.sidenav .menu-bottom .search .items .righter .search-items{ display:flex;}
.sidenav .menu-bottom .search .items .righter .search-items .input{flex: 1;}
.sidenav .menu-bottom .search .items .righter .search-items .input input[type="text"]{border:0;outline: 0;max-width: 100px;padding: 15px;-webkit-border-top-left-radius: 20px;-webkit-border-bottom-left-radius: 20px;-moz-border-radius-topleft: 20px;-moz-border-radius-bottomleft: 20px;border-top-left-radius: 20px;border-bottom-left-radius: 20px;}
.sidenav .menu-bottom .search .items .righter .search-items .button{flex:1;background: #4492cd;color: #ffffff;padding: 15px 20px;-webkit-border-top-right-radius: 20px;-webkit-border-bottom-right-radius: 20px;-moz-border-radius-topright: 20px;-moz-border-radius-bottomright: 20px;border-top-right-radius: 20px;border-bottom-right-radius: 20px;}

.sidenav .menu-bottom .community{padding: 10px 5px;text-align: center;}
.sidenav .menu-bottom .copyright a{color: #939797;text-decoration:none;}
.sidenav .menu-bottom .copyright a:hover{ text-decoration:underline; }


@media screen and (max-height: 450px) {
 .sidenav {padding-top: 15px;}
 .sidenav a {font-size: 18px;}
}
/*選單 - 選項*/
#ajax-sidenav > div {position:relative;width: 100%;border-left: 5px solid #4492cd;border-bottom: 1px solid #ebebeb;color: #000000;padding: 15px 25px;line-height:20px;box-sizing:border-box;cursor: pointer;cursor: hand;font-size: 14px;letter-spacing: 3px;}
#ajax-sidenav > div:before {/*content:url(../../images/header-icon.png);vertical-align:0; padding-right:10px;color: #000000;*/}

#ajax-sidenav > div i {position:absolute;right: 15px;top: 17px;}
#ajax-sidenav > div.title { background: #b19bb5; color: #ffffff; }
#ajax-sidenav > div:hover { background: #f0f7ff; color: #2c7ac7; border-left: 5px solid #2c7ac7; }
#ajax-sidenav > div span { position:absolute; right:0; top: 0; display:block; padding: 15px 20px; border-left: 1px solid #ebebeb;/* border-right: 1px solid #ebebeb; */ }
#ajax-sidenav > div.nav {background:#ECECEC;border-bottom: 1px solid #CDCDCD;color: #333333;}
#ajax-sidenav > div.nav:before { content:""; padding-right:0px; }
#ajax-sidenav > div img {vertical-align:middle;padding-right:8px;width: 25px;}
.submenu-nav { width: 100%; overflow:hidden; display:none; background-color: #FFFFFF; }
.submenu-nav div {position:relative;font-size: 14px;background: #ffffff;line-height: 20px;border-bottom: 1px solid #ebebeb!important;padding: 18px 30px 18px 55px !important;cursor:pointer;transition: all 0.3s ease;}
.submenu-nav div:hover {background: #f0f7ff; color: #2c7ac7;}
.submenu-nav div:before{position: absolute;left: 30px;top: 20px;font-family: "Font Awesome 5 Free";font-weight: 900;content: "\f111";color: #e2e2e2;padding-right: 8px;}
.submenu-nav div a{font-size: 14px;color: #000000 !important;}
.submenu-nav div i{position:absolute;top:20px;right: 16px;color: #000000;}
.submenu-nav.layer3 div{padding: 18px 10px 18px 80px !important;}
.submenu-nav.layer3 div:before{position: absolute;left: 55px;top: 20px;font-family: "Font Awesome 5 Free";font-weight: 100;content: "\f111";color: #e2e2e2;padding-right: 8px;}

/* 第二層子選單容器 */
.submenu-nav-2 {
    width: 100%;
    overflow: hidden;
    display: none;
    background-color: #f5f5f5;
}

/* 第二層選單項目 */
.submenu-nav-2 > div,
.submenu-nav-2 > .jq-submenu-3 {
    position: relative;
    font-size: 14px;
    background: #f5f5f5;
    line-height: 20px;
    border-bottom: 1px solid #ebebeb !important;
    padding: 18px 30px 18px 65px !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

.submenu-nav-2 > div:hover,
.submenu-nav-2 > .jq-submenu-3:hover {
    background: #e8f4ff;
    color: #2c7ac7;
}

.submenu-nav-2 > div:before,
.submenu-nav-2 > .jq-submenu-3:before {
    position: absolute;
    left: 40px;
    top: 20px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f111";
    color: #e2e2e2;
    padding-right: 8px;
}

.submenu-nav-2 > div a,
.submenu-nav-2 > .jq-submenu-3 a {
    font-size: 14px;
    color: #000000 !important;
}

.submenu-nav-2 > div i,
.submenu-nav-2 > .jq-submenu-3 i {
    position: absolute;
    top: 20px;
    right: 16px;
    color: #000000;
}

/* 第三層子選單容器 */
.submenu-nav-3 {
    width: 100%;
    overflow: hidden;
    display: none;
    background-color: #fafafa;
}

/* 第三層選單項目 */
.submenu-nav-3 > div {
    position: relative;
    font-size: 14px;
    background: #fafafa;
    line-height: 20px;
    border-bottom: 1px solid #ebebeb !important;
    padding: 18px 30px 18px 80px !important;
    cursor: pointer;
    transition: all 0.3s ease;
}

.submenu-nav-3 > div:hover {
    background: #dceeff;
    color: #2c7ac7;
}

.submenu-nav-3 > div:before {
    position: absolute;
    left: 55px;
    top: 20px;
    font-family: "Font Awesome 5 Free";
    font-weight: 400;
    content: "\f111";
    color: #e2e2e2;
    padding-right: 8px;
}

.submenu-nav-3 > div a {
    font-size: 14px;
    color: #000000 !important;
}


.submenu2{background:#ebebeb !important;border-left: 5px solid #9B7354;}
.submenu3{background:#f5f5f5 !important;border-left: 5px solid #9B7354;}

.copyright{text-align: center;color: #939797;line-height: 18px;padding: 20px 10px;}

@media screen and (max-height: 450px) {
 .sidenav { padding-top: 15px;}

 .sidenav a { font-size: 18px;}
}

/* ----------------------------------------------------------------------------------------------------------------*/
/* ------------------------------>>> Menu Search <<<----------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------------------*/

.jq-submenu.srh{position:relative;padding:0 !important;}
.jq-submenu.srh .srh-btn{position:absolute;right: 30px;top: 20px;}
.jq-submenu.srh input[type="text"]{
	/* max-width:218px; */
	background: #F2f2f2;

	-webkit-appearance: none;
	border-radius: 0;
	width: 100%;
	height: 50px;
	border:0;
	font-size: 14px;
	padding: 0 50px 0 25px;

	box-sizing: border-box;
	letter-spacing:1px;

	color:#333;
	outline:0;
}

.jq-submenu.nav{ border-left:0 !important; }
.jq-submenu.nav i{ position:initial !important; padding-right:8px; }



/* ----------------------------------------------------------------------------------------------------------------*/
/* ------------------------------>>> Bxslider <<<----------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------------------*/

ul.bxslider { margin:0; padding:0; }
#home_banner {display: inline-block;width: 100%;margin: 0px 0 0 0;overflow: hidden;position: relative;background:#f3f8fb;}


#home_banner ul{ list-style:none; }
#home_banner li { 
    width: 100%; 
    background-repeat: no-repeat; 
    background-size: cover; 
    background-position: center;
    background-attachment: fixed;
    will-change: transform;
}
#home_banner .bxslider { opacity: 0; }
#home_banner .bx-wrapper .bx-pager.bx-default-pager a:hover, #home_banner .bx-wrapper .bx-pager.bx-default-pager a.active {background: transparent;border: 2px solid #ffffff;}
#home_banner .bx-wrapper .bx-pager.bx-default-pager a {background-color: white;/* border: 1px solid #2d2727; */width: 13px;height: 13px;margin: 0 5px;border-radius: 50%;box-shadow:2px 2px 8px rgba(15%,15%,40%,0.1);}
#home_banner .bx-wrapper .bx-pager { bottom: 32px; opacity: 1; }
#home_banner .bx-wrapper .bx-controls-direction{ opacity: 0; }
#home_banner .word { font-size: 15px; position: absolute; margin-left: -187px; margin-top: -116px; left: 50%; top: 50%; color: #673D3A; letter-spacing: 25px; opacity: 0.2; }
#home_banner .word b { font-weight: bold; }
#home_banner .down { position: absolute; right: 30px; bottom: 32px; width: 34px; height: 28px; z-index: 99; cursor: pointer; opacity: 0; }
#home_banner .down img { display: block; }
#home_banner .bx-prev{ left:5%; }
#home_banner .bx-next{ right:5%; }
#home_banner .bx-next:hover , #home_banner .bx-prev:hover{ opacity:.8; }

/* Banner 圖片 zoom-in 動畫效果 */
#home_banner li img {
    transition: transform 1.2s ease-in-out;
    transform: scale(1);
}

#home_banner .bx-wrapper .bx-viewport .bxslider li.bx-clone img,
#home_banner .bx-wrapper .bx-viewport .bxslider li:not(.bx-clone) img {
    animation: zoomIn 1.2s ease-in-out forwards;
}

@keyframes zoomIn {
    0% {
        transform: scale(1.3);
        opacity: 0.8;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* line 84, scss/_header.scss */
.headerTitleContainer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  /*
  @media only screen and (max-width: 640px), screen and (max-height: 900px) {     
  	.headline {
  		margin: 13rem auto 0 auto;
  	}
  }
  @media only screen and (min-width: 641px) and (max-width: 768px) {
  	.headline {
  		margin: 10rem auto 0 auto;
  	}
  }
  */
}
/* line 90, scss/_header.scss */
.headerTitleContainer .headline {
  text-align: center;
  /*margin: 15rem auto 0 auto;*/
  margin: 0 auto;
  width: 100%;
  max-width: 600px;
  color: #ffffff;
  /* background: #ebebeb; */
  /* border-bottom: 1px solid #ffffff; */
  background-color: rgba(33, 33, 33, 0.6);
  padding: 10px 20px 10px 20px;
}

.headerTitleContainer a{ 
  text-decoration:none;
}

.headerTitleContainer .headline h2{
    padding: 0px 0 0px 0;
    margin: 20px 0;
    font-size: 65px;
    letter-spacing: 10px;
    /*font-family: "標楷體", "KaiTi", sans-serif;*/
    font-weight: normal;
    text-shadow: 1px 1px 1px #9a9a9a;
    font-weight: bold;
}
.headerTitleContainer .headline p{
    letter-spacing: 2px;
    font-size: 24px;
    color: #F4D885;
    /*font-family: "標楷體", "KaiTi", sans-serif;*/
    /* font-weight: bold; */
}



/* line 96, scss/_header.scss */
.headerTitleContainer .button, .headerTitleContainer .headerButton {
  display: none;
}


@media screen and (max-width : 1024px) {

	/* 手機版顯示左右箭頭，隱藏分頁點點 */
	#home_banner .bx-controls-direction
	{
		display:block;
		opacity: 1;
	}

	#home_banner .bx-wrapper .bx-pager {
		display: none !important;
	}

	#home_banner, #home_banner li {
		/*max-height: 275px;
		height: 275px;
		margin-top: 75px;*/
	}
}

@media only screen and (max-width: 1024px) {
  /* line 104, scss/_header.scss */
  .headerTitleContainer .headline {
   /* margin: 7rem auto 0 auto;*/
   margin: 0 auto;
  }
  .headerTitleContainer .headline p{ font-size:19px; padding:1px 0; letter-spacing: 2px;}  
  .headerTitleContainer .headline h2{ letter-spacing: 3px;font-size: 22px;color: #F4D885; }

}
@media only screen and (min-width: 641px) and (max-width: 768px) {
  /* line 110, scss/_header.scss */
  .headerTitleContainer .headline {
    /*margin: 7rem auto 0 auto;*/
    margin: 0 auto;
  }
}

/*========================================================================================*/
/*                                Loading Overlay Styles                                */
/*========================================================================================*/

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
  z-index: 99999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: opacity 0.5s ease;
}

.loading-logo {
  width: 180px;
  height: auto;
  animation: logoPulse 1.5s ease-in-out infinite;
}

.loading-logo img {
  width: 100%;
  height: auto;
  display: block;
}

.loading-progress {
  margin-top: 30px;
  width: 200px;
  height: 4px;
  background: #e9ecef;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}

.loading-progress::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #4492cd 0%, #5ba3d9 100%);
  border-radius: 2px;
  transition: width 0.3s ease;
}

/* Logo 脈動動畫 */
@keyframes logoPulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.05);
    opacity: 0.9;
  }
}

/* 手機版響應式 */
@media screen and (max-width: 768px) {
  .loading-logo {
    width: 150px;
  }

  .loading-progress {
    width: 150px;
    margin-top: 20px;
  }
}

/*========================================================================================*/
/*                            JavaScript & Form Controls                                 */
/*========================================================================================*/

/* 搜尋框樣式 */
.google_search1 {
  cursor: pointer;
  color: #666;
  transition: color 0.3s ease;
}

.google_search1:hover {
  color: #4492cd;
}

/* 按鈕基本樣式 */
.btn, button, input[type="button"], input[type="submit"] {
  background: #4492cd;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 5px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.3s ease;
}

.btn:hover, button:hover, input[type="button"]:hover, input[type="submit"]:hover {
  background: #4492cd;
  transform: translateY(-1px);
}

/* 表單元素樣式 */
input[type="text"], input[type="email"], input[type="password"], textarea {
  border-left: 1px solid #60a5cf;
  border-right: 1px solid #60a5cf;
  padding: 0px 0px;
  height: 25px;
  box-sizing: border-box;
  /* border-radius: 4px; */
  font-size: 14px;
  transition: border-color 0.3s ease;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, textarea:focus {
  border-color: #90c31f;
  outline: none;
  box-shadow: 0 0 5px rgba(144, 195, 31, 0.3);
}

/*========================================================================================*/
/*                              Submenu JavaScript Controls                             */
/*========================================================================================*/

/* 子選單動畫 - 已由 jQuery slideToggle 控制，這裡不需要額外設定 */

/* 選單項目 hover 效果 */
.jq-submenu {
  position: relative;
  transition: all 0.3s ease;
}

.jq-submenu::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #4492cd, transparent);
  transition: width 0.3s ease;
  z-index: -1;
}

.jq-submenu:hover::before {
  width: 5px;
}

/*========================================================================================*/
/*                            Fancybox Override Styles                                  */
/*========================================================================================*/

/* 覆蓋 fancybox 關閉按鈕的樣式，使用網站藍色配色 */
.fancybox-container .fancybox-close-small,
.fancybox-slide--image .fancybox-close-small {
  background: #4492cd !important;
  color: white !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  padding: 8px !important;
  opacity: 0.9 !important;
  transition: all 0.3s ease !important;
  top: 5px !important;
  right: 5px !important;
}

.fancybox-container .fancybox-close-small:hover,
.fancybox-slide--image .fancybox-close-small:hover {
  background: #2c7ac7 !important;
  color: white !important;
  opacity: 1 !important;
  transform: scale(1.1) !important;
}

/*========================================================================================*/
/*                            Search Popup Styles                                       */
/*========================================================================================*/

/* 搜尋彈窗主容器 */
.search-popup-content {
  padding: 30px;
  background: white;
  border-radius: 10px;
  font-family: "Microsoft JhengHei", sans-serif;
}

.search-popup-content h3 {
  margin: 0 0 20px 0;
  color: #4492cd;
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  border-bottom: 2px solid #f0f7ff;
  padding-bottom: 15px;
}

/* 搜尋輸入區域 */
.search-input-group {
  display: flex;
  margin-bottom: 25px;
  gap: 10px;
}

.search-input-group input[type="text"] {
  flex: 1;
  padding: 12px 15px;
  border: 2px solid #e1e5e9;
  border-radius: 8px;
  font-size: 16px;
  height: 48px;
  transition: all 0.3s ease;
  outline: none;
}

.search-input-group input[type="text"]:focus {
  border-color: #4492cd;
  box-shadow: 0 0 0 3px rgba(68, 146, 205, 0.1);
}

.search-input-group .search-btn {
  padding: 12px 20px;
  background: #4492cd;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.3s ease;
  min-width: 100px;
}

.search-input-group .search-btn:hover {
  background: #2c7ac7;
  transform: translateY(-1px);
}

.search-input-group .search-btn i {
  margin-right: 5px;
}

/* 分類選擇區域 */
.search-categories {
  margin-bottom: 25px;
}

.search-categories h4 {
  margin: 0 0 15px 0;
  color: #333;
  font-size: 18px;
  font-weight: 500;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}

.category-item {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  /* border: 2px solid #e1e5e9; */
  /* border-radius: 8px; */
  cursor: pointer;
  transition: all 0.3s ease;
  background: white;
}

.category-item:hover {
  /*
  border-color: #4492cd;
  background: #f0f7ff;
  */
}

.category-item input[type="radio"] {
  margin-right: 8px;
  accent-color: #4492cd;
}

.category-item span {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.category-item input[type="radio"]:checked + span {
  color: #4492cd;
  font-weight: 600;
}

/* 按鈕區域 */
.search-actions {
  display: flex;
  gap: 15px;
  justify-content: center;
  margin-top: 20px;
}

.search-actions button {
  padding: 12px 25px;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 120px;
}

.btn-clear {
  background: #f8f9fa;
  color: #6c757d;
  border: 2px solid #e1e5e9;
}

.btn-clear:hover {
  background: #e9ecef;
  color: #495057;
}

.btn-search {
  background: #4492cd;
  color: white;
}

.btn-search:hover {
  background: #2c7ac7;
  transform: translateY(-1px);
}

/* 響應式設計 */
@media (max-width: 768px) {
  .search-popup-content {
    padding: 20px;
  }

  .category-grid {
    grid-template-columns: 1fr;
  }

  .search-actions {
    flex-direction: column;
  }

  .search-input-group {
    flex-direction: column;
  }
}

/*========================================================================================*/
/*                            Common Components                                          */
/*========================================================================================*/

/* 區塊標題統一樣式 */
.section-title {
  text-align: center;
  margin-bottom: 40px;
  position: relative;
}

.section-title .title-main {
  display: block;
  color: #383838;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 12px;
  position: relative;
  letter-spacing: 2px;
}

.section-title .title-main::after {
  content: '';
  display: block;
  width: 170px;
  height: 4px;
  background: #dcebf5;
  margin: 12px auto 15px auto;
  border-radius: 2px;
}

.section-title .title-sub {
  display: block;
  color: #a1c8e5;
  font-size: 18px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* 按鈕統一樣式 */
.btn-primary {
  background: #4492cd;
  color: white;
  padding: 12px 30px;
  border-radius: 25px;
  border: none;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
}

.btn-primary:hover {
  background: #2c7ac7;
  transform: translateY(-2px);
  color: white;
  text-decoration: none;
}

.btn-more {
  background: transparent;
  color: #4492cd;
  font-weight: bold;
  padding: 25px 130px 25px 40px;
  /* border: 2px solid #4492cd; */
  background: #dcebf5;
  border-radius: 50px;
  font-size: 18px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  position: relative;
}

.btn-more::after {
  content: '';
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-image: url('../../images/arrow-1.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s ease;
}

.btn-more:hover {
  background: #4492cd;
  color: white;
  text-decoration: none;
}

.btn-more:hover::after {
  filter: brightness(0) invert(1);
}

/* 反向按鈕樣式 - 箭頭在左邊，文字在右邊 */
.btn-more-back {
  background: #ddebf6;
  color: #4492cd;
  font-weight: bold;
  padding: 20px 40px 20px 130px;
  /* border: 2px solid #4492cd; */
  border-radius: 50px;
  text-decoration: none;
  display: inline-block;
  position: relative;
  transition: all 0.3s ease;
  font-size: 16px;
}

.btn-more-back::before {
  content: '';
  position: absolute;
  left: 25px;
  top: 25%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-image: url('../../images/arrow-1.png');
  transform: scaleX(-1);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s ease;
}

.btn-more-back:hover {
  background: #4492cd;
  color: white;
  text-decoration: none;
}

.btn-more-back:hover::before {
  filter: brightness(0) invert(1);
}

/* 普通按鈕樣式 - 沒有圖示，左右相同間距 */
.view-more-btn {
  background: #e0ecf8;
  color: #4492cd;
  font-weight: bold;
  padding: 15px 40px;
  /* border: 2px solid #4492cd; */
  border-radius: 50px;
  text-decoration: none;
  display: inline-block;
  position: relative;
  transition: all 0.3s ease;
  font-size: 16px;
  text-align: center;
  cursor: pointer;
}

.view-more-btn:hover {
  background: #4492cd;
  color: white;
  text-decoration: none;
}

/* 內容區塊統一間距 */
.content-section {
  padding: 60px 0;
  background: #ffffff;
}

.content-section:nth-child(even) {
  /* background: #f8fafb; */
}

/* 多格漫推薦區塊特殊設定 */
#doggyman-recommend {
  padding: 60px 0 30px 0;
  background: #f8fafb;
}

#doggyman-recommend .container {
  max-width: none;
  padding: 0;
}

#doggyman-recommend .wrap {
  max-width: none;
  margin: 0;
}

/* 文字對齊工具 */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

/*========================================================================================*/
/*                            Advertise Carousel Styles                                 */
/*========================================================================================*/

/* 廣告輪播區塊主容器 */
#advertise_carousel_section {
  margin-top: -1px;
  padding: 0px 0;
  /* background: linear-gradient(135deg, #f8fafb 0%, #f0f4f8 100%); */
  overflow: hidden;
}

/* 廣告輪播包裝器 - 完全100% 寬度顯示 */
.advertise-carousel-wrapper {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}

/* Owl Carousel 2.x 容器調整 */
#advertise-carousel.owl-carousel {
  margin: 0;
  overflow: hidden;
}

/* Owl Carousel 2.x 項目容器 - 無間距 */
#advertise-carousel .owl-item {
  padding: 0;
  margin: 0;
}

/* Owl Carousel 2.x 舞台容器 */
#advertise-carousel .owl-stage-outer {
  overflow: visible;  /* 允許左右圖片超出容器顯示 */
}

/* Owl Carousel 2.x 分頁點樣式調整 */
#advertise-carousel .owl-dots {
  text-align: center;
  margin-top: 20px;
}

#advertise-carousel .owl-dot {
  display: inline-block;
  margin: 0 5px;
}

#advertise-carousel .owl-dot span {
  display: block;
  width: 12px;
  height: 12px;
  background: #ddd;
  border-radius: 50%;
  transition: all 0.3s ease;
}

#advertise-carousel .owl-dot.active span,
#advertise-carousel .owl-dot:hover span {
  background: #747576;
}

/* 廣告項目樣式 */
.advertise-item {
  position: relative;
  margin: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  transition: all 0.4s ease;
  background: white;
}

.advertise-item:hover {
  transform: none;
  box-shadow: none;
}

/* 廣告圖片 */
.advertise-item img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.4s ease;
}

.advertise-item:hover img {
  transform: scale(1.05);
}

/* 廣告覆蓋層 */
.advertise-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  color: white;
  padding: 30px 20px 20px;
  transform: translateY(100%);
  transition: transform 0.4s ease;
}

.advertise-item:hover .advertise-overlay {
  transform: translateY(0);
}

.advertise-overlay h3 {
  margin: 0 0 8px 0;
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
}

.advertise-overlay p {
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  color: #e8e8e8;
}

/* 移除 Owl Carousel 導航按鈕樣式（改為僅使用分頁點） */

/* Owl Carousel 分頁點樣式 */
.owl-controls .owl-pagination {
  text-align: center;
  margin-top: 25px;
}

.owl-controls .owl-pagination .owl-page {
  display: inline-block;
  margin: 0 5px;
}

.owl-controls .owl-pagination .owl-page span {
  display: block;
  width: 12px;
  height: 12px;
  background: #ddd;
  border-radius: 50%;
  transition: all 0.3s ease;
  cursor: pointer;
}

.owl-controls .owl-pagination .owl-page.active span,
.owl-controls .owl-pagination .owl-page span:hover {
  background: #747576;
  /* transform: scale(1.3); */
}

/* 移除左右遮罩效果，改為100%寬度顯示 */

/* 響應式設計 - Owl 2.x（stagePadding 已在 JS 中設定） */
@media (max-width: 1200px) {
  #advertise-carousel.owl-carousel {
    margin: 0;
  }
}

@media (max-width: 979px) {
  #advertise_carousel_section {
    padding: 30px 0;
  }

  #advertise-carousel.owl-carousel {
    margin: 0;
  }

  .advertise-item {
    margin: 0;
  }
}

@media (max-width: 768px) {
  #advertise_carousel_section {
    padding: 0px 0;
  }

  #advertise-carousel.owl-carousel {
    margin: 0;
  }

  .advertise-item {
    margin: 0;
  }
}

@media (max-width: 479px) {
  .advertise-carousel-wrapper {
    padding: 0;
  }

  .advertise-overlay h3 {
    font-size: 16px;
  }

  .advertise-overlay p {
    font-size: 13px;
  }
}


/* ----------------------------------------------------------------------------------------------------------------*/
/* ------------------------------>>> Responsive <<<----------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 768px) {
  #header .nav { display: none; }

  #mobileMenu { display: block; }

  #header ul { display: none; }

  #home_banner li {
    /* height: 250px; */
  }

  /* 手機版 BxSlider 調整 */
  .bx-wrapper .bx-controls-direction a {
    width: 30px !important;
    height: 30px !important;
    margin-top: -10px !important;
  }

  .bx-wrapper .bx-prev {
    left: 20px !important;
    background-size: 30px 30px !important;
  }

  .bx-wrapper .bx-next {
    right: 20px !important;
    background-size: 30px 30px !important;
  }

  .bx-wrapper .bx-prev:before,
  .bx-wrapper .bx-next:before {
    font-size: 12px !important;
  }

  .bx-wrapper .bx-pager.bx-default-pager a {
    width: 12px;
    height: 12px;
    margin: 0 3px;
  }
}

@media screen and (max-width: 480px) {
  #header .wrap {
    padding: 0 15px;
    height: 60px;
  }

  #header .wrap .logo {
    /* max-height: 40px; */
  }

  #home_banner li {
    /* height: 200px; */
  }

  /* 超小螢幕 BxSlider 調整 */
  .bx-wrapper .bx-controls-direction a {
    /* width: 18px !important; */
    /* height: 18px !important; */
    margin-top: -9px !important;
  }

  .bx-wrapper .bx-prev {
    /* background-size: 18px 18px !important; */
  }

  .bx-wrapper .bx-next {
    /* background-size: 18px 18px !important; */
  }

  .bx-wrapper .bx-prev:before,
  .bx-wrapper .bx-next:before {
    font-size: 10px !important;
  }

  .bx-wrapper .bx-pager {
    display: none !important;
  }
}

/*========================================================================================*/
/*                            Featured Products Section                                  */
/*========================================================================================*/

/* 精選商品網格 */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-bottom: 60px;
  padding: 0 10px;
}

/* 商品卡片 - 參考設計圖片樣式 */
.product-card {
  background: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.12), 0 2px 5px rgba(0, 0, 0, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.05);
  position: relative;
}

.product-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  z-index: 1;
}

.product-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15), 0 4px 6px rgba(0, 0, 0, 0.1);
}

.product-card:hover::before {
  opacity: 1;
}

/* 商品圖片 - 添加padding效果 */
.product-image {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  padding: 20px;
  background: #ffffff;
  border-radius: 8px 8px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

/* 為有連結的圖片容器設定樣式 */
.product-image a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  position: relative;
}

/* 圖片本身的樣式 - 確保在有無連結的情況下都能正確居中 */
.product-image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
  position: relative;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.product-card:hover .product-image img {
  /* transform: scale(1.02); */
}

/* 商品資訊 - 全置中對齊樣式 */
.product-info {
  padding: 20px 20px 25px 20px;
  background: white;
  position: relative;
  z-index: 2;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.product-name {
  font-size: 18px;
  font-weight: normal;
  color: #383838;
  margin: 0 0 10px 0;
  line-height: 1.4;
  /* height: 42px; */
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-align: center;
}

/* 價格容器 */
.price-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
}

/* 現價樣式 */
.product-price {
  font-size: 22px;
  font-weight: 700;
  color: #4492cd;
  margin: 0 0 10px 0;
  text-align: center;
  position: relative;
}

/* 原價樣式 - 加刪除線 */
.product-original-price {
  font-size: 16px;
  font-weight: 500;
  color: #95a5a6;
  margin: 0;
  text-align: center;
  text-decoration: line-through;
  text-decoration-color: #bdc3c7;
  text-decoration-thickness: 2px;
}

/*========================================================================================*/
/*                            DoggyMan Recommend Section                                */
/*========================================================================================*/

/* 推薦區塊網格 */
.recommend-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

/* 推薦項目 */
.recommend-item {
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 40px;
}

.recommend-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* 推薦圖片容器 */
.recommend-image {
  position: relative;
  width: 100%;
  /* height: 300px; */
  overflow: hidden;
  border-radius: 0;
}

/* 圖片底部邊框線效果 */
.recommend-image::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  /* background: linear-gradient(90deg, #4492cd, #6ba8d9); */
  box-shadow: 0 2px 8px rgba(68, 146, 205, 0.4);
}

.recommend-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.recommend-item:hover .recommend-image img {
  transform: scale(1.05);
}

/* 按鈕容器 - 壓在邊框線上 */
.recommend-btn-wrapper {
  position: absolute;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}

/* 推薦按鈕 */
.recommend-btn {
  background: white;
  color: #333;
  /* border: 2px solid #4492cd; */
  padding: 18px 120px 18px 45px;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  position: relative;
  white-space: nowrap;
}

.recommend-btn::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url('../../images/recommand-icon.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s ease;
}

.recommend-btn::after {
  content: '';
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background-image: url('../../images/arrow-2.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s ease;
}

.recommend-btn:hover {
  background: #4492cd;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(68, 146, 205, 0.4);
  border-color: #4492cd;
}

.recommend-btn:hover::before {
  filter: brightness(0) invert(1);
}

.recommend-btn:hover::after {
  filter: brightness(0) invert(1);
}

/*========================================================================================*/
/*                            Latest News Section                                       */
/*========================================================================================*/

#latest-news{ background: #f8fafb; }

/* 最新消息列表 */
.news-list {
  max-width: 1000px;
  margin: 0 auto 40px;
  padding: 0 20px;
}

/* 新聞項目 */
.news-item {
  display: flex;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid #eee;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
}

.news-item:last-child {
  border-bottom: none;
}

.news-item:hover {
  background: #f8fafb;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 -15px;
  border-radius: 8px;
  text-decoration: none;
}

/* NEW! 標示 */
.news-new {
  display: inline-block;
  /* background: #ff4444; */
  color: #d0b879;
  font-size: 10px;
  font-weight: bold;
  padding: 3px 6px;
  border-radius: 3px;
  margin-right: 15px;
  flex-shrink: 0;
  animation: pulse 2s infinite;
  text-transform: uppercase;
  width: 32px;
  text-align: center;
}

/* 創造一致的對齊 - 為所有標籤預留空間 */
.news-tag {
  margin-left: 48px;
}

/* 有 NEW! 標示時，標籤不需要額外 margin */
.news-new + .news-tag {
  margin-left: 0;
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}

/* 新聞標籤 */
.news-tag {
  display: inline-block;
  padding: 10px 25px;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 500;
  color: white;
  min-width: 50px;
  text-align: center;
  margin-right: 20px;
  flex-shrink: 0;
}

.news-tag-orange {
  background: linear-gradient(135deg, #ff7043, #ff8a65);
}

.news-tag-blue {
  background: linear-gradient(135deg, #4492cd, #6ba8d9);
}

.news-tag-green {
  background: linear-gradient(135deg, #66bb6a, #81c784);
}

.news-tag-yellow {
  background: linear-gradient(135deg, #ffca28, #ffd54f);
}

/* 新聞日期 */
.news-date {
  font-size: 14px;
  color: #999;
  margin-right: 20px;
  flex-shrink: 0;
  min-width: 80px;
}

/* 新聞標題 */
.news-title {
  color: #4492cd;
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  line-height: 1.5;
  flex: 1;
  transition: color 0.3s ease;
}

.news-item:hover .news-title {
  color: #4492cd;
}

.news-item:visited .news-title {
  /*color: #333;*/
}

.news-item:visited:hover .news-title {
  color: #4492cd;
}

@media screen and (max-width: 480px) {
  .news-list {
    padding: 0 0px;
  }
}

/* ================================================================================================================ */
/* ---------------------------------->>> 分頁區域 Pagination Styles <<<--------------------------------------- */
/* ================================================================================================================ */

.pagination-navigation {
  display: flex;
  justify-content: center;
  margin: 40px 20px;
}

.pagination-container {
  display: flex;
  gap: 10px;
  align-items: center;
}

.pagination-link {
  padding: 12px 18px;
  background: #ffffff;
  color: #666;
  text-decoration: none;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  transition: all 0.3s ease;
  min-width: 45px;
  text-align: center;
}

.pagination-link:hover {
  background: #68adb7;
  color: #ffffff;
  border-color: #68adb7;
  transform: translateY(-2px);
}

.pagination-link.active {
  background: #68adb7;
  color: #ffffff;
  border-color: #68adb7;
}

/*========================================================================================*/
/*                            Product Search Section                                    */
/*========================================================================================*/

/*=== 動態顏色系統 - 供工程師套程式使用 ===*/
/*
 * 使用方法：
 * 1. JavaScript: document.getElementById('product-search').setAttribute('data-theme', '主題名稱');
 * 2. 或直接在HTML中設定: <section id="product-search" data-theme="cat">
 *
 * 可用主題：
 * - dog    (藍色系) #4492cd / #a1c8e5
 * - cat    (橘色系) #ff7043 / #ffb3a0
 * - small  (綠色系) #66bb6a / #b3d9b5
 * - bird   (黃色系) #ffca28 / #ffe082
 * - fish   (紫色系) #ab47bc / #d1a3d6
 *
 * 影響區塊：
 * - .search-content-wrapper 的邊框顏色
 * - .column-title 的文字顏色
 * - .category-list 的背景顏色（分隔線效果）
 */

#product-search {
  --theme-color: #4492cd; /* 預設顏色：藍色 */
  --theme-bg: #a1c8e5;    /* 預設背景色 */
  padding: 40px 10px 80px 10px;
}

/* 各動物主題顏色定義 */
#product-search[data-theme="dog"] {
  --theme-color: #4492cd;
  --theme-bg: #a1c8e5;
}

#product-search[data-theme="cat"] {
  --theme-color: #ff7043;
  --theme-bg: #ffb3a0;
}

#product-search[data-theme="small"] {
  --theme-color: #66bb6a;
  --theme-bg: #b3d9b5;
}

#product-search[data-theme="bird"] {
  --theme-color: #ffca28;
  --theme-bg: #ffe082;
}

#product-search[data-theme="fish"] {
  --theme-color: #ab47bc;
  --theme-bg: #d1a3d6;
}

/*
 * 範例JavaScript實作（建議放在 jquery_action.js）：
 *
 * // 綁定標千點擊事件
 * $('.search-tab').on('click', function() {
 *     var theme = $(this).data('category'); // 取得 data-category 值
 *     $('#product-search').attr('data-theme', theme);
 *
 *     // 移除其他標千的 active
 *     $('.search-tab').removeClass('active');
 *     // 添加當前標千的 active
 *     $(this).addClass('active');
 * });
 */

/* 標籤導航 */
.search-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  /* margin-bottom: 30px; */
  justify-content: center;
}

/* 內容框架 - 使用動態顏色變數 */
.search-content-wrapper {
  border: 1px solid var(--theme-color);
  /* border-radius: 0 0 12px 12px; */
  background: white;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: border-color 0.3s ease;
}

.search-tab {
  border: 1px solid;
  border-bottom: none;
  border-radius: 12px 12px 0 0;
  padding: 15px 30px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 16px;
  font-weight: 500;
  background: transparent;
  flex: 1;
  min-width: 100px;
  position: relative;
  z-index: 2;
}

/* 各標籤的專屬顏色 - 只套用在文字和border上 */
.search-tab-1 {
  color: #4492cd;
  border-color: #4492cd;
}
.search-tab-2 {
  color: #ff7043;
  border-color: #ff7043;
}
.search-tab-3 {
  color: #66bb6a;
  border-color: #66bb6a;
}
.search-tab-4 {
  color: #ffca28;
  border-color: #ffca28;
}
.search-tab-5 {
  color: #ab47bc;
  border-color: #ab47bc;
}

/* hover 效果 - 淺色背景 */
.search-tab-1:hover {
  background: rgba(68, 146, 205, 0.1);
}
.search-tab-2:hover {
  background: rgba(255, 112, 67, 0.1);
}
.search-tab-3:hover {
  background: rgba(102, 187, 106, 0.1);
}
.search-tab-4:hover {
  background: rgba(255, 202, 40, 0.1);
}
.search-tab-5:hover {
  background: rgba(171, 71, 188, 0.1);
}

/* active 狀態 - 與 hover 相同的淺色背景 */
.search-tab.active,
.search-tab-1.active {
  background: rgba(68, 146, 205, 0.1);
}
.search-tab-2.active {
  background: rgba(255, 112, 67, 0.1);
}
.search-tab-3.active {
  background: rgba(102, 187, 106, 0.1);
}
.search-tab-4.active {
  background: rgba(255, 202, 40, 0.1);
}
.search-tab-5.active {
  background: rgba(171, 71, 188, 0.1);
}

/* 橫幅圖片 */
.search-banner {
  /* margin-bottom: 40px; */
  border-radius: 12px;
  overflow: hidden;
}

.search-banner img {
  width: 100%;
  /* height: 300px; */
  /* object-fit: cover; */
  display: block;
  padding: 30px;
}

/* 兩欄內容 */
.search-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}

.search-column {
  background: #fff;
  /* border-radius: 12px; */
  padding: 0 30px 30px 30px;
  /* box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); */
}

.column-title {
  color: var(--theme-color);
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 25px;
  text-align: center;
  padding-bottom: 15px;
  /* border-bottom: 2px solid var(--theme-color); */
  transition: color 0.3s ease;
}

/* 分類列表 - 不重疊邊框設計，使用動態顏色變數 */
.category-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--theme-bg);
  /*border: 1px solid #e1e5e9;*/
  overflow: hidden;
  padding: 1px;
  transition: background-color 0.3s ease, max-height 0.4s ease, opacity 0.3s ease;
}

/* 桌面版收合/展開效果 */
.category-list.collapsed {
  max-height: 0;
  opacity: 0;
  padding: 0;
  margin-bottom: 0;
}

.category-list.expanded {
  max-height: 800px;
  opacity: 1;
}

.category-item {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  transition: all 0.3s ease;
  cursor: pointer;
  background: white;
  position: relative;
  overflow: hidden;
}

/* 光芒掃過效果 - 統一淺灰色 */
.category-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(200, 200, 200, 0.3), transparent);
  transition: left 0.6s ease;
  pointer-events: none;
}

.category-item:hover {
  background: #f8fafb;
  box-shadow: 0 4px 12px rgba(68, 146, 205, 0.15);
}

.category-item:hover::before {
  left: 100%;
}

/* 圓形圖片 */
.category-icon {
  margin-right: 15px;
  flex-shrink: 0;
}

.category-icon img {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--theme-bg);
  transition: all 0.3s ease;
}

.category-item:hover .category-icon img {
  border-color: var(--theme-color);
}

/* 分類資訊 */
.category-info h4 {
  color: #333;
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  transition: color 0.3s ease;
}

.category-item:hover .category-info h4 {
  /*color: var(--theme-color);*/
}

/*========================================================================================*/
/*                            Products & Recommend Responsive                           */
/*========================================================================================*/

/* 平板版 */
@media (max-width: 1024px) {
  .products-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 0 5px;
  }

  .product-image {
    padding: 12px;
  }

  .product-info {
    padding: 18px 18px 22px 18px;
  }

  .product-price {
    font-size: 20px;
  }

  .product-original-price {
    font-size: 14px;
  }
}

@media (max-width: 768px) {
  .content-section {
    padding: 40px 20px;
  }

  #doggyman-recommend {
    padding: 40px 0 70px 0;
  }

  .section-title .title-main {
    font-size: 24px;
  }

  .section-title .title-main::after {
    width: 100px;
  }

  .section-title .title-sub {
    font-size: 14px;
  }

  /* btn-more 按鈕手機版樣式 */
  .btn-more {
    font-size: 15px;
    padding: 18px 90px 18px 28px;
    border-radius: 40px;
  }

  .btn-more::after {
    width: 24px;
    height: 24px;
    right: 20px;
  }

  /* btn-more-back 按鈕手機版樣式 */
  .btn-more-back {
    font-size: 15px;
    padding: 18px 28px 18px 90px;
    border-radius: 40px;
  }

  .btn-more-back::before {
    width: 24px;
    height: 24px;
    left: 20px;
  }

  /* btn-more-2 按鈕手機版樣式 */
  .btn-more-2 {
    font-size: 15px;
    padding: 18px 30px;
    border-radius: 40px;
  }

  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 40px;
    padding: 0 10px;
  }

  .product-image {
    padding: 10px;
  }
  
  .product-image img {
    max-width: calc(100% - 2px) !important;
    max-height: calc(100% - 5px) !important;
  }

  .product-info {
    padding: 15px 15px 20px 15px;
  }

  .product-name {
    font-size: 14px;
    /* height: 38px; */
  }

  .product-price {
    font-size: 18px;
  }

  .product-original-price {
    font-size: 14px;
  }

  .recommend-grid {
    gap: 0;
  }

  .recommend-image {
    height: 220px;
  }

  .recommend-btn-wrapper {
    bottom: -18px;
  }

  .recommend-btn {
    padding: 10px 35px 10px 35px;
    font-size: 14px;
  }

  .recommend-btn::before {
    width: 14px;
    height: 14px;
    left: 12px;
  }

  .recommend-btn::after {
    font-size: 14px;
    right: 12px;
  }

  .news-item {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 15px 0;
  }

  /* 第一行排序：分類標籤在最前面 */
  .news-item .news-tag {
    order: 1;
    margin-right: 8px;
    margin-bottom: 8px;
    margin-left: 0;
  }

  .news-item .news-new {
    order: 2;
    margin-right: 0;
    margin-bottom: 8px;
    font-size: 12px;
    padding: 10px 5px;
  }

  /* 強制換行點 */
  .news-item::after {
    content: '';
    order: 3;
    width: 100%;
    height: 0;
    margin-bottom: 8px;
  }

  /* 第二行排序：日期 + 標題 */
  .news-item .news-date {
    order: 4;
    margin-right: 12px;
    margin-bottom: 0px;
    padding: 5px 0 5px 0;
    flex-shrink: 0;
    font-size: 13px;
    color: #666;
  }

  .news-item .news-title {
    order: 5;
    margin: 0px 0 0px 0;
    flex: 1;
    font-size: 15px;
    line-height: 1.4;
  }

  .search-tabs {
    justify-content: flex-start;
    gap: 5px;
  }

  .search-tab {
    flex: none;
    width: calc((100% - 10px) / 3);
  }

  .search-banner img {
    /* height: 200px; */
    padding: 20px;
  }

  .search-column {
    padding: 20px;
  }

  .column-title {
    font-size: 20px;
  }

  .category-icon img {
    width: 40px;
    height: 40px;
  }

  .category-info h4 {
    font-size: 14px;
  }
}

/* 手機版 */
@media (max-width: 768px) {
  .content-section {
    padding: 30px 10px;
  }

  #doggyman-recommend {
    padding: 30px 0 0px 0;
  }

  .section-title .title-main {
    font-size: 22px;
    margin-bottom: 0px !important;
  }

  .section-title .title-main::after {
    width: 130px;
    height: 2px;
    margin: 10px auto 10px auto;
  }

  .section-title .title-sub {
    font-size: 12px;
  }

  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 30px;
    padding: 0 0px;
  }

  .product-image {
    padding: 10px;
  }
  
  .product-image img {
    max-width: calc(100% - 2px) !important;
    max-height: calc(100% - 5px) !important;
  }

  .product-info {
    padding: 18px 18px 22px 18px;
  }

  .product-name {
    font-size: 16px;
    /* height: 40px; */
  }

  .product-price {
    font-size: 14px;
    margin: 0 0 7px 0;
  }

  .product-original-price {
    font-size: 14px;
  }

  .recommend-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .recommend-image {
    height: 200px;
  }

  .recommend-btn-wrapper {
    bottom: -18px;
  }

  .recommend-btn {
    padding: 10px 60px 10px 30px;
    font-size: 14px;
  }

  .recommend-btn::before {
    width: 12px;
    height: 12px;
    left: 10px;
  }

  .recommend-btn::after {
    font-size: 12px;
    right: 10px;
    background-size: 7px 11px !important;
  }

  .news-item {
    /* flex-direction: column; */
    align-items: flex-start;
    padding: 10px 0 10px 0;
  }

  .news-new {
    margin-bottom: 5px !important;
    margin-right: 0;
    font-size: 8px;
  }

  .news-tag {
    margin-bottom: 6px;
    margin-right: 0;
    margin-left: 0;
    /* font-size: 11px; */
    /* padding: 4px 10px; */
  }

  .news-date {
    margin-bottom: 6px;
    margin-right: 0;
    min-width: auto;
    font-size: 12px;
  }

  .news-title {
    font-size: 14px;
    line-height: 1.4;
  }

  .search-tab {
    padding: 8px 20px;
    font-size: 14px;
    border-radius: 8px 8px 0 0;
  }

  .search-banner img {
    /* height: 150px; */
    padding: 10px;
  }

  .search-content {
    grid-template-columns: 1fr;
    gap: 0px;
  }

  .search-column {
    padding: 10px 15px 15px 15px;
  }

  /* 手機版展開/收合功能 */
  .column-title-wrapper {
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
    cursor: pointer;
    padding: 0px 0;
    border-bottom: 1px solid var(--theme-color);
    margin-bottom: 10px;
  }

  .column-title {
    font-size: 18px;
    margin-bottom: 0;
    margin-top: 0;
    text-align: left;
  }

  .toggle-btn {
    font-size: 20px;
    font-weight: bold;
    color: var(--theme-color);
    transition: transform 0.3s ease;
    min-width: 20px;
    text-align: center;
  }

  .category-list {
    grid-template-columns: 1fr;
    overflow: hidden;
    transition: max-height 0.4s ease, opacity 0.3s ease;
  }

  .category-list.collapsed {
    max-height: 0;
    opacity: 0;
    margin-bottom: 0;
  }

  .category-list.expanded {
    max-height: 500px;
    opacity: 1;
  }

  .category-item {
    padding: 8px 10px;
    border-right: none !important;
  }

  .category-icon {
    margin-right: 12px;
  }

  .category-icon img {
    width: 35px;
    height: 35px;
  }

  .category-info h4 {
    font-size: 13px;
  }
}

/* 只在480px以下顯示toggle-btn */
@media (max-width: 768px) {
  .toggle-btn {
    display: block;
  }
}

@media (min-width: 769px) {
  .toggle-btn {
    display: none;
  }
}

/* ===== DoggyMan 溫度的傳遞 (About) 區塊樣式 ===== */
#about-section {
  background: linear-gradient(135deg, #f0f7ff 0%, #e3f2fd 100%);
  position: relative;
  overflow: hidden;
}

#about-section::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="10" cy="10" r="1" fill="%23ffffff" opacity="0.1"/><circle cx="90" cy="20" r="1.5" fill="%23ffffff" opacity="0.1"/><circle cx="30" cy="90" r="1" fill="%23ffffff" opacity="0.1"/><circle cx="70" cy="80" r="1.2" fill="%23ffffff" opacity="0.1"/></svg>');
  pointer-events: none;
}

.about-image {
  margin: 40px 0;
  text-align: center;
  /* border-radius: 15px; */
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.about-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}

.about-image:hover img {
  transform: scale(1.02);
}

.about-tags {
  display: flex;
  justify-content: center;
  gap: 25px;
  margin: 40px 0;
  flex-wrap: wrap;
}

.about-tag {
  background: linear-gradient(135deg, #81b6dd, #81b6dd);
  color: white;
  padding: 13px 70px;
  border-radius: 25px;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 1px;
  /* box-shadow: 0 4px 15px rgba(68, 146, 205, 0.3); */
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.about-tag::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: left 0.5s ease;
}

.about-tag:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(68, 146, 205, 0.4);
}

.about-tag:hover::before {
  left: 100%;
}

.about-content {
  /* background: rgba(255, 255, 255, 0.9); */
  padding: 35px;
  border-radius: 15px;
  margin-top: 40px;
  /* box-shadow: 0 6px 25px rgba(0, 0, 0, 0.08); */
  text-align: center;
  line-height: 2.6;
  font-size: 14px;
  color: #4492cd;
  backdrop-filter: blur(10px);
  /* border: 1px solid rgba(255, 255, 255, 0.5); */
}

/* ===== 多格漫專欄 (Blog) 區塊樣式 ===== */
#blog-section {
  /* background: #fafafa; */
  position: relative;
}


.blog-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-bottom: 50px;
  padding: 0 10px;
}

.blog-card {
  background: white;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 15px rgba(0, 0, 0, 0.15);
}

.blog-image {
  width: 100%;
  /* height: 450px; */
  /* overflow: hidden; */
  position: relative;
  padding: 20px;
}

.blog-image img {
  width: calc(100% - 0px);
  /* height: calc(100% - 0px); */
  /* object-fit: cover; */
  transition: transform 0.3s ease;
  border-radius: 10px;
}

/* 移除圖片放大效果，避免padding變小的問題 */
/* .blog-card:hover .blog-image img {
  transform: scale(1.05);
} */

.blog-content {
  padding: 0px 20px 10px 20px;
  text-align: left;
}

.blog-content a {
  font-size: 16px;
  font-weight: 600;
  color: #2c3e50;
  margin: 0;
  line-height: 1.4;
  transition: color 0.3s ease;
}

.blog-date {
  color: #4492cd;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.blog-title {
  font-size: 18px;
  font-weight: 600;
  color: #2c3e50;
  margin-bottom: 12px;
  line-height: 1.4;
  transition: color 0.3s ease;
}

.blog-card:hover .blog-title {
  color: #4492cd;
}

.blog-excerpt {
  color: #666;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 15px;
}

.blog-tag {
  display: inline-block;
  background: #f0f7ff;
  color: #4492cd;
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
}

.blog-more-btn {
  text-align: center;
  margin-top: 20px;
}

/* 更多文章按鈕 - 改為規格圖樣式，與其他查看更多按鈕一致 */
.more-articles-btn {
  background: transparent;
  color: #4492cd;
  font-weight: bold;
  padding: 25px 130px 25px 40px;
  background: #dcebf5;
  border-radius: 50px;
  font-size: 18px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  position: relative;
  border: none;
}

.more-articles-btn::after {
  content: '';
  position: absolute;
  right: 25px;
  top: 50%;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-image: url('../../images/arrow-1.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s ease;
}

.more-articles-btn:hover {
  background: #4492cd;
  color: white;
  text-decoration: none;
}

.more-articles-btn:hover::after {
  filter: brightness(0) invert(1);
}

/* ===== Footer 區塊樣式 ===== */
#footer {
  background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
  color: white;
  padding: 60px 0 0 0;
  position: relative;
}

/* Blog和Footer專用wrap樣式 - 1000px寬度 */
#blog-section .wrap,
#main-footer .wrap {
  max-width: 1400px;
}

#footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #4492cd, #66bb6a, #ff7043);
}

.footer-partners {
  text-align: center;
  /* padding-bottom: 50px; */
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.partners-logos {
  display: flex;
  justify-content: center;
  gap: 40px;
  /* flex-wrap: wrap; */
}

.partner-logo {
  /* width: 120px; */
  /* height: 80px; */
  background: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  padding: 15px;
  margin: 15px 0 20px 0;
}

.partner-logo:hover {
  transform: translateY(-5px);
  background: white;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.partner-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}




/* ----------------------------------------------------------------------------------------------------------------*/
/* ---------------------------------->>> 會員專區 <<<----------------------------------------------------------------*/
/* ----------------------------------------------------------------------------------------------------------------*/

/*會員選單*/
.menu-member{
  background: #f7f7f7;
  max-width: 270px;   
font-size:16px;
}
.menu-member .caption{
font-size: 1rem;
color:#fcfcfc;
  background: #3a3a3a;
  padding: 18px 20px;
}
.menu-member i{
margin-right: 5px;
}
.menu-member .info{
  display: flex;
  align-items:center;
  /* justify-content: center; */
}
.menu-member a{ color:#000000 !important; }
.menu-member a:hover{ color:#ca4b4b !important; }
.menu-member ul{
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu-member ul li{
position: relative;
  display: flex;
  align-items: center;
  font-size: 0.95rem;
  font-weight: bold;    
}
.menu-member ul li:before{   
position: absolute;
  left: 5%;
  padding: 4px 4px 4px 11px;   
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  color: #ca4b4b;
}
.menu-member ul li:after{   
position: absolute;
  left: 5%;
  right: 5%;
  content: " ";
  border-bottom: 1px solid #CCCCCC;
  color: #ca4b4b;
  bottom: 0;   
}
.menu-member ul li:last-child:after{   
  border-bottom: none;
}
.menu-member ul li a{
display: block;
  padding: 20px calc(5% + 30px);
  height: 100%;
width: 100%;
margin: 0 auto;
}
.menu-member ul li a:hover{
background: #dcdcdc;
}


/*會員編輯表單*/
.member-form,.enrolment-form{
  /* display:flex; */
  flex-direction:column;
  font-size: 0.95rem;
  /* font-weight: bold; */
  color: #000000;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
  margin-bottom: 40px;
  border-radius: 10px;
  }
.member-form .left{ flex:1; padding:0 10px 0 0; }
.member-form .right{ flex:1; padding:0 0 0 10px; }

.member-list,.form1{width:100%;overflow:hidden;font-size: 15px;/* margin: 4px 10px; */display: inline-flex;align-items: center;}
.member-list .form_left{ float:left; width:50%; padding-right:20px; box-sizing:border-box; }
.member-list .form_right{ float:right; width:50%; padding-left:20px; box-sizing:border-box; }

.member-list .req{ color:#F00; padding:0 3px; }

.member-list input[type='text'],.member-list input[type='password'],.form1 input[type='text']{width: 100%;border:0;padding: 18px 8px;box-sizing:border-box;letter-spacing:1px;border: 1px solid #d6d6d6;font-size:0.95rem;font-weight:bold;outline:0;}
.member-list select,.form1 select{width:72%;border:0;padding:8px 8px;box-sizing:border-box;letter-spacing:1px;border: 1px solid #d6d6d6;font-size:0.95rem;font-weight:bold; outline:0; }
.member-list textarea,.form1 textarea{width: 100%;border:0;height:100px;padding:8px 8px;box-sizing:border-box;letter-spacing:1px;border: 1px solid #d6d6d6;font-size:0.95rem;font-weight: normal;margin:8px 0;outline:0;}

/* textarea placeholder 樣式 */
.member-list textarea::placeholder,
.form1 textarea::placeholder {
    color: #999;
    font-size: 14px;
    font-weight: normal;
    opacity: 1;
}

.input{display: inline-flex; width:100%;}
.member-form .member-list.required span:before,.enrolment-form .form1 .row.required .title span:before{
content: "*";
color: #F00; 
font-weight: bold;  
}
.member-form span{
width:120px; 
display: inline-flex;  
font-size: 0.95rem;
  font-weight: bold;  
  color: #000000;
  border-right: 1px solid #d6d6d6;
  margin-right: 20px;
  align-items: center;
} 
.member-form span.red{
  color:red;
}
span.red{ color:red;}
.member-list div{min-height: 30px;}
.cart-complete .member-list{margin:5px;}


.w-1\/2{width:50% !important;}
.w-full{width:100% !important;}
.w-200{width:200px !important;}
.w-100{width:100px !important;}
.mw-30{min-width:30px !important;}
.max-w-unset{max-width: unset !important;}



@media screen and (max-width: 1024px) {
.menu-member{ max-width:100%; margin-bottom:30px;}
.menu-member ul li{ padding:10px 0px 5px 0; }
}
@media screen and (max-width: 480px) {
.member-form{ display:block; }
.member-form .left{ padding:0; }
.member-form .right{ padding:0; }	

.member-list input[type='text'],.member-list input[type='password'],.form1 input[type='text']{width:100%;}
.member-list select,.form1 select{width:100%; }
.member-list textarea,.form1 textarea{width:100%; }


}
@media screen and (max-width: 600px) {
.member-list:not(.nowrap){align-items: flex-start; flex-direction:column;}
.member-list span{border:none;margin-bottom: 8px;}

.member-list input[type='text'],.member-list input[type='password']{width:95%}
.member-list select{width:95%}
.member-list textarea{width:95%}

.w-200{width:95% !important;}	
#div-area{width:100%;}
}

.enrolment-form .row{margin: 10px 0px;width:100%;max-width: 500px;}
.enrolment-form .title{margin-bottom: 10px;}
.enrolment-form .text{font-size: 14px;line-height: 1.8;color: #000000; font-weight: normal;}


/* ----------------------------------------------------------------------------------------------------------------*/

/* ------------------------------>>> checkbox/radio template <<<------------------------------------------------------*/

/* ----------------------------------------------------------------------------------------------------------------*/





/* The container */

.container-item {position: relative;color: #474747;letter-spacing: 2px;padding-left: 35px;padding-right: 10px;margin-bottom: 10px;margin-top: 10px;line-height: 1.5;cursor: pointer;font-size: 14px;font-weight: normal;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}


.container-item.tips{ color:#8c1b01;}

.container-item.normal{ color:#191919;}



/* Hide the browser's default checkbox */

.container-item input {

  position: absolute;

  opacity: 0;

  cursor: pointer;

}



/* Create a custom checkbox */

.checkmark {position: absolute;top: 0px;left: 0px;height: 22px;width: 22px;background-color: #fff;border: 1px solid #4492cd;border-radius: 5px;}



/* On mouse-over, add a grey background color 

.container-item:hover input ~ .checkmark {

  background-color: #ccc;

}*/



.container-item:hover input:not(:disabled) ~ .checkmark {

  /* 你的 hover 效果，例如背景變色 */

  background-color: #ccc;

}

input:disabled ~ .checkmark {

  background-color: #e0e0e0;  /* 灰色底 */

  cursor: not-allowed;        /* 禁止滑鼠樣式 */

  opacity: 0.6;               /* 透明度降低看起來更淡 */

}



/* When the checkbox is checked, add a red background and a checkmark */

.container-item input:checked ~ .checkmark {background-color: #ffffff; /* 背景變紅色 */border-color: #67adb5; /* 邊框變紅色 */}



/* Create the checkmark/indicator (hidden when not checked) */

.checkmark:after {content: "✔"; /* 顯示打勾符號 */position: absolute;display: none;color: #67adb5; /* 打勾符號顏色 */font-size: 15px;top: 50%;left: 55%;transform: translate(-50%, -50%);}



/* Show the checkmark when checked */

.container-item input:checked ~ .checkmark:after {

  display: block;

}



/* Create a custom checkbox */

.checkmark2 {

  height: 22px;

  width: 100px;

  background-color: #fff;

  border: 1px solid #fff;

  border-radius: 5px;

 

  align-items: center ;

  display:none; 

}





/* Create the checkmark/indicator (hidden when not checked) */

.checkmark-ok:before {

  content: "✔"; /* 顯示打勾符號 */

  display: block;

  color: #4caf50; /* 打勾符號顏色 */

  font-size: 23px;

 

}





/* Create the checkmark/indicator (hidden when not checked) */

.checkmark-no:before {

  content: "✘"; /* 顯示打勾符號 */

  display: block;

  color: #d53814; /* 打勾符號顏色 */

  font-size: 23px;

}



.checkmark-cancel{

    display: block;

    background: #8c1b01;

    width: 40px;

    height: 40px;

    border-radius: 30px;

}

.checkmark-cancel:before {

  content: "✖"; /* 顯示打勾符號 */

  display: block;

  color: #fff; /* 打勾符號顏色 */

  font-size: 23px;

}


/* ======================================================================== */
/* Footer 專業排版樣式 - 參考設計圖片 */
/* ======================================================================== */

#main-footer {
  /* background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%); */
  color: #ecf0f1;
  position: relative;
  overflow: hidden;
}

#main-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.03)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.03)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.02)"/><circle cx="10" cy="60" r="0.5" fill="rgba(255,255,255,0.02)"/><circle cx="90" cy="40" r="0.5" fill="rgba(255,255,255,0.02)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
  pointer-events: none;
}

.footer-main {
  position: relative;
  /* max-width: 1000px; */
  margin: 0 auto;
  z-index: 1;
  padding: 40px 0 40px;
  border-top: 1px solid #ebebeb;
  border-bottom: 1px solid #ebebeb;
}

.footer-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

/* 左欄：品牌資訊與聯絡方式 */
.footer-left {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.footer-brand {
  text-align: left;
}

.footer-logo {
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.footer-logo img {
  /* max-height: 50px; */
  /* filter: brightness(0) invert(1); */
}

.company-name {
  font-size: 15px;
  color: #333;
  font-weight: bold;
}

.footer-description {
  color: #bdc3c7;
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  max-width: 280px;
}

/* 聯絡資訊樣式 - 分兩排顯示 */
.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 15px;
  color: #000000;
}

.contact-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.4;
}

.contact-label {
  color: #000000;
  font-size: 15px;
  font-weight: 600;
  min-width: 70px;
  flex-shrink: 0;
}

.contact-label::after {
  content: " | ";
  color: #666;
  font-weight: normal;
}

.contact-value {
  color: #000000;
  font-size: 14px;
  font-weight: 400;
  flex: 1;
}

/* 社群媒體樣式 - 同一排排列 */
.footer-social {
  display: flex;
  gap: 5px;
  margin: 10px 0;
  /* justify-content: center; */
}

.social-link {
  /* width: 40px; */
  /* height: 45px; */
  background: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  text-decoration: none;
  overflow: hidden;
  margin: 5px 2px;
}

.social-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.social-link:hover {
  transform: scale(1.1);
}

.social-link:hover img {
  transform: scale(1.05);
}

/* 右欄：網站導覽 */
.footer-right {
  display: flex;
  justify-content: flex-end;
}

.footer-nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  max-width: 600px;
}

.nav-column h4 {
  color: #ecf0f1;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 20px;
  letter-spacing: 0.5px;
  position: relative;
  padding-bottom: 8px;
}

.nav-column h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: #4492cd;
}

.nav-column ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.nav-column ul li {
  margin-bottom: 0px;
}

.nav-column ul li a {
  color: #383838;
  text-decoration: none;
  transition: color 0.3s ease;
  font-size: 14px;
  line-height: 1.6;
  display: flex;
  align-items: center;
  padding: 8px 0;
  position: relative;
}

.nav-column ul li a::before {
  content: '';
  width: 16px;
  height: 16px;
  background-image: url('../../images/icon-foot.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 8px;
  flex-shrink: 0;
}

.nav-column ul li a:hover {
  color: #4492cd;
}

/* Copyright 區域 */
.footer-copyright {
  /* background: rgba(0, 0, 0, 0.4); */
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 10px 0;
  position: relative;
  z-index: 1;
}

.copyright-content {
  text-align: center;
  color: #5f5f5f;
  font-size: 13px;
  line-height: 1.6;
}

.copyright-content p {
  margin: 5px 0;
}

.copyright-content a {
  color: #5f5f5f;
  text-decoration: none;
  transition: color 0.3s ease;
}

.copyright-content a:hover {
  color: #5dade2;
  text-decoration: underline;
}

/* ===== 網站共用搜尋表單樣式 ===== */
.search-section {
    margin: 30px 0;
    padding: 0px 0;
    /* border-radius: 15px; */
}

/* 搜尋提示文字 */
.search-notice {
    margin-bottom: 20px;
    text-align: left !important;
}

.search-notice p {
    color: #5ca3cf;
    font-size: 18px;
    margin: 0;
    font-weight: 500;
}

/* 搜尋表單 */
.search-form {
    width: 100%;
    background: #f5fafe;
}

.search-controls {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
    padding: 20px;
    max-width: 800px;
    margin: 0 auto;
}

.search-field {
    flex: 1;
    min-width: 150px;
    display: flex;
    flex-direction: column;
}

.search-field label {
    display: block;
    font-size: 14px;
    color: #333;
    margin-bottom: 8px;
    font-weight: 500;
}

.search-field select {
    padding: 7px 30px 7px 12px;
    border: 1px solid #ddd;
    /* border-radius: 8px; */
    font-size: 14px;
    background: #ffffff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path fill="%23666" d="M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z"/></svg>') no-repeat right 10px center;
    background-size: 12px;
    color: #333;
    transition: border-color 0.3s ease;
}

.search-field select:focus {
    outline: none;
    border-color: #79a9d7;
    box-shadow: 0 0 0 2px rgba(121, 169, 215, 0.2);
}

.search-field select option {
    padding: 8px;
}

/* 搜尋按鈕欄位特殊樣式 */
.search-field:last-child {
    flex: 0 0 auto;
    min-width: 80px;
}

.search-field:last-child .btn-search {
    /* margin-top: 24px; */ /* 與 label 高度對齊 */
}

/* 搜尋表單響應式設計 */
@media (max-width: 768px) {
    .search-section {
        margin: 25px 0;
        padding: 20px 0;
    }
    
    .search-controls {
        flex-direction: column;
        gap: 15px;
    }
    
    .search-field {
        min-width: 100%;
    }
    
    .search-field:last-child .btn-search {
        margin-top: 0; /* 手機版不需要 margin-top */
    }
}

@media (max-width: 480px) {
    .search-section {
        margin: 20px 0;
        padding: 0px 0 15px 0;
    }
    
    .search-notice p {
        font-size: 14px;
        line-height: 1.5;
    }
    
    .search-field label {
        font-size: 13px;
        margin-bottom: 6px;
    }
    
    .search-field select {
        padding: 8px 10px;
        font-size: 13px;
    }
}

/* ===== FAQ 頁面樣式 ===== */
.faq-intro-section {
    margin: 30px 0;
    /* padding: 25px; */
    background: #ffffff;
    border-radius: 15px;
    max-width: 700px;
    /* box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08); */
}

.faq-intro-text p {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin: 0 0 20px 0;
}

.faq-important-notes {
    margin: 30px 0 20px 0;
}

.faq-important-notes ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.faq-important-notes li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 25px;
    font-size: 14px;
    line-height: 1.5;
    color: #555;
}

.faq-important-notes li:before {
    content: "•";
    position: absolute;
    left: 0;
    color: #79a9d7;
    font-weight: bold;
}

.faq-contact-info {
    margin-top: 20px;
    padding-top: 20px;
    line-height: 1.3;
    /* border-top: 1px solid #eee; */
}

.faq-contact-info p {
    font-size: 14px;
    color: #666;
    margin: 5px 0;
}

/* 關鍵字搜尋容器 */
.search-field-keyword {
    flex: 1;
}

.keyword-search-container {
    position: relative;
    display: flex;
    align-items: center;
}

.keyword-search-container input[type="text"] {
    width: 100%;
    padding: 5px 50px 5px 12px;
    border: 1px solid #ddd;
    /* border-radius: 8px; */
    font-size: 14px;
    height: 38px;
    background: #ffffff;
    color: #333;
    transition: border-color 0.3s ease;
}

.keyword-search-container input[type="text"]:focus {
    outline: none;
    border-color: #79a9d7;
    box-shadow: 0 0 0 2px rgba(121, 169, 215, 0.2);
}

.keyword-search-btn {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    color: #999999;
    border-left: 1px solid #ebebeb;
    /* border: none; */
    padding: 8px 12px;
    border-radius: 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
    z-index: 10;
}

.keyword-search-btn:hover {
    background: #6b9bc7;
    transform: translateY(-50%);
}

.keyword-search-btn i {
    font-size: 14px;
}

/* FAQ 列表區域 */
.faq-list-section {
    margin: 40px 0;
}

.faq-item {
    background: #ffffff;
    /* border-radius: 10px; */
    margin-bottom: 15px;
    box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.1); /* 只在下方添加淡淡的陰影效果 */
    overflow: hidden;
    transition: box-shadow 0.3s ease;
}

.faq-item:hover {
    /* box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); */
}

.faq-question {
    display: flex;
    align-items: center;
    padding: 20px 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.faq-question:hover {
    /*background-color: #f8f9fa;*/
}

.faq-category-label {
    flex-shrink: 0;
    padding: 10px 20px;
    /* border-radius: 15px; */
    color: #ffffff;
    font-size: 15px;
    /* font-weight: bold; */
    margin-right: 15px;
    min-width: 50px;
    text-align: center;
}

.faq-question-text {
    flex: 1;
    font-size: 16px;
    font-weight: 500;
    color: #4492cd;
    line-height: 1.4;
}

.faq-toggle-icon {
    flex-shrink: 0;
    margin-left: 15px;
    color: #79a9d7;
    font-size: 16px;
    transition: transform 0.3s ease;
}

.faq-answer {
    padding: 0 20px 20px 20px;
    border-top: 1px solid #f9f9f9;
    background: #f9f9f9;
}

.faq-answer-content {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    padding-top: 15px;
}

.faq-no-results {
    text-align: center;
    padding: 40px 20px;
    color: #666;
    font-size: 16px;
}

/* FAQ 頁面響應式設計 */
@media (max-width: 768px) {
    .faq-intro-section {
        margin: 20px 0;
        padding: 20px;
    }
    
    .faq-intro-text p {
        font-size: 15px;
    }
    
    .faq-question {
        padding: 15px 0;
    }
    
    .faq-category-label {
        font-size: 12px;
        padding: 5px 10px;
        margin-right: 10px;
        min-width: 45px;
    }
    
    .faq-question-text {
        font-size: 15px;
    }
    
    .faq-answer {
        padding: 0 15px 15px 15px;
    }
    
    .faq-answer-content {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .faq-intro-section {
        margin: 0px 0;
        padding: 0 15px;
    }
    
    .faq-intro-text p {
        font-size: 14px;
    }
    
    .faq-important-notes li {
        font-size: 13px;
    }
    
    .faq-contact-info p {
        font-size: 13px;
    }
    
    .faq-question {
        padding: 12px;
        flex-wrap: nowrap;
    }
    
    .faq-category-label {
        /* font-size: 10px; */
        padding: 4px 8px;
        margin-right: 8px;
        flex-shrink: 0;
    }
    
    .faq-question-text {
        font-size: 14px;
        flex: 1;
        margin-right: 8px;
    }
    
    .faq-toggle-icon {
        flex-shrink: 0;
        font-size: 14px;
    }
    
    .faq-answer {
        padding: 0 12px 12px 12px;
    }
    
    .faq-answer-content {
        font-size: 12px;
    }
}

/* ===== 網站共用按鈕樣式 ===== */
.btn-search {
    background: #5ca3cf;
    color: #ffffff;
    border: none;
    padding: 5px 45px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    min-width: 80px;
}

.btn-search:hover {
    background: #6b9bc7;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(121, 169, 215, 0.3);
}

.btn-search:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(121, 169, 215, 0.3);
}

/* 響應式按鈕 */
@media (max-width: 768px) {
    .btn-search {
        padding: 8px 16px;
        font-size: 13px;
        min-width: 70px;
    }
}

@media (max-width: 480px) {
    .btn-search {
        padding: 6px 12px;
        font-size: 12px;
        min-width: 60px;
    }
}

/* ===== 響應式設計 - About, Blog, Footer ===== */

/* 平板版 */
@media (max-width: 768px) {
  /* Footer Logo 手機版樣式 */
  .footer-logo {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .company-name {
    font-size: 18px;
    letter-spacing: 1px;
  }

  /* 聯絡資訊手機版樣式 - 區塊置中但內容靠左 */
  .footer-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .contact-row {
    text-align: left;
    width: auto;
    margin-bottom: 8px;
    /* display: block; */
  }

  .contact-label,
  .contact-value {
    display: inline;
  }

  .about-tags {
    gap: 15px;
  }

  .about-tag {
    padding: 12px 20px;
    font-size: 16px;
    min-width: 170px;
    text-align: center;
  }

  .about-content {
    padding: 25px;
  }

  .blog-grid {
    grid-template-columns: 1fr;
    gap: 25px;
    padding: 0px 10px;
  }

  .blog-image {
    /* height: 300px; */
    padding: 15px;
  }

  .footer-content {
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: center;
  }

  .footer-left {
    align-items: center;
    text-align: center;
  }

  .footer-brand {
    text-align: center;
  }

  .footer-description {
    max-width: 100%;
    text-align: center;
  }

  .footer-contact {
    align-items: baseline;
  }

  .contact-item {
    justify-content: center;
    text-align: center;
  }

  .footer-nav {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    max-width: 100%;
  }

  .footer-right {
    justify-content: center;
  }

  .partners-logos {
    gap: 25px;
  }

  .partner-logo {
    /* width: 100px; */
    /* height: 70px; */
  }
}

/* 手機版 */
@media (max-width: 768px) {
  .about-tags {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .about-tag {
    padding: 10px 25px;
    font-size: 16px;
  }

  .about-content {
    padding: 0 0px 0 0px;
    font-size: 13px;
    line-height: 1.8;
  }

  .blog-image {
    /* height: 250px; */
  }

  .blog-info {
    padding: 20px;
  }

  .blog-title {
    font-size: 16px;
  }

  .more-articles-btn {
    padding: 12px 30px;
    font-size: 14px;
  }

  .partners-logos {
    /* flex-direction: column; */
    align-items: center;
    gap: 5px;
  }

  .partner-logo {
    /* width: 150px; */
    /* height: 80px; */
  }

  .footer-social {
    justify-content: center;
  }

  .social-link {
    /* width: 40px; */
    /* height: 40px; */
  }

  .social-link img {
    /* width: 20px; */
    /* height: 20px; */
  }

  .footer-nav {
    text-align: left;
  }

  /* Footer 手機版優化 */
  .footer-main {
    padding: 40px 0 30px;
  }

  .footer-content {
    gap: 25px;
  }

  .footer-nav {
    /* grid-template-columns: 1fr; */
    gap: 30px;
  }

  .nav-column h4 {
    font-size: 15px;
    margin-bottom: 15px;
  }

  .nav-column ul li a {
    font-size: 15px;
  }

  .contact-item {
    flex-direction: column;
    text-align: center;
    gap: 8px;
  }

  .contact-item i {
    font-size: 16px;
  }

  .social-media {
    justify-content: center;
  }

  .social-link {
    /* width: 36px; */
    /* height: 36px; */
    font-size: 14px;
  }

  .copyright-content {
    font-size: 12px;
  }

/* ================================================================================================================ */
/* ---------------------------------->>> 商品列表頁面專用樣式 Product Page Styles <<<------------------------------ */
/* ================================================================================================================ */

/* 左側選單樣式 */
.product-sidebar {
    background: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    height: fit-content;
}

.product-menu {
    width: 100%;
}

/* 第一層選單 */
.menu-level-1 {
    margin-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 15px;
}

.menu-level-1:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* 第一層選單項目 - 藍色主題 */
.menu-level-1 > .menu-item {
    background: #68adb7;
    color: #fff;
    padding: 15px 12px;
    border-radius: 8px;
    margin-bottom: 8px;
}

.menu-level-1 > .menu-item:hover {
    background: #5a9ca6;
    padding-left: 12px;
    padding-right: 12px;
}

.menu-level-1 > .menu-item .menu-text {
    color: #fff;
    font-weight: 600;
}

.menu-level-1 > .menu-item .menu-toggle {
    color: #fff;
}

.menu-level-1 > .menu-item .menu-icon {
    opacity: 1;
    filter: brightness(0) invert(1);
}

/* 選單項目基本樣式 */
.menu-item {
    display: flex;
    align-items: center;
    padding: 12px 0;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 6px;
    padding-left: 0;
    padding-right: 0;
}

.menu-item:hover {
    background: #f8f9fa;
    padding-left: 5px;
    padding-right: 5px;
}

/* 選單選中狀態 */
.menu-item.selected {
    background: #e8f4f5;
    padding-left: 5px;
    padding-right: 5px;
}

.menu-item.selected .menu-text {
    color: #68adb7;
    font-weight: 600;
}

.menu-item.selected .menu-icon {
    opacity: 1;
}

/* 選單圖示 */
.menu-icon {
    width: 16px;
    height: 16px;
    margin-right: 10px;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.menu-item:hover .menu-icon {
    opacity: 1;
}

/* 選單文字 */
.menu-text {
    flex: 1;
    font-size: 14px;
    color: #333;
    font-weight: 500;
    transition: color 0.3s ease;
}

.menu-item:hover .menu-text {
    color: #68adb7;
}

/* 展開/收合按鈕 */
.menu-toggle {
    font-size: 14px;
    color: #999;
    font-weight: bold;
    margin-left: 8px;
    width: 20px;
    text-align: center;
    transition: color 0.3s ease;
}

.menu-item:hover .menu-toggle {
    color: #68adb7;
}

/* 第二層選單 */
.submenu-level-2 {
    margin-left: 20px;
    border-left: 2px solid #f0f0f0;
    padding-left: 15px;
    margin-top: 8px;
    display: none;
}

.submenu-level-2.expanded {
    display: block;
}

/* 第二層選單項目 - 淡藍色主題 */
.submenu-level-2 .menu-item {
    padding: 10px 12px;
    font-size: 13px;
    background: #578fa2;
    color: #fff;
    border-radius: 6px;
    margin-bottom: 6px;
}

.submenu-level-2 .menu-item:hover {
    background: #4a7d8e;
    padding-left: 12px;
    padding-right: 12px;
}

.submenu-level-2 .menu-text {
    font-size: 13px;
    font-weight: 500;
    color: #fff;
}

.submenu-level-2 .menu-item .menu-toggle {
    color: #fff;
}

.submenu-level-2 .menu-item .menu-icon {
    opacity: 1;
    filter: brightness(0) invert(1);
}

/* 第三層選單 */
.submenu-level-3 {
    margin-left: 20px;
    border-left: 2px solid #f8f8f8;
    padding-left: 15px;
    margin-top: 5px;
    display: none;
}

.submenu-level-3.expanded {
    display: block;
}

/* 第三層選單項目 - 黑色主題 */
.submenu-level-3 .menu-item {
    padding: 8px 12px;
    background: #333333;
    color: #fff;
    border-radius: 4px;
    margin-bottom: 4px;
}

.submenu-level-3 .menu-item:hover {
    background: #444444;
    padding-left: 12px;
    padding-right: 12px;
}

.submenu-level-3 .menu-text {
    font-size: 12px;
    font-weight: 400;
    color: #fff;
}

.submenu-level-3 .menu-item .menu-icon {
    opacity: 1;
    filter: brightness(0) invert(1);
}

/* 右側內容區域 */
.product-content {
    padding-left: 30px;
}

/* 頁面標題區域 */
.page-header {
    margin-bottom: 25px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

.page-title-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.page-title {
    font-size: 28px;
    color: #333;
    font-weight: 600;
    margin: 0;
    padding-left: 20px;
    position: relative;
    flex: 1;
}

/* 左側垂直裝飾線 */
.page-title::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #68adb7;
    border-radius: 2px;
}

.header-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.action-item {
    display: flex;
    align-items: center;
}

.search-link {
    color: #68adb7;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    padding: 8px 16px;
    border: 1px solid #68adb7;
    border-radius: 20px;
    transition: all 0.3s ease;
}

.search-link:hover {
    background: #68adb7;
    color: #fff;
}

.section-label {
    font-size: 16px;
    color: #68adb7;
    font-weight: 600;
    padding: 4px 0;
}

/* 商品橫幅區塊 */
.product-banner {
    margin-bottom: 40px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.banner-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.banner-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.product-banner:hover .banner-image img {
    transform: scale(1.02);
}

.banner-content {
    padding: 25px 30px;
    background: #fff;
}

.banner-content p {
    font-size: 14px;
    line-height: 1.7;
    color: #666;
    margin: 0;
}

/* 區段標題 */
.section-header {
    margin-bottom: 30px;
}

.section-title {
    font-size: 24px;
    color: #333;
    font-weight: 600;
    margin: 0;
    text-align: center;
    position: relative;
    padding-bottom: 15px;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    /* background: #68adb7; */
    border-radius: 2px;
}

/* 商品網格 */
.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 50px;
    width: 100%;
    box-sizing: border-box;
}

/* 商品卡片 */
.product-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    cursor: pointer;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.product-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
}

/* 為有連結的圖片容器設定樣式 */
.product-image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    position: relative;
}

/* 圖片本身的樣式 - 確保在有無連結的情況下都能正確居中 */
.product-image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
    position: relative;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.product-card:hover .product-image img {
    /* transform: scale(1.08); */
}

.product-info {
    padding: 20px;
}

.product-title {
    font-size: 14px;
    color: #333;
    margin: 0;
    line-height: 1.5;
    font-weight: 500;
    text-align: center;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 分頁樣式 */
.pagination-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.pagination {
    display: flex;
    gap: 8px;
    align-items: center;
}

.page-link {
    padding: 10px 15px;
    background: #fff;
    color: #666;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    min-width: 40px;
    text-align: center;
}

.page-link:hover {
    background: #68adb7;
    color: #fff;
    border-color: #68adb7;
}

.page-link.active {
    background: #68adb7;
    color: #fff;
    border-color: #68adb7;
}

/* 響應式設計 */
@media (max-width: 1200px) {
    .product-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .product-content {
        padding-left: 20px;
    }
}

@media (max-width: 900px) {
    /* 手機版隱藏左側選單 */
    .product-sidebar {
        display: none !important;
    }

    /* 重置左右欄佈局 */
    .container .wrap .layout-left {
        display: none !important;
    }

    .container .wrap .layout-right {
        width: 100% !important;
        float: none !important;
        padding: 0 10px !important;
    }

    /* 右側內容區域佔滿寬度 */
    .product-content {
        width: 100%;
        padding-left: 0;
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .page-title {
        font-size: 24px;
    }

    .product-banner {
        margin-bottom: 25px;
    }

    .banner-content {
        padding: 20px;
    }

    .banner-content p {
        font-size: 13px;
    }

    /* 確保手機版分類選擇器正常顯示 */
    .mobile-category-selector {
        display: block !important;
        margin-bottom: 20px;
    }

    /* 隱藏桌面版的篩選器 */
    .desktop-filter-select {
        display: none !important;
    }
}

@media (max-width: 768px) {
    .page-header {
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .page-title {
        font-size: 22px;
        padding-left: 15px;
    }

    .section-title {
        font-size: 20px;
    }

    .product-image {
        padding: 10px;
    }
    
    .product-image img {
        max-width: calc(100% - 2px) !important;
        max-height: calc(100% - 20px) !important;
    }

    .product-info {
        padding: 15px;
    }

    .product-title {
        font-size: 13px;
        min-height: 38px;
    }

    .banner-image {
        height: 150px;
    }

    .banner-content {
        padding: 15px;
    }
}

@media (max-width: 480px) {
    .product-grid {
        gap: 12px;
    }

    .page-title {
        font-size: 20px;
    }

    .section-title {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .product-image {
        padding: 10px !important;
    }
    
    .product-image img {
        max-width: calc(100% - 2px) !important;
        max-height: calc(100% - 20px) !important;
    }

    .product-info {
        padding: 12px;
    }

    .product-title {
        font-size: 12px;
        min-height: 36px;
    }

    .pagination {
        gap: 6px;
    }

    .page-link {
        padding: 8px 12px;
        font-size: 13px;
        min-width: 36px;
    }
}
