﻿body {
    padding-bottom: 0;
    font-family: "Noto Sans TC", serif;
}

@media print {
    a[href]:after {
        content: none !important;
    }
}

/*置頂消息*/
#Top .navbar {
    display: inline;
}

#Top .bg-blue {
    background-color: rgba(0, 36, 77, 1);
}

#Top .announcement {
    text-align: center;
    font-size: 13px;
}

    #Top .announcement a:link {
        color: white;
        text-decoration: none;
    }

    #Top .announcement a:hover {
        color: antiquewhite;
        text-decoration: none;
    }

    #Top .announcement a:visited {
        color: white;
        text-decoration: none;
    }


#Header .container {
}

#Header .col-3 {
    padding-left: 0;
}

#Header .col-7 {
    padding-left: 5px;
}

#Header .col-2 {
    padding-right: 0;
    padding-top: 5px;
}

#Header .logo {
    width: 100%;
}

/*搜尋欄*/

#Header .searchBox {
    position: relative;
    z-index: 10;
}

#Header .search-bar {
    max-width: 100%;
    display: flex;
    align-items: center;
    padding-top: 10px;
    position: relative;
    z-index: 10;
}

    #Header .search-bar input {
        border: 2px solid;
        border-color: rgba(0, 36, 77, .5);
        border-radius: 50px 0 0 50px;
        flex: 1;
        /*padding: 8px 14px;
        transition: border-color 0.2s ease;*/
        box-sizing: border-box;
    }

    #Header .search-bar .linkbtn {
        border: 2px solid;
        border-color: rgba(0, 36, 77, .5);
        border-left: none;
        color: rgba(0, 36, 77, .5);
        font-weight: bold;
        border-radius: 0 50px 50px 0;
        /*background: white;
        padding: 8px 16px;*/
        /*transition: background 0.2s ease, color 0.2s ease;*/
    }

        #Header .search-bar .linkbtn:hover {
            border: 2px solid;
            border-color: transparent;
            border-left: none;
            background-color: rgba(0, 36, 77, .5);
            border-radius: 0 50px 50px 0;
            color: white;
        }

    #Header .search-bar .btn {
        padding: 3px 15px;
        font-size: 20px;
        font-weight: bold;
    }

/*右側icon*/
#Header .icons i {
    color: #00244D;
    margin: 0 10px;
    font-size: 28px;
    opacity: 0.5;
}


/*#Header .keywordstyle {
                font-size:13px;
            }

                #Header .keywordstyle a {
                    color:rgba(0, 36, 77, 1);
                    text-decoration:none;
                }*/


/*桌機Menu*/
#Mainmenu .bg-gray {
    background-color: rgba(186, 189, 86, .5);
    border-radius: 15px;
}

#Mainmenu .nav-item {
    padding: 0.2rem 0 0.1rem 0;
    font-weight: 400;
    font-size: 16px;
}

#Mainmenu a {
    color: rgba(102, 100, 100, 1);
}

#Mainmenu .mainlink {
    color: rgba(102, 100, 100, 1);
    letter-spacing: 2px;
    font-weight: bold;
}

    #Mainmenu .mainlink:hover {
        color: rgba(35, 24, 21, 1);
    }

#Mainmenu .dropdown-hover:hover > .dropdown-menu {
    display: inline-block;
}

#Mainmenu .dropdown-hover > .dropdown-toggle:active {
    pointer-events: none;
}

#Mainmenu .menuround {
    border-radius: 15px;
}

#Mainmenu .custom-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

#Mainmenu .col-5th {
    flex: 0 0 calc(20% - 1rem);
    max-width: calc(20% - 1rem);
    box-sizing: border-box;
}

    #Mainmenu .col-5th .submenu {
        font-size: 15px;
        padding-left: 1.5rem;
        color: rgba(102, 100, 100, 1);
    }

/*手機Menu*/
#mMainmenu {
}

    #mMainmenu .navbar-toggler {
        border: none !important;
        padding: 5px 10px;
    }

    #mMainmenu .navbar-toggler-icon {
        width: 25px !important;
        height: 25px !important;
        color: #00244D;
        opacity: 1;
    }

/*底部資訊*/
#Footer footer {
    background: rgba(0, 36, 77, .13);
    position: relative;
    z-index: 15
}

#Footer .payment {
    background: rgba(102, 100, 100, .08);
    color: rgba(102, 100, 100, 1);
    text-align: center;
    line-height: 180%;
    font-size: small;
    vertical-align: middle;
    padding: 5px 10px;
}

#footerdetail {
    line-height: 200%;
    font-size: 14px;
    padding-top: 10px;
    padding-bottom: 10px;
    color: rgba(0, 36, 77, 1);
    /*background:rgba(0, 36, 77, .13);*/
}

    #footerdetail a:link {
        color: rgba(0, 36, 77, 1);
        text-decoration: none;
    }

    #footerdetail a:hover {
        text-decoration: underline;
    }

    #footerdetail a:visited {
        color: rgba(0, 36, 77, 1);
        text-decoration: none;
    }

    #footerdetail .snslist {
        line-height: 200%;
    }

    #footerdetail .copyright {
        font-size: small;
        line-height: 165%;
        text-align: center;
        color: rgba(0, 36, 77, 1);
        font-weight: 200;
    }

        #footerdetail .copyright .big {
            font-size: 16px;
            letter-spacing: 1px;
            padding-bottom: 0.6%;
            font-weight: 450;
        }

        #footerdetail .copyright .shop {
            padding-top: 0.6%;
        }

    #footerdetail .footer {
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        background-color: none;
        color: white;
        text-align: center;
        padding-top: 0;
        padding-bottom: 0;
    }

    #footerdetail .footer-inner {
        max-width: 1200px;
    }


/*#footerdetail .footer .desc {
                background-color: darkgrey;
                padding-top: 0.4em;
                padding-bottom: 0.4em;
            }

            #footerdetail .footer .sep {
                float: left;
            }

        #footerdetail .btn {
            border-radius: 0;
        }

        #footerdetail .btn-addcart {
            color: white;
            background-color: #CC4E35;
            border-color: #CC4E35;
        }

        #footerdetail .btn-addfav {
            color: white;
            background-color: #646464;
            border-color: #646464;
        }

        #footerdetail .btn:hover, .btn:focus, .btn.focus {
            text-decoration: none;
        }*/
/*隱私權說明*/
@keyframes slideInUp {
    from {
        transform: translateY(40px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

#cookie-banner {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #00244D;
    color: #FFFFFF;
    font-size: 12px;
    padding: 3px;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, visibility 0.3s;
    animation: slideInUp 0.5s ease-out;
}

    #cookie-banner.show {
        visibility: visible;
        opacity: 1;
    }

    #cookie-banner span {
        flex: 1;
        text-align: center;
    }


    #cookie-banner a {
        color: #FFFFFF;
        text-decoration: underline;
    }

    #cookie-banner .close-btn {
        background: none;
        border: none;
        color: #FFFFFF;
        font-size: 14px;
        font-weight: bold;
        cursor: pointer;
        margin-left: 10px;
    }


/*手機板Menu選單*/
#mOffcanvas {
}

    #mOffcanvas a:link, #mOffcanvas a:visited {
        color: rgba(102, 100, 100, 1);
        text-decoration:none;
    }

    #mOffcanvas a:hover {
        color: rgba(35, 24, 21, 1);
        text-decoration: none;
    }


    #mOffcanvas .offcanvas-header {
        background: rgba(186, 189, 86, .5);
    }

    #mOffcanvas .offcanvas-body {
        padding: 0;
        font-size: 16px;
        background: rgba(186, 189, 86, .5);
    }

    #mOffcanvas .list-group-item {
        padding: .8rem 1.2rem;
        background: none;
        border-color: rgba(102, 100, 100, .15);
    }

        #mOffcanvas .list-group-item > a[data-bs-toggle="collapse"] {
            position: relative;
            padding-right: 1.5rem;
        }

            #mOffcanvas .list-group-item > a[data-bs-toggle="collapse"]::after {
                content: '';
                display: inline-block;
                width: 0.5em;
                height: 0.5em;
                border-style: solid;
                border-color: #6c757d;
                border-width: 0 2px 2px 0;
                position: absolute;
                right: 0.25rem;
                top: 50%;
                transform: translateY(-60%) rotate(-45deg);
                transition: transform 0.3s ease;
            }

            #mOffcanvas .list-group-item > a[data-bs-toggle="collapse"]:not(.collapsed)::after {
                transform: translateY(-40%) rotate(45deg);
            }

    #mOffcanvas .categorylist a {
        color: rgba(102, 100, 100, 1);
    }

/*購物車.訊息數字*/
#Header .cart-wrapper {
    position: relative;
    display: inline-block;
}

#Header .cart-qty {
    min-width: 18px;
    min-height: 18px;
    background: #e00;
    color: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    border-radius: 50%;
    line-height: 18px;
    text-align: center;
    position: absolute;
    top: -3px;
    right: -3px;
    padding: 0 5px;
}

#Header .msg-count {
    min-width: 18px;
    min-height: 18px;
    background: #e00;
    color: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    border-radius: 50%;
    line-height: 18px;
    text-align: center;
    position: absolute;
    top: -3px;
    right: 0;
    padding: 0 5px;
}

/*手機版導覽滑動*/
#navbarWrapper {
}

    #navbarWrapper .row > * {
        padding-left: 2.5%;
        padding-right: 0;
    }

    #navbarWrapper .navbar-fixed {
        position: fixed;
        left: 0;
        right: 0;
        z-index: 1029;
        background-color: #fff;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
    }

    #navbarWrapper .mobile-navbar.navbar-fixed {
        position: fixed;
        left: 0;
        right: 0;
        z-index: 1029;
        background-color: white;
        box-shadow: none;
    }

        #navbarWrapper .mobile-navbar.navbar-fixed.fullwidth {
            width: 100%;
            padding: 10px 0;
            box-sizing: border-box;
            background: white;
            box-shadow: 0 2px 6px rgba(0,0,0,0.1);
        }

    #navbarWrapper .mobile-navbar.fullwidth .navbar-inner {
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }


/*桌機版導覽滑動*/
#pcNavbarWrapper {
    /*padding-top: 80px;*/
    padding-top: 30px;
}


    #pcNavbarWrapper .row {
        margin-left: 0;
        margin-right: 0;
    }

    #pcNavbarWrapper.fixed-padding {
        padding-top: 0;
    }

    #pcNavbarWrapper .desktop-navbar.navbar-fixed {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1030;
        background: white;
        box-shadow: none;
    }

        /*滑動的導覽列跟container等寬*/
        #pcNavbarWrapper .desktop-navbar.navbar-fixed.fullwidth {
            /*width: 100%;
            max-width: 100%;
            padding-left: 7.38%;
            padding-right: 7.38%;
            padding-top: 10px;
            padding-bottom: 10px;*/
            width: 100%;
            padding: 10px 0;
            box-sizing: border-box;
            background: white;
            box-shadow: 0 2px 6px rgba(0,0,0,0.1);
        }

    #pcNavbarWrapper .desktop-navbar.fullwidth .navbar-inner {
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }

/*@media (max-width: 991.98px) {
    #Header .container {
        padding-top: 50px;
    }

    #Header .search-bar {
        max-width: 100%;
        display: flex;
        align-items: center;
        padding-top: 8px;
    }

        #Header .search-bar input {
            border: 2px solid;
            border-color: rgba(0, 36, 77, .5);
            border-radius: 50px 0 0 50px;
            font-size: 14.5px;
        }

        #Header .search-bar .btn {
            padding: 4px 12px;
            font-size: 17.5px;
            font-weight: bold;
        }

    #Header .icons i {
        color: #00244D;
        margin: 0 8px;
        font-size: 25px;
        opacity: 0.5;
    }

    #Header .logo {
        width: 90%;
    }

    #navbarWrapper .row > * {
        padding-left: 2.5%;
        padding-right: 0;
    }
}*/





@media (max-width: 575.98px) {
    #Header .container {
        padding-top: 5px;
    }

    #navbarWrapper .row > * {
        padding-left: 2.5%;
        padding-right: 0;
    }

    #navbarWrapper .mobile-navbar.navbar-fixed.fullwidth {
        padding: 10px 10px 10px 0;
    }

    #Header .logo {
        width: 95%;
    }

    #Header .icons i {
        color: #00244D;
        margin: 0 8px;
        font-size: 25px;
        opacity: 0.5;
    }

    #Header .bi {
        line-height: 1;
    }

    #Header .search-bar input {
        border: 2px solid;
        border-color: rgba(0, 36, 77, .5);
        border-radius: 50px 0 0 50px;
        font-size: 13.8px;
    }

    #Header .search-bar .btn {
        padding: 4px 12px;
        font-size: 16.5px;
        font-weight: bold;
    }

    #navbarWrapper .mobile-navbar.fullwidth .navbar-inner {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    #mOffcanvas .offcanvas-body {
        font-size: 15px;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    #Header .container {
        padding-top: 5px;
    }

    #Header .logo {
        width: 80%;
    }

    #Header .search-bar input {
        border: 2px solid;
        border-color: rgba(0, 36, 77, .5);
        border-radius: 50px 0 0 50px;
        font-size: 14px;
    }

    #Header .search-bar .btn {
        padding: 4px 12px;
        font-size: 16.5px;
        font-weight: bold;
    }

    #Header .icons i {
        color: #00244D;
        margin: 0 8px;
        font-size: 25px;
        opacity: 0.5;
    }

    #navbarWrapper .mobile-navbar.fullwidth .navbar-inner {
        max-width: 540px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    #Header .container {
        padding-top: 5px;
    }

    #Header .logo {
        width: 65%;
    }

    #Header .search-bar input {
        border: 2px solid;
        border-color: rgba(0, 36, 77, .5);
        border-radius: 50px 0 0 50px;
        font-size: 13.5px;
    }

    #Header .search-bar .btn {
        padding: 4px 12px;
        font-size: 16px;
        font-weight: bold;
    }

    #Header .icons i {
        color: #00244D;
        margin: 0 10px;
        font-size: 25px;
        opacity: 0.5;
    }

    #navbarWrapper .mobile-navbar.fullwidth .navbar-inner {
        max-width: 720px;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    #Header .search-bar input {
        border: 2px solid;
        border-color: rgba(0, 36, 77, .5);
        border-radius: 50px 0 0 50px;
        font-size: 13.5px;
    }

    #Header .search-bar .btn {
        padding: 4px 12px;
        font-size: 16.5px;
        font-weight: bold;
    }

    #Header .icons i {
        color: #00244D;
        margin: 0 10px;
        font-size: 25px;
        opacity: 0.5;
    }

    #Header .col-7 {
        padding-left: 15px;
    }

    #Mainmenu .nav-item {
        font-size: 15.5px;
    }

    #Mainmenu .dropdown-menu {
        font-size: 15px;
    }

    #Mainmenu .col-5th .submenu {
        font-size: 14px;
    }

    #pcNavbarWrapper {
        padding-top: 20px;
    }

        #pcNavbarWrapper .desktop-navbar.fullwidth .navbar-inner {
            max-width: 960px;
        }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    #pcNavbarWrapper .desktop-navbar.fullwidth .navbar-inner {
        max-width: 1140px;
    }
}

@media (min-width: 1400px) {
    #pcNavbarWrapper .desktop-navbar.fullwidth .navbar-inner {
        max-width: 1320px;
    }
}


/*搜尋推薦*/

#suggestBox, #suggestBox0 {
    position: absolute;
    z-index: 10000;
}

.suggest-box {
    position: absolute;
    background: white;
    /*border: 1px solid #ccc;*/
    /*border: 2px solid rgba(0, 36, 77, .5);*/
    border: none;
    border-radius: 0 0 20px 20px;
    /*box-shadow: 0 4px 12px rgba(0,0,0,0.1);*/
    padding: 8px 0 8px 8px;
    box-sizing: border-box;
    z-index: 10000;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

    .suggest-box .section {
        margin-bottom: 10px;
    }

    .suggest-box .title {
        font-weight: bold;
        font-size: 13px;
        color: #666;
        margin-bottom: 5px;
    }

    .suggest-box ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .suggest-box li {
        padding: 5px;
        cursor: pointer;
        font-size: .95rem;
        color: #333333;
    }


        .suggest-box li:hover {
            background-color: #f2f2f2;
        }

        .suggest-box li a {
            color: #333333;
            text-decoration:none;
        }

.suggest-box0 {
    position: absolute;
    background: white;
    border: none;
    border-radius: 0 0 20px 20px;
    padding: 8px 0 8px 8px;
    box-sizing: border-box;
    z-index: 10000;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

    .suggest-box0 .section {
        margin-bottom: 10px;
    }

    .suggest-box0 .title {
        font-weight: bold;
        font-size: 13px;
        color: #666;
        margin-bottom: 5px;
    }

    .suggest-box0 ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .suggest-box0 li {
        padding: 5px;
        cursor: pointer;
        font-size: .88rem;
        color: #333333;
    }

.suggest-box0 li a {
    color: #333333;
    text-decoration: none;
}


        .suggest-box0 li:hover {
            background-color: #f2f2f2;
        }

#hotSection h5, #hotSection0 h5 {
    font-size: .95rem;
}

#hotSection0 h5 {
    font-size: .88rem;
}

#hotList li::before, #hotList0 li::before {
    content: "\F7F6";
    font-family: "bootstrap-icons";
    display: inline-block;
    margin-right: 6px;
    color: #FD7E14;
    font-size: .9rem;
    vertical-align: middle;
}

#recentSection h5, #recentSection0 h5 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .95rem;
}

#recentSection0 h5 {
    font-size: .88rem;
}

.clear-btn {
    background: none;
    border: none;
    color: #888;
    font-size: 12px;
    cursor: pointer;
}

#recentList li::before, #recentList0 li::before {
    content: "\F292";
    font-family: "bootstrap-icons";
    display: inline-block;
    margin-right: 6px;
    color: #679b79;
    font-size: .9rem;
    vertical-align: middle;
}

/*自動完成*/

.ui-autocomplete {
    position: absolute !important;
    background: #fff;
    line-height: 1.5;
    color: #666464;
    border: none;
    border-radius: 0 0 20px 20px;
    padding: 8px 0 8px 8px;
    box-sizing: border-box;
    z-index: 10001 !important;
    clip-path: inset(0 round 0 0 20px 20px); /* 讓內容不超出圓角 */
    margin-top: 0 !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* 選單項目的樣式 */
.ui-menu-item-wrapper {
    padding: 8px 12px;
    cursor: pointer;
}

    /* Hover 與 Active 狀態 */
    .ui-menu-item-wrapper:hover,
    .ui-state-active,
    .ui-widget-content .ui-state-active {
        background: rgba(0, 36, 77, 0.25) !important;
        color: white !important;
        border: none !important; /* 去除 jQuery UI 預設邊框 */
    }

/* =========================================
   3. 捲軸美化 (Webkit browsers)
   ========================================= */
.ui-autocomplete::-webkit-scrollbar {
    width: 6px;
}

.ui-autocomplete::-webkit-scrollbar-track {
    background: transparent;
    margin-bottom: 8px; /* 防止捲軸壓到底部圓角 */
}

.ui-autocomplete::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.18);
    border-radius: 10px;
}

    .ui-autocomplete::-webkit-scrollbar-thumb:hover {
        background: rgba(0, 0, 0, 0.3);
    }


/* 桌機：992px 以上 */
@media screen and (min-width: 992px) {
    #desktop-wrapper .ui-autocomplete {
        max-height: 300px;
        overflow-y: scroll;
        font-size: .95rem;
        /* 如果你希望能與 input 保持一點距離，可以在這裡加，但建議小心使用 */
        margin-top: 10px;
    }
}

/* 手機 / 平板：991px 以下 */
@media screen and (max-width: 991px) {
    #mobile-wrapper .ui-autocomplete {
        max-height: 200px;
        overflow-y: scroll;
        font-size: .88rem;
        margin-top: 0; /* 手機版通常貼合較好 */
    }
}


.ui-helper-hidden-accessible {
    position: absolute !important;
    left: -9999px !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    opacity: 0 !important;
}



.search-dropdown-menu {
    border: none;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    transition: all 0.3s ease-in-out;
    margin-top: 10px !important;
}



@media (max-width: 575.98px) {
    .search-dropdown.position-static {
        position: static !important;
    }

    .search-dropdown-menu {
        position: fixed;
        top: 100px;
        left: 0;
        right: 0 !important;
        width: auto;
        padding: 10px calc(var(--bs-gutter-x) * .5) !important;
        margin: 0 !important;
        border: none;
        border-top: 1px solid #f0f0f0;
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
        z-index: 1050;
    }
    /* 確保搜尋列寬度正常 */
    .searchBox, .search-bar {
        width: 100%;
        display: flex;
    }

        .search-bar .form-control {
            flex: 1;
        }
}


@media (min-width: 576px) and (max-width: 991.98px) {

    .search-dropdown.position-static {
        position: static !important;
    }

    .search-dropdown-menu {
        /*position: absolute !important;*/
        position: fixed;
        /*top: var(--mobile-navbar-bottom);*/
        top: 100px;
        left: 0;
        right: 0 !important;
        width: auto;
        padding: 10px clamp(0.01rem, 5vw + 0.01rem, 5rem);
        margin: 0 !important;
        border: none;
        border-top: 1px solid #f0f0f0;
        box-shadow: 0 15px 30px rgba(0,0,0,0.1);
        z-index: 1050;
    }


    /* 確保搜尋列寬度正常 */
    .searchBox, .search-bar {
        width: 100%;
        display: flex;
    }

        .search-bar .form-control {
            flex: 1;
        }
}

#recentList li, #recentList0 li {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#recentList .recent-text, #recentList0 .recent-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#recentList .recent-remove, #recentList0 .recent-remove {
    border: none;
    background: rgba(0, 36, 77, 0.08);
    color: #6b6b6b;
    width: 20px;
    height: 20px;
    line-height: 18px;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    font-size: 14px;
    transition: background 0.2s ease, color 0.2s ease;
}

#recentList .recent-remove:hover, #recentList0 .recent-remove:hover {
    background: rgba(0, 36, 77, 0.2);
    color: #00244D;
}
